TCP传输可靠性-排序、丢弃、重发

一、排序、顺序发送、顺序组装

当进行一条数据发送的时候,首先,TCP会将这条数据拆分成不同的片段,然后把片段进行一个排序。然后把排序号的片段顺序进行发送。

这样,保证了传输的有序性。

 

二、丢弃、超时

在整个发送过程中,如果时间片没有到达,或者时间片超时,客户端是可以收到数据被丢弃或者超时的信息的。当客户端知道丢弃或者超时信息,那么,需要重新进行发送。

 

三、重发机制-定时器

如果在服务器端收到信息的时候,会定时发送已经收到的数据片。客户端也一样,在一定时间内没有收到服务端回送的消息后,就认为数据没有被送达,会重新把数据发送一边。

 

四、数据发送流程

右边的发送方有5个数据片,首先会向接收方发送第一个数据片,序列号为1,数据大小为1460byte。

左边接收方收到后会回送序列号1,确认号1261,确认数据无丢失地收到。

发送方此时指针会移动到2,发送数据包1461,数据大小为1460的数据。此时数据被中断了,没有接收到发送方的反馈数据(虽然接收方成功接收到了数据,但是发给发送方的回送却丢掉了)。

发送方继续右移指针,陆续发送第3、4、5条数据,接收方也会陆续进行反馈。

发送方在超时时间内还没有收到第2条数据的回送,就会重新发送第二条数据。

接收方在接收到重发的消息后,会向发送方反馈该数据已经收到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章