首页 > TAG信息列表 > batadv
BATMAN.adv系列05 数据结构分析
路由结构表 BATMAN.adv是一种主干自组网协议,其最终目的是为网络中的非mesh网节点(客户节点)提供服务。为了管理网络中的mesh节点与非mesh节点,每个运行BATMAN.adv的源节点都有三张路由表用于维护路由信息。 本地路由表(The local translation table):每个mesh节点都存有一张本地路由BATMAN.adv系列04 TVLV包
OGM包为BATMAN.adv协议确定拓扑结构最重要的控制数据包,但其所能承载的信息有限,BATMAN.adv使用TVLV包传递更丰富的信息。TVLV为类型(Type)、版本(Version)、长度(Length)和数值(Value)的首字母缩写,其帧格式如下图 图1 TVLV包帧格式 TVLV包作为一个兼容性极强的数据包,不仅可以直接传递多batman-adv中OGM学习包代码处理流程
OGM学习包是batman-adv协议中十分重要的一部分,对OGM包的接收处理流程也是B.A.T.M.A.N. IV路由算法的基础,图3展示了batman-adv源代码中对OGM包的处理流程。 OGM包处理流程图 如图所示,Mesh节点在接收到OGM包时,函数batadv_iv_ogm_receive()作为OGM包处理流程的入口,之后会交由batad