一、Vlan和Trunk
1、VLAN的定义
拟局域网,用来在二层网络中隔离广播域
不同VLAN的设备在二层网络中无法互相通讯
2、VLAN的优点
有效控制广播范围
广播域被限制在一个VLAN内,广播流量仅在VLAN中传播,节省了带宽,提高了网络处理能力
增强局域网的安全性
不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其他VLAN内的用户直接通信,如果不同VLAN要通信,则需要通过路由器或三层交换机等设备
灵活构建虚拟工作组
用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活
3、VLAN的转发过程举例
-
PC发送数据帧进⼊入交换机,会被打上vlan tag;vlan tag中的vlan id就是收到 帧的接⼝口的所属vlan;⼀一旦数据帧被打上vlan tag,就变成了了802.1Q格式的帧
-
交换机检查数据帧的⽬目的MAC地址,进⾏行行判断;如果⽬目的MAC对应的接⼝口允许 tag中的vlan id通过,则数据帧可以转发;否则,⼴广播处理理该帧/丢弃该帧
-
数据帧从出接⼝口发往PC前,会剥离vlan tag,使之还原为标准的以太⽹网帧格式
4、802.1Q
在源Mac地址和Type之间携带vlan tag的帧格式,计算机不不识别
帧格式
TPID是指表明这是一个封装了802.1Q标签的帧,TPID包含一个固定的值0x8100
prority是指这3位指明数据帧的优先级,一共有8种优先级别,0-7
CFI是指值为0说明是规范格式,1为非规范格式;它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地址的比特次序信息
VLAN ID一共12个比特,指明VLAN的编号,VLAN的编号一共4096个,每个支持802.1Q协议的交换机发送出来的数据帧都会包含这个域,用以指明自己属于哪个VLAN
5、VLAN工作原理
5.1 交换机端口类型
Access
必须加⼊入到一个vlan,只能加⼊入到一个vlan;从access端口收到的帧,会打上该端口所属vlan的tag;从access端口发出的帧会剥离tag;一般用来连接PC或路由器;H3C交换机默认所有端口都是access类型属于vlan1;华为是hybrid。
Trunk
可以允许多个vlan的数据通过;从trunk端口发出的帧保留vlan tag,但是缺省vlan除外; trunk端口收到未打tag的帧,会重新打上缺省vlan的tag;一般用来连接交换机。
Hybrid
可以允许多个vlan的数据通过;可以⼿手动配置从Hybrid端口发出的帧,哪个vlan保留留tag,哪个vlan剥离tag;Hybrid收到未打tag的帧,会重新打上缺省vlan的tag;既可以连接PC/路由器,也可以连接交换机。
5.2 PVID
定义
表示某个端口的缺省vlan;任何类型的端口转发tag中vlan id和pvid一致的帧,都会剥离tag
特征
Access端口所属的vlan就是pvid,不用配置,默认是vlan1
Trunk端口需要手动配置pvid,默认是vlan 1
Hybrid端口需要手动配置pvid,默认是vlan1
6、LAN类型
基于端口的VLAN
端口固定属于某个vlan
基于Mac地址的VLAN
Mac地址绑定到vlan,同一Mac地址的设备,无论连接在哪个端口,vlan归属不变
端口类型需要配置为Hybrid
基于协议的VLAN
三层协议绑定到vlan,同一协议的报文,无论从哪个端口接收,vlan归属不变
端口类型需要配置为Hybrid
基于IP子网的VLAN
IP网段绑定到vlan,同一IP子网的设备,无论连接在哪个端口,vlan归属不变
端口类型需要配置为Hybrid
VLAN归属优先级
Mac地址vlan>IP子网vlan>协议vlan>端口vlan
7、VLAN常用命令
//创建vlan,进入vlan视图
[h3c]vlan 'vlan id'
//vlan命名
[h3c-vlan10]name 'text’
//把端口以Access类型加入到vlan
[h3c-vlan10]port 'port id'
//配置端口类型
[h3c-GigabitEthernet1/0/1]port link-type 'access/trunk/hybrid'
//配置Trunk端口允许通过的vlan
[h3c-GigabitEthernet1/0/1]port trunk permit vlan 'vlan-id-list/all'
//配置Trunk端口的缺省vlan
[h3c-GigabitEthernet1/0/1]port trunk pvid 'vlan id'
//查看某个vlan详细信息
[h3c]display vlan ''vlan id'
//查看vlan摘要信息
[h3c]display vlan brief
//查看Trunk端口信息
[h3c]display port trunk
二、VLAN和Trunk实验
实验拓扑
实验需求
- 按图示为PC配置IP地址
- SW1和SW2上分别创建vlan10和vlan20,要求PC1和PC3属于vlan10,PC2和PV4属于vlan20
- SW1和SW2相连的接口配置为trunk类型,允许vlan10和vlan20通过
- 测试效果,同一vlan的PC可以互通,不同vlan的PC无法互通
实验解法
1、配置IP
略
2、配置vlan
SW1和SW2上分别创建vlan10和vlan20
步骤1:在SW1上创建vlan10和vlan20
[SW1]vlan 10
[SW1-vlan10]vlan 20
[SW1-vlan20]
步骤2:在SW2上创建vlan10和vlan20
[SW2]vlan 10
[SW2-vlan10]vlan 20
[SW2-vlan20]
3、配置接口
SW1和SW2都把g1/0/1接口加入vlan10,g1/0/2接口加入vlan20
步骤1:在SW1上把g1 / 0/1接口加入到vlan10,把g1 / 0/2接口加入到vlan20
[SW1]vlan 10
[SW1-vlan10]port g1/0/1
[SW1-vlan10]vlan 20
[SW1-vlan20]port g1/0/2
步骤2:在SW2上把g1 / 0/1接口加入到vlan10,把g1 / 0/2接口加入到vlan20
[SW2]vlan 10
[SW2-vlan10]port g1/0/1
[SW2-vlan10]vlan 20
[SW2-vlan20]port g1/0/2
4、配置Trunk
SW1和SW2的g1 / 0/3接口都配置为trunk,允许vlan10和vlan20通过
步骤1:在SW1上把g1 / 0/3接口配置为Trunk类型,并允许vlan10和vlan20通过
[SW1]interface g1/0/3
[SW1-GigabitEthernet1/0/3]port link-type trunk
[SW1-GigabitEthernet1/0/3]port trunk permit vlan 10 20
步骤2:在SW2上把g1 / 0/3接口配置为Trunk类型,并允许vlan10和vlan20通过
[SW2]interface g1/0/3
[SW2-GigabitEthernet1/0/3]port link-type trunk
[SW2-GigabitEthernet1/0/3]port trunk permit vlan 10 20
5、测试
测试结果,如下所示,PC1可以PING通PC3,但无法PING通PC2和PC4
步骤1:在PC1上PingPC2,发现不能Ping通
<H3C>ping 192.168.1.2
Ping 192.168.1.2 (192.168.1.2): 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
步骤2:在PC1上PingPC3,发现可以Ping通
<H3C>ping 192.168.1.3
Ping 127.0.0.1 (127.0.0.1): 56 data bytes, press CTRL_C to break
56 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.000 ms
56 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.000 ms
56 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.000 ms
56 bytes from 127.0.0.1: icmp_seq=3 ttl=255 time=0.000 ms
56 bytes from 127.0.0.1: icmp_seq=4 ttl=255 time=0.000 ms
步骤3:在PC1上PingPC4,发现不能Ping通
<H3C>ping 192.168.1.4
Ping 192.168.1.4 (192.168.1.4): 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out