基于ns—3构建计算机网络教学仿真平台

时间:2024-04-14 点赞:52421 浏览:108090 作者原创标记本站原创

本文是一篇计算机网络论文范文,计算机网络方面毕业论文格式,关于基于ns—3构建计算机网络教学仿真平台相关毕业论文格式模板范文。适合计算机网络及计算机网络教学及网络方面的的大学硕士和本科毕业论文以及计算机网络相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】计算机网络原理课程抽象、复杂,基于ns-3构建计算机网络教学仿真平台有助于提高学生的学习兴趣.

【关 键 词】计算机网络;网络模拟;ns-3;可视化

《计算机网络原理》概念抽象、协议繁琐,传统的理论教学以板书或者PPT进行理论讲解,枯燥乏味.构建基于新型网络模拟器ns-3[1]构建计算机网络教学仿真平台,能提高计算机网络的教学质量[2].

1.ns-3简介

ns-3广泛汲取了现有优秀开源网络模拟器如ns-2,GTNetS,yans等的成功技术和经验,专门用于教育和研究用途的离散事件模拟器,基于GNUGPLv2许可,可以免费地获取、使用和修改[3-4].

2.ns-3仿真流程

搭建ns-3网络仿真场景和搭建实际网络类似[5-6],首先生成网络节点(Node),然后为节点安装网络设备(NetDevice)及相应的传输媒体(Channel),接下来安装网络协议,包括应用层(Application),传输层,MAC层,ns-3提供了多个应用层和传输层协议,数据包(Packets)通过协议栈(Protocolstack)向下传递给网络设备(类似于网卡,实现了MAC层和物理层协议),于是如图1所示数据包就像在真实网络中一样流动.

3.ns-3仿真实例

通过仿真实例展示基于ns-3构建的计算机网络教学仿真平台的优势.仿真场景如图2所示,网络分成两部分:基于CSAM/CD协议的有线局域网和点到点的通信链路.其中节点0是服务器;节点1有两块网卡,一块网卡和局域在一个网段,另一块网卡和服务器在一个网段,负责局域网和服务器的通信.

3.1仿真脚本

下面我给出C++脚本的关键代码(p2p网络的部分,ca网络和其代码类似):

//生成节点:

NodeContainerp2pNodes;

p2pNodes.Create(2);

//配置网卡信道参数并安装网络设备:

PointToPointHelperpointToPoint;

pointToPoint.SetDeviceAttribute(“DataRate”,StringValue(“5Mbps”));

pointToPoint.SetChannelAttribute(“Delay”,StringValue(“2ms”));

NetDeviceContainerp2pDevices;

p2pDevices等于pointToPoint.Install(p2pNodes);

//安装网络协议栈并配置IP地址:

InterStackHelperstack;

stack.Install(p2pNodes.Get(0));

Ipv4AddressHelperaddress;

address.SetBase(“10.1.1.0”,”255.255.255.0”);

Ipv4InterfaceContainerp2pInterfaces;

p2pInterfaces等于address.Assign(p2pDevices);

//安装应用程序,Node0为服务器,Node5为客户机:

UdpEchoServerHelperechoServer(9);

ApplicationContainerserverApps等于echoServer.Install(p2pNodes.Get(0));

UdpEchoClientHelperechoClient(p2pInterfaces.GetAddress(0),9);

//配置路由

Ipv4GlobalRoutingHelper::PopulateRoutingTables();

//利用追踪系统捕获网络数据包:

pointToPoint.EnablePcapAll(“p2p_ca”);

ca.EnablePcap(“p2p_ca”,caDevices.Get(0),true);

3.2网络仿真演示

图3是ns-3可视化模块PyViz在线显示实例仿真场景的拓扑结构、网络配置及通信时的画面.网络选择Node0(10.1.1.1)为服务器端,Node5(10.1.2.5)为客户端,Node1包含两个不同网段IP的网络设备,分别是点到点网络的10.1.1.2和局域网络的10.1.2.1,负责局域网和服务器的通信.

3.3仿真协议分析

图4是Wireshark读取Node1追踪文件的结果.局域网开始阶段,节点ARP缓存为空,节点5(10.1.2.5)想和节点0(10.1.1.1)通信,但不在同一个网段,网络通过路由算法建立路由表,PyViz在线查看Node5的路由表如图6所示,找到下一跳节点为10.1.2.1(Node1)和源节点在同一局域网,通过MAC地址通信,但是不知道Node1的MAC地址,于是广播ARP包,询问10.1.2.1的MAC地址;Node1收到ARP广播后响应Node5;于是Node5利用UDP协议通过Node1和Node0通信.

Wireshark还可以分析数据包的格式和内容,图5是UDP数据包的具体包头格式和TCP/IP体系结构数据包格式对应,数据包从内到外分别是数据内容加上UDP数据报文头,然后网络层在加上IP协议的包头,成为IP数据报,到MAC层加上以太网(Ether)的包格式,最后成帧(Frame)交给物理层发送.

4.结束语

基于ns-3构建计算机网络教学仿真平台功能丰富:通过编写仿真脚本,PyViz能在线演示网络拓扑结构和通信过程,使学生能直观观察网络运行动态过程;通过ns-3的追踪系统,Wireshark能再现网络过程,详细展示网络协议格式、交互过程,统计网络数据包等功能.

相关论文

计算机网络教学模式改革

本文是一篇计算机网络论文范文,关于计算机网络方面毕业论文模板,关于计算机网络教学模式改革相关开题报告范文。适合计算机网络及教学改革及。

计算机网络教学探究

本文是一篇课堂教学论文范文,关于课堂教学方面毕业论文开题报告范文,关于计算机网络教学探究相关专升本毕业论文范文。适合课堂教学及计算机。

计算机网络教学模式

本文是一篇物联网论文范文,物联网方面函授毕业论文,关于计算机网络教学模式相关毕业论文范文。适合物联网及计算机网络及计算机网络教学方面。