VLAN属于二层交换技术,因此若要实现VLAN间通信便需要来到第三层—网络层
单臂路由的原理是通过一台路由器,使VLAN间互通数据通过路由器进行三层转发。
单臂路由可以通过配置物理接口将其逻辑化为多个子接口,以便节约路由器上宝贵的物理接口资源。
实验目的
- 了解单臂路由工作原理,学会配置单臂路由
- 理解数据在跨VLAN通信中的转发过程
实验拓扑

实验步骤
-
配置交换机各端口类型,同时划分各端口所属
VLANS1: <S1>system-view //进入系统视图 [S1]vlan batch 10 20 30 //在交换机S1上创建VLAN 10,VLAN 20,VLAN 30 [S1]interface Ethernet 0/0/1 //进入e0/0/1接口 [S1-Ethernet0/0/1]port link-type access //将此接口设置为Access类型 [S1-Ethernet0/0/1]port default vlan 10 //此接口默认VLAN为VLAN 10 [S1-Ethernet0/0/1]quit [S1]interface e0/0/2 [S1-Ethernet0/0/2]port link-type access [S1-Ethernet0/0/2]port default vlan 20 [S1-Ethernet0/0/2]quit [S1]interface g0/0/2 //进入g0/0/2接口 [S1-GigabitEthernet0/0/2]port link-type trunk //将此接口设置为Trunk类型 [S1-GigabitEthernet0/0/2]port trunk allow-pass vlan all //此端口运行带有任何VLAN标签的 帧通过 [S1-GigabitEthernet0/0/2]quitS2: //大部分与S1类似,此处不再注释 <Huawei>system-view //进入系统视图 [Huawei]sysname S2 //将此设备改名为S2 [S2]undo info-center en //取消消息提醒 [S2]vlan batch 10 20 30 //在交换机S2上创建VLAN 10,VLAN 20,VLAN 30 [S2]interface Ethernet 0/0/1 [S2-Ethernet0/0/1]port link-type access [S2-Ethernet0/0/1]port default vlan 30 [S2-Ethernet0/0/1]quit [S2]interface g0/0/2 [S2-GigabitEthernet0/0/2]port link-type trunk [S2-GigabitEthernet0/0/2]port trunk allow-pass vlan all [S2-GigabitEthernet0/0/2]quitS3: //与S1,S2类似 <Huawei>system-view [Huawei]sysname S3 [S3]vlan batch 10 20 30 [S3]interface g0/0/1 [S3-GigabitEthernet0/0/1]port link-type trunk [S3-GigabitEthernet0/0/1]port trunk allow-pass vlan all [S3-GigabitEthernet0/0/1]quit [S3]interface g0/0/2 [S3-GigabitEthernet0/0/2]port link-type trunk [S3-GigabitEthernet0/0/2]port trunk allow-pass vlan all [S3-GigabitEthernet0/0/2]quit [S3]interface g0/0/3 [S3-GigabitEthernet0/0/3]port link-type trunk [S3-GigabitEthernet0/0/3]port trunk allow-pass vlan all [S3-GigabitEthernet0/0/3]quit到此处,各
VLAN区域均划分完毕,此时各PC之间互相ping不通,我们希望通过设置单臂路由使其相互ping通 -
将路由器
g0/0/1接口逻辑化为三个子接口,分别作为三个PC的网关[R1]interface g0/0/1.1 [R1-GigabitEthernet0/0/1.1]ip ad [R1-GigabitEthernet0/0/1.1]ip address 192.168.1.254 24 //设置子接口的IP地址与掩码 [R1-GigabitEthernet0/0/1.1]dot1q termination vid 10 //子接口处接收VLAN 10数据时自动剥 离VLAN 10标签;当此处发送数据时则自动加上VLAN 10标签 [R1-GigabitEthernet0/0/1.1]arp broadcast enable //开启后子接口才能发送ARP广播报文【普通 接口默认就是开启的】,ping功能就是建立在ARP基础上 [R1-GigabitEthernet0/0/1.1]quit [R1]interface g0/0/1.2 [R1-GigabitEthernet0/0/1.2]ip address 192.168.2.254 24 [R1-GigabitEthernet0/0/1.2]dot1q termination vid 20 [R1-GigabitEthernet0/0/1.2]arp broadcast enable [R1-GigabitEthernet0/0/1.2]quit [R1]interface g0/0/1.3 [R1-GigabitEthernet0/0/1.3]ip address 192.168.3.254 24 [R1-GigabitEthernet0/0/1.3]dot1q termination vid 30 [R1-GigabitEthernet0/0/1.3]arp broadcast enable [R1-GigabitEthernet0/0/1.3]quit //当VLAN数据都能被剥离后【dot1q设置后...】,对于路由器而言整个二层网络就像没有设置VLAN一样,因此PC网段便成了直连路由,此时更新自己路由表完成此步骤后,各
PC间便能跨VLAN相互ping通。以PC2 ping PC3为例分析整个过程

-
PC2会广播一个ARP请求,询问网关第MAC地,请求首先经过S1的e0/0/2的Access接口进入并被打上VLAN 20的标签,S1将此ARP请求从其余端口广播出去,发现e0/0/1端口的默认路由为VLAN 10,因此此路不通,所以ARP请求最后往g0/0/2的Trunk端口发送出去并且仍然携带VLAN 20标签 -
同理,
ARP请求被S3的g0/0/2的Trunk接口接收并转发,ARP请求到S2时无法经由e0/0/1发送给PC3,因此此端口的默认路由为VLAN 30,与ARP请求所携带的VLAN 10标签不同,所以此路也不通路,最后ARP请求只能经由S3的g0/0/1端口发送出去 -
包来到
R1的g0/0/1端口,此端口已被逻辑化为3个子接口,此时路由器将此ARP请求的VLAN 10标签与3个子端口的VID进行比对,发现其中有个端口的VID正好为VLAN 10,因此将此ARP请求接收,同时剥离其VLAN标签,也就是说当包被路由器接收后不携带任何标签。同时R1通过此端口回复一个ARP报文【这就是端口要开始ARP广播的原因】用于告知此网关的MAC地址,PC1收到后即可按照此MAC地址直接进行发送数据至网关 -
紧接着
R1查看自身路由表,发现PC3正好在自己的路由表中,通过层层查询,最后经由g0/0/1.3转发出去,同时打上此端口的VID,即VLAN 30标签,数据经此来到S3

-
面对携带了
VLAN 30的数据包,S3同样会从其余端口转发出去,包来到S1后发现标签与e0/0/1与e0/0/2不同,因此不进行转发;包来到S2处后发现标签正好与e0/0/1相同,因此去标签转发。PC3由此成功收到数据包,需要告知PC1自己已成收数据,同理发送ARP请求寻找自己的网关地址,最后来到PC1处,自此ping操作成功

本实验取自华为公司《HCNA网络技术实验指南》,此书对于新手学习计算机网络协议以及熟悉eNSP操作十分友好,强烈推荐!!!
本文档详细介绍了如何通过单臂路由实现VLAN间的通信,包括交换机端口配置、VLAN划分及路由器子接口设置。实验过程中,通过配置路由器的子接口作为不同VLAN的网关,剥离VLAN标签以实现数据在不同VLAN间的转发。通过这个过程,读者可以理解数据在跨VLAN通信中的转发逻辑。
10万+

被折叠的 条评论
为什么被折叠?



