最近,我对网络协议和 OSI 模型进行了更深入的研究,当注意到传入的 TCP 数据报(如果这是错误的术语,请纠正我)在超过一定大小时被分成几个部分 - 在这种情况下它可能是我路由器的 MTU。我使用 SharpPcap 捕获了这些数据报,以便提取一些我正在寻找的信息,如果你想知道我从哪里得到这些信息。
无论如何,我想知道碎片数据包的重组是否不应该是 IP 层的任务,因为它确实提供了完成此任务的信息(id、碎片标志、碎片偏移)。此外,我读到,TCP 层将被解释为基于流的协议。但这实际上意味着,由 TCP 层负责以正确的方式填充应用程序的缓冲区,以便重建初始信息,并可以“向上”刷新所有其他层。
在我做出这个观察之前,我实际上认为 TCP 层应该关心重新组装这些数据报,但没有提到的层...
这导致了以下问题: 为什么我收到的 TCP 数据报没有重新组合,什么层应该真正关心这个?