APP下载

CCN路由保护的研究与实现

2021-02-26李涛丁杰张晨张钰雯

中国新通信 2021年22期

李涛 丁杰 张晨 张钰雯

【摘要】    CCN网络在数据内容回复过程中依据兴趣包生成的PIT表项进行转发,但是在设备长期运行过程中,节点的故障不可避免,在不重要的节点故障尚可以忍受,但是在核心节点上的故障,必然导致CCN网络大面积瘫痪,因此需要针对该节点进行网络保护;同时CCN网络存在多设备的升级或者多设备的掉线,通过简单的节点保护并不能解决该问题,需要对整个链路进行端到端的保护;本文基于SDN场景下研究并实现了一种针对CCN网络单设备故障的节点保护和针对多设备升级的链路保护机制。基于节点保护完成对于CCN关键核心设备的主备备份和保护,基于链路保护完成对于CCN网络关键核心路径的主备备份和保护。

【关键词】    路由保护    节点保护    链路保护    路由切换

引言:

互联网业务的蓬勃发展,用户关心的重心从信息的存储位置转向信息本身,施乐公司的帕洛阿托研究中心(PARC)的Van Jacobson等提出的内容中心网络简称CCN,成为备受关注的焦点[1-4]。CCN的核心思想是采用以信息命名的方式取代传统以IP地址为中心的网络通信模型,从而方便用户进行内容搜索和内容获取,实现从以IP地址为中心的转发向以内容为中心的转发的演进[5-6]。

CCN采用命名路由,通过路由器来缓存内容网络体系结构,能够使数据传输更快,并能提高内容的检索效率。其重要的数据结构分别是转发信息库FIB、待定兴趣表PIT和内容缓存库CS。FIB记录当前节点到达内容提供节点的下一跳接口,相当于IP网中的FIB,是转发兴趣包的依据;PIT用于记录已经转发但未响应兴趣包的内容名及其来源接口,目的是使相应的数据包能够准确到达请求者。CS用于保存路由节点的缓存内容,类似于IP路由器中的缓存,但采用了不同于IP的缓存替换策略,路由器会定期更新CS缓存的信息,对于热点请求的数据路由器进行持续的缓存,而对于超时的数据路由器则将其从缓存中删除[7]。

对于传统的CCN网络,当客户端请求者请求内容时,首先广播兴趣包,兴趣包到达路由节点后,执行以下步骤:

1.路由器根据兴趣包中的内容名,查询CS,如果CS中包含所请求的数据包,则直接向兴趣包的来源接口返回数据包的副本,并丢弃这个已经被满足的兴趣包;

2.否则在PIT中继续查询,如果PIT中有该内容名条目,则说明之前已经收到过相同的兴趣包且已经转发,但是没有获得返回结果,需要把该兴趣包的来源接口接入PIT对应的接口列表中,同时将该兴趣包丢弃。当对应数据包返回时,根据接口列表向对应接口回复数据的副本,并将该数据包存储在CS中以满足未来潜在的请求;

3.如果CS和PIT中都没有结果,则查找FIB,如果在FIB中发现有对应内容名条目,则说明该节点第一次收到该兴趣包,这时根据FIB的接口列表(不包含兴趣包进来的接口)转发该兴趣包,并在PIT中增加新的条目;

4.如果在CS、PIT和FIB三个结构中都没有结果,则说明不存在相关的匹配路由,该节点无法处理这个兴趣包,于是将其丢弃或者泛洪。

路由器对于数据包的处理则相对简单,当数据包到达路由节点时,根据数据包的内容名字段,先在CS中查找。如果CS中存在,则丢弃该数据包;如果CS中没有,则在PIT中查找。如果PIT中存在对应条目,将数据转发给该PIT匹配条目的所有接口,并缓存该内容到CS中;如果PIT中没有匹配条目,则丢弃该数据包。

上述现有CCN技术缺少容错场景下的处理:

1.接口故障导致内容报文丢失:在CCN中,数据内容是按照PIT路由的请求入接口转发。但是如果PIT请求入接口在转发过程中发生了设备故障导致接口掉线,必然引起数据包在沿途的丢失,特别是数据包到达靠近用户侧的情况下,整个网络资源已经基本传输完成,但是无法有效送达,需要等待协议路由的重新收敛后,用户再次发送兴趣路由,必然带来用户体验问题。

2.无法不断流在线升级:现有的CCN网络是基于无保护链路通道进行的设计,因此整个CCN设备无法在线不断流升级,升级过程中需要SDN/FIB的重新收敛后,用户重新发起PIT请求来完成路由收敛后的二次请求。

针对如上缺点研究了CCN路由的节点、链路的保护机制,针对FIB路由根据用户的需求情况,根据网络规划部署在SDN上配置CCN的链路保护或者节点保护,然后在PIT请求中,基于PIT的请求通道,在链路保护的情况下建立PIT的主路径和备选路径,在节点保护的情况下建立节点保护路径,然后下发PIT请求表主备接口,主请求接口作为数据包转发的接口,在主请求接口故障后,备请求接口快速切换到主请求接口,实现数据流量的不丢包和在线不断流升级。

一、CCN路由保护机制研究与实现

1.1模块设计

如图1所示,传统CCN设备包括路由管理模块和CCN转发模块,其中CCN路由管理模块负责CCN的PIT路由、FIB路由、CS路由的管理,CCN轉发模块负责根据CCN路由管理模块下发的路由进行CCN兴趣包转发和数据内容的回复。因此基于CCN传统路由设计,设计了路由切换模块,位于CCN路由管理模块和CCN转发模块之间,其基本功能为存储PIT备份路由,感知转发链路故障后快速切换备份路由实现转发不丢包,然后异步通知CCN路由管理模块触发路由的收敛;基本步骤如下:

第一,CCN设备感知邻居节点故障,告知CCN路由切换模块;CCN路由切换模块快速将提前存好的备用PIT路由下发至CCN转发模块,保证实时设备数据转发的不断流传输。

第二,CCN设备将路径异常信息告知CCN路由管理模块,CCN路由管理模块完成新的主备路由的计算和整合,然后将新的主备PIT路由下发给CCN路由切换模块;

第三,CCN路由管理模块如果查找不到新的主备PIT路由,就将最新的节点故障上报控制器,触发控制器的重新FIB路由收敛,然后将主备PIT路由下发至CCN路由管理模块。

1.2节点保护

节点保护即为对整个CCN网络某台核心设备节点的网络保护。如图2所示,假设网管认为CCN路由器2需要节点保护,网管会将配置下发至SDN控制器,SDN控制器根据链路拓扑情况,查找拓扑中CCN路由器2的前一个路由器CCN路由器1和最优下一跳CCN路由器3;下发FIB主路由和备用路由给CCN路由器1,路由形式如下,

兴趣路由生成过程:SDN形成针对Prefix的主备路由,对于PIT请求来说,需要按照主备路由进行请求,沿途生成如图2所示的PIT路由表,其中CCN1-CCN2-CCN3主路由正常下发CCN路由器的转发面,CCN1-CCN4-CCN3备用路由不形成转发路由,而是放在CCN设备的新开发的路由切换模块中;对于CCN3设备来说,其形成的请求接口有两个,分别是Requesting Faces和Requesting Back Faces,控制器告知5號接口为备用接口,CCN3路由器就将该接口对应的PIT路由存储在路由切换模块中。

节点保护过程:CCN路由器2发生故障,CCN路由器3感知到4号邻居接口Down掉,然后告知本设备的路由切换模块,路由切换模块触发快速PIT路由切换,将PIT请求路由的请求接口切换到5号接口,同时删除已经Down掉的4号接口,将新的PIT路由表下发转发面,使得整个转发不断流;然后路由切换模块通过路由管理模块告知SDN控制器设备异常情况,触发路由的慢收敛,随后数据流量通过CCN3路由器的5号接口接入CCN路由器4,正式进入备用路径,在备用路径路由器4由流量激活路由切换模块快速下发PIT转发路由,最后路由切换模块告知SDN链路切换情况,控制器综合计算后,新的主备路由会重新下发至路由切换模块,等待下一次故障的再次快速切换保护。

1.3链路保护

链路保护即为对某条端到端的网络路径进行保护的功能。因此在网络部署规划中进行保护链路的部署。如图3所示,以用户到服务器端到端通信为例,CCN1---CCN2---CCN3为主路径,CCN4---CCN5为备选路径。其沿途形成的PIT路由表、FIB路由表与正常路由表一样。与主路径PIT和FIB路由表下发转发面不同的是,在备选路径上PIT和FIB路由表存储在新开发的路由切换模块不下发至转发面。链路保护各个设备形成的主备路由表、兴趣路由表与节点保护章节类似,不再详细描述。现在重点研究链路保护的功能。假设用户向服务器发起Prefix资源请求,数据在回复过程中会发生了多设备的升级,链路保护过程如下:

假设CCN1路由器、CCN2路由器、CCN3路由器同时断电升级;其将设备断电信息上报SDN控制器后然后断电升级;

SDN控制器出发现主链路断链,需要将流量往备用链路进行切换,通过计算发现CCN4---CCN5为用户到服务器Prefix资源的备用路径,即下发切换指令给CCN4和CCN5;

CCN4、CCN5路由切换模块接收到切换指令后,触发路由的切换,将存储在路由切换模块中的PIT路由表下发至转发面;

服务器数据包回复过程中,因为CCN3路由器断电,由交换机等设备自动切换到CCN5路由器上,按照已经下发的PIT新的路由转发即可;

升级完成后,CCN1路由器、CCN2路由器、CCN3路由器通告SDN控制器设备状态,触发SDN控制器重新算路;

SDN控制器在CCN1、CCN2、CCN3路由器上根据需求重新建立PIT路由表,同步将CCN4、CCN5的PIT转发路由删除,CCN4、CCN5将相应的PIT路由存储在路由切换模块中,从而完成了升级过程中端到端链路流量不断流。

二、结束语

本文根据CCN设备运行过程中可能出现的异常场景进行了总结,针对设备单节点故障、接口故障等场景提出了节点保护机制,针对整个链路故障、链路多设备升级等场景提出了链路保护机制。针对节点保护机制和链路保护机制在CCN设备的路由管理模块和转发模块之间设计了路由切换模块,该模块用来存储备份PIT路由和备份FIB路由,在设备或者链路故障后由路由切换模块快速将备份路由下发至路由转发模块,从而保证数据转发的不断流,提高了CCN的容错性,提升了用户体验,实现节点保护和链路保护的功能。

参  考  文  献

[1] ZHANG L,ESTRIN D, BURKE J. Named data networking (ndn) project[R]. Technical Report NDN-0001, 2010.

[2] CHOI J,HAN J,CHO E ,et al. A survey on content-oriented networking for efficient content delivery[J]. IEEE Communications Magazine, 2011, 3(49): 121-127.

[3] JACOBSON V, SMETTERS D K, THORNTON J D, et al. Networking named content[C]//ACM CoNEXT ’09. 2009: 1-12.

[4] Ahlgren B,Dannewitz C,Imbrenda C,et al.A survey of information-centric networking[J].Communications Magazine,IEEE,2012,50(7):26-36.

[5] 陈震,曹军威,尹浩.内容中心网络体系架构[M].北京:清华大学 出版社,2014:13-45.

[6] syrivelis D,Parisis G,Trossen D,et al.Pursuing a software defined inforrnation-centric network[C]//Proc of European workshop on Software Defined Networking.Washington DC:IEEE Computer Society,2012:103-108.

[7] 谢人超 黄韬 徐京薇 刘江 刘韵洁. 一种兴趣包转发方

法及装置:中国,CN105704032B[P].2016-6-22.

[8] 李涛 张晨 黄韬. 基于CCN网络的路由保护方法,路由器及互联网[P].专利国别:中国.专利号:202110374904.发布日期:2021.05.14

基金项目:2019 年工业互联网创新发展工程《分布式标识解析方法研究项目》

李涛(1983-),男,汉族,江苏连云港,硕士研究生,中级职称,研究方向:CCN网络、工业互联网、服务定制网络等;

丁杰(1986-),男,汉族,安徽合肥,硕士研究生,中级职称,研究方向:CCN网络、工业互联网、服务定制网络等;

张晨(1992-),男,汉族,辽宁锦州,博士研究生,中级职称,研究方向:CCN网络、服务定制网络等;

张钰雯(1988-),女,汉族,河北廊坊,硕士研究生,中级职称,研究方向:CCN网络、工业互联网标识、区块链等。