NS-3学习笔记(3)ns-3常用模块

移动模块

在这里插入图片描述## 模块常用api

MobilityHelper mobility;

// 分配初始位置
mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
                                 "MinX", DoubleValue (-100.0),
                                 "MinY", DoubleValue (-100.0),
                                 "DeltaX", DoubleValue (5.0),  // 节点距离
                                 "DeltaY", DoubleValue (20.0),
                                 "GridWidth", UintegerValue (20),  // 每行节点数目
                                 "LayoutType", StringValue ("RowFirst"));  // 布局方式

// 分配位置模型
  mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel", // 节点位置
                             "Mode", StringValue ("Time"),
                             "Time", StringValue ("2s"),
                             // 如何随意指定这个值呢?
                             "Speed", StringValue ("ns3::ConstantRandomVariable[Constant=3.0]"),
                            "Bounds", StringValue ("0|200|0|200"));
							//"Bounds", RectangleValue (Rectangle (-50, 50, -50, 50)));

常用的移动模型有如下:
ConstantPosition(固定位置模型)、ConstantVelocity(固定移动速度)、RandomWayPoint(随机路径)、RandomWalk2D(随机游走)、RandomDirection2D(随机方向)、Waypoint(普通路径)、ConstantAcceleration(固定加速度)、SteadyStateRandomWayPoint(稳态随机路径)、GaussMarkov(高斯马尔可夫随机过程)、Hierarchical(分层)。

通信设备模块

p2p模块

// 首先定义 相关网络设备的 帮助类
  PointToPointHelper p2p;
// 给该类分配一些参数
  p2p.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
  p2p.SetChannelAttribute ("Delay", StringValue ("2ms"));
// 给节点分配 该帮助类对应的网卡  返回一个容器, 容器内包括 之前的网卡。 这个网卡也可以使用node节点的getdevice方法得到。
  NetDeviceContainer d0d2 = p2p.Install (n0n2);
  NetDeviceContainer d1d6 = p2p.Install (n1n6);

  NetDeviceContainer d1d2 = p2p.Install (n1n2);

wifi模块

ip地址分配

// 配置IP地址
  Ipv4AddressHelper ipv4;
  // 网络号,掩码(/24 也可表示),主机号, 主机号默认为 0.0.0.1
  ipv4.SetBase ("10.1.1.0", "255.255.255.0", "0.0.0.5");

  Ipv4InterfaceContainer interfaces = ipv4.Assign (devices);

路由表相关操作

随机变量模块

// 生成常数
ns3::ConstantRandomVariable[Constant=3.0]

Simulator命名空间

该函数在该命令执行后调用某个函数。 函数使用如下:

  Simulator::Schedule(
    Seconds(4.0), //四秒后
    &change,  // 执行该函数
    nodes_surface // 该变量为函数参数
  );
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ko no 辉夜 da

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值