坪地网站建设好么,淘宝客怎么做的网站推广,wordpress定义,wordpress 表单录入大家觉得有意义和帮助记得及时关注和点赞!!!
Segment Routing (SR) 是近年来网络领域的一项新技术#xff0c;“segment” 在这里 指代网络隔离技术#xff0c;例如 MPLS。如果快速回顾网络设计在过去几十年的 发展#xff0c;我们会发现 SR 也许是正在形成的第三代网络设计…大家觉得有意义和帮助记得及时关注和点赞!!!
Segment Routing (SR) 是近年来网络领域的一项新技术“segment” 在这里 指代网络隔离技术例如 MPLS。如果快速回顾网络设计在过去几十年的 发展我们会发现 SR 也许是正在形成的第三代网络设计思想。
第一代是以互联网为代表的无中心式设计 所有网络节点通过分布式路由协议同步路由信息这些路由协议包括 IGPRIP、OSPF、IS-IS和 EGPBGP。
第二代是近些年以 SDN 为代表的集中式设计全局的控制器 了解整张网络的拓扑和状态可以精确控制网络中每个节点的每条转发规则。代表是 Google 基于 OpenFlow 实现 B4 Network [1]。
以上两代网络的设计思想截然相反因此必然各有优缺点。SR 此时横空出世某种程度上 可以看作两者的折中或优点结合给定一个源节点和目的节点集中式控制器如果有 只负责选取若干中间节点形成一条转发路径而这些中间节点之间还有很多其 他结点它们之间如何转发及同步路由都交给分布式算法。这种设计同时兼顾了集中 式控制若干节点形成的转发路径和分布式智能路由同步、链路负载均衡等 网络的控制粒度从最粗第一代到最细第二代再到 SR 的粗细适中第三代。
SR 实现以上目标的最重要技术之一是源路由source routing 每个包在离开源节点时就已经确定了核心转发路径并将路径信息编码到了每个包里。
Segment Routing 一书的作者举了一个形象的例子这也是他设计 SR 的直接灵感来源从 Rome 开始到 Brussel [2]翻译成中文就是从上海开车去杭州没有人会提前规划出路上的每一个转弯 那太细了。你真正做的是选出途经的几个重要地方例如虹桥-松江-嘉兴-余杭- 西湖只要确保沿着这几个地方向开就一定能到达。至于两个地方之间比如虹桥到松江 到底是走大路还是小路要视当时的路况。假如一条路堵了你可能会当即切换到另一条 路但松江这个目标不变。“规划出每一个转弯”的比喻听上去是在揶揄 OpenFlow SDN 的那帮人。
和术语 SDN 一样“SR” 本身只是一个概念并不是实现。目前 SR 的实现有两种分别基 于 MPLS 和 IPv6其中 MPLS SR 与现有的 MPLS 网络兼容但大大简化了控制平面而基 于 IPv6 的版本称为 SRv6看起来前景更广阔。另外 Linux 4.10 已经初步支持了 SRv6但性能还比较差 [3]。
SR 是如何工作的SR 举例SR 的好处 Ready for SDN网络无需维护任何应用状态简化/简单支持快速重路由FRR适用于大规模数据中心可扩展双平面网络Dual-plane networks集中式流量工程Egress Peering 流量工程EPE Segment routing (SR) 是一种基于源路由source routing的网络设计。
包从源节点source node发出之前转发路径就已经确定了转发指令forwarding instructions以 segment list 的形式编码到每个数据包中Segment list 中的每一个 segment 在路由信息库Router Information BaseRIB中都有记录每到达一跳hop后list 最外层的 segment 用于确定下一跳。Segments 以栈的形式stacked存储在包头中。 如果栈顶 segment 指向的是另一个节点当前节点就通过 ECMP 将包发送到下一跳:如果栈顶 segment 指向的是本节点就 pop out segment执行下一个 segment 规定的任务。
SR 基于已有的一些内部网关协议IGP例如 IS-IS、OSFP 和 MPLS 来实现高效和灵活的转发。
SR 是如何工作的
在 SR 网络中路由器有能力选择任意的转发路径不管是显式explicit指定的路 径还是 IGP 自动计算出的最短路径。
一个 segment 代表一段子路径subpath路由器将可以多段子路径结合起来形成 一条到达目的节点的最终路径。每个segment 都有一个唯一的标识符segment identifier SID通过 IGP 的扩展协议在网络中分发。IGP 扩展协议对 IPv4 和 IPv6 都适用。 和传统的 MPLS 网络不同SR 网络中的路由器不需要 LDP 和 RSVP-TE 协议 来分配和同步 SID以及对转发信息进行编程。
每个路由器节点node和每个链路邻接adjacency都有相应的 SID。
Node segment ID 是全局唯一的表示 IGP 确定的到一个路由器的最短路径。网 络管理员从保留的一段范围内为每台路由器分配一个 node ID。
Adjacency segment ID 只在局部有效locally significant表示到一个 邻居路由器的具体邻接例如一个出向接口egress interface。Adjacency segment ID 是由路由器自动生成的范围不会和 node SID 重合。
在 MPLS 网络中一个 SID 会编码成 MPLS label stack 中的一条纪录项entry 。SID 指示应该沿着一条特定的路径转发包。SID 分为两类
Prefix SID带 IP 地址前缀的 SID其中的 IP 地址前缀是由 IGP 计算出来的。 Prefix SID 全局globally唯一。Node SID 是 Prefix SID的一种特殊情况其 prefix IP 是 node 自身的 loopbakck 地址。It is advertised as an index into the node specific SR Global Block or SRGB.Adjacency SID一个 Adjacency SID 就是两个路由器之间的一条链路。Adjacency SID 是和它所属的路由器相关的因此它只是局部唯一的
SR 举例
图 1 是一张由 5 个路由器组成的 MPLS SR 网络控制平面基于 IS-IS。Node ID 的范围 是 100-199Adjacency ID 的范围是 200 及以上。IS-IS 会将 segment ID这里是 MPLS label连同 IP Prefix 可达性信息在网络内做通告。 图 1 五个路由器组成的一张 MPLS SR 网络
在这个网络中任何路由器想向路由器 E 发送流量必须先将 103路由器 E 的 node SIDpush 到 segment list以便利用 IS-IS 最短路径转发流量。中间结点的MPLS 标签 交换label-swapping过程会保留 103 标签直到包到达节点 E如图 2 所示。 图 2 MPLS 标签交换操作
以上是通过 Node SID 实现的转发路径。Adjacency segments 的行为与此不同。例如 如果一个包到达路由器 D栈顶 MPLS label 是 203D 到 E 的 adjacency SIDD 会先 pop label然后将包转发给 E。
SIDs 可以组合成有序列表ordered list来实现流量工程traffic engineering TE。根据需求的不同一个 segment list 可以包含
多个 adjacency segments多个 node segments多个 adjacency segments 和 node segments 的组合
上面例子还可以用 node segments 和 adjacency segment 的组合来实现如图 3 所示
首先路由器 A push label stack104203到每个包然后路由器 A 利用到最短路径和 ECMP 特性将包转发到路由器 D最后在路由器 D 经过一个显式的接口203到达目的地 E
整个过程中路由器 A 无需向网络节点声明任何路径信息保存在每个包中。网 络的配置状态不受这条路径的影响还是保持原来的配置。也就是说在保持网络状 态配置不变的情况下A 设置的新路径生效enforce了。作为对比如果要在 SDN 中网络添加一条新的转发路径那必然要对整个链路上的所有节点添加配置。 图 3 组合 Node segments 和 Adjacency segment 到达 E 的路径
SR 的好处
Ready for SDN
SR 被认为是 SDN 的首选架构之一而且它还是应用工程化路由Application Engineered RoutingAER的基础。它在基于网络的分布式智能 例如链路和节点自动保护和基于控制器的集中式智能例如流量优化 之间取得了很好的平衡。
SR 能够提供严格的网络性能保证、网络资源的高效利用、基于应用的交易 application-based transactions的高可扩展性。SR 使得网络使用最少的状态信 息minimal state information来满足这些需求。
SR 可以很容易地集成到基于控制器的 SDN 架构下图是一个示例其中的控制器负责集中 式优化包括带宽控制。 图 4 SDN 控制器
在这个方案中SDN 控制器了解整张网络的拓扑和flow。路由器申请到目的地的一条路 径时声明它期望的特性例如延迟、带宽、链路多样性。控制器据此计算出一条最优路径 返回 segment list例如一个 MPLS label stack。然后路由器将这个 segment list 编码到包头中而控制器不需要对网络做任何额外的配置signaling。
网络无需维护任何应用状态
无需向网络添加任何应用状态application statesegment list 就可以实现完全的网 络虚拟化。状态信息以 segment list 的形式编码在每个包中。因为网络只需维护 segment 状态 node/adjacency segment ID数量非常少而且变更不频繁因此可以支持非常大 —— 而且非常高频 —— 的 transaction-based 的应用请求而不会给网络造成任何负担。
简化/简单
当用于 MPLS 数据平面时SR 可以通过隧道的方式将 MPLS 服务VPN、VPLS、VPWS 从一个 ingress provider edge供应商边缘路由器送到一个 egress provider edge只需要 IGPIS-IS 或 OSPF而不需要其他协议不需要额外的协议例如 LDP 或 RSVP来分发标签可以复用已有网络基础设施支持 ECMP使用 node segment ID
支持快速重路由FRR
对任何拓扑都支持快速重路由Fast ReRoute。在链路或节点挂掉的情况下MPLS 依靠 FRR 实现收敛。有了 SR 之后收敛时间可以做到 50ms 以下。
适用于大规模数据中心
用 BGP 分发 node SID类似于 IGP 分发 node SIDAny node within the topology allocates the same BGP segment for the same switch支持 ECMP 和 FRRBGP PICPrefix Independent Convergence流量工程的基石之一SRTE
可扩展
避免了 LDP database 中的成千上万的标签避免了网络中成千上万的 MPLS TE LSP避免了成千上万的隧道配置
双平面网络Dual-plane networks
支持 Dual-planeMPLS 和 SRv6支持跨 plane 的转发策略disjointness enforcement任播anycastSID 支持宏策略macro policy类似于“从 node A 注入的、到达 node Z 的 flow 1必须经过 plane 1 到达”“从 node A 注入的、目的是 node Z 的 flow 2必须经过 plane 2 转发”
集中式流量工程
控制器和编排平台可以和 SR 流量工程联动实现集中式优化例如 WAN 优化网络变动例如拥塞可以触发应用重新计算 SR TE tunnel 的 placement 方式SR tunnel 可以由编排器通过南向接口例如 PCE动态编程敏捷网络编程不需要对中间结点和尾节点做任何配置也不需要对每条 flow 做配置 signaling
Egress Peering 流量工程EPE
SR 支持集中式 EPE控制器指导流量从 ingress provider edge边界路由器和内容源包从边界路由器开 始转发依照指定的路径和接口到达 egress provider edge用 BGP “peering” SID 表达源路由域内路径source-routed inter-domain path控制器通过 BGP Link StatusBGP-LS EPE 路由学习 BGP peering SID 和 egress 边界路由器外部的拓扑控制器编程控制 ingress 点的期望路径