西 安 邮 电 大 学 (计算机学院)课程设计报告题 目: 网络协议模拟与分析 专业名称: 班 级: 学生姓名: 学号(8 位): 指导老师: 设计起止时间:2024 年 12 月 15 日—2024 年 12 月 26 日网络协议分析与仿真课程设计报告网络模拟一、 课程设计目的掌握网络模拟工具 NS2 的使用,学习基本的网络模拟方法.二、 课程设计内容协议模拟 工具:NS2,awk,shell,perl 等; 要求:掌握 NS2 网络模拟的基本流程; 内容:NS2 网络模拟基本流程编写 TCL 脚本,搭建如下图所示的一个网络,共 6 个节点,其中 2、3 节点用做 ftp 服务器和客户端,4、5 节点用做 cbr 流量的源和目的,而 0、1 节点用做转发设备。各节点间的链路属性见图。模拟时间设为 13 秒钟,在 0。1 秒开始产生 cbr 流量,在 1。0 秒开发发送发 ftp 流量;8.0 秒 ftp 流量结束,12.0 秒 cbr 流量结束.编写脚本(可用 shell,awk,或 perl 等)分析模拟日志文件,统计每 0.5s 内 0、1 节点间链路通过的分组数以及字节数.三、 设计与实现过程1.仿真脚本代码与详细注解#Create a simulator object /创建模拟器对象 set ns [new Simulator] /模拟器对象赋值给变量 ns #Define different colors for data flows (for NAM) $ns color 1 Red $ns color 2 Yellow /给 NAM 定义不同的数据流,颜色的选择比较随意,只要易于区分就可以#Open the NAM trace file set nf [open out。nam w] /打开 out.nam 文件,一般都是在执行程序的时候自动生成的 $ns namtrace-all $nf #Open the Trace file set tf [open out。tr w] /打开 out。tr 文件,也是自动生成的 $ns trace—all $tf /两个文件主要都是用来记录封包传输过程的#Define a ’finish’ procedure /定义 finish 程序,在后面执行的时候会用到proc finish {} { global ns nf tf $ns flush—trace close $nf /关闭 nam 文件 close $tf /关闭 trace 文件 (在后面调用的时候,是在程序结束的时候,所以前面生成的两个文件必须要关闭) exec nam out。nam & #以后台方式执行 nam exit 0 } #Create six nodes /创建六个节点 ,从 n0 到 n5set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [...