跳转至内容

路由协议和架构/域间路由

来自 Wikibooks,开放世界中的开放书籍
Previous page
层次路由
路由协议和架构 Next page
组播路由
域间路由

域间路由负责决定和传播有关多个互连 AS 之间的外部路由的信息。

自治系统

[编辑 | 编辑源代码]

自治系统 (AS) 是一组 IP 网络,这些网络受一组实体的控制,这些实体同意将自己呈现为一个独特的实体,每个人都采用相同的路由策略集。

从域间路由的角度来看,互联网被组织成 AS:AS 代表网络最高层次结构级别上的同构管理实体,通常是 ISP。每个 AS 由 IANA 分配的 32 位数字唯一标识(过去是 16 位)。

每个 AS 都是完全独立的:它可以根据自己的偏好决定内部路由,并且 IP 数据包根据内部规则在其中进行路由。每个 AS 可以拥有一个或多个由 IGP 协议提供的内部路由域:每个域可以采用其最喜欢的 IGP 协议,并且由于重新分配,它可以与其他域交换路由信息。

作为 AS 的网络可以通过路由策略来控制其传入和传出流量,但也承担着更大的责任:路由更难配置,并且配置错误可能会影响其他 AS 的流量。

对于即将成为 AS 的网络部分,过去曾执行一些额外的规则,这些规则现在已经放宽

  • 整个网络必须处于相同的管理域
    现在 AS 的管理实体并不一定与实际管理网络内部的组织一致:例如,都灵理工大学的网络,尽管归大学所有并受其内部机构的控制,但它是 GARR 研究机构管理的 AS 内的子网络之一,该机构负责决定通往其他 AS 的长距离互连;
  • 网络必须至少具有给定的大小
    近年来,内容提供商需要在全球范围内拥有非常小的 AS:例如,谷歌在意大利拥有部分网络服务器,这些服务器为意大利用户分发定制内容(例如广告),这些服务器更靠近用户,因此更快地返回搜索结果,充当缓存 ( B8. 内容分发网络) → 如果这些网络服务器本身构成一个 AS,谷歌就可以控制其内容向意大利 ISP 的分发,并且可以与后者达成商业协议,有利于其中一些 ISP 而牺牲其他 ISP;
  • AS 必须至少连接到其他两个 AS,以至少在技术上保证通过它从一个 AS 到另一个 AS 的传输
    一个小型本地 ISP (Tier 3) 可以从一个大型国家 ISP (Tier 2) 购买整个通往互联网的连接性: B4. 域间路由:互联网中的对等和传输#AS 之间的商业协议.

EGP 协议类

[编辑 | 编辑源代码]

将单个边界路由器置于属于不同 ISP 的 AS 之间会引发一些问题

  • 谁拥有它?谁配置它?
  • 故障时谁负责?
  • 如何防止 ISP 收集有关竞争对手网络的信息?

解决方案是使用两个边界路由器,每个路由器都由两个 ISP 中的任何一个管理,并由一个称为外部网关协议 (EGP) 的第三种类型路由协议实例处理的某种中间“自由区域”隔开。

通过 EGP 协议,每个位于 AS 边界的边界路由器都与其他边界路由器交换外部路由信息

  • 它将有关其 AS 内部目的地信息传播到其他 AS;
  • 它将有关位于其他 AS 内部但可以通过其 AS 访问的目的地信息传播到其他 AS。

EGP 协议与 IGP 协议的不同之处在于,它们特别支持对路由策略的支持,这些策略反映了 AS 之间的商业协议。

EGP 协议

[编辑 | 编辑源代码]
  • 静态路由:手动配置路由器
    • 这是实施复杂策略和完全控制网络路径的最佳“算法”;
    • 不需要控制流量:避免交换有关目的地的信息;
    • 它不会对拓扑更改做出反应;
    • 很容易引入不一致;
  • 外部网关协议 (EGP)[1]:它是第一个完全专门用于域间路由的协议,但目前没有人使用它,因为它只提供有关可达性的信息,而不提供有关距离的信息
    • 如果通过多条路径通告了某个目的地的可达性,则无法选择成本最低的最佳路径;
    • 如果通过多条路径通告了某个目的地的可达性,则不能保证所有路由器都将选择一致的路径 → 这只能在没有闭合路径的网络中使用,在这些网络中不会形成循环;
  • 边界网关协议 (BGP):它是唯一一个在整个互联网上采用并取代其他 EGP 协议的 EGP 协议:整个互连 AS 网络中的所有边界路由器都必须采用相同的 EGP 协议来交换外部路由,因为如果两个 AS 选择使用不同的 EGP 协议,它们的边界路由器将无法相互通信 ( B5. 边界网关协议);
  • 域间路由协议 (IDRP):它作为 BGP 的演进而创建,以便支持 OSI 地址,但目前没有人使用它,因为
    • 它由相当复杂的部件组成;
    • 从那时起,IDRP 引入的改进已移植到 BGP 的后续版本中;
    • 它与 BGP 不兼容 → AS 采用它会破坏与仍在使用 BGP 的网络其余部分的互操作性。

重新分配

[编辑 | 编辑源代码]

在每个边界路由器上,都会运行一个从 AS 内部 IGP 协议到 AS 外部 EGP 协议的重分发过程,反之亦然 → 路由首先从一个 AS 重分发到中间区域,然后再从这里重分发到另一个 AS。

属于不同 ISP 的 AS 之间的重分发示例。
  • IGP 协议会学习到外部路由,指向位于其他 AS 中的目标,并将它们作为内部路由传播到 AS 中;
  • EGP 协议会学习到内部路由,指向位于 AS 中的目标,并将它们作为外部路由传播到其他 AS 中。
路由在 AS 内部的层次结构域之间以及 AS 本身与外部世界之间进行重分发。

重分发定义

  • 哪些内部网络必须让外部世界知道:例如,私有网络不能传播到其他 AS;
  • 哪些外部网络必须让 AS 内知道:通过避免包含有关外部网络的完整详细信息,可以减少宣布的路由信息的数量
    • 当宣布的地址共享其网络前缀的一部分时,可以将它们“合并”为聚合路由
    • 当 AS 只有一个出口点时,可以宣布一个单一的默认路由

重分发不能在路由中引入不一致

  • 例如,如果在 IGP 中学习到的路由在 EGP 中导出,然后在 IGP 中重新导入,并作为外部路由出现,那么可能会形成路由循环
  • 如果某个 AS 可以通过同一 AS 的多个边界路由器访问,那么这些边界路由器需要达成一致,以便在内部为该路由重分发一个单一出口点

通常,在 AS 边界处的边界路由器上的重分发只从 IGP 协议到 EGP 协议启用一种方式:内部路由被导出到外部世界,而外部路由被默认路由替换。

参考文献

[edit | edit source]
  1. EGP 协议是属于 EGP 协议类的协议之一。
Previous page
层次路由
路由协议和架构 Next page
组播路由
域间路由
华夏公益教科书