![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
水声网络,NS2:发包/收包过程分析
高冷喵
这个作者很懒,什么都没留下…
展开
-
NS2:802.11代码整个流程—packet传输的流程
如何传送一个封包(How to transmit a packet?)首 先,我们要看的第一个function是在mac-802_11.cc内的recv( ),程式会先判断目前呼叫recv( )这个packet的传输方向,若是DOWN,则表示此packet是要送出去的,因此就会再呼叫send(p, h).所以接着,我们跳到send( ),此send( )首先会去检查energy model,若转载 2017-08-22 20:25:10 · 758 阅读 · 0 评论 -
NS2的调度器Scheduler调度过程(事件的执行过程)
(一)1、Event的定义:class Event {public: Event* next_; //事件链表中指向的下一个事件的指针 Event* prev_; //事件链表中指向的下一个事件的指针 Handler* handler_; //要处理事件时调用的句柄 double time_; //事件的执行时间 scheduler_uid_t uid_;原创 2017-07-13 16:57:27 · 843 阅读 · 0 评论 -
802.11协议下,分组从发送到接收的全过程(信道到物理层到MAC层传输过程)
假设节点B在节点A的载波侦听范围内,也在节点A的发射半径之内,节点C不在节点A的发射半径内,但在节点A的载波侦听范围内。若节点A有数据发送给节点B:发送流程:1、节点A发送分组时,A的上层协议模块会调用其MAC对象的send方法。send方法会调用WirelessPhy的 SendDown方法。2、WirelessPhy的 SendDown方法调用WirelessChannel的r原创 2017-07-06 16:37:02 · 1729 阅读 · 0 评论 -
NS2中Mac802_11::recv(Packet *p, Handler *h )函数解析
voidMac802_11::recv(Packet *p, Handler *h){ struct hdr_cmn *hdr = HDR_CMN(p); /* * Sanity Check */ assert(initialized()); /* * Handle outgoing packets. */ if(hdr->direction() == hdr_c原创 2017-06-30 13:53:34 · 952 阅读 · 2 评论 -
NS2:tcl 脚本运行时的流程,调用的类和函数
一般的方法都是在 C++ 中定义的 , OTcl 一般通过 unknown{}, cmd{}, 调用 C++ 的 comand{}, 然后在调用到 C++ 的方法; 而直接在 Otcl 中定义方法的情况比较少见 , 但也不是没有。 tcl 脚本运行时的流程:set val(proc) Propagation/TwoRayGroundset val(netif) Phy/转载 2017-09-12 10:53:36 · 1823 阅读 · 0 评论 -
NS2整体实现机制(转)
1. NS的整体的实现固定网络的仿真是通过下面三层合作来实现的。 Application这个层是实现数据流的层次。Agent这个层是实现所有各层协议的的层次。Node这个部分由多个分类器(Classifier)实现了所有接收数据包进行判断是否进行转发或接收到Agent的部分。Link实现了队列、时延、Agent、记录Trace等一系列的仿真问题。2.转载 2017-10-30 16:44:28 · 485 阅读 · 0 评论