计算机网络实验ns2实验

2024-01-25 03:58
文章标签 计算机网络 实验 ns2

本文主要是介绍计算机网络实验ns2实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网络仿真器NS2的配置与应用


这个实验环境配置很麻烦,但是实验内容很简单......

配置环境一上午,实验只要十分钟...... 


1.        实验要求

安装并运行网络仿真器NS2,了解其功能模块及配套工具的使用,掌握利用NS2进行网络仿真的方法,为进一步的网络系统性能分析设计创造良好的条件。

 

2.        实验条件

硬件:一台计算机

软件:Ubuntu操作系统、NS2工具包

 

3.        实验指导

1)        NS2仿真流程

采用NS2进行仿真实验之前,必须先掌握本书7.2.1节中的相关内容。一般来说,采用NS2进行仿真大致可分为3个步骤:

●建立Networkmodel:描述整个网络的拓扑、带宽等信息。

●建立traffic model:描述所有的网络流量或错误情况的时间、类型、或呈何种数学分布。

●追踪分析结果:仿真完成后,可调用nam观察整个仿真流程,或是将namfile中的信息抽取出来加以分析。

 

下面是一些具体的实现语句,其中#后的说明为该语句的相关注释。(根据本人测试运行,最好文件中不要加注释,否则会报错)

a)        建立Networkmodel

●建立ns对象

 set ns[new Simulator]

 

●建立节点

 set n0[$ns node]

 

●建立连接

 $ns duplex-link $n0 $n1 <bandwidth><delay><queue_type>

队列(queue)是保持(held)或丢弃(drop)数据包的地方,目前NS2所支持的队列缓冲管理机制有drop-tail(FIFO)队列、RED缓冲管理、公平队列(Fair Queueing,FQ)、随机公平队列(StochasticFair Queueing,SFQ)、DRR(Deficit Round-Robin)和基于类的队列(class-based queuein,CBQ)。

 

●建立局域网

 $ns make-lan <node_list><bandwidth><delay>LLQueue/DropTail MAC/802.3 Channel

若只想建立点对点的网络,则无需建立局域网这个步骤。

 

b)        建立Trafficmodel

建立连接

根据不同的流量类型,可分为

TCP连接

set tcp[new Agent/TCP]          #建立TCP代理,用以产生流量

set tcpslink[new Agent/TCPSink]   #建立TCPSink代理,用以接收流量

$ns attach-agent $n0 $tcp        #将所建立的tcp配置给节点n0

$ns attach-agent $n1 $tcpsink     #将所建立的tcpsink配置给节点n1

$ns connect $tcp $tcpsink        #连接

 

UDP连接

set udp[new Agent/UDP]          #建立UDP代理,用以产生流量

set null[new Agent/NULL]         #建立NULL代理,用以接收流量

$ns attach-agent $n0 $udp        #将所建立的udp配置给节点n0

$ns attach-agent $n1 $null        #将所建立的null配置给节点n1

$ns connect $udp $null           #连接

 

●产生流量

对应TCP连接,产生FTP(or Telnet)流量:

set ftp[new Application/FTP]

$ftp attach-agent $udp

 

●建立排程

$ns at<time><event>             #<event>为任何合法的ns/tcl命令

$ns run

 

c)        追踪分析结果

$ns namtrace

这篇关于计算机网络实验ns2实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642018

相关文章

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck!Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内,电感电流从不会到0. DCM:在开关周期内,电感电流总会到0. CCM模式Buck电路仿真: 在用LTspice模拟CCM电路时,MOS管驱动信号频率为100Khz,负载为10R(可自

HCIA--实验十:路由的递归特性

递归路由的理解 一、实验内容 1.需求/要求: 使用4台路由器,在AR1和AR4上分别配置一个LOOPBACK接口,根据路由的递归特性,写一系列的静态路由实现让1.1.1.1和4.4.4.4的双向通信。 二、实验过程 1.拓扑图: 2.步骤: (下列命令行可以直接复制在ensp) 1.如拓扑图所示,配置各路由器的基本信息: 各接口的ip地址及子网掩码,给AR1和AR4分别配置

[计算机网络]-计网学习笔记-计网知识点总结(附完整笔记)

本笔记是跟着 b站 湖科大教书匠 视频做的笔记,其中图片为视频中的 PPT,加上了自己的注释。         这是原视频链接。大家可以参照着笔记看原视频。视频中的 PPT 做的非常好。         【计算机网络微课堂(有字幕无背景音乐版)】https://www.bilibili.com/video/BV1c4411d7jb?vd_source=1146b07cc2d66

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

pta-2024年秋面向对象程序设计实验一-java

文章申明:作者也为初学者,解答仅供参考,不一定是最优解; 一:7-1 sdut-sel-2 汽车超速罚款(选择结构) 答案: import java.util.Scanner;         public class Main { public static void main(String[] arg){         Scanner sc=new Scanner(System