我有一个位于2个路由器之间的Linux系统(嗅探器)。两个路由器都支持Jumbo帧,而我的系统仅限于MTU 1500。
我的理解是发送路由器将Jumbo帧分段为基于MTU 1500的IP数据报,linux将根据RFC 815重新组装它们。
关于这个过程的几个问题:
谢谢,冉
我可以回答你的一些问题:
在Linux中,哪个Layer负责重组过程?哪个文件?
它是第3层。您可以检查文件reassembly.c
和inet_fragment.c
。你可以找到函数fq_find
并从那里进一步追踪。
此过程(分段和重组)是否适用于所有第3层协议(IPv4 \ IPv6 for ex)?
v4和v6的代码类似,所有第3层协议都应如此。
假设我的嗅探器构造了一个大数据包并将其发送出去,那么碎片是否会由linux堆栈自动发生?
我已经读过关于碎片卸载的概念,其中碎片发生在NIC,因此可能没有必要将n / w堆栈进行碎片化。