从MPLS到SD-WAN的思考

2021-04-25 09:50:32 云杰 120

  sdwan000 (1).jpg

       最近这一两年,SD-WAN在业界有点甚嚣尘上,而且一般都把SD-WAN视为是要取代MPLS的'掘墓人',认为MPLS早晚要被SD-WAN所淘汰。恰好本人多年前曾参与MPLS产品的开发,最近又与SD-WAN瓜葛匪浅,所以在此也凑个热闹反思一下这两种组网技术的前世今生。

  一、过去MPLS能够大行其道的缘由

  2000年以后,MPLS技术在运营商网络中开始规模部署,特别是其天然与MPLS业务相关,使得MPLS成为当年政企组网市场上的宠儿,当初其发展的对照物,主要是点到点的传输专线,总体来说,MPLS相对于之前的传输专线,其优势的本质是产生了'网'的概念(一点接入,全网任意别的点都可达),而非传输专线一直是'线'的连接(一头进入,必须另外一头对应出去),给客户组网带来了不少的好处。具体来说,从客户的视角,主要如下:

  1、多点组网时,省链路:

  随着一个企业/单位内部不同站点间互相通信需求的增加,Full Mesh(全网状)或者部分网状组网的情况越来越多,此时,如果是采用点对点的连接,那么就必然面临N2的连线问题(即,N个站点需要N*(N-1)/2条电路互联),而采用MPLS时接入电路则只有N条(每个站点接入到运营商网络的局端设备后,默认是和其余的N-1个站点都连通的)。这在三个点组网时,两者所需的电路数是没有差异的,如下图1所示。

  三点间full mesh组网时,传输专线与MPLS在接入电路上无差别。

  但是,如果在四个点或者四个点以上组网时,差异就非常明显,如下图2所示。因为是以线为单位进行连接构建的原因,此时四个点做full mesh的传输专线,就不得不需要6条线互联;而以网的概念构建连接的MPLS,四个点还是4条接入线(局端设备间虽然还有full mesh的虚拟连接,但是可以不实际占用/消耗带宽)。

  四点间full mesh组网时,MPLS所需的接入电路较少。

  而且,组网便利性的最明显体现之一,在于增加一个站点的情况(如,企业新扩展了一个分支机构,或者收购一家别的小企业)。如下图3所示,如果是传输专线,需要增加对现存四个点的4条电路,而如果是MPLS则只需要补充1点的接入电路即可。一般来说,这不仅大大简化了对运营商电路资源的需求,也减少了对企业站点侧网络设备广域网(WAN)侧端口占用的需求。

  增加第5个点是,MPLS只需要补上1条接入电路即可。

  2、多点通信时,省带宽:

  在传输电路情况下,任意两点间的带宽是固定的,即站点A-站点B的链接上,如果A点是2M,那么B点一定也是2M,假设A是一个中心点(hub) ,存在类似B这样的分支点(spoke)有10个,那么A点所需的就是10*2M=20M带宽(当然,如果用个公式表达,应该是,这里简化起见,把每个分支点的带宽都设为一样是2M算了)。此时,即使在某条链路上没有流量产生(未必实时都有通信的流量,或者说一定会把带宽跑满),但是这条2M的带宽还是被占用了不能被别人所分享,如下图4左侧所示。

  而MPLS中,因为本身不存在点对点的物理电路的概念,所以完全可以考虑对带宽进行复用,也就是说如果不出现10个分支点同时向中心点满额发送流量的情况(这种情况也比较少见),那么中心点的带宽就不需要是分支点之和。当然,为了以防万一,需要考虑配置QoS,以便一旦发生流量超过端口速率时怎么进行低等级应用报文的丢弃(也就是说,省钱也有一定的代价,此时会引入令人讨厌的QoS配置了)

  MPLS组网时,hub点的带宽一般不会是spoke点带宽的总和。