app网站设计广州网络营销的推广
802.1Q的转发原则--Access-Link
首先看一下Access,对于Access端口来说, 它只属于一个VLAN,它的VLANID等于PVID。
首先看一下接收方向,前面说过交换机内部一定要带标签转发,所以当交换机接收到一个不带tag的数据帧时,会给它打上端口的PVID,如果该数据帧包含tag, 则需要看tag所属的VLAN和端口的PVID是否相同,如果相同则接收,不同则丢弃。
而在发送方向,对Access端口来说,它只能发送VLAN ID跟端口的PVID一致的数据,并且发出去的时候需要剥离掉tag标签,发出普通的以太网帧。
下面有一个例子,
如图这边有两个Access端口,并且端口的PVID都等于10,当该端口收到一个不带tag的数据帧时交换机会给它打上端口的PVID,所以进来之后就变成了一个带tag的数据帧,并且tag等于10,这个tag和这边的tag一致,而发送方向也就是下面当Access端口在往外发的时候,它只发送VLAN ID跟端口的PVID一致的报文,并且在往外发的时候,会剥离掉VLAN 10的标签,发出普通的以太网帧。
802.1Q的转发原则-Trunk-Link
Trunk也分了发送和接收两个方向,接收方向,如果收到的是不带tag的数据帧,会给它打上端口的PVID,但是如果该帧已经包含了标签,那么这个时候需要看一下是不是允许该VLAN通过,如果允许直接透传,如果不允许直接丢弃。而在发送方向Trunk端口会将VLAN ID和PVID作对比,如果相同,则剥离掉VLAN标签进行转发,如果不同,则需要去看一下,是不是允许该VLAN通过,如果允许则透传,如果不允许直接丢弃。
下面的例子:有两个Trunk端口,它们的PVID都等于10,并且设置它们允许VLAN10和VLAN20的报文通过,首先过来了一个不带tag的数据帧,当它经过Trunk端口之后,会给它打上端口的PVID,所以出来之后就变成了带了一下tag10标签的数据帧,接着又来了一个tag等于20的数据帧,那么Trunk端口会查看是否允许该VLAN通过,如果允许则直接过来,刚才也说了,我们是允许 VLAN20通过的,所以VLAN20数据帧是直接接收进来的。而发送发向过来了一个tag等于10的数据帧,由于它的tag等于端口的PVID,所以在往外发的时候是剥离掉VLAN数据,发出普通的以太网帧。而如果过来的是一个tag等于20的数据帧,tag不等于端口的PVID,再往外发的时候是直接透传。
802.1Q的转发原则-Hybird Interface
Hybird在接收方向跟Trunk是一样的,都是不带tag给你打上端口的PVID,如果带了标签看一下是否允许该VLAN通过,如果允许直接带标签进来。而在发送方向,hybird有两个列表,一个是tag列表,一个是untagged 列表,如果是tag列表,在往外主的时候,是带标签转发,而如果该VLAN属于untaged列表,那么再往外发的时候就不带标签转发。
所以看一个下面的例子,有两个端口Hybird,那么它设置的时候是允许VLAN10和VLAN20通过,并且是untagged通过。
而这个端口2,它的PVID等于20,并且允许VLAN10和VLAN20带标签通过,所以可以看到这个时候过来了一个VLAN10的数据帧,当它经过Hybird端口的时候,往外发送的时候,仍然是带标签转发,同样,过来了一个VLAN20数据帧,由于我们设置的时候它是带标签转发的,所以发出去的时候仍然带的是VLAN20的标签。
而端口1,设置的是VLAN10和VLAN20都在untagged列表中,所以过来了一个tag10和tag20的标签,它们在往外发的进修都是剥离掉VLAN标签,还原出不还标签的数据帧。