NS2有线网络+无线网络混合

2和3为无线节点,1为基站节点,0为有线节点

如图,2/3为无线节点,1为基站节点,0为有线节点。混合代码如下:
#无线节点参数
set val(chan) Channel/WirelessChannel ;# channel type 信道类型:无线信道
set val(prop) Propagation/TwoRayGround ;# radio-propagation model 信道模型:
set val(netif) Phy/WirelessPhy ;# network interface type 无线物理层
set val(mac) Mac/802_11 ;# MAC type MAC层协议
set val(ifq) Queue/DropTail/PriQueue ;# interface queue type
set val(ll) LL ;# link layer type
set val(ant) Antenna/OmniAntenna ;# antenna model
set val(ifqlen) 50 ;# max packet in ifq
set val(rp) DSDV ;#路由协议
set val(nn) 4 ;#节点数目
set val(x) 1000 ;#网络拓扑范围——长度
set val(y) 1000 ;#网络拓扑范围——宽度
set val(stop) 10.0 ;#模拟时间

建立一个simulator实例

set ns [new Simulator]

#设定分层路由地址,混合仿真一定要设定分层路由,这是与一般无线模拟不同的地方
$ns node-config -addressType hierarchical ;#设定分层路由
AddrParams set domain_num_ 2 ;# 设定2个网络
lappend cluster_num 1 1 ;# 每个网络一个子网
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 3 ;# 2个子网的节点数目为1和3
AddrParams set nodes_num_ $eilastlevel
puts “Configuration of hierarchical addressing done”

#设置trace跟踪文件和NAM显示文件
set tracefd [open wired_wireless.tr w]
set namtrace [open wired_wireless.nam w]
$ns trace-all $tracefd
$ns namtrace-all-wireless $namtrace $val(x) $val(y)

#建立topology对象
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)

#创建god对象
create-god $val(nn)

#创建优先节点,并设定节点的位置和大小
set sinkNode [$ns node 0.0.0] ;#有线节点的地址0.0.0
$sinkNode set X_ 600
$sinkNode set Y_ 500
$sinkNode set Z_ 0
$ns initial_node_pos $sinkNode 50

#创建物理信道对象
set chan_1_ [new $val(chan)]

#配置无线节点和基站节点,开启路由
$ns node-config -wiredRouting ON
-adhocRouting $val(rp)
-llType $val(ll)
-macType $val(mac)
-ifqType $val(ifq)
-ifqLen $val(ifqlen)
-antType $val(ant)
-propType $val(prop)
-phyType $val(netif)
-channel $chan_1_
-topoInstance $topo
-agentTrace ON
-routerTrace ON
-macTrace ON
-movementTrace OFF

#创建基站节点并设定节点位置
set bs(0) [$ns node 1.0.0] ;#基站节点的地址是1.0.0
$bs(0) random-motion 0
$bs(0) set X_ 400.0
$bs(0) set Y_ 500.0
$bs(0) set Z_ 0.0
$ns initial_node_pos $bs(0) 50

#定义基站和有线节点之间的链路
$ns duplex-link $sinkNode $

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值