确保可靠性的 TCP 协议和三次握手

按层次分,TCP 位于传输层,提供可靠的字节流服务。

所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大

块数据分割成以报文段(segment)为单位的数据包进行管理。而可

靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,

TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够

确认数据最终是否送达到对方。


确保数据能到达目标

为了准确无误地将数据送达目标处,TCP 协议采用了三次握手

(three-way handshaking)策略。用 TCP 协议把数据包送出去后,TCP

不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。

握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和

ACK(acknowledgement)。

发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,

回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发

送端再回传一个带 ACK 标志的数据包,代表“握手”结束。

若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发

送相同的数据包。




-------------------------------------------------------------------------------------------------------------------------------------------------

另外,可参考另一份3次握手图表,来源:https://www.jianshu.com/p/9f3e879a4c9c

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容