实验一 虚拟局域网实验
小组成员:
【实验目的】
- 完成复杂交换式以太网设计
- 实现跨交换机 VLAN 划分
- 验证属于同一个 VLAN 的终端之间的通信过程
- 验证属于不同 VLAN 的两个终端之间不能通信
- 验证接入端口和标记端口之间的区别
- 验证 802.1Q 标准 MAC 帧格式
【实验学时】
建议 2 学时
【实验环境配置】
图 1 网络结构图
【实验原理】
一、 创建 VLAN 并为 VLAN 分配交换机端口
网络结构如图 1 所示,要求按照表 1 所示的终端和 VLAN 之间关系配置 VLAN。 表 1 终端和 VLAN 之间关系
VLAN | 终端 | VLAN | 终端 |
VLAN1 | PC7,PC8 | VLAN2 | PC1,PC2,PC9 |
VLAN3 | PC5,PC6,PC10 | VLAN4 | PC3,PC4 |
在交换机配置过程中,如果仅仅只有属于单个 VLAN 的交换路径经过某个交换机端口,
将该交换机端口作为接入端口(Access)分配给该 VLAN,如果有属于不同 VLAN 的多条交换路径经过某个交换机端口,将该交换机端口配置为被这些 VLAN 共享的共享端口
(Trunk)。
如果某个交换机直接连接属于某个 VLAN 的终端,该交换机中需要创建该 VLAN。如果某个交换机并没有直接连接属于某个 VLAN 的终端,但是只要有属于该 VLAN 的交换路径经过该交换机中的端口,该交换机也需要创建该 VLAN。
例如图 1 中交换机 SW2,虽然没有直接连接属于 VLAN4 的终端,但由于属于 VLAN4 的终端 PC3 到 PC4 的交换路径有经过交换机 SW2 的端口 1 和端口 2,因此在交换机 SW2 中也需要创建 VLAN4。
根据上述创建 VLAN,为 VLAN 分配交换机端口的原则,为了实现表 1 所示的 VLAN
与终端之间关系,请填写表 2,确定 VLAN 与交换机端口之间的关系。 图 2 VLAN 与交换机端口之间的关系
交换机 (型号) | 端口 | 端口类型(打勾即可) | 分配的 VLAN(Access)/ 共享的 VLAN(Trunk) | |
Access | Trunk | |||
SW1 (S3700) | Ethernet0/0/1 | ☑ |
| Vlan2 |
Ethernet0/0/2 | ☑ |
| Vlan2 | |
Ethernet0/0/3 | ☑ |
| Vlan4 | |
Ethernet0/0/4 |
| ☑ | Vlan2,vlan4 | |
SW2 (S3700) | Ethernet0/0/1 |
| ☑ | Vlan2,vlan4 |
Ethernet0/0/2 |
| ☑ | Vlan1,vlan3,vlan4 | |
Ethernet0/0/3 | ☑ |
| Vlan2 | |
Ethernet0/0/4 | ☑ |
| Vlan3 | |
Ethernet0/0/5 | ☑ |
| Vlan1 | |
SW3 (S3700) | Ethernet0/0/1 | ☑ |
| Vlan4 |
Ethernet0/0/2 | ☑ |
| Vlan3 | |
Ethernet0/0/3 | ☑ |
| Vlan3 | |
Ethernet0/0/4 |
| ☑ | Vlan1,vlan3,vlan4 | |
Ethernet0/0/5 | ☑ |
| Vlan1 |
二、 端口模式与 MAC 帧格式之间的关系
从接入端口输入/输出的 MAC 帧不携带 VLAN ID,是普通的 MAC 帧格式。从共享端口输入/输出的 MAC 帧,除属于本地 VLAN 的 MAC 帧外,其他 MAC 帧携带该 MAC 帧所属VLAN的VLAN ID。本地VLAN可以通过配置确定,默认配置下,VLAN 1是本地VLAN。因此,对于通过共享端口输出的 MAC 帧,如果该 MAC 帧是两个属于 VLAN 1 的终端之间传输的 MAC 帧,该 MAC 帧格式是普通的 MAC 帧。如果该 MAC 帧是两个属于其他相同
VLAN 的终端之间传输的 MAC 帧,该 MAC 帧格式是 802.1Q 标准 MAC 帧格式(携带 VLAN
ID 的 MAC 帧格式)。下图是 802.1Q 的帧格式。
三、 关键命令说明
交换机 VLAN 配置过程分为两个步骤:1)根据需要在交换机上创建多个 VLAN,默认
情况下交换机上只有一个 VLAN,即 VLAN 1;2)将交换机端口分配给不同的 VLAN。
- 创建 VLAN 在交换机上执行 vlan <vlan-id>命令,创建 VLAN。
[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3
Info: This operation may take a few seconds. Please wait for a moment...done.
如本例所示,执行 vlan 10 命令后,就创建了 VLAN 10,并进入了 VLAN 10 视图。VLAN ID 的取值范围是 1 到 4094。如需创建多个 VLAN,可以在交换机上执行 vlan batch { vlan-id1 [ to vlan-id2 ] } 命令,以创建多个连续的 VLAN 。也可以执行 vlan batch { vlan-id1 vlan-id2 }命令,创建多个不连续的 VLAN,VLAN 号之间需要有空格。 通过 quit 命令退出 VLAN 视图。
- 配置端口的链路类型,并将端口分配给 VLAN
默认的端口类型是 hybrid。配置端口类型的命令是 port link-type <type>,type 可以配置为 Access,Trunk 或 Hybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的 hybrid 端口链路类型。当修改端口类型时,必须先恢复端口的默认
VLAN 配置,使端口属于缺省的 VLAN 1。
1)分配接入端口(Access)
[SWA]interface Ethernet 0/0/5
[SWA-Ethernet0/0/5]port link-type access
[SWA-Ethernet0/0/5]port default vlan 2
interface Ethernet 0/0/5 命令是进入交换机端口 Ethernet 0/0/5 的接口配置模式。 port link-type access 是接口模式下使用的命令,将特定交换机的端口指定为接入端口
(Access),此例中将 SWA 交换机的 Ethernet0/0/5 接口均配置为接入端口。 port default vlan 2 将该端口加入到 VLAN 2 中。 2)分配共享端口(Trunk)
[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
配置 Trunk 时,应先使用 port link-type trunk 命令修改端口的类型为 Trunk,然后再配
置 Trunk 端口允许哪些 VLAN 的数据帧通过。执行 port trunk allow-pass
vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允许的 VLAN,all 表示允许所有
VLAN 的数据帧通过。 在本示例中,将 SWA 的 G0/0/1 端口配置为 Trunk 端口,该端口 PVID 默认为 1。配置
port trunk allow-pass vlan 2 3 命令之后,该 Trunk 允许 VLAN 2 和 VLAN 3 的数据流量通过。
3. 验证配置 创建 VLAN 后,可以执行 display vlan 命令查看配置结果。
[SWA]display vlan
The total number of vlans is : 4
------------------------------------------------------------
U:Up; D:Down; TG:Tagged; UT:Untagged; MP:Vlan-mapping; ST:Vlan-stacking; #:
ProtocolTransparent-vlan; *:Management-vlan;
--------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------
1 common UT:GE0/0/1(U) ……
2 common UT:GE0/0/7(D) TG:GE0/0/1(U) common UT:GE0/0/5(U) TG:GE0/0/1(U)
10 common
……
TG 表明该端口在转发对应 VLAN 的数据帧时,不会剥离标签,直接进行转发,该端口可以是 Trunk 端口或带标签的 Hybrid 端口。本示例中,GigabitEthernet0/0/1 在转发 VLAN 2
和 VLAN3 的流量时,不剥离标签,直接转发。
还可以使用命令 display port vlan 查看 VLAN 和接口的配置情况。
[SWB]disp port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
Ethernet0/0/1 trunk 1 1-4094
Ethernet0/0/2 trunk 1 1-4094 Ethernet0/0/3 hybrid 1 -
该示例中可以看到 SWB 的 E0/0/1 和 E0/0/2 都已经配置成了 trunk 类型,并运行所有的
VLAN 流量通过(VLAN 1~4094)。
4. 保存配置
在用户视图下,使用 save 命令保存当前配置信息。
保存之后,使用 display saved-configuration 显示配置情况。
【实验步骤】
练习一:基本联网操作
1. 按照图 1 所示网络结构放置和连接网络设备后启动所有设备。 进行如下 ping 实验,观察现象,记录结果,解释原因。
表 2 练习一 Ping 测试结果
Ping 实验 | 是否 PING 通 | 原因 |
PC1–PC9(192.168.1.9) | 通 | 在同一个网段 |
PC3–PC4(192.168.1.4) | 通 | 在同一个网段 |
PC5–PC10(192.168.3.10) | 通 | 在同一个网段 |
PC7–PC8(192.168.1.8) | 通 | 在同一个网段 |
PC1 – PC3(192.168.1.3) | 通 | 在同一个网段 |
PC2 – PC6(192.168.3.6) | 不通 | 不在同一个网段 |
PC9-PC7(192.168.1.7) | 通 | 在同一个网段 |
练习二:按照表 2 内容,在各个交换机中创建 VLAN,并分配端口。
- 在交换机 SW1 上,在视图中输入“display vlan”查看交换机默认 vlan 配置,可以发现所有端口都被默认加入 VLAN 1。交换机 SW2 和 SW3 也是类似。
- 在交换机 SW1 上配置 Access 端口: (1) 在用户视图下输入“sys”进入系统视图;
在该视图下可以输入如下命令关闭日志信息命令减少设备配置更改的提示信息。示例如下:
<r1>sys
Enter system view, return user view with Ctrl+Z.
[r1]info-center source DS channel 0 log state off trap state off
(2) 使用“vlan batch 2 4”创建两个 vlan (3) 将 Ethernet0/0/1 端口配置成 Access 类型 进入端口设置界面:interface Ethernet0/0/1 设置端口链路类型:port link-type access 将端口加入 vlan:port default vlan 2
(4) 使用 quit 命令退出该接口视图,回到系统视图。 对 SW1 上的其他几个 Access 类型的端口采用类似的方式进行配置。
3. 在交换机 SW1 上配置 Trunk 端口:
(1) 在用户视图下输入“sys”进入系统视图;
(2) 将 Ethernet0/0/4 端口配置成 Trunk 类型 进入端口设置界面:interface Ethernet0/0/4 设置端口链路类型:port link-type trunk 设置允许通过的 vlan 帧:port trunk allow-pass vlan all
(3) 使用 quit 命令退出该接口视图,回到系统视图。
4. 在其他交换机 SW2 和 SW3 上也进行 VLAN 的创建和端口的设置。 提醒:默认情况下,所有交换机端口都作为接入端口分配给了 VLAN 1,因此不需要 SW2 的 Ethernet0/0/5 和 SW3 的 Ethernet0/0/5 分配给 VLAN 1。另外 SW2 上的端口并没有直接连接 VLAN 4 上的主机,但是因为 VLAN4 中的 PC3 和 PC4 通信需要经过 SW2,因此在 SW2 上创建 VLAN 的时候,仍然需要建立 VLAN 2。
正确完成上述操作后,进行如下 ping 实验,观察现象,记录结果,解释原因。 表 3 练习二 Ping 测试结果
Ping 实验 | 是否 PING 通 | 原因 |
PC1–PC9(192.168.1.9) | 通 | 两台终端在同一虚拟网vlan2中 |
PC3–PC4(192.168.1.4) | 通 | 两台终端在同一虚拟网vlan4中 |
PC5–PC10(192.168.3.10) | 通 | 两台终端在同一虚拟网vlan3中 |
PC7–PC8(192.168.1.8) | 通 | 两台终端在同一虚拟网vlan1中 |
PC1 – PC3(192.168.1.3) | 不通 | 两台终端不在同一虚拟网中 |
PC2 – PC6(192.168.3.6) | 不通 | 两台终端不在同一虚拟网中 |
PC9-PC7(192.168.1.7) | 不通 | 两台终端不在同一虚拟网中 |
练习三:观察各交换机上的 VLAN 配置及 802.1Q 的 MAC 帧格式
- 分别在各个交换机上运行“display vlan”,根据交换机各 VLAN 对于各端口的配置情况,填写下表:
表 4 交换机上的 VLAN 配置
交换机 | VLAN | Tagged 端口 | Untagged 端口 |
SW1 | VLAN 2 | Eth0/0/4 | Eth0/0/1, Eth0/0/2 |
VLAN 4 | Eth0/0/4 | Eth0/0/3 | |
SW2 | VLAN 2 | Eth0/0/1, Eth0/0/2 | Eth0/0/3 |
VLAN 3 | Eth0/0/1, Eth0/0/2 | Eth0/0/4 | |
VLAN 4 | Eth0/0/1, Eth0/0/2 | 无 | |
SW3 | VLAN 3 | Eth0/0/4 | Eth0/0/3, Eth0/0/2 |
VLAN 4 | Eth0/0/4 | Eth0/0/1 |
标明为 Tagged 的端口表明该端口在转发对应 VLAN 的数据帧时,不会剥离标签,直接
进行转发。而标明为 Untagged 表明该端口发送数据帧时,会剥离 VLAN 标签。
- 在 SW3 的 Ethernet0/0/4 端口进行抓包,然后在 PC6 上运行“ping 192.168.3.10”,也即从 PC6 去 ping PC10,查看 Wireshark 的抓包结果。可以发现 PC6 发给 PC10 的 ping 包中含有 802.1Q 标准的 MAC 帧,将其中的字段值填入下表。
表 5 802.1Q 帧
PRI | CFI | ID | Type |
0 | 0 | 3 | IP(0x0800) |
在 Ping 的过程中,由于 SW3 的 Ethernet0/0/4 口是被 VLAN 1、VLAN 3 和 VLAN 4 共享的共享端口,该 MAC 帧经过交换机 SW3 的 Ethernet0/0/4 口输出时,会携带 VLAN 3 对应的 ID。 继续在 SW3 的 Ethernet0/0/4 端口进行抓包,然后在 PC7 上运行“ping 192.168.1.8”,也即从 PC7 去 ping PC8,查看 Wireshark 的抓包结果。可以发现 PC7 发给 PC8 的 ping 包中并没有 802.1Q 标准的 MAC 帧。
练习四:保存各交换机配置,并查看配置情况
1. 分别在各个交换机上运行“save”,然后使用“display saved-configuration”命令,分别查看各交换机上的配置情况。
请分别贴在此处。
交换机 1 的配置:
#
sysname Huawei
#
vlan batch 2 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type access
port default vlan 2
#
interface Ethernet0/0/2
port link-type access
port default vlan 2
#
interface Ethernet0/0/3
port link-type access
port default vlan 4
#
interface Ethernet0/0/4
port link-type trunk
port trunk allow-pass vlan 2 4
#
---- More ----
交换机 2 的配置:
#
sysname Huawei
#
vlan batch 2 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/3
port link-type access
port default vlan 2
#
interface Ethernet0/0/4
port link-type access
port default vlan 3
# ---- More ----
交换机 3 的配置:
#
sysname Huawei
#
vlan batch 3 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password simple admin
local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
port link-type access
port default vlan 4
#
interface Ethernet0/0/2
port link-type access
port default vlan 3
#
interface Ethernet0/0/3
port link-type access
port default vlan 3
#
interface Ethernet0/0/4
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/5
port link-type access
#
---- More ----
【思考问题】
- VLAN 有什么作用?
答:将局域网设备从逻辑上划分成一个个网段。实现广播域的分割,将连接在物理交换式以太网上的终端按照用户制定的分配原则分配到个个vlan中。
- 练习 3 中为什么 PC7 ping PC8,并不会携带 VLAN ID?
答:PC7和PC8是默认vlan1,默认的vlan是不携带VLAN ID的。
- 如果一个 Trunk 链路 PVID 是 5,且端口下配置 port trunk allow-pass vlan 2 3,那么哪些 VLAN 的流量可以通过该 Trunk 链路进行传输?
答:vlan2和vlan3
- PVID 为 2 的 Access 端口收到一个不带标记的帧会采取什么样的动作?
答:打上该端口的PVID后继续转发(到交换机内部的其他端口)。
- 如果在 SW2 中没有设置 VLAN 4,也则 PC3 能否 ping 通 PC4?为什么?在 SW2 的 E0/0/1 和 E0/0/2 口分别抓包到的 PC3 发出的报文会含有 VLAN 标识符么?
答:不能。因为SW2 中没有设置 VLAN 4,发送给vlan4终端的消息SW2找不到vlan4就会丢弃。发送不到PC4。
在E0/0/1口会有VLAN 标识符,在E0/0/2没有包