access、trunk、hybrid
一、基本概念
1、vlan接口简介
不同vlan间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,设备提供vlan接口实现对报文进行三层转发的功能。
vlan接口是一种三层模式下的虚拟接口,主要用于实现vlan间的三层互通,它不作为物理实体存在于设备上。每个vlan对应一个vlan接口,在为vlan接口配置了ip地址后,该接口即可作为本vlan内网络设备的网关,对需要跨网段的报文进行基于ip地址的三层转发。
2、端口类型
交换机端口加入vlan的三种方式:hybrid、access、trunk
- access:只允许一个VLAN报文通过,一般用来连接交换机和pc,也可以连接交换机和交换机。
- trunk:可以多个VLAN报文通过,一般连接交换机和交换机,所有默认的vlan的数据帧发出去时都会去掉vlan tag,其他的vlan不去除tag,只有默认的vlan端口才可以连接到客户端trunk端口有一个默认vlan,如果收到的报文没有vlan ID,就把这个报文当做默认vlan的报文处理。对于trunk口发送出去的报文,只有默认vlan的报文不带vlan ID,其它vlan的报文都要带vlan ID。
- hybrid:可以多个VLAN报文通过,可以连接交换机和pc,可以为多个vlan的端口为数据帧打上指定的vlan tag或者去除某些vlan tag tag,
access
和trunk
是hybrid的两个极端案例。并且hybrid可以实现vlan和vlan之间互通,这是access和trunk不能达到的。(华为私有)
3、 access, trunk端口和tag、untag端口的关系
access,trunk,hybrid都是上层的概念,其实在底层只有tag,untag概念。
比如:ge1 是access端口,他任何时候只能存在于一个vlan,在底层实际他是untag端口。
ge1是trunk端口,他可能存在于多个vlan,那么他在底层实际是tag端口,但在缺省vlan是untag端口。
二、默认vlan
1、Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;
2、Hybrid端口和Trunk端口属于多个VLAN, 所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1;
如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN tag,然后再发送该报文。
注:对于华为交换机,缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”。
三、交换机接口数据的过程
1、Access端口收报文:
收到电脑或者其他设备的一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID, 并进行交换转发;如果有则直接丢弃(缺省);
Access端口发报文:
将报文的VLAN信息剥离, 直接发送出去;
2、Trunk端口收报文
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发;如果有则判断该Trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃;
Trunk端口发报文:
比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送;
3、Hybrid端口收报文:
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID, 并进行交换转发;如果有则判断该Hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只是对发送报文时起作用)。
Hybrid端口发报文
1、判断该VLAN在本端口的属性(disp interface即可看到该端口对哪些VLAN是untag,哪些VLAN是tag);
2、untag则剥离VLAN信息再发送,tag则直接发送;
3、交换机在接受帧的时候会判断是port上的pvid是否和vlan ID 一致,如果一致则用untag,不一致用tag。
四、802.1Q
- 802.1q协议(也叫dot1q),802.1q协议定义了vlan字段的结构和vlan字段在以太网帧中的位置。
标准的以太网帧封装格式
S.DMA | S.MAC | TYPE | DATA | FCS |
---|---|---|---|---|
目的Mac地址 | 源Mac地址 | 类型 | 上层协议 | 帧格式校验合 |
802.1Q的数据帧封装格式
S.DMA | S.MAC | Tag | TYPE | DATA | FCS |
---|---|---|---|---|---|
目的Mac地址 | 源Mac地址 | 标记 | 类型 | 上层协议 | 帧格式校验合 |
graph LR
Tag-->TPID
Tag-->Priority
Tag-->CFI
Tag-->VALN-ID
1.TPID:2个字节,0X8100, 标识802.1q协议。
-
802.1p优先级:3个bit,标识报文的优先级,这个字段用于qos功能。
-
CFI:1个bit,取0表示mac地址以标准形式封装,取1则以非标准形式。
-
VLAN ID:12个bit,0-4095,其中0和4095为协议保留。
思科除了支持802.1q的封装,还有自己私有的vlan协议----cisco ISL。
priority、cfi、vlan ID 属于TCI(Tag Control Information)
五、配置命令
华为的命令
trunk口配置
#
interface GigabitEthernet xxx
port link-type trunk //端口的链路类型为trunk
port trunk allow-pass vlan xx to yy //允许vlanxx到yy通过
#
access口配置
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
hybrid口配置
#
interface GigabitEthernet0/0/1
port link-type hybrid //设置端口的类型
port hybrid pvid vlan xx //设置缺省vlan
port hybrid tagged/untagged vlan yy //端口直接发送或剥离vlan的便签
#
PVID的配置
[sw1-GigabitEthernet0/0/1] port hybrid pvid vlan 100
本文纯属原创,如有错误可以指出。
想和我一起交流可以向我发送邮箱:2449080520@qq.com