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

实验目的

  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网段。

相关推荐
梦帮科技24 分钟前
推测解码(Speculative Decoding)与 Draft-Target 双核协同:接受率判据、树状验证与两倍吞吐无损加速
网络·人工智能·深度学习·神经网络·线性代数·矩阵·架构
骑着蜗牛撵大象32726 分钟前
Agent 打字机是怎么来的:SSE 与 WebSocket 打通实时响应与中间状态
网络·websocket·网络协议·agent·sse·实时通信·流式输出
模拟器连接器曾工1 小时前
一进多出M12分线盒4口8口12口可选 PNP和NPN通用传感器集线器
网络·人工智能·m12分线盒·npn通用传感器集线器·pnp通用传感器集线器
RobinDevNotes1 小时前
大模型3D并行训练怎么配才不浪费算力
网络·人工智能·深度学习·深度优先
Fcy6481 小时前
Linux下 传输层协议TCP详解
linux·网络·tcp/ip
web打印社区1 小时前
C-Lodop 提示未准备好或 WebSocket 没准备好:先让本机服务起来
javascript·网络·websocket·网络协议·pdf·html
2401_868534782 小时前
无源光网络
网络
ZealSinger2 小时前
Go1.25 FlightRecorder慢请求截trace
网络·数据库·go
Black蜡笔小新2 小时前
EasyCVR从“人盯人”到“AI盯岗”:可视化大屏+智能告警,岗位管理一屏掌控
网络·安全·easycvr
我就是不信2 小时前
TCP 套接字中的 I/O 缓冲:原理、机制与调优实践
网络·tcp/ip·php