实验四
实验目的
-
学习运用ns-3进行网络仿真的基本方法与流程;
-
了解ns-3中路由协议实现框架;
-
运用ns-3构造网络拓扑分析网络数据,分析掌握RIP路由协议的工作原理与过程。
实验内容
任务1:IPv6报文观察
使用ping命令,捕获ipv6数据包,比较分析IPv6与IPv4报文头变化。
-
捕获报文
-
IPV6报文头
-
有效载荷长度比1500短
-
观察分片情况。可见IPV6使用了拓展头部方式
任务2:ns-3的基本使用
2.1 在教程示列first.cc中,使用运行参数传入DataRate和Delay值,观察并解析数据报文收发时间变化; 修改LOG级别,观察输出变化;生成pcap文件,记录结点发出的报文。
- 修改前
- 修改DataRate,可以发现输出变化不大
- 修改DataRate
- 修改LOG,修改前
- 修改后,可见修改后所以信息都送出了
2.2 在教程示例third.cc中,加个回调函数,输出观察最后一个移动结点的位置变化。
- 定义回调函数
- 将其加入主函数中,得到最后一个移动节点会随时间变化
任务3:构建网络拓扑
- 要求:
- 构建网络拓扑-1,应用Ipv4GlobalRouting,输出观察结点路由;
- 在拓扑1基础上,改用RIP路由协议, 增加拓扑-2所示Metric值;PC1和PC2间运行ping应用测试、并观察报文走向
- 观察可视化仿真效果,在路由结点上跟踪数据、捕获并存储
2.1 建立网络拓扑, 配置网络结点与应用
- 首先构建各个节点
- 之后初始化网络
- 建立边
- 拓扑图像
- 输出结果
- 分析得到的结果,节点连接发送的信息很多,所以分析会很复杂。每个节点间的通信由开始不稳定到饱和。
2.2 在拓扑 1 基础上,改用 RIP 路由协议, 增加拓扑-2 所示 Metric 值;PC1 和 PC2 间运行 ping 应用测试、并观察报文走向
- 改变路由协议就可以了
- 加入PC间的PING操作**
- 设置每个边的值,非常的繁琐
- 得到的拓扑结果
- RIP是最短路径算法,最后得到的结果也应该是沿着最短路径传播的
任务4:结合RIP工作原理,分析其工作过程
- 要求
- 分时段打印某些结点的路由表
- 分析典型RIP报文的主要结构及功能
- 分析路由初次收敛过程和时间
- 构造“坏消息”:断开R3与R6间的连接,观察路由变化
- 观察路由再次收敛过程
- 比较两次路由收敛所花费的时间
4.1 从任务2中抓取的数据,分析路由收敛过程。
- 抓包结果
- rip报文头[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fDP2KAfk-1643159081227)(C:/Users/Ramezes%20Dong/AppData/Roaming/Typora/typora-user-images/image-20211213234619227.png)]
- 记录各个节点跳数和距离信息
4.2 构造 “坏消息”,观察路由收敛过程,以及期间的丢包现象。
- 示例代码给出来断开的方法
- 两个节点间断开连接了
- 坏消息产生,并且开始传播
- 过了很长时间后大概1分钟后,网络区域稳定
实验总结
- 刚看到实验的我是懵圈的,应为ns3完全没有头绪,也因为配置老师的机子环境花了很久很久。太费心态了。
- 但后来在DDL来临,我不得不开始动手。先找了ns3的资料,老师给的视频我看了一眼,看不进去,然后嗯看ppt。最后找了同学讨论了一下,研究代码,终于做了大部分。
- 真要说我有什么收获,是没有很多的,因为做的东西跨度有点大,没有资料我是完不成的。希望下次老师出个简单一点的实验。
,老师给的视频我看了一眼,看不进去,然后嗯看ppt。最后找了同学讨论了一下,研究代码,终于做了大部分。
3. 真要说我有什么收获,是没有很多的,因为做的东西跨度有点大,没有资料我是完不成的。希望下次老师出个简单一点的实验。