ns中有四种路由策略 Static Routing、Session Routing、Dynamic Routing 和 Manual Routing. 一个路由协议是某一特定算法的实现. 目前 Static Routing 和 Session routing 使用 Dijkstra's all-pairs SPF algorithm, 而 Dynamic routing 使用 Distributed Bellman-Ford algorithm。Unicast routing 相关指令 rtproto 指令用来指定在仿真时所需要用到的 unicast routing protocol, 可以接参数.
每次仿真开始的时候都会执行compute route函数 生成路由表
rtmodule使用一个 add route函数把路由算出来的结果加载到节点上,也就是说, routelogic是全局的, rtmodule是每个节点自己的
然后classfier根据加载到每个节点上的路由结果来选路
manual里面有狠详尽的介绍. 可以看一下有关章节, 我记得routing是chapter 26
如果要加载自己的路由模块, 一般是在ns路由机制的基础上进行的, 可以设routelogic的时候, 定义自己的routelogic, 同时设置节点为自己的节点, 调用自己的classifier rtmodule, 就可以了.
这些定义首先是在tcl里面进行, 然后用C++函数进行支持 |