通信人家园

标题: VLAN问题的困惑。。。请大侠指点  [查看完整版帖子] [打印本页]

时间:  2005-11-22 19:47
作者: liyunjie     标题: VLAN问题的困惑。。。请大侠指点

1、如果一个二层交换机的上联口PVID为10,而该上联口确是untag方式加入到20这个VLAN里,当一个VLAN号为20的数据包(tagged)送到该二层交换机上联口,二层交换机是怎么处理的?是把这个包的PVID改为10转发到10号VLAN还是转发到20号VLAN里?还是根据MAC地址来转发?(我说的只是一种极端情况)请详细解答

2、当端口以UNTAG方式加入到一个VLAN中时,端口的PVID一定就是VLAN号吗?如果不一致会出现什么情况?

3、如果端口的PVID改为不是1,那么那些PVID为1的广播包还能广播进来吗?

4、问题1中,如果VLAN号为20的数据包的目的MAC地址是在该二层交换机里的10号VLAN里(或者是20号VLAN里),数据怎么样才能正确的送到目的地呢?

5、UNTAG端口能接受TAG的包吗?VLAN号一致的情况下

困惑我很久了,请大家解答,谢谢了!
时间:  2005-11-23 18:45
作者: 摇摇摆摆的心

写的好复杂,建议画个图,或者用设备、模拟器试一下就知道了。时间太久了,这些理论倒来倒去都乱了,实际中很少这么乱搞的。
时间:  2005-11-23 20:40
作者: thtelecom

原理不清楚,但实际工作远远没那么复杂
时间:  2006-2-1 20:44
作者: happymengo

VLAN的PVID这种说法或者使用方法,并不是标准规定的,各个厂家的设备使用上有所区别,估计您说的是华为设备,华为的有些开局指导书上有一些说明,找找看。
时间:  2006-2-1 21:36
作者: happymengo

找到一点点,希望有所帮助!

以太网端口缺省VLAN
端口接收数据时:
如果数据包本身不包含VLAN 的话,输入的数据包就加上该缺省VLAN;
如果数据包本身已经包含了VLAN,那么就不再添加。
端口发送数据时:
如果端口缺省VLAN 等于发送的数据包所含的VLAN,那么就会将VLAN 标记
从发送的数据包中去掉;
如果不相等,则数据包将原封不动地发送出去,实现VLAN 的透传。
端口缺省VLAN(PVID)默认取值为1,如果用户需要更改端口的缺省VLAN:
首先需要以此VLAN ID 创建一个普通VLAN,并将该端口包含在新创建的
VLAN 中;
然后再指定端口的缺省VLAN 为新的VLAN ID;
同时本端口以及与其相连的对端端口的缺省VLAN ID 建议设置一致。这样端
口的缺省VLAN 才能起到作用。
每个端口只有一个缺省VLAN,但不同端口的缺省VLAN 可以相同。

问题1:根据上述接收原则,当一个VLAN号为20的数据包(tagged)送到该二层交换机上联口时,将原封不动的接收此包,然后判决:查询MAC地址表,1、如果此包的目的MAC在表中,则直接发往连接着目的MAC的计算机或相关设备的端口上,2、如果此包的目的MAC不在表中,将此包往属于VLAN 20的所有端口转发(有点类似于VLAN内的广播)。

问题2:不一定,端口的PVID是可以自己定义的,至于说不一致会出现什么情况?没什么,接受、转发仍然按上述原则进行。

问题3:可以,对于交换机的任何端口,单指接受而言,通常任何满足802.3的以太网的包都会接受的,关键是接收了以后如何处理,如何判决。好好研究一下交换机、路由器的各个模块功能,特别是交换转发模块,你会有很多收获的!

问题4:答案同1,顺便说一下,MAC表已包含你所问得各个VLAN的MAC地址表。

问题5:可以,不管VLAN号一致还是不一致,关键还是接收了以后如何处理,是丢弃呢还是转发呢?好好学习,天天向上!!!
时间:  2006-2-1 23:18
作者: 01070801

不懂~
时间:  2006-2-2 18:17
作者: bluesky2345

现在正在做这方面的产品,过来学习
时间:  2006-2-3 14:29
作者: waterfish

以下是引用liyunjie在2005-11-22 19:47:00的发言:
1、如果一个二层交换机的上联口PVID为10,而该上联口确是untag方式加入到20这个VLAN里,当一个VLAN号为20的数据包(tagged)送到该二层交换机上联口,二层交换机是怎么处理的?是把这个包的PVID改为10转发到10号VLAN还是转发到20号VLAN里?还是根据MAC地址来转发?(我说的只是一种极端情况)请详细解答

2、当端口以UNTAG方式加入到一个VLAN中时,端口的PVID一定就是VLAN号吗?如果不一致会出现什么情况?

3、如果端口的PVID改为不是1,那么那些PVID为1的广播包还能广播进来吗?

4、问题1中,如果VLAN号为20的数据包的目的MAC地址是在该二层交换机里的10号VLAN里(或者是20号VLAN里),数据怎么样才能正确的送到目的地呢?

5、UNTAG端口能接受TAG的包吗?VLAN号一致的情况下

困惑我很久了,请大家解答,谢谢了!

1。pvid属性指当port作为vlan的入口时,会对进入vlan而无vlan tag的包打上tag; untag属性指当port作为vlan的出口时,会将离开vlan的包的vlan tag去掉。
针对本例,当一个VLAN号为20的数据包(tagged)送到该二层交换机上联口,而该port的确在vlan20中,所以它将会在vlan20中转发。我在工作中没遇到将一个在vlan20中的port的pvid设置为10而成功的例子

2。如上所述untag和pvid是两个不同的概念。每个port都有一个默认vlan id为1。如果一个无vlan tag的包进入一个没设置pvid的port,该包会被打上tag为1,在vlan1中转发。

3。一般来说,vlan id为1的广播包只在vlan1中广播。

4。VLAN号为20的数据包的目的MAC地址必须在20号VLAN里,否则将在vlan20内广播

5。untag属性作用上面说了,对收包无影响


根据自己理解讲了些,请大家指教

[此贴子已经被作者于2006-2-3 14:34:43编辑过]


时间:  2006-2-3 21:30
作者: superzhou

顶一下,慢慢消化
时间:  2009-8-20 13:35
作者: shinglee     标题:

谢谢
时间:  2009-8-21 00:29
作者: mzm710

原帖由 waterfish 于 2006-2-3 14:29 发表

1。pvid属性指当port作为vlan的入口时,会对进入vlan而无vlan tag的包打上tag; untag属性指当port作为vlan的出口时,会将离开vlan的包的vlan tag去掉。
针对本例,当一个VLAN号为20的数据包(tagged)送到该二层交 ...

第一个问题:当VLAN20到上联口时,由于端口数据做有VLAN200 UNTAG,所以VLAN20这个VLAN会被去掉。这样会变成一般的包。
做为上联口,一般只会让VLAN 透传过去,做UNTAG看不出有什么用。
2.看你是UNTAG那个VLAN,比如就这个端口PVID为1,UNTAG为20,那么从交换机出去的数据,VLAN为20的数据就会去掉VLAN,而这个端口不会收别的VLAN的包。
5.UNTAG的作用就是去掉VLAN,UNTAG谁就去掉谁,这个是对于出交换机来说。

[ 本帖最后由 mzm710 于 2009-8-21 00:36 编辑 ]
时间:  2009-8-21 00:42
作者: mzm710

发现是一个05年的帖子
时间:  2011-1-5 14:22
作者: xxty215

觉得11楼说的对




通信人家园 (https://www.txrjy.com/) Powered by C114