pvid是什么(2009-03-16 21:34:39)
无论什么时候交换机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口。
默认情况下,简单的理解为:
access 端口接PC,VID=PVID
trunk 端口级联,VID=全部,PVID=1
从trunk口转发出去的数据帧一定是已封装VLAN标识的数据帧。802.1q数据帧发出trunk口,端口对数据不做任何动作,因为数据帧从交换机的任何端口进入都将被打上封装802.1q数据帧,因此在交换机需要转发出一个数据时,这个数据一定是802.1q帧。普通数据进入trunk口时,根据trunk端口本身的pvid值对数据进行802.1q封装。从access端口转发出去的数据帧一定是已经去掉封装的数据帧。普通数据帧进入access端口,端口会根据本身的pvid对数据进行802.1q封装。当端口要转发数据时,它将转发到VID与
该端口pvid相同的端口,然后再s根据目的mac地址选择是否要拆封装(如果要转发到其他交换机则不用拆封装,否则拆封装发送到目的主机[该主机接到交换机的access端口])
pvid英文解析为port-base vlan 是基于端口的vlan id. 1.pvid 不是加在帧头的标记,而是端口的属性。怎么理解呢,加在帧头的标记叫VLAN identifier(802.1q术语),只是常常加在帧头的标识值和pvid 值一样而已。所以pvid只是端口的属性,就象端口的speed一样。 2。pvid 是 用来标识端口接收到的未标记的帧。也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。 3.帧从端口出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。下面是交换机接各种口收到和发送数据帧采取的动作 Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。 Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。 Access (接收) Untagged 接收 增加tag=PVID 从PC Access (发送) Tagged = PVID 转发 删除tag Access (发送) Tagged =/ PVID 不转发 不处理 Access (发送) Untagged 无此情况 无此情况 无此情况 Trunk (接收) Tagged = PVID 接收 不修改tag Trunk (接收) Tagged =/ PVID 接收 不修改tag Trunk (接收) Untagged 接收 增加tag=PVID Trunk (发送) Tagged = PVID If Passing then 转发 删除tag Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag Trunk (发送) Untagged 无此情况 无此情况 无此情况(注) Hybrid (接收) Tagged = PVID 接收 不修改tag 对端是trunk Hybrid (接收) Tagged =/ PVID 接收 不修改tag 对端是trunk Hybrid (接收) Untagged 接收 增加tag=PVID 类Trunk Hyb
rid (发送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项 Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项 Hybrid (发送) Untagged 无此情况 无此情况 无此情况(注) 注:数据帧在交换机内部转发过程中不会改变数据中的tag也不会删除数据帧中的tag; 改变数据帧中的tag只发生在数据帧进入或离开端口时。 下面来解释上面的几种状态。 1,Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。 2,Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。 3,Access (接收) Untagged 接收 增加tag=PVID 从PC (1),这种状态一般不会发生,在如下的情况会发生accsess端口收到带tag=pvid的情况。pc1-----access(switch)trunk----------access(switch2)access------pc2 所有taccess端口都处于同一个vlan中。 pc发送给switch1的数据帧将增加tag=pid然后转发到switch的trunk口参照“Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag”数据帧将会原样转发到swi tch2的access端口。在这里就出现了我们的第一种情况,Access (接收) Tagged = PVID 不接收. 第2个很容易明白access当然不会接收tagg 不等于pvid的数据帧,不然我们划分vlan就没有任何意义。(无法隔离广播域) 第三种情况是我们最常用的access端口收到pc发送的untag数据帧会增加tag=pvid 下面来看看access发送数据帧的三种情况。 Access (发送) Tagged = PVID 转发 删除tag Access (发送) Tagged =/ PVID 不转发 不处理 Access (发送) Untagged 无此情况 无此情况 无此情况 第一种情况比较常见在如下拓扑中 pc1-------access1(switch)access2-----pc2 过程大致如下, pc1的untag包到达access1打上Pvid转发到access2发现发送过来的数据帧tag=pvid 会删除tag转发。 第二种情况一般不会发生(还真想不出来哪种情况下会
发生) 第三种情况 无此情况无此情况 下面来看看trunk口的情况 Trunk (接收) Tagged = PVID 接收 不修改tag Trunk (接收) Tagged =/ PVID 接收 不修改tag Trunk (接收) Untagged 接收 增加tag=PVID Trunk (发送) Tagged = PVID If Passing then 转发 删除tag Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag Trunk (发送) Untagged 无此情况 无此情况 无此情况(注) Trunk口的情况比较容易比较容易理解就不一一解释了。用几个例子来说明上面遇到的几种情况。 pc1-----fa0/1(switch1)fa0/2------fa0/3(switch2)fa0/4-------pc2 switch上每个端口都是access端口,switch1的端口都加入vlan 10 switch2的端口都加入vlan 20;pc1和pc二的IP地址在同一网段。经测试pc1可以正常访问 pc2下面我们来看看数据转发的过程。 fa0/1 :Access (接收) Untagged 接收 增加tag=10 然后转发到fa0/2 fa0/2 :Access (发送) Tagged = 10转发 删除tag fa0/3 :Access (接收) Untagged 接收
增加tag=20 然后转发到fa0/4 fa0/4 : Access (发送) Tagged = 20 转发 删除tag PC: 收到untagged包可以正常接收。 pc1-----fa0/1(switch1)fa0/2------fa0/3(switch2)fa0/4-------pc2 pfa0/1 fa0/2 加入vlan 10 fa0/3(trunk) fa0/4(vlan1)pc1和pc二的IP地址在同一网段。经测试pc1可以正常访问pc2 过程如下: fa0/1:Access (接收) Untagged 接收 增加tag=10 然后转发到fa0/2 fa0/2:Access (发送) Tagged = 10转发 删除tag fa0/3:Trunk (接收) Untagged 接收 增加tag=PVID(默认PVID=1) fa0/4:Access (发送) Tagged = 10转发 删除tag pc: 正常接收到pc1的数据。
标题:请问,VID与PVID的区别,以及一个帧的传送全过程。多谢! 作者:viewxs 时间:2008-01-
20 15:50
有了VID,还要PVID干嘛,这个PVID标志在什么地方呢?也放在TAG中么,这里应是VID的位置啊。
两个交换机TRUNK互联,跨交换机的同vlan帧的传送过程是如何的?
一个ACCESS端口,收到PC的帧后转发前是由交换机打TAG,还是由同
VLANl的TRUNK端口进行标记?
网上查了很多文章,但感觉很混乱。希望高手能讲解下一个帧的传送全过程,多谢了!!!!!
标题:vid与pvid 作者:zollen 时间:2008-05-18 08:59
vid就相当于漏斗,pvid相当于涉及到加标。
————————
默认情况下,简单的理解为:
ACCESS端口接PC,VID=PVID
TRUNK端口级联,VID=全部,PVID=1
——————-——
tag是数据包中一个四字节数据,其包含数据包的vlan id及优先级信息。若数据包中包含tag信息,则其将跟随数据包在交换机间进行交换。并在不同设备中保存此标记信息。
若某一端口在vlan设定中被指定为非标记端口untagged port, 所有从此端口转发出的数据包上都没有标记 (untagged)。若有标记的数据包进入交换机,则其经过非标记端口时,标记将被去除。因为目前众多设备并不支持标记数据包,其也无法识别标记数据包,因此,需要将与其连接的端口设定为非标记。
若某一端口在vlan设定中被指定为标记端口tagged port, 所有从此端口转发出的数据包上都将有标记 (tagged)。若有非标记的数据包进入交换机,则其经过标记端口时,标记将被加上。此时,其将使用在ingress 端口上的pvid设定作为增加的标记中的vlan id号
简单的说,VID(VLAN ID)是VLAN的标识,定义其中的端口可以接收发自这个VLAN的包;而PVID(Port VLAN ID)定义这个untag端口可以转发哪个VLAN的包。比如,当端口1同时属于VLAN1、VLAN2和VLAN3时,而它的PVID为1,那么端口1可以接收到VLAN1,2,3的数据,但发出的包只能发到VLAN1中。
标题: 作者:sy05362008 时间:2008-05-28 20:38
学习了
标题: 作者:bapilong 时间:2008-05-29 09:14
嗯,真的要好好学习!
标题:
作者:sschaoqun 时间:2008-05-29 09:18
每个厂商芯片都有不同的地方,要学习学习!
标题: 作者:Christiancisco 时间:2008-05-29 15:27
个人认为应该将端口分不同的类型来看,就华为来说,当端口类型为ACCESS时,端口只属于某一个VLAN(默认VLAN1)此时,进端口的802.3桢会根据PVID打上TAG标签,然后转发,出端口时删除TAG标签;当端口为TRUNK时,进端口时,如果是tagged 桢,则保留TAG标签不变,如果是untagged 桢,则根据PVID添加TAG标签,出端口时,如果如果VID 在TAG-LIST中则不做变化转发,如果VID等于
PVID则删除TAG标签再发送;如果是hybrid端口,出端口时,如果VID在tagged-list中则不做处理转发,如果在 untagged-list中则删除TAG标签转发, 进端口时,如果是TAG标签桢,则不做处理转发,如果是UNTAG桢,则加上PVID的标签再转发。
标题: 作者:su2008 时间:2008-09-05 23:01
二楼的讲的很明白。
标题: 作者:su2008 时间:2008-09-05 23:19
pvid是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上,
vid是报文上的vlan tag的意思.不是同个概念哦.
这样说一下,不知道是不是更清晰一些。
标题:额…… 作者:arthaschang 时间:2009-12-30 11:03
烦请哪路高手赐教,还是不太明白……
标题: 作者:wanghaoqd 时间:2009-12-30 13:53
access是什么意思啊了楼上说的太复杂了吧?
VID是“VLAN ID”的缩写,PVID是“Port VLAN ID”的缩写。
VID的意思是VLAN号,PVID的意思是端口默认VLAN号。
如果一个Trunk端口接收到未打标签的帧,就会打上PVID值指定的VLAN号标签;发送VLAN号与PVID值相等的数据帧时,会去掉VLAN标签再发送。就这么简单啰。:(pdd_11):
[[i] 本帖最后由 wanghaoqd 于 2009-12-30 14:11 编辑 [/i]]
标题:请问,VID与PVID的区别,以及一个帧的传送全过程。多谢! 作者:viewxs 时间:2008-01-20 15:50
有了VID,还要PVID干嘛,这个PVID标志在什么地方呢?也放在TAG中么,这里应是VID的位置啊。
两个交换机TRUNK互联,跨交换机的同vlan帧的传送过程是如何的?
一个ACCESS端口,收到PC的帧后转发前是由交换机打TAG,还是由同
VLANl的TRUNK端口进行标记?
网上查了很多文章,但感觉很混乱。希望高手能讲解下一个帧的传送全过程,多谢了!!!!!
标题:vid与pvid 作者:zollen 时间:2008-05-18 08:59
vid就相当于漏斗,pvid相当于涉及到加标。
————————
默认情况下,简单的理解为:
ACCESS端口接PC,VID=PVID
TRUNK端口级联,VID=全部,PVID=1
——————-——
tag是数据包中一个四字节数据,其包含数据包的vlan id及优先级信息。若
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论