通信人家园

标题: IP技术中 就access trunk hybrid三种端口及untag tag vlan的疑问  [查看完整版帖子] [打印本页]

时间:  2008-7-17 17:56
作者: zhujin83     标题: IP技术中 就access trunk hybrid三种端口及untag tag vlan的疑问

先将有关的文章记录如下:
——-------------------------------------——-------------------------------------

Acess端口收报文:
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

Acess端口发报文:
将报文的VLAN信息剥离,直接发送出去   
(所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。)

trunk端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃;如果没有VLAN信息则打上端口的PVID,并进行交换转发。

trunk端口发报文:
比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。
(所以,将交换机级连口统统设置为Trunk并允许所有VLAN通过后,VLAN2-VLAN4000直接透传,而VLAN1则因为和Trunk缺省PVID相同,需要通过剥离VLAN信息又添加VLAN信息实现了透传。而如果更改Trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。)

hybrid端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);
如果没有则打上端口的PVID,并进行交换转发。

hybrid端口发报文:
1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)
2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送
(所以,Hybrid实现了不同VLAN下的主机的通信。)


以下案例可以帮助大家深入理解华为交换机的hybrid端口模式
[Switch-Ethernet0/1]int e0/1
[Switch-Ethernet0/1]port link-type hybrid
[Switch-Ethernet0/1]port hybrid pvid vlan 10
[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged
[Switch-Ethernet0/1] int e0/2
[Switch-Ethernet0/2]port link-type hybrid
[Switch-Ethernet0/2]port hybrid pvid vlan 20
[Switch-Ethernet0/2]port hybrid vlan 10 20 untagged
此时inter e0/1和inter e0/2下的所接的PC是可以互通的,但互通时数据所走的往返vlan是不同的。
以下以inter e0/1下的所接的pc1访问inter e0/2下的所接的pc2为例进行说明
pc1所发出的数据,由inter0/1所在的pvid vlan10封装vlan10的标记后送入交换机,交换机发现inter e0/2允许vlan 10的数据通过,于是数据被转发到inter e0/2上,由于inter e0/2上vlan 10是untagged的,于是交换机此时去除数据包上vlan10的标记,以普通包的形式发给pc2,此时pc1->p2走的是vlan10
再来分析pc2给pc1回包的过程,pc2所发出的数据,由inter0/2所在的pvid vlan20封装vlan20的标记后送入交换机,交换机发现inter e0/1允许vlan 20的数据通过,于是数据被转发到inter e0/1上,由于inter e0/1上vlan 20是untagged的,于是交换机此时去除数据包上vlan20的标记,以普通包的形式发给pc1,此时pc2->pc1走的是vlan20
-------------------------------------------------------------------------------------
我的疑问是为什么pc1在inter e0/1口是以封装vlan10的标记后发送出去的
上面是有提到过hybrid端口收到普通的ether报文后是给报文打上pvid vlan ,但是在说hybrid端口有关发送报文的时候,又提到说发送untag 的报文是剥离vlan头后发送出去的。因此我总是认为pc1经过hybrid端口只是起了一个透传的作用 ,发送的数据还是普通的ether报文 ,而不是打上了pvid 10的报文。 这种死循环似的理解让我钻进了死胡同 但是又不知道自己哪里理解错了 恳请哪位高手指点一二!!!希望有人能明白我的意思
时间:  2009-8-20 13:36
作者: shinglee     标题:

谢谢.
时间:  2009-8-21 21:32
作者: trickeyboy

不对吧,端口1的PVID 是10 ,端口2的PVID是20 ,两台电脑部会通啊!
时间:  2009-8-28 21:20
作者: kkk2000     标题: 上面已经说了Hybrid在接收到PC数据后转发时保留着PVID啊

hybrid端口收报文:
收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);
如果没有则打上端口的PVID,并进行交换转发

按规则处理,PC发的数据无VLAN,则打上PVID转发到端口2,中间过程没有VLAN的剥离,因为端口1对PC的状态是收状态,没有朝PC发数据,所以不是Hybrid的发报文状态。对端口2,输出数据,则正是Hybrid的发报文状态。

一个端口有对外的用户设备有收发状态,对内的与交换矩阵的接口同样也有收发状态,这里所有的端口收发都是指对用户侧端口而言的。
时间:  2011-10-13 16:42
作者: babaface

首先pc1发送数据,在inter e0/1口是处于接收态,vlan10的数据得以转发 ,交换机发现inter e0/2允许vlan 10的数据通过,于是数据被转发到inter e0/2上,由于inter e0/2上vlan 10是untagged的,于是交换机此时去除数据包上vlan10的标记,以普通包的形式发给pc2,此时pc1->p2走的是vlan10




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