为了理清楚NS
底层源码的实现原理以及给后来人一些借鉴,我打算近期把
NS
底层的东西用图示的方式表达出来。为了便于入手和理解,我将从最底层开始画起:
第一篇 Channel(信道) ![]()
它对外的主要接口是向上层发送sendUp和接受recv;
主要的接口同上。Channel应该提供基础设施来支持Mac的载波侦听、竞争和冲突检测,不过ns2.29中,这部分代码都被注释掉了。说明:上图并未列出无线信道的所有属性,只是把主要属性和接口示意出来,下面的图示也是如此。
Phy (物理层) 在介绍Phy之前,先介绍一个通用连接“上下”的连接器BiConnector,大致的示意图如下:
它起到了“承上启下”的连接作用,它是一个虚基类,所有有上下层次关系的构件都可以继承它,Phy就是其中之一。BiConnector拥有指向上和指向下的指针uptarget、downtarget,通过它们可以迅速的地找到“上面”和“下面”的构件。此外,它还有向上通信(发送)和向下通信(发送)的接口sendUp、sendDown,以及接收接口recv;
为了突出重点,图中省略了一些从BiConnector继承的属性。注意图中的chnl_link_和node_link_都是结构体类型。chnl_link_的定义如下: |
NS2源码图示---物理层
最新推荐文章于 2017-11-06 19:20:29 发布