应用双层指针缩短切换时延及优化路由的分布式移动性管理方案

ALPH 中文站

ALPH 中文站

  • 首页
  • Coreum中文网
  • 你的位置:ALPH 中文站 > Coreum中文网 > 应用双层指针缩短切换时延及优化路由的分布式移动性管理方案

    应用双层指针缩短切换时延及优化路由的分布式移动性管理方案

    发布日期:2025-01-04 16:16    点击次数:63
    0 引言 移动性管理支持用户在移动过程中访问互联网.随着电脑、智能手机等便携设备的普及,移动性管理成为研究热点.移动IP(Mobile IP, MIP)技术支持用户在移动过程中使用IP协议访问互联网并保持正在进行的通信不中断.移动IP协议可分为2类:基于主机的和基于网络的.两者的主要区别在于:前者要求移动节点(mobile node,MN)参与移动性管理并转发相关信令,但后者不然.例如,MIPv6[1]属于前者,而代理移动IPv6协议PMIPv6[2]属于后者. 移动IP协议中,负责维护MN位置信息的路由器称为锚点,例如MIPv6中的家乡代理(home agent,HA)和PMIPv6中的局部移动锚点(local mobility anchor,LMA).当MN移动到新的子网时触发切换.切换的主要目的是向锚点更新MN的位置信息,从而锚点可以根据该信息转发给MN的数据包.在MIPv6和PMIPv6中,锚点的位置是固定的,会导致如下问题:1) 发生切换时需要与LMA交互切换信令,切换时延可达几百ms[3],当MN距离锚点较远时,时延更长,无法用于时延敏感的应用;2) 由于发送给MN的数据包都需要由锚点转发,增加了数据包传播时延,本文称之为路由欠优问题. 为了克服锚点固定的移动性管理协议存在的上述问题,分布式移动性管理允许会话动态选择锚点.所谓会话(session)指对有数据通信任务的MN提供移动性支持的时间段[4].分布式移动性管理在会话开始时,MN选择离其较近的接入路由器作为锚点[5],并且MN可为不同的会话选择不同的锚点,因此可以缩短切换时延,数据包的转发路由也能实现近似最优.目前,分布式移动性管理方面的研究已取得了一些成果.文献[6]分析了当前分布式移动性管理方案存在的缺陷,并提出了一种直观的分布式移动性管理设想,即在一个子网中放置多个LMA,MN就近选择LMA,从而克服锚点固定的移动性管理协议的缺点;文献[7]提出了基于具有移动性管理功能的接入路由器(mobility capable access router, MAR)的分布式移动性管理协议,MAR同时具有LMA和移动接入网关(mobile access gateway, MAG)的功能,该研究还给出了MAR的选择方法和切换过程的信令交互;文献[8]设计了MIPv6中的分布式移动性管理方案,后来该方案被扩展并应用到PMIPv6中[9].上述分布式移动性管理方案实现的基本思想类似,统称为已有方案.在分布式移动性管理实现的具体问题方面,文献[7]和[10]分别解决了分布式移动性管理中的地址问题,前者解决了发生切换时新的MAR如何获得MN以前关联的MAR地址的问题,后者利用分布式逻辑接口解决了MN收发数据包时多个地址(MN可以同时有多个锚点,因此会获得多个IP地址并同时进行通信)的选择问题.另外,文献[11]利用分布式移动性管理思想解决了PMIPv6的域间移动问题,文献[12]展望了分布式移动管理应用于未来5G网络的前景. 上述分布式移动性管理实现方案都允许MN为不同的会话选择最近的接入路由器作为锚点,从而实现缩短切换时延和优化数据包传播路由的目的.然而,对于给定的会话,锚点是在会话开始时选定的,并且在MN的移动过程中位置不变.因此,在会话持续时间内进行MN切换时,MN移动经过的每个MAR都需要向LMA更新MN的位置,这与锚点固定的移动性管理协议的操作相同.因此,分布式移动性管理仍存在切换时延长和路由欠优的问题. 克服分布式移动性管理存在的上述问题乃本文的研究动机所在.本文的主要工作为:设计基于双层指针的可缩短切换时延和优化路由的分布式移动性管理方案,并推导所提方案的切换时延公式,在此基础上进行性能分析.数值分析结果表明,本文方案在切换时延方面优于已有方案.为了验证数值分析结果的正确性,对本方案和已有方案进行仿真,仿真结果与数值分析结果相符. 1 应用双层指针的分布式移动性管理方案 1.1 分布式移动性管理 分布式移动性管理允许MN为不同的会话选择不同的锚点.假设MN最初在MAR1(MARi, i=1, 2, …, 表示第i个MAR)管辖范围,则MN利用MAR1的支持获得IP地址并建立会话,该会话的锚点为MAR1.如果MN移动到MAR2的管辖区域,此时为了保持该会话不中断,需借助移动IP技术,以PMIPv6为例,该会话的锚点(LMA)为MAR1,对应的MAG为MAR2.此时如果MN又发起新的会话,则新会话的锚点为MAR2. 然而,对于单个会话,在MN移动过程中锚点是固定不变的.如果MN在会话持续时间内经历多次切换,则每次切换后MAG均需要向锚点更新MN的当前位置信息,即与LMA交互绑定更新(proxy binding update, PBU)和绑定更新确认(proxy binding acknowledgement, PBA)消息.如图 1所示,在位于MAR0的MN移动进入MAR1, MAR2, …的辖区过程中,MARi (i=1, 2, …)则依次充当该会话的MAG并向MAR0更新MN的位置,其切换信令以及时序如图 2所示,而这恰恰是锚点固定的移动性管理协议的切换操作,因此对于给定的会话,分布式移动性管理仍存在切换时延长和路由欠优问题. 图 1 分布式移动性管理切换过程 Fig. 1 The handoff process of DMM 图 2 分布式移动性管理的信令交互 Fig. 2 The signaling exchange of DMM 1.2 应用双层指针的分布式移动性管理 双层指针由“低层指针”和“高层指针”构成.低层指针指发生切换时在相邻的MAR间建立隧道传播数据代替向LMA注册的方式切换;当低层指针达到阈值后在LMA和当前MAR间建立的指向关系称为“高层指针”.建立低层指针的原因是,MN移动时只会从一个MAR管辖的区域移动到相邻MAR管辖的区域,而相邻MAR间的距离要比当前MAR到锚点MAR0的距离小得多.因此,采用在MAR间建立指向关系的方式进行切换的时延要短于向LMA注册的方式.与之对应,高层指针的目的是优化路由.随着低层指针长度的增加,数据包沿着低层指针链传播的时延越来越长,此时需要采用向LMA注册的方式来优化路由.但随着向LMA注册次数的增多,此方法优化路由的作用有限.因此直接向与之通信的对端节点(correspondent node,CN)发送绑定更新消息,使当前MAR成为该会话的新锚点,从而最大程度优化数据包的传播路径.事实上,高层指针的阈值即允许向LMA注册的方法优化路由的最大次数,达到该阈值后,则向CN注册,MN所在的MAR则成为该会话的新锚点,从而实现锚点的动态更换.如图 3所示,当MN移动到MAR1和MAR2时,首先在MAR间建立称为“低层指针”的指针链;当MN与MAR3关联时,低层指针达到了设定的阈值K1(K1=3),此时MAR3直接向MN的锚点MAR0发起绑定更新过程,并建立从MAR0指向它自己的指针,即高层指针;这个过程一直持续到MN与MARi关联时,高层指针达到了设定的阈值K2,为了优化路由路径,此时MARi不是向锚点MAR0,而是直接向与之通信的节点CN发送绑定更新消息.这样CN发送给MN的数据包可以直接发送给MARi,而MARi成为MN的新锚点,即实现锚点的动态更换.单层指针曾被用来降低MN空闲时的切换代价[13],采用双层指针策略能获得比单层指针推进策略更短的切换时延[14]. 图 3 应用双层指针的分布式移动性管理切换过程 Fig. 3 The handoff process of DMM applying two-level pointers 为了清楚地表述利用双层指针的分布式移动性管理方案,假设MN存储2个变量Low_PF和High_PF,分别表示低层指针和高层指针的长度,两者对应的阈值分别为K1和K2,初始值都为0.每当MN移动到新的MAR管辖区域,即发生切换时,其执行逻辑为: 步骤1    若Low_PF<K1且High_PF<K2,在MAR间建立低层指针,信令交互如图 4所示.将Low_PF增加1. 图 4 MAR指针链构建的信令交互 Fig. 4 The signaling exchange of MAR chain 步骤2    若Low_PF≥K1且High_PF<K2,当前MAR向锚点MAR0发送绑定更新消息,建立从锚点指向当前MAR的指针,实现优化路由的目的.信令交互过程与图 2类似.将High_PF增加1并将Low_PF置零. 步骤3    若步骤1、2均未执行,则MAR向与MN通信的对端节点CN发送绑定更新消息,当前MAR成为该会话的新锚点,实现动态更换锚点和进一步路由优化.将High_PF和Low_PF都置零. 步骤4    结束. 当MAR向与MN通信的对端节点发送要求建立直接通信的消息时,若考虑安全因素,应采取类似MIPv6中的“路由可达”(return routability)验证过程[1]. 2 性能分析 2.1 数值分析 以切换时延为指标分析本文方案和已有方案的性能. 假设MN连接到MARi时向LMA更新MN位置信息的方式切换的时延为Δ(i),在MAR间建立指向关系更新MN位置的时延为δ.假设MARi向CN建立直接通信的时延为δ′,且δ′=θ2Δ(i),θ2>1.MN在会话持续时间内穿越的MAR区域的数学期望(即均值)记为M.已有方案每次均采用向LMA注册的方式切换,因此其总切换时延为: $ {D_1} = \sum\limits_{i = 1}^M {\Delta \left( i \right)} . $ (1) 本方案,MN移动M次,则需要M-$\left[ {\frac{M}{{{K_1}}}} \right]$次建立MAR间的指针链,其中$\left[ {\frac{M}{{{K_1}}}} \right]$为地板函数;$\left[ {\frac{M}{{{K_1}{K_2}}}} \right]$次向CN发起建立直接通信(为会话更换新锚点);向LMA更新MN的位置信息的时延由两部分构成:高层指针已经达到阈值的部分,则每次高层指针达到阈值(向CN发起建立直接通信)表明已经K2-1次向LMA更新MN的位置信息;高层指针尚未达到阈值部分,则$\mathit{\Gamma} = \left[ {\frac{M}{{{K_1}}}} \right] -\left[ {\frac{M}{{{K_1}{K_2}}}} \right]{K_2}$次向LMA更新MN的位置信息.因此,本文方案的总切换时延可表示为: $ \begin{array}{l} {D_2} = \left( {M - \left[ {\frac{M}{{{K_1}}}} \right]} \right)\delta - \left[ {\frac{M}{{{K_1}{K_2}}}} \right]{\theta _2}\Delta \left( {i{K_1}{K_2}} \right) + \\ \;\;\;\;\;\;\;\;\left[ {\frac{M}{{{K_1}{K_2}}}} \right]\sum\limits_{i = 1}^{{K_2} - 1} {\Delta \left( {i{K_1}} \right)} + \sum\limits_{i = 1}^\mathit{\Gamma} {\Delta \left( {i{K_1}} \right)} . \end{array} $ (2) 假设MN在每个MAR管辖区域逗留时间服从爱尔兰分布(Erlang distribution),其概率密度函数$f\left(x \right) = \frac{{{\beta ^\alpha }}}{{\left({\alpha -1} \right)!}}{x^{\alpha -1}}{{\rm{e}}^{ -\beta x}}$, x≥0,其中α为正整数;会话持续时间服从参数为λ的指数分布(即会话服从泊松分布).则MN在会话持续时间内穿越M个MAG管辖区域的概率为[15]: $ p\left( i \right) = \left\{ \begin{array}{l} \frac{\beta }{{\lambda \alpha }}{\left( {1 - {z^\alpha }} \right)^2}{z^{i\alpha - \alpha }},{\rm{ }}i = 1,2, \ldots ,\\ 1 + \frac{\beta }{{\lambda \alpha }}\left( {{z^\alpha } - 1} \right),{\rm{ }}i = 0, \end{array} \right. $ (3) 其中$z = \frac{\beta }{{\beta + \lambda }}$.根据数学期望的定义,可以得到MN在一段会话时间内穿越MAR区域的个数为 $ M = \sum\limits_{i = 0}^\infty {ip\left( i \right)} . $ (4) 接下来推导Δ(i)的表达式.注意到MAR1向LMA切换的时延为δ,而MAR2经MAR1向LMA切换的时延为2δ,故MAR2直接向LMA切换的时延应小于2δ,设为θ12δ,其中θ1<1;MAR3向LMA切换的时延应小于MAR2向LMA切换的时延与MAR3向MAR2切换的时延之和θ12δ+δ,因此可表示为θ1(θ12δ+δ),以此类推,可将Δ(i)表示为 $ \begin{array}{l} \Delta \left( i \right) = \delta \theta _1^{i - 1} + \delta \sum\limits_{j = 1}^{i - 1} {\theta _1^j} = \\ \;\;\;\;\;\;\;\;\;\delta \left( {\theta _1^{i - 1} + \frac{{{\theta _{1}}(1 - \theta _1^{i - 1})}}{{1 - {\theta _{1}}}}} \right). \end{array} $ (5) 由式(3) 和(4) 可知: $ \begin{array}{*{20}{l}} {\left[ {\frac{M}{{{K_1}}}} \right] = \left[ {\frac{{\sum\limits_{i = 0}^\infty {p\left( i \right)} }}{{{K_1}}}} \right] = \sum\limits_0^\infty {\sum\limits_{w = 0}^{K - 1} {p\left( {i{K_1} + w} \right)} } = }\\ {\;\;\;\;\;\;\;\;\;\;\sum\limits_0^\infty {\sum\limits_{w = 0}^{{K_1} - 1} {i\frac{\beta }{{\lambda \alpha }}{{(1 - {z^\alpha })}^2}{z^{\left( {i{K_1} + w} \right)\alpha - \alpha }}} } = }\\ {\;\;\;\;\;\;\;\;\;\frac{\beta }{{\lambda \alpha }}(1 - {z^\alpha }){z^{ - \alpha }}(1 - {z^{K\alpha }})\sum\limits_{i = 0}^\infty {i{z^{i{K_1}\alpha }}} = }\\ {\;\;\;\;\;\;\;\;\;\frac{{\beta (1 - {z^\alpha }){z^{{K_1}\alpha }}}}{{\lambda \alpha {z^\alpha }(1 - {z^{{K_1}\alpha }})}}.} \end{array} $ (6) 类似可得:$\left[ {\frac{M}{{{K_1}{K_2}}}} \right] = \frac{{\beta (1 - {z^\alpha }){z^{{K_1}{K_2}\alpha }}}}{{\lambda \alpha {z^\alpha }(1 - {z^{{K_1}{K_2}\alpha }})}}$,而$\sum\limits_{i = 0}^\infty {ip\left(i \right)} = \sum\limits_{i=0}^\infty {i\frac{\beta }{{\lambda \alpha }}{{(1 -{z^\alpha })}^2}{z^{i\alpha -\alpha }}} = \frac{\beta }{{\lambda \alpha }}$,将上述结果代入式(1) 和(2) 并整理可得: $ {D_{1}} = \delta \sum\limits_{i = 1}^{\frac{\beta }{{\lambda \alpha }}} {\left( {\theta _1^{i - 1} + \frac{{{\theta _1}\left( {1 - \theta _1^{i - 1}} \right)}}{{1 - {\theta _1}}}} \right)} , $ (7) $ \begin{array}{l} {D_{2}} = \left( {\frac{\beta }{{\lambda \alpha }} - yu} \right)\delta + \delta yv\sum\limits_{i = 1}^{{K_2} - 1} {\left( {{\theta _1}^{i{K_1} - 1} + \frac{{{\theta _1}(1 - {\theta _1}^{i{K_1} - 1})}}{{1 - {\theta _1}}}} \right)} + \\ \;\;\;\;\;\;\;\;\delta \sum\limits_{i = 1}^{yu - {K_{2}}yv} {\left( {{\theta _1}^{i{K_1} - 1} + \frac{{{\theta _1}(1 - {\theta _1}^{i{K_1} - 1})}}{{1 - {\theta _1}}}} \right)} + \\ \;\;\;\;\;\;\;\;\delta {\theta _{2}}yv\left( {{\theta _1}^{{K_1}{K_2}{\rm{ }} - 1} + \frac{{{\theta _{1}}(1 - {\theta _{1}}^{{K_1}{K_2}{\rm{ }} - 1})}}{{1 - {\theta _1}}}} \right), \end{array} $ (8) 其中, $y = \frac{\beta }{{\lambda \alpha }}(1 -{z^\alpha }){z^{ -\alpha }}$,$z = \frac{\beta }{{\beta + \lambda }}$,$u = \frac{{{z^{{K_1}\alpha }}}}{{1 -{z^{{K_1}\alpha }}}}$,$v = \frac{{{z^{{K_1}{K_2}\alpha }}}}{{1 -{z^{{K_1}{K_2}\alpha }}}}$. 为了对比已有方案和本方案的切换时延,定义时延比率为 $ \eta = \frac{{{D_1}}}{{{D_2}}}. $ (9) 显然,当η>1时表明本方案在切换时延方面优于已有方案. 接下来分析参数SMR、θ1及θ2对η的影响.会话到达率(λ)与MN移动率(β/α)的比值定义为会话与移动比率(session to mobility ratio, SMR)[14],记为SMR=λα/β.由式(7) 可知,MN的平均移动次数M近似为SMR的倒数.图 5(a)给出了SMR对η的影响,可知随着SMR的增大η减小,说明当MN移动频繁,即SMR较小时,与已有方案相比,本方案在时延方面优势更明显.由图 5(b)可知,随着θ1的增大,即向LMA注册的代价增大,η呈增大趋势,即所提方案在时延方面优于已有方案.由图 5(c)可知,随着θ2增大,即MN向CN注册的代价增大,η呈减小趋势,说明以向CN注册的方式进行路由优化代价增大时,MN直接与CN通信对路由优化的作用有限,从而导致本文方案的优势逐渐不明显. 图 5 各参数对η的影响图 Fig. 5 The influence of each parameter on η 此外,由图 5可知,K1和K2对η的影响与K1×K2的值有关,随着K1×K2值的增大,即随着总体指针链长度增大,η增大. 2.2 仿真实验 为了验证数值分析结果的正确性,对所提方案和已有方案进行了仿真.在仿真中,令SMR=0.01, 0.02, …, 0.1; β=10; α=3; θ1=0.6, 0.65, 0.7, 0.75, …, 0.95; θ2=2, 3, …, 6; K1=2, 3, …, 8; K2=2, 3, …, 8;与数值分析时各变量的取值相同.模拟了100 000次MN移动和100 000个会话到达,MN的逗留时间使用爱尔兰分布模拟,会话的持续时间使用指数分布模拟.在给定SMR的前提下,统计MN在一个会话内穿越MAR区域N(N=1,2,…)次的概率.统计时,若SMR较小,即MN移动频繁,则只统计MN完成第100 000次移动时实际产生的会话个数;若SMR较大,即会话到达频繁,则只统计第100 000次会话到达时,MN的实际移动次数.在此基础上,对比2种方案的性能.仿真的平均结果如图 6所示,可以看出SMR、θ1和θ2对η的影响与图 5中数值分析结果的趋势相同,即仿真结果验证了数值分析结果的正确性. 图 6 仿真验证各参数对η的影响图 Fig. 6 The influence of each parameter on η in simulation experiment 3 结论 在会话持续时间内MN经历多次切换时,已有的分布式移动性管理方案仍然存在切换时延长和路由欠优的问题.本文设计的应用双层指针的分布式移动性管理方案,采用定期向LMA(K1达到阈值时)和CN(K2达到阈值时)注册的方式优化路由和动态更换锚点; 利用两类指针分别解决了时延和路由问题.数值分析和仿真结果均表明,在MN移动频繁或向LMA注册代价较大或向CN注册代价较小时,本方案可以获得较短的切换时延,且随着K1×K2值的增大,本方案在切换时延方面的优势愈加明显.

    栏目分类