Zebra与BGP路由监测的实现5
图片看不清楚?请点击这里查看原图(大图)。
基于路径的AS级拓扑发现算法的基本思路,即获取BGP路由表,通过分析得到AS路径的相关信息。从而构造AS级骨干网拓扑,进一步获取BGP更新消息,不断修改完善拓扑结构。图2所示为BGP拓扑实例。
图片看不清楚?请点击这里查看原图(大图)。
图2中AS1表示AS号为AS1的router,其余类推。其中Zebra是配置了Zebra软件的、逻辑上相当于一个AS的router。它和AS1的speaker交互操作。图2中虚线表示在zebra的router的BGP路由表中一条路由记录中的AS_PATH中的AS号。通过图2可以获得图3所示的拓扑信息。
按上述方式就可以逐步发现拓扑关系,但还没有明确该拓扑图中各个AS对应的BGP router的IP。对路由表中的每一行,均存在一个prefix和as_path,其中as_path是一个数组,如图2的每一个虚线内所列;其中在as_path中第1个AS号永远是neighbor,也就是图2中的AS1。而最后一个则为和prefix对应的AS号。
通过这种方式,实现了BGP拓扑信息的获取,具体软件结构如图4所示。实现的界面如图5所示。
图片看不清楚?请点击这里查看原图(大图)。
6 结语
提出了BGP路由监测策略,将一个具有部分路由器功能的监测代理连接到网络中的一台BGP边界路由器上,通过两者之间的BGP协议交互,监测代理可捕获关于整个网络的路由信息。由于监测代理不能进行包的转发,且不主动发送路由信息,因此不能对网络和路由器造成太大的负担。该策略能够有效监测全网的路由变化情况,并通过可视化的手段创建了良好的人机交互界面。