20、基于机器学习的SDN云数据中心收敛时间感知网络综合交换机迁移算法

基于机器学习的SDN云数据中心收敛时间感知网络综合交换机迁移算法

1. 引言

软件定义网络(SDN)是一种革命性的电信和计算机网络范式,其主要目的是解决基于互联网协议(IP)网络中出现的问题,如复杂的管理。在SDN中,控制平面和数据平面相互分离,这意味着控制逻辑从网络设备转移到了中央控制器。如今,由于新冠疫情,各个网络领域都依赖SDN运行。中央控制器通过南向应用程序编程接口引导数据流。

数据平面负责根据流表规则进行数据包转发和路由。当一个流的初始数据包到达且交换机在其流表中找不到相应条目时,它会向控制器发送一个“Packet - In”消息,控制器会提供元数据。然后,控制器使用该消息和网络领域知识计算数据包的路由,并向交换机发送带有转发规则的“Packet - Out”消息。

对于云服务提供商来说,在为终端用户提供足够服务质量的同时,减少能源需求的增长变得非常紧迫。为避免数据包转发延迟和数据包丢失,传统网络故障(如设备或连接故障)需要专门的解决方案来实现快速恢复。因此,具有故障恢复能力的方法在运营商网络的流量工程中变得越来越重要,它能提供快速的故障恢复,最终满足终端用户的期望。

机器学习(ML)的一个优点是能够处理困难的挑战。基于大量的数据输入,ML可以主动预测并准确调度网络资源。SDN应用程序将网络策略和规则集中化,管理员可以利用ML来解决网络问题。在SDN架构中,可以同时使用ML方法来处理网络流量控制和管理。

我们利用SDN在网络监控方面的优势,持续记录正常和故障场景下的流量属性。SDN控制器会考虑不同的流量参数(如往返延迟、数据包丢失和数据包速率),以预测各种故障场景下的备份路径。预先将计算好的备份路径更新到交换机中,以便实现快速故障恢复。为了训练学习模型,我们使用了多种ML算法,包括决策树、支持向量机、神经网络和随机森林等。

2. 文献综述
  • 分布式控制平面改进 :使用交换机迁移协议设计了一种改进的高级分布式控制平面,以解决过载控制器反应时间过长的问题。当消息数量超过预定阈值时,这种方法可以最小化反应时间。
  • 协调器方案 :添加协调器(一个集中式控制器),它定期接收控制器的负载统计信息,并决定是否进行交换机迁移。但由于控制器之间频繁交换消息,会影响性能。而且如果集中式协调器出现故障,整个平衡过程将失败,这与SDN分布式控制器的可用性和可扩展性方面不兼容。
  • 安全迁移机制 :选择附近的控制器作为目标控制器来设计安全迁移机制,在计算迁移费用时考虑迁移交换机与目标控制器之间的距离,可减少整个系统的数据包丢失和响应时间。但如果不考虑目标控制器的工作负载,会导致新的控制器负载不平衡。
  • 动态自适应负载均衡(DALB) :选择最接近欠载控制器的控制器在交换机迁移期间接收负载转移,执行时间更快,迁移成本更低,但在负载均衡期间会导致交通拥堵。
  • 控制器自适应和迁移决策(CAMD) :从欠载控制器中选择负载最小的控制器进行交换机迁移,在迁移成本和吞吐量方面性能更高,但可能导致负载均衡率较低。
  • 多路径路由算法 :研究SDN中的多路径路由算法,以公平地在多路径上分配流量,提高网络性能和链路带宽利用率。还提出了基于SDN的负载均衡多路径路由方法,但在实际网络中,网络状态复杂,计算时间过长。
  • 机器学习解决路由问题 :随着机器学习算法的发展,出现了各种通过机器学习算法解决计算机网络路由难题的策略。例如,提出了基于预测的SDN负载均衡双权重交换机迁移策略,使用历史流量数据估计未来流量负载,提前进行交换机迁移,还使用触发式负载信息算法解决分布式控制器之间周期性主动负载信息的处理和通信开销问题。
3. 系统架构

SDN平台使网络设备具备智能。由于网络设备的多样性,组织、优化、维护和管理网络资源变得困难。为了便于这些操作,需要将智能融入网络设备。但由于网络架构的分布式拓扑,使用ML进行设备控制存在问题。

ML算法在学习时最为有效,并且这种能力会随着实践和进步而提高。对于每个网络流量类别,网络跟踪的统计特征(如持续时间、数据包长度和数据包到达间隔时间)是独特的。系统使用指定的训练数据集来识别网络模式中的这种独特性,通过机器学习技术确定网络数据中的模式。

ML中数据非常重要,而不是基于算法中的预定义参数得出结论。监督学习使用标记数据进行分类和回归,无监督学习关注将未标记数据分类到不同类别,强化学习中代理与环境交互并学习最大化奖励的动作。为了根据客户的QoS参数要求对流量进行分类,使用了半监督学习方法。

监督学习方法构建的知识可用于将传入的流情况分类到先前指定的类别中,它分为训练和测试两个步骤:
- 训练 :在学习阶段,通过考虑训练数据集来构建分类模型。
- 测试 :使用训练阶段生成的模型对新实例进行分类,通过监督学习方法确定活动到输出网络流量类别的映射。网络流量分类的第一个障碍是获取标记数据集,一种方法是使用部分数据(如80%)作为训练集,其余(如20%)作为测试集。第二个问题是新的网络流量可能不适合任何已定义的流量类型。最后一个问题是实时在线处理流量分类。

用于训练ML算法的流实例数据包括:
1. 源和目的地的IP地址和端口号。
2. 协议信息以及报头长度。
3. 双向发送和接收的数据包总数、数据包大小、到达间隔时间和长度。
4. 所有活跃和非活跃用户,以及PUSH和URG标志的计数。

4. 实现

提出的方法将SDN与ML技术集成用于网络流量分类。基于机器学习的SDN交换机迁移方法的基本目的是提高网络性能。该算法检测SDN交换机的使用情况,对于过度使用的交换机,可以通过考虑过去的使用历史和迁移时间来解决。
- 迁移时间 :采用最小迁移时间原则,选择迁移时间最短的SDN交换机。
- 标准偏差 :如果SDN交换机利用率变化显著,则标准偏差较大,表明交换机使用不一致。标准偏差可以通过以下公式估计:
[st_{dev}=\frac{1}{n}\sum_{i = 1}^{n}(util_{sw}(i)-Avg(util_{sw}))^{2}]

流量分类问题的表述如下:收集的流为(M = {M_1,M_2,\cdots,M_n}),例如(M_i)有(k)个特征,第(k)个流实例中的第(j)个特征表示为(M_{ik})。用于分类网络流量的属性包括到达间隔时间、持续时间、传输字节数和数据包。

使用特定数据收集协议获取的数据常用于ML算法进行流量分类。交换机的转发规则(流条目)将数据包匹配到不同粒度的流中,Open Flow维护流统计信息。这些数据可以通过具有最小流量的接入交换机、核心交换机或具有大量流量的网关交换机收集。可以通过多种方式收集数据,例如为不同的流量类型选择多个流粒度,并在将流规则实施到交换机之前在控制器中评估可配置的数据包数量。

我们讨论的一个SDN应用程序会从受控交换机收集Open Flow信息。该应用程序生成一个流条目,指示受控交换机使用Open Flow将所有流量转移到控制器。当数据包到达控制器(作为Open Flow Packet In消息的一部分)时,确定其传输协议。对于TCP数据包,检查TCP标志以确定哪些数据包参与初始TCP握手,并保留每个数据包的大小和到达时间戳。

交换机迁移调度算法

Inputs:
∀ck∈C, ∀si∈S, ∀k∈α, α
Outputs:
Migration Schedule
Initialization: Boolean low
C ← {C1, C2, …, Cn}
Get Total No Of Controllers();
SW ← {S1, S2, …, Sm}
Get Total No of Switch();
for each switch S in SW compute load
Li = ∑(Lx * tk) for i = 1 to m
Compute standard deviation
stdev = (1/n) * ∑((util_sw(i) - Avg(util_sw))^2) for i = 1 to n
if (Ktm ≥ 90 && Stde == low)
    add Si to miglist
    flag = 1
if flag == 0
    choose the switch with the smallest load and add it to miglist.
while miglist != null
    choose the switch si with the smallest load.
    delete si from miglist
5. 结果与讨论

为了评估性能,我们采用了模拟方法,评估了收敛时间、迁移时间、迁移次数和响应时间。实验在配备英特尔i7 - 6800HQ处理器(3.0GHz)、32GB 1800MHz内存和Windows 11操作系统的计算机上进行,使用Jupyter notebook编译器进行模拟。

将实验结果与其他两项类似研究进行比较,使用平均响应时间来比较三种方法。随着传入负载的增加,三种方法的平均响应时间都会增加。所提出的CTSML在响应时间方面优于CAMD和DALB,分别减少了约5.4%和1%。响应时间计算公式如下:
[T_R = R_{delay}+R_t]
其中:
[R_{delay}=D + C_p + C_{tcp}+[D + C_{server}+AT]+mf + D_{lnr}AT + 2 - 2 + [2 - 1]+[1 - 1]+mf + GT + L - L]
[R_t=MAX + 8×[1 - 1]+p×OHR + BW - D×PL + WS - L]

在上述公式中,(T_R)表示响应时间,(R_{delay})表示传播延迟时间,(R_t)表示传输延迟时间。在(R_{delay})公式中,(D)表示往返延迟,(C_p)表示处理时间,(C_{tcp})表示服务器TCP处理时间,(C_{server})表示服务器处理时间,(AT)表示应用程序轮次,(mf)表示复用因子,(D_{lnr})表示数据包丢失率,(G)表示TCP超时。在(R_t)公式中,(PL)表示有效负载长度,(OHR)表示开销比率,(BW)表示最小路径带宽,(WS)表示有效窗口大小。

平均迁移次数方面,随着传入负载的增加,三种方法的平均迁移次数都会增加。CTSML优于DALB和CAMD,分别减少了0.9%和5.9%。这意味着在控制器负载不平衡的情况下,CTSML可以减少交换机迁移的次数。

平均迁移时间上,CTSML比其他两种方法更少。

收敛时间方面,系统由一个或多个基于云的路由器组成,当系统内发生连接故障时,检测到故障并重新路由流量。收敛时间基于故障时重新路由数据包所需的时间来测量,计算公式为:
[Cv_{time}=N_{rp}×h_c×α]
其中,(N_{rp})表示路由数据包的数量,(h_c)表示从路由器到目标的跳数,(\alpha)表示发送数据包数量与接收数据包数量的比率。CTSML的收敛时间比CAMD和DALB更短。

综上所述,所提出的CTSML在响应时间、迁移次数、迁移时间和收敛时间等方面都表现出了优于CAMD和DALB的性能,能够有效提高SDN云数据中心的网络性能。

基于机器学习的SDN云数据中心收敛时间感知网络综合交换机迁移算法

6. 性能对比分析

为了更直观地展示CTSML与CAMD、DALB的性能差异,下面通过表格的形式进行对比:
| 性能指标 | CTSML | CAMD | DALB |
| — | — | — | — |
| 平均响应时间减少比例 | 相比CAMD约5.4%,相比DALB约1% | - | - |
| 平均迁移次数减少比例 | 相比DALB 0.9%,相比CAMD 5.9% | - | - |
| 平均迁移时间 | 少于CAMD和DALB | - | - |
| 收敛时间 | 短于CAMD和DALB | - | - |

从这个表格中可以清晰地看到,CTSML在各项性能指标上都有明显的优势。在实际的SDN云数据中心网络环境中,这些优势能够带来更高效的网络运行和更好的用户体验。

7. 技术优势总结

CTSML算法具有以下几个显著的技术优势:
- 机器学习的有效运用 :利用多种机器学习算法,如决策树、支持向量机、神经网络和随机森林等,对网络流量进行分类和预测。这些算法能够基于大量的历史数据,准确地分析网络状态,为交换机迁移提供科学的决策依据。
- 考虑流量动态 :在进行交换机迁移时,充分考虑了网络的流量动态。通过实时监测流量属性,如往返延迟、数据包丢失和数据包速率等,能够及时发现网络故障,并快速调整备份路径,实现快速的故障恢复。
- 优化资源分配 :采用最小迁移时间原则和标准偏差评估,能够合理地选择需要迁移的交换机,避免了不必要的迁移,减少了迁移次数和迁移时间,从而优化了网络资源的分配。

8. 应用场景分析

CTSML算法适用于多种SDN云数据中心的应用场景,以下是一些典型的场景分析:
- 大型数据中心 :在大型数据中心中,网络设备众多,流量复杂。CTSML算法能够有效地管理交换机的迁移,平衡控制器的负载,提高网络的可靠性和性能。例如,当某个控制器出现过载时,CTSML可以快速将部分交换机迁移到其他控制器,避免网络拥塞。
- 云计算环境 :云计算环境对网络的响应时间和可靠性要求较高。CTSML算法通过优化交换机迁移策略,能够减少响应时间和数据包丢失,确保云计算服务的稳定运行。比如,在多个虚拟机共享网络资源的情况下,CTSML可以根据虚拟机的流量需求,动态调整交换机的配置。
- 实时应用场景 :对于实时应用,如视频会议、在线游戏等,网络的延迟和稳定性至关重要。CTSML算法能够快速检测网络故障,并及时恢复,保证实时应用的流畅性。例如,当网络出现短暂中断时,CTSML可以迅速切换备份路径,减少用户的感知。

9. 未来发展趋势

随着SDN技术的不断发展和网络需求的日益增长,CTSML算法也将面临新的挑战和机遇。未来,可能会朝着以下几个方向发展:
- 与新兴技术融合 :将CTSML算法与人工智能、区块链等新兴技术相结合,进一步提高网络的智能化和安全性。例如,利用人工智能的深度学习能力,更精准地预测网络故障和流量变化。
- 自适应优化 :实现算法的自适应优化,根据不同的网络环境和应用需求,自动调整算法参数,提高算法的通用性和灵活性。
- 跨域应用 :拓展算法的应用范围,实现跨域的网络管理和交换机迁移。例如,在多个数据中心之间进行协同管理,提高整个网络的效率。

10. 总结

本文介绍了一种基于机器学习的SDN云数据中心收敛时间感知网络综合交换机迁移算法(CTSML)。通过对SDN技术和机器学习算法的有效结合,CTSML算法能够在网络故障时快速恢复,优化交换机迁移策略,提高网络的性能和可靠性。

在系统架构方面,详细阐述了如何利用机器学习进行网络流量分类和预测。在实现过程中,给出了具体的算法和操作步骤,包括交换机迁移调度算法和流量分类的相关公式。通过实验结果的对比分析,证明了CTSML算法在响应时间、迁移次数、迁移时间和收敛时间等方面都优于传统的CAMD和DALB算法。

未来,CTSML算法有望在更多的应用场景中发挥重要作用,并不断发展和完善。随着技术的进步,相信它将为SDN云数据中心的网络管理带来更多的创新和突破。

下面是一个mermaid格式的流程图,展示CTSML算法的主要流程:

graph TD;
    A[开始] --> B[监测网络流量];
    B --> C{是否出现故障};
    C -- 是 --> D[计算备份路径];
    C -- 否 --> B;
    D --> E[选择迁移交换机];
    E --> F[执行交换机迁移];
    F --> G[更新网络配置];
    G --> B;

这个流程图清晰地展示了CTSML算法在网络运行过程中的主要步骤,包括流量监测、故障检测、备份路径计算、交换机迁移和网络配置更新等。通过不断循环监测和调整,确保网络的稳定运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值