边缘计算那些事儿-漫谈网络切片关键技术

news2024/11/16 11:56:59

0、背景

        网络切片作为一种比较前沿的技术,当前并没有太多系统的资料可以学习,很多的技术资料都是比较分散地分布在论文和一些技术博客中,笔者当前是通过论文的解读获取相关的技术信息,在过程中笔者总结了相关的技术栈,本文就是针对该技术栈的一次探讨,抛砖引玉,为读者入门网络切片提供一些帮助。

1、网络切片技术栈

        想要系统化地了解一门技术,首先要了解为何要使用这种技术。网络切片的前身是通信网络中已经被广泛使用的QOS技术,这是一种衡量用户对网络服务质量满意度的指标。但是QOS技术是建立在传统的垂直网络中的,并不能为用户提供更加灵活、端到端的服务体验。随着用户对网络体验的关注度越来越高,一种更大范围的QOS技术被提出,这种技术是建立在当下网络重构的热潮SDN和虚拟化技术NFV基础之上的,它可以为用户提供定制化的网络服务,保证用户服务的连续性。如下图所示,是基于5G的网络切片技术栈,图中将网络切片的技术划分为虚拟化技术、移动管理技术、SDN、5G通信技术和各种算法。分别用来实现这样网络资源的共享和网络资源的隔离,共享是从硬件资源来说的,隔离则是一种逻辑上的分离。

2、基于虚拟化的网络切片技术

        要实现网络切片技术,需要有哪些基本的技术能力呢?首先网络切片是针对网络资源所做的划分,因此狭义的视角看,网络切片就是网络的虚拟化,传统的网络虚拟化主要是在网卡和网络设备粒度上的虚拟化,网络切片则更进一步,是在链路资源上的虚拟化,包括通道,端口,频谱资源,带宽等更细的粒度。因此虚拟化技术是网络切片的一项基本技术,有了虚拟化技术,就可以实现网络资源的隔离,实现不同的用户独享网络资源,这似乎就已经足够了,但是现代的网络通信还需要网络具备更强的可扩展性,更便捷的部署,甚至具备可编程能力。

        网络资源虚拟化被映射到一个个的服务后,如何实现对其灵活的部署,控制和管理,就需要一种新型的网络架构,如果采用传统的网络架构,部署一项新的服务,需要将链路上的每一个通信设备进行逐个升级,当服务无法满足用户需求时,资源的二次分配十分困难。在网络资源的利用上,传统的网络架构是基于分布式的,无法从全局视角对端到端的网络资源进行统一规划,因此需要一个全局视角的网络控制器,对网络进行切片,这就是SDN控制器要做的事情。

3、基于SDN的网络切片技术

        SDN控制器狭义的视角看,就是转发控制分离,传统的报文转发需要在网络设备上先进行学习,建立转发表,然后报文才能被转发,采用逐跳的方式。SDN则提供了一种集中学习转发表的方式,也就是说报文在设备上转发前,会从SDN控制器得到转发的表项,不需要设备自己学习。来到我们的网络切片功能,如果引入SDN技术,那就可以在SDN控制器上,将切片涉及的网元提前规划好,切片报文在每个网元上的转发表也可以预先配置生成,然后下发到网元上,当属于该切片的报文到达网元时,就可以被转发出去。如果切片中的设备都是支持SDN的,当切片的需求发生变化的时候,只需要在控制器上做更改,不需要逐一去配置每台设备,SDN可以实现网络切片配置的统一规划。还有一种场景,当SDN是完全可编程的,如果切片中的某个协议或者通道需要进行升级或者支持新的协议,因为SDN的数据面被设计成协议无关,所以可以在控制面实现协议的编程,无须逐一升级每台设备,SDN可以实现网络切片的无中断升级。

        由于SDN控制器可以实现网络切片资源的统一规划和调度,所以它可以很方便地解决服务迁移的问题,如下图所示是终端在两个基站间移动时,切片中的RB资源被重新分配的过程。当不采用SDN控制器时,如图中右侧所示,终端在A基站获得了切片1,当终端退出A基站的区域,进入B基站的区域时,B基站并不知道终端需要多少RB资源,因此终端需要重新走一遍申请切片的流程。如果使用了SDN控制器,因为SDN控制器具备全局视角,所有基站的RB资源被统一管理和分配,所以当终端从基站A移动到基站B之前,就可以知道需要有多少RB资源分配给终端,切片1可以在基站B上被提前分配好,不需要终端重新发起申请。

4、5G网络通信下的网络切片

        我们知道网络切片概念的提出就是随着5G通信技术的发展,5G提出的大容量,多链接和低时延,本质上就像是三个大的网络切片,在一个5G的基站上同时支持三种不同的服务。如下图所示,是在一个5G基站上部署EMBB和URLLC的过程,在同一个基站上,EMBB需要支持更多的数据发送,所以切片资源上选择长包发送数据,URLLC需要支持低延迟,所以需要数据包更加短小,而且能被快速发送。这两种不同的服务就可以选择不同的切片方式。除了报文长度外,在网络切片中还可以包含其他更丰富的资源,比如说无线频谱资源RB,协议栈各层的通道等,都可以划分成不同的切片供使用。

5、网络切片相关算法

        最后来到切片资源的管理和分配的算法实现。在技术栈中我们给出了三类算法,用户行为感知算法,这类算法的功能是动态识别用户的切片需求,主要是根据用户的报文特征,识别用户当前感兴趣的数据源,然后提供相应的切片保障;第二类算法是资源监控和重分配算法,这类算法主要是根据系统当前的资源情况,动态保障所有切片的资源供给,让用户得到的切片资源被稳定提供;前两类算法主要在切片编排器中被使用。接下来第三类算法是资源分配和调度算法,这类算法主要在切片控制器被使用,对无线资源进行分配和控制。如下图所示是网络切片编排器和切片控制器中常用的一些算法,这些算法可以实现系统资源和预测和识别,RB资源的划分,感兴趣的读者可以自行研究。

6、小结

        本文简单的论述了网络切片的一些关键的技术,这些技术有些是耳熟能详的,如sdn和虚拟化技术、5G通信技术等,如果将它们跟网络切片联系起来就会得到意想不到的效果,希望对读者有所启发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch多分类问题 CrossEntropyLoss()函数的输入size/shape不一致问题

在使用pytorch实现一个多分类任务的时候,许多多分类任务在训练过程中都会有如下的代码: criterion nn.CrossEntropyLoss() loss criterion(output, target) # output.size : [batch_size, class_num] # target.size : [batch_size]许多的初学者会卡在…

Kubernetes 容器类型 Init - pause - sidecar - app容器

目录 Kubernetes 的容器类型 Init 初始化容器 参考文档:Init 容器 | Kubernetes 使用 Init 容器的情况 案例:定义了一个具有 2 个 Init 容器的简单 Pod 你通过运行下面的命令启动 Pod: 发现两个Init容器都没有运行成功 查看更多详细…

一些行业报告--From 艾瑞咨询

一些行业报告--From 艾瑞咨询 1 介绍2 机械臂行业研究 [From 艾瑞咨询 -- 中国工业机器人行业研究报告(2023)2.1 发展历程2.2 中国工业机器人相关政策2.3 产业链2.4 三大部分六大系统2.5 伺服&控制器 主要玩家 及 关键指标及难点2.6 减速机 主要玩家…

mysql中根据已有的表来创建新表的三种方式

mysql根据现有表创建新表 1、语法1:CREATE TABLE new_tbl LIKE orig_tbl; 1、1 根据departments表创建新表departments1 departments 表结果和表数据库如下 创建departments1如下 使用命令: CREATE TABLE departments1 LIKE departments; 这种语法&…

GEE:在地图上添加时间滑动条,以交互式可视化不同年份影像

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine(GEE)平台上的地图显示区域创建一个交互式界面,可以为用户添加一个时间滑动条,通过滑动条可以选择显示不同年份的遥感影像。 结果如下图所示, 文章目录 一、代码二、代码链接一、代码 // 使用滑块从图像集合中选…

Auto-Rig Pro 手指控制器骨骼(IK-FK)

选中手指控制器骨骼,在tool面板里看到snap IK-FK, IK-FK,还有snap all to IK 和 FK: 这些都是Auto-Rig Pro提供的一些工具,可以让您在IK(反向动力学)和FK(正向动力学)之间切换和同步。IK和FK是两种不同的绑定方式&…

43. 间断连续登录用户问题

文章目录 题目需求思路一实现一题目来源 题目需求 现有各用户的登录记录表(login_events)如下,表中每行数据为:一个用户何时登录了平台。 现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如&a…

git安装及初步使用

git的安装 : 在CentOS 7.6环境下可以使用一条语句就能安装git yum -y install git如果上面命令包以下错误,说明权限不够 [leijiefl ~]$ yum -y install git Loaded plugins: fastestmirror You need to be root to perform this command.可以转换成ro…

神经网络学习小记录74——Pytorch 设置随机种子Seed来保证训练结果唯一

神经网络学习小记录74——Pytorch 设置随机种子Seed来保证训练结果唯一 学习前言为什么每次训练结果不同什么是随机种子训练中设置随机种子 学习前言 好多同学每次训练结果不同,最大的指标可能会差到3-4%这样,这是因为随机种子没有设定导致的&#xff0…

电源频率检测器/采用555时基电路的过流检测器电路设计

电源频率检测器 对于某些电子仪器和电气设备,对见六电源的频率有着一定的要求,电源频率高于或低于 50Hz,都会影响设备的正常工作,甚至造成仪器和设备的损坏。因此,对于此类设备需要装设电源频率检测装置,当…

Linux开发工具之【vim】

Linux开发工具之【vim】 文章目录: Linux开发工具之【vim】1. Linux软件包管理器yum1.1 查看软件1.2. 下载软件1.3 卸载软件 2. vim编辑器的使用2.1 vim常用模式2.2 vim基本操作2.3 vim命令模式命令集2.3.1 移动光标2.3.2 删除文字2.3.3 复制文本内容2.3.4 替换文本…

Openpose原理总结

Openpose是一种开源的实时多人姿态估计库,由卡耐基梅隆大学开发。它通过分析图像或视频中的人体关键点来估计人体的姿态,识别身体的各个部分,并推断出人体的姿势信息。 Openpose能够同时检测和跟踪多个人的姿态,可以用于人机交互、…

二.《泽诺尼亚》明文CALL

了解发包函数 1.一款网络游戏,必定是会发包的,对于PC端而言,想要进行网络通讯,就拿最简单的CS架构而言势必会调用win32 API函数或底层函数 2.这里列举出常用的API如:send sendto wsasend wspsend 3.有一些正向开发经验的同学,肯定是见过这几个函数的 4.接下来我们来看看这款…

JavaEE——介绍并简单使用线程池

文章目录 一、 什么是线程池二、Java中线程池的运用1. 创建线程池中的问题2. 标准库中线程池的使用 三、自主实现一个简单的线程池 一、 什么是线程池 所谓线程池,其实和字符串常量池,数据库连接池十分相似,就是设定一块区域,提前…

打印机常见故障解决参考方法

1、首先检查打印机电源线连接是否可靠或电源指示灯是否点亮,然后再次打印文件,仍不能打印,请看下一步。 2、检查打印机与计算机之间的信号传输线是否可靠连接,检查并重新连接,如果打印机仍不能打印,请看下一…

Java线程Thread类常用方法

文章目录 1. start():启动线程,使其执行run()方法中的代码。2. run():线程的执行逻辑,需要在该方法中定义线程要执行的代码。3. sleep(long millis):使当前线程暂停指定的毫秒数,进入阻塞状态。4. join()&a…

【C++】红黑树封装map和set

文章目录 一、map和set源码剖析二、红黑树的迭代器1.begin()与end()2.operator()与operator--() 三、set的模拟实现四、map的模拟实现五、完整代码实现1.RBTree.h2.set.h3.map.h5.Test.cpp 一、map和set源码剖析 我们知道,map和set的底层是红黑树,但是我…

如何用Python快速搭建一个文件传输服务

当我的朋友需要把他电脑上面的文件从他的电脑传递到我电脑上的时候,我只需要启动服务 启动服务! 他打开web界面 就能把文件传递到我电脑上(还能够实时显示进度) 文件就已经在我电脑上的uploads文件夹里面了 项目结构如下 templat…

python浮点运算不准确

1.问题 1.12.2的最后结果并不等于3.3 2. 解决方法 错误示范 引入了Decimal计算,但是计算类型是float型,依然计算不准确 正确解决方法 把类型转化为字符串引入计算

动手实战 | 使用 Transformers 包进行概率时间序列预测

最近使用深度学习进行时间序列预测而不是经典方法涌现出诸多创新。本文将为大家演示一个基于 HuggingFace Transformers 包构建的概率时间序列预测的案例。 概率预测 通常,经典方法针对数据集中的每个时间序列单独拟合。然而,当处理大量时间序列时&…