命名数据网络中Sub/Pub模式仿真实验研究

2018-12-29 00:52何柳婷
关键词:拓扑图路由器路由

侯 睿,何柳婷 ,李 薇,张 嫣

(中南民族大学 计算机科学学院,武汉 430074)

随着互联网数据业务量爆炸式的增长,目前基于主机地址的资源寻址方式已经在向基于数据信息本身的资源共享方式转变.信息中心网络ICN(Information-centric Networking)以数据信息内容作为转发和路由的依据,已成为未来互联网的关键体系架构并受到世界各国的高度关注[1].命名数据网络NDN(Named Data Networking)作为ICN典型的解决方案之一,具有分组耦合路由等特点,目前已从内容查找、缓存优化、网络安全等方面进行了广泛研究[2-4].目前NDN路由研究主要集中于借助智能算法给出优化路径方面.

为了更实际地掌握NDN路由技术,本文在Linux环境下,利用Mini-ndn平台设计并实现了NDN中基于分级命名的多场景数据路由仿真实验,为NDN试验床的架设提供了参考.

1 NDN数据命名和转发

NDN采用类似URL的层次化结构来命名特定数据内容,采用符号“/”对名字进行层次划分[5,6],如google/icn/ndn.层次化结构既可以降低规范命名的工作量,也便于根据数据内容进行路由聚合以减轻网络负荷,还能够满足移动性要求[7,8].

在NDN中,内容请求者(Subscriber)首先向NDN网络发送interest包请求所需数据内容,interest包中含有所需数据内容的名字.NDN路由器收到interest包后,通过查询内容存储CS(Content Storage),查找转发数据库FIB(Forwarding Interest Base),记录转发待定表PIT(Pending Interest Table)等操作,将此interest包发送至内容发布者(Publisher).Publisher生成响应的data包,并将数据内容存于其中,沿原路将此data包回送至Subscriber,完成数据信息交互路由过程.具体请求响应过程如图1所示.

图1 Interest包请求和data包响应示意图Fig.1 Schematic diagram of interest packets′ request and data packets′ response

2 NDN仿真实验

为了对NDN基于层次化结构名称的路由过程进行更切合实际的研究,本文利用Mini-ndn仿真平台对NDN路由进行了仿真实验[9],结合仿真结果给出interest包在NDN中进行路由和转发的机理,以及最优路径的选取.

2.1 一对一通信仿真实验

建立图2所示NDN网络拓扑,设定S1和P1分别为Subscriber和Publisher,R1-R3为NDN路由器并分别配置了相应的名称前缀ndn/,ndn/p1-site和ndn/p1-site/p1.

图2 一对一通信NDN实验拓扑图Fig.2 NDN network topology for point-to-point communication experiment

建立各NDN路由器中的FIB表,由于影响网络传输速率的因素主要有带宽、时延和丢包,所以不失一般性,设置如表1所示的一对一通信NDN具体初始化配置.

表1 一对一通信NDN初始拓扑配置情况Tab.1 Point-to-point communication initial topology configuration of NDN

在P1中开启名为ndnpingserver的进程,同时在其FIB表设置一个名为/ndn/p1-site/p1的网络前缀表项.之后,主机S1发送前缀为/ndn/p1-site/p1的interest请求包,因为在P1上开启了相应的ndnping服务器,所以能对S1进行响应.在本次实验中,设定主机S1分别发送1个和5个interest包,P1对所有的interest包皆进行了data响应,实验结果显示能够ping通,实验结果如图3所示.

图3 一对一通信实验中节点P1对S1的interest包响应情况Fig.3 Node P1 responds to the interest packet of S1 in point-to-point communication experiment

实验中,修改interest包从Subscriber到Publisher的时延为100 ms,丢包率为20%,带宽不变.设定主机S1分别发送1个和5个interest包,节点P1对S1的interest包进行响应,得到实验结果如图4所示,不难看出随着丢包率、时延的增加,网络传输性能明显下降.

图4 修改配置后P1对S1发送的interest包进行响应Fig.4 Response of P1 to the interest packet of S1 after changing the configuration

由于修改此实验参数对本文中的4个实验具有类似的结果,所以本文只针对一对一通信仿真实验对参数进行修改和说明,其余实验在此不作详细说明.

实验中设定P1的FIB表中前缀为/ndn/p1-site/p1,此时让S1发送5个前缀为/ndn/p1-site/s的interest包,实验结果显示不能ping通,见图5.

2.2 一对多通信仿真实验

建立图6所示NDN网络拓扑,为每个NDN路由器配置不同网络前缀.图6中,S1为Subscriber,P1、P2和P3为Publisher,R1-R5为NDN路由器.

图6 一对多通信NDN实验拓扑图Fig.6 NDN network topology for point-to-multipoint communication experiment

初始化各NDN路由器中的FIB表,设置一对多通信NDN具体初始化配置如表2所示.

表2 一对多通信NDN初始拓扑配置情况

Tab.2 Point-to-multipoint communication initial topology configuration of NDN

连接时延/ms带宽/(Mb/s)(S1,P1)(S1,P2)(S1,P3)10100

分别在P1、P2、P3中开启ndnpingserver进程,并在P1、P2和P3的FIB中分别设置名为/ndn/p1-site/p1、/ndn/p2-site/p2和/ndn/p3-site/p3的网络前缀表项.之后,在P1、P2和P3上分别开启ndnping服务器,使Publisher能对Subscriber所发出的interest包进行data响应.本实验中,让Subscriber同时发送30个interest包,分别含有名字前缀/ndn/p1-site/p1、/ndn/p2-site/p2和/ndn/p3-site/p3,P1、P2、P3对收到的interest包分别进行data响应,实验结果显示能够ping通,分别如图7、图8和图9所示.

图7 一对多通信实验中P1对S1的interest包进行响应Fig.7 P1 responds to the interest packet of S1 in point-to- multipoint communication experiment

图8 一对多通信实验中P2对S1的interest包进行响应Fig.8 P2 responds to the interest packet of S1 in point-to- multipoint communication experiment

图9 一对多通信实验中P3对S1的interest包进行响应Fig.9 P3 responds to the interest packet of S1 in point-to- multipoint communication experiment

2.3 多对一通信仿真实验

建立图10所示NDN网络拓扑,为每个NDN路由器配置不同网络前缀.图10中,S1、S2和S3为Subscriber,P1为Publisher,R1-R3为NDN路由器.

其次,初始化各NDN路由器中的FIB表,设置多对一通信NDN具体初始化配置如表3所示.

图10 多对一通信NDN实验拓扑图 Fig.10 NDN network topology for multipoint-to-point communication experiment

连接时延/ms带宽/(Mb/s)(S1,P1)(S2,P1)(S3,P1)10100

在P1中开启ndnpingserver进程,实验中,节点P1的FIB中设置名为/ndn/p1-site/p1的网络前缀表项.在节点S1、S2、S3上分别发送前缀为/ndn/p1-site/p1的interest包.之后,在P1中开启ndnping服务器,使Publisher能对Subscriber所发出的interest包进行data响应.本实验中,3个Subscriber分别对P1发送了1个含有名字前缀/ndn/p1-site/p1 的interest包,P1对收到的interest包分别进行了data响应,实验结果显示能够ping通,如图11所示.

图11 多对一通信实验中节点P1对S1,S2,S3的interest包进行响应Fig.11 Node P1 responds to the interest packet of S1,S2,S3 in multipoint-to-point communication experiment

2.4 多对多通信仿真实验

建立图12所示NDN网络拓扑,其中S1和S2为Subscriber,P1,P2,P3为Publisher,R1-R3为NDN路由器.

初始化R1-R3中的FIB表,设置多对多NDN具体初始化配置如表4所示.

图12 多对多通信NDN实验拓扑图 Fig.12 NDN network topology for multipoint-to-multipoint communication experiment

连接时延/ms带宽/(Mb/s)(S1,P1)(S1,P2)(S1,P3)10100(S2,P1)(S2,P2)(S2,P3)10100

分别在P1、P2、P3中开启ndnpingserver进程并在其FIB中设置名为/ndn/p1-site/p1的网络前缀,同时分别开启ndnping服务器,使Publisher能对Subscriber所发出的interest包进行data响应.实验中,S1对3个Publisher分别发送10个含有名字前缀/ndn/p1-site/p1的interest包,3个Publisher对收到的interest包分别进行了data响应,实验结果显示能够ping通,并且S1对P1、P2、P3发送数据的接收时间分别为233.326,232.924,233.142 ms,如图13、图14、图15所示.

图13 多对多通信实验中P1对请求方S1的interest包进行响应Fig.13 P1 responds to the interest packet of S1 in multipoint-to- multipoint communication experiment

同样,节点S2分别对P1,P2,P3发送前缀为/ndn/p1-site/p1的interest请求.之后,在P1,P2,P3上分别开启ndnping服务器,使Publisher能对Subscriber所发出的interest包进行data响应.本实验中,让S2对3个Publisher分别发送10个含有名字前缀/ndn/p1-site/p1的interest包,3个Publisher对收到的interest包分别进行了data响应,实验结果显示能够ping通,并且S2对P1,P2,P3发送数据的接收时间分别为234.999,230.124,229.016 ms.

图14 多对多通信实验中P2对请求方S1的interest包进行响应Fig.14 P2 responds to the interest packet of S1 in multipoint-to-multipoint communication experiment

图15 多对多通信实验中P3对请求方S1的interest包进行响应Fig.15 P3 responds to the interest packet of S1 in multipoint-to-multipoint communication experiment

3 结论

NDN作为ICN中最具代表性的解决方案之一,被认为在下一代互联网体系结构的研究中最具可行性.本文通过对NDN网络多种情形下的路由方式进行了系统性仿真实验,对NDN中的Subscriber/Publisher交互过程、结构化数据命名规则、interest包在NDN路由器中的CS查找、PIT处理和FIB转发等过程,以及data包响应过程有了更直观的认识.结果表明:在路径相同的情况下,相同Subscriber对不同Publisher的数据接收时延也不尽相同,今后可在统计分析的基础上,获取时延统计特性以选取最佳路径.

猜你喜欢
拓扑图路由器路由
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
基于含圈非连通图优美性的拓扑图密码
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
空管自动化测试系统的实现和作用
校园网络规划设计