Zebra与BGP路由监测的实现
置BPG网络时就需要配置BGP模块的文件,这给用户的使用带来问题,为解决此问题,Zebra提供一个称为vryshell的集成用户接口脚本。Zebra的内核模式采用多线程方式。
4 使用Zebra建立BGP监测代理
使用Zebra建立BGP监测代理的步骤。Zebar的安装:
(1)解压软件包:#tar zxvf zebra-0.94。解压后会出现zebra-0.94目录,进入zebra-0.94目录;
(2)运行./configure进行配置;
(3)运行make;
(4)运行make install;
这时在/usr/local/sbin看到有bgpd、ospf6d、ospfd、ripd、ripngd、zebra6个文件。同时/usr/local/etc目录中会出现bgpd.conf.sample、bgpd.conf.sample2、ripngd.conf.sample、ospfd.conf.sample、ospf6d.conf.sample、zebra.conf.sample、ripd.conf.sample7个文件;复制zebra.conf.sample为zebra.conf,不要自定义文件名,因为启动zebra时系统要查找zebra.conf文件,将其他的*.conf.sample也复制成*.conf文件,Zebra的各进程有各自的终端接口,这样zebra的所有端口都可以使用telnet localhost端口号>进入。
在/etc/services文件中添加如下内容:
5 BGP监测
基于路径的AS级拓扑发现算法,其拓扑信息来自于BGP更新消息及BGP路由表。从BGP路由表中可获得路径属性,包括AS路径(AS path)、下一跳(Next Hop)、起源(Origin)。其中,AS path属性被BGP用来确保无环路环境;下一跳属性说明了用于去往目的地的下一跳IP地址;起源属性定义路径信息的起源,它可以是下列3个值之一:(1)IGP,说明路由在起始AS的内部,在BGP表中用i表示;(2)EGP,说明路由通过外部网关协议而学到,在BGP表中用“e”表示;(3)不完全,说明路由起源未知或通过别的方法学到,该条路径可能不完整,在BGP表中用“?”表示。
以下是BGP路由表的一个片断,其中由符号“*”标记的每1行,代表1条记录。记录的1l列Network指出目的IP,该列的值或者为一个单独的IP地址(如126.0.0.0)或者为一个网段的IP地址,包括掩码(如128.0.0.0/3)。第2列NextHop指明AS路径中第1跳的IP地址。第3列Metric LocPrfWeight是该条路径的权值。第4列Path即为从源IP(198.32.162.100)到目的IP的AS路径。路径结尾的字符“i”,“e”和“?”即为起源属性。“*”标记后紧跟着“>”标记,表明该条路径是最优路径,其他的为合法路径。
基于路径的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协议交互,监测代理可捕获关于整个网络的路由信息。由于监测代理不能进行包的转发,且不主动发送路由信息,因此不能对网络和路由器造成太大的负担。该策略能够有效监测全网的路由变化情况,并通过可视化的手段创建了良好的人机交互界面。
- 基于光纤到户技术实现智能小区三网融合(05-14)
- 基于DDC和DUC的大带宽DRFM设计与实现(04-24)
- 电子引信检测设备实现通用化应用(04-17)
- 融合是实现新一代门禁及电脑桌面登录安全性的关键(02-26)
- 基于基站定位和 GPS 的双定位跟踪系统架构和实现(12-19)
- 利用RF预失真实现功放线性化(12-14)