码迷,mamicode.com
首页 > 其他好文 > 详细

TCP 为什么是三次握手,而不是两次或四次?

时间:2019-02-01 15:56:17      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:传输   question   假设   link   初始   tcp   记录   核心   nbsp   

TCP是一种全双工的可靠传输协议,核心思想:保证数据可靠传输以及数据的传输效率

A------B

二次握手:

1.A发送同步信号SYN+A‘s initial sequence number

2.B发送同步信号SYN+B‘s initial sequence number +B‘s ACK sequence number

这里存在一个问题,假设A和B初始列号一致,但B无法知道A是否已经收到自己的SYN,如果这个SYN丢失,则A和B的初始序号将无法达成一致,从而不能保证数据的可靠传输。

四次握手:

1.A发送SYN+A‘s initial sequence number

2.B确认收到A的同步信号,并记录A’s ISN 到本地,命名B‘s ACK sequence number

3.B发送同步信号SYN+B‘ISN

4.A确认收到A的同步信号,并记录B’s ISN到本地,命名A‘s ACK sequence number

其中 2,3两步可以合并,提高数据的传输效率。

TCP 为什么是三次握手,而不是两次或四次?

 

 

TCP 为什么是三次握手,而不是两次或四次?

标签:传输   question   假设   link   初始   tcp   记录   核心   nbsp   

原文地址:https://www.cnblogs.com/Archer-Fang/p/10345822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!