1.什么要进行三次握手?
三次握手的主要作用就是确认双方的接受与发送能力是否正常。TCP是一个双向通信协议,通信双方都有能力发送信息,并接收响应。实质上就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。
2.握手为什么需要三次?
(1)为了保证服务端能够接收到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手 (2)为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。
3.为什么断开需要四次,三次不行吗?
因为当服务器收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务器端收到FIN报文时,很可能 并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端:“你发的FIN报文我收到了‘’。只有等到服务端的所有的报文都发送完了,服务端才能发送FIN报文,因此不能一起发送,需要四次断开。