目录

文章目录

  • 目录
  • AWS 上的 E2E 5G 网络
  • AWS 上的 5G Core Network
    • Service Based Architecture
      • CP 的高可用部署
      • UP 的多网络平面
    • Stateless Architecture
    • CUPS Architecture

AWS 上的 E2E 5G 网络

将 5G 网络部署在 AWS 上,既可以满足要求严格的 SLA,又可以充分的利用公有云带来的弹性、可扩展性、高可用性效益。

AWS 上的 5G Core Network

Service Based Architecture

微服务架构不一定基于容器来实现。不过,与基于虚拟机来实现相比,容器提供了更好的可扩展性和高可用性。但随着而来的挑战是,用户需要管理复杂度更高的容器集群。通常的,可以使用 Kubernetes 容器编排器平台来简化这个问题。

基于微服务架构,可以深度拆解多个 5G NFs 中可重用的、具有单独可扩展性的功能模块,来作为公共服务,以此来最小化代码冗余。

通过以下 AWS 服务来支持 containerized-microservice 的 5GC SBA:

  1. 容器编排(Amazon ECS、Amazon EKS):承载 CNF(Cloud Native Network Function)。
  2. 服务网格(Amazon App Mesh、Istio/Envoy):为 CNFs 之间的东西接口通信,提供 Service Mesh 功能,例如:流量控制、流量可观察性、安全功能。
  3. 服务发现(Amazon Route 53、Amazon Cloud Map):充当 NRF(服务注册功能,R15)或 SCP(服务通信代理,R16)的角色。
  4. 消息中间件(Amazon MSK、Amazon API Gateway、Amazon MQ、Amazon SNS、Amazon SQS)

CP 的高可用部署

在传统的核心网架构设计中,要求具有跨 DC 的故障隔离特性。如下图 (a),NF 被设计成为一个逻辑组(e.g. 4G MME-Pool、5G AMF-Set)。以此来满足网络的安全等保需求,但也需要付出昂贵的 DC 建设费用。

AWS 则提供了更好的方式。可以选择在属于同一个 Region 中的、多个跨 DC 的 AZ(可用区)上构建容灾解决方案,简化了建设复杂度和成本。 如下图 (b)。

  1. 编排层:跨多个 AZ 的 EKS Worker Nodes 冗余:基于 EKS 创建一个跨多个 AZ 的 Worker Node Group。对于这种模式,NF 的 SBI 可以使用 AWS Elastic Load Balancing,它可以在每个 AZ 创建,并为每个 AZ 提供 Local Endport。对于 N2 接口,可以使用 3GPP 23.501 中定义的多个 TNLA(Transport Network Layer Association,传输网络层关联)功能。这意味着我们可以在每个 AZ 都创建 SCTP 锚点,以便当一个 SCTP 锚点或整个 AZ 故障时,NGAP 可以切换到其他活动的 SCTP connection。

  2. 业务层:跨多个 AZ 的 NF-Set 冗余:使用 3GPP 定义的 5G NF-Set 冗余机制。在跨多个 AZ 部署 NF-Set 后,针对每个参考点(e.g. N2),可以设置为一个 NF 或整个 AZ 故障时,将流量重新路由到另一个 AZ 中的同类型 NF。

  3. 数据层:跨多个 AZ 的 Data Store 冗余:使用 AWS DynamoDB 和 Amazon RDS 作为 Stateless NFs 的共享数据存储。可以让每个 AZ 中的 NFs 访问同一个公共数据库。对于这种模式,DynamoDB 是一种可扩展且可靠的数据库解决方案。DynamoDB 会自动完成跨多个 AZ 间的同步复制,从而提供内置的高可用性和数据持久性。

UP 的多网络平面

UPF 的 N3、N4、N6、N9 接口具有多网络平面需求,所以 UPF Pod 应该被设计成一个 Multi-homed Pod 类型。

AWS 支持使用 Multus CNI Plugin 为 Pod 在 Kubernetes Network 中提供多个 Interfaces,目前提供了 3 种 Multi-homed Pod 实现:

  1. Using host networking (or privileged mode). This applies to the DPDK interface.
  2. Using Multus meta CNI plugin with IPvlan CNI.
  3. Using Multus meta CNI plugin with host-device CNI (applicable to DPDK interface).

并且,在 EC2 Nitro 系统中,所有的 Host Elastic Network Interfaces(主机弹性网络接口)都是 SR-IOV VF resource。因此,SR-IOV CNI Plugin 不是必须的。

如上图的 option1 和 option3 所示,一旦 Pod 通过 HostNetworking 或 host-device CNI Plugin 连接到 Host Elastic Network Interface(主机弹性网络接口),那么这个 Pod 就可以直接启用 DPDK PMD 驱动程序来加速数据包处理了。

需要注意的是,当使用 Multus CNI 多网络平面时,必须使用 Kubernetes Label node.Kubernetes.amazonaws.com/no_manage=true,使其不受 AWS VPC CNI 插件控制。该标签由 aws-node daemonset 读取,以确定附加到 instance 的 elastic network interfaces 是否受 VPC CNI 插件控制。

另外,由于 UPF N3/4、AMF N2 依旧沿用了参考点接口,无法使用常规的 TCP 高可用方案。所以,在 N2、N3、N4、N6、N9 接口的高可用需求上,需要使用 CNF 供应商提供的 LB 解决方案。

Stateless Architecture

Stateless 是在微服务架构中流行的设计模式,它使用外部数据存储,将应用层和数据存储层进行了解耦。

3GPP 引入了 Stateless Architecture,并在 TS 21.195 中定义了 UDR 和 UDSF,以实现更好的可靠性和弹性。

通过以下 AWS 服务来支持 5GC Stateless Architecture:

  • 内存数据库(Amazon ElastiCache):提供了 Redis 和 Memcached database。
  • 关系型数据库(Amazon RDS、Aurora):充当 UDR 的角色。
  • 非关系数据库(Amazon DynamoDB、Amazon DocumentDB):充当 UDSF 的角色。

CUPS Architecture

5G SA Core Network 支持 CUPS 架构。

同样的,5G RAN 也支持 CUPS 架构,CU 和 DU 的分解使得传统 BBU 更容易重构为 VNF 或 CNF,根据 3GPP TS 38.401 的定义,CU 可以继续分为两部分:CU-CP(Central Unit Control Plane)和 CU-UP (Central Unit User Plane)。

  • AWS Regions

    • 可用于部署全部 CP NFs。
    • 可用于部署部分集中类 CP NFs。
    • 可用于部署 NFVO。
    • 可用于部署 MEAO。
  • AWS Local Zone
    • 可用于部署部分分散类 CP NFs。
    • 可用于部署高容量人网 UPF。
    • 可用于部署 RAN CU-CP。
    • 可用于部署 VNFM。
    • 可用于部署 MEPM。
  • AWS Outposts:使用一组 AWS Outposts 作为 Local Central Office(本地中心办公室,局所)或 Distributed Data Center(分布式数据中心)。
    • 可用于部署 RAN CU-CP。
    • 可用于部署 RAN CU-UP。
    • 可用于部署 RAN DU。
    • 可用于部署低容量物网 UPF。
    • 可用于部署 MEP

值得注意的是,无论是 UPF(Outposts)与 SMF(Local Zone 或 Regions)之间的 N4 接口,还是 RAN CU-CP(Outposts 或 Local Zone)与 AMF(Local Zone 或 Regions)之间的 N2 接口,要求具有高带宽、低抖动、低延迟保障的网络连接,用于支撑会随着用户量增长而增长的信令传输。

所以建议使用 AWS Direct Connect over VPN 的方式来建立高性能、高可靠的云边网络连接。支持通过 Service Link 来管理 AWS Outposts 与 AWS VPC(例如 N2 和 N4 接口)之间的信令流量。

AWS — AWS 上的 5G 网络相关推荐

  1. AWS — AWS 上的 5G 网络及 MEC 边缘计算商业案例

    目录 文章目录 目录 AWS 与 Verizon 推出的 Private MEC AWS 与 Vodafone Business 合作推出 MEC 解决方案 AWS.ERICSSON 与 Telefo ...

  2. AWS — AWS 上的 5G 网络切片

    目录 文章目录 目录 5G 网络切片 AWS 上的 5G 网络切片 Native Solution Cloudify Solution 使用 Cloudify Catalog 作为管理 NSI 的一个 ...

  3. AWS — AWS 上的 DevOps

    目录 文章目录 目录 AWS 上的 DevOps AWS 上的 DevOps 在 AWS 上部署 5G 网络的好处之一是,用户可以根据需要,使用一系列的 AWS DevOps 开发者工具集来轻松快速地 ...

  4. AWS — AWS Wavelength

    目录 文章目录 目录 AWS Wavelength 面向 5G 应用的开发者 广泛的应用领域 AWS Wavelength 2019 年末,AWS 发布了 AWS Wavelength,作为 AWS ...

  5. 国行 iPhone 12/Pro/Max双卡模式支持5G网络;支付宝推出「晚点付」功能;MySQL 8.0.22 GA|极客头条

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内 ...

  6. AWS — AWS 上的 5G 专网部署模式

    目录 文章目录 目录 Private/Local 5G network use case Hybrid deployment model Local deployment model for mult ...

  7. AWS上的Cilium网络拓扑和流量路径

    Table of Contents 1准备 1.1测试环境 1.2容器网和 nsenter 1.3验证基本连接 2个出口:Pod->主机-> VPC网络 2.1容器内部网络 1.2 Vet ...

  8. aws v2.2.exe_如何使用Python 3.6在AWS EC2上创建运行uWSGI,NGINX和PostgreSQLDjango服务器...

    aws v2.2.exe by Sumeet Kumar 通过Sumeet Kumar 如何使用Python 3.6在AWS EC2上创建运行uWSGI,NGINX和PostgreSQLDjango服 ...

  9. AWS云上部署Hadoop

    目录 一.实验目的 二.实验操作 1.创建EC2实例​编辑 2.使用putty连接实例​编辑 3.新增 Hadoop 用户.安装 Java 环境(master.slave01.slave02都需进行相 ...

最新文章

  1. CString比较相等不得不说的故事
  2. oracle删表分区同时维护索引,有关Oracle表分区进行(DML)维护后对索引的影响的分析...
  3. OGRE 学习小记 开发环境的配置
  4. 西南交通大学计算机网络,西南交通大学计算机网络实验2015-2016第2学期期末试卷...
  5. psql 时间日期操作符和函数
  6. boost::asio向socket中异步读写数据
  7. Java-重载、重写(冷静分析)
  8. 【学习笔记】市场分析报告的基本框架
  9. 运动会加油稿计算机学院150字,学生150字运动会加油稿
  10. 手指检测心跳设计——传感器制作篇
  11. 10步搞定App内测发布(蒲公英内测平台)
  12. 为什么用线程池?解释下线程池参数?线程池处理流程?阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?线程池中线程复用原理?
  13. Hashing(哈希)
  14. 如何定位在测试中遇到的Bug?
  15. Linux安装小企鹅输入法
  16. poi画饼图、折线图等图表和设置颜色字体等
  17. 分布式计算的详细笔记
  18. 【C语言】for循环嵌套-等式推导
  19. 算法比赛经历--蓝桥杯,天梯赛,力扣,牛客,cf,acwing,acm
  20. LeetCode报错:Line 923: Char 9: runtime error: reference binding to null pointer of type ‘std::__cxx11:

热门文章

  1. Maltego更新到4.1.6
  2. Xamarin XAML语言教程使用方法设置进度条进度
  3. Unity网络多玩家游戏开发教程第1章Unity自带网络功能
  4. mysql count() 写法,MySQL COUNT()用法及代碼示例
  5. UITextView左边距为0
  6. pytorch实现attention_Longformer: 局部Attention和全局attention的混搭
  7. vue拖拽控件生成界面代码_Blue HMI人机界面开发平台
  8. 等于x分之a的平方的导数_数学漫谈导数
  9. exit函数_全面深入了解 Python 魔法函数
  10. 在单链表写入一组数据代码_链表常见操作和15道常见面试题