第三届未来网络发展大会

网络全球 决胜未来

当前位置:嘉宾致词> > 分论坛四

大规模SDN网络的“测不准原理” 腾讯高清网络设计与实践

编辑: 共浏览:843次

谢谢主持人,谢谢大家。我先自我介绍一下,我是陆元伟,来自腾讯TEG网络平台,我先介绍一下我在网络平台部主要负责什么业务,其实腾讯网络平台主要负责的业务是包括腾讯的整个底层网络,包括光网络、物理网络、骨干网、数据中心以及腾讯云的部分虚拟网络、智能网卡这些方方面面的网络问题,其实都有覆盖到。今天给大家介绍的主要是我们在腾讯运维这一张大规模的网络的时候的一些经验。

我们首先看腾讯网络其实上面支撑了腾讯很多的业务,其中很大一部分包括大家平时都在用的微信、QQ、QQ音乐、腾讯云,这些都是基于腾讯网络来构建的。我们其实构建了非常大的数据中心网络,现在我们的接入数据有25G,服务器数目达到了100万,而且增长的速度非常快,因为腾讯云的存在。举一个小数据,就是腾讯去年刚刚成立20周年,去年一年增加的服务器数目等于前面19年所有的服务器的总数,所以说增加的速度是非常快的。然后我们的网络设备现在已经有了8问数量级了。

刚才各位专家也都介绍了,认为我们未来网络发展趋势就是小盒子会取代大盒子,就是我们用非常小的交换机去替代一些比较复杂的路由器或者是大的框式设备,这就意味着未来会有更多的网络设备的出现。同时,网络现在慢慢的就开始自研,包括我们腾讯开始拥抱SONIC平台,开始自己定制一些白盒化的设备。我们自己去设计软件的话,对软件和硬件的掌控力也会更加的高。同时,因为一些腾讯云的,其实我们现在也构建了自己的NFV的平台,去构建一些NFV的网络。这是一张纯软的网络,他会带来很复杂的网络功能。

其实我们也构建了我们的SDN网络,来去运维这一张非常大规模的网络。其实我们比较关心的几个问题主要就是我们网络的规则是否合理,网络配置是否正确下发,网络目前瓶颈在哪里,以及网络如果出现故障,它因为这么多的设备,有8万到9万,它到底是哪一台设备故障了。因为这个设备数量特别多,而且跨越了UNDERLAY、OVERLAY,包括数据中心和骨干网,所以它的发现特别难,定位时间也特别长。现在业界的思路通常就是借助SDN,依靠网元,信任网元,然后认为网络设备可以吐出来很多的网络信息。包括现在设备白盒化,以及硬件开放、INT、MAD等等技术,去获取丰富的网络信息,最后找出网络故障在哪里。那么这样是不是问题就可以解决了呢?其实我们腾讯尝试了这些做法,我们发现问题仍然是存在的。下面我会举一些例子。

第一个例子就是一些静默丢包和随即丢包和路由黑洞问题,他其实就是一个灰色故障,就是设备发生故障,它没有日志也没有告警,同时也没有上报。比如说某一个核心芯片转发故障,导致国内部分城市的有1%的丢包,但是设备并没有任何的异常日志和告警,这样的故障就非常难以去定位和发现,如果利用传统的相信网元能吐出一些精确数据的话,这是不可靠的。其次,因为腾讯自身的业务,他们有大量存量的设备,现在大家都在推INT和Telemetry,这些设备并会完全准确,因为它里面存在大量的存量设备。现在我们大家都在说是不是AI和大数据就能解决呢?这个仍然是一个开放性的问题,就依赖在座的各位做各个方面的研究,把它做的更好。

前面说到了它的本质原因就是因为相信网络的网元可以提供很丰富的数据,去相信这个网元,其实它是不可靠的。那么不可靠就体现在我们把它归纳为大型网络“测不准原理”。我们第一个概念就是网络的可信赖程度,第一个就是网元大数据可以覆盖网络异常的比例,另外一个方面是网元故障的时候它可以自动的去告警。根据我们的经验来看,就是在自研之前,我们依赖于设备厂商提供一些设备,这个盒子对我们来说是黑的,我们也不知道他是怎么实现的,所以东西它也不是那么信任。随着软件进入自己自研的时代,就是白盒设备,我们认为设备是我们自己造的,作为软件开发工程师都觉得代码是我自己写的,我显然知道它哪里有什么问题,所以说这个信赖的程度是不停的随着时间,随着我们对这个网络设备的理解是不停的增加的。大家都相信自己,对自己做出来的设备是非常相信的。但是我觉得在未来网元的信赖程度可以接近百分之百,但是不可能被所有的信任。

第二个概念就是整网的可信赖程度,就是网络大数据对整网设备故障的覆盖程度。其实之前设备非常少,网络的数据覆盖范围非常广,把它全收上来基本上可以覆盖到网络的方方面面,其实现在网络设备越来越多了,那么就很难说网络大数据能够把所有的数据都搜集全,而且处理集群的能力也是非常有限的。更重要的是说在未来,因为就算是我设备越来越可以被信赖,但是由于我这个设备的数量越来越多,所以我会放大我这个长尾效应,就是有一点点不信任,也会在大量设备的情况下被放大。

总结一下我们的“测不准原理”就是指网元在可预见的未来不会达到完全的可信赖程度,然后就是长尾效应,海量网络设备放大不可信赖程度。然后就是监控系统的处理能力有根本的限制,它没有办法搜集所有的数据包进行分析。基于这个观察,我们就提出了高清网络的理念,我们基本假设就是网元是不可被信赖的,我们的目标就是要在网元不可信赖的情况下,我们仍然要做到对网络故障的可见,包括网络规则的可见,转发,一些ACL的规则,TE的规则,还有网络的性能,包括带宽、延迟、瓶颈、丢包率等等。同时网络的故障点,比如说什么故障设备,什么链路故障,这些都要能够可检。

其实核心技术也就是从业务的角度去提供一个端到端的智能化的网络探测,大家可能会问,那你这个和之前大家都已经做过的各种各样的PIN有什么区别?其实我们是有区别的,因为第一我们是一个智能化的探测,它探测的矩阵是非常精细的去设计的。其次,探测数据会把它做到一个可视化,它经过了哪些路径,经过了哪些设备,我们要把整个探测的路径全都可视化出来。同时我们对一些新上的新增的增量设备,比如说他们可以支持一下INT和MOD,同时我们还要全覆盖,包括网络配置和设备和端口。以及它的精度是可缩放的,在某一个时间点把我们的资源聚焦到某一个局部,所以说这个精度是需要可缩放的。

我们大概的架构是这样的,首先网络管理员会给出一些网络意图、配置和规则、精度,然后它会配置一些生成引擎,然后我们收到数据之后进行智能分析,对后会对接到报警平台和可视化平台。这个里面比较重要的一点就是我们同事会做一个精度调节,就是刚开始我们的精度可能会很粗,就是在某一个数据中心之间进行探测,然后定位了之后,我们会把这个精度聚焦到数据中心内,所以精度是逐步的进化的。我们再看一下配置生成引擎,它的功能就是根据网络意图、网络规则以及要求的可见精度,生成网络设备的具体配置。它的关键点就是首先我们要有一个合理的探测流的组合,方便事后的交叉验证。我们对探测流经过了什么设备做一些路径的可视化,因为现在整个网络有很多存量设备,有一些是支持SRTE功能的,有一些是不支持的,那么不支持的话我们会通过其他方式上它变的可见。最后一个就是精度调节。比如说我们在探测整个IDC内部的网络连通性的时候,我们会去设计一个探测矩阵,我们会用一个决策树的算法生成一个可定位的探测矩阵,这个探测矩阵可以做到每一条探测流对一唯一的一条物理链路,如果观测到某一条探测流有故障的话,那么我很简单的就可以反推到这个物理链路。

后面就是介绍一下这个智能分析引擎,我们会对大数据进行分析,给出当前网络状况的报告,它的精度是可以调节的,这个刚才说过了。同时因为我们可以配合前面设计的比较合理的探测矩阵,使得我们的计算开销降到比较小,我们可以做到秒级定位。下面我们仔细看一下我们设计的一个系统,叫NetSense,它可以定义到精确的设备。这个NetSense的IDC是和我们的资源交换机是结合在一起的,他是我们资源交换机里面的一个联通性的自检系统,在一个20万服务器的IDC里面,可以做到秒级定位,而且定位准确度可以达到99%以上。我们是主动探测的全覆盖,而且是通过IP IN IP原路由加智能编排,这样我们就可以知道它的有关哪些设备和路径,我们这个定位算法,因为前面介绍了,我们把它叫做QuickLoc-DIC,这个算法可以根据某一种现象来对应唯一某一种设备故障情况,就可以很快的查找到故障的设备。这个是DCI的故障监控和设备,相对于IDC的话就不一样了,但是我们仍然要做到全覆盖,我们用了一个MSC的算法,去把它用最小的数目路径,去把这个DCI上面所有的链路进行全覆盖的探测,我们可以节约99%的探测带宽。对于探测路径的可视化,我们部分网络支持了SR,我们就用SRTE做这个事情,还有一些不支持的,比如说一些大量存量设备,我们就用PING+TroceRoute的方式来做,这样基本上也能够做到刚才说的PING能够走到哪条路径。定位算法我们是叫QuickLoc-DCI,这个算法就是用投票法的原则,因为我们现在有很多探测的流,每一条流经过什么路径我们都知道,我们把发现故障的探测流,他经过了哪些故障的设备都做一次投票,然后得出了一个集合,这个集合就变的非常小,对这个集合里面做一次假设检验,算出每一种假设他会导致现在这种现象的可能性,最后找出能够解释当前现象的最小集合我们就停止。这种做法就是说我们在一个2K的网络设备的DCI里面能够做到两级定位,而且我们的召回率,就是如果网络现在故障了,我们现在能够覆盖多大的故障,发现多少百分比的故障,能够做到95%。精确度就是我认为它是一个故障,那么这个故障是不是真的一个故障,它的精确度可以达到80%。

还有就是说我们为OVERLAY广告设计的NetSense for OVERLAY,我们会根据现在业务流量的一些特征去构造与业务流量包头一样的数据包做探测,我们会结合交换机里面的UDF和OVERLAY自己在自研设备里面做的一个OVERLAY ERSPAN把路径给可视化出来。最后的算法和前面是类似的,同时在我们自己自研的ERSPAN设备里面去把报文弹出来。

前面我介绍了整个网络故障定位这一块儿,可视化这一块儿的工作介绍了一下。前面我也说到了我们大数据的处理系统资源是有限的,我们要能够具备一个能够调节的功能,这个功能就是我们的一个叫做ZoomLens系统,简单来说我们会搜集网络上的数据,通过算法来做参数的调节,可以调节说我们在什么位置做探测,需要探测多大的范围,以及需要上送多少数据条目和数据量,同时我们会根据现在的一些结论看到的一些情况去启用或者是停止一些工具,比如说现在是不是要做INT等等。这就是我们ZoomLens系统,可以用来把我们的大数据处理资源发挥到极至的利用。

那么我们展望一下未来我们高清网络会怎么发展。以前是我们说过去我们大家都是网工时代,主要是搞一些网络配置就可以了,但是现在我们所在的时代是软工时代,就是我们现在自己会去做一些硬件白盒化,包括一些NFV自己做一些设备。我们相信未来会进入一个大数据和AI的工程师的时代,就是现在我们大家所需要的技能都还是一些软件的技能,但是未来我们需要在大数据和AI上面去增强我们的技能,以后也就是我们去处理白盒化之后,所带来的Telemetry会提供的大量数据。那么我们腾讯的高清网络他是在什么位置呢?他是处在现在和未来的中间的过度阶段,它回答了一些我们现在要采集什么样的数据,我们应该采集什么数据,如何采集数据以及我们怎么去理解我们采集到的数据。

我的介绍就到这里。谢谢大家。