当我使用思科2960系列交换机或ISR路由器进行测试时,如果端口接收到的以太网帧大于其在sh int输出中的MTU值,则设备将删除此帧并增加giants计数器。在我看来,这是一种预期的行为。但是,例如,一些Linux服务器(不同的NIC供应商以及不同的内核模块)仍然使用比ip link show或ifconfig输出更大的MTU处理帧,并发送零碎的回复。
什么是正确的行为?当设备接收到大于其MTU的以太网帧时,它应该做什么?我希望它要么安静地放下这个<
我在两台运行Linux的PC之间生成流量(通过发送以太网帧),这样做的目的是捕获一些错误帧。问题是,当物理层检测到帧上的错误时(如果CRC或FCS无效),该帧将被丢弃,并且我无法在我的程序中接收它。是否存在接收错误帧的任何方法(例如,禁用物理层中的drops并接收指示该帧错误的指示器),以及如何查询NIC卡的统计信息(number of drops ...etc)。