发布时间:2025-12-09 19:38:03 浏览次数:4
本部分实验需使用 Cisco Packet Tracer完成。Cisco Packet Tracer(CPT)是网络模拟软件,下载地址:Cisco PacketTracer或备用站点下载。
CPT 建议免费注册,否则将以 Guest 身份下载和使用。
在进行实验前,需先了解 VLSM、CIDR、RIP、OSPF、VLAN、STP、NAT 及 DHCP 等概念,以能够进行网络规划和配置。
Cisco Packet Tracer是Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。可以学习IOS的配置、锻炼故障排查能力。
将两台 PC 直接连接构成一个网络。注意:直接连接需使用交叉线。
进行两台 PC 的基本网络配置,只需要配置 IP 地址即可。单击PC机,在Desktop下选择IP选项。
配置IP,IP配置好后按回车键会自动获取子网掩码
方法(1):配置完成,此时两台主机间传输一个PDU来测试主机间是否可以正常通信。选择上方菜单栏的Add simple PDU,如下
点击右下角的simulation,之后选择一条传输,点击开始的播放图标,就可以观察到的PDU传输过程。来测试主机间是否可以正常通信。
方法(2):也可以点击发送端PC机,去ping接受端PC机,看两台PC机之间是否能够相互 ping 通,如果能够相互 ping 通即成功。
输入ping命令,可以看到能够ping通,即LAN构建成功。
构建如下拓扑结构的局域网:
各PC的基本网络配置如下表:
构建上图拓扑结构的局域网
为各PC的配置网络
✎ 问题:
1、PC0 能否 ping 通 PC1、PC2、PC3 ?
PC0能ping通PC1,不能ping通PC2和PC3
2、PC3 能否 ping 通 PC0、PC1、PC2 ?为什么?
3、将 4 台 PC 的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
交换机的 STP 协议即生成树协议始终自动保证交换机之间不会出现回路,从而形成广播风暴。
📬 秘籍:
使用 CPT 的 Simulation 即模拟方式可非常清楚看到这个过程!
我们模拟重庆交通大学和重庆大学两个学校的连接,构建如下拓扑:
说明一
交通大学与重庆大学显然是两个不同的子网。在不同子网间通信需通过路由器。
路由器的每个接口下至少是一个子网,图中我们简单的规划了 3 个子网:
左边路由器是交通大学的,其下使用交换机连接交通大学的网络,分配网络号 192.168.1.0/24,该路由器接口也是交通大学网络的网关,分配 IP 为 192.168.1.1
右边路由器是重庆大学的,其下使用交换机连接重庆大学的网络,分配网络号 192.168.3.0/24,该路由器接口也是重庆大学网络的网关,分配 IP 为 192.168.3.1
两个路由器之间使用广域网接口相连,也是一个子网,分配网络号 192.168.2.0/24
说明二
现实中,交通大学和重庆大学的连接是远程的。该连接要么通过路由器的光纤接口,要么通过广域网接口即所谓的 serial 口(如拓扑图所示)进行,一般不会通过双绞线连接。
下面我们以通过路由器的广域网口连接为例来进行相关配置。请注意:我们选用的路由器默认没有广域网模块(名称为 WIC-1T 等),需要关闭路由器后添加,然后再开机启动。
说明三
在模拟的广域网连接中需注意 DCE 和 DTE 端(连线时线路上有提示,带一个时钟标志的是 DCE 端。有关 DCE 和 DTE 的概念请查阅相关资料。),在 DCE 端需配置时钟频率 64000
说明四
路由器有多种命令行配置模式,每种模式对应不同的提示符及相应的权限。
请留意在正确的模式下输入配置相关的命令。
说明五
在现实中,对新的路由器,显然不能远程进行配置,我们必须在现场通过笔记本的串口与路由器的 console 接口连接并进行初次的配置(注意设置比特率为9600)后,才能通过网络远程进行配置。这也是上图左上画出笔记本连接的用意。
说明六
在路由器的 CLI (命令行)界面中,可看到路由器刚启动成功后,因为无任何配置,将会提示是否进行对话配置(Would you like to enter the initial configuration dialog?),因其步骤繁多,请选择 NO
🗣 注意:
在我们的实验中可不进行如下的配置,但在现实中为了安全,以下的登录及特权密码等配置是必须的,否则每个人都可操作你的路由器或交换机!
拓扑图中路由器各接口配置数据如下:
拓扑图中各 PC 配置数据如下:
交通大学路由器基本配置如下:*
重庆大学路由器基本配置如下:
至此,路由器基本的配置完成。
配置完后发现可以ping通该学校下的其他主机,可以ping通网关,但ping不通另一个学校的主机
下图为PC0向同一学校PC1、不同学校PC2和PC3之间的通信情况:
由此可见,大学内部各PC可以互相ping通,也可以ping通网关,但是大学之间不行。
静态路由是非自适应性路由协议,是由网络管理人员手动配置的,不能够根据网络拓扑的变化而改变。 因此,静态路由简单高效,适用于结构非常简单的网络。
在当前这个简单的拓扑结构中我们可以使用静态路由,即直接告诉路由器到某网络该怎么走即可。
在前述路由器基本配置成功的情况下使用以下命令进行静态路由协议的配置:
交通大学路由器静态路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 // 告诉交通大学路由器到 192.168.3.0 这个网络的下一跳是 192.168.2.2Router(config)#exit //退到特权模式Router#show ip route //查看路由表重庆大学路由器静态路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1 // 告诉重庆大学路由器到 192.168.1.0 这个网络的下一跳是 192.168.2.1Router(config)#exit //退到特权模式Router#show ip route //查看路由表查看路由表你可看到标记为 S 的一条路由,S 表示 Static 。至此,这些 PC 能全部相互 ping 通!
🗣 注意:
我们的拓扑只模拟了 3 个网络。在现实中,路由器连接的网络数量非常多,我们还需要配置一条缺省路由,否则其它网络皆不能到达!当然,我们的拓扑可以不考虑。
Router(config)#ip route 0.0.0.0 0.0.0.0 *.*.*.* // 缺省全部转发给 ..*.*这个IP
动态路由协议采用自适应路由算法,能够根据网络拓扑的变化而重新计算机**路由。
RIP 的全称是 Routing Information Protocol,是距离矢量路由的代表(目前虽然淘汰,但可作为我们学习的对象)。使用 RIP 协议只需要告诉路由器直接相连有哪些网络即可,然后 RIP 根据算法自动构建出路由表。
因为我们模拟的网络非常简单,因此不能同时使用静态和动态路由,否则看不出效果,所以我们需要把刚才配置的静态路由先清除掉。
清除静态路由配置:
直接关闭路由器电源。相当于没有保存任何配置,然后各接口再按照前面基本配置所述重新配置 IP 等参数(推荐此方法,可以再熟悉一下接口的配置命令);
使用 no 命令清除静态路由。在全局配置模式下,交通大学路由器使用:no ip route 192.168.3.0 255.255.255.0 192.168.2.2,重庆大学路由器使用:no ip route 192.168.1.0 255.255.255.0 192.168.2.1 。相当于使用 no 命令把刚才配置的静态路由命令给取消。
交通大学路由器 RIP 路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#router rip // 启用 RIP 路由协议,注意是 router 命令Router(config-router)#network 192.168.1.0 // 网络 192.168.1.0 与我直连Router(config-router)#network 192.168.2.0 // 网络 192.168.2.0 与我直连Router(config-router)#^z //直接退到特权模式Router#show ip route //查看路由表重庆大学路由器 RIP 路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#router rip // 启用RIP路由协议,注意是 router 命令Router(config-router)#network 192.168.3.0 // 网络 192.168.3.0 与我直连Router(config-router)#network 192.168.2.0 // 网络 192.168.2.0 与我直连Router(config-router)#^z //直接退到特权模式Router#show ip route //查看路由表查看路由表你可看到标记为 R 的一条路由,R 表示 RIP 。
至此,这些 PC 也能全部相互 ping 通!
📬 秘籍:
可以在特权模式下使用 debug ip rip 开启 RIP 诊断,此时会看到路由器之间不停发送的距离矢量信息,以判断网络状态是否发生改变从而更新路由表。该命令会不停的显示相关信息,打扰我们的输入,可使用no debug ip rip 关闭 RIP 诊断。
OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称 IGP), 用于在单一自治系统(Autonomous System,AS)内决策路由。OSPF 性能优于RIP,是当前域内路由广泛使用的路由协议。
同样的,我们需要把刚才配置的 RIP 路由先清除掉。
清除 RIP 路由配置:
交通大学路由器 OSPF 路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#router ospf 1 // 启用 OSPF 路由协议,进程号为1(可暂不理会进程号概念)Router(config-router)#network 192.168.1.0 0.0.0.255 area 0 // 自治域0中的属于 192.168.1.0/24 网络的所有主机(反向掩码)参与 OSPFRouter(config-router)#network 192.168.2.0 0.0.0.255 area 0 // 自治域0中的属于 192.168.2.0/24 网络的所有主机(反向掩码)参与 OSPFRouter(config-router)#^z //直接退到特权模式Router#show ip route //查看路由表重庆大学路由器 OSPF 路由配置:
Router>en // 从普通模式进入特权模式Router#conf t // 进入全局配置模式Router(config)#router ospf 1 // 启用 OSPF 路由协议,进程号为1Router(config-router)#network 192.168.3.0 0.0.0.255 area 0 // 自治域0中的属于 192.168.3.0/24 网络的所有主机(反向掩码)参与 OSPFRouter(config-router)#network 192.168.2.0 0.0.0.255 area 0 // 自治域0中的属于 192.168.2.0/24 网络的所有主机(反向掩码)参与 OSPFRouter(config-router)#^z //直接退到特权模式Router#show ip route //查看路由表查看路由表你可看到标记为 O 的一条路由,O 表示 OSPF 。
至此,这些 PC 能全部相互 ping 通!
📬 秘籍:
可以在特权模式下使用 debug ip ospf events 开启 OSPF 诊断(no debug ip ospf events关闭诊断), 可看到路由器之间发送的 Hello 信息用以诊断当前的链路是否发生改变以便进行路由调整(事件触发而非定时更新!)。
🗣 反向掩码:
请参见:
1、通配符掩码、正掩码及反掩码之间的重大误区
2、 掩码/反掩码/通配符
3、路由ospf协议为什么要用反掩码
在 CPT 中构建如下图所示拓扑:
Cisco 2960 交换机是支持 VLAN 的交换机,共有 24 个 100M 和 2 个 1000M 以太网口。默认所有的接口都在VLAN 1 中,故此时连接上来的计算机都处于同一 VLAN,可以进行通信。
下面我们就该交换机的 24 个 100M 接口分为 3 个部分,划分到 3 个不同的 VLAN 中,id 号分别设为 10、20、30,且设置别名(computer、communication、electronic)以利于区分和管理。
交换机 VLAN 配置:
Switch>enSwitch#conf tSwitch(config)#vlan 10 // 创建 id 为 10 的 VLAN(缺省的,交换机所有接口都属于VLAN 1,不能使用)Switch(config-vlan)#name computer // 设置 VLAN 的别名Switch(config-vlan)#exitSwitch(config)#int vlan 10 // 该 VLAN 为一个子网,设置其 IP,作为该子网网关Switch(config-if)#ip address 192.168.0.1 255.255.255.0Switch(config-if)#exitSwitch(config)#vlan 20 // 创建 id 为 20 的 VLANSwitch(config-vlan)#name communication //设置别名Switch(config-vlan)#exitSwitch(config)#int vlan 20Switch(config-if)#ip addr 192.168.1.1 255.255.255.0Switch(config-if)#exitSwitch(config)#vlan 30 // 创建 id 为 20 的 VLANSwitch(config-vlan)#name electronic // 设置别名Switch(config-vlan)#exitSwitch(config)#int vlan 30Switch(config-if)#ip add 192.168.2.1 255.255.255.0Switch(config-if)#exitSwitch(config)#int range f0/1-8 // 成组配置接口(1-8)Switch(config-if-range)#switchport mode access // 设置为存取模式Switch(config-if-range)#switchport access vlan 10 // 划归到 VLAN 10 中Switch(config-if-range)#exitSwitch(config)#int range f0/9-16Switch(config-if-range)#switchport mode accessSwitch(config-if-range)#switchport access vlan 20Switch(config-if-range)#exitSwitch(config)#int range f0/17-24Switch(config-if-range)#switchport mode accessSwitch(config-if-range)#switchport access vlan 30Switch(config-if-range)#^ZSwitch#show vlan // 查看 VLAN 的划分情况至此,在该交换机上我们就划分了 3 个 VLAN(不包括缺省的 VLAN 1)。
各 VLAN 下 PC 的网络配置及连接的交换机接口如下表:
此时可以使用 ping 命令进行测试,你会发现只有在同一 VLAN 中的 PC 才能通信,且广播也局限于该 VLAN。
✎ 思考:
分析一下当前为何不同 VLAN 中的 PC 不能通信?网关在此起什么作用?我们的网关又在何处?如何发起广播测试?
原因:
为演示 VTP,重新构建如下拓扑结构:
🗣 注意:
现在我们的要求是:新建两个 VLAN,然后让 PC0 和 PC1 属于 VLAN 2,PC1 和 PC3 属于 VLAN 3。
我们将在核心交换机 3560上进行如下工作:
1、设置为 server 模式,VTP 域为 cqjtu
2、新建 VLAN 2,网络号 192.168.1.0/24,网关 192.168.1.1
3、新建 VLAN 3,网络号 192.168.2.0/24,网关 192.168.2.1
3560 VTP Server 配置:
Switch>enSwitch#conf tSwitch(config)#hostname 3560 // 更改交换机名称(可选)3560(config)#vtp domain cqjtu // 设置 VTP 域名称为 cqjtu3560(config)#vtp mode server // 设置其为 VTP 服务器模式3560(config)#vlan 2 // 新建VLAN 23560(config-vlan)#name computer // 设置 VLAN 2 的别名(可选)3560(config-vlan)#exit3560(config)#vlan 3 // 再建 VLAN 33560(config-vlan)#name communication //设置 VLAN 2 的别名(可选)3560(config-vlan)#exit3560(config)#int vlan 2 // 配置接口 VLAN 2,它将是该子网(左边)的网关3560(config-if)#ip address 192.168.1.1 255.255.255.03560(config-if)#exit3560(config)#int vlan 3 // 配置接口 VLAN 3,它将是该子网(右边)的网关3560(config-if)#ip address 192.168.2.1 255.255.255.0我们将在左边交换机 2960A 上进行如下工作:
1、加入名为 cqjtu 的 VTP 域
2、配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
3、将接口 f0/1 划分到 VLAN 2 中
4、将接口 f0/2 划分到 VLAN 3 中
2960A(左边) VTP Client 配置:
Switch>enSwitch#conf tSwitch(config)#hostname 2960A // 更改交换机名称(可选)2960A(config)#vtp domain cqjtu // 加入名为 cqjtu 的 VTP 域2960A(config)#vtp mode client // 设置模式为 VTP 客户2960A(config)#int g0/1 // 配置与核心交换机 3560 连接的 g0/1 千兆接口2960A(config-if)#switchport mode trunk // 设置该接口为中继(trunk)模式2960A(config-if)#switchport trunk allowed vlan all // 允许为所有的 VLAN 中继2960A(config-if)#exit2960A(config)#int f0/1 // 配置接口 12960A(config-if)#switchport mode access // 设置该接口为正常访问模式2960A(config-if)#switchport access vlan 2 // 将接口划分到 VLAN 22960A(config-if)#exit2960A(config)#int f0/2 // 配置接口 22960A(config-if)#switchport mode access // 设置该接口为正常访问模式2960A(config-if)#switchport access vlan 3 // 将接口划分到 VLAN 3我们将在右边交换机 2960B 上进行同样的工作:
1、加入名为 cqjtu VTP 域
2、配置与核心交换机 3560 连接的千兆接口 g0/1 为 trunk 模式
3、将接口 f0/1 划分到 VLAN 2 中
4、将接口 f0/2 划分到 VLAN 3 中
2960B(右边) VTP Client 配置:
Switch>enSwitch#conf tSwitch(config)#hostname 2960B // 更改交换机名称(可选)2960B(config)#vtp domain cqjtu // 加入名为 cqjtu 的 VTP 域2960B(config)#vtp mode client // 设置模式为 VTP 客户2960B(config)#int g0/1 // 配置与核心交换机 3560 连接的 g0/1 千兆接口2960B(config-if)#switchport mode trunk // 设置该接口为中继(trunk)模式2960B(config-if)#switchport trunk allowed vlan all // 允许为所有的 VLAN 中继2960B(config-if)#exit2960B(config)#int f0/1 // 配置接口 12960B(config-if)#switchport mode access // 设置该接口为正常访问模式2960B(config-if)#switchport access vlan 2 // 将接口划分到 VLAN 22960B(config-if)#exit2960B(config)#int f0/2 // 配置接口 22960B(config-if)#switchport mode access // 设置该接口为正常访问模式2960B(config-if)#switchport access vlan 3 // 将接口划分到 VLAN 3至此,各交换机配置完毕。
📬 秘籍:
此时在 3 个交换机的特权模式下,都可使用show vtp status命令查看 VTP 状态,使用show vlan命令查看 VLAN 状态
各 PC 连接的交换机和接口以及网络配置如下:
至此,VTP 配置完成。
同 VLAN 可以 ping 通,而不同 VLAN 不行(即使在同一交换机下,如从 PC0 到 PC1),且能够方便的统一规划和管理。
✎ 试一试:
使用 PC0(192.168.1.2) ping PC1(192.168.2.2) 的结果如何?使用 PC0 ping PC2 的结果如何?想想为什么?
可以看到PC0与PC1不能ping通,而与PC2可以ping通,这是因为PC0和PC2在同一个VLAN下
VTP 只是给我们划分和管理 VLAN 提供了方便,由上面的测试得知,目前我们仍然不能在 VLAN 间通信。因为默认的,VLAN 间是不允许进行通信,此时我们需要所谓的独臂路由器在 VLAN 间为其进行转发!
我们使用的核心交换机 3560 是个 3 层交换机,可工作在网络层,也称路由交换机,即具有路由功能,能进行这种转发操作。
3560 交换机配置:
3560>en3560#conf t3560(config)#int g0/1 // 配置连接左边 2960A 交换机的接口3560(config-if)#switchport trunk encapsulation dot1q // 封装 VLAN 协议3560(config-if)#switchport mode trunk // 设置为中继模式3560(config-if)#switchport trunk allowed vlan all // 在所有 VLAN 间转发3560(config-if)#exit3560(config)#int g0/2 // 配置连接右边 2960B 交换机的接口3560(config-if)#switchport trunk encapsulation dot1q //封装 VLAN 协议3560(config-if)#switchport mode trunk // 设置为中继模式3560(config-if)#switchport trunk allowed vlan all // 在所有 VLAN 间转发3560(config-if)#exit3560(config)#ip routing // 启用路由转发功能至此,各 VLAN 中的 PC 可以正常通信,PC0和每一台计算机都能ping通。
🗣 独臂路由的缺陷:
当使用 CPT 的模拟方式进行上面的测试时( PC0 ping PC1),你会非常清楚的看到 ICMP 包全部都由 3560交换机在转发,非常容易形成瓶颈。
动态主机配置 DHCP、域名解析 DNS 以及 Web 服务在日常应用中作用巨大,我们构建如下简单的拓扑来进行练习。
该拓扑中,服务器及客户机都连在同一交换机上。为简单起见,服务器 Server-PT 同时作为 DHCP、DNS 以及 Web服务器,各客户机无需配置,将自动获取网络配置。
点击 CPT 拓扑图中的 Server 图标,设置其静态 IP 地址为 19.89.6.4/24
然后选择 Service 进行如下相关配置:
HTTP开
DHCP设置如下
DNS添加
PC自动获取IP配置
✎ 试一试:
1、先查看各 PC,看看是否获得网络配置
2、因为我们在 DNS 服务器中把谷歌和百度的 IP 都设为了 19.89.6.4,即 Server-PT,所以,如果打开 PC0 的浏览器,输入 www.google.com 或者 www.baidu.com,我们都应该看到默认的 Server-PT 这个 Web 服务器的主页(你也可进行编辑)
通过这次实验,我掌握了Cisco Packet Tracer软件的基本使用,并能用其进行计算机网络模拟,这是一件非常有趣的事情。此外,在实验中也加深了对 VLSM、RIP、OSPF、VLAN、STP及 DHCP 等概念的理解与掌握,以能够进行相关的网络规划和配置。