一下内容抄自TCPIP详解卷1,本文的图片来自:http://blog.sina.com.cn/s/blog_5938ff2f0101md4r.html
三次握手:
1.客户端发送一个SYN段指明客户端要连接的服务器的端口,以及初始化序列。这个SYN段称为报文段1.
2.服务器端接收到客户端发来的SYN段后发送一个包含服务器序列的SYN段作为应答。同时将确认序列设置为客户端的ISN加1,以对客户端的SYN序列进行确认。一个SYN段占用一个序列。
3.客户端必须将确认序列设置为服务器的SYN段的ISN加1,以对服务器端的SYN段进行收到的确认。整个过程如下图所示:
问题:为什么不能只两次握手?
三次握手的目的:消除旧有连接请求的SYN消息对新连接的干扰,同步连接双方的序列号和确认号并交换TCP 窗口大小信息。
设想:如果只有两次握手,那么第二次握手后服务器只向客户端发送ACK包,此时客户端与服务器端建立连接。在这种握手规则下: