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

实验目的

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

相关推荐
略懂而已1 天前
安装SSL后网站速度变慢?
网络·网络协议·ssl
云上工程笔记1 天前
RDMA / IB 高速互联 GPU 云对比:多机训练网络性能与价格
网络·gpu算力·gpu
codigger1 天前
负载均衡到底在干嘛?7 个场景给你说明白
网络·架构·负载均衡
吴建旭 智宅焕2 天前
智能家居全国交付中执行端能力跃迁的架构设计:从标准装调到交付专家的系统化路径
网络·网络协议·智能家居
Eyfcom2 天前
〖全球化架构 05〗跨国网络专线优化:QUIC 协议与 SD-WAN 在跨境传输中的实战
网络·架构·跨境物流快递系统·全球化架构
Dream Cosmos2 天前
传输层协议之UDP
网络·网络协议·udp
鸿蒙开发爱好者2 天前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发
乐橙开放平台2 天前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
张小姐的猫2 天前
【基于 WebSocket 的多用户网页五子棋】—— 项目结构设计与实用工具类模块
网络·websocket·网络协议