交换机的acess/trunk/hybrid三种链路类型+tag与untag

来源:互联网 发布:mac设置桌面程序 编辑:程序博客网 时间:2024/06/05 09:46

<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:612.0pt 792.0pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:36.0pt;mso-footer-margin:36.0pt;mso-paper-source:0;}div.Section1{page:Section1;}-->

 Taguntag

untag就是普通的Ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;

tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytesvlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的。

802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含:

2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。

2个字节的标记控制信息(TCI),包含了三个域。

Priority域,占3bits,表示报文的优先级,取值077为最高优先级,0为最低优先级。该域被802.1p采用。

规范格式指示符(CFI)域,占1bit0表示规范格式,应用于以太网;1表示非规范格式,应用于TokenRing

VLAN ID域,占12bit,用于标示VLAN的归属。

 

以太网端口有三种链路类型:AccessHybridTrunk

Access类型的端口只能属于1VLAN,一般用于连接计算机的端口;

Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;

Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

 

在这里先要向大家阐明端口的缺省VLAN这个概念

 

Access端口只属于1VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;

Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLANVLAN 1

如果设置了端口的缺省VLANID,当端口接收到不带VLANTag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLANTag的报文时,如果该报文的VLANID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan

 

 

交换机接口出入数据处理过程如下:

Acess端口收报文:

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

 

Acess端口发报文:

将报文的VLAN信息剥离,直接发送出去  

trunk端口收报文:

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

trunk端口发报文:

比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送

hybrid端口收报文:

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

hybrid端口发报文:

1、判断该VLAN在本端口的属性(dispinterface 即可看到该端口对哪些VLANuntag,哪些VLANtag

2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送

以下案例可以帮助大家深入理解华为交换机的hybrid端口模式

 [Switch-Ethernet0/1]inte0/1

[Switch-Ethernet0/1]port link-type hybrid

[Switch-Ethernet0/1]port hybrid pvid vlan10

[Switch-Ethernet0/1]port hybrid vlan 10 20untagged

 

[Switch-Ethernet0/1] int e0/2

[Switch-Ethernet0/2]port link-type hybrid

[Switch-Ethernet0/2]port hybrid pvid vlan20

[Switch-Ethernet0/2]port hybrid vlan 10 20untagged

 

此时inter e0/1inter 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/2vlan 10untagged的,于是交换机此时去除数据包上vlan10的标记,以普通包的形式发给pc2

---------------------------------------------------------------------------------------------------------------------

<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:612.0pt 792.0pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:36.0pt;mso-footer-margin:36.0pt;mso-paper-source:0;}div.Section1{page:Section1;}-->

对于划分了vlan的交换机而言,

当交换机的端口工作在access模式时:

接受数据包:当access端口接收到数据包时,检查数据包是否打有vlan标签,如果没有就打上段都的pvid,如果有的话就直接丢弃。

发送数据包:当access端口发送数据包时,将数据包的标记直接剥离然后转发。

 

当交换机的端口工作在trunk模式时:

接受数据包:当trunk端口接收到数据包时,检查数据包是否打有vlan标签,如果没有就打上端口的pvid,如果有标签,检查标签是否允许通过,如果允许就转发,否则丢弃。

发送数据包:当trunk端口发送数据包时,首先检查数据包的标签,如果数据包的标签和端口标签一样则去掉标签然后发送,如果不一样则直接发送。