当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]Zebra与BGP路由监测的实现

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


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的动态行为。通过Zebra建立一个监测代理,连接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”和“?”即为起源属性。“*”标记后紧跟着“>”标记,表明该条路径是最优路径,其他的为合法路径。[!--empirenews.page--]


    基于路径的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协议交互,监测代理可捕获关于整个网络的路由信息。由于监测代理不能进行包的转发,且不主动发送路由信息,因此不能对网络和路由器造成太大的负担。该策略能够有效监测全网的路由变化情况,并通过可视化的手段创建了良好的人机交互界面。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭