全球互联网监控篇之---《BGP的那些事情》

BGP简介

边界网关协议(BGP)是互联网上最广泛的域间路由协议,它的主要功能是在自治系统之间交换可达性信息。每个AS通过BGP更新消息向其它AS通告到其本地前缀的路由和从其邻居学习得到的优选路由。这样的消息提供了关于如何通过有序AS跳数的列表来达到目的地的信息,称为AS路径。

全球互联网监控篇之---《BGP的那些事情》

BGP路由信息

图1 BGP路由信息

图1是从AS1到目标IP前缀1.2.3.0/24的BGP路由信息。图1可以说明,1)从AS1到1.2.3.0/24的AS路径是AS1、AS2、AS3;2)AS1的入口AS路由器IP是3.3.3.3。因此,BGP数据能够得到AS路径开始AS号的入口路由器IP。但是,BGP数据无法得到,1)开始AS号的出口路由器IP,如图1中AS1的出口路由器A的IP;2)中间AS号的出入口路由器IP,如图1中AS2的入口路由器B的IP和出口路由器C的IP。

BGP路由器在路由信息库(RIP)中维护可达性信息,这些可达信息存放在3个集合当中:

1)Adj-RIBs-In: 从邻居AS的入站更新消息中学习得到的路由信息;

2)Loc-RIB: 通过应用本地策略(例如,最短路径、与邻居的对等关系)从Adj-RIB-In中选择的路由;路由器将路由信息存放到路由表中以确定在哪里转发分组。

Adj-RIBs-Out:从Loc-RIB中选择的路由,路由器将向其邻居通告这些路由;对于每个邻居,路由器基于本地策略(例如,对等关系)创建特定的Adj-RIB-Out。

BGP数据采集

一些运营商收集其路由器上生成的BGP路由信息,用于监视、故障排除和研究目的。BGP的looking glass给用户有限的权限(例如,只读)来访问一个路由器的命令行接口,或允许用户下载路由器的当前状态的ASCII码格式的输出。looking glass是一个交互式探索,而不是系统和连续的数据采集。后者可以通过(1)使用分布式系统(路由收集器)与被监控路由器建立BGP对等会话来实现; (2)通过专门为监控目的设计的协议,例如OpenBMP。OpenBMP是IETF草案中定义的BGP监控协议的开源实现,支持JunOS和Cisco IOS的最新版本支持。该协议允许用户周期性地访问路由器中的Adj-RIBs-In,或者监视其BGP对等会话。虽然OpenBMP可以很容易地部署在AS中以监视其BGP路由器,但是目前还没有项目公开这些数据。而路由收集器通常用于此目的。路由收集器是运行收集器进程(例如,Quagga)的主机,它模拟路由器,并与一个或多个真实路由器(探测点图1中的VP)建立BGP对等会话。每个探测点在每次Adj-RIB-out更改时发送给收集器更新消息(更新),反映对其Loc-RIB的更改(图2)。

全球互联网监控篇之---《BGP的那些事情》

图2 通过建立BGP对等会话收集路由信息

通常,与收集器的BGP会话被配置为客户-提供者关系,即好像探测点正在向收集器提供传输服务。在这种情况下,探测点被称为全馈送,因为它将向收集器通告Adj-RIB-Out,该Adj-RIB-Out包含其Loc-RIB中的整个路由集。通过这种方式,收集器在每个瞬间都知道探测点将用于到达因特网其余部分的所有首选路由-该路由器可见的因特网拓扑图的部分视图。相反,部分馈送探测点将通过其Adj-RIB-Out仅提供其Loc-RIB中的路由的子集,例如,到其自身网络的路由或通过其客户学习的路由。不幸的是,公开提供收集者所获取信息的项目没有将探测点标记为完全或部分馈送,因为与收集者的对等通常是在自愿的基础上建立的,并且探测点行为可以不经通知而改变。因此,必须从数据(例如,Adj-RIB-Out的大小)动态地推断确定与收集器共享的Adj-RIB-Out的策略。

对于每个探测点,收集器保持会话状态和来自更新的Adj-RIB-Out输出表的镜像。收集器以分别几小时和几分钟的频率周期性地转储:(1)所维护的Adj-RIB-out表(RIB dump)的快照,(2)自上次转储以来从其所有探测点接收的更新消息以及状态改变(Updates dump) 。RIB dump提供了对BGP路由表变化的有效总结,它具有粗略的时间粒度,足够用于研究。相比之下,Updates dump携带大量要处理的信息,但是提供了可观察的路由动态的完整视图,从而支持其他类型的分析和近实时监视应用程序。

常用的数据源

最流行的项目是RouteViews和RIPE RIS。它们目前分别运行18个和13个收集器,这些收集器分布在全世界,分别有约380和600个探测点(这个数字每年都在增加)。分析来自多个探测点的数据对于大多数互联网研究来说都是非常重要的,因为每个路由器对互联网拓扑结构都有有限的视角,即使当完全馈送时,探测点也只共享部分信息(首选路由)。此外,通过路由基础设施可见的宏观互联网现象(例如,停机、网络攻击、对等关系、性能问题、路由泄漏、路由器漏洞)根据地理、拓扑、路由器操作系统、硬件特征和运营商以不同方式影响因特网路由器。这种分布式和详细的-即使域间路由平面的部分视图,也会生成大量的数据(仅2015年收集的压缩数据就超过2TB)。RouteViews和RIPE RIS收集器每2和8小时保存一个RIB dump,每15和5分钟保存一个Updates dump。这两个项目都以IETF标准化的二进制格式保存RIB dump和Updates dump,称为多线程路由工具包(MRT)路由信息导出格式。RouteViews和RIPE RIS档案可以分别追溯到2001年和1999年,使得纵向研究能够理解互联网基础设施的演变及其在其他领域的影响。


分享到:


相關文章: