当前位置:首页 » 网络连接 » tcp和网络服务建立连接
扩展阅读

tcp和网络服务建立连接

发布时间: 2023-11-09 18:51:38

① 简述TCP建立连接 传输过程和流量控制断开连接的过程

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用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。