第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 ---- ----- ---------- ----- ------ ------ -------- ---- --------