交换机的以太网端口有三种链路类型:
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则直接发送