原理概述:
以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,,并增强网络的安全性和可管理性。其缺点是同时也印个地隔离啦不同VLAN之间的任何二层流量,使分属不同VLAN的用户不能直接互相通信。在现实中,经常会出现某些用户需要跨越VLAN实现通信的情况,,单臂路由技术就是解决VLAN间通信的一种方法。
单臂路由的原理是通过一台路由器,,,使VLAN间互通数据通过路由器进行三层转发。如果在路由器上为每个VLAN分配 一个单独的路由物理接口,随着VLAN数量的增加,必然需要更多的接口,而路由器能提供的接口数量比较有限,,所以 在路由器上的一个物理接口通过配置子接口(即逻辑接口)的方式来实现以一当多的功能。。路由器同一物理接口的不同子接口作为不同VLAN的默认网关,当不同VLAN间的用户主机需要通信时,只需将数据包发送给网关,网关处理后,再发送至目的主机所在VLAN,从而实现VLAN间通信。由于从拓扑结构图上看,,,在交换机与路由器之间,数据仅通过一条物理链路传输,,故被形象地称之为“单臂路由”。
实验目的:
实验内容:
实验拓扑
单臂路由实现 VLAN 间路由拓扑:
实验编制:
将各个PC机的 IP地址、子网掩码和默认网关 按上图配置好
只演示了PC-1,其他的类似
实验步骤:
1.创建VLAN并配置Access,,,Trunk接口
公司为保障各部门的信息安全,,需要保证隔离不同部门间的二层通信,,规划各部门的终端属于不同的VLAN,,并为 PC配置 相应IP地址。
在S2上创建VALN 10和VLAN 20,把连接PC-1和 E 0/0/1 和连接 PC-2 的E 0/0/2接口配置为Access类型接口,,,并分别划分到相应的VLAN中。
同样,在S3上创建VLAN 30,把连接PC-3的 E 0/0/1接口配置为Access类型接口,,并划分到VLAN 30。
交换机之间或交换机和路由器之间相连的接口,需要传递多个VLAN 信息,需要配置为Trunk接口。
将S2和S3的 GE 0/0/2接口配置成 Trunk类型接口,,,并允许所有VLAN 通过。
在S1 上创建 VLAN 10、VLAN 20和VLAN 30,并配置交换机和路由器相连的接口为Trunk,,,允许所有VLAN 通过。
2.配置路由器子接口和IP地址
由于路由器R1只有一个实际的物理接口与交换机S1相连,,,,可以在路由器上配置不同的逻辑子接口 来作为不同VLAN 的网关,,从而达到节省路由器接口的目的。
在R1 上创建子接口GE 0/0/1.1 配置IP地址192.168.1.254/24 作为人事部门网关地址
在R1 上创建子接口GE 0/0/1.2 配置IP地址192.168.2.254/24 作为市场部门网关地址
在R1 上创建子接口GE 0/0/1.3 配置IP地址192.168.3.254/24 作为经理的网关地址
在PC1、2、3上测试之间的连通性(前提是已经为PC机,,配置啦IP地址,子网掩码和网关地址)
可以看到,通信仍然无法建立。
虽然目前已经创建了,不同的子接口,并配置啦相关IP地址,,,但依然无法通信,,,
这是由于处于不同 VLAN下,,,,不同网段的PC间要实现互相通信,,数据包必须通过路由器进行中转。。 由S1发送到R1的数据都加上拉 VLAN标签,,而路由器作为三层设备,,默认无法处理带啦VLAN 标签的数据包。。
因此,接下来 ,,,需要在路由器上的子接口下 配置对应VLAN的封装,,,使路由器能够识别 和 处理 VLAN标签,,包括剥离和封装 VLAN标签。
3.配置路由器子接口封装VLAN
在R1的子接口GE 0/0/1.1 上封装 VLAN 10,,,在接口GE 0/0/1.2上封装 VLAN 20, 在接口GE 0/0/1.3 上封装 VLAN 30,并开启子接口的ARP广播功能。
使用 dot1q termination vid (dot后面那个不是l,,,而是数字 1)命令配置子接口对 一层tag 报文的终结功能。。即配置该命令后,,路由器子接口在接收带有 VLAN tag的报文时,,,将剥掉tag进行 三层转发,,在发送报文时,,会将与该子接口对应 VLAN 的VLAN tag添加到报文中。。
使用 arp broadcast enable 命令开启子接口的ARP广播功能,,如果不配置该命令,,将会导致该子接口无法主动发送ARP 广播报文, 以及向外转发 IP报文。
同理,,配置R1上的子接口 GE 0/0/1.2和 GE 0/0/1.3。
配置完成,,,在路由器R1上查看 接口状态。
发现,,3个子接口的物理状态和协议状态都正常。
查看路由器R1的路由表
发现,,路由表中,,已经 有啦 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24的路由条目,,并且都是路由器R1的直连 路由,,,类似于路由器上的直连 物理接口。
那好,,现在让我们再PC-1上分别测试与网关地址 192.168.1.254和PC-2间的连通性。
可以看到,,通信正常。在PC-1上Tracert(跟踪路由)PC-2.
可以看到,,,PC-1先把 ping包 发送给自身的网关 192.168.1.254,,,然后再由网关发送到PC-2。
现在以 PC-1 ping PC-2 为例,,分析单臂路由的整个运作过程。。
(1).两台PC由于处于不同的网络中,,这时PC-1会将数据包 发往自己的网关,即路由器R1的子接口 GE 0/0/1.1的 地址 192.168.1.254
(2).数据包到达 路由器R1后,,由于路由器的子接口 GE 0/0/1.1已经配置啦 VLAN封装,,当接收到 PC-1发送的 VLAN 10的数据帧时11发现数据帧的VLAN ID 跟自身 GE 0/0/1.1 接口配置的 VLAN ID 一样,,变回剥离掉 数据帧的 VLAN 标签后 通过三层路由转发。。
(3).通过查找路由表后,,,发现数据包中的 目的地址192.168.2.1所属的 192.168.2.0/24 网关 的路由条目,,已经是 路由器 R1上的直连路由,,,且出接口 为 GE 0/0/1.2 便将该 数据包 发送至 GE 0/0/1.2接口。
(4).当 GE 00/1.2接口收到 一个 没有带的 数据帧 时,,便会加上 自身所配置 的 VLAN ID 20后再 进行转发,,然后通过交换机 将数据帧 顺利转发给 PC-2。
思考:
VLAN 间的通信可以利用单臂路由的方式实现,,,那么利用单臂路由实现数据转发 会存在哪些潜在问题??该如何解决?
利用单臂路由 实现数据转发 会存在两个问题:
1.路由器和交换机是通过一条 链路连接,,容易成为网络单点故障,导致 VLAN 之间的通信中断;
2.各个 VLAN之间的通信都是 由 “单臂”链路承载, “单臂”链路 可能会成为流量传输的瓶颈;;利用三层交换机 实现VLAN间路由可以解决 “单臂路由”存在的问题。