单臂路由实验:VLAN间通信全解析

单臂路由实验原理详解

一、单臂路由的基本概念

单臂路由(Router on a Stick)是一种在网络中实现不同 VLAN(虚拟局域网)间通信的技术。其核心思想是通过在路由器的一个物理接口上划分多个子接口(逻辑接口),让每个子接口对应一个 VLAN,从而实现不同 VLAN 之间的数据转发。

二、单臂路由的实验背景与需求
  • 场景:当网络中存在多个 VLAN(如 VLAN10、VLAN20),且需要实现 VLAN 间通信时,传统方式需为每个 VLAN 配备路由器物理接口,成本较高。
  • 需求:通过单臂路由技术,利用路由器的一个物理接口连接交换机,借助子接口实现多 VLAN 通信,降低硬件成本。
三、单臂路由的核心原理
1. VLAN 与数据帧标记
  • VLAN 隔离:同一交换机上的不同 VLAN 默认无法直接通信,因数据帧带有 VLAN 标签(802.1Q 协议),交换机仅在同 VLAN 内转发。
  • 802.1Q 标签:数据帧进入交换机时,会被添加 4 字节的 VLAN 标签(包含 VLAN ID),标识所属 VLAN。
2. 路由器子接口的作用
  • 子接口划分:在路由器物理接口(如 FastEthernet 0/0)下创建多个子接口(如 Fa0/0.1、Fa0/0.2),每个子接口对应一个 VLAN。
  • 标签处理
    • 子接口接收数据时,剥离 VLAN 标签,根据 IP 地址路由;
    • 发送数据时,为数据帧添加对应 VLAN 的标签,发回交换机。
3. 数据转发流程

以 VLAN10 与 VLAN20 通信为例:

  1. VLAN10 内主机 1发送数据至交换机;
  2. 交换机为数据帧添加 VLAN10 标签,转发至路由器物理接口;
  3. 路由器子接口 Fa0/0.1 剥离标签,根据 IP 路由表确定转发至 VLAN20;
  4. 子接口 Fa0/0.2 为数据帧添加 VLAN20 标签,发回交换机;
  5. 交换机根据标签将数据帧转发至 VLAN20 内主机 2。

实验拓扑图

步骤一:配置pc的IP地址、子网掩码和网关

步骤二: 交换机配置vlan .注意连接交换机的接口

python 复制代码
<H3C>SYS
<H3C>system-view 
System View: return to User View with Ctrl+Z.
[
[H3C]SYSNAME SW-1 //改交换机名字
[SW-1]vlan 10
[SW-1-vlan10]port g1/0/1 //将vlan 10接入g1/0/1
[SW-1-vlan10]vlan 20
[SW-1-vlan20]port g1/0/2 //将vlan 20接入g1/0/2
[SW-1-vlan20]quit

步骤三:对交换机连接路由器的接口trunk

python 复制代码
[SW-1]int g1/0/3
[SW-1-GigabitEthernet1/0/3]port link-type trunk 
[SW-1-GigabitEthernet1/0/3]port trunk permit vlan 10 20
[SW-1-GigabitEthernet1/0/3]quit

步骤四:进入路由器给子接口配置IP地址并且去掉valn 标签.

python 复制代码
<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysname R1
[R1]int g0/0.1
[R1-GigabitEthernet0/0.1]ip add 192.168.10.254 24  //去掉valn 10 的标签
[R1-GigabitEthernet0/0.1]vlan-type dot1q vid 10
[R1-GigabitEthernet0/0.1]quit
[R1]int g0/0.2
[R1-GigabitEthernet0/0.2]ip add 192.168.20.254 24
[R1-GigabitEthernet0/0.2]vlan-type dot1q vid 20  //去掉valn 20 的标签
[R1-GigabitEthernet0/0.2]quit

说明:会出现大串的提示。

python 复制代码
<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysname R1
[R1]int g0/0.1
[R1-GigabitEthernet0/0.1]%Jul  4 09:12:05:917 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to up.
%Jul  4 09:12:05:917 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to up.

[R1-GigabitEthernet0/0.1]ip add 192.168.10.254 24
[R1-GigabitEthernet0/0.1]vlan-type dot1q vid 10
[R1-GigabitEthernet0/0.1]%Jul  4 09:13:50:665 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to down.
%Jul  4 09:13:50:665 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to down.
%Jul  4 09:13:50:665 2025 R1 IFNET/3/PHY_UPDOWN: Physical state on the interface GigabitEthernet0/0.1 changed to up.
%Jul  4 09:13:50:665 2025 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface GigabitEthernet0/0.1 changed to up.

最后我们用pc1 去ping pc2,结果是连通 的