opnet之aloha进阶csma

胡思乱想

接收机与发射机

发射机

发射机的输入端是包流,包的到达是随机的。包一旦到达,发射机就将包发送到信道上去。这说明发射机在实时的监控输入的包流,包流的有无对应状态0和1。上升沿的时候,计包从无到有,发射机接收这个上升沿,然后将包发送到链路上去。

接收机

接收机的输入端是是链路,接收机实时的接收链路中的信息,即包的有无。这种状态信息对应的就是状态的0和1。一旦状态由0变1,表示链路上有包到达,然后接收机接受这个包。

发射机发射包或者接收机接收包都把状态信息的变化过程给隐藏了,有时候我们就是需要这个状态信息,比如实时的监控信道是否空闲。

数据线上的状态信息

bit errror rate

当包完整接收的时候,可以获取这个包的误比特率。这个数据的获取需要对比发射机发送的包和接收机接收的包,且一个一个比特的对比。这里直接给出了统计结果,不需要我们自己去用函数去计算。误比特率这个信息在接收机完成接收的时候就完成。

busy

信道的空闲前面已经介绍过

collision status

竞争性mac协议容易发生包的碰撞,一旦包完成接收就可以判断出包是否与其他包发生了碰撞。至于碰撞的检测机理可以想象。

pacet loss ratio

包有可能在信道上丢失了。

throughput

吞吐量和流量的区别在于吞吐量计算的是正确接收或发送的包的个数。

utilization

信道带宽的利用率。这个信息的获取有点全局统计量的风格。

输入包流

  • 对输入包流缺乏一个更加深入的认识。之前我们只知道一旦输入包流中有包到达,即触发流中断。
    可见输入流中有一个实时的监控机制,监控着输入流的实时状态。一旦有新包的到达,即产生一个上升沿。
  • 这个状态可以是多级阶梯状。
  • 输入包流是一个队列,按照先入先出的顺序排队(这个队列的空间是多少??)。

包流是否会累积

  • 在aloha模型中,一旦有包到达,发射机就把包发送出去,所以是没有包在输入流中排队的。
  • 之所以会出现包流排队的情况是因为包到达的时候还得看其他条件是否满足才能满足。即多个条件共同决定是否发包时会产生包的排队。
  • 包的排队是自发的。

简单csma状态图分析

节点模型:

进程模型:

如何分析状态转移的逻辑

主要看节点模型的输入量

tx_proc模块有两个输入量:

  • 数据线的信号
  • 输入流的信息

idle

init进入idle后等待。
1.包到达且信道空闲,进入tx_pkt状态
2.包到达且信道繁忙,进入wt_free状态
3.包没到达,不论信道是什么状态都会进入自身原状态,条件为default。

wt_free

wt_free状态指的是包流中有包但是信道繁忙。
1.信道空闲且有包到达,进入tx_pkt状态
2.信道空闲且无包到达,进入tx_pkt状态

3.信道繁忙且有包到达,进入自身原状态
4.信道繁忙且无包到达,进入自身原状态

tx_pkt

tx_pkt先从输入流中获取队列中最前面的包,然后发包。

1.队列中有包且信道空闲,进入自身状态
2.队列中有包且信道繁忙,进入wt_free状态
3.队列中无包且信道繁忙,进入idle状态
4.队列中无包且信道空闲,进入idle状态

注:

        a.包是否到达b.信道是否空闲c.队列中是否已经排队
        a.但凡是中断信号都是一个瞬时条件,流中断就是一个瞬时条件。流中断之后的状态就是一个非瞬时条件,aloha进阶csma模型中用了流中断的瞬时条件也用了流中断之后的非瞬时条件。b.信道状态是一个非瞬时条件。

Aloha vs CSMA

tags:opnet

本文链接:https://my.lmcjl.com/post/7629.html

展开阅读全文

4 评论

留下您的评论.