交换机的以太网端口有三种链路类型:

         1、Access用户模式;

         2、Trunk链路干道模式;

         3、Hybrid跟Trunk很类似但比trunk高级;

(1)、Access类型的端口:

        只允许默认vlan的以太网帧,也就是说只能属于一个vlan,Access端口在收到以太网帧后打上vlan标签,转发时在剥离vlan标签,一般情况下一端连接的是计算机;

(2)、Trunk类型端口:

        可以允许多个vlan通过,可以接受并转发多个vlan的报文一般作用于交换机之间连接的端口,在网络的分层结构方面,trunk被解释为"端口聚合",就是把多个物理端口捆绑在一起当做一个逻辑端口使用,作用可以扩展带宽和做链路的备份;

(3)、Hybrid类型端口:

        Hybrid类型的端口跟trunk类型的端口很相似,也是可以允许多个vlan通过,可以接受和发送多个vlan的报文,可以作用于交换机之间,也可以作用于连接用户的计算机端口上,跟trunk端口不同的是,Hybrid端口可以允许多个vlan发送时不打标签,而trunk端口只允许缺省vlan的报文发送时不打标签;

 

详细的讲解:

(1)、缺省值vlan:严格的说就是厂商默认配置的vlan,一般情况下都是vlan 1;                    【cisco交换称缺省vlan---"Native Vlan"】【华三交换机缺省vlan---"Pvid"】

    [1]、Access端口只属于一个vlan,所以它的缺省vlan就是它所在的vlan;

    [2]、Hybrid端口和Trunk端口属于多个vlan,所以就要配置缺省的vlan id,在缺省的情况下,Hybrid端口和Trunk端口的缺省VLAN 1当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口(如果设置了端口的缺省VLAN ID)。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

(2)、Access,trunk和hybrid三种端口处理包的流程:

Access接收:

     收到一个报文,首先判断是否有vlan信息,如果没有的话在出端口打上pvid,然后进行交换转发,如果有则直接丢弃!

Access发送:

     将报文的vlan信息去除,然后在发送出去;【可以实现在同一交换机中相同vlan下的主机通信,也可以实现交换机间缺省vlan交换】

Trunk接收:

     收到一个报文,判断是否有vlan信息,有的话判断该trunk端口是否允许该vlan的信息通过,如果可以就放行,不行的话则打上端口的pvid,并进行交换转发。

Trunk发送:

     首先先进行vlan信息和pvid信息比较,如果不相等则直接发送,如果相等的话去除vlan及pvid,在发送;

 

 

 

    工作中的实例应用:(Hybrid)

 实现在同一局域网内不同vlan同一网段的通信!

 拓扑:

 

 

 

 

 

 

 

 

 

 

 

 

[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

 

hybrid端口收报文

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

如果没有则打上端口的PVID,并进行交换转发。

hybrid端口发报文

1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)

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