用户交换机收到带有VLAN标签的以太网帧时会发生什么?


28

假设您通过直接电缆将中继端口从具有VLAN功能的网络交换机连接到(无VLAN功能的)消费者级网络交换机。现在,前一台交换机向后一台交换机发送一个带有802.1Q标签的以太网帧。以后的开关应该怎么做?丢帧?转发框架?未定义的行为?

如果行为未定义,最可能是什么?


编辑:谢谢您的回答。总而言之,使用者开关的行为取决于:

  1. 它如何处理0x8100EtherType字段中的帧1
  2. 它如何处理巨型帧或有效载荷大于1500字节的帧

Wikipedia有一个不错的图表,比较了未标记和已标记的以太网帧:

以太网帧

有报道说,一些消费级交换机可以通过带有VLAN标签的帧。

1或更准确地说,对于未标记的帧应使用EtherType字段


1
我希望您不rent问,希望在生产机架中的某个地方使用所述消费者开关……
Mike Pennington

Answers:


13

我实际上已经在Cheapo交换机上看到了这一点。有人在具有几个VLAN的中继端口之间连接了一个交换机。帧已转发,并且vlan标签保持完整。该交换机上的其他端口可以使用未标记的VLAN。

交换机只需要源/目标mac来决定将帧转发到的端口,因此这并不奇怪,带标签的帧在帧头中的相同位置仍然具有源mac和目标mac。

请记住,以太网实际上在同一条线上支持许多不同的帧类型。它被设计为可以灵活执行。


如果交换机不知道用于标记帧的以太类型,它将像正常的以太类型一样对其进行处理。这通常会起作用,但是在目标端口同时依赖于MAC和标签的复杂设置中可能会失败。例如,如果在两个带标签的VLAN之间安装桥接防火墙,则不支持VLAN的交换机可能会向错误的方向发送一些数据包。除此之外,可能发生的一个明显问题是数据包丢失,因为它们超过了未标记帧的最大大小。
卡巴斯德(Kasperd),2015年

13

通常,过大的以太网帧可以被丢弃。在存在诸如巨型帧之类的事物时,很难定义大型以太网帧,因此这确实取决于-但是丢弃可能是遇到的最常见的行为。

编辑:详细说明:标准IEEE 802.3以太网帧大小为1518字节,802.3Q向该帧添加4个字节,因此总MTU为1522字节,对于某些交换机而言可能太大。


您能否详细说明与802.1Q VLAN标记有关的大型以太网帧?
马丁·海姆斯

您是说标签会使框架过大吗?
Shane Madden

6
@ShaneMadden某些802.1q实现将带标记帧的有效MTU提升到1522b,只有1500b MTU的交换机才会将其丢弃。
sysadmin1138

3
sysadmin1138 +1和pfo +1:由于802.1q增加了以太网MTU,一些旧的交换机将丢弃标记的帧。
埃文·安德森

VLAN标记将最大帧大小增加了4个字节,因此它大于1518个字节,并且按照定义是“巨型”帧。
pfo 2011年

6

消费者级交换机将尝试转发其关心的所有帧目标MAC地址。如果目标MAC地址不在其CAM表中,它将从所有端口中泛洪该帧,但从其接收数据包的端口除外。

使用直通转发方法的交换机肯定会转发该帧,因为它会在读取目标MAC地址后立即开始转发-即使帧的总大小大于MTU-因为它无法计算大小使用此转发方法的帧数。

只要FCS正常,基于存储转发技术的开关就可能会做同样的事情(只要帧大小<= MTU)。

如果没有802.1Q的交换机将终端设备互连,则设备将接收该帧并将其丢弃,因为它们“不知道”如何处理802.1Q(类型0x8100)帧。

我推测消费级交换机是否互连支持802.1Q的交换机(令人恐惧!),这些帧将由802.1Q转发和处理-当然,只要它们是在中继端口上收到的。


嗯 Linux端点设备可以很好地处理带标记的帧。我已经看到他们这样做了。
Zan Lynx

1
@ZanLynx正确。虽然端点设备不应该处理标记帧-你通过配置端点设备接收和处理802.1Q帧错过VLAN的整点。
dkaragasidis 2011年

FCS =快速电路切换?是什么决定“ FCS正常”?
netvope 2011年

2
@netvope:FCS-帧检查序列:en.wikipedia.org/wiki/Frame_check_sequence
Evan Anderson

1
@dkaragasidis有完全正当的理由将一些主机配置为使用带标签的帧。但是最好还是确保在面向您不想使用标记帧的主机的端口上禁用VLAN标记。在Linux主机上使用标记帧的原因包括在VLAN或服务器之间充当路由器的角色,需要从不同VLAN的客户端访问这些帧。
卡巴斯德(Kasperd),2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.