标题 | 5G系统中基于Openstack的网络切片设计与实现 |
范文 | 高震宇 赵静雅 刘涌 摘要:面对多场景、差异化的5G业务,为了需满足不同应用场景在如时延、网速、安全性及网络覆盖率等方面的不同网络性能要求,网络切片技术作为5G中的一项关键技术,能为不同用户提供多样化的按需定制服务,针对这个问题,本文设计在Openstack平台上实现了基于OAf组网的5G网络切片的自动部署。实验表明,该方案提高了移动通信物理资源及网络资源的利用率,使得自动部署的实现使得切片的管理编排更加灵活方便。 关键词:5G系统;Openstack;SDN;NFV;网络切片;自动部署 中图分类号:TN392 文献标识码:A 文章编号:1009-3044(2019)30-0253-04 1概述 随着网络技术和移动互联网的不断发展,全球移动通信即将步入5G时代。相较于4G系统,5G通信系统旨在创造全方位的以用户或服务为中心的互联,并突破空间与时间的限制,服务于不同应用场景。不同的应用场景在系统性能、网络功能、用户体验及安全等各方面的需求都各有不同,作为5G网络中的一项关键技术,网络切片技术能够为各种不同的应用场景提供与其需求相符的网络资源,并保持相互隔离,保障服务质量。虚拟化技术是通过软硬件结合的方式,重组底层计算资源,集中计算,动态分配,适应不同应用环境,提高资源利用率。虚拟化技术为实现网络切片提供了基础架构和技术支撑。云计算也在虚拟化技术基础上发展而来,通过网络以自助、按需的方式为客户提供计算或存储等IT服务。配置简单、按需使用、可拓展性动态且几乎无限是云计算的主要特征。Openstack是云計算技术的应用成果之一,它提供了一个部署云的平台,并为进行虚拟计算或存储服务的公有或私有云,提供灵活且可扩展的云计算,是业界公认的最成功的开源项目之一。本文采用Openstack作为试验核心平台,实现网络架构的虚拟化。 2opensatck的架构介绍 Opensatck是一个开源云计算系统,由六个主要组件组成: 1)Openstack Compute(Nova)计算服务。处理和支撑Open-stack云实例生命期所需的各种动作,作为管理平台,负责管理整个云的计算资源、测度、授权及网络。并使用libvirt API与虚拟机主机交互以提供基于Web的API功能。 2)0penstack Object Storage(Swift)存储服务。提供分布式,持久的虚拟对象存储。能够扩展的对象存储系统,并用来创建基于云的弹性存储。 3)Image Service(Glance)镜像服务。负责虚拟机镜像的存储,检索和查询系统。镜像存储默认存储在本地文件系统中。s3对象存储(作为s3访问的中间通道)或HTrP(只读)存储。 4)openstack Identity(Keystonel认证服务。它为运Open-stack Compute上的openstack云提供了认证和管理用户、帐号及账号信息的服务,同时为Openstack object Storage提供授权服务。 5)Openstack Dashboard(Horizon)UI服务。Horizon是一个用于管理和控制Openstack服务的Web控制面板。除此之外,用户可通过Openstack Web管理控制台以Web界面直接访问操作管理网络和虚拟机实例等,用户还可以使用VNC或控制台在控制面板中直接访问。 6)Openstack Networking(Neutron)Neutron支持用户创建自己的虚拟网络,且不同用户创建的细腻网络是隔离的。并可实现复拓扑fRich Topologies),即每个用户可以定义自己网络的拓扑。 35G网络切片的搭建 3.1Openstack平台搭建 Openstack是由社区维护的开源项目。Object Storage(Swift),Image Service(Glance),Compute(Nova)和Dashboard(Hori-zon)。其中,Keystone提供用户身份验证和授权服务,Swift提供数据存储服务,Glance为虚拟机系统映像提供注册和分发服务。Nova提供虚拟运算服务,而Horizon为用户提供了一个基于网页的易于操作的模块化可视化控制台。本文实验使用Openstack开源云计算平台,在进行具体的操作之前要先搭建Openstack平台,具体流程如图1所示。 3.2openstack控制节点搭建 本文采用使用源代码的安装方法,源代码来源于Open-stack官网与开源共享网站Github。控制节点使用一台物理主机。 Keystone的搭建 Identity Servicef项目代号为Keystone)主要负责用户的认证和授权服务。Keystone是Openstack框架中负责用户身份验证、服务规则编辑和服务令牌的功能,Openstack的Identity API由它实现。Keystone类似于服务总线,相当于是整个框架的注册表,框架内的其他服务都需要通过Keystone来注册其服务。此外,任何框架内服务之间相互的调用,也都需要经过Keystone的身份验证,从而来获得目标服务的唯一标识,来找到目标服务。 成功获取该组件源代码后,开始该组件的安装。首先安装各个必要的第三方组件,其中包括MySQL的Client服务组件、pip安装工具等,然后按照各个服务所在服务器的具体信息修改配置文件,并安装系统服务,在数据库中创建数据表单,最后同步数据表单。 在上述步骤中,Keystone的配置文件关键信息内容如图2所示。 3.3Neutron的搭建 Openstack Networking(Neutronl可以创建和附加由其他Openstack服务到网络。插件可以实现,以适应不同的网络设备和软件,为Openstack架构和部署提供灵活性。 Neutron具体包括以下的子类组件: 1)neutron-server:将API请求接受并路由到相应的Open-stack Networking插件以进行操作。 2)Openstack Networking plug-ins and agents:插拔端口,创建网络或子网,并提供IP寻址。这些插件和代理因使用的供应商和技术而异特定的云。 3)Messaging queue:大多数Openstack网络安装用于在信息之间路由信息neutron-server和各种代理商。还充当数据库来存储特定插件的网络状态加入OpenstackNetworking主要与Openstack Compute进行交互,为其提供网络和连接实例。 成功获取该组件源代码后,开始该组件的安装。以下是其安装与配置过程。 安装Neutron,首先需要为Neutron创建数据库,接着创建neutron用户和服务实例、端点,然后创建服务实例,最后创建服务端点,完成安装。 3.4Swift的搭建 开放堆栈对象存储(swifi项目)存储项目是一个智能系统,用于大规模可扩展系统,通过内置的容错机制和冗余实现存储。这些对象可以通过API对接存储API客户端进行恢复。Swift使用标准化的PB级容量服务器来存储可用数据。Swift非常适合存储一些虚拟机映像,并且Swift可以用作长期存储系统,以便获取调用并更新一些持久数据。另外,Swift具有一些冗余,可扩展性和耐用性。 成功获取该组件源代码后,开始该组件的安装。以下是其安装与配置过程。 首先将Swift安装到python dist包中。然后为机器创建一个Swift用户,创建一个Swift配置文件目录,并在/etc/swifi下创建一个swift.conf文件。应该注意的是,字符串swift_hash_path_suffix用于加密,并且需要由用户定义。 接着配置Proxy Server。先确定系统是否有openssl,使用openssl version命令查看。Proxy Server需要做以下配置: 1)配置证书。代理服务器可以通过https协议提供API,也可以通过http协议提供API。 2)配置Memcached。代理服务器需要使用Memcache作为令牌的临时存储介质。 3)设置Proxy Server的配置文件。Proxy Server的配置文件内容如官方文档所述,主要需要修改的字段是auth_port,auth_host,service_host,service_port等信息。 4)配置节点信息。首先设置两个硬盘分区,然后创建三个节点信息配置文件进行配置。 5)配置account-server container-server和object-server。分别创建以下文件,并修改相应内容。 6)启动服务。最后注册Swift服务到Keystone中。首先要做的是确保Keystone的标记和端点已经添加到系统环境变量中。 3.5Horizon的搭建 仪表板(项目代号为Horizon)是一个基于页面的模块,用于向租户提供可视化仪表板。Horizon是一个基于Django Web框架的一个Web应用。通过Horizon,用户可以管理Nova中的虚拟机实例,并简单地操纵Swift存储的数据。 成功获取该组件源代码后,开始该组件的安装。以下是其安装与配置过程。 本文采用Apahe方式进行Horizon的部署。首先安装Apache组件,然后修改配置文件,以便Apache根目录指向Hori-zon所在的文件夹并向其添加WSGI服务。 45G网络切片的实现 4.15G网络切片的手动部署 搭建好Openstack平台后,在控制节点上进行操作,首先输入命令行:admin-openrc并回车,登陆Openstack系统。再输人命令行:Openstack network agent list并回车,检查网络连接情况。 登录系统后,可以登录Openstack的图形化界面进行操作。 此处使用到的是仪表盘组件的功能。Dashboard(horizonl提供一个web接口,使得云平台管理员及用户可以通过此接口管理不同的Openstack资源及服务。 Horizon提供了基于web的、模块化的图形化界面服务门户。 用户可以使用Web GUI通过浏览器访问和控制计算,存储和网络资源,例如创建实例和分配IP地址。 在网址栏输入:10.0.1.12/horizon,进入登陆界面,如图3所示。 登录web界面后,开始5G网络切片的搭建,步骤如下: ①创建核心网。 创建核心网时必须要创建一个与外部网络相连接的网络,可以让外部网络可通过此网络访问Openstack的内部网络,由于外部网络是与物理网络具有直接映射关系的虚拟网络,因此外部网络必须由管理员创建。可以在网络中设置一个或多个内部网络以直接连接到虚拟机。外部网络要访问vm需在网絡之间创建路由。 本文中,创建了名为provider的外部网络连接网络。创建此网络后,接着创建一个内部网络及其子网。本文中,给网络命名为“5G net”,并选择创建子网。 创建关联到此网络的子网,为子网命名为“5Gnet”,并为此子网分配网络地址“10.0.5.0/24”,选择IPv4的IP版本,网关IP定为“10.0.5.1”。 指定子网的扩展属性,将地址池从10.0.5.1分配到10.0.5.5,并将DNS服务器设置为8.8.8.8。 创建好内部网络后,需创建路由,使内部网络与能与外部网络连接的provider网络相连接。并设置路由接口,使其连接provider网络和内部网络“5G net”。 ②网元的创建 核心网的网络部分搭建完成,下一步是创建5G网络中的网元。传统的网元由具体的物理主机担任,当用户业务发生变更时,对如CPU,硬盘大小,核数等资源的要求也可能随之改变,传统网络结构中,针对业务变更的配置调整非常复杂且烦琐,但在本实验的5G网络中,由于物理资源已被整合,因此可针对业务要求简易地创建符合要求的虚拟机。 在Openstack平台上,可以创建任意网元镜像和云主机类型,以便于创建虚拟机。 接下来部署云主机,为云主机命名,并选择创建主机类型,为云主机选择所需镜像,三台云主机分别选择mme_new,sp-gw_new,hss_new镜像。 选择合适的云主机类型为qw,并将三台云主机都部署在本次实验创建的内部網络5G net上,部署好的三台云主机名称分别为:ly_testl,ly_test2,ly_test3。 在Openstack平台上还可以查看网络拓扑图,如图4所示,拓扑图形象地展示出了部署的核心网结构: ③接人网的部署 在充当基站的物理主机上安装基于OAI的软件包,在配置文件中配置好参数,与usrp相连接。 Usrp接上天线,可收发无线信号。 至此,实验已手动部署了一个端到端的5G网络切片。 55G网络切片的自动部署 自动化管理是云计算必不可少的部分。Heat为Openstack提供了一个框架,使应用程序能够部署和运行的。未来5G网络多样化的应用场景需要大量按需定制的网络切片,如果不能实现网络切片的自动部署,将大大增加重复工作率,降低网络工作效率,增加运营成本。本次实验将利用Heat服务实现5G网络切片的自动化管理与编排。 用yaml格式将自动部署5G网络切片的Heattemplate保存在版本管理器中,命名为ereateslices.yaml,输入: Openstack stack create-t createslices.yaml~ack5 即可创建新栈stack5,并自动按顺序创建资源。 当业务发生变更,网络切片配置需要调整或删除,只需修改模版内容即可完成。 本文中的代码实现为图5。 代码创建了内网testnet及其子网,并创建路由器与能与外部网络联通的provider网络相连接,然后创建了分别安装hss,mme及spgw镜像的三台虚拟机,且均部署在所创建的test net内网中。 6结束语 本文在openstack平台上实现了基于OAI组网的5G网络切片的自动部署。基于云计算平台的5G网络切片采取虚拟化技术,改进了4G网络中网络管理效率低,物理基础设施要求高的不足,以灵活自适的方式满足用户的多样化的QoS需求,提高了移动通信物理资源及网络资源的利用率。自动部署的实现使得切片的管理编排更加灵活方便。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。