对TCP/IP协议中三次握手、四次挥手的理解

TCP报文格式中,总共八行,每一行是4个字节,每个字节8位。其中的ACK、SYN和FIN在握手和挥手中非常重要。
对TCP/IP协议中三次握手、四次挥手的理解_第1张图片

三次握手

TCP/IP协议是传输层的面向连接的安全可靠的协议,三次握手是为了保证能够建立一个安全可靠的连接。

第一次握手
第一次握手是客户端发起的,客户端向服务端发送一个报文,在这个报文里,SYN位为1,同时发送一个seq。
第一次握手是为了通知服务端,客户端这边要开始进行发送数据了,需要建立连接。

第二次握手
第二次握手是服务端接收到第一次握手之后发送给客户端的,在这次握手中,服务端会发送一个为1的SYN位,为1的ACK位,ack为第一次握手的seq+1,同时再发送一个seq的报文给客户端。
第二次握手是为了通知客户端,服务端这边已经接收到你的信息。

第三次握手
第三次握手是再次由服务端发起的,这次发起的报文中ACK位为1,ack位为第二次握手的seq+1,seq位为第一次握手的seq+1。
这次握手的目的是因为第二次握手,服务端不能够确定客户端能不能接收到它所发送的信息,只有客户端再次发送第三次握手,服务端才能够确定连接是可以建立的。
对TCP/IP协议中三次握手、四次挥手的理解_第2张图片

四次挥手

第一次挥手
第一次挥手是客户端向服务端发送的报文,内容是为1的FIN位,和一个seq。
第一次挥手是客户端向服务端说明想要断开连接。
第二次挥手
第二次挥手是服务端向客户端发送的,内容是为1的ACK位,一个seq,以及等于第一次挥手中seq+1的ack。
表示服务端接收到了客户端想要断开连接的消息,发给客户端表示确认收到。
第三次挥手
第三次挥手也是服务端向客户端发送的,内容是为1的FIN位,为1的ACK,和一个seq,以及和第二次挥手一样的ack。
第二次和第三次挥手都是服务端发送的,第三次发送是告诉客户端服务端已经将所有需要发送的东西都发送给客户端了,已经没有需要发送的,可以断开链接了。
第四次挥手
第四次挥手是客户端向服务端发送的,内容是为1的ACK位,以及等于第三次挥手中seq+1的ack。
这次表示客户端向服务端表示确认收到信息,可以进行断开连接。
对TCP/IP协议中三次握手、四次挥手的理解_第3张图片

你可能感兴趣的:(对TCP/IP协议中三次握手、四次挥手的理解)