ns-2 tcp-udp模拟实验

模拟一个网络环境,该环境中包含两个传输节点s1,s2,路由器r,和资料接收端d.

大概如下图所示:

源代码:

set ns [new Simulator]
$ns color 1 Blue
$ns color 2 Red

set nf [open out.nam w]
$ns namtrace-all $nf

set nd [open out.tr w]
$ns trace-all $nd

proc finish {} {
global ns nf nd
$ns flush-trace
close $nf
close $nd

exec nam out.nam &
exit 0
}

set s1 [$ns node]
set s2 [$ns node]

set r [$ns node]

set d [$ns node]

$ns duplex-link $s1 $r 2Mb 10ms DropTail
$ns duplex-link $s2 $r 2Mb 10ms DropTail
$ns duplex-link $r $d 1.7Mb 20ms DropTail

$ns queue-limit $r $d 10

$ns duplex-link-op $s1 $r orient right-down
$ns duplex-link-op $s2 $r orient right-up
$ns duplex-link-op $r $d orient right

$ns duplex-link-op $r $d queuePos 0.5

set tcp [new Agent/TCP]
$ns attach-agent $s1 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $d $sink
$ns connect $tcp $sink

$tcp set fid_ 1

set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP

set udp [new Agent/UDP]
$ns attach-agent $s2 $udp
set null [new Agent/Null]
$ns attach-agent $d $null
$ns connect $udp $null

$udp set fid_ 2

set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR

$cbr set packet_size_ 1000

$cbr set rate_ 1mb
$cbr set random_ false

$ns at 0.1 "$cbr start"
$ns at 1.0 "$ftp start"
$ns at 4.0 "$ftp stop"
$ns at 4.5 "$cbr stop"

$ns at 4.5 "$ns detach-agent $s1 $tcp"
$ns at 4.5 "$ns detach-agent $d $sink"

$ns at 5.0 "finish"

$ns run

程序运行图

out.tr部分记录:

+ 0.1 1 2 cbr 1000 ------- 2 1.0 3.1 0 0

- 0.1 1 2 cbr 1000 ------- 2 1.0 3.1 0 0

+ 0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1

- 0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1

r 0.114 1 2 cbr 1000 ------- 2 1.0 3.1 0 0

数据格式如下:

r:receive(at to-node)                      src-addr:node.port

+:enqueue(at queue)                          dst-addr:node.port

-:dequeue(at queue)

d:drop(at queue)

以上述第一行数据为例,大概就是说有一个封包packet id 为0,资料流id为2,序号为0,长度为1000字节,type为 CBR ,它是从来源端1.0要到目的地3.1,在时间0.1秒的时候,从节点1(s2)进入了节点2(r)的队列中。

to be continued

时间: 2024-11-08 18:12:38

ns-2 tcp-udp模拟实验的相关文章

[osg][osgEarth]基于qt代码实现:TCP|UDP与飞行模拟软件JSBSim的通信,现实模型飞行!

废话没有,上关键代码 头文件 #include <QUdpSocket> #include <qtcpsocket.h> #ifndef vrUDP #define vrUDP #define PLANE_DATA_NUM 30 struct PlanePoseStruct{ double lon; double lat; double height; double heading; double pitch; double rotate; }; class JSBSimSocke

Cisco PT模拟实验(20) 通过TFTP协议备份、恢复配置或系统升级

Cisco PT模拟实验(20) 通过TFTP协议备份.恢复配置或系统升级 实验目的: 掌握TFTP方式备份.恢复配置文件的基本命令 掌握TFTP上传IOS文件并升级系统的方法 熟悉TFTP协议文件传输的原理 实验背景: 交换机.路由器等网络设备内的用户配置是网络得以正常运行的重要保证,也是网络维护管理的重要内容,在复杂的网络中,网络设备配置往往比较复杂,一旦用户配置丢失,要用手工恢复不仅工作量相当大,而且容易出错.现在要求利用TFTP协议在完成路由器配置后进行配置备份,并向一台路由器上传IOS

Cisco PT模拟实验(17) 路由器IP访问控制列表配置

Cisco PT模拟实验(17) 路由器IP访问控制列表配置 实验目的: 理解两种IP访问控制列表的原理及功能 掌握常见IP访问控制列表的配置方法 实验背景: 公司的经理部.财务部们和销售部门分属于不同的3个网段,三部门之间用路由器进行信息传递,为了安全起见,公司领导要求销售部门不能对财务部进行访问,但经理部可以对财务部进行访问. 技术原理: 路由器能提供防火墙的功能,根据一些预设置的ACL过滤规则对任何经过接口的流量进行过滤,说明哪些具体的通信(来自设备.协议或端口等)是被允许或拒绝,该功能是

TCP/UDP协议

TCP/UDP协议 1.协议简介 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议.其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送.可靠性.有效流控.全双工操作和多路复用.通过面向连接.端到端和可靠的数据包发送.通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送:而UDP则不为IP提供可靠性.流控或差错恢复功能.一般来说,TCP对应的是可靠性要求高的应用,而UDP

Cisco PT模拟实验(2) 交换机的端口配置与管理

Cisco PT模拟实验(2) 交换机的端口配置与管理 实验目的: 掌握交换机的基本配置与管理,了解交换机配置的基本命令. 实验背景:某公司新进了一批二层交换机,在正式投入使用前要进行初始化的配置与管理,以便日后维护. 技术原理: 交换机的管理方式基本分为两种:带内管理和带外管理. 通过交换机的Console端口管理交换机属于带外管理:这种管理方式不占用交换机的网络端口,第一次配置交换机必须利用Console端口进行配置. 通过Telnet.拨号等方式(TCP/IP协议)属于带内管理. 交换机的

AC6102 开发板千兆以太网UDP传输实验

AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器,或者接收其他设备传输过来的数据并进行处理. 接触过以太网的用户,应该最常听说的是TCP/IP协议,确实,在PC端或者嵌入式系统中,TCP/IP协议应用非常广泛,因此,当大家看到FPGA上带有以太网接口时,可能第一个想到的也是实现TC/IP协议.这里,首先可以很肯定的告诉大家,使用FPGA实现TCP

TCP/UDP编程中的问题汇总

TCP/UDP编程中的问题汇总 TCP和UDP发送大文件的问题. 答: 发送端: 发送时,先发送文件的名称及大小等信息. 然后,设置一个缓冲区的大小,假设为4K. 再循环读4K的文件内容,并发送,直到发送完成. 最后,再发送完成标记. 接收端: 接收到第一个包时,得到文件的大小等信息. 计算出要接收多少个包. 然后,循环接收包,并将接收到的数据写入到文件中. 直到,接收到的数据长度等于文件的大小. struct package { 文件标识 //GUID 偏移量 //001- 数据段 //Byt

Cisco PT模拟实验(10) 路由器的基本配置

Cisco PT模拟实验(10) 路由器的基本配置 实验目的: 掌握路由器几种常用配置方法 熟悉路由器不同的命令行操作模式 掌提路由器的基本配置命令 实验背景: 作为网络管理员,你第一次在设备机房对路由器进行了初次配置后,希望以后在办公室或出差时也可以对设备进行远程管理,现要在路由器上做适当配置. 技术原理: 路由器:一种用于连接因特网中各局域网.广域网,负责分组转发.路由选择的三层网络互联设备.根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号. 与二层交换机的最大区别,体现在其

Cisco PT模拟实验(18) 路由器DHCP服务器及中继配置

Cisco PT模拟实验(18) 路由器DHCP服务器及中继配置 实验目的: 掌握路由器DHCP服务器的配置方法 掌握DHCP中继代理的配置方法 掌握DHCP协议及其中继的原理及实现过程 实验背景: 随着公司网络规模不断扩大,公司内办公电脑越来越多,原先的固定IP接入方案已经不再适用于复杂多变的网络环境.为了简化网管的管理维护工作,公司决定采用将路由器配置为DHCP服务器,使得企业网内部主机接入后自动获取IP地址,从而实现主机之间的相互通信. 技术原理: DHCP(Dynamic Host Co