基于bgp协议分析的as域流量监控系统的设计与实现

上传人:xzh****18 文档编号:44605892 上传时间:2018-06-14 格式:PDF 页数:9 大小:589KB
返回 下载 相关 举报
基于bgp协议分析的as域流量监控系统的设计与实现_第1页
第1页 / 共9页
基于bgp协议分析的as域流量监控系统的设计与实现_第2页
第2页 / 共9页
基于bgp协议分析的as域流量监控系统的设计与实现_第3页
第3页 / 共9页
基于bgp协议分析的as域流量监控系统的设计与实现_第4页
第4页 / 共9页
基于bgp协议分析的as域流量监控系统的设计与实现_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于bgp协议分析的as域流量监控系统的设计与实现》由会员分享,可在线阅读,更多相关《基于bgp协议分析的as域流量监控系统的设计与实现(9页珍藏版)》请在金锄头文库上搜索。

1、http:/ -1- 基于基于 BGP 协议分析的协议分析的 AS 域流量监控系统的域流量监控系统的 设计与实现设计与实现 录显明 北京邮电大学信息处理与智能技术重点实验室,北京(100876) E-mail: 摘摘 要要:通过对 BGP 协议的分析,可以提取出各个 AS 域所对应开放的路由信息,之后我 们可以根据这些路由来进行 AS 域的流量监测与控制。基于这一理论,本文提出了一个实现 该功能的系统模型,并就了各部分模块的功能进行了说明。 关键词:关键词:BGP 协议分析,AS 号码资源,流量监控 1. 前言前言 由于一个 AS 域号通常代表了一个网络,比如一个 ISP、一个学术网或一个企业

2、团体等组织, 所以通过对某一 AS 域的流量进行监测, 我们可以确定该 AS 域的网络流量走向统计,进而达到资源合理调度的目的。 这对于运营商来说可以用来调度网络的配置, 比如对于中国电信(AS4810)来说,通过监测 AS 域流量,我们发现去往教育网(AS4789)的流量很大,但是网速很慢, 则电信就可以多开放一些去往教育网的路由, 或者可以提供通往教育网的高速有偿服务, 来达到资源的合理调度; 再有, 如果电信发现有大量的流量是从教育网出来的,但是流经电信去了移动(AS24059) ,则电信就可以减少一些去往移动的路由或者进行收取过路费的有偿服务。即有 AS 域的流量监控系统通过对网络出口

3、流量和流向的分析,可以详细了解本地 AS 域网络与其他外部 AS 域网络之间的访问情况,从而有效地选择与其他网络的互联方式和互联地点,节约互联链路费用。 2. BGP 协议介绍协议介绍 AS(Autonomous System 自治域)指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有 RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是 BGP。 在各个 AS 中分配有称作“AS 号”的全世界不重复的固定号码,以 IANA 为中心进行管理。通常,一个 AS 号被分配给一个 ISP(学术网和企业网等 ISP 以外的组织也能取得

4、 AS 号) 。 作为外部网关协议,BGP(Border Gateway Protocol 边界网关协议)发送和引入路由的单位是整个 AS 自治区域, 即 BGP 要发送本地路由器所在的 AS 内部的所有路由, 引入其它AS 自治区域的所有路由。 它的主要功能是与其它自治域的 BGP 交换网络可达信息和自治域路径信息。 网络可达信息就是指路由信息,它是发出该条信息的 AS 域所开放的 IP 地址列表。自治域路径信息则包括到达某个特定网络须经过的自治域串(AS 号 列表) 。这些更新信息通过 TCP 传送出去,以保证传输的可靠性。 2.1 BGP 协议的路由信息交互过程协议的路由信息交互过程 B

5、GP 采用发送路由增量(Incremental)的方法,完成全部路由信息的通告和维护:初始化时发送所有的路由给 BGP 对端(BGP Peer),同时在本地保存了已经发送给 BGP 对端的路由信息。当本地的 BGP 收到了一条新路由时(如通过 IGP 注入了新路由或加入了新的静态路http:/ -2- 由),与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由花费更小,则发送此新路由,同时更新已发送信息,反之则不发送。当本地 BGP 发现一条路由失效时(如对应端口失效),如此路由已发送过,则向 BGP 对端发送一个退出路由消息。 BGP 路由信息发送采

6、用 TCP 连接,端口号为 179。 2.2 BGP 协议格式协议格式 BGP有 4 种类型的消息1。分别为 OPEN,UPDATE,KEEPALIVE 和 NOTIFY。它们有相同的消息头。 消息头结构: Marker : (16 字节) 鉴权信息 ; Length : (2 字节) 消息的长度 ; Type : (1 字节) 消息的类型: 0 -OPEN、 1 -UPDATE、 2-NOTIFICATION、 3 -KEEPALIVE。 OPEN 消息结构: Version :(1 字节) 发端BGP版本号; My Autonomous System :(2 字节无符号整数) 本地 AS

7、号; Hold Time :(2 字节无符号整数) 发端建议的保持时间; BGP Identifier :(4 字节) 发端的路由器标识符; OptParmLen :(1 字节) 可选的参数的长度; Optional Parameters :(变长) 可选的参数。 KEEPALIVE 消息结构 KEEPALIVE 消息只有一个消息头。 NOTIFY 消息结构 Error code:(1 字节) 错误代码; Error subcode :(1 字节) 辅助错误代码; Data :(变长) 依赖于不同的错误代码和辅助错误代码,用于诊断错误原因。 UPDATE 消息结构 Unfeasible Rou

8、tes Len :(2 字节无符号整数) 不可达路由长度; Withdrawn Routes :(变长) 退出路由; Path Attribute Len :(2 字节无符号整数) 路径属性长; Path Attributes :(变长) 路径属性(以下详细说明); Network Layer Reachability Information :(变长) 网络可达信息(信宿)。 其中退出路由和信宿地址的表示方法为一 的二元组。 length 一个字节, 指示地址前缀的长度。prefix 为地址前缀,长度 1 至 4 字节。 2.3 BGP 的路径属性的路径属性 每个路径属性由 1 字节的属性标

9、志位,1 字节的属性类型,1 或 2 字节路由属性长度和路径属性数据组成1。 属性标志位各位的具体意义分别如下: 位 0:0 表示此属性必选,1 表示此属性可选; 位 1:0 表示此属性为非过渡属性,1 表示此属性为过渡属性; http:/ -3- 位 2:0 表示所有属性均为路由起始处生成,1 表示中间 AS 加入了新属性; 位 3:0 表示路由属性长度由 1 字节指示,1 表示由 2 字节指示; 位 4 至位 7:未用置 0 。 主要的路经属性类型包括: ORIGIN (Type Code = 1,公认必选属性) 指示此路由起始类型: IGP(value=0)、EGP(value=1) 以

10、及 INCOMPLETE (value=2)。 AS_PATH (Type Code = 2,公认必选属性) AS 路径属性由一系列 AS 路径段(Segment)组成。 每个 AS 路径段为一三元组。 路径类型有: AS_SET(value=1)和 AS_SEQUENCE(value=2) ; 路径段长度用 1 字节表示 AS 号的数量,即最长为 255 个 AS 号; 路径值为若干 AS 号,每个 AS 号为 2 字节。 NEXT_HOP (Type Code = 3,公认必选属性) 此属性为 UPDATE 消息中的信宿地址所使用的下一跳 IP 地址。 MULTI_EXIT_DISC (T

11、ype Code = 4,公认自决属性) 简称 MED 属性。为一 4 字节无符合整数。它在 AS 区域间传播,用来帮助一个其它 AS区域的BGP伙伴选择进入本 AS 区域的人口。 LOCAL_PREF (Type Code = 5,公认自决属性) 本地优先级属性。为一 4 字节无符合整数。它在 AS 区域内传播,用来帮助一个本 AS区域内BGP伙伴选择进入其它 AS 区域的出口。 ATOMIC_AGGREGATE (Type Code = 6,公认自决属性) 元聚合属性。 长度为零。 它表示本地BGP在若干路由中选择了一个较抽象的(less specific)路由,而没有选择较具体(spec

12、ific)的路由。 AGGREGATOR (Type Code = 7,可选过渡属性) 聚合者属性。长度为 6 字节,分别为最后进行路由聚合的路由器的 AS 号(2 字节)和 IP地址(4 字节)。 3. 系统模型系统模型 http:/ -4- 图 1 AS 域流量监控系统的设计架构图 4. 系统实现系统实现 4.1 BGPRouter 模块(协议栈)模块(协议栈) 所谓 BGPRouter,就是编程实现以上的 BGP 协议(即实现 BGP 的协议栈) ,可以对 各类消息类型进行处理。并将其在某一个主机上运行,并在相邻的路由器上进行配置,将该主机设为路由器的“邻居”,这样,在路由器与该主机之间

13、就实现了 BGP 消息的互连,该路由器就可以将其所知道的所有路由信息以 BGP 协议的格式发往主机, 即实现了 BGP 报文的提取。 镜像 BGP 协议交互路由信息 BGP 协议 UPDATE 消息 流控策略 。 。 。 RR 路由器 流量数据处理 路 由 资 源Web 查询路由信息 BGPRouter BGP 报文处理 流 量 数 据数据采集设备 流控策略配置 AS 域 Web 流量分析 DB 上行:查询;下行:手工配置 AS 域对应的 IP 地址 http:/ -5- 图 2 BGPRouter 与 RR 路由器之间的信息交互过程 4.2 BGP 报文处理模块报文处理模块 功能如下: UD

14、P 报文接收:建一个 UDPServerSocket,接收来自 BGPRouter 的报文,并存入缓存。 (2) BGP 报文解析:起一个线程,对缓存中的每个 UPDATE 消息报文进行解析,提取相关参数,直接写入数据库表,或者先写入临时文件,再定期批量导入数据库表。 (3) UDP 报文计数:对收到的报文进行统计,包括接受报文数、发送报文数、丢失报文数,以及 UPDATE 报文数、KeepAlive 报文数、错误报文数。 (4) BGP 路由表维护:起一个定时调度线程,定期把数据从临时文件导入数据库表,以便批量更新 BGP 相关库表中的参数信息,减少数据库连接次数,提高效率。 (5) 创建数

15、据库链接池:初始化数据库连接池,为之后的与数据库表的连接预留资源,以提高数据库连接效率。 (6) 定时读取配置文件:起一个定时调度线程,定期读取配置文件中的一些参数,方便了外部控制及参数变更。 RR路由器BGPRouter1、建立连接任何一方向对方179端口建立TCP连接2、建立BGP-4 PeerOPEN Message交换AS代码等基本信息。一旦交换完毕,就建立在 BGP-4路由器间交换信息的通路BGP-4 Peer3、交换路由信息UPDATE Message相互间交换所拥有的全部路由信息。 但第二次以后只交换变化的部分。4、维护BGP-4 PeerKEEPALIVE Message每隔一定时间交换KEEPALIVE Message来确认 对方路由器是否正常工作。如果经过一段时间原报 文送回,就切断BGP-4 Peerhttp:/ -6- 4.3 数据库表设计数据库表设计 AS 号码由 IANA 统一进行全球分配,故表 1 的 AS 资源可以从 IANA 的官方网站搜集整理得到。2 表 1 AS 资源表。包括:AS 号、AS 名称 AS 所在国家简称、国家名称、AS 所

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号