TCP协议是一种可靠的连接,为了保证连接的可靠性,TCP的连接要分为几个步骤。我们把这个连接过程称为“三次握手”。 下面我们从一个实例来分析建立连接的过程。
第一步客户端向服务器发送一个TCP数据包,表示请求建立连接。为此,客户端将数据包的SYN位设置为1,并且设置序列号seq=1000(假设为1000)。
第二步服务器收到了数据包,并从SYN位为1知道这是一个建立请求的连接。于是服务器也向客户端发送一个TCP数据包。因为是响应客户端的请求,于是服务器设置ACK为1,sak_seq=1001(1000+1)同时设置自己的序列号seq=2000(假设为2000)。
第三步客户端收到了服务器的TCP,并从ACK为1和ack_seq=1001知道这是从服务器来的确认信息。于是客户端也向服务器发送确认信息。客户端设置ACK=1,和ack_seq=2001,seq=1001,发送给服务器。至此客户端完成连接。
最后一步服务器受到确认信息,也完成连接。
通过上面几个步骤,一个TCP连接就建立了。当然在建立过程中可能出现错误,不过TCP协议可以保证自己去处理错误的。 |