53、基于浮动云互联网络模型的分层寻址方案

基于浮动云互联网络模型的分层寻址方案

1. 引言

当前互联网架构虽具备显著的演进和增长能力,但其基于 20 世纪 70 年代的设计决策,采用 TCP/IP 协议套件,原本旨在处理相对较少的网络,如今却要支撑庞大的网络系统。为应对连接到互联网的计算设备数量的增加,人们决定开发 IPv6 并提供从 IPv4 到 IPv6 的过渡路径,但这可能无法解决当前互联网路由协议面临的路由可扩展性问题。

近年来,随着核心路由器中路由表大小的高速增长,路由可扩展性问题愈发严峻。此前的研究工作受限于现有的高度网状互联网络架构、互联网协议、逻辑地址以及转发和路由机制,研究成果多为渐进式和针对性的解决方案,有时还会在不断发展的互联网中引入新的漏洞。

我们认为,互联网中采用的逻辑 IP 地址和地址分配过程是导致路由可扩展性问题的主要原因。因此,我们需要一种灵活的寻址方案,能够适应增长并提供比 IPv4 或 IPv6 更好的聚合能力。地址聚合是解决该问题的关键,这一点在无类域间路由等临时解决方案以及 IPv6 中推荐的分层和地理聚合中得到了验证。

我们的项目遵循美国国家科学基金会(NSF)的全新未来互联网设计(FIND)倡议,设计解决方案时在考虑当前互联网络架构和互联网协议方面拥有更大的自由度。由此产生的浮动云分层(FCT)互联网络模型与该领域的以往工作不同,它首次利用分层的 ISP 拓扑结构在路由域之间分配路由负载,从而解决路由可扩展性问题。该方法采用分层寻址方案,实现了一种全新且高效的基于层级的地址聚合形式。

2. 背景与相关工作

2.1 互联网路由现状

在互联网中,路由发现过程对于建立通信链路和维护设备与网络之间的信息流至关重要。该过程使用 IP 地址作为位置标识符,但由于 IP 地址是动态分配给节点的逻辑地址,与节点的实际位置无关,且路由是通过庞大的网络网状结构的路径,这使得路由发现过程变得困难。当连接网络的网络或设备发生故障时,数千个网络和联网设备的连接信息可能会受到影响,从而导致非常长的网络收敛延迟。复杂的 IP 地址分配和高度网状的拓扑结构导致了巨大的路由表大小,引发了路由可扩展性问题。如今,核心路由器中的 BGP 路由表大小已超过 304,500 条记录,这种高负载表明“路由信息处理”存在不平衡,可能会使路由器成为潜在的瓶颈,从而对网状结构的优势产生不利影响。

2.2 IPv6 地址管理

互联网号码分配机构(IANA)和区域互联网注册管理机构(RIRs)讨论了 IPv6 地址空间的管理问题。建议采用分层方式分配 IPv6 地址,以避免地址空间碎片化并更好地聚合路由信息。然而,由于组织和终端站点未来的地址需求不可预测,很难同时实现避免碎片化和避免浪费地址分配这两个目标。

2.3 现有解决方案

为解决当前互联网架构下的路由可扩展性问题,人们提出了多种解决方案:
- 混合链路状态协议(HLP) :利用自治系统(AS)结构,通过在 AS 层级内聚合路由信息,解决了过度路由变动的问题。
- 新型域间路由架构(NIRA) :采用以提供商为根的层级结构,在转发条目数量和收敛时间方面有所改进。
- 核心 - 边缘分离 :互联网工程任务组的一个路由研究小组提出通过“地址间接”或“映射与封装”暂时解决路由表大小问题,将未聚合的 IP 前缀排除在全局路由表之外。
- 下一代互联网路由架构 :采用定位器/标识符分离的思想。
- 基于扁平标签的路由 :使用扁平路由在域间和域内路由中分离位置和身份。
- 增强移动性和多归属支持的标识符 - 定位器分离架构 :是 ID/定位器分离和核心 - 边缘分离的混合设计。

此外,美国 NSF 发起的全新未来互联网设计(FIND)计划以及欧洲第七框架计划(FP7)下的欧洲未来互联网倡议资助的项目,都致力于解决包括路由可扩展性在内的多个关键领域的问题。

3. 浮动云分层互联网络模型

3.1 互联网结构

互联网由超过 30,000 个自治系统(AS)和互联网服务提供商(ISP)组成,它们运营着互联网通信的主要流量,当前的 IP 流量在一定程度上反映了它们之间的业务关系。一般来说,AS 与相邻 AS 之间存在客户 - 提供商或对等关系。客户向其提供商支付传输费用,对等方则为各自相邻的 AS 提供连接。从互联网的角度来看,基于 AS 关系,AS 拓扑中的分层结构和层级关系十分明显。

在美国,有几个一级 ISP,它们连接多个二级 ISP 作为其客户,而二级 ISP 又连接三级 ISP 作为其客户。在一个 ISP 内部,有多个存在点(POP),它们构成了该服务提供商的骨干网络。每个 POP 有多个路由器,其中一些是骨干路由器,主要用于连接其他 POP 中的骨干路由器。有趣的是,在 ISP 的 POP 内部也存在分层结构。在一个 ISP 的 POP 中,有一组骨干路由器可视为该 POP 内的一级;这些骨干路由器连接到分配路由器(DR),可视为二级;分配路由器提供骨干网络之间的冗余和负载均衡,并连接到访问路由器(AR),访问路由器连接到客户或存根网络,可视为三级。每个上述确定的路由器集合都被视为一个网络云。在 FCT 互联网络模型中,网络云被定义为具有特定用途的一组路由器,并且一个云可以包含多个子云,例如 ISP 云可以包含 POP 云,因此该分层互联网络模型具有一些非常有趣的“嵌套”和模块化特性。

3.2 云间通信

为了说明云间通信,我们使用一个简化的 ISP 拓扑结构示例,如图 1 所示。ISP A 和 B 是一级 ISP,ISP C 是二级 ISP,ISP E 是三级 ISP,同时还展示了存根 AS D。每个 ISP 或 AS 都表示为一个网络云,宽箭头表示任意两个 ISP 之间或 ISP 与 AS 之间的多个连接。

我们利用 ISP 云在各层级之间的“相对位置”来实现结构化的数据包转发。为此,我们为每个 ISP 或 AS 云分配一个“分层云地址”(CloudAddr),作为该云的标识符。云可以通过获取或释放一个或多个 CloudAddr 与某个层级关联或解除关联。CloudAddr 是其层级以及与之关联的其他云的函数。例如,ISP C 有两个地址,基于其与 ISP A 的连接,地址为 2.1:1;基于其与 ISP B 的连接,地址为 2.2:1。这种特性允许云拥有多个 CloudAddr,以实现多归属功能。

FCT 模型允许云通过简单地放弃一个 CloudAddr 并获取另一个来更改其服务提供商。例如,假设 AS D 最初以地址 2.2:2 连接到 ISP B,后来希望将服务提供商更改为 ISP C,它可以放弃地址 2.2:2 并获取 ISP C 下的地址 3.1:1:2。在此过程中,只有 CloudAddr 发生变化,云的内部寻址不受影响。在 AS D 更改服务提供商和 CloudAddr 时,ISP B 和 ISP C 都会收到通知,但这种移动或地址更改不需要传播到网络中的所有云,只需通知与移动云直接相关的云即可。

CloudAddr 的第一个字段“TierValue”用于在云之间转发数据包。数据包在各层级之间向上、向下或横向转发的决策取决于源(SRC)云和目标(DST)云在层级结构中的相对位置以及同一层级中兄弟云之间的链接。例如,假设源云为 3.1:1:1,目标云为 2.2:2。源云会比较两个地址,确定源云和目标云的共同父(或祖父)云所在的层级。在这种情况下,由于源和目标 CloudAddr 中“TierValue”之后没有共同的地址组件,共同层级为“1”。然后,将目标地址中剩余的字段(共同部分之后)附加到“TierValue”上,得到转发地址 1.2:2。从 3.1:1:1 到 1.2 的所有中间云将使用层级值向上转发数据包,直到到达云 1.2。云 1.2 识别到目标位于二级,因为层级值后面有两个地址字段,于是将“TierValue”替换为 2 并将数据包向下转发到目标云。如果 ISP C 和 AS D 之间存在链接(如图中虚线箭头所示),ISP C 的边界路由器可以了解到兄弟云的连接信息,从而直接将数据包转发到云 2.2:2。

数据包将根据其具有全局可见性的 CloudAddr 转发到相应的云。云内部的转发和路由可以采用分层方法,也可以采用基于 IP 的开放最短路径优先(OSPF)和路由信息协议(RIP)等其他机制(在过渡期间也很有用)。我们将云间和云内的动态分离,使得 CloudAddr 的更改不会影响云内部的结构或地址,这种解耦允许网络云在各层级之间轻松移动(或浮动)。

下面是云间通信的流程说明:
1. 源云获取目标云的 CloudAddr。
2. 源云比较自身和目标云的 CloudAddr,确定共同父(或祖父)云的层级。
3. 根据共同层级和目标地址剩余字段生成转发地址。
4. 中间云根据转发地址的 TierValue 向上或向下转发数据包。
5. 目标层级的云将 TierValue 替换为目标层级并将数据包转发到目标云。

其 mermaid 流程图如下:

graph TD;
    A[源云获取目标云 CloudAddr] --> B[比较地址确定共同层级];
    B --> C[生成转发地址];
    C --> D[中间云向上转发];
    D --> E{到达共同层级云?};
    E -- 是 --> F[替换 TierValue 向下转发];
    E -- 否 --> D;
    F --> G[到达目标云];

4. 嵌套概念

4.1 ISP POP 内的嵌套分层地址

我们以 AT&T 拓扑为例,解释分层地址的嵌套概念。假设图 1 中的 ISP A 代表美国的 AT&T 云。我们从 Rocketfuel 数据库中提取 AT&T 拓扑,并使用 Cytoscape 工具进行分析。基于从 Rocketfuel 数据库获得的 IP 地址信息,我们确定了连接 AT&T 拓扑中各个 POP 的路由器,将其指定为骨干路由器,属于一个 POP 的骨干路由器集合被分配到一个“骨干网络云”;边缘路由器被视为属于“访问网络云”的访问路由器;连接骨干路由器和边缘路由器的路由器为“分配路由器”,连接到一个骨干路由器的每组分配路由器被视为一个“分配网络云”。

AT&T 是一级 ISP,我们使用整个美国 AT&T 网络云的 AS 编号为其分配 CloudAddr 为 1.7018。AT&T 网络有多个 POP,假设西雅图 POP 是 AT&T 网络中的第 7 个 POP。我们将 POP 中的骨干云视为一级,并为西雅图 POP 骨干云分配 CloudAddr 1.7。

根据 Rocketfuel 数据,西雅图 POP 中有 17 个分配云,其 CloudAddr 分别为 2.7:1、2.7:2 等,最后一个分配云的 CloudAddr 为 2.7:17。连接到第一个分配云的访问路由器云的 CloudAddr 以 3.7:1:1 开头。AT&T 网络中各 POP 之间的数据包转发可以遵循与图 1 中 ISP 云类似的过程。

如果一个数据包需要转发到另一个 ISP,则需要使用 AT&T 网络的全局可见 CloudAddr。此时,内部地址需要嵌套在全局可见的 AT&T ISP 地址之后,例如 1.7018{3.7:1:1},其中第二部分用花括号表示嵌套。这是访问云 3.7:1:1 中的设备将数据包转发到另一个 ISP 中的设备时使用的地址。与隧道技术不同,这种方法不是将一个地址封装在另一个地址内,而是在数据包需要转发到给定云之外时,在前面添加外部云地址。此外,如果 AT&T 的 CloudAddr 从 1.7018 更改为 1.2,不会影响 POP 的内部寻址,只有当数据包离开 AT&T 网络时,才会使用地址 1.2{3.7:1:1}。

4.2 存根 AS 中的分层地址

我们将上述嵌套概念扩展到连接到访问云(例如西雅图 POP)的存根网络。骨干云、分配云和访问云的地址如西雅图 POP 示例所述。存根 AS 被视为一个云,由于它处于四级,因此具有全局 CloudAddr 4.7:1:1:1。图中标记为红色的所有地址在 AT&T 网络内可见,可视为在美国的 AT&T 网络内具有全局可见性。

在存根 AS 内部,采用新的分层地址。骨干云的 CloudAddr 为 1.1,分配云的 CloudAddr 为 2.1:1 和 2.1:2,访问云的地址根据其与分配云的连接分别为 3.1:1:1 和 3.1:2:1。在存根 AS 内转发数据包时,可以使用内部分层地址,方法与前面所述类似。

当存根 AS 内的节点希望与外部网络和设备通信时,需要在内部地址前添加外部 CloudAddr。例如,西雅图 POP 中的设备要与芝加哥 POP 中的设备通信,如果数据包源自访问云 3.1:2:1,则数据包的地址为 4.7:1:1:1{3.1:2:1},其中花括号内的部分是存根 AS 内设备的内部地址。如果该设备需要与另一个 ISP 的网络通信,当数据包离开 AT&T 网络时,其地址将为 1.7018{4.7:1:1:1{3.1:2:1}}。这种嵌套能力允许网络云轻松移动并连接到多个其他网络云,而不会干扰云内部使用的结构或地址,这是互联网络架构中的一个非常强大的特性。

下面是数据包在不同场景下地址使用的总结表格:
| 场景 | 源地址 | 目标地址 | 数据包地址 |
| — | — | — | — |
| 存根 AS 内通信 | 3.1:2:1 | 3.1:1:1 | 3.1:2:1 -> 3.1:1:1 |
| 存根 AS 到其他 POP | 3.1:2:1 | 芝加哥 POP 某设备 | 4.7:1:1:1{3.1:2:1} |
| 存根 AS 到其他 ISP | 3.1:2:1 | 其他 ISP 某设备 | 1.7018{4.7:1:1:1{3.1:2:1}} |

5. 分层寻址方案评估

5.1 评估方法与拓扑选择

为了评估分层寻址方案的有效性,我们选择 AT&T 拓扑作为示例进行研究。AT&T 网络具有复杂的结构和广泛的覆盖范围,其拓扑结构能够较好地代表现实互联网中的网络场景。我们依据从 Rocketfuel 数据库获取的 IP 地址信息,对 AT&T 网络的拓扑结构进行了详细分析,确定了骨干路由器、分配路由器和访问路由器等不同层级的路由器集合,并将它们分别抽象为相应的网络云。

5.2 地址聚合能力评估

分层寻址方案的核心优势之一在于其强大的地址聚合能力。通过基于层级的地址分配,我们可以将具有相同前缀的地址进行有效的聚合。例如,在 AT&T 网络的西雅图 POP 中,多个分配云的地址(如 2.7:1、2.7:2 等)具有相同的前缀“2.7”,这使得在路由表中可以将这些地址聚合为一个条目,从而显著减少路由表的大小。

以下是地址聚合的具体操作步骤:
1. 确定地址的层级结构和前缀规则。在 FCT 模型中,地址的层级信息体现在 CloudAddr 中,我们可以根据层级和前缀来进行聚合。
2. 遍历路由表中的地址条目,找出具有相同前缀的地址。
3. 将这些具有相同前缀的地址合并为一个聚合条目。

5.3 路由可扩展性评估

路由可扩展性是衡量寻址方案优劣的重要指标。在传统的互联网架构中,随着网络规模的不断扩大,路由表的大小急剧增长,导致路由可扩展性问题日益严重。而分层寻址方案通过在不同层级的网络云之间进行地址聚合和路由信息的分发,有效地减轻了核心路由器的负担,提高了路由可扩展性。

我们通过模拟 AT&T 网络中数据包的转发过程,评估了分层寻址方案在不同网络规模下的性能。结果表明,随着网络规模的增加,分层寻址方案能够保持相对稳定的路由表大小和较短的路由收敛时间。

5.4 移动性支持评估

分层寻址方案还具备良好的移动性支持能力。在 FCT 模型中,网络云可以通过简单地更改其 CloudAddr 来实现移动,而不会影响其内部的地址结构。例如,当一个存根 AS 从一个 ISP 迁移到另一个 ISP 时,只需放弃原有的 CloudAddr 并获取新的 CloudAddr,而内部设备的地址无需改变。

下面是网络云移动的操作步骤:
1. 网络云决定迁移到新的服务提供商。
2. 网络云向原服务提供商和新服务提供商发送迁移通知。
3. 原服务提供商释放该网络云的 CloudAddr。
4. 新服务提供商为该网络云分配新的 CloudAddr。
5. 网络云更新其内部的路由信息,使用新的 CloudAddr 进行通信。

其 mermaid 流程图如下:

graph TD;
    A[网络云决定迁移] --> B[发送迁移通知];
    B --> C[原服务提供商释放 CloudAddr];
    C --> D[新服务提供商分配新 CloudAddr];
    D --> E[网络云更新路由信息];
    E --> F[使用新 CloudAddr 通信];

5.5 评估结果总结

通过对 AT&T 拓扑的评估,我们发现分层寻址方案在地址聚合能力、路由可扩展性和移动性支持等方面都表现出色。与传统的寻址方案相比,分层寻址方案能够显著减少路由表的大小,提高路由收敛速度,并且支持网络云的灵活移动。

以下是评估结果的对比表格:
| 评估指标 | 传统寻址方案 | 分层寻址方案 |
| — | — | — |
| 路由表大小 | 大 | 小 |
| 路由收敛时间 | 长 | 短 |
| 移动性支持 | 差 | 好 |

6. 结论

6.1 方案优势总结

本文提出的基于浮动云互联网络模型的分层寻址方案为解决互联网路由可扩展性问题提供了一种有效的解决方案。该方案具有以下显著优势:
- 强大的地址聚合能力 :通过基于层级的地址分配和聚合,能够显著减少路由表的大小,提高路由效率。
- 良好的路由可扩展性 :在不同网络规模下,都能保持相对稳定的路由性能,减轻核心路由器的负担。
- 灵活的移动性支持 :允许网络云在不同的服务提供商之间轻松移动,而不影响内部地址结构。
- 解耦云间和云内动态 :将云间和云内的路由信息分离,使得 CloudAddr 的更改不会影响云内部的结构和地址,提高了网络的灵活性和可维护性。

6.2 应用前景展望

分层寻址方案具有广阔的应用前景。在未来的互联网发展中,随着物联网、5G 等技术的不断普及,网络规模将进一步扩大,路由可扩展性问题将更加突出。分层寻址方案可以应用于各种规模的网络,特别是大型的互联网服务提供商网络和数据中心网络,帮助它们提高网络性能和管理效率。

同时,该方案也为未来互联网的架构设计提供了新的思路。基于 FCT 模型的分层结构和模块化特性,可以构建更加灵活、可扩展的互联网架构,满足不同用户和应用的需求。

6.3 未来研究方向

虽然分层寻址方案在解决路由可扩展性问题上取得了显著的成果,但仍有一些方面值得进一步研究。例如:
- 与现有网络协议的兼容性 :进一步研究分层寻址方案与现有互联网协议(如 TCP/IP、BGP 等)的兼容性,确保其能够平滑地融入现有的网络环境。
- 安全性能研究 :随着网络安全问题的日益严峻,需要深入研究分层寻址方案在安全方面的性能,提出相应的安全机制和策略。
- 动态网络环境下的性能优化 :在动态变化的网络环境中,如网络拓扑频繁变化、流量突发等情况下,进一步优化分层寻址方案的性能,提高其适应性和稳定性。

总之,分层寻址方案为互联网路由可扩展性问题提供了一种创新的解决方案,具有重要的理论和实践意义。未来的研究将不断完善该方案,推动互联网技术的发展。

下面是分层寻址方案优势的总结列表:
1. 强大的地址聚合能力,减少路由表大小。
2. 良好的路由可扩展性,减轻核心路由器负担。
3. 灵活的移动性支持,方便网络云迁移。
4. 解耦云间和云内动态,提高网络灵活性和可维护性。

其 mermaid 流程图展示了分层寻址方案的整体优势和应用前景:

graph LR;
    A[分层寻址方案] --> B[地址聚合能力];
    A --> C[路由可扩展性];
    A --> D[移动性支持];
    A --> E[云间云内解耦];
    B --> F[减少路由表大小];
    C --> G[减轻核心路由器负担];
    D --> H[方便网络云迁移];
    E --> I[提高网络灵活性和可维护性];
    F --> J[应用于大型网络];
    G --> J;
    H --> J;
    I --> J;
    J --> K[推动互联网发展];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值