传统网络的挑战 全球数字化进程推动网络规模不断扩大,云计算时代涌现出更广泛的网络服务和网络需求,传统的IP/MPLS网络面临一系列挑战:
# IP承载网络孤岛
尽管MPLS统一了承载网,但仍然存在IP承载网络孤岛,IP骨干网、城域网、移动承载网之间是独立的MPLS域,是相互分离的,需要使用跨域VPN等复杂的技术来互联,导致端到端业务的部署非常复杂。
# IPv4和MPLS可编程空间有限
很多新服务要求在数据包中包含额外的转发信息,而IETF已停止制定IPv4的新标准。此外,MPLS标签空间被限制为20bit,缺乏可扩展性,无法充分适应新服务的网络编程要求。
# 应用程序和承载网络隔离
应用与承载网的解耦,导致网络自身的优化困难,难以提升网络的价值。当前运营商普遍面临被管道化的挑战,无法从增值应用中获得相应的收益。
# 数据和控制平面紧耦合
数据和控制平面绑定销售,导致业务上线时间延长,难以应对新业务的快速发展。
从简单到复杂
网络协议正变得愈加复杂。网络早期,通信协议简单且功能有限。首个网络协议ARPANET是一个简单的分组交换协议,允许计算机在网络上通信。20世纪80年代互联网开始普及,需要更复杂的协议来支持新的应用程序和服务,TCP/IP成为了互联网的标准协议,提供可靠的数据传输和路由。 随着网络变得更大、更复杂,人们又开发了新的协议来管理和优化网络性能。引入了BGP来路由自治系统 (AS) 之间的流量,同时开发SNMP来监控和管理网络设备。近年来,协议变得更加复杂和专业化,以支持虚拟化和云计算等技术。其中,开发MPLS是为了提供更快的网络流量路由,而VXLAN的引入是为了支持在云计算环境中创建虚拟网络。其他协议,如IGMP和SIP,也已开发用于支持VoIP服务。
从简单到复杂 总的来说,在日益复杂的数字环境中,对更大功能和效率的需求推动了网络协议的发展。随着互联网的不断发展,新协议将不断被开发以支持新兴技术和应用。
从复杂到简单
其中,也不全是复杂的协议,譬如SRv6。SRv6(IPv6分段路由)是一种通过降低网络基础架构的复杂性来简化网络操作的网络体系架构。传统的网络体系架构依赖于复杂的路由协议和Overlay来管理网络流量,导致了高度的复杂性,很难管理和排除故障。 SRv6通过使用IPv6数据平面来创建灵活和可编程的网络架构,简化了此过程。通过减少管理网络流量所需的协议和Overlay的数量来简化网络操作,同时还提供了更大的灵活性和对网络路由的控制,如下图所示。使用SRv6,网络管理员可以轻松创建和修改网络路径,而不需要复杂的协议,从而减少了管理网络基础架构所需的时间和精力。
从复杂到简单 Segment Routing体系架构 Segment Routing体系架构基于源路由范例,其中Segment表示拓扑指令。每个Segment由一个SID标识,该标识符分配在一个称为“SR域”的单个管理域中。SR 域可以由统一的全局 SID 管理下的单个或多个 AS 组成。通常,SR域的入口节点将包含SID的SR报头添加到传入数据包中。 在MPLS体系架构中,Segment由MPLS标签表示,Segment的有序列表是标签堆栈。堆栈最顶层的Segment是需要处理的,处理完成后,标签将从堆栈中弹出。在IPv6体系架构中,Segment由IPv6地址表示,Segment的有序列表是路由报头中IPv6地址的有序列表。当前活动(Active)Segment由数据包的目标地址(DA)指示,新路由报头中的指针指定下一个活动Segment。 SR架构由两个关键组件组成。第一个组件是数据平面,它指定如何对要应用于数据包的Segment序列进行编码,以及每个设备应如何基于Segment处理数据包。SR这种操作不依赖于用于携带SR报头信息的协议。第二个组件是控制平面,它重点关注如何在网络设备之间分配Segment标识符,以及如何指示这些设备将特定Segment序列应用于流。
Segment Routing架构
SR数据平面
数据包的SR报头包含Segment序列和指向当前活动Segment的指针,该指针表示处理数据包的设备应执行的指令。在执行活动Segment后,设备将移动到列表上的下一个Segment,然后该Segment成为活动Segment。每个Segment由Segment ID(SID)标识,该SID全域范围内有效,也可以仅对正在处理它的路由器本地有效。 运营商可以自由选择最适合其网络要求的SR数据平面技术。目前,MPLS和IPv6是考虑用于SR支持的两种数据平面技术:
SR操作映射到MPLS标签操作
SR控制平面
在SR网络中,控制平面促进了设备之间SID信息的通信。为了实现这一点,使用链路状态内部网关协议(IGP)来通告节点和邻接SID。这在流行的IGP(如ISIS和OSPF)中得到了扩展,以实现SID在整个网络中的分布。 有了这些扩展,任何路由器都可以维护所有节点和邻接Segment的数据库,并且由于两个IGP的亚秒级收敛特性,数据库可以在任何拓扑变化后快速更新。使用这些扩展可以在网络中实现端到端封装,而不需要启用和管理另一个协议(如LDP)。SR控制平面的另一个元素处理入口路由器如何被指示选择数据包应遵循的SR路径。
SRv6的优势
简化的网络操作
SRv6允许网络运营商对数据包通过网络的网络路径进行编程,从而简化了网络操作。这减少了对复杂路由协议的需要,并简化了网络的管理。
更好的网络可扩展性
SRv6通过减少实现给定网络拓扑所需的标签数量,提高了网络可伸缩性。这减少了网络设备的负担,并提高了它们扩展到更大网络的能力。
增强的网络安全性
SRv6通过允许网络运营商在网络边缘应用安全策略来提供增强的网络安全性。
改进的网络性能
SRv6允许网络运营商定义数据包通过网络的显式路径,从而提高网络性能。这可以提高网络的效率,并减少数据包丢失和延迟。 SRv6 SID分配
通过协议扩展实现SRv6
为了支持SRv6,网络节点需要通告以下两种类型的SRv6信息: 1. 网络中的其他节点使用Locator信息来定位通告特定SID的节点,从而允许它们执行与该SID相关联的指令。通常,通过IGP扩展来传播区域内Locator信息。 2. SID信息:SID的完整描述包括与其相关的功能和行为。SID分为路径SID和服务SID,两者都是全局可见但在本地有效的。路径SID主要用于描述节点或链路,并通过IGP扩展进行传播,而服务SID与路由信息密切相关,通常通过BGP更新消息中的BGP扩展进行通告。 综上所述,实现基本SRv6功能至少需要IGP和BGP扩展。
IGP扩展
>IS-IS扩展链路状态路由协议通过使用Dijkstra的最短路径优先(SPF)算法来计算到指定地址的最短路线。这是通过以下过程来实现的,其中邻接节点通过交换Hello数据包,并在整个网络中泛洪其本地链路状态PDU(LSP)来建立邻居关系,以形成相同的链路状态数据库(LSDB)。然后,每个节点使用 LSDB 运行 SPF 算法来计算到达所需地址的最短路径。承载SRv6信息的LSP如下图所示。
携带SRv6信息的IS-IS LSP
SRv6 Locator TLV
Locator TLV是SRv6中的一个重要组件,包含Locator的前缀和掩码。它用于公布Locator信息,并允许网络中的其他SRv6节点学习Locator路由。除了路由信息外,TLV还携带不需要与IS-IS邻居关联的SRv6 SID,如终端SID。
Multi Topology Reachable IPv6 Prefixes TLV:
多拓扑可达IPv6前缀TLV-SRv6 Locator TLV都携带相同的IPv6前缀和掩码作为Locator 信息。虽然SRv6 Locator TLV特定于SRv6节点,但多拓扑可达IPv6前缀TLV也可以由普通IPv6节点处理,这样可以将普通IPv6节点和SRv6节点一起部署在同一网络上。当设备接收到两个TLV时,多拓扑可达IPv6前缀TLV优先。这两个TLV都使网络上的节点能够生成到该节点的Locator 路由,该节点通告相应的Locator并引导数据包转发到该节点。 >OSPF扩展MPLS数据平面的OSPF扩展已标准化,而IPv6数据平面的OPPF扩展还未标准化。这些扩展包括OSPFv3路由器的SRv6功能、SRv6 Locator、所需的SRv6 SID及其支持的端点行为。
BGP扩展
BGP Prefix Segment 是带有Prefix-SID的BGP前缀。Prefix-SID始终是SR域中的全局SID,并标识一条指令,以通过BGP计算的ECMP最佳路径将数据包转发到相关前缀。BGP Prefix-SID是BGP Prefix Segment 的标识符。 这里定义了一个称为“BGP Prefix-SID attribute”的BGP属性,并指定了该属性的发起、接收和处理错误条件的规则。BGP Prefix-SID属性可以附加到多协议BGP IPv4/IPv6标签单播的前缀,如下图所示。
BGP EVPN Update消息携带SRv6信息 需要注意的是,多个AS是互连的,并且属于同一SR域,BGP Prefix-SID在这些AS上是全局的。然而,如果AS不属于同一SR域,则每个域的自治系统边界路由器(ASBR)将需要处理唯一SID的通告。BGP Prefix-SID可以附加到BGP前缀,这意味着每个前缀都是单独通告的,从而降低了打包BGP通告(共享公共属性时)。 SRv6用例
NetworkAPI
应用程序感知流量工程(TE)在确保AR、VR、云游戏等应用程序的服务质量(QoS)方面发挥着关键作用。虽然这些关键任务应用程序需要确定性的应用程序感知TE,但应用程序和网络运营商之间的协商过程需要进行重大简化,以实现基于新兴微服务和基于容器架构的应用程序的可扩展性。NetworkAPI框架允许应用程序通过利用SRv6来指示IP数据包内所需的TE行为。在NetworkAPI框架中,网络运营商提供的TE行为表示为128位IPv6地址形式的SID。由于SRv6 SID的IPv6地址是使用IP任播分发的,因此无论应用程序的位置如何,都可以利用未更改的SRv6 SID,就像控制传输网络上的API一样。
企业网络中的SRv6
SDN承诺简化网络的管理,软件解析网络(SRN)通过在企业网络中使用SRv6来实例化这一SDN愿景。与SDN一样,SRN 使用控制器来管理网络资源,控制器的存在简化了网络管理,并允许运营商更好地控制可用资源。然而,SRN和SDN之间存在一些差异。首先,SRN利用数据平面中的SRv6和SRH来控制通过网络的数据包流。与基于Openflow的SDN相比,这减少了路由器上所需的状态量。其次,应用程序可以与控制器显式交互,以指示其流程的需求。控制器通过返回满足这些需求的路径的SRH来响应。在SRN中,控制器与企业DNS解析器位于同一位置,主机使用DNS协议与控制器/解析器交互。当应用程序发起会话时,它执行以下操作。下图显示了路径选择的过程。
SRN中的路径选择 首先,它发出DNS请求来解析DNS服务器名称,并添加其要求。然后,控制器选择满足这些要求的网络路径。控制器可以使用任何优化算法来选择该路径。选择路径后,它将会转换为SRv6段的列表。SRN控制器中可以包括不同的路径选择算法。然后,控制器将包含服务器IPv6地址和与所选路径对应的SRH的DNS响应发送回终端主机。最后,终端主机将SRH附加到连接的每个数据包。 除了这两种用例,还有其他用例值得一提,例如网络中的源数据包路由(SPRING)、SR网络中的网络切片实现、利用现有IPv6的SR流量工程,使用SR的拓扑独立快速重路由、双向主动测量协议(TWAMP)等。
结 论 SRv6是一种革命性的网络范例,它彻底改变了设计、部署和管理网络的方式。通过利用IPv6和SR的固有功能,SRv6在路由和流量工程方面提供了前所未有的灵活性、可扩展性和效率。SRv6的关键优势之一在于它与现有网络基础设施的兼容性。通过利用IPv6数据平面,SRv6可以无缝集成到传统网络中,从而实现平稳过渡,无需昂贵的升级。 总而言之,SRv6代表着网络体系结构的一大进步,为构建智能、可扩展和敏捷的网络提供了强大而通用的框架。通过采用SRv6,组织可以拥抱网络的未来,释放新的机会,并确保其网络已经为未来的挑战和机遇做好准备。
全部0条评论
快来发表一下你的评论吧 !