本系列是北航计算机学院于 2024 年春季学期开设的核心专业课《计算机网络实验》课程的实验报告记录,实验形式为两人组队实验。由于学习过程中掌握并不牢靠,如有错误请读者不吝赐教!

数据链路层 & 网络层实验 - 2

前半部分为实验的实际操作环节,后半为实验报告内容的填写。

实验内容

  • VLAN TRUNK 实验
  • VLAN TAG 实验
  • VLAN 间通信综合实验
  • 子网划分设计型实验(含预习部分
  • 网络风暴与端口聚合实验
  • 端口镜像实验

VLAN TRUNK 实验

实验说明

实验内容

  • 不完全按照图示进行组网,注意要将 PCB 通过集线器(HUB)接在 S1 和 S2 之间,也即 S1、S2、PCB 共同接入集线器,这样 PCB 即可截获在 S1 和 S2 之间发送的报文信息

image-20240409141709616

  • 配置 VLAN 号与端口范围
VLAN 2
port G 1/0/1 to G 1/0/5
VLAN 3
port G 1/0/20 to G 1/0/24

经过这样的简单配置后,连接在不同交换机上、处于相同 VLAN 的主机间仍然不能通信,因为 S1 与 S2 间的链路无法转发这些数据报

  • 配置两台交换机 TRUNK 端口,允许 VLAN 2 和 VLAN 3 的数据报进行转发
interface G 1/0/13
port link-type trunk
port trunk permit VLAN 2 3
  • 截获 PCA、PCB、PCC 的报文,并执行 PCA ping PCC,根据第一条 ICMP echo Request 报文的二层转发过程填入实验报告第 6 题表中

  • 查看交换机 S1 的 MAC 地址表,填写实验报告第 7 题

display mac-address

VLAN TAG 实验

实验说明

实验内容

  • 维持 VLAN TRUNK 实验的组网结构基本不变,据实验报告要求应该把 PCA 接入集线器,将 PCB 接在 S1 上,如图所示

image-20240409142558763

  • 将两个交换机原本的 TRUNK 接口转为 HYBRID 类型,并进行进一步配置(VLAN2 tagged、VLAN3 untagged、PVID = 1)
undo port link-type
port link-type hybrid
port hybrid pvid vlan 1
port hybrid vlan 2 tagged
port hybrid vlan 3 untagged
  • 执行 PCB ping PCD,观察能否 ping 通,并填写实验报告第 8 题
  • 修改交换机 G 1/0/13 的配置,再次配置使得 PCB 和 PCD 能 ping 通,截获报文将第一条 ICMP echo Request 报文的二层转发过程填写在实验报告第 8 题表中
  • 分析报文截获,完成实验报告第 9 题

VLAN 间通信综合实验

实验说明

实验过程

  • 恢复实验组网与 VLAN TRUNK 实验一致,注意调整四台 PC 的 IP 与网关

image-20240409143749952

  • 配置交换机 S1 的 VLAN 接口 IP 地址,均配置为子网的网关地址
interface VLAN 2
ip address 192.168.2.1 255.255.255.0
interface VLAN 3
ip address 192.168.3.1 255.255.255.0
  • 清空交换机 MAC 地址表、arp 缓存以及各 PC 的 ARP 缓存
/* in S1/S2 view */
system-view
undo mac-address
<Ctrl + Z>
reset arp all
/* in PC cmd */
arp -d
  • 执行 PCC ping PCD,对所有报文的转发过程进行分析,完成实验报告第 8 题

子网划分设计型实验

实验说明

实验过程

image-20240409163951737

如图,某公司要建设公司网络,从网络服务商处租用了一个 C 类地址 202.108.100.*/24,接网络服务商路由器的地址如图所示,请给出设计方案,满足如下要求:

  1. 网络划分子网数越多越好,但每个子网的主机数大于 15 台;
  2. 所有用户都能上网,即要求所有主机都能 ping 通网络服务商路由器的 E0 口。

提示:如图所示,划分好子网后,在路由器和三层交换机上要配置静态路由。

在实际操作中,我们以 R1 作为网络服务商路由器、 S1 作为三层交换机、S2 和集线器 HUB 分别作为两个二层交换机,每个二层交换机下配置两台 PC 作为演示

设计方案与具体设置操作见实验报告内容

网络风暴与端口聚合实验

实验说明

实验内容

  • 按照下图进行组网,若按顺序完成实验,可以先清除上面实验的 VLAN 和接口配置
image-20240409145212897

其余操作可见上次线上的实验报告

端口镜像实验

实验说明

实验内容

  • 按照下图进行组网,Device 可使用交换机 S1 进行配置
image-20240409145749474
  • 配置本地镜像组、设置镜像端口、关闭生成树协议
# 创建本地镜像组 1。
<Device> system-view
[Device] mirroring-group 1 local
# 配置本地镜像组 1 的源端口为 GigabitEthernet1/0/1 和 GigabitEthernet1/0/2,对源端口收发的报文都进行镜像,目的端口为 GigabitEthernet1/0/3。
[Device] mirroring-group 1 mirroring-port gigabitethernet 1/0/1 gigabitethernet 1/0/2 both
[Device] mirroring-group 1 monitor-port gigabitethernet 1/0/3
# 在目的端口 GigabitEthernet1/0/3 上关闭生成树协议。
[Device] interface gigabitethernet 1/0/3
[Device-GigabitEthernet1/0/3] undo stp enable
[Device-GigabitEthernet1/0/3] quit
  • 执行 PCA ping PCB,检测 PCC 所截获的报文信息,实际上应为所有 PCA 和 PCB 的报文信息

数据链路层实验报告

广播风暴 & 端口聚合

观察了广播风暴后,在两台交换机上都配置启用生成树协议。请问是否还能观察到广播风暴?为什么?

不能再观测到广播风暴。

因为生成树协议阻断了网络中的环路,限制数据在部分活跃端口上传输。

广播风暴 & 端口聚合

配置了端口聚合后,请问是否还能观察到广播风暴?为什么?

不能再观测到广播风暴。

配置端口聚合后,两交换机之间现仅存在一条多个端口合并后的聚合链路,不会再产生广播风暴。

广播风暴 & 端口聚合

模拟链路故障,将连接两台交换机的一根网线拔掉或者将被聚合的某个端口 shutdown,检查网络两端是否仍能联通,并解释为什么?体会其链路备份的作用。

仍能联通。

生成树协议会暂时禁用多余链路。当现有链路产生变化影响网络联通性时,生成树协议会重启这些链路。

VLAN TRUNK

根据跨交换机VLAN的实验中的报文截获结果填写下表

转发过程 源 MAC 地址 目的 MAC 地址 源 IP 地址 目的 IP 地址 VLAN ID
PCA -> S1 MAC_PCA MAC_PCC 192.168.2.10 192.168.2.11 不含 TAG 字段
S1 -> S2 MAC_PCA MAC_PCC 192.168.2.10 192.168.2.11 2
S2 -> PCC MAC_PCA MAC_PCC 192.168.2.10 192.168.2.11 不含 TAG 字段

VLAN TRUNK

请查看交换机 S1 的 MAC 地址表,填写下表,并进一步体会交换机 MAC 地址表的学习和转发

MAC 地址 对应的主机 VLAN ID State 端口号 AGING TIME
MAC_PCA PCA 2 Learned G 1/0/1 Y
MAC_PCB PCB 1 Learned G 1/0/13 Y
MAC_PCC PCC 2 Learned G 1/0/13 Y
MAC_PCD PCD 3 Learned G 1/0/13 Y
对应 MAC S2 的 G 1/0/13 接口 1 Learned G 1/0/13 Y

VLAN TAG

继续前面的实验,如图 2-12,对两台交换机的 E0/13 端口进行设置;执行 PCB ping PCD,观察能否 ping 通,为什么?

PCB ping PCD 并不能 ping 通。

因为 hybrid 类型接口会将 PCB 发送的数据先打上 VLAN3 标签,检测为 untagged 后再去掉其标签。

S2 接受到来自 G1/0/13 的无 tag 数据,自动封装了其默认的 pvid 的 tag,即 pvid = 1;S2 内部无其他可发送的 VLAN 1 主机,无法抵达处于 VLAN 3 的 PCD。

修改两个交换机的 E 1/0/13 端口的配置,使 PCB 能够 ping 通 PCD,结合各计算机截获报文综合分析,结果填入下表。

转发过程 源 MAC 地址 目的 MAC 地址 源 IP 地址 目的 IP 地址 VLAN ID
PCB -> S1 MAC_PCB MAC_PCD 192.168.2.12 192.168.2.13 不含 TAG 字段
S1 -> S2 MAC_PCB MAC_PCD 192.168.2.12 192.168.2.13 不含 TAG 字段
S2 -> PCD MAC_PCB MAC_PCD 192.168.2.12 192.168.2.13 不含 TAG 字段

VLAN TAG

与步骤八比较,截获的报文有何不同?请结合 VLAN 端口分类和 PVID 的作用,解释这种情况下,报文转发的过程。

与步骤八比较,截获报文的主要区别在于从 S1 向 S2 发送的报文上,后者报文不包含 PVID 和 TAG 字段。

这种情况下,S1 接收到自 PCB 的报文,按照 VLAN 分配追加 VLAN ID = 3 的 TAG,在经由 G 1/0/13 转发时,因为 VLAN 3 为 UNTAGGED,故去掉其 TAG 后再进行发送;S2 经 G 1/0/13 转发时,因报文不带 TAG,故应该按照端口 PVID 添加 VLAN ID = 3 的 TAG,S2 发现同属 VLAN 3 的 G 1/0/24(PCD),向其发送去掉的 TAG 后的报文。

故所捕获的报文均不带 VLAN ID 与 TAG 字段。

网络层实验报告

VLAN 间通信综合实验

根据跨交换机VLAN间路由实验(PCC ping PCD)所截获报文,对整个网络层和数据链路层的报文转发过程进行分析。

约定如下:数据帧中的 MAC 地址对:(目的 MAC 地址,源MAC地址)

数据报中的 IP 地址对:(目的 IP 地址,源 IP 地址)

MAC_VLAN2 指的是 S1 交换机中 interface VLAN 2 所用的接口 MAC 地址,MAC_VLAN3 同理,display interface VLAN 2

加粗内容为实验报告填空内容

STEP 1

img

PCC 发送的第一个报文类型是什么?为什么?

ARP Request 报文。因为 PCC 发送的目标 IP 不位于自身所在的网段内,故现象默认网关发送报文,尝试进行间接交付。

包含该报文数据帧中的 VLAN id、MAC 和 IP 地址对是:

VLAN id= 不含 TAG 字段

MAC:(ff.ff.ff.ff.ff.ff ,MAC_PCC)

IP:(192.168.2.1,192.168.2.11)

STEP 2

img

S2 收到数据帧后,对其 MAC 地址表的操作是:

添加 PCC 所属 MAC 和 IP 的地址表表项。

S2 根据接收数据帧的端口所属 VLAN,在其中插 VLAN id = 2 的标签,并向除接收端口外的所有 VLAN2 端口转发这个数据帧。

STEP 3

img

S1 收到数据帧后,对其 MAC 地址表的操作是:

添加 MAC_PCC 对应的地址表表项

S1 将 ARP 报文交付给网络层,S1 对其 arp 表的操作是:

添加 PCC 的 ARP 表项

S1 发送的包含 ARP Reply 报文的数据帧中:

MAC:(MAC_PCC, MAC_ VLAN 2)

IP:(192.168.2.11,192.168.2.1)

VLAN id = 2

STEP 4

img

S2收到数据帧后,对其MAC地址表的操作是:

添加交换机 S1_MAC_VLAN2 的 MAC 地址表项

S2收到的数据帧后,根据VLAN标签和 MAC 地址 表,决定向端口 G 1/0/1 转发该数据帧;

S2根据端口 G 1/0/1ACCESS 类型端口,去掉 VLAN 标签,从端口 G 1/0/1 转发该帧。

STEP 5

img

PCC收到ARP Reply报文,更新其ARP缓存,显示ARP缓存的命令:arp -a

显示的内容:

IP 地址 MAC 地址
192.168.2.1 54: 2b: de: 28: ac: 21
192.168.2.255 ff: ff: ff: ff: ff: ff

PCC 发送的包含 ICMP Echo Request 报文的数据帧中:

VLAN id = 无 TAG 字段

MAC:(MAC_VLAN2,MAC_PCC)

IP:(192.168.3.11,192.168.2.11)

STEP 6

img

S2 收到数据帧,根据其接收端口,添加 VLAN2 标签;根据目的 MAC,查找 MAC 地址表;将数据帧由 G 1/0/13 端口转发给 S1。

S2转发的数据帧中:VLAN id = 2

MAC:(MAC_VLAN2,MAC_PCC)

IP:(192.168.2.11,192.168.3.11)

STEP 7

img

S1 收到 S2 转发的数据帧,交付网络层,根据目的 IP 地址,查路由表,将报文路由到 int vlan 3,准备通过数据链路层交付给 PCD;

但没有查到PCD的MAC地址,就要发送包含ARP Request报文的数据帧;

VLAN id = 3

MAC:(Broadcast,MAC_VLAN3)

IP:(192.168.3.11,192.168.3.1)

STEP 8

img

S2 收到 S1 转发的数据帧,根据其 VLAN id = 3,向除接收端口外的所有属于 VLAN 3 的端口转发该数据帧;

S2 根据端口 G 1/0/24ACCESS 类型端口,去掉 VLAN 标签,从端口 G 1/0/24 转发该帧。

STEP 9

img

PCD 收到 S2 转发的数据帧,更新其 ARP 缓存,其 ARP 缓存的内容是:

IP 地址 MAC 地址
192.168.3.1 54: 2b: de: 28: ac: 22
192.168.3.255 ff: ff: ff: ff: ff: ff

PCD 发送包含 ARP reply 报文的数据帧中;

VLAN id = 无 TAG 字段

MAC:(MAC_VLAN3,MAC_PCD)

IP:(192.168.3.1,192.168.3.11)

STEP 10

img

S2 收到数据帧,根据其接收端口,添加 VLAN 3 的标签;根据目的 MAC,查找 MAC 地址表;将数据帧由 G 1/0/13 端口转发给 S1。

S2 转发的数据帧中:

VLAN id = 3

MAC:(MAC_VLAN3,MAC_PCD)

IP:(192.168.3.1,192.168.3.11)

STEP 11

img

S1 收到数据帧,提交到网络层,更新其 ARP 表;

S1 对包含 ICMP Echo Request 报文的数据帧的 VLAN 标签进行替换,由 VLAN id = 2 变为VLAN id = 3。封装的数据帧中:

VLAN id = 3

MAC:(MAC_PCD,MAC_VLAN3)

IP:(192.168.3.11,192.168.2.11)

查找 MAC 地址表,由 G 1/0/13 端口发送

STEP 12

img

S2 收到 S1 转发的数据帧,根据其 VLAN id 和目的 MAC 地址,向 G 1/0/24 端口转发该数据帧;

同时,S2 根据端口 G 1/0/24ACCESS 类型端口,去掉 VLAN 标签,从端口 G 1/0/24 转发该帧。

STEP 13

img

PCD 收到包含 ICMP Echo Request 报文的数据帧,发送包含 ICMP Echo Reply 报文的数据帧:

VLAN id = 无 TAG 字段

MAC:(MAC_VLAN3,MAC_PCD)

IP:(192.168.2.11,192.168.3.11)

STEP 14

img

S2 收到数据帧,根据其接收端口,添加 VLAN 3 的标签;根据目的 MAC,查找 MAC 地址表;将数据帧由 G 1/0/13 端口转发给 S1。

S2 转发的数据帧中:

VLAN id = 3

MAC:(MAC_VLAN3,MAC_PCD)

IP:(192.168.2.11,192.168.3.11)

STEP 15

img

S1 收到 S2 转发的数据帧,交付网络层,根据目的IP地址,查路由表,将报文路由到 int vlan2,准备通过数据链路层交付给 PCC;

查找 PCC 的 MAC 地址,替换 VLAN 标签,封装并发送数据帧;

VLAN id = 2

MAC:(MAC_PCC,MAC_VLAN2)

IP:(192.168.2.11,192.168.3.11)

STEP 16

img

S2 收到 S1 转发的数据帧,根据其 VLAN id 和目的 MAC 地址,向 G 1/0/1 端口转发该数据帧;

同时,S2 根据端口 G 1/0/1ACCESS 类型端口,去掉 VLAN 标签,从端口 G 1/0/1 转发该帧。

这样,PCC 收到 S2 转发的包含 ICMP Echo Reply 报文的数据帧。第一轮 ICMP 询问和应答过程结束。

子网划分设计型实验

题目不再重述,组网细节可从对题目的初步分析中得出。下附实验组网细节,老师的红笔批注共两处,第一处仅作讲解时用,第二处意为缺少详细配置指令,已经补在下面形成了完成的步骤。

image-20240409163055736 image-20240409163216523