在Debian的文档中,编写如下:
就像你可以连接两个有线以太网接口,你可以桥接以太网接口和无线接口。但是,大多数访问点( AP )将拒绝具有没有与AP进行身份验证的源地址的帧。由于Linux透明地进行以太网桥接(不修改传出帧或传入帧),所以我们必须设置一些规则来使用一个名为ebtables的程序来实现这一点。
我想知道为什么连接到有线以太网接口的机器不能与AP进行身份验证。在这种情况下,桥应该正常工作,不是吗?
当我使用思科2960系列交换机或ISR路由器进行测试时,如果端口接收到的以太网帧大于其在sh int输出中的MTU值,则设备将删除此帧并增加giants计数器。在我看来,这是一种预期的行为。但是,例如,一些Linux服务器(不同的NIC供应商以及不同的内核模块)仍然使用比ip link show或ifconfig输出更大的MTU处理帧,并发送零碎的回复。
什么是正确的行为?当设备接收到大于其MTU的以太网帧时,它应该做什么?我希望它要么安静地放下这个帧,要么表现得像思科设备,它能很好地计数巨大的帧。
我在两台运行Linux的PC之间生成流量(通过发送以太网帧),这样做的目的是捕获一些错误帧。问题是,当物理层检测到帧上的错误时(如果CRC或FCS无效),该帧将被丢弃,并且我无法在我的程序中接收它。
是否存在接收错误帧的任何方法(例如,禁用物理层中的drops并接收指示该帧错误的指示器),以及如何查询NIC卡的统计信息(number of drops ...etc)。
如果我在以太网帧中搜索数据的起始位置,我会得到一个共同的答案,即TCP报头( 20字节)+ IP报头( 20字节)+以太网报头( SA + DA + Type),即14字节。因此,简单地说,这个问题的答案是52-54字节--数据开始于以太网帧,但我们不应该在其中增加8个字节的前导吗?
此外,我还搜索了以太网帧大小为1514的以太网帧。为什么我们在这里忽略序言和儿童权利委员会?