简述TCP协议建立连接的过程

发布网友 发布时间:2022-04-24 16:37

我来回答

1个回答

热心网友 时间:2023-10-22 22:55

1,TCP使用三次握手

three-way
handshake

协议来建立连接,这三次握手为:
请求端(通常称为客户)发送一个
SYN
报文段(
SYN

1
)指明客户打算连接的服务器的端口,以及初始顺序号(
ISN
)。
服务器发回包含服务器的初始顺序号的
SYN
报文段(
SYN

1
)作为应答。同时,将确认号设置为客户的
ISN

1
以对客户的
SYN
报文段进行确认(
ACK
也为
1
)。
客户必须将确认号设置为服务器的
ISN

1
以对服务器的
SYN
报文段进行确认(
ACK

1
),该报文通知目的主机双方已完成连接建立。
  发送第一个
SYN
的一端将执行主动打开(
active
open
),接收这个
SYN
并发回下一个
SYN
的另一端执行被动打开(
passive
open
)。另外,
TCP
的握手协议被精心设计为可以处理同时打开(
simultaneous
open
),对于同时打开它仅建立一条连接而不是两条连接。因此,连接可以由任一方或双方发起,一旦连接建立,数据就可以双向对等地流动,而没有所谓的主从关系。
 
2,应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的*)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);
如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com