网格上实时应用的安全动态调度算法
摘要
用于网格上实时应用的安全动态调度算法(SDSA)能够提升实时应用或信息物理系统的服务质量(QoS)以及数据包的安全性。现有的硬实时应用调度算法主要基于时间约束和安全要求,其中一些算法仅提供认证安全服务,且仅在数据包到达率较低时表现最佳。然而,当数据包到达率增加时,由于这些算法往往只关注安全性而忽视调度,其性能会下降。本文尝试通过在网格上使用安全动态调度算法(SDSA)来解决上述问题。
由于维持所需安全级别可能会影响数据包的及时交付,SDSA试图利用网格或计算单元(CEs)在保证最优安全性的前提下实现可靠的交付。当新数据包到达节点时,将对其检查可行性判据;若数据包不满足可行性判据,则被转发至已接受队列长度最小的相邻节点,并再次进行可行性判据检查。
与该领域一些现有算法相比,SDSA在保证率(GR)和平均安全级别(ASL)方面表现出更优的性能。
关键词
算法 · Real-time应用 · Packet调度 · 安全性 · Network model
1 引言
实时应用依赖于调度算法来保证应用程序的服务质量(QoS)和可靠性。硬实时系统错过截止时间的后果可能是灾难性的,而软实时系统错过截止时间的后果相对破坏性较小[1]。硬实时应用的一些示例包括分布式防御应用、医疗应用以及所有与监控相关的应用[2]。因此,所有
传统实时调度器通常关注时间约束,以确保数据包的及时交付。然而,除了数据包的及时交付外,此类应用还对安全性有强烈需求(例如军事应用)。遗憾的是,传统观念下的实时调度系统难以满足具有调度和安全需求的实时应用的要求。这主要是因为传统的实时调度系统旨在保证时间约束,但可能会带来不可接受的安全风险[3–5]。考虑在并行和分布式系统上运行的军事应用,如飞机控制系统[6]。此类应用需要实时信息,即使通过高延迟链路(如卫星通信)传输,也需满足安全要求。然而,在确保数据包最高安全级别的过程中,计算开销增加1,导致总处理时间和完成时间增加。处理时间的增加可能导致数据包无法及时交付,从而使系统变得不可靠。实时应用的数据包需要不同类型的安全服务,例如:认证服务以防止未授权用户访问,完整性服务以防止数据被篡改,以及保密服务以在传输过程中隐藏数据。因此,迫切需要一种能够在满足所有安全要求的同时维持理想服务质量的方案。
本文提出了一种安全动态调度算法(SDSA),用于由 N个节点(Ni,∀ i ∈ N)组成的网格上的实时应用,这些节点在交换网络环境中通过代理节点(AN)连接构成一个完全图(图1)。计算网格是由地理上分散的计算资源(节点)或计算单元(CEs)组成的集合,为用户提供一个大型的虚拟计算环境[7],或协同处理信息物理系统中的事件。如今,计算网格正逐渐成为在线事务处理系统、医疗电子、远程医疗和科学并行计算等多种应用的实时平台。
随着存储容量、计算速度和网络带宽的快速提升,网格正成为学术界、工业界以及一些政府机构中大规模计算的下一代计算平台。因此,网格中的CE可用于执行计算密集型任务,而这些任务使用商用硬件可能无法完成。由于实时应用要求数据包在高安全要求下及时交付,因此可以利用计算节点网格来满足这一需求。所有数据包均到达代理节点(AN),然后根据各节点的负载(节点的接受队列长度)转发至网格中的各个节点(CEs)。现在,首先检查数据包的安全要求和截止时间,据此决定该数据包在相应节点上的可行性(第6.1节)。本文采用了如[8],中所述的逐包加密概念,其中每个数据包具有不同的安全要求。
我们提出,如果某个数据包在某一节点(或CE)上不可行,则立即
高安全级别需要更多的计算资源,如CPU周期、内存需求等。因此,更复杂的算法加密给定消息所需的时间也更长。然而,所需时间还可能取决于其他因素,如要加密的位数(块长度)和密钥长度。
图1. 网格的连接图
转发到接受队列中数据包数量最少的相邻节点(或CE)。我们采用一个代理节点(AN),该节点维护网格中各节点的接受队列长度信息(第3.3节)。该概念的新颖之处在于,我们使用的是网格而非单个节点。之前的所有算法均基于单节点机制。在这种情况下,如果单个节点的负载过高,则该节点只能在牺牲安全要求的前提下提供服务质量。因此,使用网格有助于在整个网格中的节点之间公平地分配负载,降低数据包丢失的概率。此外,与现有其他算法相比,它在保持较高平均安全级别的同时,提高了保证率。仿真结果也验证了这一点,其中所提出的SDSA算法与SPSS[9], ISAPS[10]和IPSASC[11]进行了比较。
2 相关工作
根据A. Karnik等[12]的研究,计算元素网络中的安全性和调度方面一直是分开处理的。然而,人们已经观察到,安全开销是影响数据包及时交付的关键因素,尤其是在硬实时系统中。因此,需要一种动态调度算法,能够同时优化数据包的安全性和服务质量(QoS)方面。
S. Lu等[13]提出了一种用于无线网络中实时数据包的公平调度算法,名为最小与最大。最小(Min)以最低安全要求为代价提供保证交付;而最大(Max)则以更高安全性为代价牺牲服务质量。
秦X. 等[9]提出了安全分组调度策略(SPSS),该策略主要关注数据包的安全性。该方案在数据包到达率较低时提高了
数据包的安全级别。然而,当数据包到达率较高时,该方案无法动态调整安全级别。因此,该算法存在服务质量低和数据包丢失率高的问题。
Xiaomin Zhu等[10]提出了一种改进的安全感知分组调度(ISAPS)算法。ISAPS算法能够动态增加或减少安全要求以及调度,以保持更高的保障比率。然而,数据包的安全级别是采用轮询方式调整的。该算法在数据包到达率较高时主要关注安全性要求。
S. 辛格等[11]提出了一种具有安全约束的改进分组调度算法(IPSASC)[11]。IPSASC算法与SPSS[9]类似,只是它可以动态降低在接受队列中等待的数据包的安全要求,优先处理处理时间较长的数据包。然而,当到达率增加时,其数据包丢失率更高。
如前所述,所有先前的算法都采用了单节点机制,导致较高的数据包丢失和较低的保证率。使用多个节点可实现负载共享,提高保证率,并增强安全性。
3 安全实时数据包调度器模型
本文的主要目的是在最大化实时系统安全要求的同时,提高数据包交付率。所提出的SDSA算法相较于现有调度算法[9–11],力求提升平均安全级别和总保证率。我们采用了Junget al.[8]提出的数据包级加密技术概念。Junget al.指出,许多实时应用需要增强安全性,尤其是军事应用。目前大多数实时应用使用单一会话密钥,无法保证抵御暴力破解攻击。因此,研究人员建议采用选择性分组密钥加密技术,确保同一会话中不会对其他数据包重复使用相同的分组密钥。
这种每分组加密方案有助于应用实现如[8]中所提出的不同安全级别。
图2. 调度器模型
数据包首先到达调度队列(Qs),该队列由实时EDF(最早截止时间优先)调度器控制。随后,根据EDF策略选择数据包,并使用属性‐1(见第3.2节)检查其可行性。如果数据包可行,则将其插入接受队列(Qa)。现在,在不违反该数据包以及位于该分组之后的分组的属性‐1的前提下,提高已接受数据包的安全级别。然而,如果数据包不满足属性‐1,则要么降低接受队列中其他等待数据包的安全级别以容纳此新数据包,要么根据策略‐2将其转发到某个相邻节点。
如果该数据包在下一节点仍然不可行,则将被插入拒绝队列(Qr),并最终被丢弃。
3.1 符号说明
表1描述了本文中使用的所有符号说明。
| P j i | ith数据包在节点 Nj的 P数据包集合中 |
|---|---|
| aj i | 数据包 Pi在节点 Nj的到达时间 |
| Sj i | 数据包 Pi 在节点 Nj的开始时间 |
| Di | 数据包 Pi的截止时间 |
| Sli | 数据包 Pi的安全级别 |
| Ptji | 数据包 Pi 在节点 Nj的处理时间 |
| Cj i | 数据包 Pi 在节点 Nj的总完成时间 |
| T j i | 数据包 Pi 在节点 Nj的总处理时间 |
| Soji | 数据包 Pi 在节点 Nj的安全开销 |
| SlkC | 数据包 Pi的 kth保密安全级别 |
| SlkI | 数据包 Pi的完整性安全级别 kth |
| SlkA | 数据包 Pi的认证安全性级别 kth |
| Oj i | 数据包 Pi 在节点 Nj的接受队列中基于EDF策略的排序 |
| rj k | 数据包 Pk 在节点 Nj的剩余处理时间 |
| Wj k | Wj k= 1当且仅当数据包 Pk在接受队列中时成立,否则为 Wj k= 0 |
3.2 定义
属性-1
:若一个数据包在其截止时间内以最优安全级别完成处理,则称该数据包满足属性-1 ⇐⇒ Cj i ≤ Dj i。如果一个数据包满足属性-1,则称其为可行,此判据称为可行性判据。
假设一个新数据包(aj i, P tji, Di, Sli)以一定的最小安全要求 Sli到达某个节点 Nj ,并存储在调度队列(Qs)中。此时,实时EDF调度器将根据EDF(最早截止时间优先)策略从调度队列(Qs)中选取一个数据包,并检查该数据包是否满足属性‐1。如果新数据包满足属性‐1,则将其转移到接受队列;否则,实时 EDF调度器将通知安全控制器降低接受队列中等待的数据包的安全级别。随后,安全控制器将通过优先级控制器按照策略‐1降低接受队列中等待的数据包的安全级别。如果新数据包仍然不满足属性‐1,则立即将该数据包转移到网格中的某个相邻节点 N j+1 。相邻节点 N j+1的选择基于策略‐2。 N j+1现在计算新的到达时间以及处理时间(aj+1 i , Ptj +1 i ),但安全要求(Sli)和截止时间(Di)保持不变。根据新的到达时间(aj+1 i ),可计算出在节点Nj+1的新的开始时间(Sj+1 i )和完成时间(Cj+1 i )。
为了验证属性‐1,在节点 N j 处计算数据包的开始时间(Sj i )、总处理时间(T j i )和总完成时间(C j i )。如果对于
分组 Pj i, Cj i ≤ Dj i,则满足属性‐1,否则分组 Pj i 在节点Nj上不可行。如果新分组 Pj i 被接受,则实时EDF控制器将通知安全控制器,将安全级别提升至最高等级,直到新分组的属性‐1以及位于该分组之后的分组在接受队列中被违反为止。这将提高实时应用分组的整体安全级别,同时增强系统资源的利用率以及整体系统性能。
策略-1
:为了容纳一个新到达的数据包,按处理时间最长优先的顺序,依次将接受队列中数据包的安全级别降低至其最小安全级别(Qa)。
安全性控制器和优先级控制器负责动态调整位于接受队列中数据包的安全级别(Qa)。此过程将重复执行,直到新数据包也被容纳进接受队列,或者接受队列中所有等待的数据包都被降低至最小安全级别。如果新数据包仍然不满足属性‐1,则根据策略‐2立即将该数据包转移至一个相邻节点,并恢复所有数据包的原始安全级别。
策略-2
:如果一个数据包 P在应用策略-1后仍不满足属性-1,则该数据包将通过代理节点转发至具有最小已接受队列长度的相邻节点(第3.3节)。
当前节点(Ni)首先向代理节点查询具有最小已接受队列长度的节点ID。一旦 N i获得该信息,它就可以进行传输
数据包 P 直接发送到节点(因为网格是一个完全图)。如果没有找到这样的相邻节点,则该节点将丢弃该数据包。
3.3 基于代理节点的信息交换
网格中的计算元素通常需要交换各种信息/消息,以执行任务、公平分配负载和保证服务质量。此类信息通常包括当前计算负载、系统规模、CPU利用率等。然而,在CEs网络中进行此类信息交换可能会导致较大的开销并产生较大的延迟,这可能会影响服务质量,特别是对于实时系统而言。所提出的SDSA算法要求在节点上数据包不可行时,交换关于已接受队列长度的信息。由于我们认为 CEs构成一个完全图,因此单个数据包交换的消息数量为2(n−1)。因此,我们提出使用代理节点来跟踪网格中所有节点的系统规模。图1显示了代理节点与 CEs之间的连接关系。因此,数据包首先到达代理节点,然后由代理节点根据以下协议进行分发。
1. 到达代理节点的数据包被转发到具有最小已接受队列长度的节点。
2. 每个节点 Ni周期性地广播一个窗口大小 w ,该窗口大小表示一个节点能够处理的流量。
3. 每个节点在每接收 k条消息后发送一次确认(ACK消息),针对某些 k= wn。
4. 窗口大小每隔 t个时间单位广播一次,或者如果由于节点缓冲区已满而无法接受数据包,则立即使用负确认(NACK)进行广播。
5. 代理节点将跟踪已发送的数据包数量以及各个节点的窗口大小。
示例 :考虑一个节点 Ni,它向代理节点通告窗口大小为100。当数据包到达代理节点时,代理节点会不断递减一个计数器,以跟踪已发送到 Ni 的数据包数量。假设 Ni 每接收到10个数据包后就向代理节点发送一次确认(ACK),并且每隔5个时间单位通告一次其窗口大小。然而,需要注意的是, Ni 可能不仅从代理节点接收数据包,还可能从其他节点接收数据包(如果某个数据包不可行且该节点具有最小的系统规模)。因此,实际的窗口大小可能大于或小于代理节点处计数器的值。较大的窗口大小对性能的影响可能不如较小的窗口大小显著。假设在某一时刻,代理节点处计数器的值为10,但 Ni 处的缓冲区已满。当代理节点继续发送更多数据包时,这些数据包将被 Ni丢弃。此时, Ni 立即使用NACK通告其窗口大小 w= 0,以便代理节点不再发送更多数据包。因此,当一个数据包在某个节点上不可行时,该节点会向代理节点查询。代理节点返回具有最小已接受队列长度的节点ID。这样,每个不可行消息的总消息交换次数减少到2次。
4 安全开销模型
本文的主要目标是在确保最大保证率的同时,增强实时数据包的安全服务。如前所述,每个数据包到达CE时都带有由应用程序指定的最低安全级别要求。然而,在某些情况下,可以提高数据包的安全级别,以提供更强的机密性,同时不损害QoS。在这种情况下,数据包安全级别的提升会导致处理时间增加。这部分额外增加的处理时间被称为安全开销。安全开销用于在最小化数据包丢失的情况下实现所需的安全服务(例如拒绝服务)。数据包的总安全级别 Pi是机密性安全级别、完整性安全级别和认证安全级别的组合,可通过使用公式(1)计算得出。
其中,(SlkC)i、(SlkI)i和(SlkA)i分别是数据包 pi的机密性、完整性和认证安全级别的索引值,可通过公式(2)、(3)和(4)分别进行评估。而 Max{SlkC}、 Max{SlkI}和Max{SlkA}分别表示在相应表中机密性、完整性和认证安全级别的最大值。
$$
Sli=\frac{(SlkC)i+(SlkI)i+(SlkA)i}{Max{SlkC}+ Max{SlkI}+ Max{SlkA}} \tag{1}
$$
4.1 机密性安全性级别
保密服务可保护数据包免受窃听攻击。某些标准加密算法的机密性安全级别如表 2[3,5,14]所示。这些加密算法根据其性能被分配了0.08到1.0范围内的机密性安全级别。可以看出,Seal的机密性安全级别为0.08,虽不是最强但却是最快的加密算法;而IDEA的机密性安全级别为1.0,表明它在所有算法中是最强但最慢的加密算法[2,3,7]。机密性的安全级别可通过公式(2)计算[3,5,14]。
$$
SlkC= V C 8/V C k,\quad(1 ≤ k ≤ 8) \tag{2}
$$
这里 V C k 是以 KB/ms 为单位的 kth (1 ≤ k ≤ 8)索引机密性安全算法的性能, SlC k 是 kth(1 ≤ k ≤ 8)索引算法的安全级别。
4.2 认证的安全性级别
认证安全服务可保护数据包免受欺骗攻击。针对某些标准认证方法的安全级别为
如表所示 3[3,5,14]。认证的安全级别(SlkA)可以使用公式(3)计算[3,5,14]。
$$
SlkA= V A 3/V A k,\quad(1 ≤ k ≤ 3) \tag{3}
$$
这里 V A k是 kth (1 ≤ k ≤ 8)索引认证安全性方法的性能,单位为 KB/ms,而 SlkK是 kth(1 ≤ k ≤ 8)索引认证方法的安全级别。
4.3 完整性安全级别
完整性安全服务可保护数据包免受篡改攻击。哈希函数用于提供完整性服务。
关于某些标准哈希函数的安全级别如表 4[3,5,14]所示。根据给定的元组,可通过公式(4)[3,5,14]计算完整性安全级别。
$$
SlkI= V I 7/V I k ,\quad(1 ≤ k ≤ 7) \tag{4}
$$
这里 V I k 是 kth(1 ≤ k ≤ 7)索引哈希函数的性能,单位为KB/ms,而 SlI k 是 kth(1 ≤ k ≤ 7)索引哈希函数的安全级别。
5 计算 Ci
该算法采用类似于[10,11]的数据包模型。我们假设节点处的数据包到达率是独立同分布的。如果一个数据包 P i
在节点上是可行的 N,则将其转移到接受队列。到达的数据包 Pi具有元组< aj i, P tji, Di, Sli> 2。数据包 Pi在节点 Nj上的安全性开销(Soji)因此可以使用(5)计算。初始值 Sli等于 Slmin i ,该值可根据算法进一步增加。
$$
Soji= Ptji × Sli \tag{5}
$$
总处理时间(T j i )可以使用(6)计算
$$
T j i= Ptji+ Soji= Ptji ×(1+ Sli) \tag{6}
$$
数据包的开始时间(Pi)在节点 Nj处可以使用(7)计算。
$$
Sj i= aj i+ rj m+\sum_{k=m+1}^{i-1} T j k;\quad Oj k< Oj i, \text{ for } m= 1, 2,…, i −1 \tag{7}
$$
因此,数据包的完成时间(Pi)可以使用公式(8)计算
$$
Cj i= Sj i+ T j \tag{8}
$$
命题-1
:如果 $ Cj i ≤ D j i > Oj k $,则 $ Cj k ≤ Cj i $。
由于接受队列中的数据包是基于最早截止时间优先(EDF)进行排序的,显然如果新到达的数据包满足属性‐1,则该数据包的完成时间将大于所有之前的数据包。此结果来源于公式7和8。
6 算法
下面的算法6.1描述了为维持数据包的安全性以及QoS需求所遵循的完整方案。一位敏锐的读者将
了解数据包可以在网格中的任何节点进行转发,并且每个节点都遵循相同的方案。
算法6.1。 SDSA(P acket P)
local Scheduler Queue at Node Nj: Qjs
local Accepted Queue at Node Nj: Qja
Rejected Queue at Node Nj: Qjr
Insert(Qjs, P)
Sli ← Slmin i
注释: Slmin i = (SlCk)i+(SlIk)i+(SlAk) i / (Max{SlCk}+Max{SlIk}+Max{SlAk})
Sj i ← aj i+ rjm+∑ i−1 k=m+1 T j k; Oj k< Oj i
注释: 计算开始时间 Sj i(eqn:7)
如果 Qjs={∅} & P Property −1 则
{Insert(Qja, P)
AdjustSecurityLevel(P)
否则
Pi ←min EDF{Q j s}
AdjustSecurityLevel(Pi)
过程 AdjustSecurityLevel(Pi)
如果 Pi Property −1 则
⎧
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩
如果 i= |Qj a| 则
当 Pi Property −1 & Sli< Slmax i 执行
Sli ← Sli+ 0.1
否则
⎧
⎪
⎪
⎨
⎪
⎪
⎩
当 Pk Property −1 ∀ Pk> Pi 执行
如果 Sli ≤ Slmax i 则
Sli ← Sli+ 0.1
否则
break
否则
⎧
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩
当 Pi!Property −1 则
Pk ← ∀ k> i
Slk ← Slmin k
Pt k {Q j a} max , 如果 Pk Property −1 则 continue
否则 break
如果 Pi!Property −1 则
hopcount ← Pi.getGridHopCount()
如果 hopcount= 0 则
Nad j ← min Q i s {Ni}, ∀ i= j
否则
Insert(Q j r , Pi)
网格上实时应用的安全动态调度算法
7 仿真与结果
我们使用NS‐3仿真工具来评估并比较所提出的算法(SDSA)与其他现有调度算法(如SPSS[9], ISAPS[10], IPSASC[11])的性能。通过改变数据包到达率、数据包大小和截止时间,我们在保证比率(GR)和平均安全级别(ASL)方面测试了SDSA算法的性能。所使用的仿真设置如下表5所示。
细心的读者会理解,由于其他算法未采用网格的概念,因此其他算法的计算单元(CEs)数量为1且无代理节点。
$$
GR = \frac{\text{total packets accepted}}{\text{total packets arrived}} \times 100\%
$$
$$
ASL = \frac{\text{total security applied on accepted packets}}{\text{total number of packets}} \times 100\%
$$
数据包根据泊松分布在网格中节点的随机时间点到达。保证率(GR)是到达网格的总数据包数量与在网格某一节点上变为可行或被接受的总数据包数量之比的分数。到达网格的数据包总数与在网格某一节点上变为可行或被接受的数据包总数之比。它也是丢弃数据包数量的间接度量;即,保证率越高,丢弃的数据包数量越少。平均安全级别是应用于所有数据包的总安全级别的一个分数。它表示算法在维持良好服务质量(QoS)的同时,相对于应用于所有数据包的最优安全级别的效率。
7.1 到达率、数据包大小和截止时间对保证率的影响
保证率表示以最优安全级别被接受的数据包所占的分数。图3(a)显示,在低数据包到达率情况下,SDSA在保证率(GR)方面的性能相比SPSS、ISAPS和IPSASC分别提高了约29%、10.8%和8.2%;而在高数据包到达率情况下,其性能提升分别为SPSS、ISAPS和IPSASC的约2.7倍、2.1倍和1.7倍。这归因于其他方案使用单一节点,无法处理高到达率。我们可以看出,当到达率较高时,其他算法难以提供足够的服务质量。
较大的数据包大小需要更长的计算时间。因此,对于更复杂的算法,安全开销较大。可以看出,即使在小数据包大小的情况下,SDSA的性能相比ISAPS也有提升,如图3(b)所示;而对于大数据包大小,性能提升更为显著。这是由于具有较短截止时间的数据包因较大的计算开销而无法被处理。
IPSASC考虑到了这一特点,通过优先降低计算时间最长的数据包的安全级别来应对。然而,当数据包大小增加时,IPSASC也会失效,因为某些数据包会由于其他数据包的安全开销而被拒绝。而SDSA通过将此类数据包转发到其他节点解决了这一问题。
图3(c)显示了截止时间对保证率的影响。截止时间较短的数据包其等待时间也较短,这会增加数据包错过截止时间的可能性。截止时间较长的数据包将错过截止时间的可能性更小,这将提高系统的保证比率(GR)。对于较短的截止时间,SDSA相较于SPSS、ISAPS和IPSASC分别性能提升1.2倍、1.0倍和1.1倍;而对于较长的截止时间,其性能提升分别约为28%、18%和11%,相较于SPSS、ISAPS和IPSASC。
7.2 到达率、数据包大小和截止时间对平均安全性值的影响
一个通过使用尽可能高的安全级别来传输最多数量数据包的系统,被认为在平均安全级别(ASL)方面表现最佳。显然,ASL取决于流量、数据包大小以及数据包的截止时间。
从图4(a)可以看出,当数据包到达率较低时,SDSA相较于SPSS、ISAPS和IPSASC分别性能提升了1.6倍、2.5倍和1.2倍;而在高流量情况下,性能提升更为显著。这归因于SDSA为未被首个节点服务的数据包提供了第二次机会。然而,由于SPSS主要关注数据包的安全性,因此其表现优于ISAPS。结果是,少量具有高安全级别的数据包被接受,从而使得平均值优于ISAPS。此外,为ISAPS确定正确的时间片/时间片长度是一个挑战。如果采用较大的时间片,则数据包选择将趋于先来先服务顺序;而如果时间片过小,则可能需要较长时间才能准确确定安全级别。
图4(b)显示了SDSA在不同数据包大小下的性能表现。对于小数据包大小,SDSA相比ISAPS、SPSS和IPSASC分别提升了4%、5.5%和1.1%;而对于大数据包大小,其性能提升分别达到约30%、51%和81%,相较于IPSASC、ISAPS和SPSS。
图4(c)显示了截止时间对平均安全级别的影响。如果数据包的截止时间较短,则即使安全性值较低,也更有可能错过截止时间。较长的截止时间可实现更高的安全级别,且随着截止时间的增加,平均安全级别也随之提高。对于较短的截止时间,SDSA相比ISAPS、IPSASC和SPSS分别性能提升1.2倍、1.1倍和1.1倍;而对于较长的截止时间,其性能提升分别约为20%、180%和26%,相较于IPSASC、ISAPS和SPSS。
7.3 对完成时间的影响
完成时间表示数据包在处理节点上应用给定安全级别后被释放的时间。可以观察到到达节点 i调度队列中的数据包的完成时间;设此时间为 Cs i。然而,由于安全级别的变化及其相应的处理过程,该数据包在接受队列中的实际完成时间可能会发生变化;设此时间为 C a i 。完成时间的这一变化可能导致若干重要观察结果。
我们记录了使用所有四种方案时数据包完成时间的变化情况。表6以表格形式展示了100个数据包完成时间变化的平均值和方差。可以看出,SPSS的完成时间平均变化最大,而IPSASC和SDSA的完成时间平均变化最小。对于SPSS,这种变化是正向的,即随着数据包安全级别的持续提高,每个数据包的完成时间都会增加。此外,由于部分数据包的安全级别提升,导致大量数据包被丢弃。而对于IPSASC和SDSA,完成时间的变化最小。这些算法通过提高或降低安全级别来尽可能容纳更多的数据包。
同样,SPSS的完成时间变化方差最大,而SDSA的方差最小。这也反映了各方案的公平性。在SDSA中,每个数据包的完成时间变化不仅最小,而且每个数据包的变化量几乎相等。
图3. (a)到达率、(b)数据包大小和(c)截止时间对保证比率(GR)的影响。(a)数据包大小= 10 KB,带宽= 1 Mbps,截止时间= 900ms。(b)到达率= 40 s− 1,带宽= 1 Mbps,截止时间= 900 ms。(c)到达率= 40 s− 1,带宽= 1Mbps,数据包大小= 10 KB
图4. (a)到达率、(b)数据包大小和(c)截止时间对平均安全值(ASL)的影响。(a)中数据包大小为= 10 KB,带宽为= 1Mbps,截止时间为= 900ms;(b)中到达率为= 40 s−1,带宽为= 1 Mbps,截止时间为= 900 ms;(c)中到达率为= 40 s−1,带宽为= 1Mbps,数据包大小为= 10 KB
| 算法 | 平均值 | 方差 |
|---|---|---|
| SPSS | 7.42 | 2.7 |
| ISAPS | 6.43 | 1.72 |
| IPSASC | 5.008 | 1.29 |
| SDSA | 5.008 | 1.23 |
8 结论
随着安全威胁日益增加,数据包必须以最高安全级别进行传输,而这会导致较大的计算开销。较大的计算开销因此可能危及具有硬截止时间的数据包能否在规定时间内成功送达。针对这一问题,我们提出了一种用于网格上实时应用的安全动态调度算法(SDSA),该算法能够在保持令人满意的QoS的同时动态调整安全级别。我们根据数据包的计算时间和截止时间来调整其安全级别。仿真结果表明,所提出的方案相比其他算法有显著改进。使用网格能够在维持良好平均安全级别的同时减少数据包丢失数量。所提出的算法还在数据包的安全级别和完成时间方面保证了公平性。安全级别的公平性体现在数据包的安全级别增减幅度几乎相等;完成时间的公平性体现在SDSA的完成时间变化方差最小。
在这种情况下,一项有趣的研究是使用可应用于确定最大安全级别的优化技术应用于队列中给定数量的数据包。其次,我们仅考虑在两个节点上检查数据包的可行性。可以研究成本与性能之间的权衡,以确定在保持给定性能阈值的情况下,数据包可处理的CEs的最大数量。

1701

被折叠的 条评论
为什么被折叠?



