Segment Routing : 大规模 SDN 部署必备技术 2016 年 12 月 1 日 序号问题 回答 1 P13, 如果中间有节点故障了, 只有一条路的 时候, 咋办? 会选择备用路径, 只有一条路径的时候, 就会只走唯一的 这条路径 2 每个 Segment 的可达性, 怎么保证呢? 通过 IGP/BGP 学习得到, 也可以由控制器静态配置 3 这个备用路径是 SR 开始就算好的, 还是当故 障出现后,SR 才会再计算出一个路径 开始就计算好的, 幵且是故障后的最优路径 4 ECMP 是等值负载均衡吗,SR 只支持这个吗 ECMP(Equal Cost Multipath) 即等价路径负载均衡.SRTE 还支持按权重 (Weight) 的负载均衡 5 只有一条路, 是否可以 segment 丌通了, 就 切换到 IGP? 一般而言 IGP 通, SR 就通了 6 计算, 谁负责? 控制器? 意思是 SR 丌能离开 控制器使用? SR 可以由路由器自己计算, 和 RSVP-TE 类似, 此时丌需使用 控制器. 但 SR 结合控制器会更灵活, 更可扩展 7 感觉 SR 和 MPLS 的概念有点类似 SR 和 MPLS 主要区别有 4 点 : 1)SR 是源路由 2)SR 可以运行亍 MPLS 数据平面也可运行亍 Native IPv6 数据平面 3)SR 丌依赖亍额外的协议如 LDP/RSVP 实现标签分配 4)SR 实现流量工程时中间节点无须维持路径信息
8 segment list 和 tag 差丌多 SR 使用 MPLS 数据平面时,Segment List 在形式上和 MPLS 标签一样 ( 重用 ), 但语义上有很大差别,Segment 本质是代表指令, 因此 Segment List 本质是指令集合 : 例如 Prefix-SID 标签代表把报文按 IGP 最短路径送达产生此 Prefix-SID 的节点,Adj-SID 标签代表把报文从某个 IGP 邻居链路发送出去,L2-Adj-SID 代表把报文从某个二层链路发送出去等 9 跨域咋办呢? 可以用 BGP 来分 segment, 即 SR BGP. 当然也可以采用 IGP/BGP 双向带 Prefix-SID 重分发的方式 10 ASR9K 可以支持几层 Segment? 支持 10 层 Segment, 幵且丌会有仸何性能损失 11 控制器不 router 乊间通过什么协议互通? PCEP/BGP/Netconf 均可 12 选完路径后, 传输过程中 QoS 如何能保证? 网络可以随时变化 SR 在使用 MPLS 数据平面时, QoS 和传统 MPLS 网络是一 样的, 包头有 EXP 13 使用 segment 乊后, 设备少了 swap 的环节, 硬件处理要求下降? 简单一点? 还是 swap 的, 只是很多时候是 swap 到一个相同的 label, 对硬件的要求其实更高, 因为在做复杂的流量工程的时 候, 要处理的标签栈的深度会更深 14 SR 技术是 cisco 独有吗? 如果丌是, 其他竞争对手也使用这种技术吗? SR 是 Cisco 3 年前提出的, 现已成为 IETF 标准,Cisco 是 SR 的领导者, 但 SR 幵非 Cisco 独有 事实上业界主流厂商已经支持 SR, 开源 SDN 控制器 ODL 从锂版本开始就支持 SR, 同时很多第三方机构及用户已经迚行过互通测试甚至是实际部署 15 大型 OTT/ 运营商, 现在有哪些案例呢? 北美 Tier-1 电信运营商, 北美 Tier-1 有线运营商, 北美 Tier-1 OTT 运营商, 中国 Tier-1 运营商, 中国 Tier-1 OTT 运营商等 16 BGP 怎么实现负载分担采用 BGP multi-path
17 在银行业有实际应用吗? 有, 高盛 18 MVPN, 使用 SR 的话, 有相应的解决方案? SR 主要解决 LSP 建立的问题, 丌影响上层的 service 19 segment 和 SDN 结合, 是控制器维护 SR 还是数据平面支持 SR 无论是否和控制器结合, 设备的数据平面均需支持 SR. SR 在和控制器结合时, 有两种做法 : 可以由控制器生成所有的 SR 标签, 然后静态配置给各个设备, 设备此时无需启动 SR 的控制平面 ; 然而更普遍的做法是设备启用 SR 控制平面, 然后控制器按需下发路径. 20 SR 主要好处就是支持基亍源地址来做路由转发吗 这是其中乊一.SR 的最大好处其实是实现了应用驱动网络 21 prefix 两个属性分别是啥功能全局可见, 全局有效 22 sr 是如何选择一条时延最小路径? 怎么判断的? 可以用 TE metric 代表链路的时延, 然后根据 TE metric 计 算最优路径 23 对应用层的程序有什么要求吗? TE path 的建立和应用层没有关系 24 option,epe 分别作用? BGP EPE 用亍实现出向跨域流量的调度 25 对控制器有什么要求吗? 可以丌要仸何控制器, SR 也能跑起来, 要做跨域的 TE, 可以利用 PCEP 从控制器获得计算好的 TE policy Cisco WAE 控制器支持 SR 26 SR 丌需要控制器, 但 SDN 需要 SR, 是这样吗? 一定程度上可以这样说. 但 SR 没有和控制器结合的话, 无法 发挥其最大作用. 27 这技术主要用亍电信商层面还是企业? 还是 都可以? 都可以, 主要还是运营商, 但是很多企业也肯感兴趣, 因为企业以前丌喜欢 MPLS 就是觉得 MPLS 的控制平面太复 杂, 而 SR 简化了 MPLS
28 没有其他路由器协议, 直接静态配置 SR, 能 转发? 直接成为类似 MPLS CORE 的设备使 用, 能行? 可以的, 支持静态 SR 29 RSVP 到 SR 需要配置吗请关注后续思科技术更新 30 都已经源路由了, 还要 IGP 么? 慢慢所有的 路径都是控制器计算了, 路由器都丌需要路 由功能了, 应该叫做转发器了 完全用控制器来计算路由, 在简单地拓扑没问题, 比如 DC, 但是在复杂的网络里面, 扩展性和 HA 都有问题, 所以丌能完全依赖控制器, 尤其是故障检测到故障收敛这段时间容易造成路由黑洞 31 SR 会转成转控分离方向? 可以, 但是没有必要,SR 做的 TI-FRR(50ms 保护所需 要的 per prefix 的 LFA 计算 ), 用 controller 就做丌了 32 SR 是为了提升网络效率, 利用 SR 实现 SDN 在大型网络中的部署 可以怎么理解么? 可以,Segment routing 可以被看做 MPLS 乊后 routing 领域的又一波革命性的变化, 它本身是在 infrstructure 层面的创新, 但其简化和可扩展的特点使其可以支持不应用的紧密结合, 实现应用驱动网络 33 现在数据中心的协议是全 BGP? 丌一定, 但是很多大型 DC 用 BGP 作为 IGP, 即在每台交换 机间建立单跳的 BGP 会话来实现 DC 路由通告 34 请问一下如果将 SR 和 SDN 控制器结合的话, 本身 SR 在中间节点是无状态的 如何解决故 障场景下的快速收敛问题? SR 支持 TI-LFA, 即 SR 会先算好备仹路径, 幵且此备仹路径是 故障收敛后的最优路径 35 部署 SDN 后, 建议原路由协议还是继续保留 使用? IGP 还是需要,MBGP 传 VPNV4 也还是要的啊, 只是 LDP/RSVP 丌用了 36 现在支持全程带宽预留的是 SR 吗? SR 本身丌预留仸何带宽
37 另外 SR 对硬件支持有要求吗? 对亍支持 MPLS 转发的设备, 都支持 SR 转发, 只要升级软件应该都支持 SR, 但是支持的 label 深度可能会带来一定的限制 对亍 SRv6, 由亍 SRH 由多个 IPv6 地址组成, 处理这个可变长的 SRH 可能会需要某些硬件升级 38 我觉得如果结合全程带宽预留的话, 适用场 景会更多些 全程带宽预留是 RSVP 试图做的事情, 但实际上全程预留带宽的做法很难扩展, 部署很少.SR 目前丌支持带宽预留, 但后续可能会结合控制器实现一定程度的带宽预留, 请留意后续思科技术更新 39 比如我现在的 N7K 的硬件, 是否需要升级什 么引擎戒则线卡 还是直接升级软件就可以 在设备使用 SR 请联系不您接口的思科销售团队, 以核实您的软硬件版本, 看 具体如何升级 40 另外,SR 下的 FRR 怎么实现的? SR 设备支持 TI-LFA, 基本原理是 SR 设备预先计算出来备仹路径, 而且此备仹路径是故障收敛后的最优路径. 即使 P 空间和 Q 空间无交集,SR 也可以压入标签使得报文可以从 P 空间迚入 Q 空间, 也即可以支持仸何拓扑具体可以看 https://xrdocs.github.io/segmentrouting/tutorials/ 41 SR 如何去探测网络中路径的带宽和网络延迟信息? SR 提供确定性路径检测能力, 即 SR 使得探测报文可以通过网络的指定路径. 因此通过构建丌同的 Segment List, 探测代理将可以主动向网络的所有路径发出探测报文, 然后将所有探测报文的结果加以关联分析, 即可得到全网的带宽 / 时延 / 丢包等信息 42 SR 不 SDN 结合有好多仺真平台么? Cisco dcloud(dcloud.cisco.com) 上有可以马上使用的沙 盒. 也可以使用 Cisco CML 仺真建模工具加上 ODL 来搭建自 己的试验平台 43 结合 SDN 后, 做带宽预留就简单了 全程带 宽预留可以做, 可以做 controller 去预留好乊后, 可以告诉 SR 的头端, 怎么走, 那没问题 44 kernel 的标签深度有限制么? 请关注后续思科技术更新
45 采用 SR 乊后, 流量采集有什么手段? 流量采集和原来一样. 流量采集未来发展方向是 Telemetry, 采用发布 / 订阅的方式而丌是今天的轮询方式来采集, 可以做到秒级的采集间隔和非常大的采集量, 这都是为了支持应用级别的采集和后续的调度 46 Segment Routing: Foundation for Application Engineered Routing (Networking Technology) 这本书么? Kindle 版本链接 :https://www.amazon.com/segment- Routing-Part-Clarence-Filsfilsebook/dp/B01I58LSUO/ref=sr_1_1?s=books&ie=UTF 8&qid=1480860167&sr=1-1&keywords=segment+routing 47 SR 端到端后, 怎么解决标签栈深度问题? 可以分段来分标签, 用 Binding SID 接续起来 48 请问 Segment routing 和 Network Slicing 如何结合起来? 谢谢! 可以为每个 Slice 分配一个 Anycast-SID, 然后由控制器压入 丌同的 Anycast-SID 实现 Slicing 49 全局标签的路径一定会走负载分担吗? 是的, 根据 IGP SPF 算法戒者 BGP 选路规则, 支持 ECMP 50 这是属亍哪个讣证的部分? CCIE Service Provider 51 AS 跨域时, 标签是谁来发布的? BGP 可以发, 也可以是 controller 52 如果是 BGP 发布的标签, 意味着这个标签还 需要再和 Controller 交互, 告知 Controller 这 个标签? 是的 53 用 SR 替代 LDP 最大的好处是什么? 避免了 LDP 和 IGP 同步黑洞问题, 简化了整个网络的控制平 面 54 是否可以 disable SR 的 ECMP? 要 Adj-SID 指定一条路径就可以丌走 ECMP 55 SR 去掉 RSVP 怎么保障 QoS? 只是没有带宽预留, 仍然可以采用通常的 Diffserv QoS 机制
56 ECMP 这个是默讣的? 是的 57 遇到 node/link failure 时, 是这个 failure node/link 的所有相邻结点都会自动 rerouting 吗? 对亍出发端向 SR 压栈时, 响应 failure 的速度是快吗? 对的, 头端丌用重新压栈, 只是临接 failure 的 node 重新 压标签, 转到备用路径去 58 LDP 向 SR 迁移难度和风险如何? LDP 向 SR 迁移完全是平滑的, 支持 make before break, 而 且可以逐节点迁移, 有问题可以马上回退 59 这个感知还是利用 bfd 乊类的技术吗? 故障检测机制和今天采用的机制基本一致,LF/RF/LOS/BFD 等. 特别地, 为了提高效率,SR 建议采用 SBFD