"Linux系统下OLSR路由协议研究及实现,硕士学位论文,作者:严雯,指导教师:郭伟,申请学位级别:硕士,专业:通信与信息系统,20090501"
OLSR(Optimized Link State Routing)协议是一种在Ad Hoc网络中广泛使用的主动路由协议,其主要特点是简洁、实用且性能优异。在Linux系统环境下,OLSR协议的实现涉及到对协议工作原理的深入理解以及适应Linux特性的设计。协议的实施过程中,需要维护一系列的数据表以保持网络信息的准确性和实时性。
OLSR协议维护的数据表包括以下几个关键部分:
1. 邻居表:记录与当前节点直接相邻的节点信息,用于确定网络中的直接连接。
2. 两跳邻居表:记录距离当前节点两跳之内的节点,有助于识别更远的网络连接。
3. MPR(Multipoint Relays)表:包含被选为多点中继的节点信息,这些节点负责广播路由信息。
4. MPR Selector表:记录那些选择当前节点作为其多点中继的邻居节点,帮助确定中继角色。
5. 拓扑表:保存网络的拓扑结构信息,用于路径选择。
6. 路由表:存储从当前节点到其他所有节点的路由信息,指导数据包的转发。
7. 重复表:记录网络中各个节点的数据包序列号,用于检测和避免重复的数据包。
OLSR协议的数据表更新条件是动态的,主要由以下事件触发:
- 收到HELLO消息:会更新邻居表、两跳邻居表和MPR Selector表,确保网络连接的实时信息。
- 定时器时间到:触发对过期表项的删除,例如两跳邻居表、拓扑表和MPR Selector表的表项过期。
- 邻居或两跳邻居的增减:例如新节点加入或离开网络,需要更新相应的邻居表和两跳邻居表。
- 拓扑变化:当网络结构发生变化时,拓扑表需要更新。
在Linux系统下实现OLSR协议时,需考虑Linux内核的特性,比如网络接口的管理、数据包的收发以及内核模块的编写等。此外,论文中还提出了对OLSR协议的改进方案——SRM SB.OLSR,它增加了带宽感知和多路径路由功能,通过引入源路由机制和加权分配的循环调度算法,不仅提高了网络效率,还能有效地平衡网络负载。
SRM SB.OLSR的单路径带宽感知路由算法优先选择具有最大带宽的最短路径,而多路径路由则提供多条不相交的到达目的地的路径,以提高网络的容错能力和负载均衡能力。这种改进在高网络负载情况下,可以显著降低丢包率,减少传输延迟,提升整体网络性能。
关键词:OLSR协议,带宽感知,多路径路由,源路由机制
OLSR协议在Linux环境下的实现涉及到多个层面,包括协议数据表的维护和更新,以及对协议的优化改进,以适应动态变化的Ad Hoc网络环境,提高网络效率和服务质量。