NS3初识——third.cc例子分析

本文介绍了NS3网络模拟器中third.cc案例的详细分析,包括网络拓扑、代码结构及运行结果。重点讨论了NS3中点对点链路与WiFi节点的区别,如特殊节点的双协议栈、WiFi节点的移动模型设置。同时,文章提到了程序终止条件、命令行参数的使用以及数据追踪方法,如通过EnablePcapAll()等函数记录不同网络设备的收发信息。
摘要由CSDN通过智能技术生成

网络拓扑如下

// Default Network Topology
//
// Number of wifi or csma nodes can be increased up to 250
//                          |
//                 Rank 0   |   Rank 1
// -------------------------|----------------------------
//   Wifi 10.1.3.0
//                 AP
//  *    *    *    *
//  |    |    |    |    10.1.1.0
// n5   n6   n7   n0 -------------- n1   n2   n3   n4
//                   point-to-point  |    |    |    |
//                                   ================
//                                     LAN 10.1.2.0

在这里插入图片描述

整体代码

#include "ns3/core-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/network-module.h"
#include "ns3/applications-module.h"
#include "ns3/wifi-module.h"
#include "ns3/mobility-module.h"
#include "ns3/csma-module.h"
#include "ns3/internet-module.h"

using namespace ns3;

NS_LOG_COMPONENT_DEFINE ("ThirdScriptExample");

int 
main (int argc, char *argv[])
{
   
  bool verbose = true;
  uint32_t nCsma = 3;//纯CSMA有线链路节点数
  uint32_t nWifi = 3;//纯CSMA无线链路节点数
  bool tracing = false;

  CommandLine cmd;
  cmd.AddValue ("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma);
  cmd.AddValue ("nWifi", "Number of wifi STA devices", nWifi);
  cmd.AddValue ("verbose", "Tell echo applications to log if true", verbose);
  cmd.AddValue ("tracing", "Enable pcap tracing", tracing);

  cmd.Parse (argc,argv);
  
  if (nWifi > 250 || nCsma > 250)
    {
   
      std::cout << "Too many wifi or csma nodes, no more than 250 each." << std::endl;
      return 1;
    }
    std::cout <<"the node size:"<<nWifi<< std::endl;
    //下面的不会打印到terminal
    NS_LOG_INFO(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值