为了解决内容中心网络(CCN)中内容源移动问题以及减少移动切换开销,提出了一种CCN分布式移动性管理(D-CCN)方案,通过对信令和数据的分布式管理,避免了集中式管理的冗余信息交互.性能分析结果表明,所提出的两种D-CCN机制可以有效减少切换开销,提高网络性能.
To resolve the problem of content source mobility and decrease the mobility overhead in content-centric networking(CCN), this paper proposes a distributed mobility management in CCN(D-CCN), which includes two schemes such as partially D-CCN and fully D-CCN. This distributed mobility management can avoid the redundancy of messages exchanged, which incurred from the centralized mobility management. In terms of performance analysis, the D-CCN can decrease the handoff overhead and improve the network performance compared with the existing schemes.
内容中心网络(CCN, content-centric networking)作为一种新型的互联网架构,因其请求者触发的通信模式,CCN固有地支持请求者的移动性[1].然而,当内容源移动时,内容名字要根据拓扑位置的变化而动态变化,如何维护路由表收敛则成为一个巨大的挑战[2].现有基于集中式的移动性管理方案[3-6]因引入大量的控制开销和数据流量,影响了移动节点的切换性能.笔者提出的CCN分布式移动性管理(D-CCN, distributed mobility management in CCN)方案设计了映射服务器(MS, mapping server)和位置绑定列表(LBL, location binding list),将位置更新与数据传输分离,减轻了集中式管理服务器的负担;同时,数据传输选择最优路径而不必经由集中式管理服务器,节省了大量的数据传输开销.
1 D-CCN的两种机制D-CCN包括部分分布式移动性管理(PD-CCN, partially D-CCN)机制和完全分布式移动性管理(FD-CCN, fully D-CCN)机制,下面分别描述这两种机制下的切换流程.
PD-CCN机制将位置更新和数据传输分离,同时在网络中部署一个MS来管理移动节点(MN, mobile node)的位置信息.网络中的内容路由器(CR, content router)负责传输切换中的数据包,图 1所示为PD-CCN机制的切换流程.
MN接入到CR1,携带有名字为“/d-ccn/file.doc”的内容,根据CR1通告所在域前缀“/CR1”重新生成内容名字为“/CR1/d-ccn/file.doc”.CR1通过位置更新(LU, location update)消息将MN的位置和内容名字信息发送给MS,MS在本地LBL中为MN创建一个位置和内容名字之间的绑定缓存条目.当MN从CR1移动到CR2时,根据CR2通告的域前缀“/CR2”重新生成内容名字为“/CR2/d-ccn/file.doc”.CR2发送LU消息给MS,同时MS在LBL中记录MN的LU信息.若此时通信对端(CN, correspondent node)发送请求消息给MN,则CR3发送LU消息到MS以查找MN的位置信息(假设CN已同CR3建立了连接).MS查找本地的LBL,并将MN的当前位置信息通过位置确认(LA, location acknowledgement)消息回复给CR3.CR3在获得MN的位置信息后,通过隧道技术将请求消息直接转发到CR2并最终将请求消息路由到MN.
在FD-CCN机制中,所有CR地位均等,共同负责LU和数据转发.切换执行之后,CN的CR广播位置请求(LR, location request)消息到域内的所有CRs.仅MN当前锚定的CR向CN回复LA消息.FD-CCN机制的切换流程如图 2所示.
MN携带名字为“/d-ccn/file.doc”的内容接入到CR1,CR1在LBL中创建MN的位置绑定信息,MN根据CR1通告的域前缀重新生成内容名字为“/CR1/d-ccn/file.doc”.当MN从CR1移动到CR2时,CR2在其本地LBL中记录MN的位置和内容名字之间的绑定信息,此时MN根据CR2通告的域前缀“/CR2”重新生成内容名字为“/CR2/d-ccn/file.doc”.当CR1发现MN已离开后,将MN的条目从本地LBL中删除.切换过程中,若CN仍同MN进行通信,CR3将通过广播的方式发送LR消息到域内所有的CRs,此时仅与MN连接的CR2回复LA消息给CR3,网络中其他CRs则忽略该广播消息.请求消息由CR3经过隧道传输到CR2并最终路由到MN.
2 性能分析采用经典的流体移动模型[7]来分析D-CCN方案的切换开销,假设MN的移动方向服从(0, 2π)的均匀分布,令λs表示MN在给定域范围内穿越的子网数量,则λs可以表示为
$ {{\lambda }_{\text{s}}}=\left\lfloor \frac{2{{V}_{\text{m}}}}{\sqrt{\text{ }\!\!\pi\!\!\text{ }A}} \right\rfloor $ | (1) |
其中:Vm为MN的平均移动速度;A为子网面积,且在给定域内,所有子网面积相同,均为圆形,构成连续区域,子网间切换即接入路由器(AR, access router)间切换.文中出现的参数、定义及参考值如图 3所示,部分分析参数来自于文献[8].
为了比较PD-CCN和FD-CCN与现有移动性管理机制的性能,在流体移动模型下还原了现有CCN移动性管理机制,并从切换开销方面将两种机制同现有机制进行比较,总切换开销(CTOTAL)包括LU开销(CLU)和数据传输开销(CDT).假设现有机制中的第三方服务器在功能上同所提出的分布式移动性机制的MS是相同的,MN的AR同分布式移动性机制的CR在功能上相同,通用的信令交互示意图如图 3所示,图中注明了文中出现的符号及其定义和参考值.
1)代理服务器机制
在基于代理服务器(PS, proxy server)机制[3]中,PS代替MN收发数据包并管理MN的新旧接入位置信息.在PS机制中,PS在切换过程中的总开销为CTOTAL=CLU-PS+CDT-PS.其中CLU-PS由初始LU开销
$ {{C}_{\text{LU-PS}}}=C_{\text{LU-PS}}^{\text{initial}}+{{\lambda }_{\text{s}}}C_{\text{LU-PS}}^{\text{initial}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-PS}}^{\text{initial}} $ | (2) |
当MN接入AR时,需要同AR建立连接,获得IP地址或者所在域前缀以重新生成内容名字,将连接过程所消耗的开销记为Cc.MN在获得IP地址后,通过LU消息向PS注册,PS存储MN的位置信息并更新本地数据库,这个过程消耗的单位开销为CMN-AR+CAR-AR+CPS-AR+CPS.其中CPS为PS的LU处理开销,其正比于域内活跃的移动节点总数.当MN移动时需要向PS发送切换请求消息,该过程消耗的单位开销为CMN-AR+CAR-AR+CPS-AR.则式(2)中的单位初始LU开销为
$ \begin{matrix} {{C}_{\text{LU-PS}}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-PS}}^{\text{initial}}=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+2\left({{C}_{\text{MN-AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{PS}-\text{AR}}} \right)+{{C}_{\text{PS}}} \right)=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+2{{S}_{\text{s}}}\left(\varphi {{H}_{\text{MN-AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{PS}-\text{AR}}} \right)+\right.\\ \left.\delta \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\right)\\ \end{matrix} $ | (3) |
当CN发送数据给MN时,所有数据包都要经过PS,待PS从本地数据库查找到MN的位置信息后,将数据包发往MN,则数据传输开销为
$ \begin{matrix} {{C}_{\text{DT-PS}}}={{S}_{\text{d}}}\left({{C}_{\text{CN-AR}}}+{{C}_{\text{MN}-\text{AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{PS}-\text{AR}}} \right)+{{C}_{\text{PS}}}=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-AR}}}+\varphi {{H}_{\text{MN}-\text{AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{PS}-\text{AR}}} \right)+\\ \mu \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\\ \end{matrix} $ | (4) |
2)间接点机制
基于PS机制的分析,间接点机制[4]在切换过程中的总开销为CTOTAL=CLU-HR+CDT-HR.MN初始接入网络时,获得所在域的源前缀生成内容名字,并向家乡存储器(HR, home repository)通告源前缀与目标前缀的绑定关系,该过程产生的单位初始绑定更新开销为
$ \begin{matrix} {{C}_{\text{LU-HR}}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-HR}}^{\text{initial}}=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+{{C}_{\text{MN-AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{HR}-\text{AR}}}+{{C}_{\text{HR}}} \right)=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+{{S}_{\text{s}}}\left(\varphi {{H}_{\text{MN-AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{HR}-\text{AR}}} \right)+\right.\\ \left.\delta \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\right)\\ \end{matrix} $ | (5) |
当CN同MN通信时,数据传输过程消耗的传输开销为
$ \begin{matrix} {{C}_{\text{DT-HR}}}=\\ {{S}_{\text{d}}}\left({{C}_{\text{CN-AR}}}+{{C}_{\text{MN}-\text{AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{HR}-\text{AR}}} \right)+{{C}_{\text{HR}}}=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-AR}}}+\varphi {{H}_{\text{MN}-\text{AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{HR}-\text{AR}}} \right)+\\ \mu \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\\ \end{matrix} $ | (6) |
3)域名系统机制
在域名系统(DNS, domain name system)机制[5]中,DNS需根据MN的位置信息创建“转发引导”条目存储在本地缓存中,并在MN移动后更新“转发引导”条目.因此,其单位初始绑定更新开销为
$ \begin{matrix} {{C}_{\text{DNS}}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-DNS}}^{\text{initial}}=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+{{C}_{\text{MN-AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{DNS}-\text{AR}}}+{{C}_{\text{DNS}}} \right)=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+{{S}_{\text{s}}}\left(\varphi {{H}_{\text{MN-AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{DNS}-\text{AR}}} \right)+\right.\\ \left.\delta \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\right)\\ \end{matrix} $ | (7) |
DNS机制的数据传输开销由两部分组成:LR开销
$ \begin{matrix} C_{\text{DT-DNS}}^{\text{LQ}}=2{{S}_{\text{s}}}\left({{C}_{\text{CN-AR}}}+{{C}_{\text{AR}-\text{AR}}}+{{C}_{\text{DNS}-\text{AR}}} \right)+{{C}_{\text{DNS}}}=\\ 2{{S}_{\text{s}}}\left(\varphi {{H}_{\text{CN-AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}}+\gamma {{H}_{\text{DNS}-\text{AR}}} \right)+\\ \mu \left({{N}_{\text{AR}}}{{N}_{\text{MN}}} \right)\\ \end{matrix} $ | (8) |
$ \begin{matrix} C_{\text{DT-DNS}}^{\text{DF}}={{S}_{\text{d}}}\left({{C}_{\text{CN-AR}}}+{{C}_{\text{MN}-\text{AR}}}+{{C}_{\text{AR}-\text{AR}}} \right)=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-AR}}}+\gamma {{H}_{\text{MN}-\text{AR}}}+\gamma {{H}_{\text{AR}-\text{AR}}} \right)\\ \end{matrix} $ | (9) |
4)隧道重定向机制
隧道重定向机制[6]是通过家乡域CR和移动域CR间建立的隧道来重定向请求消息.在隧道重定向机制中,单位初始绑定更新开销为
$ \begin{matrix} {{C}_{\text{LU-TBR}}}=C_{\text{LU-TBR}}^{\text{initial}}{{\lambda }_{\text{s}}}\left(C_{\text{LU-TBR}}^{\text{update}} \right)=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{c}}+{{C}_{\text{TBR}}} \right)+\left(1+2{{\lambda }_{\text{s}}} \right){{C}_{\text{MN-CR}}}+2{{\lambda }_{\text{s}}}{{C}_{\text{CR-CR}}}=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+\delta \left({{N}_{\text{CR}}}{{N}_{\text{MN}}} \right)\right)+\left(1+2{{\lambda }_{\text{s}}} \right)\left({{S}_{\text{s}}}\varphi {{H}_{\text{MN-CR}}} \right)+\\ 2{{\lambda }_{\text{s}}}\left({{S}_{\text{s}}}\gamma {{H}_{\text{CR}-C\text{R}}} \right)\\ \end{matrix} $ | (10) |
在数据传输过程中,家乡域CR查找MN的“试验前缀”并用其封装原始数据包,该过程的数据传输开销为
$ \begin{matrix} {{C}_{\text{DT-TBR}}}={{S}_{\text{d}}}\left({{C}_{\text{CN-CR}}}+{{C}_{\text{MN}-\text{AR}}}+2{{C}_{\text{CR-CR}}} \right)+{{C}_{\text{TBR}}}=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-CR}}}+\varphi {{H}_{\text{MN}-C\text{R}}}+2\gamma {{H}_{\text{CR-CR}}} \right)+\mu \left({{N}_{\text{CR}}}{{N}_{\text{MN}}} \right)\\ \end{matrix} $ | (11) |
5)PD-CCN机制
PD-CCN机制中,当MN接入网络时,同CR建立连接并获得所在域前缀生成内容名字,并向MS通告内容名字与接入位置的绑定关系.当MN执行切换后,需要向MS通告当前的接入位置已更新绑定关系,则MN的单位初始LU开销为
$ \begin{matrix} {{C}_{\text{LU-PDCCN}}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-PDCCN}}^{\text{initial}}=\\ \left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+{{S}_{\text{s}}}{{\gamma }_{\text{MS-CR}}}+\delta \left({{N}_{\text{CR}}}{{N}_{\text{MN}}} \right)\right)\\ \end{matrix} $ | (12) |
当CN向MN发送数据时,CR代替CN向MS发送LR以获得MN的位置,CR在获得MN的位置后,直接将数据包发往MN.该过程的LR开销和数据转发开销如式(13)和式(14)所示.
$ \begin{matrix} C_{\text{DT-PDCCN}}^{\text{LQ}}=2{{S}_{\text{s}}}{{C}_{\text{MS-CR}}}+{{C}_{\text{CR}}}=\\ 2{{S}_{\text{s}}}\gamma {{H}_{\text{MS-CR}}}+\mu \left({{N}_{\text{CR}}}{{N}_{\text{MN}}} \right)\\ \end{matrix} $ | (13) |
$ \begin{matrix} C_{\text{DT-PDCCN}}^{\text{DF}}=2{{S}_{\text{d}}}\left({{C}_{\text{CN-CR}}}+{{C}_{\text{MN}-\text{AR}}}+{{C}_{\text{CR-CR}}} \right)=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-CR}}}+\varphi {{H}_{\text{MN}-C\text{R}}}+\gamma {{H}_{\text{CR-CR}}} \right)\\ \end{matrix} $ | (14) |
6)FD-CCN机制
在FD-CCN机制中,MN接入到网络,同CR建立连接并获得所在域前缀生成内容名字.与PD-CCN机制不同的是,在FD-CCN机制中由MN所接入的CR负责管理MN的位置绑定关系,并向MS通告内容名字与接入位置的绑定关系.MN的单位初始LU开销为
$ {{C}_{\text{LU-FDCCN}}}=\left(1+{{\lambda }_{\text{s}}} \right)C_{\text{LU-PDCCN}}^{\text{initial}}=\left(1+{{\lambda }_{\text{s}}} \right)\left({{C}_{\text{c}}}+\delta {{N}_{\text{MN}}} \right) $ | (15) |
当CN向MN发送数据时,CR代替CN向域内所有CRs发送LR消息,仅与MN连接的CR查找本地LBL,并回复LA消息以通告MN所在位置,其他CR则自动丢弃该消息.CN的CR获得MN的位置后,直接将数据包发往MN.该过程的LU开销和数据转发开销如式(16)和(17)所示.
$ \begin{matrix} C_{\text{DT-PDCCN}}^{\text{LQ}}={{N}_{\text{CR}}}{{S}_{\text{s}}}{{C}_{\text{CR-CR}}}+{{C}_{\text{CR}}}=\\ {{N}_{\text{CR}}}{{S}_{\text{s}}}\gamma {{H}_{\text{CR-CR}}}+\mu {{N}_{\text{MN}}} \\ \end{matrix} $ | (16) |
$ \begin{matrix} C_{\text{DT-PDCCN}}^{\text{DF}}={{S}_{\text{d}}}\left({{C}_{\text{CN-CR}}}+{{C}_{\text{MN}-\text{AR}}}+{{C}_{\text{CR-CR}}} \right)=\\ {{S}_{\text{d}}}\left(\varphi {{H}_{\text{CN-CR}}}+\varphi {{H}_{\text{MN}-C\text{R}}}+\gamma {{H}_{\text{CR-CR}}} \right)\\ \end{matrix} $ | (17) |
3切换开销影响因素分析
本节对切换开销的影响因素进行分析,主要评价了(无线/有线)链路传输开销、数据更新和查找开销、网络实体间跳数以及节点移动速度对切换开销的影响,分析结果如图 4所示.
图 4(a)和图 4(b)所示为链路单位传输开销对切换总开销的影响,从图中可以看出,总开销随着单位传输开销的增加而线性增加.图 4(a)为无线链路传输开销对总开销的影响,通过比较看出PD-CCN和FD-CCN机制要优于现有机制,这是由于在分布式移动性管理机制中,MN锚定的CR代替MN执行LU和查找,无须MN直接进行交互,节省了无线链路资源.图 4(b)为有线链路传输开销对总开销的影响,PD-CCN和FD-CCN体现了较好的性能,其中以FD-CCN性能为最佳;并且集中式和分布式移动性机制在γ增加时性能相差较大,这是由于分布式移动性机制将LU与数据转发分离,使得数据转发路径最优化,有效减小了由于迂回路径带来的传输开销.
图 4(c)和图 4(d)所示为位置管理服务器(如PS、HR、DNS、MS、CR)的数据更新和查找对总开销的影响.数据更新开销体现在MN侧,当MN接入时,需要向位置管理服务器注册位置信息;当MN移动时,需要向位置管理服务器更新位置信息.数据查找开销体现在CN侧,当CN与MN通信时,需要向位置管理服务器请求MN当前的位置,位置管理服务器经过查找将MN的位置信息告知CN以传输数据.
由图 4(c)和图 4(d)可以看出,分布式移动性管理机制在数据更新/查找开销方面优于其他机制.这是由于分布式移动性机制减少了LU/查找信令报文递交数量,特别是FD-CCN机制随δ和μ的变化较小,具有一定的稳定性;同时FD-CCN由CR负责位置管理,而每个CR仅负责本域内的MN,极大减小了MN切换过程中产生的LU消息和查找消息.
图 4(e)和图 4(f)所示为网络实体间的距离对总开销的影响.由图 4(5)可以看出,当ARs(或CRs)间跳数较小时,FD-CCN机制性能要略优于其他机制;当ARs(CRs)间跳数较大时,FD-CCN机制消耗开销较大,这是由于FD-CCN采用广播方式获取内容源的位置信息,LU开销占总开销的比例较大.而PD-CCN机制在跳数较大时消耗最小,这是由于分布式移动性的LU和数据传输分离,数据传输无需经过位置管理服务器而减小了数据传输开销.
图 4(f)所示为位置管理服务器与AR(或CR)间距离对总开销的影响.从图中可以看出,随着位置管理服务器与AR(CR)间跳数的增加,对于FD-CCN和TBR机制的总开销无影响,其原因是由于在FD-CCN和TBR机制中,LU管理是由MN所锚定的AR(或CR)负责的,无须单独部署位置管理服务器,整体上缩短了信令和数据传输路径,从而减小了总开销.
图 4(g)所示为MN的移动速度对总切换开销的影响,由图可以看出总切换开销随着MN速度的增加而线性增加.MN在低速移动的情况下,各类机制在性能上相差不大.但是在MN高速移动或频繁切换的情况下,分布式移动性机制要优于其他机制,并且FD-CCN体现了较好的性能,且具有较高的稳定性.
4 结束语笔者提出了一种D-CCN方案,该方案设计了PD-CCN及FD-CCN两种机制.分布式管理方案将LU和数据传输功能分离,解决了集中式方案中位置管理服务器负担过大的问题,同时避免了单故障节点造成的通信中断.通过与现有机制进行比较分析,D-CCN在LU开销和数据传输开销方面体现了较好的性能,特别是FD-CCN机制,在网络环境改变的情况下,具有较强的稳定性.
[1] | Abdullahi I, Arif S, Hassan S. Survey on caching approaches in information centric networking[J]. Journal of Network and Computer Application , 2015, 56 (2015) :48–59. |
[2] | Youngin B, Jaehoon K, Myeong-Wuk J, et al. CCN naming scheme for scalable routing and incremental deployment[C]//Proceedings of 2014 IEEE International Conference on Consumer Electronics(ICCE). Las Vegas:IEEE, 2014:422-423. |
[3] | Lee J, Kim D, Jang M, et al. Proxy-based mobility management scheme in mobile content centric networking environment[C]//Proceedings of 2011 IEEE International Conference on Consumer Electronics(ICCE). Las Vegas:IEEE, 2011:595-596. |
[4] | Hermans F, Ngai E, Gunningberg P. Mobile sources in an information-centric network with hierarchical names:an indirection approach[C]//Proceedings of the ACM SIGCOMM 2011 Workshop on Information-Centric Networking(ICN). Sweden:ACM, 2011:1-6. |
[5] | Zhenkai Z, Afanasyev A, Lixia Z. A new perspective on mobility support[EB/OL]. 2013. http://named-data.net/techreports.html. |
[6] | Lee J, Cho S, Kim D. Device mobility management in content-centric networking[J]. IEEE Communication Magine , 2012, 50 (2012) :28–34. |
[7] | Baumann F V, Niemegeers I G. An evaluation of location management procedures[C]//Proceedings of the 3rd Annual International Conference on Universal Personal Communications. San Diego:IEEE, 1994:359-364. |
[8] | Choi Y H, Chung T M. Using correspondent information for route optimization scheme on proxy mobile IPv6[J]. Journal of Networks , 2010, 5 (8) :984–989. |