第5章局域网

实验1:以太网MAC 
帧格式分析

DIXV2 以太网帧仿真实现过程如下。
1)仿真环境拓扑设计及地址规划
在PacketTracer中构建图5.可以实现以太网帧。在该网络

1所示的网络拓扑结构图, 
拓扑结构中,主机PC1 和路由器R1 的f0/0接口之间传输以太网帧,路由器R1 的s0/0/0 
接口和路由器R2 的s0/0/0接口之间传输PPP 帧,路由器R2 的接口f0/0和主机PC2 之间
传输以太网帧。路由器实现了异构网络的互联。


图5.

1 DIXV2 以太网帧以及PPP 帧仿真拓扑结构图
该网络拓扑结构的地址规划如表5.

1所示。

表5.网络地址规划

1 

设备名称IP 
地址
R1 f0/0:192.168.1.1/24 s0/0/0:192.168.2.1/24 
R2 f0/0:192.168.3.1/24 s0/0/0:192.168.2.2/24 
PC1 IP:192.168.1.10/24 默认网关192.168.1.1 
PC2 IP:192.168.3.10/24 默认网关192.168.3.1 

2)配置网络,实现网络互联互通
该网络拓扑由3个网段组成,主机PC1 和路由器R1 之间传输以太网帧,网络地址为

168.0;路由器R1 与R2 之间数据链路层使用串口相连,封装PPP,传输PPP 帧,网络
地址为192.路由器R2 和主机PC2 之间传输以太网帧,网络地址为192.0。
192.1.
168.0; 3.

2.168.
利用路由器实现异构网络的互联,若要网络互联互通,需要配置接口的IP 地址,将路由器的
串口封装PPP,最后在路由器上执行动态路由协议。具体配置如下。
首先配置路由器R1,代码如下。


第5 章 局域网
109 
R1>enable 
R1#configure terminal 
R1(config)#interface serial 0/0/0 //进入路由器R1 的s0/0/0 口
R1(config-if)#ip address 192.168.2.1 255.255.255.0 //为接口配置IP 地址
R1(config-if)#clock rate 64000 //为接口配置时钟频率
R1(config-if)#encapsulation ppp / /配置接口封装PPP 协议
R1(config-if)#no shu //激活接口
R1(config-if)#exit //退出
R1(config)#interface fastEthernet 0/0 //进入路由器f0/0 接口
R1(config-if)#ip address 192.168.1.1 255.255.255.0 //为接口配置IP 地址
R1(config-if)#no shu //激活接口
R1(config-if)#exit //退出
R1(config)#route rip //路由器执行RIP 路由协议
R1(config-router)#network 192.168.1.0 //宣告网段
R1(config-router)#network 192.168.2.0 //宣告网段
按照同样的步骤对路由器R2做相应的配置。配置路由器R2的接口IP地址,开启路
由器动态路由协议RIP,将路由器s0/0/0接口封装成PPP,主要配置如下。 
R1>enable 
R1#configure terminal 
R2(config)#route rip //路由器执行路由协议RIP 
R2(config-router)#network 192.168.2.0 //宣告网段
R2(config-router)#network 192.168.3.0 //宣告网段
R2(config-router)#exit //退出
R2(config)#interface serial 0/0/0 //进入路由器接口s0/0/0 
R2(config-if)#encapsulation ppp / /配置接口封装PPP 协议
最后按照表5.1配置主机的相关网络参数。配置完毕后,整个网络就互联互通了。
3)仿真实现以太网帧
首先仿真实现以太网帧,为了抓取数据包,需要有数据的传输,将PacketTracer仿真模
式从RealtimeMode切换成SimulationMode,从主机PC1发一个ping包给主机PC2,连续
单击PlayControls下的Capture/Forward按钮,得到图5.2所示的仿真结果。PC1和路由
器R1之间传输的协议数据单元(protocoldataunite,PDU)为以太网帧,通过展开PC1到
R1的PDUInformationatDeviceR1,在InboundPDUDetails中得到DIXV2以太网帧结
构仿真图,如图5.2所示。其中源地址为主机PC1的MAC地址,目的地址为路由器R1左
边接口f0/0的MAC地址。类型字段值为0x0800,说明上层使用IP数据报。帧的前面插
入7B的前同步码以及1B的帧开始定界符。

计算机网络技术原理实验教程


图5.

2 DIXV2 以太网帧结构仿真图

实验2:交换机自学习功能

1)在PacketTracer仿真软件中设置网络拓扑结构
交换机自学习原理拓扑图如图5.3所示,一台交换机连接3台计算机,每台计算机连接
交换机的接口编号以及每台计算机的IP 地址与MAC 地址的对应关系如图5.

3所示。


图5.

3 交换机自学习原理拓扑图

2)查看初始状态下的MAC 地址表

初始状态下交换机的MAC 地址表为空,如图5.3)利用计算机PC0ping测试计算机PC1 
4所示。

为了使交换机转发数据,改变交换机的MAC 地址表,利用计算机PC0ping测试计算


第5 章 局域网
111 
图5.4 初始状态下交换机的MAC 地址表为空
机PC1,测试过程如图5.5所示。
图5.5 让计算机PC0ping测试计算机PC1 
4)再次查看交换机的MAC地址表
利用计算机PC0ping 测试计算机PC1后,再次查看交换机的MAC 地址表,结果如
图5.6所示。此时计算机的MAC 地址表发生了改变,添加了两条记录,分别对应计算机
PC0和计算机PC1对应的交换机的端口。这里要清楚ping命令的执行过程,PC0发数据
包给PC1,同时PC1返回数据包给PC0,因此交换机的MAC地址表中添加了这两条记录。
5)让计算机PC0ping测试计算机PC2 
再让计算机PC0ping测试计算机PC2,如图5.7所示。
6)再次查看交换机的MAC地址表
再次查看交换机的MAC地址表,如图5.8所示。可见,交换机的MAC地址表中添加
了计算机PC3对应的端口,而交换机PC0对应的端口类型已经存在,保留不变。

计算机网络技术原理实验教程


图5.

6 交换机自动学习主机PC0 和主机PC1 的MAC 地址与端口的对应关系


图5.ing测试计算机PC2 

7 让计算机PC0p


图5.

8 交换机自动学习计算机PC3 的MAC 地址与交换机端口的对应关系

112 


第5 章 局域网
113 
7)通过命令clearmac-address-table清除交换机中的MAC地址表
通过命令clearmac-address-table清除交换机中的MAC地址表,如图5.9所示。
图5.9 通过命令clearmac-address-table清除交换机中的MAC地址表
实验3:生成树协议分析
在PacketTracer仿真软件中仿真实现交换机生成树协议(spanningtreeprotocol, 
STP)。
STP维护一个树状的网络拓扑,当交换机发现拓扑中有环时,就会逻辑地阻塞一个或
更多冗余端口来实现无环拓扑,当网络拓扑发生变化时,运行STP的交换机会自动重新配
置它的端口,以避免环路产生或连接丢失。
1.选择RB 
在网络中需要选择一台RB,RB的选择是由交换机自主进行的,交换机之间通信的信
息称为BPDU(桥协议数据单元),该信息每2s发送一次,BPDU 中包含的信息较多,但RB 
的选择只比较BID(桥ID),BID最小的是RB。BID=桥优先级+桥MAC地址,BPDU 数据
帧中网桥ID有8B,它由2B的网桥优先级和6B的背板MAC组成,其中网桥优先级的取值
范围是0~65535,缺省值是32768。RB的选择是先比较桥优先级,再比较桥MAC地址。
一般来说,桥优先级都一样,都是32768,所以一般只比较桥MAC地址,将MAC地址最小
(也就是BID最小)的作为RB。
2.选择根端口RP 
对于每台非根桥,都要选择一个端口连接到RB,这就是RP,在所有非根网桥交换机上
的不同端口之间选出一个到RB最近的端口作为RP。
RP的判定条件如下:计算非根交换机到达根桥的链路开销,开销最小的端口为RP;在
开销相同的情况下,比较非根交换机的上行交换机桥ID(由优先级和MAC地址决定),桥
ID小的非根交换机的端口为RP;在以上都相同的情况下,上行交换机的最小端口号连接的
非根交换机的端口为根端口。
关于开销,带宽为10Mb/s的端口开销为100,带宽为100Mb/s的端口开销为19,带宽
为1000Mb/s的端口开销为4。
3.选择DP 
首先,根桥上的所有端口都是指定端口;其次,非根交换机与非根交换机之间连接线的
两个端口中必定有一个端口为指定端口,此时比较两个非根交换机的根端口到达根桥的最
低链路开销,以最低开销的非根交换机为准,其所在的连接线的端口为指定端口。如果链路

计算机网络技术原理实验教程
114 
开销一样,比较各自的桥ID即可。桥ID小的交换机的端口为指定端口。
4.RP、DP设置为转发状态,其他端口设置为阻塞状态
将选出的RP和DP都设置为转发状态,既不是RP也不是DP的其他端口将被阻止
(block)。通过上述4步,就可以形成无环路的网络。
如图5.10所示,首先选择RB。3台交换机的优先级以及MAC地址如下。 
Switch0: default 优先级32768 VLAN1 MAC 地址: 0060.3e05.4ceb 
Switch1: default 优先级32768 VLAN1 MAC 地址: 0060.2f9d.dae1 
Switch2: default 优先级32768 VLAN1 MAC 地址: 0060.3e3d.4caa 
很明显,在优先级相等的情况下,MAC地址Switch1最小,所以Switch1为RB。
其次选择RP。
对于每台非根桥,Switch0和Switch1要选择一个端口连接到根桥,作为RP。选择依
据是首先比较开销,其次比较上行交换机的BID,最后比较上行交换机的PID(端口ID)。
交换机Switch0有两个端口G1/1和G1/2连接到根桥交换机Switch1,如图5.10所
示,从端口G1/1到根桥交换机Switch1的开销为4,从端口G1/2到根桥交换机Switch1的
开销为4+4=8,所以将交换机Switch0的端口G1/1设置为RP。
图5.10 生成树协议工作原理拓扑图
交换机Switch2有两个端口G1/1和G1/2连接到根桥交换机Switch1,从端口G1/2到
根桥交换机Switch1的开销为4,从端口G1/1到根桥交换机Switch1的开销为4+4=8,所
以将交换机Switch2的端口G1/2设置为RP。
接下来选择DP。
在交换机与交换机之间选择一个端口作为DP,根桥交换机Switch1没有RP,它的两个
端口G1/1和G1/2分别连接交换机Switch0的根端口G1/1,以及交换机Switch2的根端口
G1/2。所以,根桥交换机的两个端口G1/1和G1/2为DP。
在交换机Switch0端口G1/2和交换机Switch2端口G1/1之间选择一个指定端口,由
于Switch0端口G1/2到根桥的开销和Switch2端口G1/1到根桥的开销相同,所以比较这
两个交换机的BID。由于交换机Switch0和Switch2的优先级相同,均为32768,所以接下
来比较这两个交换机的MAC大小。Switch0VLAN1MAC地址:0060.3e05.4ceb;Switch2 
VLAN1MAC地址:0060.3e3d.4caa,显然Switch0的MAC小,所以在交换机Switch0端口

第5 章 局域网
115 
G1/2和交换机Switch2端口G1/1之间选择Switch0的端口G1/2作为指定端口。
最后将RP、DP设置为转发状态,其他端口设置为阻塞状态。也就是说,将Switch2的
G1/1设置为阻塞状态,如图5.10所示。
如图5.11所示,两台交换机两条冗余链路下的STP工作情况分析:首先选择根桥交换
机RB。两台交换机的优先级及VLAN1的MAC地址如下。 
Switch0: default 优先级32768 VLAN1 MAC 地址: 00e0.b0b9.4e9e 
Switch1: default 优先级32768 VLAN1 MAC 地址: 000c.8566.6888 
很明显,在优先级相等的情况下,Switch1的MAC地址小,所以Switch1为RB。
图5.11 两台交换机多条冗余链路下的STP协议
其次选择RP。
对于非根桥Switch0,两条链路分别选择RP连接RB,选择依据是首先比较开销,其次
比较上行交换机的BID,最后比较上行交换机的PID(端口ID)。
由于交换机Switch0有两个端口G1/1和端口G1/2能够连接到根桥交换机Switch1, 
从端口G1/1到根桥交换机Switch1的开销为4。从端口G1/2到根桥交换机Switch1的开
销为4。在开销相同的情况下,比较上行交换机的BID,由于这两个端口的上行交换机为同
一台交换机,因此BID相同,最后比较上行交换机的PID,将端口号小的交换机对应的交换
机端口设置为RP,所以将交换机Switch0的端口G1/1设置为RP。
接着选择DP。
交换机与交换机之间每条链路选择一个端口作为DP,根桥交换机Switch1两个端口
G1/1和G1/2分别连接交换机Switch0根端口G1/1,以及交换机Switch0端口G1/2,所以
根桥交换机端口G1/1为DP。
在交换机Switch0端口G1/2和交换机Switch1端口G1/2之间选择一个DP,Switch0 
端口G1/2到根桥的开销大于Switch1端口G1/2到根桥的开销,所以交换机Switch1端口
G1/2为DP。
最后将RP、DP设置为转发状态,其他端口设置为阻塞状态。也就是说,将Switch0的
G1/2设置为阻塞状态,具体如图5.11所示。
实验4:交换机VLAN 划分
如图5.12所示,没有划分VLAN 之前,整个交换机处于一个广播域里,通过端口划分
VLAN 的方法,将这4台计算机划分为3个广播域,PC1和PC2为一个广播域,PC3为一个
广播域,PC4为一个广播域,VLAN 的划分如图5.13所示。根据这4台计算机连接的交换
机的端口情况,通过交换机端口划分VLAN,则具体划分如下。

计算机网络技术原理实验教程
116 
图5.12 初始阶段交换机所有端口处于同一广播域
将端口f0/1和f0/2划分为同一个VLAN,其VLAN 号为10,将端口f0/10划分为一
个VLAN,其VLAN 号为20,将f0/20划分为一个VLAN,其VLAN 号为30。
图5.13 通过划分VLAN分割广播域
通过showvlan命令查看交换机初始VLAN 情况,结果如下。 
Switch#show vlan 
VLAN Name Status Ports 
---- -------------------------------- --------- ---------------- 
1 default active f0/1, f0/2, f0/3, f0/4 
f0/5, f0/6, f0/7, f0/8 
f0/9, f0/10, f0/11, f0/12 
f0/13, f0/14, f0/15, f0/16 
f0/17, f0/18, f0/19, f0/20 
f0/21, f0/22, f0/23, f0/24 
Gig1/1, Gig1/2 
1002 fddi-default act/unsup 
1003 token-ring-default act/unsup 
1004 fddinet-default act/unsup

第5 章 局域网
117 
1005 trnet-default act/unsup 
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 
---- ----- ---------- ----- ------ ------ -------- ---- -------- --- 
1 enet 100001 1500 - - - - - 0 0 
1002 fddi 101002 1500 - - - - - 0 0 
1003 tr 101003 1500 - - - - - 0 0 
1004 fdnet 101004 1500 - - - ieee - 0 0 
1005 trnet 101005 1500 - - - ibm - 0 0 
Remote SPAN VLANs 
-------------------------------------------------------------- 
Primary Secondary Type Ports 
------- --------- ----------------- ---------------------------- 
显示结果表明:交换机在初始状态下,所有的端口都属于VLAN1。将交换机中的端口
按照图5.12所示进行VLAN 划分的步骤如下:首先在交换机中创建3个新的VLAN, 
VLAN 号分别为10、20以及30。命令配置如下。 
Switch#config terminal 
Enter configuration commands, one per line. End with CNTL/Z. 
Switch(config)#vlan 10 //创建VLAN 10 
Switch(config-vlan)#exit 
Switch(config)#vlan 20 //创建VLAN 20 
Switch(config-vlan)#exit 
Switch(config)#vlan 30 //创建VLAN 30 
Switch(config-vlan)# 
通过showvlan命令可以看到刚刚创建的3个VLAN,此时新创建的VLAN 下都没有
对应的端口,所有端口仍然属于VLAN1。显示结果如下。 
Switch#show vlan 
VLAN Name Status Ports 
---- -------------------------------- --------- --------------- 
1 default active f0/1, f0/2, f0/3, f0/4 
f0/5, f0/6, f0/7, f0/8 
f0/9, f0/10, f0/11, f0/12 
f0/13, f0/14, f0/15, f0/16 
f0/17, f0/18, f0/19, f0/20 
f0/21, f0/22, f0/23, f0/24 
Gig1/1, Gig1/2 
10 VLAN0010 ac tive 
20 VLAN0020 ac tive 
30 VLAN0030 ac tive 
1002 fddi-default a ct /unsup 
1003 token-ring-default ac t/ unsup 
1004 fddinet-default a ct / unsup 
1005 trnet-default a c t/ unsup 
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 
---- ----- ---------- ----- ------ ------ -------- ---- --------