On Inferring Autonomous System Relationships in the Internet 论文阅读笔记

On Inferring Autonomous System Relationships in the Internet 论文阅读笔记

#拓扑推断

AS 拓扑推断相关的研究(较早)可参考:AS Relationships

介绍

在过去对于互联网架构的研究中,除了(R. Govindan and A. Reddy, “An analysis of Internet inter-domain topology and route stability,” in /Proc. IEEE INFOCOM/, vol. 2, Apr. 1997, pp. 850–857.)这篇文章对于 AS 之间的层级关系有一定的研究,大部分的研究都把物理上的连接性等价于可达性,但由于 BGP 协议使得 AS 之间有着复杂的关系网,两个 AS 相连并不意味着他们可以互相到达。本文是第一个研究 AS 关系并对网络拓扑结构进行特征化描述的文章。

新的知识

文章提到:两个 AS 之间的商业合同所形成的关系可能是 P2C,P2P,S2S 的混合,两个 AS 可能会在不同的 BGP 会话之间设定不同的导出政策。

文章提出并验证的理论:

  • 如果在 AS u 0 u_{0} u0 的 BGP 路由表中包含一个对于目标前缀 d d d 的 AS 路径 ( u 1 , u 2 , . . . , u n ) (u_{1}, u_{2}, ..., u_{n}) (u1,u2,...,un),那么:

    1. AS u i u_{i} ui 对于前缀 d d d 的最佳路由是 ( u i + 1 , u i + 2 , . . . , u n ) (u_{i + 1}, u_{i+2}, ..., u_{n}) (ui+1,ui+2,...,un)
    2. AS u i u_{i} ui 会把自己对于前缀 d d d 的最佳路由导出给 u i − 1 u_{i-1} ui1
  • Valley-Free:即路由表中的每一条 AS 路径都满足在流经 P2C 或者 P2P 路径后无法经过 C2P 以及 P2P 路径。满足的条件为:

    1. P2C 路径后面只能跟 P2C 路径以及 S2S 路径。
    2. P2P 路径后面只能跟 P2C 路径以及 S2S 路径。
  • BGP 路由表中的 AS 路径满足如下模式:

    1. 一条“上山路径”
    2. 一条“下山路径”
    3. 一条“上山路径”后面紧跟着一条“下山路径”
    4. 一条“上山路径”后面紧跟着一条 P2P 路径
    5. 一条 P2P 路径后面跟着一条“下山路径”
    6. 一条“上山路径”后面紧跟着一条 P2P 路径再跟着一条“下山路径”

    其中上山路径的含义为:只包含 C2P 或者 S2S 的路径;下山路径的含义为:只包含 P2C 或者 S2S 的路径。
    根据上述两个上山下山路径的定义我们又能够给出两个更大的定义:
    - 最大上山路径:一条 AS 路径中最长的上山路径。
    - 最大下山路径:一条 AS 路径中最长的下山路径。
    那么根据最大上山路径以及最大下山路径的定义以及 BGP 路由表中 AS 路径所满足的模式我们可以将 AS 路径满足的模式分为两类:
    1. 最大上山路径后面跟着 P2P 路径,再跟着最大下山路径。
    2. 最大上山路径后面跟着最大下山路径。
    注意最大上山路径以及最大下山路径可以为空。

因此,根据上述模式,如何识别一条 AS 路径中连续的 AS pair 之间的关系的问题便转化为如何找出这条 AS 路径对应的最大上山路径 Provider 以及最大下山路径 Provider。

推导 AS 之间关系的三个启发式算法

  1. 对于每条路由器中的 AS 路径,推导其中的 Provider-Customer 以及 Sibling 关系的算法(Basic 版本):
    On Inferring Autonomous System Relationships in the Internet 论文阅读笔记_第1张图片
    如上图所示,算法首先计算每一个 AS 的 degree(与该 AS 建立连接的 AS 数量),然后依据 degree 越大的 AS 更有可能成为 Top Provider 的启发式经验,选出每一条路径的Top Provider AS,并按照之前提及的两种模式来给出每一条路径中的每一对 AS Pair 对应的提供 transit 关系。并根据 S2S 以及 P2C 和 C2P 的性质推断 AS 之间的关系。

  2. 对于每条路由器中的 AS 路径,推导其中的 Provider-Customer 以及 Sibling 关系的算法(Refined 版本):
    On Inferring Autonomous System Relationships in the Internet 论文阅读笔记_第2张图片
    由于在现实生活中可能存在 BGP 路由器误配置的情况,因此 BGP 路由表中的 AS 路径表项可能不一定满足上述的两种模式(不满足 Valley Free 特性),所以提出了一种容许少许误差存在的推断算法。

  3. 对于每条路由器中的 AS 路径,推导其中的 Peering 路径的算法为:
    On Inferring Autonomous System Relationships in the Internet 论文阅读笔记_第3张图片

该算法的主要思想是根据之前提及的两种模式,标记出每一条 AS 路径中不可能形成 Peering 关系的 AS Pair(其中也包括一个启发式经验,即 Top Provider 倾向于和更大 degree 的 AS 建立 Peering 关系)。然后再依据两个形成 Peering 关系的 AS 之间的 degree 不会相差太大这个启发式原则判断 Peering 关系(如果把 R 设为 ∞ \infty 则忽略这个启发式原则,文章中最后设置的 R 值为 60)。

一些疑问

  • 文章的一个假设(我怀有疑问):
    由于一个 AS 传播 BGP announcement 时可以在 path 后面多次加上自己的 AS 号,防止后续的 AS 选择自己作为中转 AS。但是本文在处理所有的路由器表项时,会删去 path 中相邻且相同的 AS 号(只保留一个),虽然对于文章的推断并没有帮助,但是我觉得这在一定程度上是损失了部分信息的。

  • 文章推断出来的 AS 关系图主要是通过 AT&T 的内部信息得到的,那么在没有公司的帮助下,该如何验证自己做出的推断方案的正确性呢?

  • 正如文章所说,两个 AS 之间可能存在混合的商业关系,那么这种混合关系有没有可能推断出来呢?

你可能感兴趣的:(拓扑推断相关研究,bgp,网络)