NS2源码图示---物理层 (转帖)

Channel(信道)
    信道在通信系统中算是比较底层的东西了,你可以把它看作是通信的介质(声音通过空气才可以传播,信道的作用类似于空气)。无线通信中的信道具体可以指频率或者CDMA中的码道。
    程序中的信道,我宁愿把它想像成管道之类的东西,毕竟它的作用就是连接通信的两端。言归正传,我们来看看NS2中的有线信道吧,对应代码在channel.h和channel.cc中,大致的结构如下图: 

 

它对外的主要接口是向上层发送sendUp和接受recv;
    我们再来看一下无线信道,对于的源码也在channel.{h,cc}中。大致的结构如下图:

 

主要的接口同上。Channel应该提供基础设施来支持Mac的载波侦听、竞争和冲突检测,不过ns2.29中,这部分代码都被注释掉了。说明:上图并未列出无线信道的所有属性,只是把主要属性和接口示意出来,下面的图示也是如此。

 

Phy (物理层)

     在介绍Phy之间,先介绍一个通用连接“上下”的连接器BiConnector,大致的示意图如下:

它起到了“承上启下”的连接作用,它是一个虚基类,所有有上下层次关系的构件都可以继承它,Phy就是其中之一。BiConnector拥有指向上和指向下的指针uptarget、downtarget,通过它们可以迅速的地找到“上面”和“下面”的构件。此外,它还有向上通信(发送)和向下通信(发送)的接口sendUp、sendDown,以及接收接口recv;
     Phy继承了BiConnector,自然具有BiConnector的所有属性和接口,但是它也有自身的一些特别重要的属性,请先看示意图:

 

为了突出重点,图中省略了一些从BiConnector继承的属性。注意图中的chnl_link_和node_link_都是结构体类型。chnl_link_的定义如下:
struct {                                                    
       Phy *le_next; /* next element */        
       Phy **le_prev;     /* address of previous next element */
}
chnl_link_的作用是把连在同一条信道(channel)上的Phy都串起来,
node_link_的作用是把连在同一个节点上的Phy都串起来。其它的两个属性node指向节点,channel指向信道。
物理层的主要作用是控制信道的访问,同时也能够设置带宽和计算传输时间等。
Channel和Phy合在一起可以看作我们通常所说的物理层,这样Channel就负责模拟数据包在物理层上的传输,Phy负责控制Channel传输。

 

原文地址:http://happywh583.blog.sohu.com/67413384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值