ONOS之开放分布式SDN操作系统

2023-05-16

为什么80%的码农都做不了架构师?>>>   hot3.png

    关于构建ONOS(开放式网络操作系统)的项目专题,是通过性能激发创建的实验性分布式SDN控制平台,满足大型运营商网络的可扩展性、可用性需求。提出了2个版本的ONOS原型,第一个原型版本实现的核心功能是实现一个分布式的但在逻辑上集中的全局网络视图、可扩展性和容错。另一个原型版本侧重于提高性能,基于这两个原型的实践,已形成论文发表《ONOS: Towards an Open, Distributed SDN OS》,确定需要ONOS来支持使用案例,如核心网络流量工程和调度,变成一个在可用的开源SDN社区构建分布式网络操作系统平台。

一、 介绍

近年,学术界和产业界对SDN产生了极大的兴趣。一个开放的、厂商中立的、控制数据平面分离的接口如OpenFlow,允许网络硬件和软件独立发展,并促进了免费的开源的网络操作系统的发展,来更换传统的、价格昂贵的、专有的硬件和商用硬件。通过管理网络资源和提供高层次的抽象和APIsNOS提供一个开放的平台,它简化了创新有益网络应用的创建并且服务于多种硬件网络。

为了支持大型网络,NOS必须满足可扩展性大、性能高、可用性强的需求。根据网络运营商的讨论,并考虑到服务提供商网络中的流量工程使用,我已确定几个极具挑战性的需求,如图1

110229_s9d4_2249260.png

■高吞吐量,达到1M requests/s

 ■低延迟,事件进程10-100ms

 ■全局网络状态大小,数据量最高达到1TB

 ■高可用性,99.99%的服务可用性。

为了解决上述问题,已在实验系统上运行开放网络操作系统(Open Network Operating SystemONOS)。ONOS采用一个分布式架构,可达到高可用性和高扩展性,为应用程序提供一个全局的网络视图,即使物理上分布在多服务器,逻辑上也可集中管控。ONOS作为一个开源项目,主要通过下面两个重要原型的开发逐渐发展演变:

 (1)原型1在分布式平台上为扩展性和容错能力致力于全局网络视图;

 (2)原型2致力于提高性能,尤其是为事件延迟添加了一个事件通知框架,改变数据存储和数据模型并添加缓存层。

二、 原型1:网络视图、扩展和容错

ONOS最初的挑战是创建一个有用的抽象层、全局网络视图、以及在一个系统上跨多个服务器运行在控制层面的扩展和容错能力。使用开源构件建立的第一个原型是为了快速验证以及更深入探索设计的可能性。根据现有的开源SDN控制器Floodlight开发出第一个原型,使用了Floodlight的部分模块,包括交换机管理、I/O回环、链路发现、模块管理和REST APIs。下图显示了原型1的系统架构:

110230_4L1T_2249260.png

                                         图2:原型1架构

 

2.1 全局网络视图

ONOS含有全局网络视图功能,在集群中通过ONOS服务器管理和共享网络状态,并提供一个对应底层网络结构的网络视图模型。在每个ONOS实例中发现的网络拓扑和状态,如交换机端口、链路和主机信息构成全局网络视图,并从全局网络视图中读取应用程序确定转发策略,然后将转发策略依次写到网络视图中,当视图信息发生变化时,将变化消息发送到相应的OpenFlow控制器并下发到在指定的交换机上。初始的网络视图数据模型,采用Titan图形数据库实现、使用Cassandra键值存储实现分布式和可持续性,通过Blue-prints图形API暴露网络状态给应用程序。由于Cassandra具有一致性存储的特性,所以保障了网络试图的最终一致性。

2.2 可扩展性

ONOS的一个关键功能是其可扩展性和容错能力的分布式架构,ONOS运行在多个服务器上,每个作为专属的master OpenFlow控制器,管理网络子集中的交换机。一个ONOS将独立完成对网络及交换机的控制并负责全局网络视图之间的状态变化;当数据平面容量增长或者在控制平面需求增加时,附加的ONOS应用实例可以被添加到ONOS集群中分发控制平面的工作负载,体现了良好的可扩展性。

2.3 容错能力

ONOS分布式体系结构中,当一个组件或ONOS实例失败时,有其他剩他实例的情况下,允许重新分配,保障系统仍能继续工作。ONOS的架构允许在运行时组件存在于一个实例,但是提供多个冗余的实例,接管之前的失败实例来控制组件。在运行时通过在所有实例中选择一个最优实例来代替初始实例。

一个交换机可以连接多个ONOS实例,但是对于每个交换机来说,只有一个主(master)实例控制。这个master实例独自负责发现交换机信息和控制交换机,当一个ONOS主实例失败时,剩余的实例选择一个新的master来控制交换机。与每个交换机一致性匹配度最高的ONOS实例被选择运行最为master,以确保在所有交换机中,被选择的这个ONOS实例能够负责每台交换机。

Zookeeper管理交换机和控制器之间的关系,包括监测和反馈ONOS实例是否失败;同时,ONOS实例一定要与Zookeeper保持连接为了成为交换机的master控制器。如果一个ONOS实例与Zookeeper失去连接,另一个ONOS实例将负责控制此交换机。Zookeeper使用一个匹配的协议维持与ONOS很大的一致性,且只要大多数服务器可用,Zookeeper就有很强的容错能力。

2.4 评估

第一个ONOS原型开发历经4个月,在20134月在ONSOpen Networking Summit)大会上演示了ONOS原型1,这个演示显示ONOS控制几百个虚拟交换机、使用网络视图下发端到端的流、动态添加交换机和ONOS实例到集群中、针对ONOS实例停机的故障转移以及针对链路响应失败重新添加路由等。总体来说,虽然已经实现了系统的基本功能,但是一些设计选择导致性能和可用性并不好,主要表现是一下几个方面:

 ■一致性和完整性。TitanCassandra上最终要保持数据存储的一致性以及图形架构的完整性,比如一条链路必须连接两个节点;

 ■低性能和可见性。原型1延迟比预期差很多,主要原因在于使用开源软件,虽然很快可以完成开发,但是这些开源软件之间的协调,并不容易。而且ONOS的开发者并不是特别熟悉这些开源代码,导致性能并不高;

 ■数据模型问题。使用Titan存储导致所有数据如Port,flow entries等都需要以Vertices存储,需要构建一个索引来查询数据,如交换机数据。当大量节点加入网络时,并发的数据量增加导致索引构建就会成为瓶颈;

 ■过多的数据存储操作。TitanCassandra间的数据转换会产生过多数据存储操作导致延迟;

 ■轮询问题。通过周期同步数据,没有实现订阅分发,增加CPU的使用率。

通过模型1的测试及分析,需要设计更高效的数据模型,减少多余的数据操作,实现订阅分发机制以及简化API等。

三、 原型2:性能提高

原型2主要集中关注于提高ONOS的性能,但是这个导致改变了网络视图架构并添加了事件通知架构,如下图所示:

110230_jTWJ_2249260.png

                                       图3:原型2架构

远程数据操作是原型1最大的性能瓶颈之一,所以在原型2中主要通过尽可能快的远程操作、减少ONOS远程操作量这2种方法解决这个问题。主要涉及的优化主要有:

1.RAM云数据存储。使用内存来代替普通硬盘来存储,从而大大提高存储速度;

2.优化数据模型。新设计了一个data model,更新相对独立,大大减少了数据的读写操作,优化了性能;

3.拓扑缓存。原型1读取拓扑非常耗时,ONOS将拓扑信息存在高速缓存中,从而提高了读取拓扑的速度。除此之外,通过构建索引更快速地查找数据。构建索引可以在任何时刻由全部的数据生成,但是一般情况下,只有新接入ONOS节点时,才会读取全部数据,这不会消耗太多时间;

4.事件通知。上文已提到由于周期获取数据而引起的性能问题,所以引入事件通知机制。原型2创建实例内部的发布-订阅的事件机制,将这个通信系统部署在Hazelcast上;

5.网络视图APIONOS用自己设计的API取代生成的Blueprints graph API。图4展示了网络视图的内容,ONOSAPI主要包涵下面的三个部分:

 ■对底层设施拓扑的抽象描述的接口;

 ■处理网络或系统Events(事件)的接口;

 ■提供安装流表等信息的接口。

110230_ypn5_2249260.png

                         图4:使用流表创建数据包路径的连通性请求网络视图

 

3.1 性能评估

原型2的性能主要在以下三个方面进行测试和评价:

 ■基础网络状态改变;

 ■对网络事件的反应;

 ■路径部署;

3.1.1 基础网络状态改变

当网络中状态发生改变,将进行数据更新操作,会阻塞ONOS的操作,将影响整个ONOS的性能。测试案例中使用三个节点的ONOS集群,连接81OpenFlow交换机,构成一个典型的WAN拓扑,且每个交换机上都有四个活跃的端口。

ONOS采用了对比的方式,表1展示添加一个交换机后需要的latency,结果可以看出,使用通用的API速度最慢;使用自定义的API,速度提高很多。因为新的Data model仅需要一步就可以完成添加交换机操作,时间上从22.2ms降到1.19ms,延迟减少了很多。在序列化方面由原来的Kryo 尝试使用Google Protocol Buffers,这使延迟时间下降了0.244ms。除此之外,在RAM云集群中还尝试使用Infiniband硬件并优化网络的I/O,性能数据得到了提高。

                        表1:添加一个交换机的延迟性能测试

110230_yIo1_2249260.png

3.1.2 对网络事件的反应

对网络事件的反应测试主要是针对ONOS对网络事件的反应速度、端到端的延迟等性能,如网络中某一条链路断掉后,ONOS对流量重选路由的过程需要多长时间,这个性能直接关系到SLAService-Level Agreement)的性能。

实验测试使用了6个节点的ONOS集群,数据层面使用Mininet模拟206个交换机和416条链路。将16000flows添加到网络中,然后关掉交换机的其中一个端口,结果分析显示1000多条flows重新选择路由,其中每一条流有6跳,当某一端口关掉之后,重新选择路由,每一条流将变成7跳。

2显示重选路由进度进行到一半和99%的数据,从网络时间上捕捉到下发第一条flow_mod及全部flow_mod下发的延迟时间。

                         表2:重选1000条流的路由延迟时间

110230_VM4X_2249260.png

3.1.3 路径部署

第三个性能指标测试ONOS系统的吞吐量,测试使用了与对网络事件的反应测试相同的拓扑,但是预先下发15000条静态流表,添加10006跳的flows。表3测试结果显示的是路径部署的延迟时间,吞吐量与延迟成反比,在所有流进程进行到一半时吞吐量为18832paths/sec

                                  表3:路径部署延迟时间

110231_IkVp_2249260.png

3.2 评估

在原型2中,ONOS对说网络事件的延迟达到了预期的要求,但是吞吐量上还没有达到1M path/sec的标准。不过开发者们将这个原因归咎于仅使用了一个ONOS节点来计算路劲。

四、 实例

20143月,论文作者们将ONOS原型2部署在Internet2上运行展示,在大会上展示了(1ONOS的网络视图;(2)在真实WAN上操作;(3)使用虚拟化硬件和软件交换机;(4)加速ONOS和链路故障转移。图5阐明了ONOS的系统配置:地理上分布5个硬件交换机的主干网络,且每个交换机连接一个模拟的软件交换机。并一个在物理架构上使用OVXOpenVirteX)创建一个含有205个交换机和414条链路的虚拟网络,并且在印度大学NOC实验室有一个8节点的ONOS集群控制此虚拟网络。

110231_6MJB_2249260.png

                                      图5Internet2拓扑和配置Demo

6显示ONOS发现的拓扑,与图5对比,Los AngelesChicago 、 ChicagoWashington D.C之间显示的链路是由OVX虚拟,如下图显示:

110231_PJr7_2249260.png

                           图6ONOS GUI显示发现的交换机和链路拓扑

 

五、 总结:开放分布式SDN操作系统

建立了两个版本ONOS原型,希望将分布式SDN控制平台发展成为一个更完善的网络操作系统满足大型运营商网络性能和可靠性需求。现在意欲开发多个原型案例帮助推进SDN的发展,其中包括系统APIs、抽象、资源隔离以及调度等。另外,将继续致力于满足性能需求以及开发有用的系统开源版本。

后语:小编在翻译总结的过程中,学习到了很多关于全局网络视图以及分布式管理的知识。ONOS应该是不错的控制器产品,甚至于说是不错的SDN 操作系统。ONOS应用了TitanCassandra技术保障了数据的完整性,添加了事件通知框架减少了事件的延迟,使用Zookeeper检测和反馈系统状态,提高了容错能力,采用的分布式框架使扩展能力得到延伸,应用最新的OVX虚拟化网络,以及在性能调优上做了更大的改变和进步,期待ONOS开源版本的发布使用!

本文来源于SDNLAB,可点击此阅读原文。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。

(1) 微博(http://weibo.com/sdnlab/

111531_sF4s_2249260.png

(2) 微信(账号SDNLAB)

111554_bmXX_2249260.png

(3) QQ

SDN研究群(214146842)

OpenDaylight研究群(194240432)

 








转载于:https://my.oschina.net/sdnlab/blog/357976

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ONOS之开放分布式SDN操作系统 的相关文章

  • System.getProperty用法

    转自 http blog darkmi com 2011 03 16 1666 html System getProperty 用于获取当前的系统属性 比如java版本 操作系统名称 区域 用户名等 这些属性一般由jvm自动获取 不能手工设
  • unix环境高级编程——文件IO

    本期主题 unix环境高级编程 文件IO 文件IO 0 引言 1 文件描述符 2 IO编程中常用的API接口 1 open函数 2 close函数 3 read函数 4 write函数 5 lseek函数 3 函数sync fsync和fd
  • 掉电无法启动数据库问题解决

    由于突然掉电 造成客户在windows平台上10 2 0 1数据库无法驱动 以下是具体解决步骤 一 定位故障问题 1 启动数据库 查看错误 SQL gt startup ora 01113 file 1 needs media recove
  • RTX线程通信之——线程标志

    文章目录 Thread Flags 概念 RTX线程标志API 案例 LED灯同步闪亮 小结 参考资料 Thread Flags In a real application we need to be able to communicate
  • Ubuntu 10.10下安装TFTP的步骤 tftp-hpa版本

    背景 由于想要在tq2440板子上用tftp下载kernel 所以要在自己的PC机的Ubuntu 10 10上安装tftp服务 所以就去网上找了些教程 但是很悲剧 按照那些教程去操作 结果还都是无法正常运行tftp服务 最后还是从一个外国人
  • JSON.stringify()

    JSON stringify 将一个JavaScript值 对象或者数组 转换为一个 JSON字符串 如果指定了replacer是一个函数 则可以选择性的替换值 或者如果指定了replacer是一个数组 可选择性的仅包含数组指定的属性 语法
  • office2013 excel 打开时提示excel词典xllex.dll文件丢失或损坏

    今天打开Excel时 发现报错 xllex dll文件丢失或损坏 我用的是office2013 网上找了好多都是2007的dll文件 导入不了 于是乎重装office 问题解决 但还是把xllex dll烤出来做个备份吧 参考下面步骤即可
  • InfoQ视频直播分享报名:前贝尔实验室、Oracle架构师为你在线揭秘分布式平台内核...

    报名方式 关注InfoQ微信公众号 ID infoqchina 回复 InfoQ 即可观看在线直播技术分享 分享地点 u0026amp 时间 InfoQ直播微课堂将在熊猫 TV 网站播出 看腻了卖肉的女主播 来看看QCon 的明星讲师如何
  • Linux,Network manager 导致节点异常重启

    推断是Network manager 导致的 原因待查今天在VmWare的虚拟机上装了个测试RAC 又遇到了一个摸不到头绪的问题CRS装好后 一旦登陆图形界面 节点就重启 事情就有这么巧不登陆图形界面 观察了1个小时没问题 一旦登陆后 立刻
  • Linux学习--CentOS7.5

    CentOS7命令大全 Linux系统简介 Unix Linux发展史 Linux目录结构 树形结构 查看 切换以及创建目录 文本内容操作 grep工具 关机和重启 Linux命令 基本用法 ls list 使用通配符 mkdir 别名 g
  • Linux alien命令

    一 简介 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 二 安装 http toutiao com a6188997768449360129 三 实例 http www
  • [架构之路-185]-《软考-系统分析师》-3-操作系统基本原理 - 文件索引表

    目录 一 文件的索引块 二 索引分配表 三 索引表的链接方案 四 多层索引 五 混合索引分配 一 文件的索引块 存放在目录中的文件 并非是文件的真实内容 目录中记录了文件的索引块是几号磁盘块 文件对应的索引表是存放在指定的磁盘块中的 二 索
  • Ubuntu9.04太多乱码(中文不能正常显示)

    最近在使用Ubuntu9 04的过程中 发现有好多地方都出现乱码 其实是中文不能正常显示 现在把我所遇到的所有乱码问题集中一下 方便以后查阅参考 一 Flash乱码 在终端输入 sudo gedit etc fonts conf d 49
  • java IO、NIO、AIO详解

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 IO流 同步 阻塞 二 NIO 同步 非阻塞 三 NIO2 异步 非阻塞 正文 回到顶部 概述 在我们学习Java的IO流之前 我们都要了解几个关键词 同步与异步 sy
  • 如何快速构建CMBD系统-glpi

    脚本后续更新及迭代将由kkitDeploy项目代替 https github com luckman666 kkitdeploy server 请大家持续关注kkitDeploy 一 CMBD系统构建步骤 起初 开发这套CMBD系统是为了帮
  • 地址映射与共享

    跟踪地址映射过程 1 通过命令 dbg asm启动调试器 在linux 0 11运行test c文件 使其进入死循环 我们的任务就是找到i的地址并将其修改为0使test c程序退出循环 2 在命令行输入crit c使Boch暂停 一般会显示
  • Linux(12):磁盘配额(Quota)与进阶文件系统管理

    磁盘配额 Quota 的应用与实作 Quota 的一般用途 针对 www server 例如 每个人的网页空间的容量限制 针对 mail server 例如 每个人的邮件空间限制 针对 file server 例如 每个人最大的可用网络硬盘
  • OpenDaylight 控制器应用程序 (Sodium SR1) 缺少依赖项

    我按照此处的说明编写一个简单的 hello world RPC https docs opendaylight org en stable sodium developer guide developing apps on the open
  • I/O设备模型

    I O设备模型 绝大部分的嵌入式系统都包括一些I O Input Outut 输入 输出 设备 例如仪器上的数据显示屏 工业设备上的串口通信 数据采集设备上用于保存数据的Flash或SD卡 以及网络设备的以太网接口等 I O设备模型框架 R
  • SDN前沿技术【SMaRT-5G项目】

    目录 引言 节能方法 快速了解投资回报率 ROI ONF SMaRT 5G Initiative RAN 能量优化 方法 电池开 关方法 MIMO 睡眠和 RF 通道打开 关闭 高级睡眠模式 ASM RAN节能解决方案的

随机推荐

  • pcnet32 device eth0 does not seem to be present网卡无法激活

    前一段跟着老师上课的时候学习模块的内容 xff0c 当时不知道无意中动了哪个模块 xff0c 导致无法启动网卡 系统启动日志 xff1a Bringing up interface eth0 pcnet32 device eth0 does
  • Nodejs版本管理方法

    简介 我以前写过关于Nodejs的版本管理 那个时候使用的是n来管理 但是n会在home目录下创建的安装目录不是隐藏的 所以对于我这个强迫症来说就很烦 所以现在就来说说nvm这个nodejs的版本管理工具 安装 安装很简单 一个命令搞定 使
  • 企业面试题:查找/oldboy下所有7天以前以log结尾的文件移动/tmp下。

    企业必考面试题 xff1a 查找 oldboy目录下所有7天以前的以log结尾的文件移动到 tmp下 要求 xff1a 请给出至少三种实现方法 xff0c 有能力的朋友试试看 xff01 工作做事给老大 xff0c 给面试官多种方案 xff
  • 问题:Excel在“xxx.xlsx”中发现不可读取的内容。是否恢复此工作薄的内容?【原创】...

    现象 xff1a 点 34 是 Y 34 提示信息中提到的error242440 02 xml文件 xff1a 问题重现 xff1a package poi import java io FileNotFoundException impo
  • Echarts调整图表上下左右的间距,Echarts调整柱状图左右的间距

    Echarts调整图表上下左右的间距 xff0c Echarts调整柱状图左右的间距 gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt
  • SpringCloud使用Prometheus监控(基于Eureka)

    本文介绍SpringCloud使用Prometheus xff0c 基于Eureka服务发现 1 Prometheus介绍 在之前写过两篇有关Prometheus使用的文章 xff0c 如下 xff1a SpringBoot使用promet
  • 服务器搭建网站完整教程

    服务器最大的用途 xff0c 就是可以搭建网站 xff0c 许多人都认为搭建网站是一件很难的事情 xff0c 因为包含许多的比较专业东西 xff0c 比如服务器 编程之类的 xff0c 确实 xff0c 在几年前是这样的 xff0c 普通人
  • cs231n 作业1 心路历程

    cs231n Assignment 1 cww note 做cs231n的作业的一个心路历程 xff0c 不会重复别人写好的材料 xff0c 别人写的数学分析 xff0c 代码 xff0c 比我高到不知道哪里去了 We are here 这
  • VMware vSphere 6 序列号大全

    转载自 http www i5i6 net post 190 html vSphere 6 Hypervisor HY0XH D508H 081U8 JA2GH CCUM2 4C4WK 8KH8L H85J0 UHCNK 8CKQ8 NV0
  • 一元线性回归模型--总体回归模型与样本回归模型

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 总体回归函数 xff08 population regression function xff0c 简称 PRF xff09 将总体被解释变量 Y 的 条件均值表现为解释变
  • Mac百度网盘下载慢怎么办?Mac百度网盘下载满速教程

    Mac百度网盘是不少用户常用的云存储的工具 xff0c 但是很多用户经常抱怨下载速度慢 xff0c 那么Mac百度网盘下载慢怎么办 xff1f Mac百度网盘下载慢怎么解决 xff1f 一起去了解一下吧 Mac百度网盘下载满速教程 xff1
  • inner join,outer join,left join,right join的区别

    外联接 外联接可以是左向外联接 右向外联接或完整外部联接 在 FROM 子句中指定外联接时 xff0c 可以由下列几组关键字中的一组指定 xff1a LEFT JOIN 或 LEFT OUTER JOIN 左向外联接的结果集包括 LEFT
  • 【Java】生成UUID

    import java util UUID public class MainProcess public static void main String args UUID uuid 61 UUID randomUUID System o
  • racket

    let 和 let 区别 这是对的 let x random 4 o random 4 diff number gt string abs x o cond gt x o string append 34 X wins by 34 diff
  • 文本挖掘分词mapreduce化

    软件版本 paoding analysis3 0 项目jar包和拷贝庖丁dic目录到项目的类路径下 修改paoding analysis jar下的paoding dic home properties文件设置词典文件路径 paoding
  • IP网络号的指派范围

    上一篇 xff0c IP分类 http blog csdn net friendan article details 8449048 网络类别 最大可指派的网络数 第一个可指派的网络号 最后一个可指派的网络号 每个网络中的最大主机数 A类
  • 卷积神经网络不能处理“图”结构数据?这篇文章告诉你答案

    本文要介绍的这一篇paper是ICML2016上一篇关于 CNN 在图 xff08 graph xff09 上的应用 ICML 是机器学习方面的顶级会议 xff0c 这篇文章 lt lt Learning CNNs for Graphs g
  • cs231n 作业2 心路历程

    Assignments 2 作业说明在这里 Fully connected Neural Network 今天写的时候思考了一下为什么课件里写的都是 W x 43 b Wx 43 b W x 43 b
  • 加域时提示指定的网络名不再可用

    加域时提示指定的网络名不再可用 发布于 2011 06 10 由 alefwoo 没有评论 发表评论 VMware虚机加入域时提示 xff1a 指定的网络名不再可用 能够正常解析出域名 xff0c 能够ping通 xff0c 提示指定的网络
  • ONOS之开放分布式SDN操作系统

    为什么80 的码农都做不了架构师 xff1f gt gt gt 关于构建ONOS xff08 开放式网络操作系统 xff09 的项目专题 xff0c 是通过性能激发创建的实验性分布式 SDN 控制平台 xff0c 满足大型运营商网络的可扩展