理解Segment Routing和SDWAN

杀马特。学长 韩版系。学妹 提交于 2020-10-09 11:47:21

作为一项新技术,Segment Routing(SR)最近几年非常火爆,它和另一个概念SDN有效结合,成就了一些非常有意思的东西,比如说SR-TE。

但其实,SR理解起来其实是SDN/SDWAN发展到一定阶段自然而然的思路。

SDWAN中非常重要的一啪就是 “如何自定义一条任意节点到任意节点的路径。”

自定义路径可以在传统的基于链路度量值的IGP选路之外更加灵活地进行最短路径度量和选择,为繁复业务提供体验更好的传输服务。

实现自定义路径不外乎下面的方式:

  • 隧道方式。
  • 松散源路由方式(loose source route)。
  • 严格源路由方式(strict source route)。
  • 级联正向代理的方式。
  • 传统NAT的方式。

日光之下,并无新事。对于overlay方式的SDWAN,其自定义路径实际上就是一种松散源路由。

但本文以隧道方式为例开始扯。

想想看,在传统的IP网络中,如何构建一条隧道:
在这里插入图片描述

很简单的操作,只需要在隧道两端的设备上 进行一些配置 即可,这也是当年很多网工们的日常工作。至于说隧道承载的数据包实际如何到达对端,那就交给IGP吧。

IGP是内部路由协议的统称,比如OSPF,IS-IS都是,它是分布式协议,所有路由器通过交换信息一起来计算最优路径。

现在,进入到SDWAN隧道场景,我需要在传统IP网络上overlay一个由隧道组成的网络,这意味着多条隧道要首尾相接,形成一个互联结构:
在这里插入图片描述如果仍然按照传统的方式去配置隧道,网工和运维们是不是要跪了。传统IP网络的隧道的目的不是为了构建这种 大范围互联互通的overlay网络 的。

我在若干年前还真的这么构建过一个互联互通的overlay隧道网络,马上就要上集中控制器的时候,我离职了…当时的SDN理念是自发形成的,所以这不是什么高大上的东西,只要你身临其境并饱受了运维之苦,你也能想得到。

既然不想人肉部署,那么交给机器来做就是显而易见的事了,这就是SDN的思想。

新拉出一台机器,作为控制器,收集全网拓扑信息,只需要在这一台控制器上进行配置编排,随后将这些配置自动下发到各个节点路由器即可:
在这里插入图片描述

从体力活儿中解脱了,但还是很乱。

IGP的最优路径计算往往基于一些基础性的指标,比如物理距离,裸RTT,线路配置带宽等,但是overlay网络的最短路径计算就灵活多了,这就意味着它会相对频繁地重收敛。

如果路径频繁重收敛,上图中的机制就会产生更多的控制流量,即南向流量,隧道频繁拆建,会极大影响网络的同步。

换一个思路, 让数据包自带路径信息即可。 这样,仅仅需要底层标准的IP路由就能完成数据包在overlay网络上的运输。这就是SR的思路:
在这里插入图片描述
控制器只把路径信息下发到边缘设备,这些途径的路径类似一个松散源路由,以stack形式堆积起来,然后按照标准的IP路由逐跳转发就可以了,简单点说:

  1. pkt到达A,匹配到stream1,堆上标签栈B-C,A按照IGP查询到达B的下一跳,结果为A_n,发送给 A_n。
  2. pkt到达A_n,A_n看到标签顶部的B,查询IGP,直连B,pop掉B标签,发送给B。
  3. pkt到达B,B看到标签顶部的C,查询IGP找到达C的下一跳,结果为B_n,发送给 B_n。

你会看到,这一切完全只需要IGP查找即可,就和标准IP路由一样,但是显然就像源路由一样限定了数据包的经由路径。

也许你会说,这也不简单啊,至少需要对设备进行改造以支持标签转发吧。

具体到实现,确实是五花八门,但都是一劳永逸的事情,此外,不改造设备,我用标准的NAT配合源路由技术也实现了这些逻辑:
在这里插入图片描述嗯,这其实也是源路由的一种实现方式。

但不要用源路由选项实现自定义路径,因为很多运营商路由器会严防这种行为,故而丢弃带有源路由选项的数据包!

对运营商而言,这是合理,你要无条件走它帮你规划好的路径。

事实上,运营商可能已经想到一些互联网公司护或者民间手艺人的过境流量里会藏着各种奇技淫巧以构建一些灰色的东西,所以禁止一些非必要的选项也是可以理解的。



至此为止,我没有提到MPLS,其实我是故意的。SR的思路是可以自发产生的,所以不必强行把SR和MPLS关联起来,当然,SR可以直接借用MPLS的实现。

在我看来,MPLS是一个陈旧的技术,在很多年以前,不得不设计一些复杂的技术去粘合IP,ATM等多种多样的网络传输协议,而如今,基本上就是IP协议,依托IP协议玩各种overlay,简单为王!

如果把SR和overlay网络结合起来,SR的节点都是overlay网络的节点,那么总体来讲:

  • SR不规定数据包的underlay逐跳路径。
  • SR规定了数据包的一条overlay的逐跳路径。
  • SR允许在underlay做ECMP。

在这里插入图片描述


如果单看SR技术本身,它确实没啥新奇的,但是和SDN技术结合,就可以实现非常简洁明了的自定义选路,这就成了SDWAN。

方便部署,快速迭代是SDWAN的特点,所以它注定不能使用传统WAN中的那种复杂的分布式协议,比如MPLS-LDP,IS-IS等,那些复杂的技术非常不适合S(oftware/elf)D(efine),充其量可以归到WAN优化的范畴。

传统的Underlay WAN依然由传统的运营商和传统设备商把持着,毕竟他们人多,有钱,可以充分地互动拉通。然而对于新生的SDWAN,则可以让更多的民间手艺人多分一杯羹。

无论是在既有的传统运营商WAN上做overlay,还是自建机房白牌自研设备互联,均属于SDWAN,无非是SDWAN的两大阵营,但它们均面临几乎相同的问题:

  • 民间手艺人阵营:没有足够的资金购买设备和带宽资源,没有足够的人力研发和运营。
  • 大型互联网公司阵营:业务为中心,没有足够的动机将资金和人力铺在底层基础设施上。

因此,SDWAN必须是简单的,易于部署,易于运维的,SR技术符合这样的特征:
在这里插入图片描述

当然了,SDWAN并非只有SR一种技术可用,SDWAN不是SR,SR也不是SDWAN。本文既然是闲谈SR,那必然要多些笔墨了。


浙江温州皮鞋湿,下雨进水不会胖。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!