CN106059921B - 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 - Google Patents
一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 Download PDFInfo
- Publication number
- CN106059921B CN106059921B CN201610305047.8A CN201610305047A CN106059921B CN 106059921 B CN106059921 B CN 106059921B CN 201610305047 A CN201610305047 A CN 201610305047A CN 106059921 B CN106059921 B CN 106059921B
- Authority
- CN
- China
- Prior art keywords
- content
- router
- content router
- node
- pof
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN技术和CCN框架的网络层的内容路由系及其工作方式,其特征是包括:一个POF控制器和n个内容路由器;POF控制器包括:链路发现模块和拓扑管理模块;内容路由器为运行POFSwitch转发进程和POF‑CCN路由进程的服务器。本发明在系统网络层去除内容名与其位置的硬耦合关系,从而能依据内容名直接路由到内容源,实现网络层的内容获取功能。
Description
技术领域
本发明属于未来网络技术领域,具体的说是一种融合SDN(软件定义网络)和CCN(内容中心网络)的网络层的内容路由系统及其工作方式。
背景技术
伴随着经济、科技快速发展,互联网技术在近几十年发生着日新月异的变化,其中一个主要表现是互联网流量在类型和规模上呈现出爆炸式的增长,以IP协议为核心的传统互联网逐渐暴露出在应对高效传输多媒体内容时的种种弊端,而未来网络就是一类为解决传统互联网的在内容分发和传输上的不足而提出的理论,当前未来网络主要有两种体系架构设想,一种是信息中心网络(Information-Centric Networking,ICN),是对多类网络架构的统称,设想以内容名字代替IP成为网络运行的核心;另一种是软件定义网络(Software-Defined Networking,SDN),提倡在硬件方面将底层网络设备的功能尽量做到简单标准化,把复杂的功能在控制平面上用软件定义的方式来实现。
ICN中最具代表性的网络架构是施乐帕克研究中心(PARC)提出的内容中心网络(Content-Centric Networking,CCN),其核心是通过内容名字而不是主机IP地址进行路由以获取内容,主要新颖的设计理念体现在对同一内容的多源请求可以在节点中被PIT表聚合、内容的数据响应可在全网缓存空间中基于一定的策略被缓存并记录在CS表中,并提供内容响应服务。然而由于现有底层网络设备不支持直接的内容路由,ICN/CCN网络实现和应用方面的研究成果较少。与ICN/CCN相比,SDN的发展则更顺利一些,当前除了多个高等院校还有多家企业如Google、思科、VMWare、华为等加入SDN研究中,Google已经成功使用SDN技术提高了数据中心的性能。
但是由于当前网络设备只支持IP协议,限制未来网络发展的瓶颈,由华为提出的协议无感知转发(Protocol-Oblivious Forwarding,POF)技术突破了这个瓶颈。POF网络设备可以支持上层的任意自定义协议,特别是可以支持网络层的非IP协议。这一重要特性不仅解决了未来网络的瓶颈问题,也使SDN与CCN架构的融合成为了可能。SDN的集中控制能力可以弥补CCN在管控全局方面的不足,CCN的分布式路由则可以弥补SDN在可靠性和扩展性方面的不足。
已有一些SDN与CCN融合的研究,如J Suh等提出基于openflow实现的C-flow系统,以及Hyunwoo L等提出的ICN-OMF系统,但思路基本都是在控制器上集中规划内容路由的路径,控制器需要预先知道所有内容的具体位置,因此并不是真正的内容路由,而且存在单点失效和性能瓶颈问题。
发明内容
本发明为克服现有技术存在的不足之处,提供出一种基于SDN技术和CCN框架的网络层的内容路由系统及其工作方式,以期能在系统网络层去除内容名与其位置的硬耦合关系,从而能依据内容名直接路由到内容源,实现网络层的内容获取功能。
为了达到上述目的,本发明所采用的技术方案为:
本发明一种基于SDN技术和CCN框架的网络层的内容路由系统,是用于为m个用户提供内容发布、内容请求和内容响应服务,其特点是,所述内容路由系统包括:一个POF控制器和n个内容路由器;所述n个内容路由器依据约束规则1连接成树状拓扑结构,并通过以太网进行通信;所述m个用户分别连接相应的内容路由器;
定义所述n个内容路由器中任意第i个内容路由器为第i个发送者,与第i个发送者相连的其他内容路由器作为第i个发送者的接收者;所述n个内容路由器分别与POF控制器的TCP6633端口连接,并通过POF协议进行通信;
所述POF控制器包括:链路发现模块和拓扑管理模块;
所述内容路由器为运行POFSwitch转发进程和POF-CCN路由进程的服务器;所述POF-CCN路由进程包含CS缓存表、PIT请求记录表、FIB路由表;
所述POF控制器利用TCP6633端口监听所述n个内容路由器;
所述n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时依据约束规则2指定当前内容路由器节点标识;
所述POF控制器分别向所述n个内容路由器下发流表,并利用链路发现模块向所述n个内容路由器下发LLDP链路发现消息;
所述n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
所述第i个发送者根据自身第i个流表将所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
所述相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息并上传至所述POF控制器;
所述POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
所述拓扑管理模块根据n个内容路由器的节点标识和链路信息计算得到n个内容路由器各自的FIB路由表,并分别下发给所述n个内容路由器的POF-CCN路由进程;从而完成所述内容路由系统的初始化;
任意第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容发布,相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在所述CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;
任意第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容请求,相应第j个用户的内容路由器查询所述CS缓存表是否存在所请求内容的表项;若存在,则从所述本地缓存中取出相应的内容并返回给第j个用户;若不存在,则在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发,并在PIT请求记录表中新建相应的表项;
任意第i个内容路由器向所述内容路由系统提出内容响应,第i个内容路由器查询所述CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据所述PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
本发明一种基于SDN技术和CCN框架的网络层的内容路由系统的工作方式的特点是:所述内容路由系统包括:一个POF控制器和n个内容路由器;所述n个内容路由器依据约束规则1连接成树状拓扑结构,并通过以太网进行通信;所述n个内容路由器中分别包含CS缓存表、PIT请求记录表、FIB路由表;m个用户分别连接相应的内容路由器并向所述内容路由系统发布内容、请求内容和响应内容;
定义所述n个内容路由器中任意第i个内容路由器为第i个发送者,与第i个发送者相连的其他内容路由器作为第i个发送者的接收者;所述n个内容路由器分别与POF控制器的TCP6633端口连接,并通过POF协议进行通信;
所述工作方式是按如下步骤进行:
步骤1、所述POF控制器利用TCP6633端口监听所述n个内容路由器;
步骤2、所述n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时依据约束规则2指定当前内容路由器节点标识;
步骤3、所述POF控制器分别向所述n个内容路由器下发流表,并利用链路发现模块向所述n个内容路由器下发LLDP链路发现消息;
步骤4、所述n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
步骤5、所述第i个发送者在所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
步骤6、所述相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息并上传至所述POF控制器;
步骤7、所述POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
步骤8、所述拓扑管理模块根据n个内容路由器的节点标识和链路信息计算得到n个内容路由器各自的FIB路由表,并分别下发给所述n个内容路由器的POF-CCN路由进程;从而完成所述内容路由系统的初始化;
步骤9、当第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容发布时;
步骤10、相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在所述CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;
步骤11、当第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容请求时;
步骤12、相应第j个用户的内容路由器查询所述CS缓存表是否存在所请求内容的表项;若存在,则从所述本地缓存中取出相应的内容并返回给第j个用户;若不存在,则执行步骤13;
步骤13、相应第j个用户的内容路由器在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发至所请求内容的后继节点,并在PIT请求记录表中新建相应的表项;
步骤14、当任意第i个内容路由器向所述内容路由系统提出内容响应时,第i个内容路由器查询所述CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则执行步骤15;
步骤15、则第i个内容路由器在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据所述PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
本发明所述的工作方式的特点也在于,定义n个内容路由器组成的树状拓扑结构,总共具有k层,2≤k≤n;任意第i个内容路由器有第i个节点标识;
所述约束规则1为:
所述树状拓扑具有1个网络层、k-2个中间层和1个叶节点层,网络层中的内容路由器构成连同图,中间层的内容路由器有且仅有一个位于网络层的父节点、且有相同父节点的内容路由器构成连通图,叶节点层的内容路由器有且仅有一个位于中间层的父节点、但互不连接;
所述约束规则2为:
第i个节点标识根据树状拓扑结构的层数被划分成多段,其中第1段表示网络层标识、第k段表示叶节点层标识、其余表示中间层标识;网络层任意节点有互不相同的网络层标识、全零的中间层标识、全零的叶节点层标识;中间层任意节点有自身父节点一致的网络层标识、与自身任意兄弟节点互补相同的中间层标识、全零的叶节点层标识;叶节点任意节点有与自身父节点一致的网络层标识、与自身父节点一致的中间层标识、与自身任意兄弟节点互不相同的叶节点标识。
与已有技术相比,本发明的有益效果体现在:
1、本发明系统包括了基于Floodlight开发的POF控制器和基于POF软交换机开发的内容路由器,利用POF控制器的集中管控能力和内容节点的分布式路由能力,使得内容路由器具备CCN框架提出的流处理和缓存功能,在系统网络层实现内容名与其位置不再具有硬耦合关系、可依据内容名直接路由到内容源从而获取内容,其意义在于本系统在提高内容传输效率、减轻通信链路负荷方面具有优势。
2、本发明中向每个内容路由器下发流表和LLDP链路发现消息,通过计算从每个内容路由器的相邻内容路由器得到的修正后的LLDP链路发现消息,掌握了全网链路状态信息,内容路由器的动态变化将通过POF控制器更快速的反馈到受影响的内容路由器,从而避免了系统中部分内容路由器失效时因消息慢扩散带来的弊端;
3、本发明中所有内容路由器连接成树状拓扑结构,并通过以太网进行通信;POF控制器拓扑管理模块根据所有内容路由器节点标识和链路信息,为每个内容路由器下发FIB路由表;每个内容路由器的FIB路由表只需要维护在树状拓扑网络中、与自己父节点、兄弟节点、子节点的路由信息,保证了每个节点可路由至全网各个节点的同时、精简了路由表的规模,提供了理想的网络扩展性;
4、本发明中内容路由器为运行POFSwitch转发进程和POF-CCN路由进程的服务器,包含了CCN框架中CS缓存表、PIT请求记录表、FIB路由表,是国内唯一一种网络层的非泛洪式内容路由器的实现,为研究未来网络提供了一种新的装置实现方法;
附图说明
图1为本发明系统结构图;
图2为本发明POF控制器框图;
图3为本发明内容路由器模块图;
图4为本发明内容网协议包处理流程图。
具体实施方式
本实施例中,一种基于SDN技术和CCN框架的网络层的内容路由系统,是用于为m个用户提供内容发布、内容请求和内容响应服务,
如图1所示,内容路由系统包括:一个POF控制器和n个内容路由器;n个内容路由器依据约束规则1连接成树状拓扑结构,约束规则1为:树状拓扑具有1个网络层、k-2个中间层和1个叶节点层,本实施案例中,以三层树状拓扑为例,具有1个网络层、1个中间层和1个叶节点层,网络层中的内容路由器构成连同图,中间层的内容路由器有且仅有一个位于网络层的父节点、且有相同父节点的内容路由器构成连通图,叶节点层的内容路由器有且仅有一个位于中间层的父节点、但互不连接;并通过以太网进行通信;m个用户分别连接相应的内容路由器;
定义n个内容路由器中任意第i个内容路由器为第i个发送者,与第i个发送者相连的其他内容路由器作为第i个发送者的接收者;n个内容路由器分别与POF控制器的TCP6633端口连接,并通过POF协议进行通信;
如图2所示,POF控制器包括:资源加载模块、FloodlightProvider基本服务模块、链路发现模块和拓扑管理模块;
如图3所示,内容路由器为运行POFSwitch转发进程和POF-CCN路由进程的服务器;POF-CCN路由进程包含CS缓存表、PIT请求记录表、FIB路由表;
POF控制器利用资源加载模块、Floodlight基本服务模块在TCP6633端口上监听n个内容路由器,对内容控制器连接事件以及内容路由器发送给POF控制器的消息事件调用POF控制器的其它模块进行处理;
n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时需依据约束规则2指定当前内容路由器节点标识,约束规则2为:
第i个节点标识根据树状拓扑结构的层数被划分成多段,其中第1段表示网络层标识、第k段表示叶节点层标识、其余表示中间层标识;本实施案例中,内容路由器构成了三层网络,因而节点标识具有如:{网络层标识|中间层标识|叶节点层标识}的三段式结构,网络层任意节点有互不相同的网络层标识、全零的中间层标识、全零的叶节点层标识;中间层任意节点有自身父节点一致的网络层标识、与自身任意兄弟节点互补相同的中间层标识、全零的叶节点层标识;叶节点任意节点有与自身父节点一致的网络层标识、与自身父节点一致的中间层标识、与自身任意兄弟节点互不相同的叶节点标识;
POF控制器分别向n个内容路由器下发流表,并利用链路发现模块,通过PacketOut指令向n个内容路由器下发LLDP链路发现消息;通过一个4元组来表示链路,其格式为:{SrcId,SrcPort,DstId,DstPort},其中SrcId为发送LLDP消息或BDDP消息的内容路由器的节点标识,SrcPort为发送端口;DstId为接收LLDP消息或BDDP消息的内容路由器的节点标识,DstPort为接收端口,LLDP包的目的MAC地址是01:80:c2:00:00:0e,以太网帧类型为0x8999;
n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
第i个发送者根据自身第i个流表将所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息,并通过PacketIn指令上传至POF控制器;
POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
拓扑管理模块根据n个内容路由器的节点标识和链路信息,计算每个内容路由器的路由域,内容路由器A的路由域S(A)的涵盖范围定义为:S(A)={A的父节点、A的子节点、A的兄弟节点};对n个内容路由器的每个内容路由器的路由域内使用Dijkstra算法计算该内容路由器到域内其它内容路由器的最短路径,得到n个内容路由器的FIB路由表,并下发给n个内容路由器的POF-CCN路由进程;从而完成内容路由系统的初始化;
本实施案例中,任意第j个用户通过把任意内容c的结构化、长度不定的描述作为输入产生一对非对称密钥,公钥使用安全散列函数输入产生与节点标识等长的内容标识;定义全网内节点标识不小于且最接近内容c内容标识的内容路由器为内容c的绝对后继节点,定义位于树状拓扑某一层的连同图内节点标识不小于且最接近内容c内容标识的内容路由器为内容c在该图层的相对后继节点;
本实施例构建在以太网之上,网元设备间数据交互基于以太网帧传输,因而需要在帧类型中给出区别于IEEE RAC EtherType字段批准权威机构已分配的值,节点信息交互包包含LLDP包,用户数据包又分为内容发布包、内容请求包、内容响应包,使用如下表1基本的包格式:
表1
CCNType | PacketType | contenteID | TTL | AgentNode | back | seq | payload |
其中CCNType是以太网帧类型字段值为0x0800,PacketType是内容网分组类型,分为公告类型、请求类型、响应类型,contenteID即是内容标识,TTL、AgentNode、back是为实现更好的路由效果增添的有关字段,seq、payload是和端到端内容可靠传输有关的字段。
任意第j个用户通过自身相连的内容路由器的接入端口向内容路由系统提出内容发布,相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;
任意第j个用户通过自身相连的内容路由器的接入端口向内容路由系统提出内容请求,相应第j个用户的内容路由器查询CS缓存表是否存在所请求内容的表项;若存在,则从本地缓存中取出相应的内容并返回给第j个用户;若不存在,则在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发,并在PIT请求记录表中新建相应的表项;
任意第i个内容路由器向内容路由系统提出内容响应,第i个内容路由器查询CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
本实施例中,一种基于SDN技术和CCN框架的网络层的内容路由系统的工作方式是按如下步骤进行:
步骤1、POF控制器利用TCP6633端口监听n个内容路由器;
步骤2、n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时依据约束规则2指定当前内容路由器节点标识;
步骤3、POF控制器分别向n个内容路由器下发流表和LLDP链路发现消息;
步骤4、n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
步骤5、第i个发送者在所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
步骤6、相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息并上传至POF控制器;
步骤7、POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
步骤8、拓扑管理模块根据n个内容路由器的节点标识和链路信息计算得到n个内容路由器各自的FIB路由表,并分别下发给n个内容路由器的POF-CCN路由进程;从而完成内容路由系统的初始化;
如图4所示,完成系统初始化后,用户可向内容路由系统发起内容发布服务,系统对内容请求包的工作流程如下:
步骤9、当第j个用户通过自身相连的内容路由器的接入端口向内容路由系统提出内容发布时;
步骤10、相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;当第i个内容路由器收到用户或下层节点发来的发布包,则根据FIB路由表转发发布包至父节点;当第i个内容路由器收到父节点或兄弟节点发来的发布包,内容路由器判断自己是否是内容副本绝对后继节点,若是则存储发布包内容在本地缓存,在CS缓存表添加相应表项,若不是则根据FIB路由表中查找该内容名的后继节点转发发布包;
步骤11、当第j个用户通过自身相连的内容路由器的接入端口向内容路由系统提出内容请求时;
步骤12、相应第j个用户的内容路由器将自己节点标识写入包的AgentNode字段,查询CS缓存表是否存在所请求内容的表项;若存在,则从本地缓存中取出相应的内容并返回给第j个用户;若不存在,则执行步骤13;
步骤13、相应第j个用户的内容路由器在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发至所请求内容的后继节点,并在PIT请求记录表中新建相应的表项;当第i个内容路由器收到用户、下层节点或兄弟节点发来的请求包,第i个内容路由器在CS缓存表和PIT请求记录表中均无相应表项,内容路由器判断自己是否为后继节点,若是,则根据FIB路由表转发请求包给父节点;若不是,根据FIB路由表转发请求包给后继节点,并在PIT请求记录表相应表项添加请求包接入端口;当第i个内容路由器收到父节点发来的请求包,第i个内容路由器内容路由器在自身CS缓存表和PIT请求记录表中均无对应表项,内容路由器判断自己是否为后继节点,若是,则返回请求失败消息;若不是,根据FIB路由表转发请求包给后继节点,并在PIT请求记录表相应表项添加请求包接入端口。
步骤14、当任意第i个内容路由器向内容路由系统提出内容响应时,第i个内容路由器查询CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则执行步骤15;
步骤15、则第i个内容路由器在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
Claims (3)
1.一种基于SDN技术和CCN框架的网络层的内容路由系统,是用于为m个用户提供内容发布、内容请求和内容响应服务,其特征是,所述内容路由系统包括:一个POF控制器和n个内容路由器;所述n个内容路由器依据约束规则1连接成树状拓扑结构,并通过以太网进行通信;所述m个用户分别连接相应的内容路由器;
定义所述n个内容路由器中任意第i个内容路由器为第i个发送者,与第i个发送者相连的其他内容路由器作为第i个发送者的接收者;所述n个内容路由器分别与POF控制器的TCP6633端口连接,并通过POF协议进行通信;
所述POF控制器包括:链路发现模块和拓扑管理模块;
所述内容路由器为运行POFSwitch转发进程和POF-CCN路由进程的服务器;所述POF-CCN路由进程包含CS缓存表、PIT请求记录表、FIB路由表;
所述POF控制器利用TCP6633端口监听所述n个内容路由器;
所述n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时依据约束规则2指定当前内容路由器节点标识;
所述POF控制器分别向所述n个内容路由器下发流表,并利用链路发现模块向所述n个内容路由器下发LLDP链路发现消息;
所述n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
所述第i个发送者根据自身第i个流表将所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
所述相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息并上传至所述POF控制器;
所述POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
所述拓扑管理模块根据n个内容路由器的节点标识和链路信息计算得到n个内容路由器各自的FIB路由表,并分别下发给所述n个内容路由器的POF-CCN路由进程;从而完成所述内容路由系统的初始化;
任意第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容发布,相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在所述CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;
任意第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容请求,相应第j个用户的内容路由器查询所述CS缓存表是否存在所请求内容的表项;若存在,则从所述本地缓存中取出相应的内容并返回给第j个用户;若不存在,则在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发,并在PIT请求记录表中新建相应的表项;
任意第i个内容路由器向所述内容路由系统提出内容响应,第i个内容路由器查询所述CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据所述PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
2.一种基于SDN技术和CCN框架的网络层的内容路由系统的工作方法,其特征是:所述内容路由系统包括:一个POF控制器和n个内容路由器;所述n个内容路由器依据约束规则1连接成树状拓扑结构,并通过以太网进行通信;所述n个内容路由器中分别包含CS缓存表、PIT请求记录表、FIB路由表;m个用户分别连接相应的内容路由器并向所述内容路由系统发布内容、请求内容和响应内容;
定义所述n个内容路由器中任意第i个内容路由器为第i个发送者,与第i个发送者相连的其他内容路由器作为第i个发送者的接收者;所述n个内容路由器分别与POF控制器的TCP6633端口连接,并通过POF协议进行通信;
所述工作方法是按如下步骤进行:
步骤1、所述POF控制器利用TCP6633端口监听所述n个内容路由器;
步骤2、所述n个内容路由器分别启动自身的POFSwitch转发进程和POF-CCN路由进程;启动POFSwitch转发进程同时依据约束规则2指定当前内容路由器节点标识;
步骤3、所述POF控制器分别向所述n个内容路由器下发流表,并利用链路发现模块向所述n个内容路由器下发LLDP链路发现消息;
步骤4、所述n个内容路由器根据所接收的流表生成自身POFSwitch转发进程的流表;
步骤5、所述第i个发送者在所接收的LLDP链路发现消息中添加自身节点表示和发送端口,形成修改后的LLDP链路发现消息后,根据自身第i个流表通过发送端口发送给与相应的接收者;
步骤6、所述相应的接收者分别在所接收到的修改后的LLDP链路发现消息中添加自身节点标识和接收端口,形成各自再次修改后的LLDP链路发现消息并上传至所述POF控制器;
步骤7、所述POF控制器根据所接收到的再次修改后的LLDP链路发现消息获取发送者和接收者的节点标识、发送端口和接收端口;从而得到第i个发送者与其相应接收者之间的链路信息;
步骤8、拓扑管理模块根据n个内容路由器的节点标识和链路信息计算得到n个内容路由器各自的FIB路由表,并分别下发给所述n个内容路由器的POF-CCN路由进程;从而完成所述内容路由系统的初始化;
步骤9、当第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容发布时;
步骤10、相应第j个用户的内容路由器判断自身是否为所发布内容的后继节点;若是,则将所发布内容存储在相应第j个用户内容路由器的本地缓存中,并在所述CS缓存表中添加相应记录;若不是,则根据第j个用户内容路由器的FIB路由表对所发布内容进行转发;
步骤11、当第j个用户通过自身相连的内容路由器的接入端口向所述内容路由系统提出内容请求时;
步骤12、相应第j个用户的内容路由器查询所述CS缓存表是否存在所请求内容的表项;若存在,则从所述本地缓存中取出相应的内容并返回给第j个用户;若不存在,则执行步骤13;
步骤13、相应第j个用户的内容路由器在PIT请求记录表中查询是否存在所请求内容的表项,若存在,则将第j个用户的接入端口添加到PIT请求记录表的相应表项中,用于合并内容请求;若不存在,则根据FIB路由表对所请求内容进行转发至所请求内容的后继节点,并在PIT请求记录表中新建相应的表项;
步骤14、当任意第i个内容路由器向所述内容路由系统提出内容响应时,第i个内容路由器查询所述CS缓存表是否存在所响应内容的表项;若存在,则忽略所提出的内容响应;若不存在,则执行步骤15;
步骤15、则第i个内容路由器在PIT请求记录表中查询是否存在所响应内容的表项,若存在,则根据所述PIT请求记录表中相应表项对所响应内容进行转发,否则忽略所提出的内容响应,1≤i≤n;1≤j≤m。
3.根据权利要求2所述的工作方法,其特征是,定义n个内容路由器组成的树状拓扑结构,总共具有k层,2≤k≤n;任意第i个内容路由器有第i个节点标识;
所述约束规则1为:
所述树状拓扑具有1个网络层、k-2个中间层和1个叶节点层,网络层中的内容路由器构成连同图,中间层的内容路由器有且仅有一个位于网络层的父节点、且有相同父节点的内容路由器构成连通图,叶节点层的内容路由器有且仅有一个位于中间层的父节点、但互不连接;
所述约束规则2为:
第i个节点标识根据树状拓扑结构的层数被划分成多段,其中第1段表示网络层标识、第k段表示叶节点层标识、其余表示中间层标识;网络层任意节点有互不相同的网络层标识、全零的中间层标识、全零的叶节点层标识;中间层任意节点有自身父节点一致的网络层标识、与自身任意兄弟节点互补相同的中间层标识、全零的叶节点层标识;叶节点任意节点有与自身父节点一致的网络层标识、与自身父节点一致的中间层标识、与自身任意兄弟节点互不相同的叶节点标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305047.8A CN106059921B (zh) | 2016-05-06 | 2016-05-06 | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305047.8A CN106059921B (zh) | 2016-05-06 | 2016-05-06 | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106059921A CN106059921A (zh) | 2016-10-26 |
CN106059921B true CN106059921B (zh) | 2019-02-12 |
Family
ID=57176894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610305047.8A Active CN106059921B (zh) | 2016-05-06 | 2016-05-06 | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106059921B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302571B (zh) * | 2017-06-14 | 2019-10-18 | 北京信息科技大学 | 基于果蝇算法的信息中心网络路由和缓存管理方法 |
CN107204919B (zh) * | 2017-07-06 | 2020-01-03 | 中国科学技术大学 | 一种基于pof的边缘快速路由与缓存系统及方法 |
CN107222353B (zh) * | 2017-07-11 | 2019-11-22 | 中国科学技术大学 | 支持协议无关的软件定义网络虚拟化管理平台 |
US10554500B2 (en) | 2017-10-04 | 2020-02-04 | Futurewei Technologies, Inc. | Modeling access networks as trees in software-defined network controllers |
CN108200206B (zh) * | 2018-02-08 | 2020-05-12 | 中国科学技术大学 | 一种基于sdn架构的icn无缝移动系统 |
CN108683725B (zh) * | 2018-05-11 | 2021-09-10 | 中国联合网络通信集团有限公司 | 数据处理方法和数据处理系统 |
CN108881023B (zh) * | 2018-05-30 | 2020-08-25 | 常熟理工学院 | 一种多路径的大数据网络实现方法 |
CN108989333B (zh) * | 2018-08-16 | 2020-09-25 | 北京邮电大学 | 一种支持内容网络的可编程实验网络方法及装置 |
CN111200664B (zh) | 2018-11-16 | 2021-06-08 | 中国科学院声学研究所 | 一种网络实体移动事件消息的传播方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468351A (zh) * | 2014-11-13 | 2015-03-25 | 北京邮电大学 | 基于sdn辅助ccn路由的管理方法、ccn转发装置及网络控制器 |
CN104753885A (zh) * | 2013-12-30 | 2015-07-01 | 杭州华为数字技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906436B2 (en) * | 2013-08-05 | 2018-02-27 | Futurewei Technologies, Inc. | Scalable name-based centralized content routing |
-
2016
- 2016-05-06 CN CN201610305047.8A patent/CN106059921B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753885A (zh) * | 2013-12-30 | 2015-07-01 | 杭州华为数字技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
CN104468351A (zh) * | 2014-11-13 | 2015-03-25 | 北京邮电大学 | 基于sdn辅助ccn路由的管理方法、ccn转发装置及网络控制器 |
Non-Patent Citations (2)
Title |
---|
《内容中心网络中基于差异化缓存通告的混合路由机制》;葛国栋等;《电子与信息学报》;20150325;全文 |
《内容中心网络中缓存策略研究》;史甜甜;《电信工程技术与标准化》;20140722;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106059921A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106059921B (zh) | 一种基于sdn技术和ccn框架的网络层的内容路由系统及其工作方式 | |
USRE49943E1 (en) | System and method for a context layer switch | |
US20240086263A1 (en) | Asynchronous Object Manager In A Network Routing Environment | |
CN103546374B (zh) | 一种边缘二层网络中转发报文的方法和装置 | |
US9686194B2 (en) | Adaptive multi-interface use for content networking | |
CN103139037B (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
CN104753797B (zh) | 一种基于选择性缓存的内容中心网络动态路由方法 | |
US8687522B2 (en) | Distributed storage of routing information in a link state protocol controlled network | |
US7756998B2 (en) | Managing L3 VPN virtual routing tables | |
CN105024844B (zh) | 一种计算跨域路由的方法、服务器以及系统 | |
CN110313162A (zh) | 促进在网络环境中向多个接收者的内容递送的系统和方法 | |
US20160134591A1 (en) | VPN Implementation Processing Method and Device for Edge Device | |
US8116289B2 (en) | Internetworking nodes based on connections, membership, and location | |
JP6544401B2 (ja) | パケット転送装置、制御装置、通信システム、通信方法及びプログラム | |
CN105721311A (zh) | 用于使用信息中心网络中的链路状态信息进行有效的基于名称的内容路由的系统和方法 | |
US10924540B2 (en) | Lightweight naming scheme for aggregating requests in information-centric networking | |
WO2022027224A1 (zh) | 一种面向网内算力或资源服务的通信方法 | |
WO2005006671A1 (ja) | ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード | |
CN109450795A (zh) | 一种面向服务网络的服务路由器及服务网络系统 | |
CN101471879A (zh) | 一种层次化有序地址分组网络的路径控制系统和方法 | |
CN108769097A (zh) | 支持网络控制的内容分发网络系统 | |
CN115865844B (zh) | 基于sdn与ndn的虚实结合动态流量调度方法及装置 | |
CN103139076B (zh) | 分布式哈希表互通网络系统、域间节点及实现方法 | |
Chen et al. | Differentiated transmission services and optimization based on two‐dimensional forwarding for Internet traffic in the AS | |
Oubaha et al. | Distributed Multi Criteria Routed for MPLS-TE Based on Machine Learning: Concept and Applications. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |