TCP报文中为什么没有可以计算整个报文长度字段?但是UDP报文中却有?另外IP数据报中有表示整个数据报长度的字段这个字段有必要吗?为什么?
TCP报文中没有单独的字段表示整个报文长度,是因为TCP协议中已经有一个用于表示数据段长度的字段(即数据偏移字段),加上TCP协议头固定长度为20字节,可以通过这些信息计算出整个TCP报文的长度。
而UDP报文中有单独的字段表示整个报文长度,是因为UDP协议不像TCP协议那样有一个固定长度的头部,所以需要单独的字段来表示整个报文的长度。
IP数据报中的长度字段是必要的,因为IP数据报可能会被分片传输,每个分片都包含了IP头部和一部分数据,如果每个分片都没有长度字段,那么接收端就无法确定整个数据报的长度,从而无法正确重组数据报。因此,IP数据报中的长度字段是必要的。
原文地址: https://www.cveoy.top/t/topic/bSvQ 著作权归作者所有。请勿转载和采集!