Tcp prolocol三次握手中的SYN、ACK的相对关系

December 11, 2021 by Clyde

Tcp(Transmission Control Prolocol)传输控制协议
Tcp具有高度安全性,并且是面向连接的的协议,想要发送数据到对方Host,必须要经过三次‘握手‘才能建立起来!

Tcp标志位有六种:SYN(synchronous建立联机)、ACK(acknowledgement确认)、PSH(push传送)、FIN(finsh结束)、RST(reset重置)、URG(urgent紧急)、sequence number(顺序号码)、acknowledge number(确认号码)

第一次握手:Host-A发送位码为SYN=1 ‘seq number=1234567’的数据包到Host-B,Host-B由‘SYN=1’知道Host-A要求建立连接,此时进入Tcp-seed状态,等待Host-B确认!

第二次握手:Host-B收到请求后要确认连接信息,包含‘SYN=1’‘和'ACK=1'以及ack number=(主机的sequence number+1)和需要下次握手所需要的‘seq number=7654321’;(需要注意ack和ack number是不一样滴!)

第三次握手:Host-A收到来自Host-B的信息后,会先确认‘ack number‘是否为第一次握手时候的'seq number+1'然后查看syn和ack都为1,如果是就会发出’ack=1‘和’ack number=Host-B发出的的seq number+1‘,到此TCP链接建立完成!

可以简单来说”Syn包“包含syn标志位和seq-number,“ack包”包含‘ack和syn标志位’和‘ack number’以及下次需要使用的seq number,可以说每次发送都必须要有seq number 回复的时候要添加ack number=上次的seq number+1

如需评论,请填写表单。

提交前先勾选

© 2024 | The Asuna Blog From | X-ways theme