zoukankan      html  css  js  c++  java
  • 基于路径避免的拥塞控制策略

    文章题目:A DTN Congestion Avoidance Strategy Based on Path Avoidance [ICFCC’2010]

    基本思想:

    1,把缓冲区分成三部分,见下图:

    image

    其中,Direct Transmission Storage大小是固定不变的,用于传输出口链路刚好可用的消息以及一些控制报文。

    保管消息与临时消息的存储空间都有一个最小值,并允许在不打破对方的最小值的前提下进行弹性伸缩。

    2,节点的状态根据拥塞情况分为三种:

    NS(正常状态),CAS(拥塞临近状态),CS(拥塞状态)。

    状态的定义有一个阈值及缓冲区占用率超过阈值的持续时间来决定。如下图示:

    image

    3,路径避免。

    节点在每次拥塞状态发生改变时向其K跳内的邻居节点发送拥塞通知消息,该消息结构如下:

    image

    邻居节点根据收到的拥塞信息,设置链路状态:

    如果收到NS消息,即到该节点的路径正常。

    如果收到CAS消息则置到该节点的链路为Half-Hanged状态。

    如果收到NS消息则置到该节点的链路为Hanged状态。

    路由策略对链路状态的反应:

    如果为Half-Hanged状态,则尽量避免该链路,除非不得已。

    如果为Hanged状态,则无论如何都不往该链路发消息,即链路完全单向。

    4,仿真环境。

    基于Community-based improved model。将2000m X 3000m的区域分成6个子区域,每个子区域都有一个网关。该网关固定且不停提供转发服务。每个节点都属于某一个子区域。节点访问自己所属区域的概率大于访问其他区域的概率。

    节点选择一个目的地并以某个速度向其移动,到达后停留一段时间然后选择新的目的节点以此过程继续。如果节点不在它所属的子区域内,则它以很高的概率回到自己的区域。

  • 相关阅读:
    Thinkphp下实现D函数用于实例化Model格式
    Thinkphp3.2下导入所需的类库 同java的Import 本函数有缓存功能
    Thinkphp下记录和统计时间(微秒)和内存使用情况
    python打造seo必备工具-自动查询排名
    Python爬虫爬企查查数据
    解决Android8.0系统应用打开webView报错
    团队冲刺第七天个人博客
    团队冲刺第六天个人博客
    团队冲刺第五天个人博客
    团队冲刺第四天个人博客
  • 原文地址:https://www.cnblogs.com/jcleung/p/1995200.html
Copyright © 2011-2022 走看看