2023年1月14日

ns-3_ Day 0

摘要: 版本 ns3.31 OS Ubuntu 18.04 ns-3是什么 是一个网络仿真工具,并不是ns-2的扩展而是一个全新的项目。 ns-3官方文档给出了详尽的下载、安装方案。完整的主目录如下: waf是基于Python开发的编译工具,从ns3.36开始替换为cmake scratch存放脚本文件(C 阅读全文

posted @ 2023-01-14 12:20 LeewayTang 阅读(124) 评论(0) 推荐(0) 编辑

ns-3_ Day 11

摘要: ns-3应用层协议 应用层协议有两个要点: 使用Socket建构分组处理流程 使用Application封装 Socket原语函数 ns-3的Socket原语函数基本参照了POSIX的Socket函数,使用的时候参考POSIX的Socket编程经验即可。 和POSIX一样,这里的Socket也采用异 阅读全文

posted @ 2023-01-14 10:24 LeewayTang 阅读(88) 评论(0) 推荐(0) 编辑

2023年1月12日

ns-3_ Day 10

摘要: ns-3的分组Packet ns-3的分组由header、payload、trailer组成。Packet定义了分组的存储结构,内部维护一个字节数组 Packet::m_buffer,header、payload、trailer存储在这个字节数组中。 传输层和网络层的ns-3 Packet Head 阅读全文

posted @ 2023-01-12 09:08 LeewayTang 阅读(87) 评论(0) 推荐(0) 编辑

2023年1月11日

ns-3_ Day 9

摘要: ns-3的分层结构概览 应用层 ns-3应用层协议主要负责数据分组的收发和处理,源码位于src/application/下。应用层协议的软件架构如下: 分组生成部分按照给定的规则发送分组 分组处理部分负责接收来自下层协议的分组并对分组相关信息进行记录 这两部分均通过Socket与下层协议交互。原语函 阅读全文

posted @ 2023-01-11 15:42 LeewayTang 阅读(240) 评论(0) 推荐(0) 编辑

2023年1月10日

ns-3_ Day 8

摘要: 对象模型 ns-3对象模型通过3个基类Object、ObjectBase、SimpleRefCount定义了ns-3中绝大部分C++类的行为和关系。 SimpleRefCount解决针对单个类的动态内存管理问题。这在前面的Ptr已经讲了。 ObjectBase解决配置属性和trace变量的问题。它定 阅读全文

posted @ 2023-01-10 09:49 LeewayTang 阅读(116) 评论(0) 推荐(0) 编辑

2023年1月8日

ns-3_ Day 7

摘要: Ptr:ns-3的智能指针 Ptr的实现分为两个部分: Ptr类:负责保存原始指针和模拟原始指针操作(复制、赋值等); SimpleRefCount类:负责记录所有指向所分配的对象内存的指针数量。 简化两个类的定义,可以分别视为 template<typename T> class Ptr{ pri 阅读全文

posted @ 2023-01-08 21:53 LeewayTang 阅读(64) 评论(0) 推荐(0) 编辑

ns-3_ Day 6

摘要: 从Node类获取对象 除了物理层的Channel,其余几乎所有重要的类都存储在Node对象里,相同Id的对象属于同一节点。例如: Application 传输层 IpL4Protocol 网络层 Ipv4、Ipv6 链路层 NetDevice 当然我们可以从容器中获得想要的对象,例如: Applic 阅读全文

posted @ 2023-01-08 16:59 LeewayTang 阅读(68) 评论(0) 推荐(0) 编辑

ns-3_ Day 5

摘要: 理解ns-3的网络模拟方法:离散事件 还是以first.cc中的PPP网络为例。 一个分组从n0到n1的过程可以理解成: T1:n0开始向信道发送分组(第一个字节)。 T2:分组的最后一个字节被发送,网络设备释放。 T3:分组被n1接收(事实上没有考虑n1的传输延迟,也就是只考虑n1完全接收分组的时 阅读全文

posted @ 2023-01-08 10:33 LeewayTang 阅读(88) 评论(0) 推荐(0) 编辑

2023年1月7日

ns-3_ Day 4

摘要: 脚本编写的有用经验 Helper 每一个模块都有其Helper,源代码位于./src/模块名/helper/下。例如: 参数输入 attribute是网络模拟中用户可配置的参数,其实就是类的一个变量。例如在P2P网络的例子中,就有如下的设置传输速率的操作: pointToPoint.SetDevic 阅读全文

posted @ 2023-01-07 17:15 LeewayTang 阅读(177) 评论(0) 推荐(0) 编辑

2023年1月1日

ns-3_ Day 3

摘要: 无线网络仿真 examples/tutorial/third.cc 在了解了ns-3的一些重要机制后,我们结合这份较复杂的示例代码加以理解。 前两个例子中涉及到了P2P网络结构和CSMA网络结构,这个例子在second.cc的基础上加入3台WIFI节点(n5、n6、n7): #include "ns 阅读全文

posted @ 2023-01-01 16:37 LeewayTang 阅读(275) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示