技术背景
园区网划分vlan之后,导致广播域局域网被隔离---->不同vlan之间不能通信
VLAN的划分,按照地理位置、部门、人员属性划分---->部门
VLAN的通信在二层上是被隔离了
以大家目前的知识储备,可能会想到的的解决方案:
方案一 在同一台交换机上,使用一根线把不同的vlan连接起来
- 结果:已经划分好的减小的广播域又被扩大了------不可行
方案二 用路由器的接口来实现不同vlan所对应的网段之间的通信------不可行
- 因为路由器的接口有限,一般来说,企业路由器的接口不会超过10个
- 运营商级别的路由器存在多个接口
如何让一个路由器的接口承载多个vlan的通信 ?
-
Trunk能够实现一个接口承载多vlan通信,Trunk是二层技术路由器是三层设备–配IP地址
-
Trunk链路封装802.1Q,路由器的接口能否也封装802.1Q,同时还具有三层功能–配IP地址?
-
一个接口能配多少个IP地址?最多两个—不能满足多vlan通信
技术的概念
如何实现
路由器的一个接口上通过配置子接口的方式,并且封装802.1Q,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
子接口:虚拟的接口、逻辑上存在的接口
-
子接口基于物理接口来实现:要实现子接口能够工作,物理接口必须处于up的状态
-
子接口是一个逻辑的接口,并不存在真正物理接口
-
子接口可以配置IP地址,需要指定这个接口配置的vlan id范围0~4094
-
封装的协议dot1q(802.1q)—>具有tag字段的封装
-
物理接口不用进行任何的配置,处于up的状态即可
-
子接口和它所在的物理接口共享MAC地址
单臂路由的配置
交换机的配置
- 正常的划分 网络所需要的vlan
- 将接口 access 到相应的vlan下
- 将干道接口设置成Trunk 并且 允许相对应的vlan通过
[SW1]vlan batch 10 20
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 10
[SW1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 20
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
路由器的配置
- 主接口不做任何配置
- 划分子接口
[AR1]inter g0/0/1.10 # 进入划分的子接口 范围 1-4096
[AR1-GigabitEthernet0/0/1.10]dot1q termination vid 10 #在子接口上通过802.1q协议,关联相对应的vlan
[AR1-GigabitEthernet0/0/1.10]ip add 10.1.1.100 24 # 配置IP地址
[AR1-GigabitEthernet0/0/1.10]arp broadcast enable # 开启 arp 广播—>让子接口具有接收和回复广播包的功能
[AR1]int g0/0/1.20 # 进入划分的子接口 范围 1-4096
[AR1-GigabitEthernet0/0/1.20]dot1q termination vid 20 # 在子接口上通过802.1q协议,关联相对应的vlan
[AR1-GigabitEthernet0/0/1.20]ip add 20.1.1.100 24 # 配置IP地址
[AR1-GigabitEthernet0/0/1.20]arp broadcast enable # 开启 arp 广播—>让子接口具有接收和回复广播包的功能
单臂路由的通信过程、通信原理
PC1pingPC2
- PC1首先要将目标IP网段和自己的IP地址进行与运算,计算出目标IP是否和自己同网段,是否需要跨网段通信
跨网段通信
- PC要封装ICMP数据—封装网关(G0/0/2)—目标MAC失败,触发ARP请求报文
- ARP广播报文进入E0/0/1(pvid 10)—ARP报文封装一个vlan id=10的tag,ARP报文经过G0/0/2接口(pvid=1),ARP报文依然携带tag上到Trunk链路上
- ARP请求包被G0/0/1收到—>G0/0/1需要将这个ARP请求包去掉TAG,分配给它的子接口—>G0/0/1.10
- 当子接口收到ARP请求的时候,查看源目MAC地址,根据源MAC地址
更新ARP缓存表,继续解读ARP的内容,发现是请求网关的MAC地址的请求包
G0/0/1.10 对这个ARP的请求报文进行回复 - G0/0/1.10对PC1进行ARP回复ARP应答包+vid 10
ARP relay被交换机G0/0/1收到
ARP relay携带tag进入交换机
交换机根据ARP relay携带的tag,将这个数据包,查CAM表关于VLAN 10的表项,发送给PC1 - PC1收到ARP relay后,解封装数据链路层,学习源MAC地址,更新到自己的ARP缓存表
PC1:ICMP数据包-源MAC自己-目标MAC 网关
ICMP数据包被E0/0/1接收,打tag:10
ICMP 数据包经过G0/0/2直接通过 - ICMP数据包到达G0/0/1,G0/0/1接收,查看TAG,去掉TAG,将这个数据包丢给了G0/0/1.10子接口
- 数据包被路由器收到,路由器根据数据包的目标IP地址,查看自己的路由表
发现目标网段位20.1对应的接口为G0/0/1.20
G0/0/1.20 要把这个数据包发送给PC2就得先要知道PC2的MAC地址
G0/0/1.20发送一个ARP的请求包,请求20.1主机的MAC地址 - APR request被PC2收到,PC2做出回复,G0/0/1.20就知道了PC2的MAC地址
ICMP的数据包从G0/0/1.20发出,携带vlan 20的tag
数据包经过交换机的G0/0/1(trunk),携带TAG vlan 20 进入交换机 - 交换机查看和vlan 20相关的CAM表,将这个ICMP的请求包发送给PC2,在经过E0/0/1的时候,去掉TAG
- PC2回复ICMP数据包
单臂路由的优缺点
优点
- 实现多vlan通信,解决不同vlan之间通信的问题
- 节约路由器的接口
缺点
- 单臂路由的"臂",承载的是不同vlan的双向流量,单臂出现单点故障,对网络影响非常大
- 单臂链路负载过重,容易出现流量瓶颈,影响通信效率