通过 TCP 发送的应用程序数据经历多重封装:
- 应用程序数据被封装在一个或多个 TCP碎片
- TCP 片段封装在一个或多个 IP数据报
- IP 数据报封装在以太网中框架
事实证明以太网帧首先发送最高有效字节,并且在每个字节中,首先发送最高有效位。那么多重封装呢?它们是首先执行 MSB 还是首先执行 LSB?
答案1
首先,纠正一下:IP 数据报不是在一个或多个以太网内发送框架。一个 IP 数据报只在一个以太网帧内发送。您描述中的其他规定是正确的,尽管 TCP 会尽力选择段大小,以使一个 TCP 段不必分割成多个 IP 数据报。
TCP/IP 协议栈中的所有协议都使用所谓的网络字节顺序,这和大端字节序,与 MSB 优先相同。
TCP 和 IP 并不真正以位级别处理事物,而只以字节级别处理事物。因此,它们受制于物理层(无论是以太网、串行链路还是其他)对位的处理。
答案2
IP 及其相关协议中的几乎所有内容都是最高有效字节优先。在较旧的文档(例如您应该阅读的 RFC)中,您会看到这被称为“网络字节顺序”。