专栏首页鹅厂网事静水潜流,举重若轻

静水潜流,举重若轻

写在前面:自SDN诞生至今已经有十个年头了,无论在学术界还是产业界,一直都是热门的话题。作为一种新的网络体系结构,SDN将重塑网络行业的竞争格局,腾讯作为产业界的领先者,更需要做好准备,主动拥抱这场网络的变革。而SDN控制器是SDN的大脑,下面以一种轻松问答方式,让SDN控制器团队带大家了解腾讯外网出口调度的SDN控制器吧!

Q

跟大家聊聊你们所理解的SDN,以及SDN控制器?

A

    SDN更像是构建网络的先进思想,随着SDN的发展,已经由最初以可编程协议为驱动的狭义SDN演变为以软件定义网络为核心广义SDN,现在的SDN更多代表构建网络的一种架构、一种思想,我们认为SDN本质和目标主要包含以下几点:

  • 一是软件定义网络,就是用软件定义的思想来设计新的网络架构,让网络能够主动适应业务和流量变化,而不是被动的承载流量。
  • 二是业务驱动网络,以应用、运营、可扩展性为目标,用自动化的方式驱动网络进行动态调整,快速满足实际的业务需求。
  • 三是软件简化运维,把互联网分布式系统的开发思想下沉到底层网络,运营和管理网络的整个生命周期,实现自动化的业务部署、可视的网络呈现、灵活的流量调度,最终简化网络的管理运维。

    SDN控制器也可以称为某种形式的网络操作系统,虽然控制器并不能与SDN直接画上等号,但它却是SDN的大脑:不仅要通过北向接口给上层网络应用提供不同层次的可编程能力,还要通过南向接口对底层转发设备进行统一配置、管理和控制。

Q

介绍一下目前SDN控制器在腾讯外网出口侧的应用情况?

A

    腾讯SDN控制器经过多年的积累,在外网出口调度已经有大量的应用实践。作为腾讯互联网流量调度平台(TIDP)核心的系统组件,SDN控制器从2015年第一个业务DDOS封堵上线开始,已经陆续上线的精细化调度、Anycast调度、CDN调度、EC-DC随选调度、VPN互通调度、设备无策略化等业务,极大的提升了出口网络的运营自动化程度,在保证网络稳定的同时增强了网络的灵活度,快速响应业务侧新需求落地。

Q

用控制器实现这么多功能是基于什么考虑?与传统的调度相比有何优势?

A

    其实SDN出现的真正原因是因人们需要具备更多可编程能力的网络,传统的交换机、路由器等网络设备给用户提供了复杂的命令行接口或厂商极度定制化用户界面进行配置和操作,但随着网络规模和网络需求的发展,当网络工程师需要配置数百上千台设备,实施各种复杂的接入及控制策略时,这种手工配置的方式效率低下,往往需要几天甚至更长时间,严重影响网络业务的部署进度,同时操作繁杂且容易出错,即使后来出现新的网络配置协议,也无法从根本上解决部署效率低、风险高的问题。随着互联网的发展,新业务的发展越来越快,这种人工配置的方式更加无法满足业务发展的需求,因此我们需要引入控制器,高度抽象网络中的路由模型,为网络带来更加高级的可编程能力。

Q

在谈论腾讯外网出口调度时,经常听到”精细化调度”这个名词,给大家介绍一下吧?

A

    腾讯外网交换平台(TIX)与全球超过800+ ISP建立了互联关系,出口带宽超过100TB,在各出口通过BGP协议将海量腾讯自有公网地址通告给各运营商,并接收各运营商网内路由和全球互联网路由,这样客观上使得TIX具备了通过在不同互联网出口调整路由收发策略改变互联网流量出入口的能力。BGP协议是个动态协议,具有灵活性、完善性、扩展性强的特点,虽然在协议层面通过BGP的优选规则和路由策略(例如:prefix最长匹配、优先级、AS path、MED),能够优选和一定程度的调度,但BGP协议却无法满足更多的动态约束需求,例如质量、带宽的外部约束。精细化调度便是在这种背景下产生,既在原有BGP协议基础上叠加更多协议无关的业务、运营诉求。

    “精细化调度”在调度系统里属于最上层调度平面:智能调度On-demand平面。本质上它是一种按需调度形态,通过灵活构造BGP路由报文,对设备进行路由注入,改变流量路径。“精细化调度”从功能上看主要提供路由出方向跨区域、多出口调度,入方向调度手段;从调度颗粒度看,可以针对省份运营商、AS、网段、主机进行调度;另外在业务层面,又可以衍生出路由监控、外网流量自动切换、Anycast质量优化、运营商路由差异、设备平面优雅隔离等多种场景;

Q

听说通过外网出口调度,可以提升公网访问质量,能举几个具体的例子吗?

A

    “精细化调度”一个重要的功能是检测到数据中心到用户质量出现问题后做出的优化性按需调度。那么对于常态化的用户质量优化就要用到第二个调度平面:业务化优Always on平面。它是一个常态化的路由下发系统,根据业务需求进行定制,进行动态的路由收敛,给大家举两个例子:

    “EC-DC智能随选”调度。EC是腾讯云的边缘数据中心,在全国大部分省份进行覆盖,要实现所有核心DC流量在任意EC间出口流量调优,该场景业务需求多变,传统的配置方案更是无法覆盖全场景,临时的需求配置可能会引发重大网络事故,引入控制器后我们可以轻松实现任意出口、任意运营商、任意园区三维度的出/入双向调度,实现了出口故障、质量劣化自动撤销等功能,大幅提升我们业务流量的调度能力。一方面用户流量可以就近接入和访问EC点,另外一方面如果流量需要访问DC,通过腾讯自有DCI网络实现EC-DC的互通,很好的提升了用户质量。

    “VPN互通”调度。TIX是通过VPN对静态出口和动态BGP出口进行隔离的,静态IP与BGP IP间通信由于中转产生了额外的延时。为满足静态出口业务与自有IP互通的质量要求,也是采用控制器进行BGP调度的方式,通过控制VPN路由的相互注入,打通BGP动态出口与静态出口。控制器设计了从精细单路由到多园区全量路由,同园区互通到跨园区互通等多维度调度方式,完全实现网络设备零配置和全程可视化,并且依据业务的质量探测数据,动态进行调整。调度后的互通时延都能达到60%以上的质量优化,最低时延甚至优化到0.4ms,互通质量和用户体验得到大幅提升。

Q

已经提到了两个层面的调度能力,控制系统还有其他层面的调度能力吗?

A

    最后一个调度层面:常态化无策略No-Policy平面。长久以来多厂商设备差异化的配置一直困扰着网络架构和运营人员。这一点在公网出口设备上尤为突出,公网出口设备需要面对全球不同运营商差异化的对接,设备上路由策略配置非常复杂、极易出错,一些细微的配置错误甚至导致重大的网络故障。

    为了尽可能避免设备的接触式配置,就需要把路由策略从设备上解耦出来。当然我们并不希望做厂商设备的配置翻译,因为这并不能根本解决配置的问题,因此我们设计了一套分布式的BGP 路由注入、策略卸载系统。上图中,每一台出口设备通过BGP与两个自研容器化的BGP Speaker建立双活邻居,把可变的路由策略卸载到BGP Speaker上完成,从而保证全网设备策略配置的统一和稳定。BGP Speaker又与自研vRR互联进行路由反射,整套系统便具备了传统设备的策略配置和反射能力。

    更重要的是,与设备互联的自研BGP Speaker又为业务扩展提供了多种可能。上层业务编排不在需要跟设备打交道,将直接驱动BGP Speaker进行路由注入、路由采集、路由仿真、策略定制等一系列的需求行为。另外该系统是微服务化的容器系统,TKE Stack(k8s)进行容器管理,使用配置中心进行路由策略的中心化统一分发。系统设计符合海量业务系统的设计思想,易于进行DevOps实践,例如利用CI/CD流水线进行Speaker软件迭代Set灰度发布,策略通过配置中心进行实验室/现网灰度验证并批量快速发布等。

    基于转控分离的思想,控制系统会进一步把部分的协议行为从设备上解耦出来,同时也保留传统方式作为快速的保底切换。利用分布式的多层系统,聚焦于最核心的组件研发,充分利用成熟的软件工程思想,构建弹性可靠的调度系统。

Q

给大家介绍一下控制器软件层面是怎么样的吧?

A

    基于开源ODL,我们进行了深度优化和微内核化改造,并逐步形成了一套自研的控制器平台T_ODL。公网出口调度SDN控制器从14年启动开发,利用T_ODL平台提供的多种南向协议支持、模型化抽象的业务能力,以及全套集群、数据库、RPC的系统能力,使我们能够快速的对各种网络技术进行整合,在此基础上实现了主备-->多机集群两种典型系统形态。

    随着云原生和微服务化的系统时代的到来,控制系统充分运用腾讯开源协同的多个系统组件。对控制器进行了微服务和容器化的改造,拆分北向计算、编排服务和南向协议服务。根据不同的业务诉求动态拆解生成多种业务功能实例,例如采集器、注入器、无策略实例、路由跟踪实例等。通过容器系统灵活弹性部署,动态的进行1:1到1:n的实例关联。系统的灵活性为CI/CD,运营的可编程场景提供了灵活的编排能力。为进一步实现业务调度的设备Zero-Touch模式,以及用软件定义的思想构建策略运营和变更系统,提供了有力的支撑。

长风破浪会有时,直挂云帆济沧海。SDN不仅为Internet出口提供极致的业务调度体验,更是在基础网络的方方面面得到广泛应用,欢迎大家一起探讨SDN控制器的技术发展及未来!

欢迎关注公众帐号“鹅厂网事”,我们给你提供最新的行业动态信息、腾讯网络最接地气的干货分享。

注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;

注2:本文图片部分来自互联网,如涉及相关版权问题,请联系v_meizhuang@tencent.com

鹅厂网事

分享鹅厂网络的那些事

扫码关注!解锁更多~

本文分享自微信公众号 - 鹅厂网事(tencent_network),作者:陈捷

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯SDN/ODL的探索、创新与开源实践

    "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

    鹅厂网事
  • 海纳百川,有容乃大 ——云网络SDN控制系统演进之路

    VPC提供给客户在云端创建自定义的网络服务,用户可以自定义在云端VPC的子网、IP规划等网络参数,将VPC抽象成用户在云端的数据中心。VPC对等连接方案解决了...

    鹅厂网事
  • 腾讯DCI上线基于集中控制的SR-TE方案

    "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

    鹅厂网事
  • MYSQL主从同步

    1、解决问题 数据分布不同节点、负载均衡、读写分离、容灾备份、高可用应用、故障切换等 2、同步原理 Master将操作记录到bin-log salve的一个线程...

    苦咖啡
  • 微信小程序

    微信小程序今天正式上线了,但是怎么看到呢? 第一:升级微信到最新的版本:6.5.3 第二:在微信中搜索“小程序示例”,在搜索结果中找到黑色图标S形状点开它,进入...

    wangxl
  • Go实现字符串全排列详解递归

    输入一个字符串,打印出该字符串中字符的所有排列,例如,输入字符串 "abc",则 输出由字符 'a'、'b'、'c' 所能排列的所有字符串 :"abc" "ac...

    陌无崖
  • 云点播(VOD)“你问我答”第三季(2020.3月&4月)

    云点播用户购买10T资源包赠送精简版短视频SDK License一年使用权、购买50T或200T资源包赠送短视频基础版SDK License一年使用权,使用权赠...

    腾讯云视频
  • 那些小众而有趣的自由职业

    说起来自由职业,很多人都觉得要财务自由了,才能去做。但我认为只要有一个手艺,可以持之以恒的去做一件事情,并且能有乐趣,我们就能去做。

    icepy
  • ElasticSearch5.0之后的改变

    老梁
  • 换域名scorpius.in

    之前的域名mxgw.info很长一段时间就已经被Google停止收录了,原因不明~

    libo1106

扫码关注云+社区

领取腾讯云代金券