NDN 网络中节点移动问题研究*

2023-06-01 08:07周京伟
科技与创新 2023年10期
关键词:生产者路由器数据包

周 蓉,周京伟

(1.泰山学院附属中学,山东 泰安 271000;2.泰山学院网络与教育技术中心,山东 泰安 271000)

随着移动互联和物联网技术的不断发展,越来越多的移动智能设备接入到互联网中,尤其是5G 网络和自媒体、短视频的发展,使得互联网中传输的数据规模呈爆炸式增长,音视频在互联网中的比例越来越高。同时,由于接入设备更多是手机、平板等移动设备,设备的移动性越来越高,基于传输两端位置的TCP/IP网络体系结构在移动管理方面存在的缺陷愈加明显。为了解决移动问题,Mobile IP 等各种附加协议不断涌现,然而体系结构设计上的缺陷使得协议越来越臃肿,通信效率越来越低。

在传统的TCP/IP 网络体系中,网络中两个主机的通信首先需要知道对方的位置即IP,在此基础上进行数据交换,网络中最重要的是通信的对象是谁。在当今网络中,我们更大的需求是从网络中获取想要的信息,重点是信息本身,而不是信息的所有者是谁。因此,人们对网络的需求已经与互联网建立之初有了天翻地覆的差别,要适应这种需求,只能建立一种新的网络模型[1]。命名数据网络正是在这种背景下产生的,它将内容本身看作网络中的主导实体,最为符合当前及未来网络的发展趋势,成为国内外研究的热点。

1 NDN 网络概述

传统的TCP/IP 采用分层模型,层与层之间相对独立,下层为上层提供服务,各层的协议和标准数量差别很大,最底层的物理层和最高层的应用层协议多,而中间的网络层协议少,形成沙漏结构。其中最重要的是沙漏“细腰”部分的网络层,不同通信媒介实现的针对不同业务的通信最终都要靠网络层来实现。

NDN 架构保留了传统的TCP/IP 网络的沙漏模型及分层思想,但是对最重要的“细腰”部分进行了颠覆性的改进,不再使用基于位置IP 协议作为网络通信的基础,而是采用基于内容的方式,把数据内容作为通信的基础。网络中所有的数据都有一个唯一的名称,根据数据的名称完成路由转发,从而建立一个新型架构网络。在这样的通信模式下,通信双方不再关心内容数据的存储位置,只关心内容本身。沙漏模型如图1所示。

图1 沙漏模型

NDN 中网络中的参与者可以分为生产者、消费者两类角色,传输过程中用到的数据包只有兴趣包和数据包2 种。

数据的内容以名字作为标识,数据包缓存在网络中的节点即路由器上,当消费者需要获取某内容的数据时,首先生成带有数据名字的兴趣包,发给离自己最近的节点,节点根据路由表在网络中转发,直到在某个节点路由器发现该数据的缓存,此时,节点将数据包沿着兴趣包的反向路径返回给最初的内容请求者,即消费者[2]。数据包的结构如图2 所示。

图2 兴趣包和数据包结构图

与传统IP 网络不同,NDN 网络的中间节点即路由器有3 个功能:一是缓存,通过内容缓存(Content Store,CS)模块实现;二是兴趣包来源记录,使用待定兴趣包表(Pending Interest Table,PIT)模块实现;三是路由转发,通过转发信息表(Forwarding Information Base,FIB)来实现[3]。

基本工作过程如下:路由器收到兴趣包后,首先检查自己的缓存是否有符合要求的数据包,如果有就直接返回,如果没有响应数据包则查看待定兴趣表PIT。如果PIT 中已有该请求,则在PIT 上增加转来兴趣包的接口;如果PIT 中没有该请求,则根据转发信息表的转发策略增加一条转发条目。当路由器收到数据包后,首先检查PIT 中的转发条目,找到响应的请求后,根据转发条目中记录的端口号回应请求兴趣包,删掉PIT 中对应的请求条目,同时根据缓存策略决定是否删除缓存的数据包或者保留数据包[4]。

在信息中心网络的研究课题中,主要聚焦以下几个方面:①路由问题。解决如何实现在查询相关内容的文件时路由器有高效的路由的问题。②缓存问题。解决如何在节点路由器中缓存数据和替换缓存数据的问题,使消费者更快地找到数据。③移动性问题。解决在信息中心网络架构中生产者或者消费者发生位置移动时路由和缓存如何能高效发生动态变化达到变化的问题,按照变化之前的算法重新计算变化之后的路由和缓存。当然,对于信息中心网络的研究还有命名机制、安全性、绿色节能策略等,本文主要介绍NDN网络的移动性问题。

2 NDN 网络的移动性问题

2.1 问题描述

在NDN 网络中,一次通信的发起是由消费者提出请求开始的,当消费者提出请求后又发生了位置移动,那么数据包返回的时候会出现超时,此时只要消费者再次提出请求,那么数据就可以成功转发到消费者。一般情况下根据节点缓存机制,附近的路由器往往会保存数据包的缓存,这样,消费者再次发起请求的时候,请求很可能在附近的路由器处获得回应,而不必要到原始数据包所在路由器[5]。因此,NDN 网络天生对消费者移动具有良好的适应性。

而如果发生移动的是生产者,则情况大有不同,对于消费者来说,并不能提前获得生产者已经发生了位置移动的信息,所以在发出内容请求时,请求仍会按照原路径进行转发,直到消费者收到请求超时的消息。生产者位置发生变化后,会接入到新的节点,此时整个网络的路由将会发生改变。在改变过程中,消费者无法从生产者处获取内容,如何解决快速路由问题成为生产者移动问题的关键。

2.2 内容生产者移动问题研究现状

针对内容生产者移动的问题,目前的研究主要有基于隧道的方法、类DNS 方法和自适应的方法。

基于隧道的方法:该方法的原理是当生产者发生移动时,在原节点路由器和新节点路由器之间建立一条隧道,转发到源路由器的请求经过包装后转发到新路由器,从而完成路由[6]。

基于隧道的方法如图3 所示,生产者移动前,消费者发出的请求兴趣包通过R5 转发到R4,最后到R1获取到需要的数据,数据返回的方向与兴趣包转发的方向正好相反。生产者从R1 移动到R2 后,R1 和R2之间通过某种算法建立隧道,兴趣包转发到R1 后会根据隧道协议自动转发到R2,在R2 处得到数据包后,数据包从R2 返回到R1,然后转发到R4,最后到R5。这种方式中,隧道的建立需要生产者移动结束后完成,整个路由信息的重新建立也需要在隧道建立后完成。

图3 基于隧道的方法

类DNS 方法:类DNS 转发方法类似于传统网络,在网络中增加一个类似于DNS 服务器的服务单元,该服务单元需要记录数据包内容和节点位置的对应关系。当节点位置发生变化时,会根据节点中记录的DNS服务器的地址向DNS 汇报,DNS 作为位置内容关系对应的权威向请求内容的节点提供数据所在节点的位置信息。采用这种方法,一旦DNS 服务器发生故障,则整个网络将陷入瘫痪[7]。

自适应的方法:这种方法利用仿生学、BP 神经网络等自适应算法,让网络中的节点服务器自动判断网络结构变化,从而确定数据的位置。这种算法往往需要消耗较大的算力和较长的时间,对整体网络的效率会有较大的影响。

3 改进的隧道方法

3.1 改进思路

上文隧道算法中,生产者移动后,新的路由需要在生产者到达新的节点一段时间后才能完成,生产者移动的过程可能跨越2 个节点,也可能连续跨越多个节点。如需要连续跨越多个节点,那么可能会存在消费者到达新位置后,路由刚刚建立或尚未建立,生产者又发生了新的移动,造成消费者始终无法获得正确的路由,只有在跨越多个节点停止移动路由稳定后才能正常进行数据传输。

为解决生产者快速连续移动问题,假设消费者请求到达节点前生产者刚刚发生移动,则生产者所在原节点可立即向相邻的节点转发请求,由于生产者刚刚产生移动,则原节点转发的请求大概率会被其邻居节点响应,如不能响应可以继续向邻居节点的下一级节点转发请求,直到发现移动中的生产者或者生产者移动完成后形成稳定的路由。

3.2 改进算法过程概述

改进的基于隧道的方法如图4 所示。

图4 改进的基于隧道的方法

改进前,生产者原位置注册在R1,现在由R1 移动到了R2,按照上文中提到的算法,生产者移动到R2 后,R2 会通过广播方式寻找生产者之前的位置节点路由器R1,找到R1 后在R1 和R2 之间建立隧道,然后数据包从R1 转发到R2。

改进后的算法为:数据包离开R1 位置后,兴趣包到达R1 发生超时,此时知道R1 已经发生了位置移动,此时R1 将请求信息转发到它的邻居节点R2 和R6,若恰好此时节点刚刚抵达R2,则R2 对兴趣包进行回应,可节省R2 和R1 之间建立隧道的时间。最优的情况发生在生产者到达R2 后,继续移动到R1 的另一个邻居节点R6。此时,如按照原文中的算法,R2 在与R1 建立隧道的过程中,节点已经到达了R6,兴趣包到达R1 后被转往R2,发现R2 处仍超时,则等待R6 的回应,后继续建立隧道。而按照改进的方法,R1 把兴趣包直接转发到了邻居节点R6,对于消费者来说,并不需要知道R2 的存在。

3.3 改进算法效率测算

假设R1 向其邻居节点发送数据包需要的时间为t,此算法最低效率的情况为生产者已在新位置处R2注册,R1 和R2 正在建立隧道期间,则此时节约的时间为R2 和R1 建立隧道需要的最后一个数据包的时间t。此算法效率最高的情况为生产者连续移动多个位置,最后到达R1 的邻居节点R6,此时兴趣包的转发时间为t,而最后一段隧道尚未建立,则节省最后一段隧道的建立时间,根据参考文献[7]的计算方法,隧道建立时间最少约为4t。另外,通过隧道转发时需要将兴趣包转发到每一个隧道中的节点,而改进的方法则只需要将兴趣包直接转发到邻居路由器,所以最优的情况可能节约的时间更高。以此推算,该算法提高的时间80%的概率下应该在1t~4t之间,小概率下也可能会小于1t或大于4t,需要进一步通过模拟器计算。

4 结束语

本文简述了数据中心网络,NDN 网络的发展背景、基本原理,并对NDN 网络的移动性问题尤其是生产者移动问题进行了较为深入的分析,发现现有算法存在一些需要解决的问题。基于隧道的方法需要在整个移动过程结束之后才能重建路由,实现正常传输,类DNS方法则容易受到单点故障的影响。基于仿生学、BP 神经算法等自适应的方法则存在算法复杂、效率低的问题。在此基础上,本文对基于隧道的方法进行了一些改进,在此基础上预期可以提高整体传输效率。

猜你喜欢
生产者路由器数据包
买千兆路由器看接口参数
1月巴西生产者价格指数上涨3.92%
路由器每天都要关
2019德国IF设计大奖
SmartSniff
无线路由器的保养方法
家禽福利的未来:生产者能期待什么?
一场大风带给生产者的思考
视觉注意的数据包优先级排序策略研究
无线路由器辐射可忽略