19、软件定义网络、缓存与计算:集成框架解析

软件定义网络、缓存与计算:集成框架解析

1. 引言

信息和通信技术的进步推动了网络、缓存和计算等领域的创新,这些创新通过智慧城市、智能交通和智能家居等发展,对社会产生了深远影响。

在网络领域,软件定义网络(SDN)将控制平面与数据平面分离,通过逻辑上的软件定义控制器实现网络编程,使网络管理更简单,便于网络演进。信息中心网络(ICN)利用网络内缓存减少网络中重复内容的传输,将内容提升为网络中的一等公民,支持可扩展和高效的内容检索。在计算方面,云计算提供了便捷的按需网络访问共享计算资源的方式,但对于低延迟应用可能无法提供保障,且传输大量数据到云端可能不经济。因此,雾计算和移动边缘计算被提出,将计算资源部署到离终端设备更近的地方。

然而,以往网络、缓存和计算这三个领域通常是分开处理的,为了提供更好的服务,有必要将这三种先进技术结合起来。

提出将网络、缓存和计算技术结合的动机如下:
- 从应用角度看,网络、缓存和计算是应用的底层资源,如何管理、控制和优化这些资源会对应用性能产生重大影响。
- 在现有的SDN、ICN和云/雾计算工作中,这些资源是分开管理、控制和优化的,可能导致性能不佳。
- 因此,一个集成的网络、缓存和计算框架有潜力显著提高应用的端到端性能。

主要贡献包括:
- 提出了名为SD - NCC(软件定义网络、缓存和计算)的新颖框架,系统地集成了网络、缓存和计算,以支持数据检索和计算服务。
- 定义并开发了该框架的关键组件:数据平面、控制平面和管理平面。
- 提出了SD - NCC框架的综合系统模型,将联合缓存/计算策略和服务器选择问题表述为混合整数非线性规划(MINLP)问题,以最小化网络使用和能源消耗的组合成本。
- 进行了模拟,评估了系统性能和部署成本,结果表明SD - NCC框架在网络使用和能源消耗方面优于传统网络。

2. 网络、缓存和计算的近期进展

网络、缓存和计算传统上是分开处理的,下面简要介绍各领域的近期进展和挑战。

2.1 软件定义网络(SDN)

SDN将网络的控制平面(决策功能)与数据平面(转发功能)分离,为网络设备带来了高度可编程性。控制器通过定义良好的应用程序编程接口(API)(如OpenFlow)将控制需求安装到数据平面的设备上。SDN使复杂的网络服务更容易实现,无需更换网络中的硬件组件,也使网络更易于配置、管理、故障排除和调试。

然而,SDN存在一些挑战:
- 目前主要关注控制交换设备的转发功能,设备的非转发能力(如缓存和计算)在很大程度上被忽略,但这些能力对系统性能有显著影响。
- 由于流是由数据包头部的多个匹配字段定义的,基于流的转发行为难以自然支持不同内容对象的不同转发策略。
- SDN中控制平面提供的网络功能与节点位置耦合,而随着虚拟化的使用和移动性的普及,节点位置不再固定。

2.2 信息中心网络(ICN)

ICN是一种全新的方法,将互联网基础设施从以主机为中心的端到端通信转变为基于“命名信息”的接收者驱动的内容检索。内容中心网络(CCN)是ICN的一个具体提案,它保留了TCP/IP在网络层的“瘦腰”原则,但在该层使用数据的名称而不是位置。

CCN中的通信由数据消费者通过交换两种类型的数据包(Interest和Data)驱动。CCN节点有三个基本组件:待处理兴趣表(PIT)、转发信息库(FIB)和内容存储(CS)。

尽管ICN有很多有前景的特点,但这种全新的方法对网络运营商来说部署并不容易,可能需要更换或更新现有设备。此外,CCN架构在全球扩展时还面临一些关键挑战,如命名设计中的命名空间组织、密钥和信任管理以及可扩展的转发平面。

2.3 云和雾计算

云计算为企业和终端用户提供了一系列服务,将用户的数据和计算任务卸载到远程资源提供商。但云计算对于一些应用的要求(如移动性支持、位置感知和低延迟)难以满足,并且会在云和终端用户之间带来大量流量。

雾计算将云计算服务扩展到离用户更近的地方,利用大量终端用户或近用户边缘设备进行协作和分布式服务。然而,雾计算的广泛部署也面临一些问题,如设备的电池、存储、计算和信息感知的限制,管理和安全挑战,以及临时雾计算基础设施的高波动性。

2.4 软件定义网络、缓存和计算的集成框架

SD - NCC框架具有以下三个重要特征:
- 软件定义和以信息为中心的控制 :与SDN类似,控制平面是一个软件编排平台,将管理平面定义的策略转换为控制逻辑,并将控制命令安装到数据平面设备上。通过命名数据而不是地址,网络设备的转发和处理操作基于数据包中的名称,实现了更细粒度的操作单元和以信息为中心的范式。
- 面向服务的请求/回复范式 :与ICN类似,SD - NCC中的通信由服务消费者通过交换Interest和Data两种类型的数据包驱动。两种数据包都携带分层且唯一的服务名称,涵盖了内容服务和计算服务等用户主要需求。消费者将所需服务的名称放入Interest数据包并发送到网络,网络设备根据该名称将Interest转发到服务生产者。当Interest到达能提供服务的节点时,该节点会返回包含名称和数据的Data数据包。
- 网络内缓存和计算 :网络内缓存和计算成为SD - NCC的固有基本能力。每个SD - NCC Data数据包都有独立的意义,携带名称和签名,因此包含内容的Data数据包可以缓存在任何设备中,以满足后续内容请求。计算服务需求可以在具有网络内计算能力的中间设备中得到满足。

3. SD - NCC集成框架的架构

SD - NCC框架的架构可以分为三个功能平面:数据平面、控制平面和管理平面。

3.1 数据平面

数据平面由一组网络设备(如交换机、路由器和防火墙)组成,通过有线电缆或无线信道互连。它为控制平面提供原始信息,并执行控制器的控制命令。

数据平面具有信息感知能力,通过命名数据而不是地址,网络设备的转发和处理操作基于数据包中的名称,从而自然地获取大量信息资源。与传统不同的是,这些物理设备嵌入了控制功能,可以自主决策,但本地策略由控制器预设。

数据平面设备根据控制平面安装的流表,使用服务名称执行一组基本操作。通过南向API,数据平面设备中的流表管道指导转发和处理行为。当到达的数据包没有匹配规则时,本地处理管道开始生效。

Interest数据包和Data数据包的处理流程如下:
- Interest数据包处理
1. 设备根据传入Interest的服务名称查找本地服务列表。
2. 如果服务名称在列表中,根据服务类型发送到本地缓存或计算管道。
3. 如果不在列表中,发送到本地转发管道。
4. 在本地转发管道中,首先查找PIT,如果有匹配项,记录传入接口;如果没有匹配项,创建新的PIT条目并根据FIB和本地转发策略转发。如果没有匹配的FIB条目,将Interest封装并转发到控制器。
- Data数据包处理
1. 设备查找匹配的PIT条目。
2. 如果找到匹配项,将Data转发到PIT条目中列出的所有下游接口。
3. 移除PIT条目并根据缓存策略更新CS。

以下是Interest和Data处理流程的mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([接收Interest数据包]):::startend --> B{服务名称在本地服务列表中?}:::decision
    B -->|是| C(发送到本地缓存或计算管道):::process
    B -->|否| D(发送到本地转发管道):::process
    D --> E{PIT中有匹配项?}:::decision
    E -->|是| F(记录传入接口):::process
    E -->|否| G(创建新PIT条目):::process
    G --> H{有匹配的FIB条目?}:::decision
    H -->|是| I(根据FIB和本地策略转发):::process
    H -->|否| J(封装并转发到控制器):::process

    K([接收Data数据包]):::startend --> L{找到匹配的PIT条目?}:::decision
    L -->|是| M(转发到下游接口):::process
    M --> N(移除PIT条目):::process
    N --> O{是否缓存Data?}:::decision
    O -->|是| P(更新CS):::process
    O -->|否| Q(结束):::process
    L -->|否| R(结束):::process
3.2 控制平面

控制平面是一个软件编排平台,具有两个基本功能:
- 收集数据平面层的网络状态信息,为网络应用提供全局网络视图。
- 将管理平面定义的网络策略转换为控制逻辑,并将控制命令安装到数据平面设备上。

由于数据平面不再只是转发层,增加的能力(如信息感知、网络内缓存和网络内计算)使控制平面能够掌握更全面的底层网络状态,包括物理资源和信息资源。

对于信息资源,控制平面从自然感知内容的网络设备收集信息,获得比传统流量负载更细粒度的信息。控制器增加了分析数据信息的功能,以了解用户和内容提供商的行为和需求。对于物理资源,除了像传统SDN控制器一样管理网络资源外,还管理缓存和计算资源。

通过网络内缓存,控制器收集分布式缓存能力的信息,根据信息分析将流行内容靠近用户,并引导Interest数据包直接转发到最近的网络设备。通过网络内计算,大多数用户的计算需求可以在具有计算能力的中间网络设备中得到满足,减少了传统远程服务器的服务负载,显著降低了实时计算服务的延迟。

传统SDN控制器通过在转发设备上安装基于流的控制命令来控制转发行为,而在SD - NCC中,扩展了控制命令以实现缓存和计算功能。

下面用表格总结SD - NCC框架与传统网络相关技术的对比:
| 技术 | 优点 | 缺点 |
| ---- | ---- | ---- |
| SDN | 高度可编程,便于网络管理和演进 | 忽略非转发能力,流转发策略粒度不够,网络功能与节点位置耦合 |
| ICN | 支持高效内容检索,减少重复传输 | 部署困难,面临命名空间、密钥管理和转发平面等挑战 |
| 云计算 | 提供便捷的按需网络访问共享计算资源 | 对低延迟应用保障不足,传输大量数据不经济 |
| 雾计算 | 靠近终端设备,支持移动性和低延迟 | 设备存在多种限制,管理和安全挑战大 |
| SD - NCC | 集成网络、缓存和计算,提高端到端性能 | 暂无明显缺点 |

4. 管理平面

管理平面包含软件服务,用于远程监控和配置控制功能,如路由策略、负载均衡和能源效率等。它将用户的需求和策略转化为控制平面可执行的规则,是整个SD - NCC框架的策略制定和管理中心。

管理平面的主要作用如下:
- 策略制定 :根据不同的应用需求和网络状况,制定合适的网络策略,如流量工程策略、内容分发策略和大数据分析策略等。
- 资源管理 :对网络、缓存和计算资源进行统一管理和分配,确保资源的有效利用。
- 监控和优化 :实时监控网络状态和性能指标,根据监控结果对网络进行优化和调整。

以下是管理平面的主要功能列表:
- 路由策略配置:根据网络拓扑和流量需求,配置最佳的路由策略,以提高网络的传输效率。
- 负载均衡:将网络流量均匀分配到各个网络设备上,避免局部过载。
- 能源效率管理:通过合理分配资源和调整设备工作状态,降低网络的能源消耗。
- 内容分发管理:根据内容的热度和用户需求,将内容分发到合适的缓存设备上,提高内容的访问速度。

5. 系统模型与问题求解

为了更好地理解和优化SD - NCC框架,我们提出了一个综合系统模型,并将联合缓存/计算策略和服务器选择问题表述为混合整数非线性规划(MINLP)问题,以最小化网络使用和能源消耗的组合成本。

5.1 系统模型

系统模型考虑了网络拓扑、缓存设备、计算设备和用户需求等因素。网络拓扑用图 $G=(V, E)$ 表示,其中 $V$ 是节点集合,$E$ 是边集合。每个节点 $v\in V$ 可以是缓存节点、计算节点或两者兼具。

用户需求用一组请求表示,每个请求包含服务名称、请求时间和所需资源等信息。缓存设备和计算设备具有一定的容量限制,需要合理分配资源以满足用户需求。

5.2 问题求解

联合缓存/计算策略和服务器选择问题的目标是在满足用户需求的前提下,最小化网络使用和能源消耗的组合成本。具体步骤如下:
1. 问题建模 :将问题表述为混合整数非线性规划(MINLP)问题,考虑缓存容量、计算能力、网络带宽等约束条件。
2. 算法设计 :开发了两种算法来求解该问题,一种是穷举搜索算法,另一种是启发式算法。穷举搜索算法可以找到全局最优解,但计算复杂度较高;启发式算法可以在较短时间内找到近似最优解。
3. 求解过程 :根据算法的设计,对问题进行求解,得到最优的缓存/计算策略和服务器选择策略。

以下是问题求解流程的mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([定义问题]):::startend --> B(问题建模为MINLP):::process
    B --> C{选择算法}:::decision
    C -->|穷举搜索算法| D(计算全局最优解):::process
    C -->|启发式算法| E(计算近似最优解):::process
    D --> F([输出最优策略]):::startend
    E --> F
6. 模拟结果与分析

为了评估SD - NCC框架的性能,我们进行了模拟实验,并将其与传统网络(不具备网络内缓存/计算功能)进行了对比。

6.1 性能指标

模拟实验中考虑的性能指标包括网络使用、能源消耗和服务延迟等。
- 网络使用 :衡量网络中传输的数据量,反映网络的负载情况。
- 能源消耗 :衡量网络设备的能源消耗,反映网络的能源效率。
- 服务延迟 :衡量用户请求从发出到得到响应的时间,反映网络的响应速度。

6.2 模拟结果

模拟结果表明,SD - NCC框架在网络使用和能源消耗方面显著优于传统网络。具体表现如下:
- 网络使用 :SD - NCC框架通过网络内缓存和计算,减少了网络中传输的数据量,降低了网络的负载。
- 能源消耗 :合理分配资源和优化设备工作状态,降低了网络设备的能源消耗。
- 服务延迟 :将计算任务和内容缓存靠近用户,减少了数据传输的距离,显著降低了服务延迟。

以下是模拟结果的对比表格:
| 性能指标 | 传统网络 | SD - NCC框架 |
| ---- | ---- | ---- |
| 网络使用 | 高 | 低 |
| 能源消耗 | 高 | 低 |
| 服务延迟 | 长 | 短 |

7. 结论

SD - NCC(软件定义网络、缓存和计算)框架是一种创新的网络架构,它集成了网络、缓存和计算技术,通过数据平面、控制平面和管理平面的协同工作,实现了网络资源的动态编排和优化。

与传统网络相关技术相比,SD - NCC框架具有明显的优势,能够显著提高应用的端到端性能,减少网络使用和能源消耗,降低服务延迟。模拟实验结果验证了该框架的有效性和优越性。

未来,随着信息技术的不断发展,SD - NCC框架有望在更多领域得到应用,如物联网、大数据和人工智能等。同时,也需要进一步研究和优化该框架,以应对不断变化的网络环境和用户需求。

基于51单片机,实现对直流电机的调速、测速以及正反转控制。项目包含完整的仿真文件、源程序、原理图和PCB设计文件,适合学习和实践51单片机在电机控制方面的应用。 功能特点 调速控制:通过按键调整PWM占空比,实现电机的速度调节。 测速功能:采用霍尔传感器非接触式测速,实时显示电机转速。 正反转控制:通过按键切换电机的正转和反转状态。 LCD显示:使用LCD1602液晶显示屏,显示当前的转速和PWM占空比。 硬件组成 主控制器:STC89C51/52单片机(AT89S51/52、AT89C51/52通用)。 测速传感器:霍尔传感器,用于非接触式测速。 显示模块:LCD1602液晶显示屏,显示转速和占空比。 电机驱动:采用双H桥电路,控制电机的正反转和调速。 软件设计 编程语言:C语言。 开发环境:Keil uVision。 仿真工具:Proteus。 使用说明 液晶屏显示: 第一行显示电机转速(单位:转/分)。 第二行显示PWM占空比(0~100%)。 按键功能: 1键:加速键,短按占空比加1,长按连续加。 2键:减速键,短按占空比减1,长按连续减。 3键:反转切换键,按下后电机反转。 4键:正转切换键,按下后电机正转。 5键:开始暂停键,按一下开始,再按一下暂停。 注意事项 磁铁和霍尔元件的距离应保持在2mm左右,过近可能会在电机转动时碰到霍尔元件,过远则可能导致霍尔元件无法检测到磁铁。 资源文件 仿真文件:Proteus仿真文件,用于模拟电机控制系统的运行。 源程序:Keil uVision项目文件,包含完整的C语言源代码。 原理图:电路设计原理图,详细展示了各模块的连接方式。 PCB设计:PCB布局文件,可用于实际电路板的制作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值