说明tcp连接的建立过程?
假设客户机上的一个进程想与服务器上另一进程通信,两者要通过“三次握手”建立TCP连接。
(1)第1次握手:客户发送连接请求。客户发送一个特殊的TCP报文段给服务器,这个报文段不包含应用数据,而将段首的SYN标志位置1,该报文段也因此被称为SYN报文段。同时,客户还为这个连接设置初始序列号seq=client_isn。该段被封装成IP数据报发送给服务器。
(2)第2次握手:服务器同意连接确认。一旦包含SYN段的IP数据报到达服务器(假设正常到达),服务器从IP数据报中提取出SYN段,并初始化TCP缓存及连接变量,同时发送给客户一个同意连接的确认信息。这个确认报文段也不包含应用数据,却在段首包含三条重要的信息:SYN=1,ACK=1,TCP段首的确认号ack=client_isn+1,服务器选择连接的初始序列号seq=server_isn。这个报文段通常被称为SYN&ACK报文段。
(3)第3次握手:客户确认连接。在接收到服务器同意连接的确认后,客户同样要设置连接的缓存和变量,并再向服务器发送一个确认(即对服务器SYN&ACK报文段的确认)。这时ACK=1,SYN=0,表示连接已经建立。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有