1、什么是“云网关”?
云网关主要是指将用户接入网关放到边缘云侧,云网关承接用户上网,增值业务流量调度等功能。服务提供侧通过云网关就近接入各类业务,使用户能够简单的实现一跳上云,简单高效地体验稳定高性能的海量增值业务。
云网关的部署应用更加接近用户家庭,结合算力网络的规划,以云网关为基础,发展云网关衍生应用,可以发掘海量的家庭“算力”,为家庭算力的模型构建以及运用打下一个坚实的基础。
图片
当然,云网关的种种好处离不开它基于SDN网络架构的核心思想,即转发和控制分离的理念。
2、“云网关”开创用户上网新模式
云网关开创了一种用户接入网络新形式。家庭宽带上网方式的发展历史可以概括为从拨号连接到电缆调制解调器,到DSL和光纤到户,再到云网关,网络速度和连接方式不断升级,用户的上网体验也越来越好。
图片
总的来说,互联网接入中国的二十多年里,家庭宽带用户上网的方式发生了多次重大的变化,每次变化都给用户的体验和服务质量带来了跨越式的提升,云网关也不例外。
3、“云网关”的技术架构
云网关基于SDN思想,实现了一套转控分离的高性能转发框架。
图片
转发面:
在云网关中,转发面(转发进程)主要负责根据策略,路由等规则,进行高性能纯数据包的转发和流量调度。
控制面:
与传统的设计不同的是,在云网关中控制面分成两个层级。
(1)设备控制面
图片
图片
云网关的设备控制面,主要负责一些路由协议的协商和邻居建立,如BGP、OSPF、RIP等常见协议路由获取导入以及生成,再通过转控对接方式,将计算后的路由结果下发给转发面,转发面只需要根据下发的路由结果进行数据包的匹配转发,不需要参与到特定的路由计算和生成环节。
与此同时,设备控制面还负责协议的控制报文生成和交互,如IPsec加密隧道的IKE生成等。除此之外,设备控制面还负责ARP报文的解析生成ARP表项的下发,同步转发面和控制面接口MTU等一系列需要计算和维护的功能。
由此可以看出,一系列功能的处理和运行,对设备内部控制面和转发面的对接方式有了较高的要求,具体会在下个章节进行介绍。
(2)控制器以及运营平台
云网关网元层面的控制面,就是一般意义上的SDN控制面,如上图所示,总的来说在云网关管理系统中,管理面(云网关控制器以及运营平台)主要负责网络拓扑发现和管理、流量控制和管理、网络安全管理、业务订单管理等功能,与设备内部层面不同的是,网元侧控制面在更宏观的角度对设备进行管理,对网络进行调度编排,更充分划分了一个大脑的功能。
然而,网络拓扑发现,流量控制,订单管理依赖各类完全不同的南北向接口,对转发面控制面的边界划分,内部协议贯通对齐,都有新的挑战,对架构规划以及研发能力有较高要求。
4、“云网关”的转控对接方案
综合前面几个小节所描述的,因为云网关的转发面控制面分为设备内部和网元单元,所以云网关的转控对接技术,不能简单的理解成传统意义上设备和控制器的南北向接口,设备内部的实现更多地基于底层驱动的设计实现,计算机底层原理的理解运用,而网元单元更多的是网络业务相结合的技术。
4.1 常见的南北向接口
➢ OpenFlow
OpenFlow是一种网络通信协议,伴随SDN诞生,可以说是最早的南向协议,属于数据链路层,能够控制网上交换器或路由器的转发平面(forwarding plane),借此改变网络数据包所走的网络路径。
➢ Netconf
IETF在2003年5月成立了Netconf工作组,该工作组主要是为了提出一个全新的基于XML的网络配置(Netconf)协议而成立的。该工作组已于2006年12月通过了Netconf协议的基本标准RFC4741-4744,2011年6月RFC6241、RFC6242替代了原有的 RFC4741、RFC4742,RFC4743和 RFC4744则被标记为历史资料。
➢ PCEP
路径计算单元协议(Path Computation Element Protocol,PCEP):为MPLS网络域间流量工程(Traffic Engineering,TE)等应用提出的,以支持集中化的路径计算。
如上所述,云网关也有一套自己的南北向对接方式。
4.2 “云网关”网元对接接口
云网关的控制面负责网络拓扑管理、流量调度、安全管理和业务订单管理等功能。换言之,控制面需要与转发面对齐相关信息,以便在数据传输通道(如统计和调度)和网络信息通道(如拓扑发现)中进行交互。
➢ 普通数据通道
云网关实际部署时,发现常常需要将云网关部署在私有局域网,而云管平台(控制面)则部署在公网中,故云网关在设计时,使用Websocket在转发面和控制面之间建立了一个TCP长连接双向通道,但是由于Websocket的重传机制不太友好,同时需要为转发面控制面另外预留一条HTTPS的网络接口用于数据发送接收。
图片
传输的消息格式,采用RestFul风格设计,能够快速便捷地进行设备编排管控。
➢ 网络信息通道
网络拓扑收集和拓扑自生成,是路径调度,网络编排的基础,仅这个模块就是非常复杂的。云网关在设计过程中,依赖了BGP的能力,在一定场景下(云网关作为POP设备时),通过BGP-LS能力和控制器建立BGP-LS邻居,云网关通过BGP的路由属性,携带计算好的拓扑信息至控制器,控制器通过BGP协议能够快速解析生成网络拓扑。
然而,该方案需要控制器支持南向BGP-LS接口,因为BGP-LS是BGP的一种扩展属性,很多设备和控制器不一定能够支持。云网关在设计过程中,结合POP探究场景,提出了一种基于SRv6的拓扑快速生成方法,并申请了相关专利,在该方案中,控制器只要拥有普通数据通道即可快速或许拓扑信息。
4.3 “云网关”设备内部转控对接
回到设备内部,上文提到了设备内部也需要面临转控对接的问题。同样,也存在两个具体的南北向通道大类,一个是数据交互通道,一个是控制报文交互通道。
➢ 数据交互通道
设备内部的数据交互通道,是用来下发设备内部控制面计算好的路由,IP以及ARP等信息,以数据的形式下发至转发面,转发面拿到相关信息调用相应接口,在转发面增删改这些基本信息。
在云网关中,数据通道利用了Linux内核自带的Netlink消息作为载体,控制面进程在计算完信息后,如BGP协议建立BGP邻居通过路由重分布获取到路由,控制面进程通过路由属性判断好路由优先级,最终加入FIB转发表中时,除非Netlink消息,发送至设备转发进程,由于数据量可能会很大,转发进程结合Epoll机制,创建大量Socket,最终实现高效的数据信息下发。
➢ 控制报文交互通道
上文提到了,设备内部控制面还要负责控制报文协商,比如BGP的OPEN报文,IPsec的IKE等。那么如何将这部分报文从转发进程中分离出来,通过哪种途径通道将数据包发送到控制面,控制面如何发送给转发面。不过作为控制报文,可以牺牲一小部分性能。
云网关在设计时,针对这块采用了通过Linux内核驱动创建Tun/Tap口,转发面和控制面均通过这个虚拟硬件口收发控制报文,云网关同时针对这个方案进行了Linux内核驱动的优化修改,提升了几倍性能。
5、“云网关”的应用和未来
云网关的研发和推出,完成了许许多多的技术积累和创新突破,积累了一定技术能力,以转控对接技术为例,这类技术不仅仅在云网关上适用,相应的技术创新和积累还可以在整个SDN网络以及未来将要构建的算网底座中使用。
除了完成技术创新和积累,中国移动智慧家庭运营中心将以云网关为基础,研发部署云化业务插件、基于SFC业务链技术的调度系统, 面向不同客户场景,通过家庭网络调度能力,实现上网安全、应用加速等增值服务快速加载部署,满足不同家庭场景需求。
未来,中国移动智慧家庭云网关还将持续赋能更多产业合作伙伴、衍生更多使用场景,做大生态圈,为家庭、泛家庭用户提供更加人性化的业务服务。