新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > Zebra与BGP路由监测的实现

Zebra与BGP路由监测的实现

作者:时间:2009-07-23来源:网络收藏

摘要:主要研究边界网关协议()网络拓扑动态重构及网络稳定性。通过软件一个具有部分器功能的代理,并将其连接到网络中一台边界器,通过它们之间的协议交互,代理可捕获到整个网络的路由信息,并籍此进行BGP路由
关 键 词:边界网关协议(BGP);路由监测;;BGP拓扑

本文引用地址:http://www.eepw.com.cn/article/157948.htm


1 引言
随着计算机网络的迅猛发展,网络规模越来越大,网络也越来越复杂。传统的网络管理方式已不能满足新的需求。因此,传统网络管理效率低下,就成为当前急需解决的问题。网络的核心是路由,通过对路由的分析,能够获得大量关于网络的信息。因此,路由监测已成为网络运行和管理的重要研究内容。
通过一个具有部分路由器功能的监测代理,捕获整个网络的路由信息。通过路由信息就能分析整个网络的动态性。这里主要研究边界网关协议BGP(border gateway protocol)网络拓扑动态重构及网络稳定性。网络拓扑变动直观反映了BGP动态性,通过网络拓扑的变化能够清晰的获得故障信息,从而能及时排除故障。通过路由信息,了实时、动态的网络拓扑构造算法,并通过图形化的方式显示。


2 BGP域间路由监测
从管理范畴角度看,Internet由不同的自治系统(Autonomous System,AS)构成。自治系统指相对独立的网络,在一个自治系统内有自主的路由策略。这些AS可能分别隶属于不同的Internet服务提供商(Internet Service Provider,ISP),而不同的ISP可能重组成新的ISP,从而形成动态的管理组织结构。在AS内部,通过域内路由协议(InteriorGateway Protocols,IGP)管理调度路由,如OSPF、IS-IS和RIP等;在AS之间通过公共网络访问点(Network Access Point,NAP)和边界网关协议交换路由信息。BGP与IGP最明显的不同在于BGP允许每个AS按自己的路由策略选择、通告和接受路由,为路由选择提供了灵活机制。然而,为了这种灵活的路由机制,BGP协议的配置也十分灵活以适应各种复杂的任务,但这种灵活性也容易在配置中造成错误。一些小的本地错误配置可能造成网络中断,甚至影响整个Internet的连接。因此对于AS问路由策略的监视和验证是十分必要的。
BGP-4是一个集距离向量算法和链路状态算法于一身的协议,通过分析路由交互信息,特别是Update帧中的AS Path属性,可以得到从观测点到目的网络的AS序列。将这些序列整合,可得到关于整个网络的拓扑。另外,BGP-4是一个动态的路由协议,除了在初始情况下交互全部的路由表,BGP-4会以增量的方式发送路由变化信息。这些信息都通过Update帧发送给邻近的BGP-4 Router。通过动态的信息分析,可动态实时分析整个BGP网络。
为研究BGP网络的动态行为,首先要对BGP路由进行监测。传统基于路由表下载的路由监测加重了路由器和网络的负载,有着很大的缺陷。为解决路由监测问题,提出一套基于路由交互的域间路由监测方法,基于该方法对网络和路由器造成极小负载的前提下,采集BGP路由信息,通过该信息分析BGP的动态行为。通过建立一个监测代理,连接BGP网络中的一台边界路由器,这样,该监测代理就能接收到路由交互报文,这样,可监测和分析BGP网络的动态性。通过生成BGP网络的拓扑,实现对BGP网络的整体观测,以及对自治系统间路由变化的监测。


3 Zebra简介
Zebra是一种TCP/IP路由软件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL标准,可运行于Linux和其他Unix变体系统。Zebra套件是由Kunihiro Ishiguro和Yoshinari Yoshikawa于1996年开发的。目前,Zebra套件主要由IP Infusion公司负责维护。Zebra利用模块法管理各种协议,可根据网络求需要激活或停止协议。
Zebra的特点如下:
(1)模块化 Zebra使用多线程方式可使其容易升级和维护。某一协议模块的升级不会影响其他协议模块的运行。
(2)高速 Zebra具有比传统路由软件更高的包转发速度。
(3)可靠性 Zebra本身具有较高的可靠性。某一模块的失效不会影响到其他协议模块的执行。
Zebra的系统结构:传统路由软件多采用单线程方式提供所有路由协议的功能。Zebra则完全不同,它采用一组守护进程共同维护路由表。如ripd守护进程处理RIP协议,ospfd用于支持ospf的守护进程,bgpd用于支持bgp-4。同时为了管理内核路由表,用守护进程zebra管理内核路由表。图1所示为Zebra的系统结构。

这种多进程方式带来了可扩展性、模块化和易维护性。同时也带来多个配置文件和接口。每一个守护进程都有自己的配置文件和终端接口。当配置一个模块时需要在Zebra配置文件上进行配置。当配置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”和“?”即为起源属性。“*”标记后紧跟着“>”标记,表明该条路径是最优路径,其他的为合法路径。


上一页 1 2 下一页

关键词: 实现 监测 路由 BGP Zebra

评论


相关推荐

技术专区

关闭