路由协议和架构/域间路由
域间路由负责决定和传播有关多个互连 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 之间的商业协议.
将单个边界路由器置于属于不同 ISP 的 AS 之间会引发一些问题
- 谁拥有它?谁配置它?
- 故障时谁负责?
- 如何防止 ISP 收集有关竞争对手网络的信息?
解决方案是使用两个边界路由器,每个路由器都由两个 ISP 中的任何一个管理,并由一个称为外部网关协议 (EGP) 的第三种类型路由协议实例处理的某种中间“自由区域”隔开。
通过 EGP 协议,每个位于 AS 边界的边界路由器都与其他边界路由器交换外部路由信息
- 它将有关其 AS 内部目的地信息传播到其他 AS;
- 它将有关位于其他 AS 内部但可以通过其 AS 访问的目的地信息传播到其他 AS。
EGP 协议与 IGP 协议的不同之处在于,它们特别支持对路由策略的支持,这些策略反映了 AS 之间的商业协议。
- 静态路由:手动配置路由器
- 这是实施复杂策略和完全控制网络路径的最佳“算法”;
- 不需要控制流量:避免交换有关目的地的信息;
- 它不会对拓扑更改做出反应;
- 很容易引入不一致;
- 外部网关协议 (EGP)[1]:它是第一个完全专门用于域间路由的协议,但目前没有人使用它,因为它只提供有关可达性的信息,而不提供有关距离的信息
- 如果通过多条路径通告了某个目的地的可达性,则无法选择成本最低的最佳路径;
- 如果通过多条路径通告了某个目的地的可达性,则不能保证所有路由器都将选择一致的路径 → 这只能在没有闭合路径的网络中使用,在这些网络中不会形成循环;
- 边界网关协议 (BGP):它是唯一一个在整个互联网上采用并取代其他 EGP 协议的 EGP 协议:整个互连 AS 网络中的所有边界路由器都必须采用相同的 EGP 协议来交换外部路由,因为如果两个 AS 选择使用不同的 EGP 协议,它们的边界路由器将无法相互通信 ( B5. 边界网关协议);
- 域间路由协议 (IDRP):它作为 BGP 的演进而创建,以便支持 OSI 地址,但目前没有人使用它,因为
- 它由相当复杂的部件组成;
- 从那时起,IDRP 引入的改进已移植到 BGP 的后续版本中;
- 它与 BGP 不兼容 → AS 采用它会破坏与仍在使用 BGP 的网络其余部分的互操作性。
在每个边界路由器上,都会运行一个从 AS 内部 IGP 协议到 AS 外部 EGP 协议的重分发过程,反之亦然 → 路由首先从一个 AS 重分发到中间区域,然后再从这里重分发到另一个 AS。
- IGP 协议会学习到外部路由,指向位于其他 AS 中的目标,并将它们作为内部路由传播到 AS 中;
- EGP 协议会学习到内部路由,指向位于 AS 中的目标,并将它们作为外部路由传播到其他 AS 中。
重分发定义
- 哪些内部网络必须让外部世界知道:例如,私有网络不能传播到其他 AS;
- 哪些外部网络必须让 AS 内知道:通过避免包含有关外部网络的完整详细信息,可以减少宣布的路由信息的数量
- 当宣布的地址共享其网络前缀的一部分时,可以将它们“合并”为聚合路由;
- 当 AS 只有一个出口点时,可以宣布一个单一的默认路由。
重分发不能在路由中引入不一致
- 例如,如果在 IGP 中学习到的路由在 EGP 中导出,然后在 IGP 中重新导入,并作为外部路由出现,那么可能会形成路由循环;
- 如果某个 AS 可以通过同一 AS 的多个边界路由器访问,那么这些边界路由器需要达成一致,以便在内部为该路由重分发一个单一出口点。
通常,在 AS 边界处的边界路由器上的重分发只从 IGP 协议到 EGP 协议启用一种方式:内部路由被导出到外部世界,而外部路由被默认路由替换。
参考文献
[edit | edit source]- ↑ EGP 协议是属于 EGP 协议类的协议之一。