batman-adv协议相关概念
来源:互联网 发布:西部域名怎么解析 编辑:程序博客网 时间:2024/05/01 15:42
二、batman-adv协议相关概念
由于ad-hoc网络的特殊性,此种网络不具有固定的结构,网络拓扑动态变化,并且基于不可靠的固有的介质(are based on an inherently unreliable medium),使得传统协议不再适用。
OLSR协议是如今使用最为广泛的ad-hoc网络协议,由于城域mesh网的发展,OLSR已经在原版的基础上做出了很大的变化。在MPR机制与迟滞现象(Hysterese)在现实网络中显得不再适用的时候,OLSR加入了鱼眼与ETX机制。然而,随着Mesh网的网络规模逐渐扩大,并且所有的链路状态路由协议都不可避免的要重新计算全网拓扑,对资源消耗较大,在小型的嵌入式系统中会造成较大问题。经测算,在一片小型嵌入式芯片中,当节点规模为450时,重新计算全网拓扑时间达到数秒。
Batman-adv协议致力于将最佳端到端路径问题从Mesh网中的节点分割成所有实际组网节点。所有节点仅仅感知并存储到到所有其他节点的最优下一跳信息。这样,全网拓扑的感知与计算问题就得到解决。此外,一种事件驱动并且无超时(无超时是指batman-adv不会为拓扑信息设置时效或周期更新来优化路由决策)的洪泛机制避免了拓扑信息的无限增长和减少mesh网中洪泛拓扑信息的数量(减少了链路负载)。该算法的设计用于处理链路不稳定的网络情况。
简述一下batman-adv的运行机制。每个节点传输广播包(OGM包)来向其邻居节点告知它的存在。然后它的邻居也将这些OGM包通过一些特殊机制重新广播来告知它们各自的邻居,这样两跳邻居也能感知到该节点的存在。这样,随着这些OGM包被不断转发,更多节点能感知到该节点的存在。OGM不叫小,传统数据包在包含UDP和IP报头的时候大约是52byte,OGM至少包含源节点地址,转发节点地址,TTL和段号。
OGM在质量较差或不稳定的链路上传输时,会出现丢包和延时的情况。因此,通过较好的链路传输时会更快,更稳定。为了标识OGM被收到一次或多次,OGM包在从源端发出来时携带有段号,每个节点最多只转发一个OGM一次,并且只接收最早到达和最稳定的OGM包,转发该包的邻居节点被认定为到源节点的最佳下一跳。
- batman-adv协议相关概念
- BATMAN-ADV
- batman-adv主要结构体
- batman-adv路由算法分析
- batman-adv-kernel-android-(make-depmod-modprobe)
- batman-adv链路传输质量计算方法
- [batman-adv]学习(1) —— Overview
- batman相关配置修改
- Have you considered compiled a batman-adv.ko for android?
- (OK) install—batman-adv—batctl—CentOS7
- (OK) install—batman-adv—batctl—CentOS7
- batman-adv中OGM学习包代码处理流程
- [batman-adv]学习(2) —— Quick Start
- BATMAN
- HTTP协议的相关概念
- CORBA协议相关的概念
- (OK) 编译batman-adv.ko—成功—android—cm11源码—下载
- batman-adv——B.A.T.M.A.N. Advanced quick start guide
- Thrift学习(1)C#调用Java开发步骤详解
- JSP入门
- 负载均衡之起始篇
- Java 数组的声明方式
- Android:三星指纹解锁SDK
- batman-adv协议相关概念
- 提取不重复的整数
- batman_adv主要数据包格式与作用
- iOS-UIImageView对象
- 安卓核心组件一activity
- 引用和指针
- jdk环境变量的设置
- batman-adv主要结构体
- mybatis源码之StatementHandler