黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

三次握手(tcp三次握手的通俗理解)

来源:黔优媒体网   时间:2024-09-17

三次握手(tcp三次握手的通俗理解)

TCP需要经过三次握手才能建立连接,而像SCTP一样,需要四次握手才能建立连接。我们不禁要问,TCP为什么不是两次握手或者四次握手来建立连接呢?

TCP是一种可靠的传输控制协议。它必须做两件事,一是保证数据的可靠传输,二是尽可能提高传输效率。三次握手就是为了做这两件事才应运而生的。

可靠性的实现

假设甲乙双方都想建立TCP连接。

首先,操作系统随机选择一个32位的序列号,假设A的初始序列号为1000,然后对要发送的数据进行编号,1001、1002、1003。...

a会告诉B初始序列号ISN,让B知道什么样的序列号数据是合法的,什么样的序列号数据是非法的。例如,接收序列号999是非法的。

b也会对a的每个编号数据进行确认,如果收到编号2001和1001-2000,说明1000字节已经安全到达。

同样,B也会做同样的事情。如果B的初始序列号ISN是2000,B也将开始编号2001、2002和2003。...

然后B告诉A初始序列号ISN,A也可以确认B发送了多少字节,这些数据是否合法。

通过以上步骤,不难发现TCP握手的本质是双方数据来源的序列号,从而实现可靠性。

传输效率

要实现可靠的数据传输,为什么只需要三次握手?握两次手怎么样?

两次握手:

1.a发送同步信号syn+a的初始序列号

2.B发送同步信号的初始序列号SYN+B+B的ACK序列号

两次握手会引起问题。b无法知道A是否收到了自己的同步信号。一旦这个同步信号丢失,A和B就无法对B的初始序列号达成一致。

显然,握手两次是不可取的。

四次握手呢?

1.a发送同步信号syn+a的初始序列号

2.b确认收到A的同步信号,将A的ISN记录到本地,并命名b的ACK序列号。

3.b发送同步信号SYN+B的初始序列号

4.A确认收到B的同步信号,将B的ISN记录到本地,并命名A的ACK序列号。

显然不需要四个步骤,2和3可以合并,提高连接的速度和效率。

TCP需要考虑可靠性和传输效率。知道了这些,我们就能理解为什么只能是三次握手,而不是两次四次。

以上内容就是为大家推荐的三次握手(tcp三次握手的通俗理解)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:三次握手(tcp三次握手的通俗理解);欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!