TCP面向字节流和报文段的关系是什么?

Visual_Infatuation

“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

TCP(传输控制协议)是一种面向连接的,可靠的传输层协议。

如题,TCP面向字节流和报文段的关系是什么?在网络通信中,应用层向传输层发送数据流,传输层TCP会将数据流分成适当长度的报文段(受MTU的限制),之后会将数据包发送给网络层,然后通过各种网络协议将数据包发送至接收端的传输层。在这过程中,传输层为了保证数据在传输中不发生丢包的现象,因此给每一个数据包标注一个序号,保证了接收端可以按照数据包的按序接收。

下面哟哟来介绍字节流和报文段的关系:

假设主机A与主机B之间进行通信

主机A发送给主机B数据包太大被拆分成3个报文段:

报文端A;

报文段B;

报文端C;

每个报文段字节流排序假设按照数字的大小数据排列:

报文段A--字节流123;

报文段B--字节流456;

报文段C--字节流789;

主机A将数据包发送至主机B,在传输中被拆分成3个报文段,主机B接收到这3个报文段后根据标志位将其进行重组,恢复成字节流为123456789的数据包,进而发送至下层进行数据的处理。

通过整个过程可以了解到,报文段A、B、C就是TCP segment编号,字节流123就被编写在A中的TCP segment,以此类推。TCP不关心调用的send()函数给自己的内容是什么,它只关心时序。


分享到:


相關文章: