发布网友 发布时间:2022-04-22 13:22
共1个回答
热心网友 时间:2023-11-06 05:51
TCP报头没有含有长度字段可能的原因是:
1),TCP使用IP协议,IP首部中有包括 IP首部+TCP首部+TCP数据段 总长度的字段;
2),TCP首部中有 TCP首部 的长度字段;
3),TCP提供的是面向字节流的传输,所传输的数据是无边界的。socket套接字可以直接通过IP首部及TCP首部中的长度字段计算出TCP数据段长度,TCP底层收到数据直接放到底层接收缓存中。而UDP是报文传输,每个UDP报文就是一个的记录,所以直接在UDP头部中提供长度字段,其实UDP也可以通过IP首部计算出来。可能是另一方面是为了字节对齐,所以有长度字段。