【云原生与5G】微服务加持5G核心网
作者:柒号华仔
个人主页:欢迎访问我的主页
个人信条:星光不问赶路人,岁月不负有心人。
个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我,一起交流。
1.微服务架构概念
1.1 单体架构与分布式架构
谈到微服务架构,不可避免的会先想起单体架构和分布式架构。
单体架构是指将所有的功能、模块、数据库等耦合在一个应用中,称之为单体架构应用,理所当然单体架构应用部署在一台服务器上。由于单体架构所有功能模块耦合在一起,若出现问题将导致整个系统应用无法工作,维护成本高。
分布式结构是将一个大的系统进行拆分,将应用和数据等分开部署到不同的服务器上,不同服务器之间通过网络进行通信,体现的更多是物理上的分布部署。实际上分布式架构已经具有了微服务的特性,但它的耦合性强,每个模块缺一不可,另外构建成本高。
1.2 微服务架构
微服务体现在两个词,第一是"微",第二是"服务"。微说明了小,简单,在这里我又想到了“单纯”一词,单一纯粹。服务是区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。
微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上“高内聚”。
2.微服务与5G核心网
2.1微服务引入5G核心网
随着微服务架构的发展普及,加上5G技术的演进和发展需求,5GC将云原生的微服务架构引入,构建了面向业务的SBA架构,实现了低耦合+高内聚的技术升级。
在面向业务的5G网络架构中,将原本的控制面功能进行了融合和统一,同时控制面功能也分解成为多个独立的网络服务,这些独立的网络服务可以根据业务需求进行灵活的组合。每个网络服务和其他服务在业务功能上解耦,并且对外提供同一类型的服务化接口,向其他调用者提供服务,将多个耦合接口转变为同一类型的服务化接口,可以有效地减少接口数量,并统一服务调用方式,进而提升了网络的灵活性。
2.2 5GC核心网SBA架构
- NSSF:Network Slice Selection Function 网络切片选择功能
- NEF:Network Exposure Function 网络能力开放功能
- NRF:Network Repository Function 网络存储功能
- PCF:Policy Control Function 策略控制功能
- UDM:Unified Data Management 通用数据管理
- AF:Application Function 应用功能
- AUSF:Authentication Server Function 鉴权服务功能
- AMF:Access and Mobility Management Function 接入与移动性管理功能
- SMF:Session Management Function 会话管理功能
- SCP:Service Communication Proxy 服务通信代理
- UE:User Equipment 用户终端
- RAN:RadioAccess Network 无线接入网
- UPF:User Plane Function 用户面功能
- DN:Data Network 数据网络
在SBA架构中,每个核心网网元的接口统一命名为“N +小写英文功能名缩写”。例如,网络切片选择功能NSSF的接口为Nnssf;5G核心网网元的服务操作名称以接口名开始,例如,Nnssf_NSSelection表示NSSF的网络切片选择操作。除了统一的服务化接口外,5G网络仍然保留了少量的参考点接口,如下:
- N1:NAS接口,用于发送NAS消息
- N2:AN与AMF之间NG接口
- N3:AN与UPF之间对接接口,采用GTP-U协议
- N4:控制面SMF和用户面UPF分离的设备接口
- N6:内部网络侧与外部网络侧协议接口,采用GTP-U协议
- N9:两个UPF之间接口,采用GTP-U协议
2.3 服务化架构带来的优点
相对于3G/4G的参考点设计,服务化架构使5G核心网各网元的功能模块化,接口统一化,结构简单化以及去中心化。
- 功能模块化是指对网络功能进行细化,不再是一个网元集成多个功能,而是分解为独立的功能模块。各模块可以分租进行独立开发和快速迭代,使测试、发布软件能够更加地快捷、频繁和可靠。
- 接口统一化是指各网元之间的通信不再是传统通信的处理机制,即同一设备与其他不同设备间采用不同的接口,服务化架构屏蔽了同一设备与不同设备之间接口的差异,对所有设备提供统一的服务接口,来自不同网元调用统一的服务接口与该网元进行通信。
- 结构简单化是指提供服务的业务模块可以自注册、发布和发现,取消了传统设备间的耦合,简化了不同网元间的复杂联系,进而缩短了业务流程。将整个控制面功能分解为多个独立的网络服务,客户可以根据实际需求灵活选择不同网元进行切片组合,可以方便的进行扩容和缩容,有效降低了系统复杂度,节省了部署成本。
- 去中心化是指让用户面网元摆脱以往4G“中心化”的限制,既可以部署于核心网(中心数据中心),也可部署于接入网(边缘数据中心),实现分布式部署。分布式部署可以缩短用户面数据传输距离,降低传输时延,带来更好的用户体验。
3. 总结
微服务架构是一种架构,更是一种理念,任何先进的理念都将被不同行业和领域融合升级,相互推动,如同4G带来了移动互联网时代,移动互联网的快速发展带来的万物互联需求推动了5G的发展。时至今日,5G上云已经被越来越多的讨论,把传统的单体设备的设计、开发、发布、部署、运维向云上迁移,在边缘计算,网元云部署,海量数据存储和处理等方面,云原生与5G的关系将越来越密切。
相关文章
- RabbitMQ使用教程
- RabbitMQ消息丢失的场景,如何保证消息不丢失?(详细讲解,一文看懂)
- [SpringBoot系列]缓存解决方案
- Web信息收集
- How To Disable Chrome Tab Previews
- 基于Java+SpringMvc+Vue求职招聘系统详细设计实现
- 无法访问org.springframework.boot.SpringApplication
- 服务器信息收集
- luogu P4566 [CTSC2018]青蕈领主
- Java EasyExcel带格式多线程导出百万数据
- 史上最详细的hadoop安装教程(含坑点)
- 【Mybatis-plus】updateById()方法不能更新字段为null的原因及解决办法
- System.InvalidOperationException: 'OnConfiguring' cannot be used to modify DbContextOptions when DbContext pooling is enabled.
- Intel AI Conference
- 【C++】C++11语法 ~ 可变参数模板
- Dubbo原理和机制详解(非常全面)
- Spring Cloud Alibaba实战之一:项目搭建
- jeecg-boot简单使用
- makefile链接库
- 时间复杂度、空间复杂度整理