技术助力网络网络智能化迈向新台阶
2019-01-18中国电信股份有限公司北京研究院史凡
中国电信股份有限公司北京研究院|史凡
随着IP连接的世界越来越“泛滥”,原生于Linux和Unix的FRRouting使得每一个主机、虚拟机甚至容器都可以成为IP网络节点,方便overlay方式的网络连接和组网。
网络智能化一直以来都给人高高在上的感觉,其实它不仅是一个顶天的概念,更是一个立地的实践。伴随着技术的不断优化和升级,不论是网络智能化的目标,还是网络能力平台化的实现手段,以及DSL、FRR等旧瓶新酒的技术概念,都将使得网络智能化进一步走向现实,为完善我们的网络世界作出贡献。
从随选走向随愿,终极目标呈现
运营商在网络转型和重构工作中,面向最终用户和业务层面明确提出了“随选网络”服务的理念,其核心是要重点面向家庭和中小企业,基于SDN/NFV/云等先进技术,实现具有按需定制、自助开通、实时提供等特征的网络服务。
中国电信已经于2018年5月17日正式上线了“随选宽带”业务,光宽带可随时提速至100M和200M,每月可以免费提速3次;能实现“账号随选”,手机号也能当作宽带号;还能支持翼支付红包、互联网特权、翼支付水电煤代金券等特权任选;另外就是“应用随选”,可以支持天翼空间、家庭云等业务应用。2019年,中国电信还将面向企业客户全面升级连接型专线业务,提供“随选专线”服务,在同一根光纤接入的基础上,同时提供上网、入云、多点VPN和各种网络增值应用,支持客户电商化的自助开通和调整。
“随选网络”的初步实现极大地方便了用户对网络服务的获取,增强了业务的灵活性和便捷性,很大程度上改变了过去“供给侧给什么,用户用什么”的局面,可以说是一种网络服务智能化发展的形式。
但是在部署“随选网络”的同时,我们也充分认识到现有网络的智能化改造非常初级,很多的工具和操作都是基于人工的方式,在复杂多变的市场环境和日新月异的新业务需求下,特别是面对各种业务和应用数字化转型的趋势,无法从根本上解决快速且高效响应需求变化的问题。为此,业界需要有一种新的系统性智能化方法,基于“业务意愿”来驱动网络和IT基础设施,通过自动化的、闭环的方式将业务需求即时转化为网络和IT基础设施的执行,从而实现两者快速匹配,产生真正的商业价值。
“随愿网络”由此应运而生,其本质是改变现有网络的控制和应用层面只是将传统命令行(CLI)通俗化的实现方式,通过新的体系架构和技术机制充分实现业务语言(自然语言)在异构环境下对网络策略的自动转化,即所谓的“Don’t Tell Me What to Do! (Tell Me What You Want)”。
可见,“随愿网络”不是一种单点产品、单项技术或单个软件,而是一项最终成为一个智能网络架构的长期演进任务和目标。如果说“随选网络”是网络智能化的初级阶段,那么“随愿网络”就是网络智能化的终极目标。
从积木到乐高,网络智能更加集装箱化
在向网络智能化迈进的过程中,网络能力平台化一直是备受关注的热点,特别是随着业务和应用的数字化之后,用户对于网络能力的调用需求也更加丰富多样,传统的能力平台以“面向过程”或者“面向对象”为核心来构建的方式,使得系统实现上相对复杂,基本功能和服务难以复制和重用,已经难以适应今后的发展要求,因而不得不转向“面向服务”,即所谓的SOA。
SOA的本质是将整体服务通过一系列服务组件来组织构建的机制,其强调异构系统间的通信和松耦合,也就是说其中的接口应该独立于实现服务的硬件平台、操作系统和编程语言,这样可以使得网络编程可以像搭积木那样轻松实现。
可以说SOA机制加速了网络能力平台的模块化,使得网络能力更容易被业务集成,而随着业务种类的进一步丰富和平台的复杂性不断提升,传统的SOA也需要更加通用和精细,如此才能满足网络智能被海量灵活封装和调用的趋势。今后的网络能力颗粒度不再是今天的短信、定位的力度了,而可能是短信中的某个特征字段、定位中的某个轨迹,这也就是微服务被引入到网络能力平台部署中的根源,通过微服务弱化传统SOA服务总线的概念,让服务拆分得尽可能小,甚至成为“原子”,进一步降低对其它服务的依赖和耦合,采用诸如HTTP Restful方式加强接口的通用化,进一步打破语言、平台等的限制。
类比一下,如果说SOA实现了网络编程的积木化,那么微服务就是使得这一方式进一步演进到乐高积木,从根本上提供了智能网络能力像集装箱一样规模化被使用的可能。
从DSL和FRR看网络智能技术的日新月异
在通信网络的发展历程中,DSL和FRR是两个非常知名的术语,前者一般是指基于铜缆的宽带接入技术,后者一般是指用于节点或链路保护的快速重路由技术,都在通信发展史上留下了光辉一笔。而今,随着网络智能化在各个子领域的铺开,新的技术手段和实现方式为上述两个术语带来新的注解和内涵。
在网络的软件化过程中,网络可编程是为网络注智的核心能力之一,也是极大丰富网络开放能力的重要途径。但是目前的编程语言中,命令式语言占据了主导,如C、C++、Java等。这一类语言写出的代码除了表现出“什么(What)”是你想做的事情之外,更多的代码则表现出实现的细节,也就是“如何(How)”完成工作。这使得代码变得冗长,而且也很难让执行代码的基础设施更聪明自主地判断该如何执行代码。例如,你写出这样的命令行代码,然后把编译后的中间语言交给虚拟机去执行,此时虚拟机并没有多少自由度可以影响代码的执行方式,它只能根据指令一条一条去执行。
随着网络基础设施的智能性越来越强,很多时候我们需要把执行的自主性发放给这些基础设施,而不是上层应用,所以只要能够在代码中体现出更多“What”,而不是“How”的信息即可,也就是采用声明式(Declarative)编程。其中,DSL领域专用语言就是非常具有代表性的一个选择,DSL供特定领域专家使用,而未必是程序员,它是为了解决系统(包括硬件系统和软件系统)构建初期使用者和构建者的语言模型不一致导致需求收集的困难。
举例而言,在构建某网络运营系统的过程中,在运行和维护活动中存在许多专业的网络术语和流程。现在要为该运营环境创建一个软件解决方案,那么开发者/构建者就必须了解网络运营整个体系流程,如此涉及到哪些对象、它们之间的规则以及约束条件是怎么样的等。如果让领域专家描述该运营流程中涉及的活动会更加合理,但是领域专家习惯使用他们熟练使用的专业术语来表达,解决方案的构建者却无法理解。如果解决方案的模型构建者要理解运营流程,就必须让领域专家采用双方都能理解的自然语言来解释。DSL就是为了解决这个问题而提出的,在一定程度上我们还可以认为它也是实现“随愿网络”的一种技术手段。
而FRRouting则是另外一个概念,它是一个基于Linux和Unix平台的开源IP协议栈,能够支持BGP、IS-IS、LDP、OSPF、PIM和RIP等多种协议。随着IP连接的世界越来越“泛滥”,原生于Linux和Unix的FRRouting使得每一个主机、虚拟机甚至容器都可以成为IP网络节点,方便了overlay方式的网络连接和组网,从而让过去看起来高不可攀的网络进一步“飞入寻常百姓家”。而且,作为Quagga项目的一个分支,FRRouting还在不断完善中,包括对IPv6的深度支持。结合GitHub的便捷获取,FRRouting从本质上实现了一定程度的网络云化,让网络真正走向泛在和虚拟,也让网络变得随处可得。如果说传统的FRR(快速重路由)是实现了高速铁轨的扳道工,那么新的FRR(自由路由)则让每家每户都成为了快递收发站。