VLAN中的pvid

[ 2021-12-26 21:26:02 | 作者: admin ]
字号: | |

p.s. pvid不容易理解,trunk端口都有pvid,默认为1,当trunk接受到没有标记过vlan id的帧,trunk就把帧的vlan id标为当前trunk口设置的pvid


trunk口默认允许vlan1通过是有风险的,有些情况会造成vlan1环路导致广播风暴。




无论什么时候交换机trunk端口都必须有pvid,因为trunk链路可以发送和接收被802.1q标记过的帧和未标记的帧。如果trunk端口接到了标记过的帧则会读出标记里的vlan id并发送到相应的vlan 端口;如果收到了没有标记过的帧,trunk端口认为此帧的vlan id就是该trunk端口配置的pvid,因此该帧被发送到与此trunk端口pvid号码一致的vlan端口。举个例子,如果trunk的pvid是vlan 10,trunk接受到没有标记过的帧就将此帧转发到vlan 10的端口。


另外如果一个帧进入交换机准备发送到下个交换机时,交换机trunk端口检查此帧是从该交换机哪个vlan接收的,如果和trunk端口的pvid不匹配则打上802.1q标记发送,如果就是从该pvid所属的vlan接受的,则不打标记发送。举个例子,过一台交换机从vlan 5接受到一个数据帧并要发送到下个交换机,而此交换机的trunk端口的pvid为vlan 10,于是该交换机的trunk端口给此帧打上vlan id为5的802.1q标记并发送,而从该交换机vlan 10接受的帧则在发送时不会打标记。

 

首先有一点要说明,所有的以太网帧在交换机内部的时候都是带有tag标记的。pvid主要在下面几个情况下起作用。

当交换机受到一个空白的以太网帧的时候,交换机会给这个以太网帧加上该端口的pvid,如果这个以太网帧有802.1q的tag标记,这个tag又和接收端口的pvid不同那么交换机不会做任何动作。

当一个带有tag标记的以太网帧从一个端口发出的时候,如果tag和该端口的pvid不同的时候交换机依旧不做任何动作直接放行,如果相同则会脱掉tag标记。

那么什么时候pvid会改变呢?就是在把端口设置为access端口的时候pvid会发生改变。

pvid英文解析为port-base vlan id(一些资料解析为port vlan id 我认为不准),是基于端口的vlan id.

1.pvid 不是加在帧头的标记,而是端口的属性。

怎么理解呢,加在帧头的标记叫VLAN identifier(802.1q术语),只是常常加在帧头的标识值和pvid 值一样而已。所以pvid只是端口的属性,就象端口的speed一样。

2。pvid 是 用来标识端口接收到的未标记的帧。

也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。

3.帧从端口出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。

4.如果端口为access类型,并加入了一个vlan ,那么这端口的PVID属性值变成和VID值一样,如果不一样就会把帧送到错误的vlan中,导致通行中断。但在trunk型的端口里,pvid的值是默认的1,注意交换机默认的vid也是1,所以交换机vlan id 为1的端口向trunk端口转发数据包时,trunk端口的把帧头的标识去掉再发出去,到了对方交换机trunk口时,由于帧没有带标识,所以会加上个vid,其值为1(因为trunk端口默认的pvid为1),这样数据包就 会被正确的送到vlan id为1的端口中。


所以没有划分vlan的端口发出的数据包也能通过trunk端口发出去,可以正常通行。而不是不能通过trunk口。



[最后修改由 admin, 于 2021-12-26 21:57:05]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2813

这篇日志没有评论。

此日志不可发表评论。