计算机网络——TCP三次握手四次挥手

1.TCP连接的建立,三次握手计算机网络——TCP三次握手四次挥手_第1张图片
第一次握手:
计算机网络——TCP三次握手四次挥手_第2张图片
SYN设置为1,表明是建立连接,此时发送的序号是随机的

第二次握手:

计算机网络——TCP三次握手四次挥手_第3张图片
注意:
此时开始分配缓存和变量了
大写的ACK代表的是确认标志位,只要连接上了都得设置为1
小写ack表示下次想收到得序号
大写ACK和小写ack配套出现。
因为上一次握手没有ack,所以seq还是随机的。

第3次握手
计算机网络——TCP三次握手四次挥手_第4张图片
此时不再是建立连接或者接受建立连接了,所以SYN设置为0
seq等于上一次握手的ack
ack等于上一次握手发送的seq+1

三次握手的应用:
SYN洪泛攻击
计算机网络——TCP三次握手四次挥手_第5张图片

2.TCP连接的释放,四次挥手

过程如下图:
计算机网络——TCP三次握手四次挥手_第6张图片
第一次挥手:计算机网络——TCP三次握手四次挥手_第7张图片
FIN=1容易理解,seq=u,代表报文段第一个字节的序号,因为没有这里一般没有数据,所以可以标识这个报文段。

第二次挥手
计算机网络——TCP三次握手四次挥手_第8张图片
seq=v,这个和服务器上一次发送的数据的值有关,如果上一次发到了v-1,那么这次seq就为v。

第三次挥手
计算机网络——TCP三次握手四次挥手_第9张图片
seq=w,w也取决于上一次发送到哪了
ack=u+1,是因为客户端没有回应,这次还是发送u+1

第四次挥手
计算机网络——TCP三次握手四次挥手_第10张图片
这几个字段都很好理解

等待2MSL是因为如果第三次挥手后,客户端给服务器的第四次挥手丢失了,那么如果此时客户端马上关闭,服务器收不到让它关闭的第四次挥手,就不能正常关闭。为了防止这个情况,设置2MSL等待时间,因为服务器在一定时间没收到,会重新进行重传。

你可能感兴趣的:(网络,网络,TCP,传输层,三次握手,四次挥手)