计网实验 路由器部署及配置

实验目的

  1. 掌握 IPMininet 仿真环境的启动方法,理解在 Mininet 基础上扩展网络层路由器仿真的必要性。

  2. 能够根据给定网段规划,使用 Python 代码创建包含路由器、主机和交换机的自定义网络拓扑。

  3. 掌握主机、交换机和路由器接口 IP 地址及默认网关的配置方法,理解直连路由与默认路由在跨网段通信中的作用。

  4. 通过 ping 测试与 tcpdump 抓包验证路由器转发功能,加深对不同网段间数据包转发过程的认识。

实验内容简要描述

本次实验在 IPMininet 仿真环境中完成。实验首先启动 Open vSwitch 相关服务,并按照规划的网段设计网络拓扑;随后通过编写并注册 simple_router_network.py 拓扑文件,启动包含两台主机、一台路由器及交换机的仿真网络。在网络启动后,分别配置主机 h1、h2 的 IP 地址,检查并调整交换机工作模式,配置路由器 r1 两个接口的地址与路由信息,再为两台主机配置默认网关。最后通过双向 ping 验证主机跨网段通信是否成功,并使用 tcpdump 在路由器接口上抓包观察数据转发过程。

实验步骤与结果分析

  1. 启动IPMininet 仿真网络

右键打开终端首先输入ovs-vswitchd --pidfile --detach启动服务,表明 ovs-vswitchd 进程已经在运行(PID 85)。

实验按照如下图所示规划的网段进行实验。

由于原生Mininet不支持网络层的路由器仿真,因此使用拓展过的IPMininet,需要我们通过代码创建自定义网络。进入/home/headless/ipmininet/ipmininet/examples文件夹,在此处打开终端

输入sudo gedit simple_router_network.py 创建新的网络拓扑文件,填入如下图所示的python代码。

终端中输入sudo gedit main.py打开main文件注册刚刚创建的网络拓扑,填入如下两图所示的代码,保存后退出。

退出到/home/headless/ipmininet文件夹,右键打开终端输入sudo python3 -m ipmininet.examples --topo=simple_router_network,启动包含一个路由器和两个主机的网络。

2. 配置主机IP 地址

重新输入sudo python3 -m ipmininet.examples --topo=simple_router_network,在启动Mininet后的终端内输入xterm h1,打开主机1的终端。在h1的终端内输入sudo ifconfig查看ip信息。可以看到此时eth0网卡的ip地址和子网掩码不符合实验要求。

执行如下命令,将主机1的eth0网卡的ip地址和子网掩码设置为实验要求。

输入xterm h2,打开h2的终端,输入sudo ifconfig查看ip信息。可以看到此时eth0网卡的ip地址不符合实验要求。

执行如下命令,将主机2的eth0网卡的ip地址和子网掩码设置为实验要求。

3. 配置路由器

在mininet终端中输入r1 route,查看路由器1的路由表:

在mininet终端中输入xterm r1打开路由器1的终端,并在其终端上执行ifconfig命令,查看网卡端口信息。该路由器有两块网卡,eth0和eth1:

修改两块网卡的ip地址:

  • 执行ifconfig r1-eth0 192.168.0.1/24命令,配置网卡eth0的IP地址为192.168.0.1/24
  • 执行ifconfig r1-eth1 10.0.0.1/24命令,配置网卡eth1的IP地址为10.0.0.1/24

在mininet终端中再次执行r1 route命令,查看路由器1的路由表:

  • 127.0.0.0/24代表环回口路由,环回口习惯上被称为Loopback接口,是路由器上的一个逻辑、虚拟接口,任何主机中都会有。
  • 10.0.0.0/24是eth1网口连接的网段,是配置在网卡上的路由。
  • 192.168.0.0/24是eth0网口连接的网段。

配置主机路由

查看主机1路由信息。主机1没有默认路由,从主机1出去的流量不能到达eth0的网关,即不能到达路由器1。

执行如下命令,修改主机1的默认网关后,查看修改后的路由信息,主机1的默认网关为网卡eth0的网关

查看主机2的路由信息。主机2没有默认路由,从主机2出去的流量不能达到eth1网关,即不能到达路由1:

执行如下命令,修改主机2的默认网关

验证路由器功能

在主机1上执行ping 10.0.0.2,主机2上执行ping 192.168.0.2,验证路由器路由功能。

可以看到都能ping通。

打开路由器1的终端,在主机ping的过程中执行tcpdump -i r1-eth0命令,抓取路由器上的数据包。可以看到路由器将192.168.0.0/24网段的数据转发到10.0.0.0/24网段。

相关推荐
binqian8 小时前
【linux】OpenSSH升级文档
linux·运维·网络
Bruce_Liuxiaowei8 小时前
2026年9月第2周网络安全形势周报
网络·安全·web安全·网络安全·漏洞评级
和裕9 小时前
蜂窝板 vs 七层瓦楞重型纸箱:大件工业设备运输性能与成本全对比
大数据·运维·网络·人工智能·算法
Jae den9 小时前
网络延迟为什么会影响游戏和实时业务?
网络·游戏
水域安全老周9 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
制造业的搬运工9 小时前
智能家居工控PCB可靠性检测规范与制程管控实践
大数据·网络·人工智能·制造·pcb工艺
想要入门的程序猿10 小时前
回调函数学习
java·网络·学习
网硕互联的小客服10 小时前
怎样在CMD里用chkntfs /x C: 命令来取消磁盘自检?——原理与实践全解
运维·服务器·网络
制冷技术咨询与服务11 小时前
纯电牵引车高压电源侧介绍
网络·汽车·纯电牵引车高压电源侧介绍
那年窗外下的雪.12 小时前
AIDC 学习日志|第 22 天|All-Active/Single-Active 故障演练设计
服务器·网络·学习·算法·哈希算法