CN104429038B - 路由转发方法、装置及系统 - Google Patents

路由转发方法、装置及系统 Download PDF

Info

Publication number
CN104429038B
CN104429038B CN201380000583.1A CN201380000583A CN104429038B CN 104429038 B CN104429038 B CN 104429038B CN 201380000583 A CN201380000583 A CN 201380000583A CN 104429038 B CN104429038 B CN 104429038B
Authority
CN
China
Prior art keywords
container
routing node
content
request
name
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
Application number
CN201380000583.1A
Other languages
English (en)
Other versions
CN104429038A (zh
Inventor
戈文敏
严哲峰
王戎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104429038A publication Critical patent/CN104429038A/zh
Application granted granted Critical
Publication of CN104429038B publication Critical patent/CN104429038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种路由转发方法、内容注册方法、路由器及网络控制器,以提高ICN网络中路由转发的效率。该路由转发方法包括:网络控制器接收请求路由节点发送的路由请求消息,该路由请求消息携带请求内容的内容名;该网络控制器根据网络拓扑图以及该请求内容的注册信息确定适合的转发路径;该网络控制器向转发路径上各路由节点下发路由信息。本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。

Description

路由转发方法、装置及系统
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及一种路由转发方法、装置及系统。
背景技术
虽然互联网协议(Internet Protocol,简称为“IP”)已经取得极大的成功,推动互联网无处不在,但是IP诞生之初将“终端”置于核心位置,以目的IP地址和源IP地址标识的一个个IP包承载着两个终端之间的会话,因此IP是一种以终端为中心的网络协议。而今天人们使用互联网,主要功能不是为了终端之间的会话,而是获取信息,如网络新闻、搜索引擎,网络音乐、网络视频、博客、微博、社交网站、网络论坛等应用其实都是以各种信息的生产、传播和共享为主要目的,且人们在获取这些信息时往往并不关心从哪里获取信息,这是一种全新的以信息或内容为中心的新模式。为了解决互联网应用以信息为中心模式和IP以终端为中心模式的不匹配问题,研究界开始试图重新定义互联网沙漏模型的腰部,研究直接面向信息和内容的未来互联网新架构。
在所有信息为中心的网络(Information Centric Network,ICN)架构中,命名数据网络(Named Data Network,NDN)的影响较大,NDN是由Van Jacobson领导的内容为中心网络(Content Centric Networking,CCN)研究发展而来。NDN和CCN认为未来网络应该以直接基于内容的命名和路由为基础,采用和URL类似的结构化内容命名,在NDN路由器中通过内容存储表(Content Store,CS)实现缓存功能,并通过请求内容的内容名与转发信息表(Forwarding Information Base,FIB)的内容名前缀的最长匹配查找确定下一跳。NDN也在致力于基于当前的IP路由器和以太网转发引擎来实现基于内容名的转发。
在ICN网络中,请求端发送的内容请求包通过逐跳问询的路由方式来获取请求内容,即每个路由节点依靠其收集的局部路由信息进行转发,存在一定的盲目性,路由转发效率低下。
发明内容
本发明实施例提供路由转发方法、内容注册方法、对应的路由器、网络控制器以及系统,以提高ICN网络中路由转发的效率。
第一方面,提供一种路由转发方法,包括:网络控制器接收请求路由节点发送的路由请求消息,所述路由请求消息中携带请求内容的内容名;所述网络控制器根据所述内容名以及所述网络控制器存储或获取的第一注册信息,确定与所述内容名对应的目标路由节点的网络名以及所述目标路由节点的端口,且通过所述目标路由节点的端口,与所述请求内容对应的内容请求包能够被路由至所述请求内容,所述第一注册信息用于指示所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;所述网络控制器根据所述目标路由节点的网络名以及获取的所述请求路由节点的网络名,从所述网络控制器所控制的网络的网络拓扑信息中确定转发路径,其中,所述转发路径以所述请求路由节点为起点、以所述目标路由节点为终点,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;所述网络控制器根据所述转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点;所述网络控制器向所述请求路由节点发送所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述内容请求包。
结合第一方面,在第一方面的一种实现方式下,所述方法还包括:所述网络控制器根据所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息用于指示所述路由信息对应的路由节点转发所述内容请求包的端口;所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发与所述每个路由节点对应的所述路由信息,以便所述每个路由节点根据与所述每个路由节点对应的所述路由信息转发所述内容请求包。
结合第一方面,在第一方面的一种实现方式中,所述第一注册信息为所述请求内容的注册信息,所述请求内容的注册信息包括所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述请求内容的边缘路由节点,所述网络控制器根据所述内容名以及网络控制器存储或获取的第一注册信息,确定与所述内容名对应的目标路由节点的网络名以及所述目标路由节点的端口,包括:所述网络控制器从所述请求内容的注册信息中获取所述目标路由节点的网络名及所述目标路由节点的端口。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;所述网络控制器根据所述内容名以及网络控制器存储或获取的第一注册信息,确定与所述内容名对应的目标路由节点的网络名以及所述目标路由节点的端口,包括:所述网络控制器根据所述内容名从所述请求内容的注册信息中获取所述归属容器的容器名;所述网络控制器根据所述归属容器的容器名从所述归属容器的注册信息中获取所述目标路由节点的网络名及所述目标路由节点的端口,所述目标路由节点为所述归属容器的边缘路由节点。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,所述网络控制器根据所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,包括:所述网络控制器确定所述转发路径所经过的路由节点中除所述请求路由节点和所述目标路由节点之外的每个路由节点在所述转发路径上的下一跳路由节点;所述网络控制器确定所述内容名,以及所述每个路由节点指向所述下一跳路由节点的端口为所述每个路由节点对应的路由信息,并确定所述内容名以及所述目标路由节点的端口为所述目标路由节点对应的路由信息。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,还包括:所述网络控制器通过容器解析系统解析所述归属容器以获取所述请求内容的容器树集信息,所述容器树集信息包括所述归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;所述网络控制器根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系;所述网络控制器根据所述每个容器的边缘路由节点及所述网络拓扑信息,确定所述每个容器的拓扑范围,所述拓扑范围用于指示容器与路由节点的之间包含关系;所述网络控制器向所述请求路由节点下发所述容器树集信息,以便所述请求路由节点将所述容器树集信息存储于所述内容请求包中,使得所述内容请求包能够根据所述容器树集信息被路由至所述目标路由节点;所述网络控制器根据所述转发路径确定所述请求路由节点对应的路由信息,包括:所述网络控制器从所述容器树集信息包括的所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口为所述请求路由节点对应的路由信息。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,所述网络控制器向所述请求路由节点发送所述请求路由节点对应的路由信息,包括:所述网络控制器向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发与所述每个路由节点对应的所述路由信息,包括:所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
结合第一方面或其上述一种实现方式中的任一种,在第一方面的另一个实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
第二方面,提供一种路由转发方法,包括:请求路由节点接收内容请求包,所述内容请求包携带请求内容的内容名;当转发信息表FIB中不存在与所述内容名匹配的转发表项时,所述请求路由节点向网络控制器发送路由请求消息,所述路由请求消息中携带所述内容名;所述请求路由节点接收所述网络控制器下发的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息用于向所述请求路由节点指示所述内容请求包的转发端口,所述第一路由信息是所述网络控制器根据获取的所述请求路由节点的网络名、所述内容名、第一注册信息以及所述网络控制器所控制的网络的网络拓扑信息确定的,其中所述第一注册信息用于指示所述内容名、目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;所述请求路由节点根据所述第一路由信息转发所述内容请求包。
结合第二方面,在第二方面的一种实现方式中,所述第一注册信息为所述请求内容的注册信息,所述请求内容的注册信息包括所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述请求内容的边缘路由节点;或者,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述第一路由信息包括所述内容名以及所述内容请求包的转发端口,
所述请求路由节点根据所述第一路由信息转发所述内容请求包,包括:所述请求路由节点根据所述内容名从所述请求路由节点存储的路由信息中匹配所述第一路由信息中的转发端口;所述请求路由节点通过所述第一路由信息中的转发端口转发所述内容请求包。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点,在所述请求路由节点根据所述第一路由信息转发所述内容请求包之前,还包括:所述请求路由节点接收所述网络控制器发送的所述请求内容的容器树集信息,其中所述容器树集信息是所述网络控制器通过容器解析系统解析所述归属容器获得的,且所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,所述容器树集信息用于指示所述至少一个容器之间的接入关系,所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;所述请求路由节点在所述内容请求包中添加所述容器树集信息。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述第一路由信息包括第一容器名以及与所述第一容器名对应的第一端口,所述第一容器名为所述容器树集信息所包括的容器名中的一个,所述请求路由节点根据所述第一路由信息转发所述内容请求包,包括:所述请求路由节点根据所述内容请求包携带的所述容器树集信息中包含的所述第一容器名,从所述请求路由节点存储的路由信息中确定与所述第一容器名匹配的所述第一路由信息;所述请求路由节点通过所述第一路由信息中包括的所述第一端口转发所述内容请求包。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述请求路由节点向网络控制器发送路由请求消息之前,还包括:所述请求路由节点确定内容存储表CS中是否存在与所述内容名匹配的内容;当所述CS中存在与所述内容名匹配的内容时,所述请求路由节点将所述匹配的内容发送至所述内容请求包的发送端;当所述CS中不存在与所述请求内容的内容名匹配的内容时,所述请求路由节点确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;当所述PIT中存在与所述内容名匹配的PIT表项时,所述请求路由节点将接收所述内容请求包的端口添加到所述匹配的PIT表项中;当所述PIT中不存在与所述内容名匹配的PIT表项时,所述请求路由节点确定所述FIB中是否存在与所述内容名匹配的转发表项;当所述FIB中存在与所述内容名匹配的转发表项时,所述请求路由节点根据所述匹配的转发表项发送所述内容请求包。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,还包括:所述请求路由节点接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息用于指示另一内容请求包的转发端口;所述请求路由节点接收所述另一内容请求包;所述请求路由节点根据所述另一路由信息转发所述另一内容请求包。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第三方面,提供一种路由转发方法,包括:网络控制器接收请求路由节点发送的路由请求消息,所述路由请求消息中携带所述请求内容的容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;所述网络控制器根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系;所述网络控制器根据所述每个容器的边缘路由节点及所述网络控制器所控制的网络的网络拓扑信息,确定所述每个容器的拓扑范围,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构,所述拓扑范围用于指示容器与路由节点的之间包含关系;所述网络控制器根据所述归属容器的边缘路由节点的网络名、获取的所述请求路由节点的网络名以及所述网络拓扑信息,确定以所述请求路由节点为起点、以所述归属容器的边缘路由节点为终点的转发路径;所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;所述网络控制器向所述请求路由节点下发所述请求路由节点对应的所述路由信息,以便所述请求路由节点根据所述请求路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
结合第三方面,在第三方面的一种实现方式中,所述方法还包括:所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述网络控制器根据所述至少一个容器的拓扑范围以及所述请求路由节点对应的路由信息,包括:所述网络控制器从所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,并确定所述请求路由节点在所述转发路径上的下一跳路由节点,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向所述下一跳路由节点的端口为所述请求路由节点对应的路由信息。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述网络控制器向所述请求路由节点下发所述请求路由节点对应的路由信息,包括:所述网络控制器向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,包括:所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
结合第三方面或其上述实现方式的任一种,在第三方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
第四方面,提供一种路由转发方法,包括:请求路由节点接收内容请求包,所述内容请求包中携带请求内容的内容名;所述请求路由节点确定转发信息表FIB中是否存在与所述请求内容的内容名匹配的转发表项;当所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,所述请求路由节点向网络控制器发送路由请求消息,所述路由请求消息中携带容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系;所述请求路由节点接收所述网络控制器发送的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息包括第一容器名以及与所述第一容器名对应的端口,所述第一容器名为所述容器树集信息所包含的容器名中的一个,所述第一路由信息是所述网络控制器根据获取的所述请求路由节点的网络名、所述容器树集信息、所述容器树集信息所包括的至少一个容器中每个容器的注册信息以及所述网络控制器所控制的网络的网络拓扑信息确定的,所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;所述请求路由节点根据所述容器树集信息中的所述至少一个容器的容器名匹配所述请求路由节点存储的路由信息中的所述第一路由信息;所述请求路由节点通过所述第一路由信息中的与所述第一容器名对应的端口转发所述内容请求包。
结合第四方面,在第四方面的一种实现方式中,还包括:所述请求路由节点接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息中携带另一容器名以及所述另一容器名对应的端口;所述请求路由节点接收另一内容请求包,所述另一内容请求包中携带所述另一容器名;所述请求路由节点根据所述另一容器名从所述第一路由节点存储的路由信息中匹配所述另一路由信息;所述请求路由节点通过所述另一容器名对应的端口转发所述另一内容请求包。
结合第四方面或其上述实现方式的任一种,在第四方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第四方面或其上述实现方式的任一种,在第四方面的另一种实现方式中,所述请求路由节点向网络控制器发送路由请求消息之前,还包括:所述请求路由节点确定内容存储表CS中是否存在与所述内容名匹配的内容;当所述CS中存在与所述内容名匹配的内容时,所述请求路由节点将所述匹配的内容发送至所述内容请求包的发送端;当所述CS中不存在与所述请求内容的内容名匹配的内容时,所述请求路由节点确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;当所述PIT中存在与所述内容名匹配的PIT表项时,所述请求路由节点将接收所述内容请求包的端口添加到所述匹配的PIT表项中;当所述PIT中不存在与所述内容名匹配的PIT表项时,所述请求路由节点确定所述FIB中是否存在与所述内容名匹配的转发表项;当所述FIB中存在与所述内容名匹配的转发表项时,所述请求路由节点根据所述匹配的转发表项发送所述内容请求包。
结合第四方面或其上述实现方式的任一种,在第四方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第五方面,提供一种内容注册方法,包括:网络控制器接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系的内容注册信息,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口;所述网络控制器存储所述内容注册信息。
结合第五方面,在第五方面的一种实现方式中,所述第一路由节点为所述待注册内容的边缘路由节点,所述内容注册信息包括待注册内容的内容名和所述第一端口。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述网络控制器存储所述内容注册信息,包括:所述网络控制器从已注册内容中确定是否存在与所述待注册内容的内容名匹配的内容;当不存在所述匹配的内容时,所述网络控制器存储所述待注册内容的内容名,并存储所述待注册内容的内容名、获取的所述第一路由节点的网络名以及所述第一端口之间的对应关系;当存在所述匹配的内容时,所述网络控制器在所述匹配的内容的注册信息中添加所述待注册内容的内容名、所述第一路由节点的网络名以及所述第一端口之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,还包括:所述网络控制器接收第二路由节点发送的内容注销消息,所述内容注销消息中携带待注销内容的内容名和第二端口,所述第二路由节点为所述待注销内容的边缘路由节点,所述第二端口为所述第二路由节点接收所述待注销内容对应的内容注销请求包的端口,所述网络控制器确定第一已注册内容,所述第一已注册内容为所述已注册内容中与所述待注册内容的内容名匹配的内容;所述网络控制器从所述第一已注册内容的注册信息中删除所述待注销内容的内容名、获取的所述第二路由节点的网络名以及所述第二端口之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述网络控制器存储所述内容注册信息,包括:所述网络控制器从已注册内容中确定是否存在与所述待注册内容的内容名匹配的内容;当存在所述匹配的内容时,所述网络控制器在所述匹配的内容的注册信息中添加所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系;当不存在所述匹配的已注册内容时,所述网络控制器存储所述待注册内容的内容名,并存储所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,还包括:所述网络控制器接收第三路由节点发送的内容注销消息,所述内容注销消息携带待注销内容的内容名与待注销内容的归属容器的容器名,所述网络控制器确定第二已注册内容,所述第二已注册内容为与所述待注册内容的内容名匹配的已注册内容;所述网络控制器从所述第二已注册内容的注册信息中删除所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述内容注销消息通过兴趣包承载。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,还包括:所述网络控制器接收第四路由节点发送的容器注册消息,所述第四路由节点为待注册容器的边缘路由节点,所述容器注册消息中携带待注册容器的容器名与第四端口,所述第四端口为所述第四路由节点接收所述待注册容器对应的容器注册请求包的端口;所述网络控制器从已注册容器中确定是否存在与所述待注册容器的容器名匹配的容器;当存在所述匹配的容器时,所述网络控制器在所述匹配的容器的注册信息中添加所述待注册容器的容器名、获取的所述第四路由节点的网络名和第四端口之间的对应关系;当不存在所述匹配的容器时,所述网络控制器存储所述待注册容器的容器名,并存储所述待注册容器的容器名、所述第四路由节点的网络名以及所述第四端口之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,还包括:所述网络控制器接收第五路由节点发送的容器注销消息,所述第五路由节点为所述待注销容器的边缘路由节点,所述容器注销消息中携带待注销容器的容器名和第五端口,所述第五端口为所述第五路由节点接收所述待注销容器对应的容器注销请求包的端口;所述网络控制器确定第三已注册容器,所述第三已注册容器的容器名与所述待注销容器的容器名匹配;所述网络控制器从所述第三已注册容器的注册信息中删除所述待注销容器的容器名、获取的所述第五路由节点的网络名以及第五端口之间的对应关系。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述容器注销消息通过兴趣包承载。
结合第五方面或其上述实现方式的任一种,在第五方面的另一种实现方式中,所述内容注册消息通过兴趣包承载。
第六方面,提供一种内容注册方法,包括:第一路由节点接收内容注册请求包,所述内容注册请求包携带待注册内容的内容名;所述第一路由节点根据所述内容注册请求包确定内容注册信息,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述内容注册请求包的端口;所述第一路由节点向网络控制器发送内容注册消息,所述内容注册消息中携带所述内容注册信息,以便所述网络控制器存储所述内容注册信息。
结合第六方面,在第六方面的一种实现方式中,所述第一路由节点根据所述内容注册请求包确定内容注册信息,包括:所述第一路由节点将所述待注册内容的内容名以及所述第一端口确定为所述内容注册信息。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,还包括:所述第一路由节点接收内容注销请求包,所述内容注销请求包中携带待注销内容的内容名;所述第一路由节点根据所述内容注销请求包确定内容注销信息,所述内容注销信息包括所述待注销内容的内容名以及第二端口,所述第二端口为所述第一路由节点接收所述内容注销请求包的端口;所述第一路由节点向所述网络控制器发送内容注销消息,所述内容注销消息中携带所述内容注销信息。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,所述内容注册请求包中还携带所述待注册内容的归属容器的容器名,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,还包括:所述第一路由节点接收内容注销请求包,所述内容注销请求包中携带待注销内容的内容名和待注销内容的归属容器的容器名;所述第一路由节点向所述网络控制器发送内容注销消息,所述内容注销消息中携带所述待注销内容的内容名和待注销内容的归属容器的容器名。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,所述内容注销请求包为兴趣包,所述内容注销消息通过兴趣包承载。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,还包括:所述第一路由节点接收容器注册请求包,所述容器注册消息中携带待注册容器的容器名;所述第一路由节点确定第四端口,所述第四端口为所述第一路由节点接收所述容器注册请求包的端口;所述第一路由节点向所述网络控制器发送容器注册消息,所述容器注册消息中携带所述待注册容器的容器名与所述第四端口。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,所述容器注册请求包为兴趣包,所述容器注册消息通过兴趣包承载。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,还包括:所述第一路由节点接收容器注销请求包,所述容器注销请求包中携带待注销容器的容器名;所述第一路由节点确定第五端口,所述第五端口为所述第一路由节点接收所述容器注销请求包的端口;所述第一路由节点向所述网络控制器发送容器注销消息,所述容器注销消息中携带所述待注销容器的容器名和所述第五端口。
结合第六方面或其上述实现方式的任一种,在第六方面的另一种实现方式中,所述内容注册请求包为兴趣包,所述内容注册消息通过兴趣包承载。
第七方面,提供一种内容注册方法,包括:网络控制器接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示待注册内容存放位置的内容注册信息;所述网络控制器存储所述内容注册信息。
结合第七方面,在第七方面的一种实现方式中,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口。
结合第七方面或其上述实现方式的任一种,在第七方面的另一种实现方式中,所述内容注册信息包括所述待注册内容的内容名和所述第一路由节点的第一端口。
结合第七方面或其上述实现方式的任一种,在第七方面的另一种实现方式中,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
第八方面,提供一种路由转发方法,包括:网络控制器接收请求路由节点发送的路由请求消息,所述路由请求消息中携带第一名字;所述网络控制器根据所述第一名字确定目标路由节点的网络名;所述网络控制器根据获取的所述请求路由节点的网络名、所述目标路由节点的网络名以及所述网络控制器所控制的网络的网络拓扑信息,确定从所述请求路由节点到所述目标路由节点的转发路径,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;所述网络控制器确定所述转发路径所经过的除所述目标路由节点之外的其他路由节点中每个路由节点对应的路由信息,所述每个路由节点对应的路由信息包括所述目标路由节点的网络名,以及所述每个路由节点指向在所述转发路径上的下一跳路由节点的端口;所述网络控制器向所述每个路由节点下发所述每个路由节点对应的路由信息。
结合第八方面,在第八方面的一种实现方式中,所述路由请求消息用于请求内容响应包的转发路径,所述第一名字为所述目标路由节点的网络名,所述目标路由节点为所述内容响应包对应的内容请求包所经过的第一个路由节点,所述内容响应包为数据包,所述内容请求包为兴趣包。
结合第八方面或其上述实现方式的任一种,在第八方面的另一种实现方式中,所述路由请求消息用于请求内容请求包的转发路径,所述内容请求包为兴趣包,所述第一名字为所述内容请求包中携带的请求内容的内容名,所述网络控制器存储了所述请求内容的注册信息,所述请求内容的注册信息用于指示所述请求内容的内容名与目标路由节点的网络名的对应关系,所述目标路由节点为所述请求内容的边缘路由节点,所述网络控制器根据第一名字确定目标路由节点的网络名,包括:所述网络控制器根据所述内容名从所述请求内容的注册信息中获取所述目标路由节点的网络名。
结合第八方面或其上述实现方式的任一种,在第八方面的另一种实现方式中,所述路由请求消息通过兴趣包承载,所述网络控制器向所述每个路由节点下发所述每个路由节点对应的路由信息,包括:所述网络控制器向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载;所述网络控制器向所述转发路径所经过的除所述请求路由节点以及所述目标路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
第九方面,提供一种路由转发方法,包括:请求路由节点接收消息包,所述消息包中携带第一名字;当转发信息表FIB中不存在与所述第一名字匹配的转发表项时,所述请求路由节点向网络控制器发送路由请求消息,所述路由请求消息中携带所述第一名字;所述请求路由节点接收所述网络控制器下发的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息包括目标路由节点的网络名以及所述消息包的转发端口,所述第一路由信息是所述网络控制器根据所述第一名字、获取的所述请求路由节点的网络名以及所述网络控制器控制的网络的网络拓扑信息确定的,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构。
结合第九方面,在第九方面的一种实现方式中,所述消息包为内容响应包,且所述消息包为数据包,所述第一名字为所述目标路由节点的网络名,所述目标路由节点为所述内容响应包对应的内容请求包所经过的第一个路由节点,所述内容请求包为兴趣包。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,所述当转发信息表FIB中不存在与所述第一名字匹配的转发表项时,所述请求路由节点向网络控制器发送路由请求消息之前,还包括:所述请求路由节点确定FIB中是否存在与所述目标路由节点的网络名匹配的转发表项;当所述FIB中存在与所述目标路由节点的网络名匹配的转发表项时,所述请求路由节点根据所述匹配的转发表项发送所述内容响应包。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,所述消息包为内容请求包,且所述内容请求包为兴趣包,所述第一名字为所述内容请求包中携带的请求内容的内容名,所述目标路由节点为所述请求内容的边缘路由节点。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,所述当转发信息表FIB中不存在与所述第一名字匹配的转发表项时,所述请求路由节点向网络控制器发送路由请求消息之前,还包括:所述请求路由节点确定内容存储表CS中是否存在与所述内容名匹配的内容;当所述CS中存在与所述内容名匹配的内容时,所述请求路由节点将所述匹配的内容发送至所述内容请求包的发送端;当所述CS中不存在与所述请求内容的内容名匹配的内容时,所述请求路由节点确定FIB中是否存在与所述请求内容的内容名匹配的转发表项;当所述FIB中存在与所述内容名匹配的转发表项时,所述请求路由节点根据所述匹配的转发表项发送所述内容请求包。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,还包括:所述请求路由节点接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息包括另一目标路由节点的网络名以及所述另一目标路由节点对应的转发端口;所述请求路由节点接收所述另一内容请求包,所述另一内容请求包中包含所述另一目标路由节点的网络名;所述请求路由节点通过所述另一路由信息中的转发端口转发所述另一内容请求包。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第九方面或其上述实现方式的任一种,在第九方面的另一种实现方式中,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第十方面,提供一种网络控制器,包括:第一接收单元,用于接收请求路由节点发送的路由请求消息,所述路由请求消息中携带请求内容的内容名;第一确定单元,用于根据所述第一接收单元接收的所述内容名以及所述网络控制器存储或获取的第一注册信息,确定与所述内容名对应的目标路由节点的网络名以及所述目标路由节点的端口,且通过所述目标路由节点的端口,与所述请求内容对应的内容请求包能够被路由至所述请求内容,所述第一注册信息用于指示所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;第二确定单元,用于根据所述第一确定单元确定的所述目标路由节点的网络名以及获取的所述请求路由节点的网络名,从所述网络控制器所控制的网络的网络拓扑信息中确定转发路径,其中,所述转发路径以所述请求路由节点为起点、以所述目标路由节点为终点,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;第三确定单元,用于根据所述第二确定单元确定的所述转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点;第一发送单元,用于向所述请求路由节点发送所述第三确定单元确定的所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述内容请求包。
结合第十方面,在第十方面的一种实现方式中,还包括:第六确定单元,用于根据所述第二确定单元确定的所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息用于指示所述路由信息对应的路由节点转发所述内容请求包的端口;第三发送单元,用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发所述第六确定单元确定的与所述每个路由节点对应的所述路由信息,以便所述每个路由节点根据与所述每个路由节点对应的所述路由信息转发所述内容请求包。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述第一注册信息为所述请求内容的注册信息,所述请求内容的注册信息包括所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述请求内容的边缘路由节点,所述第一确定单元具体用于从所述请求内容的注册信息中获取所述目标路由节点的网络名及所述目标路由节点的端口。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述第一确定单元具体用于根据所述内容名从所述请求内容的注册信息中获取所述归属容器的容器名;根据所述归属容器的容器名从所述归属容器的注册信息中获取所述目标路由节点的网络名及所述目标路由节点的端口所述目标路由节点为所述归属容器的边缘路由节点。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述第三确定单元具体用于确定所述转发路径所经过的路由节点中除所述请求路由节点和所述目标路由节点之外的每个路由节点在所述转发路径上的下一跳路由节点;确定所述内容名,以及所述每个路由节点指向所述下一跳路由节点的端口为所述每个路由节点对应的路由信息,并确定所述内容名以及所述目标路由节点的端口作为所述目标路由节点对应的路由信息。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,还包括:解析单元,用于通过容器解析系统解析所述归属容器以获取所述请求内容的容器树集信息,所述容器树集信息包括所述归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;第四确定单元,用于根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系;第五确定单元,用于根据所述每个容器的边缘路由节点及所述网络拓扑信息,确定所述每个容器的拓扑范围,所述拓扑范围用于指示容器与路由节点的之间包含关系;第二发送单元,用于向所述请求路由节点下发所述容器树集信息,以便所述请求路由节点将所述容器树集信息存储于所述内容请求包中,使得所述内容请求包能够根据所述容器树集信息被路由至所述目标路由节点;所述第三确定单元具体用于从所述容器树集信息包括的所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口为所述请求路由节点对应的路由信息。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述第一发送单元具体用于向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述第三发送单元具体用于向所述转发路径所经过的除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
结合第十方面或其上述实现方式的任一种,在第十方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
第十一方面,提供一种路由器,包括:第一接收单元,用于接收内容请求包,所述内容请求包携带请求内容的内容名;第一发送单元,用于当转发信息表FIB中不存在与所述第一接收单元接收的所述内容名匹配的转发表项时,向网络控制器发送路由请求消息,所述路由请求消息中携带所述内容名;第二接收单元,用于接收所述网络控制器下发的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息用于向所述路由器指示所述内容请求包的转发端口,所述第一路由信息是所述网络控制器根据获取的所述路由器的网络名、所述内容名、第一注册信息以及所述网络控制器所控制的网络的网络拓扑信息确定的,其中所述第一注册信息用于指示所述内容名、目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;第二发送单元,用于根据所述第二接收单元接收的所述第一路由信息转发所述内容请求包。
结合第十一方面,在第十一方面的一种实现方式中,所述第一注册信息为所述请求内容的注册信息,所述请求内容的注册信息包括所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述请求内容的边缘路由节点;或者,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,所述第一路由信息包括所述内容名以及所述内容请求包的转发端口,所述第二发送单元具体用于根据所述内容名从所述路由器存储的路由信息中匹配所述第一路由信息中的转发端口;通过所述第一路由信息中的转发端口转发所述内容请求包。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点,所述路由器还包括:第三接收单元,用于接收所述网络控制器发送的所述请求内容的容器树集信息,其中所述容器树集信息是所述网络控制器通过容器解析系统解析所述归属容器获得的,且所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,所述容器树集信息用于指示所述至少一个容器之间的接入关系,所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;第一添加单元,用于在所述内容请求包中添加所述容器树集信息。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,所述第一路由信息包括第一容器名以及与所述第一容器名对应的第一端口,所述第一容器名为所述容器树集信息所包括的容器名中的一个,所述第二发送单元具体用于根据所述内容请求包携带的所述容器树集信息中包含的所述第一容器名,从所述路由器存储的路由信息中匹配所述第一路由信息;通过所述第一端口转发所述内容请求包。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,还包括:第一确定单元,用于确定内容存储表CS中是否存在与所述内容名匹配的内容;第三发送单元,用于当所述CS中存在与所述内容名匹配的内容时,将所述匹配的内容发送至所述内容请求包的发送端;第二确定单元,用于当所述CS中不存在与所述请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;第四接收单元,用于当所述PIT中存在与所述内容名匹配的PIT表项时,将接收所述内容请求包的端口添加到所述匹配的PIT表项中;第三确定单元,用于当所述PIT中不存在与所述内容名匹配的PIT表项时,确定所述FIB中是否存在与所述内容名匹配的转发表项;第四发送单元,用于当所述FIB中存在与所述内容名匹配的转发表项时,根据所述匹配的转发表项发送所述内容请求包。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,还包括:第五接收单元,用于接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息用于指示另一内容请求包的转发端口;第六接收单元,用于接收所述另一内容请求包;第五发送单元,用于根据所述另一路由信息转发所述另一内容请求包。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第十一方面或其上述实现方式的任一种,在第十一方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第十二方面,提供一种网络控制器,包括:第一接收单元,用于接收请求路由节点发送的路由请求消息,所述路由请求消息中携带所述请求内容的容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中所述归属容器位于所述容器树集对应的容器树的根节点,所述容器树的子节点代表的容器是所述子节点对应的父节点代表的容器的接入容器;第一确定单元,用于根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系;第二确定单元,用于根据所述第一确定单元确定的所述每个容器的边缘路由节点及所述网络控制器所控制的网络的网络拓扑信息,确定所述每个容器的拓扑范围,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构,所述拓扑范围用于指示容器与路由节点的之间包含关系;第三确定单元,用于根据所述第一确定单元确定的所述归属容器的边缘路由节点的网络名、获取的所述请求路由节点的网络名以及所述网络拓扑信息,确定以所述请求路由节点为起点、以所述归属容器的边缘路由节点为终点的转发路径;第四确定单元,用于根据所述第二确定单元确定的所述至少一个容器的拓扑范围以及所述第三确定单元确定的所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;第一发送单元,用于向所述请求路由节点下发所述第四确定单元确定的所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述请求内容对应的内容请求包。
结合第十二方面,在第十二方面的一种实现方式中,还包括:第五确定单元,用于根据所述第二确定单元确定的所述至少一个容器的拓扑范围以及所述第三确定单元确定的所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;第二发送单元,用于向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
结合第十二方面或其上述实现方式的任一种,在第十二方面的另一种实现方式中,所述第四确定单元具体用于从所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,并确定所述每个路由节点在所述转发路径上的下一跳路由节点,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向所述下一跳路由节点的端口作为所述每个路由节点对应的路由信息。
结合第十二方面或其上述实现方式的任一种,在第十二方面的另一种实现方式中,所述第一发送单元具体用于路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
结合第十二方面或其上述实现方式的任一种,在第十二方面的另一种实现方式中,所述第二发送单元具体用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述除所述请求路由节点之外的每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
结合第十二方面或其上述实现方式的任一种,在第十二方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
第十三方面,提供一种路由器,包括:第一接收单元,用于接收内容请求包,所述内容请求包中携带请求内容的内容名;第一确定单元,用于确定转发信息表FIB中是否存在与所述第一接收单元接收的所述请求内容的内容名匹配的转发表项;第一发送单元,用于当所述第一确定单元确定所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,向网络控制器发送路由请求消息,所述路由请求消息中携带容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系;第二接收单元,用于接收所述网络控制器发送的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息包括第一容器名以及与所述第一容器名对应的端口,所述第一容器名为所述容器树集信息所包含的容器名中的一个,所述第一路由信息是所述网络控制器根据获取的所述路由器的网络名、所述容器树集信息、所述容器树集信息所包括的至少一个容器中每个容器的注册信息以及所述网络控制器所控制的网络的网络拓扑信息确定的,所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;第一匹配单元,用于根据所述容器树集信息中的所述至少一个容器的容器名匹配所述路由器存储的路由信息中的所述第二接收单元接收的所述第一路由信息;第二发送单元,用于通过所述第一匹配单元匹配的所述第一路由信息中的与所述第一容器名对应的端口转发所述内容请求包。
结合第十三方面,在第十三方面的一种实现方式中,还包括:第三接收单元,用于接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息中携带另一容器名以及所述另一容器名对应的端口;第四接收单元,用于接收另一内容请求包,所述另一内容请求包中携带所述另一容器名;第二匹配单元,用于根据所述另一容器名从所述第一路由节点存储的路由信息中匹配所述另一路由信息;第三发送单元,用于通过所述另一容器名对应的端口转发所述另一内容请求包。
结合第十三方面或其上述实现方式的任一种,在第十三方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第十三方面或其上述实现方式的任一种,在第十三方面的另一种实现方式中,还包括:第三确定单元,用于确定内容存储表CS中是否存在与所述内容名匹配的内容;第四发送单元,用于当所述CS中存在与所述内容名匹配的内容时,将所述匹配的内容发送至所述内容请求包的发送端;第四确定单元,用于当所述CS中不存在与所述请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;第一添加单元,用于当所述PIT中存在与所述内容名匹配的PIT表项时,将接收所述内容请求包的端口添加到所述匹配的PIT表项中;第五确定单元,用于当所述PIT中不存在与所述内容名匹配的PIT表项时,确定所述FIB中是否存在与所述内容名匹配的转发表项;第五发送单元,用于当所述FIB中存在与所述内容名匹配的转发表项时,根据所述匹配的转发表项发送所述内容请求包。
结合第十三方面或其上述实现方式的任一种,在第十三方面的另一种实现方式中,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第十四方面,提供一种网络控制器,包括:第一接收单元,用于接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系的内容注册信息,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口;第一存储单元,用于存储所述第一接收单元接收的所述内容注册信息。
结合第十四方面,在第十四方面的一种实现方式中,所述第一路由节点为所述待注册内容的边缘路由节点,所述内容注册信息包括待注册内容的内容名和所述第一端口。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述第一存储单元具体用于从已注册内容中确定是否存在与所述待注册内容的内容名匹配的内容;当不存在所述匹配的内容时,存储所述待注册内容的内容名,并存储所述待注册内容的内容名、获取的所述第一路由节点的网络名以及所述第一端口之间的对应关系;当存在所述匹配的内容时,在所述匹配的内容的注册信息中添加所述待注册内容的内容名、所述第一路由节点的网络名以及所述第一端口之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,还包括:第二接收单元,用于接收第二路由节点发送的内容注销消息,所述内容注销消息中携带待注销内容的内容名和第二端口,所述第二路由节点为所述待注销内容的边缘路由节点,所述第二端口为所述第二路由节点接收所述待注销内容对应的内容注销请求包的端口,第一确定单元,用于确定第一已注册内容,所述第一已注册内容为所述已注册内容中与所述待注册内容的内容名匹配的内容;第一删除单元,用于从所述第一已注册内容的注册信息中删除所述待注销内容的内容名、获取的所述第二路由节点的网络名以及所述第二端口之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述第一存储单元具体用于从已注册内容中确定是否存在与所述待注册内容的内容名匹配的内容;当存在所述匹配的内容时,在所述匹配的内容的注册信息中添加所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系;当不存在所述匹配的已注册内容时,存储所述待注册内容的内容名,并存储所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,还包括:第三接收单元,用于接收第三路由节点发送的内容注销消息,所述内容注销消息携带待注销内容的内容名与待注销内容的归属容器的容器名,第二确定单元,用于确定第二已注册内容,所述第二已注册内容为与所述待注册内容的内容名匹配的已注册内容;第二删除单元,用于从所述第二已注册内容的注册信息中删除所述待注册内容的内容名与所述待注册内容的归属容器的容器名之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述内容注销消息通过兴趣包承载。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,还包括:第四接收单元,用于接收第四路由节点发送的容器注册消息,所述第四路由节点为待注册容器的边缘路由节点,所述容器注册消息中携带待注册容器的容器名与第四端口,所述第四端口为所述第四路由节点接收所述待注册容器对应的容器注册请求包的端口;第三确定单元,用于从已注册容器中确定是否存在与所述待注册容器的容器名匹配的容器;第一添加单元,用于当存在所述匹配的容器时,在所述匹配的容器的注册信息中添加所述待注册容器的容器名、获取的所述第四路由节点的网络名和第四端口之间的对应关系;第二存储单元,用于当不存在所述匹配的容器时,所述网络控制器存储所述待注册容器的容器名,并存储所述待注册容器的容器名、所述第四路由节点的网络名以及所述第四端口之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,还包括:第五接收单元,用于接收第五路由节点发送的容器注销消息,所述第五路由节点为所述待注销容器的边缘路由节点,所述容器注销消息中携带待注销容器的容器名和第五端口,所述第五端口为所述第五路由节点接收所述待注销容器对应的容器注销请求包的端口;第四确定单元,用于确定第三已注册容器,所述第三已注册容器的容器名与所述待注销容器的容器名匹配;第三删除单元,用于从所述第三已注册容器的注册信息中删除所述待注销容器的容器名、获取的所述第五路由节点的网络名以及第五端口之间的对应关系。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述容器注销消息通过兴趣包承载。
结合第十四方面或其上述实现方式的任一种,在第十四方面的另一种实现方式中,所述内容注册消息通过兴趣包承载。
第十五方面,提供一种路由器,包括:第一接收单元,用于接收内容注册请求包,所述内容注册请求包携带待注册内容的内容名;第一确定单元,用于根据所述第一接收单元接收的所述内容注册请求包确定内容注册信息,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述内容注册请求包的端口;第一发送单元,用于向网络控制器发送内容注册消息,所述内容注册消息中携带所述第一确定单元确定的所述内容注册信息,以便所述网络控制器存储所述内容注册信息。
结合第十五方面,在第十五方面的一种实现方式中,所述第一确定单元具体用于将所述待注册内容的内容名以及所述第一端口确定为所述内容注册信息。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,还包括:第二接收单元,用于接收内容注销请求包,所述内容注销请求包中携带待注销内容的内容名;第二确定单元,用于根据所述内容注销请求包确定内容注销信息,所述内容注销信息包括所述待注销内容的内容名以及第二端口,所述第二端口为所述路由器接收所述内容注销请求包的端口;第二发送单元,用于向所述网络控制器发送内容注销消息,所述内容注销消息中携带所述内容注销信息。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,所述内容注册请求包中还携带所述待注册内容的归属容器的容器名,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,还包括:第三接收单元,用于接收内容注销请求包,所述内容注销请求包中携带待注销内容的内容名和待注销内容的归属容器的容器名;第三发送单元,用于向所述网络控制器发送内容注销消息,所述内容注销消息中携带所述待注销内容的内容名和待注销内容的归属容器的容器名。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,所述内容注销请求包为兴趣包,所述内容注销消息通过兴趣包承载。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,还包括:第四接收单元,用于接收容器注册请求包,所述容器注册消息中携带待注册容器的容器名;第三确定单元,用于确定第四端口,所述第四端口为所述路由器接收所述容器注册请求包的端口;第四发送单元,用于向所述网络控制器发送容器注册消息,所述容器注册消息中携带所述待注册容器的容器名与所述第四端口。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,所述容器注册请求包为兴趣包,所述容器注册消息通过兴趣包承载。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,还包括:第五接收单元,用于接收容器注销请求包,所述容器注销请求包中携带待注销容器的容器名;第四确定单元,用于确定第五端口,所述第五端口为所述路由器接收所述容器注销请求包的端口;第五发送单元,用于向所述网络控制器发送容器注销消息,所述容器注销消息中携带所述待注销容器的容器名和所述第五端口。
结合第十五方面或其上述实现方式的任一种,在第十五方面的另一种实现方式中,所述内容注册请求包为兴趣包,所述内容注册消息通过兴趣包承载。
第十六方面,提供一种网络控制器,包括:接收单元,用于接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示待注册内容存放位置的内容注册信息;存储单元,用于所述网络控制器存储所述内容注册信息。
结合第十六方面,在第十六方面的一种实现方式中,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口。
结合第十六方面或其上述实现方式的任一种,在第十六方面的另一种实现方式中,所述内容注册信息包括所述待注册内容的内容名和所述第一路由节点的第一端口。
结合第十六方面或其上述实现方式的任一种,在第十六方面的另一种实现方式中,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
第十七方面,提供一种网络控制器,包括:第一接收单元,用于接收请求路由节点发送的路由请求消息,所述路由请求消息中携带第一名字;第一确定单元,用于根据所述第一接收单元接收的所述第一名字确定目标路由节点的网络名;第二确定单元,用于根据获取的所述请求路由节点的网络名、所述第一确定单元确定的所述目标路由节点的网络名以及所述网络控制器所控制的网络的网络拓扑信息,确定从所述请求路由节点到所述目标路由节点的转发路径,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;第三确定单元,用于确定所述第二确定单元确定的所述转发路径所经过的除所述目标路由节点之外的其他路由节点中每个路由节点对应的路由信息,所述每个路由节点对应的路由信息包括所述目标路由节点的网络名,以及所述每个路由节点指向在所述转发路径上的下一跳路由节点的端口;第一发送单元,用于向所述每个路由节点下发所述第三确定单元确定的所述每个路由节点对应的路由信息。
结合第十七方面,在第十七方面的一种实现方式中,所述路由请求消息用于请求内容响应包的转发路径,所述第一名字为所述目标路由节点的网络名,所述目标路由节点为所述内容响应包对应的内容请求包所经过的第一个路由节点,所述内容响应包为数据包,所述内容请求包为兴趣包。
结合第十七方面或其上述实现方式的任一种,在第十七方面的另一种实现方式中,所述路由请求消息用于请求内容请求包的转发路径,所述内容请求包为兴趣包,所述第一名字为所述内容请求包中携带的请求内容的内容名,所述网络控制器存储了所述请求内容的注册信息,所述请求内容的注册信息用于指示所述请求内容的内容名与目标路由节点的网络名的对应关系,所述目标路由节点为所述请求内容的边缘路由节点,所述第一确定单元具体用于根据所述内容名从所述请求内容的注册信息中获取所述目标路由节点的网络名。
结合第十七方面或其上述实现方式的任一种,在第十七方面的另一种实现方式中,所述路由请求消息通过兴趣包承载,所述第一发送单元具体用于向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载;向所述转发路径所经过的除所述请求路由节点以及所述目标路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
第十八方面,提供一种路由器,包括:第一接收单元,用于接收消息包,所述消息包中携带第一名字;第一发送单元,用于当转发信息表FIB中不存在与所述第一接收单元接收的所述第一名字匹配的转发表项时,向网络控制器发送路由请求消息,所述路由请求消息中携带所述第一名字;第二接收单元,用于接收所述网络控制器下发的路由请求响应消息,所述路由请求响应消息中携带第一路由信息,所述第一路由信息包括目标路由节点的网络名以及所述消息包的转发端口,所述第一路由信息是所述网络控制器根据所述第一名字、获取的所述路由器的网络名以及所述网络控制器控制的网络的网络拓扑信息确定的,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构。
结合第十八方面,在第十八方面的一种实现方式中,所述消息包为内容响应包,且所述消息包为数据包,所述第一名字为所述目标路由节点的网络名,所述目标路由节点为所述内容响应包对应的内容请求包所经过的第一个路由节点,所述内容请求包为兴趣包。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,还包括:第一确定单元,用于所述路由器确定FIB中是否存在与所述目标路由节点的网络名匹配的转发表项;第二发送单元,用于当所述FIB中存在与所述目标路由节点的网络名匹配的转发表项时,所述路由器根据所述匹配的转发表项发送所述内容响应包。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,所述消息包为内容请求包,且所述内容请求包为兴趣包,所述第一名字为所述内容请求包中携带的请求内容的内容名,所述目标路由节点为所述请求内容的边缘路由节点。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,还包括:第二确定单元,用于确定内容存储表CS中是否存在与所述内容名匹配的内容;第三发送单元,用于当所述CS中存在与所述内容名匹配的内容时,将所述匹配的内容发送至所述内容请求包的发送端;第三确定单元,用于当所述CS中不存在与所述请求内容的内容名匹配的内容时,确定FIB中是否存在与所述请求内容的内容名匹配的转发表项;第四发送单元,用于当所述FIB中存在与所述内容名匹配的转发表项时,根据所述匹配的转发表项发送所述内容请求包。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,还包括:第三接收单元,用于接收所述网络控制器发送的主动路由下发消息,所述主动路由下发消息中携带另一路由信息,所述另一路由信息包括另一目标路由节点的网络名以及所述另一目标路由节点对应的转发端口;第四接收单元,用于接收所述另一内容请求包,所述另一内容请求包中包含所述另一目标路由节点的网络名;第五发送单元,用于通过所述另一路由信息中的转发端口转发所述另一内容请求包。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,所述主动路由下发消息通过兴趣包承载。
结合第十八方面或其上述实现方式的任一种,在第十八方面的另一种实现方式中,所述路由请求消息通过兴趣包承载,所述路由请求响应消息通过数据包承载。
第十九方面,提供一种路由转发系统,包括至少一个网络控制器、与所述网络控制器具有通信连接的两个或两个以上路由节点,所述路由节点包括请求路由节点和目标路由节点;所述请求路由节点用于:接收内容请求包,所述内容请求包携带请求内容的内容名;当转发信息表FIB中不存在与所述内容名匹配的转发表项时,向所述网络控制器发送路由请求消息,所述路由请求消息中携带所述内容名;接收所述网络控制器发送的路由信息,所述路由信息用于向所述请求路由节点指示所述内容请求包的转发端口;根据所述路由信息转发所述内容请求包;
所述网络控制器用于:接收所述请求路由节点发送的所述路由请求消息;根据所述所述路由请求消息中携带的所述内容名以及所述网络控制器存储或获取的第一注册信息,确定与所述内容名对应的所述目标路由节点的网络名以及所述目标路由节点的端口,其中,通过所述目标路由节点的端口,所述内容请求包能够被路由至所述请求内容,所述第一注册信息用于指示所述内容名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;根据所述目标路由节点的网络名以及获取的所述请求路由节点的网络名,从所述网络控制器所控制的网络的网络拓扑信息中确定转发路径,其中,所述转发路径以所述请求路由节点为起点、以所述目标路由节点为终点,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;根据所述转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点;向所述请求路由节点发送所述请求路由节点对应的所述路由信息。
结合第十九方面,在第十九方面的一种实现方式中,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;所述网络控制器具体用于:根据所述内容名从所述请求内容的注册信息中获取与所述内容名对应的所述归属容器的容器名;根据所述归属容器的容器名从所述归属容器的注册信息中获取与所述归属容器的容器名对应的所述目标路由节点的网络名及所述目标路由节点的端口,所述目标路由节点为所述归属容器的边缘路由节点。
第二十方面,提供一种内容注册系统,包括至少一个网络控制器,以及与所述网络控制器连接的至少一个路由节点;所述路由节点用于:接收内容注册请求包,所述内容注册请求包携带待注册内容的内容名;根据所述内容注册请求包确定内容注册信息,所述内容注册信息用于指示内容名、所述路由节点的网络名和所述路由节点的第一端口之间的对应关系,所述第一端口为所述路由节点接收所述内容注册请求包的端口;向网络控制器发送内容注册消息,所述内容注册消息中携带所述内容注册信息;所述网络控制器用于:接收所述路由节点发送的所述内容注册消息,所述内容注册消息中携带所述内容注册信息;存储所述内容注册信息。
结合第二十方面,在第二十方面的一种实现方式中,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述路由节点的网络名和所述路由节点的第一端口的对应关系,其中,所述路由节点为所述待注册内容的归属容器的边缘路由节点。
综上,本发明实施例提供的路由转发方法、内容注册方法、对应的路由器、网络控制器以及系统,通过在网络控制器中存储注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的路由转发方法的示意性流程图。
图2是本发明实施例的网络拓扑示意图。
图3是本发明实施例的容器拓扑范围的示意图。
图4是本发明另一个实施例的路由转发方法的示意性流程图。
图5是本发明另一个实施例的路由转发方法的示意性流程图。
图6是本发明另一个实施例的路由转发方法的示意性流程图。
图7是本发明一个实施例的内容注册方法的示意性流程图。
图8是本发明另一个实施例的内容注册方法的示意性流程图。
图9是本发明另一个实施例的路由转发方法的示意性流程图。
图10是本发明另一个实施例的路由转发方法的示意性流程图。
图11是本发明一个实施例的路由转发方法的示意性流程图。
图12是本发明一个实施例的内容注册方法的流程图。
图13是本发明一个实施例的内容注销方法的流程图。
图14是本发明一个实施例的路由转发的流程图。
图15是本发明另一个实施例的内容注册方法的流程图。
图16是本发明另一个实施例的容器注册方法的流程图。
图17是本发明另一个实施例的路由转发方法的流程图。
图18是本发明另一个实施例的路由转发方法的示意性流程图。
图19是本发明另一个实施例的路由转发方法的示意性流程图。
图20是本发明另一个实施例的路由转发方法的示意性流程图。
图21是本发明一个实施例的网络控制器的示意性框图。
图22是本发明一个实施例的路由器的示意性框图。
图23是本发明一个实施例的网络控制器的示意性框图。
图24是本发明另一个实施例提供的路由器的示意性框图。
图25是本发明另一个实施例提供的网络控制器的示意性框图。
图26是本发明另一个实施例提供的路由器的示意性框图。
图27是本发明另一个实施例提供的网络控制器的示意性框图。
图28是本发明另一个实施例提供的路由器的示意性框图。
图29是本发明一个实施例的网络控制器的示意性框图。
图30是本发明一个实施例的路由器的示意性框图。
图31是本发明一个实施例的网络控制器的示意性框图。
图32是本发明另一个实施例提供的路由器的示意性框图。
图33是本发明另一个实施例提供的网络控制器的示意性框图。
图34是本发明另一个实施例提供的路由器的示意性框图。
图35是本发明另一个实施例提供的网络控制器的示意性框图。
图36是本发明另一个实施例提供的路由器的示意性框图。
图37是本发明一个实施例提供的路由转发系统的示意性框图。
图38是本发明一个实施例提供的内容注册系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是本发明一个实施例的路由转发方法的示意性流程图。图1的方法由网络控制器执行。图1的方法包括:
110、网络控制器接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的内容名。
120、网络控制器根据内容名以及网络控制器存储或获取的第一注册信息,确定与内容名对应的目标路由节点的网络名以及目标路由节点的端口,且通过目标路由节点的端口,与请求内容对应的内容请求包能够被路由至请求内容,第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系。
在一种实现方式下,该第一注册信息存储在网络控制器上;在其它一些实现方式下,该第一注册信息可以存储在数据存储中心或其它存储设备中,网络控制器通过访问该数据存储中心或该其它存储设备获取该第一注册信息。本发明实施例对于数据存储中心或其他存储设备的类型不做限定。
130、网络控制器根据目标路由节点的网络名以及获取的请求路由节点的网络名,从网络控制器所控制的网络的网络拓扑信息中确定以请求路由节点为起点、以目标路由节点为终点的转发路径,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构。
140、所述网络控制器根据所述转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点。
150、所述网络控制器向所述请求路由节点发送所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述内容请求包。
可见,本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
在一种实现方式下,在步骤130之后,所述方法还包括:所述网络控制器根据所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息用于指示所述路由信息对应的路由节点转发所述内容请求包的端口;所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发与所述每个路由节点对应的所述路由信息,以便所述每个路由节点根据与所述每个路由节点对应的所述路由信息转发所述内容请求包。
具体的,所述网络控制器确定所述转发路径所经过的路由节点中除所述请求路由节点和所述目标路由节点之外的每个路由节点在所述转发路径上的下一跳路由节点;所述网络控制器确定所述内容名,以及所述每个路由节点指向所述下一跳路由节点的端口为所述每个路由节点对应的路由信息,并确定所述内容名以及所述目标路由节点的端口为所述目标路由节点对应的路由信息。
需说明的是,该步骤和前述步骤140以及步骤150的执行顺序不做限定,也可以同时执行。
可见,除所述请求路由节点之外,网络控制器可以将所述转发路径上的其它路由节点上的路由信息也计算出来,并主动下发给各个路由节点,进一步提供路由转发效率。
在另一种实现方式下,除所述请求路由节点之外的其它路由节点可以在接收到内容请求包时再向网络控制器发送路由请求消息,网络控制器根据该路由请求消息下发对应的路由信息。此时该其它路由节点和请求路由节点的路由信息获取方式类似,在此不再赘述。
需要说明的是,本发明实施例对第一注册信息的具体形式不作限定。
可选地,作为一个实施例,第一注册信息可为请求内容的注册信息,目标路由节点为请求内容的边缘路由节点,网络控制器根据内容名以及网络控制器存储或获取的第一注册信息,确定与内容名对应的目标路由节点的网络名以及目标路由节点的端口,可包括:网络控制器从请求内容的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
具体地,网络控制器可以将网络中已注册的内容的注册信息(如内容名、与该内容名对应的边缘路由节点及端口)存储在内容数据库中,当网络控制器接收到请求内容的内容名时,从内容数据库中查找该请求内容的注册信息,从而确定该请求内容的边缘路由节点及其端口。
具体地,请求内容注册信息的具体形式可以如表一所示:
表一:请求内容的注册信息
内容名 边缘路由节点的网络名 转发端口
China\GD\Huawei Ra、Re 3、1
China\BJ\Cisco Rf 5
举例说明,当上述内容名为China\GD\Huawei时,根据表一可知,China\GD\Huawei存在两个边缘路由节点Ra和Re,对应的转发端口分别为3和1。此时,目标路由节点的网络名以及目标路由节点的端口可以为Ra和3,也可以为Re和1。由此可知,目标路由节点的网络名和目标路由节点的端口可以是一个集合的概念,目标路由节点的网络名可以包括一个或多个边缘路由节点的网络名,但目标路由节点的网络名与目标路由节点的端口存在一一对应的关系。
需要说明的是,上述请求内容的边缘路由节点指与该请求内容直接连接的路由节点,即该请求内容对应的最后一跳路由节点。例如,如表一所示,通过Ra的转发端口3或Re的转发端口1可以直接路由至内容名China\GD\Huawei对应的请求内容。
可选地,作为另一个实施例,第一注册信息可包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点;网络控制器根据内容名以及网络控制器存储或获取的第一注册信息,确定与内容名对应的目标路由节点的网络名以及目标路由节点的端口包括:网络控制器根据内容名从请求内容的注册信息中获取归属容器的容器名;网络控制器根据归属容器的容器名从归属容器的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
具体地,网络控制器可以包括内容名数据库和容器数据库,其中内容名数据库存储网络中已注册内容及其归属容器的对应关系,容器数据库存储网络中已注册容器、已注册容器的边缘路由节点及其端口的对应关系。当网络控制器接收到请求内容的内容名时,先去内容数据库中查找该请求内容的注册信息,获得请求内容的归属容器的容器名;接着,根据该容器名去容器数据库中查找该归属容器的注册信息,得到该归属容器的边缘路由节点及其端口。
需要说明的是,在本发明实施例中,容器是用于存储一组内容的存储空间,其中,该一组内容可以是一个内容或多个内容。例如,一个国家的整个网络可以看成是一个国家级的容器,该容器是位于该国网络内的所有内容的存储空间;类似地,一个省的整个网络可看成是一个省级的容器,该省级容器是位于该省网络内的所有内容的存储空间。此外,公司或组织的整个网络也可看成是位于该公司或组织的网络内所有内容的存储空间,移动设备,如飞机、火车或轮船等的网络可以看成是该移动设备网络内所有内容的存储空间,手机、主机或其他存储内容的电子设备的网络也可以看成该网络内所有内容的存储空间,本发明实施例不限于此。相对应的,容器的容器标识可以是任意内容标识前缀,如fanlingyuan.com/blog,也可以是公司或组织,如:huawei.com、tsinghua.edu,还可以是移动网络,如飞机、火车、轮船,如airchina/ca1314,还可以是手机、主机或其它存储内容的电子设备,如chinamobile/fanlingyuan,还可以是网络域,如cn、cn/gd、cn/sd,等等。一个容器可以对应一个容器标识,也可以对应两个以上容器标识,本发明实施例对此不作限定,但为了便于描述,以下均以容器与容器标识一一对应为例进行说明,并且以容器标识指代容器。
此外,一个容器可以在拓扑关系上包括另一个容器,例如,一个省级网络是国家网络的一部分,因此,可认为该国家容器在拓扑关系上包括该省级容器。容器还可以包括接入容器,接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。也就是说,一个容器的接入容器是在拓扑关系上包括该容器且存在将内容请求包路由到该容器的容器。具体地,当容器B包括容器A,且容器B中存在将该内容请求包路由到容器A的转发表项,则定义容器B是容器A的接入容器,容器B为容器A提供接入服务。一个容器可以为一个或多个其它容器提供接入服务,一个或多个其它容器可以为同一个容器提供接入服务,换言之,一个容器可以是一个或多个其它容器的接入容器,一个或多个其它容器可以是同一个容器的接入容器。
在网络架构中,容器包括至少一个路由节点,该至少一个路由节点中的一个或多个路由节点负责内容请求包的转发,该容器称为该至少一个路由节点归属的容器。通过容器的接入容器中包括的至少一个路由节点中的一个或多个路由节点,可以将该内容请求包路由到达该容器。例如,国家级容器“cn”在拓扑关系上包括省级容器“cn/gd”和“cn/sd”,且通过国家级容器“cn”中包括的一个或多个路由节点,可以将内容请求包路由到达省级容器“cn/gd”和“cn/sd”等,则国家级容器“cn”为省级容器“cn/gd”和“cn/sd”等提供接入服务;容器huawei.com/cn”和“huawei.com/us”在拓扑关系上包括容器“huawei.com”,且通过容器“huawei.com/cn”和“huawei.com/us”中包括的一个或多个路由节点,可以将内容请求包路由到达容器“huawei.com”,则容器“huawei.com/cn”和“huawei.com/us”为容器“huawei.com”提供接入服务,但本发明实施例不限于此。
还需要说明的是,请求内容的归属容器是能够直接路由到该请求内容的容器,其中,该请求内容的归属容器中存在该请求内容的内容名对应的转发表项,该请求内容的内容名与该请求内容的归属容器相对应。该请求内容可以有一个或多个归属容器,相应地,该请求内容的内容名可以对应一个或多个归属容器,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。
具体地,请求内容注册信息的具体形式可以如表二所示:
表二:请求内容的注册信息
内容名 容器
China\GD\Huawei E1
China\BJ\Cisco E2
举例说明,假设步骤110中的内容名为China\GD\Huawei,根据表一可知,China\GD\Huawei的归属容器为E1。需要说明的是,该内容名的归属容器也可以是多个,本发明实施例对此不作限定。
容器的注册信息的具体形式可以如表三所示:
表三:容器名的注册信息
容器名 边缘路由器的网络名 转发端口
E1 Rc 3
E2 Re 5
由表三可知,E1的边缘路由器为Rc,对应的端口为3,那么表二中的内容名为China\GD\Huawei的内容的注册信息以及表三中E1(China\GD\Huawei的归属容器)的注册信息共同组成了步骤120中的第一注册信息。通过第一注册信息,建立了China\GD\Huawei、Rc与Rc的端口3之间的对应关系。
需要说明的是,容器的边缘路由节点可指与该容器直接连接的路由节点,即该容器对应的最后一条的路由节点,通过该边缘路由节点能够直接路由至该容器内。举例说明,如表三所示,通过边缘路由节点Rc的端口3可以直接路由至容器E1内。
应理解,本发明对步骤130中的网络控制器获取请求路由节点的网络名的具体方式不作限定,具体地,可以在步骤110中的路由请求消息中直接携带该请求路由节点的网络名,或者网络控制器预先建立其端口与网络中的路由节点之间的对应关系,当接收到该请求路由节点发送的路由请求消息时,通过该路由请求消息的接收端口以及预先建立的对应关系获取该请求路由节点的网络名。
应理解,步骤130中的网络拓扑信息反应了网络控制器所管辖的ICN网络的拓扑结构,即上述ICN网络中的网络设备(如路由节点)之间的拓扑关系。与IP网络以位置标识网络设备不同,ICN网络的网络拓扑信息以网络设备的网络名来标识各自的拓扑关系,无需获取每个网络设备的物理位置。当两个网络设备之间存在实际的物理连接时,体现在网络拓扑信息中,所述两个网络设备之间存在邻接关系,因此,该网络拓扑信息可以通过网络设备之间互相广播消息、确定彼此之间的连接关系的方式建立。
需要说明的是,本发明实施例对上述网络拓扑信息的具体形式不作限定,例如可以是网络拓扑图的形式或者其他可以表示拓扑关系的数据结构。举例说明,图2为以网络拓扑图的形式表示网络拓扑信息的一个示意图,在图2中,网络控制器控制6个路由节点,该6个路由节点的网络名分别为Ra、Rb、Rc、Rd、Re和Rf。以Ra为例,Ra与Rb、Rc和Rd之间存在物理连接,体现在图2中,Ra与Rb、Rc和Rd之间分别存在一个连线。
应理解,本发明实施例对步骤130中的转发路径的确定方式不作具体限定。具体地,网络控制器结合网络拓扑信息,首先确定从请求路由节点至目标路由节点的可达路径,当计算出第一条可达路径后将该路径确定为上述转发路径;或者,网络控制器从计算出的所有可达路径中选择最短路径(如利用所有顶点对间最短距离算法(APSP,All PairsShortest Paths),即Floyd算法)作为上述转发路径;网络控制器还可以选择一条最安全的路径最为上述转发路径。
还应理解,当目标路由节点为多个路由节点时(如请求内容存在多个边缘路由器或请求内容的归属容器存在多个边缘路由器),网络控制器可以综合考虑多个路由节点与请求路由节点的拓扑关系,从中选择最佳转发路径(如最短、最安全等)。
应理解,本发明实施例对步骤140中的路由信息的确定方式不作具体限定。
可选地,作为一个实施例,网络控制器根据转发路径以及目标路由节点的端口,确定转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息可包括:网络控制器确定转发路径所经过的路由节点中除所述请求路由节点和所述目标路由节点之外的每个路由节点在转发路径上的下一跳路由节点;网络控制器将内容名,以及每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将内容名以及目标路由节点的端口作为目标路由节点对应的路由信息。
举例说明,步骤130确定的内容名China\GD\Huawei的转发路径为Ra-Rb-Rc,其中Rc为请求内容的边缘路由节点,且Rc通过端口3可路由至China\GD\Huawei对应的请求内容,Ra与Rb通过端口1相连,Rb与Rc通过端口2相连,则网络控制器分别向Ra、Rb和Rc下发路由信息,Ra的路由信息为China\GD\Huawei,1;Rb的路由信息为China\GD\Huawei,2;Rc的路由信息为China\GD\Huawei,3。
应理解,当ICN网络可基于容器路由时,图1的方法还可包括:网络控制器通过容器解析系统解析归属容器以获取请求内容的容器树集信息,容器树集信息包括归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;网络控制器根据网络控制器存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;网络控制器根据每个容器的边缘路由节点及网络拓扑信息,确定每个容器的拓扑范围,拓扑范围用于指示容器与路由节点的之间包含关系;网络控制器向请求路由节点下发容器树集信息,以便请求路由节点将容器树集信息存储于内容请求包中,使得内容请求包能够根据容器树集信息被路由至目标路由节点;所述网络控制器根据所述转发路径确定所述请求路由节点对应的路由信息,包括:所述网络控制器从所述容器树集信息包括的所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口为所述请求路由节点对应的路由信息。其中,容器的注册信息可以存储在网络控制器上,也可以存储在数据存储中心或其他存储设备上,以供该网络控制器访问获取。
对于所述转发路径上的除所述请求路由节点之外的其它路由节点,除所述目标路由节点外,与所述请求路由节点的路由信息获取方式类似。具体的,网络控制器从容器树集信息包括的至少一个容器的拓扑范围中确定转发路径所经过的路由节点中除所述请求路由节点和目标路由节点之外的每个路由节点对应的第一拓扑范围,并确定每个路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;网络控制器将第一拓扑范围对应的容器的容器名、所述每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将归属容器的容器名以及目标路由节点的端口作为目标路由节点对应的路由信息。
具体地,上述容器树集信息可以树的深度遍历将该请求内容的内容名和该请求内容的容器树集信息排成序列,且该树中的任意两个节点之间以分隔符分隔,其中,该树的第n层节点与该第n层节点的前一个节点以第n-1分割符分隔,1<n≤m,m为该树的深度。具体地,可以采用树的深度遍历将请求内容的内容名和该请求内容的容器树集信息在{}中排成序列,节点之间采用“|”作为分隔符;其中根节点与其孩子节点分隔符“|”数量为1;随着树的深度的增加,分隔符“|”的数量也逐级增加。例如,Name1={huawei.com/products/index.html|huawei.com/cn|huawei.com/us|cn/gd}表示内容“huawei.com/products/index.html”的归属容器是“huawei.com/cn”,“huawei.com/us”和“cn/gd”,这三个容器均为该内容名的孩子节点。又如,Name2={fanlingyuan.com/blog/2012/June01/main.html|hosting.com||cn/gd||cn/beijjing||us/ca|cloudsrv.com}表示内容“fanlingyuan.com/blog/2012/June01/main.html”的归属容器为“hosting.com”和“cloudsrv.com”,而“hosting.com”在全球有三个数据中心,分别位于容器“cn/gd”“cn/beijjing”和“us/ca”中,即“cn/gd”“cn/beijjing”和“us/ca”这三个容器为“hosting.com”提供接入服务,这三个容器是容器“hosting.com”的孩子节点。
可选地,当采用有向无环图表示请求内容的内容名和该请求内容的容器树集信息之间的关系时,在内容请求包中,将该有向无环图的入口顶点所代表的内容名和该有向无环图中入口顶点外的其它顶点所代表的该请求内容的容器树集信息排成序列,该有向无环图的所有顶点之间均以分隔符分隔,并在该有向无环图的所有作为有向边的起点的顶点后携带接入参数,该接入参数用于指示从该顶点发起的有向边的终点在该序列中的序号。
具体地,可以将请求内容的内容名和该请求内容的容器树集信息在{}中排成序列,其中请求内容的内容名排在序列的第一位,请求内容的容器树集信息排列在内容名之后;请求内容的内容名和各容器的容器信息之间采用“|”作为分隔符;分隔符“|”数量固定为1,并在请求内容的内容名和该请求内容的容器信息后增加指向其它顶点的参数,如,in=n1,n2,…其中n1,n2为下一个顶点在序列的中的序号,其中,请求内容的内容名在序列中的序号为0。如果在容器树集信息后没有携带in参数,则默认该容器信息为出口顶点。例如,Name1={fanlingyuan.com/blog/2012/June01/main.html;in=1,2|hosting.com;in=3,4|cloudsrv.com;in=4,5|cn/gd|cn/beijing|us/ca},内容“fanlingyuan.com/blog/2012/June01/main.html”后携带参数“in=1,2”,其中1和2分别是容器“hosting.com”和“cloudsrv.com”在容器序列中的序号,表示这两个容器是该内容的归属容器。而“hosting.com”后携带参数“in=3,4”表示“hosting.com”的接入容器是“cn/gd”和“cn/beijing”,“cloudsrv.com”携带参数“in=4,5”表示“cloudsrv.com”的接入容器是“cn/beijing”和“us/ca”,其中“cn/beijing”同时为“hosting.com”和“cloudsrv.com”提供接入服务,但本发明实施例不限于此。
应理解,本发明实施例对上述确定每个容器的拓扑范围的具体方式不作限定,例如,容器A的边缘路由器为Ra、Rb、Rc和Rd,那么可以在网络拓扑图中将上述4个路由节点连线组成一个封闭的形状,形状内部的范围即为容器A的拓扑范围;也可以确定一个不包含上述4个路由节点的最大圆弧形范围作为容器A的拓扑范围;可选地,也可以直接以地域范围表示容器的拓扑范围,如容器为广东,则该容器的拓扑范围包含整个广东地区。
举例说明上述每个路由节点对应的第一拓扑范围的确定方式,如图3所示,请求内容的容器树集信息包括HW、Cn/gd/sz、Cn/gd以及Cn三个容器,其中HW为该请求内容的归属容器,且HW、Cn/gd/sz、Cn/gd和Cn中后者为前者的接入容器,且上述每个容器的范围如图3中的圆弧形区域所示;假设转发路径为R5-R4-R3-R2-R1,从图3可以看出,HW、Cn/gd/sz、Cn/gd和Cn的拓扑范围均不包括路由节点R5,选择HW、Cn/gd/sz、Cn/gd和Cn中拓扑范围最大的拓扑范围(即Cn的拓扑范围)作为R5对应的拓扑范围,同理可知R4对应的第一拓扑范围也为Cn的拓扑范围,R3对应的第一拓扑范围为Cn/gd,R2对应的拓扑范围为Cn/gd/sz,对于R1对应的第一拓扑范围,可以采用上述相同的方式来确定,但由于R1为容器HW的边缘路由节点(根据容器的注册信息得到),可以直接建立R1与容器HW的拓扑范围的对应关系。
接下来,假设R5通过端口5与R4相连,R4通过端口4与R3相连,R3通过端口3与R2相连,R2通过端口2与R1相连,R1通过端口1可以路由至请求内容的归属容器HW,则R5的路由信息(容器名+转发端口)为Cn,5,R4的路由信息为Cn,4,R3的路由信息为Cn/gd,3,R2的路由信息为Cn/gd/sz,2,R1的路由信息为HW,1。
应理解,上述容器解析系统可以集成于网络控制器侧,也可以是第三方系统,且上述容器解析系统也可以供路由节点访问。上述容器解析系统存储了容器与容器的接入容器之间的对应关系。
可选地,所述内容请求包可以是兴趣包;
可选地,所述路由请求消息通过兴趣包(Interest Packet)承载。
可选地,所述网络控制器向所述请求路由节点发送所述请求路由节点对应的路由信息,包括:所述网络控制器向所述请求路由节点发送通过数据包(Data Packet)承载的路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息。
所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发与所述每个路由节点对应的所述路由信息,包括:所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述除所述请求路由节点之外的每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
所述网络控制器向所述转发路径所经过的除所述请求路由节点之外的路由节点发送通过兴趣包承载的主动路由下发消息。
可选地,承载所述路由请求消息的兴趣包包括用于标识所述路由请求消息为控制消息的第一标识,以及标识所述路由请求消息的第二标识。
进一步地,所述承载所述路由请求消息的兴趣包的内容名项(Content Name,为所述兴趣包的包头)包括所述第一标识;所述兴趣包的选择项(Selector)包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为Inquiry操作符。
可选地,承载所述路由请求响应消息的数据包包括用于标识所述路由请求响应消息为控制消息的第一标识,以及标识所述路由请求响应消息的第二标识。
进一步地,所述承载所述路由请求响应消息的数据包的内容名项(Content Name,为所述数据包的包头)包括所述第一标识;所述数据包的数据项(Data)包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为Inquiry操作符。
可选地,承载所述主动路由下发消息的兴趣包包括用于标识所述主动路由下发消息为控制消息的第一表示,以及标识所述主动路由下发消息的第二表示。
进一步地,所述承载所述主动路由下发消息的兴趣包的内容名项包括所述第一标识,所述兴趣包的选择项包括所述第二表示。
所述第一标识为CONTROL关键字,所述第二表示为Force操作符。
上文中结合图1-图3,从网络控制器的角度详细描述了根据本发明实施例的路由转发方法,下面将结合图4,从路由节点的角度描述根据本发明实施例的路由转发方法。
应理解,网络控制器侧描述的路由节点与网络控制器的交互及相关特性、功能等与路由节点侧的描述相应,为了简洁,适当省略重复的描述。
图4是本发明另一个实施例的路由转发方法的示意性流程图。图4的方法由请求路由节点执行,该请求路由节点可以是上述网络控制器所控制的网络中的任意一个路由节点。图4的方法包括:
410、请求路由节点接收内容请求包,内容请求包携带请求内容的内容名;
420、当FIB中不存在与内容名匹配的转发表项时,请求路由节点向网络控制器发送路由请求消息,路由请求消息中携带内容名;
430、请求路由节点接收网络控制器下发的路由请求响应消息,路由请求响应消息中携带第一路由信息,第一路由信息用于向请求路由节点指示内容请求包的转发端口,第一路由信息是网络控制器根据获取的请求路由节点的网络名、内容名、第一注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,其中第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
440、请求路由节点根据第一路由信息转发内容请求包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
需要说明的是,步骤420中的路由请求消息还可以携带该请求路由节点的网络名。
本发明实施例对步骤430中的第一路由信息的具体形式不作限定,可以是内容名+转发端口;也可以是容器名+转发端口。
可选地,第一注册信息为请求内容的注册信息,请求内容的注册信息包括内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为请求内容的边缘路由节点;或者,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点。第一路由信息包括内容名以及内容请求包的转发端口,请求路由节点根据第一路由信息转发内容请求包可包括:请求路由节点根据内容名从请求路由节点存储的路由信息中匹配第一路由信息中的转发端口;请求路由节点通过第一路由信息中的转发端口转发内容请求包。
可选地,第一注册信息包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示请求内容的内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点,图4的方法在请求路由节点根据第一路由信息转发内容请求包之前,还可包括:请求路由节点接收网络控制器发送的请求内容的容器树集信息,其中容器树集信息是网络控制器通过容器解析系统解析归属容器获得的,且容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;请求路由节点在内容请求包中添加容器树集信息。
此时,第一路由信息可包括第一容器名以及与第一容器名对应的第一端口,第一容器名为容器树集信息所包括的容器名中的一个,请求路由节点根据第一路由信息转发内容请求包可包括:请求路由节点根据内容请求包携带的容器树集信息中包含的第一容器名,从请求路由节点存储的路由信息中确定与第一容器名匹配的第一路由信息;请求路由节点通过第一路由信息中包括的第一端口转发内容请求包。
举例说明,请求路由节点接收到的容器树集信息为HW|Cn/gd/sz||Cn/gd|||Cn,其中HW为请求内容的归属容器,HW、Cn/gd/sz、Cn/gd和Cn后者依次为前者的接入容器,请求路由节点接收到该容器树集信息后,将该容器树集信息存入该请求内容对应的内容请求包中;请求路由节点还接收到网络控制器发送的第一路由信息Cn,3(转发端口),并将该第一路由信息存储到其FIB中;然后,请求路由节点根据接收到的容器树集信息与FIB中的表项进行匹配,匹配到该第一路由信息,然后通过端口3将内容请求包转发出去。
可选地,作为一个实施例,请求路由节点向网络控制器发送路由请求消息之前,还可包括:请求路由节点确定CS中是否存在与内容名匹配的内容;当CS中存在与内容名匹配的内容时,请求路由节点将匹配的内容发送至内容请求包的发送端;当CS中不存在与请求内容的内容名匹配的内容时,请求路由节点确定PIT中是否存在与请求内容的内容名匹配的PIT表项;当PIT中存在与内容名匹配的PIT表项时,请求路由节点将接收内容请求包的端口添加到匹配的PIT表项中;当PIT中不存在与内容名匹配的PIT表项时,请求路由节点确定FIB中是否存在与内容名匹配的转发表项;当FIB中存在与内容名匹配的转发表项时,请求路由节点根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,图4的方法还可包括:请求路由节点接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息用于指示另一内容请求包的转发端口;请求路由节点接收另一内容请求包;请求路由节点根据另一路由信息转发另一内容请求包。
举例说明,请求路由节点记为路由节点A,在网络中存在一个路由节点B向网络控制器请求内容请求包B的转发路径,网络控制器计算出的内容请求包B的转发路径经过路由节点A,则路由节点A会收到一个主动路由下发消息,该主动路由下发消息指示内容请求包B的转发端口。当路由节点A收到内容请求包B后,按照该主动路由下发消息的指示将内容请求包B转发出去。
图5是本发明另一个实施例的路由转发方法的示意性流程图。图5的方法由网络控制器执行。
应理解,图5的方法中涉及的部分概念及特征已经在图1-图4中进行了详细描述,为避免重复,此处不再赘述。图5的方法包括:
510、网络控制器接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的容器树集信息,容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系。
其中,归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
520、网络控制器根据网络控制器存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;
530、网络控制器根据每个容器的边缘路由节点及网络控制器所控制的网络的网络拓扑信息,确定每个容器的拓扑范围,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构,拓扑范围用于指示容器与路由节点的之间包含关系;
540、网络控制器根据归属容器的边缘路由节点的网络名、获取的请求路由节点的网络名以及网络拓扑信息,确定以请求路由节点为起点、以归属容器的边缘路由节点为终点的转发路径;
550、所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
560、所述网络控制器向所述请求路由节点下发所述请求路由节点对应的所述路由信息,以便所述请求路由节点根据所述请求路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
在其它实施例中,网络控制器也可以将请求路由节点和转发路径上的其它路由节点的路由信息都计算出来,并下发给每个路由节点。具体的,网络控制器根据至少一个容器的拓扑范围以及转发路径,确定转发路径所经过的路由节点中每个路由节点对应的路由信息,路由信息包括容器名和容器名对应的端口,其中每个路由节点对应的路由信息中的容器名为容器树集信息包括的至少一个容器中的容器的容器名;网络控制器向每个路由节点下发每个路由节点对应的路由信息,以便每个路由节点根据每个路由节点对应的路由信息转发请求内容对应的内容请求包。
对于转发路径上除所述请求路由节点之外的其它路由节点的路由信息,网络控制器可以在获取所述请求路由节点的路由信息时同时获取,主动下发;也可以在所述出所述请求路由节点之外的其它路由节点向所述网络控制器发送路由请求消息时再进行获取和下发。具体的,所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
可见,本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
可选地,作为一个实施例,网络控制器根据至少一个容器的拓扑范围以及转发路径确定请求路由节点对应的路由信息可包括:网络控制器从至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,并确定所述请求路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;网络控制器将第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口作为所述请求路由节点对应的路由信息。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载。
可选地,所述网络控制器向所述请求路由节点下发所述请求路由节点对应的路由信息,包括:网络控制器向请求路由节点发送通过数据包承载的路由响应消息。
可选地,所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,包括:所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
上文中结合图5,从网络控制器的角度详细描述了根据本发明实施例的路由转发方法,下面将结合图6,从路由节点的角度描述根据本发明实施例的路由转发方法。
应理解,网络控制器侧描述的路由节点与网络控制器的交互及相关特性、功能等与路由节点侧的描述相应,为了简洁,适当省略重复的描述。
图6是本发明另一个实施例的路由转发方法的示意性流程图。图6的方法由路由节点执行,例如可以是图5中的网络控制器所控制网络中的路由器。
610、请求路由节点接收内容请求包,内容请求包中携带请求内容的内容名。
可选地,所述内容请求包中还可以携带请求内容的容器树集信息。,容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
620、请求路由节点确定FIB中是否存在与请求内容的内容名匹配的转发表项;
630、当FIB中不存在与请求内容的内容名匹配的转发表项时,请求路由节点确定FIB中是否存在与至少一个容器的容器名匹配的转发表项;
640、当FIB中不存在与至少一个容器的容器名匹配的转发表项,请求路由节点向网络控制器发送路由请求消息,路由请求消息中携带请求路由节点的网络名以及容器树集信息;
需要说明的是,当所述内容请求包中没有携带所述容器树集信息时,步骤630可以不执行,即当步骤620确定当FIB中不存在与请求内容的内容名匹配的转发表项时,请求路由节点向网络控制器发送路由请求消息。
650、请求路由节点接收网络控制器发送的路由请求响应消息,路由请求响应消息中携带第一路由信息,第一路由信息包括第一容器名以及与第一容器名对应的转发端口,第一容器名为容器树集信息所包含的容器名中的一个,第一路由信息是网络控制器根据获取的请求路由节点的网络名、容器树集信息、容器树集信息所包括的至少一个容器中每个容器的注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
660、请求路由节点根据所述容器树集信息中的至少一个容器的容器名匹配请求路由节点存储的路由信息中的第一路由信息;
670、请求路由节点通过第一路由信息中的与第一容器名对应的端口转发内容请求包。
在其它一些实现方式下,容器树集信息存储在请求路由节点上,请求路由节点可以根据所述内容名从本地查询获得与所述内容名对应的容器树集信息;或者,请求路由节点可以通过查询容器解析系统获得与所述内容名对应的容器树集信息。这里的容器解析系统可以是集成在请求路由节点或网络控制器上,也可以是独立的第三方系统,本发明实施例对此不作限定。
可见,本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,图6的方法还可包括:请求路由节点接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息中携带另一容器名以及另一容器名对应的端口;请求路由节点接收另一内容请求包,另一内容请求包中携带另一容器名;请求路由节点根据另一容器名从第一路由节点存储的路由信息中匹配另一路由信息;请求路由节点通过另一容器名对应的端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,请求路由节点向网络控制器发送路由请求消息之前,还可包括:请求路由节点确定CS中是否存在与内容名匹配的内容;当CS中存在与内容名匹配的内容时,请求路由节点将匹配的内容发送至内容请求包的发送端;当CS中不存在与请求内容的内容名匹配的内容时,请求路由节点确定PIT中是否存在与请求内容的内容名匹配的PIT表项;当PIT中存在与内容名匹配的PIT表项时,请求路由节点将接收内容请求包的端口添加到匹配的PIT表项中;当PIT中不存在与内容名匹配的PIT表项时,请求路由节点确定FIB中是否存在与内容名匹配的转发表项;当FIB中存在与内容名匹配的转发表项时,请求路由节点根据匹配的转发表项发送内容请求包。
在现有技术中,内容的注册的过程如下:内容提供者向其边缘路由器发布待注册内容的内容名,该边缘路由器存储待注册内容的路由信息,该路由信息包括该内容名和接收到该内容名的端口;接着,内容提供者向周围相邻的路由节点广播该路由信息,接收到该广播消息的路由节点存储该路由信息,并继续向其相邻路由节点广播该路由信息。
通过上述方式进行内容注册,当ICN网络规模较大时,每个路由节点不可避免的需要存储大量路由信息,在路由请求时,只有少数几个路由节点参与内容请求包的转发,其余路由节点存储的与该请求内容相关的路由信息则为冗余信息,而且这种内容注册方式不便于内容注册信息的统一管理。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图7是本发明一个实施例的内容注册方法的示意性流程图。图7的方法由网络控制器执行。图7的方法包括:
710、网络控制器接收第一路由节点发送的内容注册消息,
所述内容注册消息中携带用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系的内容注册信息,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口;
720、网络控制器存储内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
需要说明的是,本发明实施例对步骤710中内容注册信息的具体形式不作限定。例如,可以是待注册内容的内容名、待注册容器的边缘路由器的网络名以及该边缘路由器指向该待注册内容的端口的对应关系;也可以是待注册内容的内容名与该待注册内容的归属容器的对应关系。所述内容注册信息还可以包括该待注册内容的归属容器、所述归属容器的边缘路由节点的网络名和所述归属容器的边缘路由节点的端口的对应关系。
具体地,步骤710中的第一路由节点可以为待注册内容的边缘路由节点,内容注册信息包括待注册内容的内容名和第一端口,第一端口为第一路由节点接收待注册内容对应的内容注册请求包的端口。
网络控制器存储内容注册信息可包括:网络控制器从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当不存在匹配的内容时,网络控制器存储待注册内容的内容名,并存储待注册内容的内容名、获取的第一路由节点的网络名以及第一端口之间的对应关系;当存在匹配的内容时,网络控制器在匹配的内容的注册信息中添加待注册内容的内容名、第一路由节点的网络名以及第一端口之间的对应关系。
对应上述内容注册方式,内容注销方式可包括:网络控制器接收第二路由节点发送的内容注销消息,内容注销消息中携带待注销内容的内容名、第二路由节点的网络名和第二端口,第二路由节点为待注销内容的边缘路由节点,第二端口为第二路由节点接收待注销内容对应的内容注销请求包的端口,网络控制器确定第一已注册内容,第一已注册内容为已注册内容中与待注册内容的内容名匹配的内容;网络控制器从第一已注册内容的注册信息中删除待注册内容的内容名、获取的第二路由节点的网络名以及第二端口之间的对应关系。
可选地,作为另一个实施例,内容注册信息包括待注册内容的内容名以及待注册内容的归属容器的容器名,网络控制器存储内容注册信息可包括:网络控制器从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当存在匹配的内容时,网络控制器在匹配的内容的注册信息中添加待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系;当不存在匹配的已注册内容时,网络控制器存储待注册内容的内容名,并存储待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系。
对应于上述内容注册方式,内容注销方式可包括:网络控制器接收第三路由节点发送的内容注销消息,内容注销消息携带待注销内容的内容名与待注销内容的归属容器的容器名,网络控制器确定第二已注册内容,第二已注册内容为与待注销内容的内容名匹配的已注册内容;网络控制器从第二已注册内容的注册信息中删除待注销内容的内容名与待注销内容的归属容器的容器名之间的对应关系。
可选地,作为一个实施例,内容注销消息通过兴趣包承载。
当内容注册信息指示待注册内容及待注册内容的归属容器的对应关系时,图7的方法还可包括:网络控制器接收第四路由节点发送的容器注册消息,第四路由节点为待注册容器的边缘路由节点,容器注册消息中携带待注册容器的容器名与第四端口,第四端口为第四路由节点接收待注册容器对应的容器注册请求包的端口;网络控制器从已注册容器中确定是否存在与待注册容器的容器名匹配的容器;当存在匹配的容器时,网络控制器在匹配的容器的注册信息中添加待注册容器的容器名、第四路由节点的网络名和第四端口之间的对应关系;当不存在匹配的容器时,网络控制器存储待注册容器的容器名,并存储待注册容器的容器名、第四路由节点的网络名以及第四端口之间的对应关系。
对应与上述容器注册信息,容器注销信息可以包括:网络控制器接收第五路由节点发送的容器注销消息,第五路由节点为待注销容器的边缘路由节点,容器注销消息中携带待注销容器的容器名和第六端口,第六端口为第六路由节点接收待注销容器对应的容器注销请求包的端口;网络控制器确定第三已注册容器,第三已注册容器的容器名与待注销容器的容器名匹配;网络控制器从第三已注册容器的注册信息中删除待注销容器的容器名、获取的第五路由节点的网络名以及第五端口之间的对应关系。
可选地,作为另一个实施例,内容注册消息通过兴趣包承载。
可选地,承载所述内容注册消息的兴趣包包括用于标识所述路由请求消息为控制消息的第一标识,以及标识所述内容注册消息的第二标识。
进一步地,所述承载所述内容注册消息的兴趣包的内容名项包括所述第一标识;所述兴趣包的选择项包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为Register操作符。
可选地,作为一个实施例,所述内容注销消息通过兴趣包承载。
可选地,承载所述内容注销消息的兴趣包包括用于标识所述内容注销消息为控制消息的第一标识,以及标识所述内容注销消息的第二标识。
进一步地,所述承载所述内容注销消息的兴趣包的内容名项包括所述第一标识;所述兴趣包的选择项包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为un-Register操作符。
可选地,作为另一个实施例,容器注册消息通过兴趣包承载。
可选地,承载所述容器注册消息的兴趣包包括用于标识所述容器注册消息为控制消息的第一标识,以及标识所述容器注册消息的第二标识。
进一步地,所述承载所述容器注册消息的兴趣包的内容名项包括所述第一标识;所述兴趣包的选择项包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为Enroll操作符。
可选地,作为另一个实施例,容器注销消息通过兴趣包承载。
可选地,承载所述容器注销消息的兴趣包包括用于标识所述容器注销消息为控制消息的第一标识,以及标识所述容器注销消息的第二标识。
进一步地,所述承载所述容器注销消息的兴趣包的内容名项包括所述第一标识;所述兴趣包的选择项包括所述第二标识。
所述第一标识为CONTROL关键字,所述第二标识为un-Enroll操作符。
上文中结合图7,从网络控制器的角度详细描述了根据本发明实施例的内容注册方法,下面将结合图8,从路由节点的角度描述根据本发明实施例的内容注册方法。
应理解,网络控制器侧描述的路由节点与网络控制器的交互及相关特性、功能等与路由节点侧的描述相应,为了简洁,适当省略重复的描述。
图8是本发明另一个实施例的内容注册方法的示意性流程图。图8的方法由第一路由节点执行,第一路由节点为图7中的网络控制器所控制网络中的一个路由节点。图8的方法包括:
810、第一路由节点接收内容注册请求包。内容注册请求包携带待注册内容的内容名;
820、第一路由节点根据内容注册请求包确定内容注册信息。所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述内容注册请求包的端口;
830、第一路由节点向网络控制器发送内容注册消息,内容注册消息中携带内容注册信息,以便网络控制器存储内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
可选地,作为一个实施例,内容注册包携带待注册内容的内容名,第一路由节点根据内容注册请求包确定内容注册信息,包括:第一路由节点将待注册内容的内容名以及第一端口确定为内容注册信息。
可选地,作为另一个实施例,图8的方法还可包括:第一路由节点接收内容注销请求包,内容注销请求包中携带待注销内容的内容名;第一路由节点确定内容注销信息,内容注销信息包括待注销内容的内容名以及第二端口,第二端口为第一路由节点接收内容注销请求包的端口;向网络控制器发送内容注销消息,内容注销消息中携带内容注销信息。
可选地,作为另一个实施例,内容注册请求包中还携带所述待注册内容的归属容器的容器名,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
需说明的是,内容注册信息也可以理解为两种对应关系:一是待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,二是待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,这两种对应关系可以都在内容注册请求包中携带,也可以通过相同或不同种类的包分别携带。
可选地,作为另一个实施例,图8的方法还可包括:第一路由节点接收内容注销请求包,内容注销请求包中携带待注销内容的内容名和待注销内容的归属容器的容器名;向网络控制器发送内容注销消息,内容注销消息中携带待注销内容的内容名和待注销内容的归属容器的容器名。
可选地,作为另一个实施例,内容注销请求包为兴趣包,内容注销消息通过兴趣包承载。
可选地,作为另一个实施例,图8的方法还可包括:第一路由节点接收容器注册请求包,容器注册消息中携带待注册容器的容器名;第一路由节点确定第四端口,第四端口为第一路由节点接收容器注册请求包的端口;第一路由节点向网络控制器发送容器注册消息,容器注册消息中携带待注册容器的容器名与第四端口。
可选地,作为另一个实施例,容器注册请求包为兴趣包,所述容器注册消息通过兴趣包承载。
可选地,作为另一个实施例,图8的方法还可包括:第一路由节点接收容器注销请求包,容器注销请求包中携带待注销容器的容器名;第一路由节点确定第五端口,第五端口为第一路由节点接收容器注销请求包的端口;第一路由节点向网络控制器发送容器注销消息,容器注销消息中携带待注销容器的容器名和第五端口。
本发明实施例还提供另一种内容注册方法,该方法包括网络控制器接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示待注册内容存放位置的内容注册信息;所述网络控制器存储所述内容注册信息。
具体的,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口。
在一种实现方式下,所述内容注册信息包括所述待注册内容的内容名和所述第一路由节点的第一端口。至于所述第一路由节点的网络名可以在内容注册消息中携带,也可以是网络控制器根据所述第一端口或其它信息查询获得的。
在另一种实现方式下,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
图9是本发明另一个实施例的路由转发方法的示意性流程图。图9的方法可以由网络控制器执行。图9的方法包括:
910、网络控制器接收请求路由节点发送的路由请求消息,路由请求消息中携带第一名字;
920、网络控制器根据第一名字确定目标路由节点的网络名;
930、网络控制器根据获取的请求路由节点的网络名、目标路由节点的网络名以及网络控制器所控制的网络的网络拓扑信息,确定从请求路由节点到目标路由节点的转发路径,第二网络名为请求路由节点的网络名,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
940、网络控制器确定转发路径所经过的除目标路由节点之外的其他路由节点中每个路由节点对应的路由信息,每个路由节点对应的路由信息包括目标路由节点的网络名,以及每个路由节点指向在转发路径上的下一跳路由节点的端口;
950、网络控制器向每个路由节点下发每个路由节点对应的路由信息。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
本发明实施例对第一名字的形式不作具体限定,例如,可以是路由节点的网络名,也可以是内容名。
可选地,作为一个实施例,对于内容响应包也需要通过FIB路由转发的ICN网络(如没有PIT回溯功能的ICN网络),当步骤910中的路由请求消息用于请求内容响应包的转发路径时,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容响应包为数据包,内容请求包为兴趣包。
举例说明,假设内容请求包的转发路径为R1-R2-R3,那么R3获得请求内容后,向网络控制器发送第一名字,该第一名字即为R1。接着网络控制器根据R3、R1以及网络拓扑图,确定内容响应包的转发路径为R3-R2-R1,且R1通过端口1与R2相连,R2通过端口2与R3相连,则向R1下发路由信息R1,1,向R2下发路由信息R1,2,通过以上路由信息可以将该内容响应包路由回R3,R3直接将该内容响应包返给请求端。
可选地,作为另一个实施例,路由请求消息可用于请求内容请求包的转发路径,内容请求包为兴趣包,第一名字为请求包中携带的请求内容的内容名,网络控制器存储了请求内容的注册信息,注册信息用于指示内容名与目标路由节点的网络名的对应关系,目标路由节点为请求内容的边缘路由节点;网络控制器根据第一名字确定目标路由节点的网络名可包括:网络控制器根据内容名从请求内容的注册信息中获取目标路由节点的网络名。
举例说明,请求路由节点R1发送的路由请求消息中携带请求内容的内容名A,网络控制器通过该请求内容的注册信息获知该请求内容的边缘路由节点为R3,R3与请求内容链接的端口为3;网络控制器根据R1、R3以及网络拓扑图确定转发路径为R1-R2-R3,且R1通过端口1与R2相连,R2通过端口2与R3相连;网络控制器下发R1的路由信息:R3,1,R2的路由信息R3,2。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,网络控制器向每个路由节点下发每个路由节点对应的路由信息,包括:网络控制器向请求路由节点发送通过数据包承载的路由请求响应消息,并向转发路径除请求路由节点和目标路由节点之外的路由节点下发通过兴趣包承载的主动路由消息。
上文中结合图9,从网络控制器的角度详细描述了根据本发明实施例的路由转发方法,下面将结合图10,从路由节点的角度描述根据本发明实施例的路由转发方法。
应理解,网络控制器侧描述的路由节点与网络控制器的交互及相关特性、功能等与路由节点侧的描述相应,为了简洁,适当省略重复的描述。
图10是本发明另一个实施例的路由转发方法的示意性流程图。图10的方法可以由请求路由节点执行,该请求路由节点可以是图9中的网络控制器控制的网络中的一个路由器。图10的方法包括:
1010、请求路由节点接收消息包,消息包中携带第一名字;
1020、当FIB中不存在与第一名字匹配的转发表项时,请求路由节点向网络控制器发送路由请求消息,路由请求消息中携带第一名字;
1030、请求路由节点接收网络控制器下发的路由请求响应消息,路由请求响应消息中携带第一路由信息,第一路由信息包括目标路由节点的网络名以及消息包的转发端口,第一路由信息是网络控制器根据第一名字、获取的请求路由节点的网络名以及网络控制器控制的网络的网络拓扑信息确定的,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,消息包为内容响应包,且消息包为数据包,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容请求包为兴趣包。
可选地,作为另一个实施例,当转发信息表FIB中不存在与第一名字匹配的转发表项时,请求路由节点向网络控制器发送路由请求消息之前,还可包括:请求路由节点确定FIB中是否存在与目标路由节点的网络名匹配的转发表项;当FIB中存在与目标路由节点的网络名匹配的转发表项时,请求路由节点根据匹配的转发表项发送内容响应包。
可选地,作为另一个实施例,消息包为内容请求包,且内容请求包为兴趣包,第一名字为内容请求包中携带的请求内容的内容名,目标路由节点为请求内容的边缘路由节点。
可选地,作为另一个实施例,当转发信息表FIB中不存在与第一名字匹配的转发表项时,请求路由节点向网络控制器发送路由请求消息之前,还可包括:请求路由节点确定CS中是否存在与内容名匹配的内容;当CS中存在与内容名匹配的内容时,请求路由节点将匹配的内容发送至内容请求包的发送端;当CS中不存在与请求内容的内容名匹配的内容时,请求路由节点确定FIB中是否存在与请求内容的内容名匹配的转发表项;当FIB中存在与内容名匹配的转发表项时,请求路由节点根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,图10的方法还可包括:请求路由节点接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息包括另一目标路由节点的网络名以及所述另一目标路由节点对应的转发端口;请求路由节点接收另一内容请求包,所述另一内容请求包中携带所述另一目标路由节点的网络名;请求路由节点通过另一路由信息中的转发端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
下面结合具体例子,更加详细地描述本发明实施例。应注意,图11至图20的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图11至图20的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
图11是本发明一个实施例的路由转发方法的示意性流程图。图11的方法由CCN节点执行,例如可以是CCN网络中的路由节点。在图11的方法中,CCN节点与网络控制器之间的消息交互通过CONTROL关键字进行标识,代表该消息为控制层面的消息,没有CONTROL关键字的消息为数据层面的消息;此外,路由请求消息承载于兴趣包中,路由请求响应消息承载于数据包中,主动路由下发消息同样承载于兴趣包中;路由请求消息的内容名项(ContentName)是CONTROL/内容名,而与路由请求响应消息与主动路由下发消息的内容名项均为CONTROL/路由节点的网络名,其中路由器的网络名用于指示该主动路由下发消息中携带的路由信息对应的路由节点。应注意,此处关键字的形式以及消息的格式仅仅是一个例子,并非要将本发明实施例限定于此。
1101、接收消息包。
1102、判断该消息包是兴趣包还是数据包:当该消息包是兴趣包(InterestPacket)时,则执行1103(为了区分,记为兴趣包1);当该消息包是数据包(Data Packet)时,则执行步骤1117。
1103、判断该兴趣包1是否包含CONTROL关键字:当该兴趣包1不含CONTROL关键字时,执行步骤1104;当该兴趣包含CONTROL关键字时,则执行步骤1114。
应理解,CONTROL关键字区分该兴趣包对应的消息是控制层面的消息还是数据层面的消息。
1104、CS匹配:当CS匹配成功,执行步骤1105;当CS匹配失败,则执行步骤1106。
CS与兴趣包1的内容名匹配。
1105、返回该兴趣包1对应的数据包,该数据包中包含匹配成功的内容。
1106、PIT匹配:当PIT匹配成功,执行步骤1107;当PIT匹配失败,则执行步骤1108。
PIT与兴趣包1的内容名匹配。
1107、更新PIT表项。
1108、FIB匹配:当FIB匹配成功,执行步骤1109;当FIB匹配失败,则执行步骤1110。
FIB与兴趣包1的内容名匹配。
1109、转发到FIB匹配端口,并执行步骤1107。
1110、生成路由请求消息,向网络控制器发送该路由请求消息。
将该路由请求消息承载于兴趣包2中,该兴趣包2含有CONTROL关键字。
1111、将兴趣包1缓存至等待(Wait)队列中,并记录缓存时间。
1112、判断等待队列是否满列:当等待队列满列时,执行1113。
1113、将缓存时间最长的兴趣包转发至默认端口或丢弃。
1114、网络名是否匹配:当网络名匹配时,执行步骤1115;当网络名不匹配时,如果是兴趣包,则执行步骤1108,如果是数据包则执行步骤1123。
需要说明的是,该ICN节点接收到了包含CONTROL字符的兴趣包1,可以判断该兴趣包中承载的是主动路由下发消息,网络名匹配说明该主动路由下发消息中承载的是该CCN节点的路由信息,网络名不匹配说明该主动路由下发消息中承载的不是该CCN节点的路由信息。
1115、添加该主动路由下发消息中的路由信息至FIB表中。
1116、等待队列中是否有匹配的兴趣包:当存在匹配的兴趣包时,执行步骤1109。
1117、PIT匹配:当PIT匹配成功时,执行步骤1118;当PIT匹配失败时,则执行步骤1122。
1118、转发至PIT匹配端口。
1119、该数据包能否被缓存:当该数据包可以被缓存时,执行步骤1120;当该数据包不能被缓存时,执行步骤1121。
可以由数据包中的老化时间来指示,当老化时间大于0是,表示该数据包可以缓存,当老化时间为0时,表示该数据包不能被缓存。
1120、将该数据包存储至CS中。
1121、移除PIT中相应表项。
1122、判断该数据包是否包含CONTROL关键字:当含有CONTROL关键字时,执行步骤1114;当不含有CONTROL关键字时,则执行步骤1123。
1123、丢弃该数据包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
图12是本发明一个实施例的内容注册方法的流程图。
1210、Ra接收内容提供者发送的待注册内容:huawei/cona.jpg。
Ra为待注册内容的边缘路由节点。
1220、边缘路由器向网络控制器发送内容注册消息。
通过兴趣包发送该内容注册消息,该兴趣包的内容名项(Content Name)可以为:CONTROL/huawei/cona.jpg,其中CONTROL关键字用于标识该内容注册消息为控制消息;兴趣包的选择项(Selector)可包含:Information={Register;huawei/cona.jpg;Ra-port0},其中,Register操作符表示该消息为内容注册消息,port0表示路由节点Ra接收到内容提供者提供的该待注册内容的端口。
网络控制器将该注册内容存储到内容数据库中,如果该内容数据库中已经存储了huawei/cona.jpg与其他路由节点及端口的对应关系,增加huawei/cona.jpg与Ra及port0的对应关系;如果该内容数据库中不存在huawei/cona.jpg,建立一个新的表项来存储huawei/cona.jpg与Ra及port0的对应关系。
1230、Ra接收网络控制器发送的内容注册响应消息。
通过数据包发送该内容注册响应消息,该数据包中可以包含注册成功或注册失败的标识信息,还可以包括注册失败的原因,如该注册内容已存在等。
当注册成功时,可选地,Ra在FIB中记录该待注册内容的路由信息:huawei/cona.jpg,Ra,port0。
本发明实施例中,由网络控制器的内容数据库对注册内容进行统一存储和管理,降低了每个路由节点的存储量。
图13是本发明一个实施例的内容注销方法的流程图。
1310、Ra接收内容注销者发送的待注销内容:huawei/cona.jpg。
Ra为待注销内容的边缘路由节点。
1320、边缘路由器向网络控制器发送内容注销消息。
通过兴趣包发送该内容注销消息,该兴趣包的内容名项(Content Name)可以为:CONTROL/huawei/cona.jpg,其中CONTROL关键字用于标识该内容注销消息为控制消息;兴趣包的选择项(Selector)可包含:Information={un-Register;huawei/cona.jpg;Ra-port0},其中,un-Register操作符表示该消息为内容注销消息,port0表示路由节点Ra接收到内容注销者提供的该待注册内容的端口。
网络控制器从内容数据库中删除huawei/cona.jpg、Ra和port0的对应关系,如果删除该对应关系后,huawei/cona.jpg不存在与其他路由节点即端口的对应关系,可以将huawei/cona.jpg完全删除。
1330、Ra接收网络控制器发送的内容注销响应消息。
通过数据包发送该内容注销响应消息,该数据包中可以包含注销成功或注册失败的标识信息,还可以包括注销失败的原因,如huawei/cona.jpg不存在等。
当注销成功时,可选地,Ra在FIB中删除该待注册内容的路由信息:huawei/cona.jpg,Ra,port0。
图14是本发明一个实施例的路由转发的流程图。图14是基于内容名的路由转发方法。
1410、请求端向其边缘路由节点Ra发送内容请求包。
该内容请求包携带请求内容的内容名huawei/cona.jpg。
1420、Ra向网络控制器发送路由请求消息。
该路由请求消息通过兴趣包发送,该兴趣包的内容名项为CONTROL/huawei/cona.jpg,选择项包括Information={Inquiry;huawei/cona.jpg;Ra-port0},其中,Inquiry操作符表示该消息为路由请求消息,port0表示路由节点Ra接收到请求端发送的huawei/cona.jpg的端口。
1430、网络控制器向Ra发送路由请求响应消息。
网络控制器通过图1所述的方法确定目标路由节点为Rd,Rd通过端口4与请求内容相连。并计算出从Ra到Rd的最短路径:Ra-Rb-Rc-Rd,其中Ra通过端口1与Rb相连,Rb通过端口2与Rc相连,Rc通过端口3与Rd相连。步骤1430中的路由请求响应消息通过数据包下发,该数据包的内容名项为CONTROL/huawei/cona.jpg,数据项(Data)为Inquiry;huawei/cona.jpg;Face1,其中Face1为上述内容请求包对应的转发端口。
1440-1460、网络控制器向Rb、Rc、Rd发送主动路由下发消息。
该主动路由下发消息可以通过兴趣包发送,3个兴趣包的内容名项分别为CONTROL/Rb,CONTROL/Rc,CONTROL/Rd;上述3个兴趣包的选择项依次为:Information={Force;huawei/cona.jpg-Face2},Information={Force;huawei/cona.jpg-Face3},Information={Force;huawei/cona.jpg-Face4},其中Force为主动路由下发消息对应的操作符。可选地,Rb、Rc、Rd可以通过数据包向网络控制器发送主动路由下发响应消息,用于指示主动路由下发消息接收成功或失败,以及失败的原因。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
图15是本发明另一个实施例的内容注册方法的流程图。
1510、Ra接收注册请求端发送的待注册信息:huawei/cona.jpg|huawei。
huawei/cona.jpg为待注册内容,huawei为huawei/cona.jpg的归属容器;Ra为待注册内容的边缘路由节点。
1520、边缘路由器向网络控制器发送内容注册消息。
通过兴趣包发送该内容注册消息,该兴趣包的内容名项(Content Name)可以为:CONTROL/huawei/cona.jpg,其中CONTROL关键字用于标识该内容注册消息为控制消息;兴趣包的选择项(Selector)可携带:Information={Register;huawei/cona.jpg|huawei},其中,Register操作符表示该消息为内容注册消息。
网络控制器将该注册内容存储到内容数据库中,如果该内容数据库中已经存储了huawei/cona.jpg与其他归属容器的对应关系,增加huawei/cona.jpg与huawei的对应关系;如果该内容数据库中不存在huawei/cona.jpg,建立一个新的表项来存储huawei/cona.jpg与huawei的对应关系。
1530、Ra接收网络控制器发送的内容注册响应消息。
通过数据包发送该内容注册响应消息,该数据包中可以包含注册成功或注册失败的标识信息,还可以包括注册失败的原因,如该注册内容已存在等。
本发明实施例中,由网络控制器的内容数据库对注册内容进行统一存储和管理,降低了每个路由节点的存储量。
应理解,与图15中的内容注册方法对应的内容注销方法与图15的描述相类似,主要区别在于将操作符Register换成un-Register,为避免重复,此处不再赘述。
图16是本发明另一个实施例的容器注册方法的流程图。
1610、Ra接收注册请求端发送的待容器信息:huawei。
Ra为待注册容器的边缘路由节点。
1620、边缘路由器向网络控制器发送容器注册消息。
通过兴趣包发送该容器注册消息,该兴趣包的内容名项(Content Name)可以为:CONTROL/huawei,其中CONTROL关键字用于标识该容器注册消息为控制消息;兴趣包的选择项(Selector)可携带:Information={Enroll;Ra-port0},其中,Enroll操作符表示该消息为容器注册消息,Ra表示huawei的边缘路由节点,port0为Ra对应的端口,通过Ra的port0能够路由至huawei内部。
网络控制器将该注册容器存储到容器数据库中,如果该容器数据库中已经存储了huawei与其他边缘路由节点及端口的对应关系,增加huawei与Ra-port0的对应关系;如果该容器数据库中不存在huawei的注册信息,建立一个新的表项来存储huawei与Ra-port0的对应关系。
1630、Ra接收网络控制器发送的容器注册响应消息。
通过数据包发送该容器注册响应消息,该数据包中可以包含注册成功或注册失败的标识信息,还可以包括注册失败的原因,如该容器已存在等。
应理解,与图16中的容器注册方法对应的容器注销方法与图16的描述相类似,主要区别在于将操作符Enroll换成un-Enroll,为避免重复,此处不再赘述。
图17是本发明另一个实施例的路由转发方法的流程图。图17是基于容器名的路由方法。
1710、路由节点R5接收请求端发送的内容请求包,该内容请求包包括如下信息:huawei/cona.jpg|huawei||cn/gd/sz|||cn/gd||||cn。
其中,huawei/cona.jpg是请求内容的内容名,后面的该请求内容的容器树集信息。具体地,huawei是huawei/cona.jpg的归属容器,cn/gd/sz是huawei的接入容器,cn/gd是cn/gd/sz的接入容器,cn是cn/gd的接入容器。R5是请求端的边缘路由节点,
1720、R5进行CS匹配、PIT匹配以及FIB匹配,并均未匹配成功,向网络控制器发送路由请求消息,该路由请求消息中携带huawei/cona.jpg的容器树集信息huawei||cn/gd/sz|||cn/gd||||cn。
1730、网络控制器根据容器huawei的注册信息获取huawei的边缘路由节点R1,以及与huawei连接的端口1;然后计算出R5至R1的最短路径,如图17所示为R5-R4-R3-R2-R1以及各个路由节点彼此连接的端口,其中R5通过端口5与R4相连,R4通过端口4与R3相连,R3通过端口3与R2相连,R2通过端口2与R1相连。并行的,网络控制器还根据huawei、cn/gd/sz、cn/gd、cn的注册信息确定每个容器的边缘路由节点,进而结合网络控制器存储的网络拓扑图确定每个容器的拓扑范围,如图17中的圆形区域所示。最后网络控制器确定转发路径上每个路由节点的路由信息,由于R5、R4均在cn之外,所以R5的路由信息为cn,5,R4的路由信息为cn,4;同理,R3的路由信息为cn/gd,3;R2的路由信息为cn/gd/sz,2;R1的路由信息为huawei,1。网络控制器向R5下发路由请求响应消息,该路由请求响应消息中携带R5对应的路由信息。
1740-1770、网络控制器向R4、R3、R2及R1发送主动路由下发消息,并分别携带以上各个路由节点对应的路由信息。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
图18是本发明另一个实施例的路由转发方法的示意性流程图。图18是基于容器路由的转发方法,当请求内容中含有容器树集信息时,网络控制器直接利用该容器树集信息确定各个路由节点的路由信息;当请求内容中不包含容器树集信息时,网络控制器根据请求内容的内容名确定该请求内容的归属容器,然后通过容器解析系统解析该归属容器,获得该请求内容的容器树集信息,接着网络控制器利用获得容器树集信息确定各个路由节点的路由信息。
1801、网络控制器接收路由请求消息。
1802、该网络控制器判断该内容请求包中是否携带请求内容的容器树集信息:当不包含该容器树集信息时,执行步骤1803;当包含该容器树集信息时,则执行步骤1805。
1803、该网络控制器查询内容数据库,获得请求内容的归属容器。
内容数据库中存储了网络中已注册的内容与已注册的内容的归属容器之间的对应关系。
1804、该网络控制器根据归属容器的容器名,查询容器解析系统,从容器解析系统解析出该请求内容的容器树集信息。
1805、该网络控制器查询容器数据库,获得容器树集信息所包含的每个容器的边界路由节点。
1806、该网络控制器根据该每个容器边界路由节点及该网络控制器所控制网络的网络拓扑图,得到各个容器的网络拓扑范围。
例如可以将每个容器的边缘路由节点连线,得到一个封闭的拓扑范围。
1807、该网络控制器根据上述归属容器的边缘路由节点、请求路由节点以及网络拓扑图确定从该请求路由节点至归属容器的边缘路由节点的最佳转发路径。
应注意,归属容器的边缘路由节点为多个时,可以分别确定,并综合考虑后选择最佳路径。上述最佳转发路径可以是最短路径,也可以是最安全路径等。还应理解,步骤1806与步骤1807可以先后执行,也可以并行执行,本发明实施例对此不作具体限定。
1808、该网络控制器根据转发路径及各个容器的网络拓扑范围确定出转发路径所经过的各个路由节点的路由信息。
如采用图5的方法中所述的路由信息的确定方式。
1809、向转发路径所经过的各个路由节点下发路由信息。
对于请求路由节点,可以通过路由请求响应消息的方式下发路由信息;对于转发路径上的除请求路由节点之外的其他路由节点,可以以主动路由下发消息的方式下发路由信息。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
图19是本发明另一个实施例的路由转发方法的示意性流程图。图19描述的是路由请求响应包的路由转发方法,可以但不限应用于没有PIT回溯能力的ICN网络。该路由转发方法是一种基于网络名的路由转发方法,该网络名可以是路由节点的网络名。该方法由ICN节点执行,例如可以是路由器。
1901、接收内容响应消息;
1902、判断该内容响应消息中是否含有CONTROL关键字:当包含CONTROL关键字时,执行步骤1903;当不包含CONTROL关键字时,则执行步骤1912。
需要说明的是,当包含CONTROL关键字时,该内容响应消息是路由节点与网络控制器交互的控制层面的消息,该消息中包含路由信息;当不包含CONTROL关键字时,该内容响应消息是数据层面的消息。
1903、路由节点的网络名是否匹配:当网络名匹配时,执行步骤1904;当网络名不匹配时,则执行步骤1907。
网络名匹配说明该内容响应消息中携带的路由信息是发给当前路由节点的;网络名不匹配说明该内容响应消息中携带的路由信息是其他路由节点的。
1904、添加路由信息到FIB表中。
1905、判断等待队列中是否有匹配的消息包:当存在匹配的消息包时,执行步骤1906。
1906、添加至FIB表中。
1907、判断FIB是否匹配:当FIB匹配时,执行步骤1906;当FIB不匹配时,则执行步骤1908。
1908、生成并向网络控制器发送路由请求消息。
1909、将内容响应消息对应的消息包缓存至等待队列中,并记录缓存时间。
1910、判断等待队列是否满列:当满列时,执行步骤1911。
1911、将缓存时间最长的内容消息包转发至默认端口或丢弃。
1912、存储至CS中,并继续执行步骤1907。
图20是本发明另一个实施例的路由转发方法的示意性流程图。图20描述的是基于网络名的内容请求消息的发送方式。该方法由ICN节点执行,例如可以是路由器。
2001、接收内容请求消息。
2002、判断是否包含CONTROL字符:当不包含CONTROL字符,执行步骤2003;当包含CONTROL字符,则执行步骤2011。
包含CONTROL字符说明该内容请求消息是控制层面的消息,该消息中包含路由信息;不包含CONTROL字符说明该内容请求消息是数据层面的消息。
2003、CS匹配:当匹配成功,执行步骤2004;当匹配失败,则执行步骤2005。
对CS中的内容名进行匹配。
2004、返回匹配到的内容。
2005、FIB匹配内容名:当匹配成功,执行步骤2006;当匹配失败,则执行步骤2007。
2006、转发至FIB匹配端口。
2007、生成并向网络控制器发送路由请求消息。
2008、将内容请求消息对应的消息包缓存至等待队列中,并记录缓存时间。
2009、判断等待队列是否满列:当满列时,则执行步骤2010。
2010、将缓存时间最长的消息包转发至默认端口或丢弃。
2011、判断路由器的网络名是否匹配:当网络名不匹配时,执行步骤2005;当网络名匹配时,则执行步骤2012。
2012、在FIB表中添加该内容请求消息中的路由信息。
2013、判断等待队列是否存在匹配的消息包:当存在匹配的消息包时,执行步骤2006。
上文中结合图1至图4,详细描述了根据本发明实施例的路由转发方法,下面将结合图21至图22,详细描述根据本发明实施例的网络控制器和路由器。
图21是本发明一个实施例的网络控制器的示意性框图。图21的网络控制器2100能够实现图1至图3中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器2100包括第一接收单元2110,第一确定单元2120,第二确定单元2130,第三确定单元2140以及第一发送单元2150。
第一接收单元2110,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的内容名;
第一确定单元2120,用于根据第一接收单元2110接收的内容名以及网络控制器2100存储或获取的第一注册信息,确定与内容名对应的目标路由节点的网络名以及目标路由节点的端口,且通过目标路由节点的端口,与请求内容对应的内容请求包能够被路由至请求内容,第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系;
第二确定单元2130,用于根据第一确定单元2120确定的目标路由节点的网络名以及网络控制器2100获取的请求路由节点的网络名,从网络控制器2100所控制的网络的网络拓扑信息中确定以请求路由节点为起点、以目标路由节点为终点的转发路径,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
第三确定单元2140,用于根据第二确定单元2130确定的转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点;
第一发送单元2150,用于向所述请求路由节点发送第三确定单元2140确定的所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述内容请求包。可选地,还可以包括:第六确定单元(图中未示出),用于根据所述第二确定单元确定的所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息用于指示所述路由信息对应的路由节点转发所述内容请求包的端口;第三发送单元(图中未示出),用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发所述第六确定单元确定的与所述每个路由节点对应的所述路由信息,以便所述每个路由节点根据与所述每个路由节点对应的所述路由信息转发所述内容请求包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息(或通过网络控制器获取这些信息),进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,第一注册信息为请求内容的注册信息,请求内容的注册信息包括内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为请求内容的边缘路由节点,第一确定单元2120具体用于从请求内容的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
可选地,作为另一个实施例,第一注册信息包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点,第一确定单元2120具体用于根据内容名从请求内容的注册信息中获取归属容器的容器名;根据归属容器的容器名从归属容器的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
可选地,作为另一个实施例,第三确定单元2140具体用于确定转发路径所经过的路由节点中除所述请求路由节点和目标路由节点之外的每个路由节点在转发路径上的下一跳路由节点;将内容名,以及每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将内容名以及目标路由节点的端口作为目标路由节点对应的路由信息。
可选地,作为另一个实施例,还包括:解析单元,用于通过容器解析系统解析归属容器以获取请求内容的容器树集信息,容器树集信息包括归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;第四确定单元,用于根据网络控制器2100存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;第五确定单元,用于根据每个容器的边缘路由节点及网络拓扑信息,确定每个容器的拓扑范围,拓扑范围用于指示容器与路由节点的之间包含关系;第二发送单元,用于向请求路由节点下发容器树集信息,以便请求路由节点将容器树集信息存储于内容请求包中,使得内容请求包能够根据容器树集信息被路由至目标路由节点;第三确定单元2140具体用于从所述容器树集信息包括的所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口为所述请求路由节点对应的路由信息。
除去目标路由节点的路由信息容易获得之外,其它路由节点的路由信息的获得和所述请求路由节点类似。具体的,第三确定单元2140具体用于从容器树集信息包括的至少一个容器的拓扑范围中确定转发路径所经过的路由节点中除目标路由节点之外的每个路由节点对应的第一拓扑范围,并确定每个路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将第一拓扑范围对应的容器的容器名、每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将归属容器的容器名以及目标路由节点的端口作为目标路由节点对应的路由信息。
在其它一些实现方式下,第三确定单元2140可以在转发路径上除请求路由节点和目标路由节点之外的其它路由节点进行路由请求时才执行相应的路由消息获取操作。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载。
可选地,第一发送单元2150具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载。
可选地,第三发送单元具体用于向转发路径所经过的路由节点中除请求路由节点之外的每个路由节点发送主动路由下发消息,主动路由下发消息包含每个路由节点对应的所述路由信息,且主动路由下发消息通过兴趣包承载。
图22是本发明一个实施例的路由器的示意性框图。图22的路由器2200能够实现图4中由请求路由节点执行的各个步骤,为避免重复,此处不再详述。
路由器2200包括第一接收单元2210,第一发送单元2220,第二接收单元2230和第二发送单元2240。
第一接收单元2210,用于接收内容请求包,内容请求包携带请求内容的内容名;
第一发送单元2220,用于当转发信息表FIB中不存在与第一接收单元2210接收的内容名匹配的转发表项时,向网络控制器发送路由请求消息,路由请求消息中携带内容名;
第二接收单元2230,用于接收网络控制器下发的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息用于向路由器2200指示内容请求包的转发端口,第一路由信息是网络控制器根据获取的路由器2200的网络名、内容名、第一注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,其中第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
第二发送单元2240,用于根据第二接收单元2230接收的第一路由信息转发内容请求包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息(或通过网络控制器获取这些信息),进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,第一注册信息为请求内容的注册信息,请求内容的注册信息包括内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为请求内容的边缘路由节点;或者,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点。
第一路由信息包括内容名以及内容请求包的转发端口,第二发送单元2240具体用于根据内容名从路由器2200存储的路由信息中匹配第一路由信息中的转发端口;通过第一路由信息中的转发端口转发内容请求包。
可选地,作为另一个实施例,第一注册信息包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示请求内容的内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点,路由器2200还包括:第三接收单元,用于接收网络控制器发送的请求内容的容器树集信息,其中容器树集信息是网络控制器通过容器解析系统解析归属容器获得的,且容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,容器树集信息用于指示至少一个容器之间的接入关系,归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;第一添加单元,用于在内容请求包中添加容器树集信息。
可选地,作为另一个实施例,第一路由信息包括第一容器名以及与第一容器名对应的第一端口,第一容器名为容器树集信息所包括的容器名中的一个,第二发送单元2240具体用于根据内容请求包携带的容器树集信息中包含的第一容器名,从路由器2200存储的路由信息中匹配第一路由信息;通过第一端口转发内容请求包。
可选地,作为另一个实施例,还包括:第一确定单元,用于确定内容存储表CS中是否存在与内容名匹配的内容;第三发送单元,用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;第二确定单元,用于当CS中不存在与请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与请求内容的内容名匹配的PIT表项;第四接收单元,用于当PIT中存在与内容名匹配的PIT表项时,将接收内容请求包的端口添加到匹配的PIT表项中;第三确定单元,用于当PIT中不存在与内容名匹配的PIT表项时,确定FIB中是否存在与内容名匹配的转发表项;第四发送单元,用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,还包括:第五接收单元,用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息用于指示另一内容请求包的转发端口;第六接收单元,用于接收另一内容请求包;第五发送单元,用于根据另一路由信息转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图23是本发明一个实施例的网络控制器的示意性框图。图23的网络控制器2300能够实现图5中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器2300包括第一接收单元2310,第一确定单元2320,第二确定单元2330,第三确定单元2340,第四确定单元2350和第一发送单元2360。
第一接收单元2310,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的容器树集信息,容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
第一确定单元2320,用于根据网络控制器2300存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;
第二确定单元2330,用于根据第一确定单元2320确定的每个容器的边缘路由节点及网络控制器2300所控制的网络的网络拓扑信息,确定每个容器的拓扑范围,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构,拓扑范围用于指示容器与路由节点的之间包含关系;
第三确定单元2340,用于根据第一确定单元2320确定的归属容器的边缘路由节点的网络名、网络控制器2300获取的请求路由节点的网络名以及网络拓扑信息,确定以请求路由节点为起点、以归属容器的边缘路由节点为终点的转发路径;
第四确定单元2350,用于根据第二确定单元2330确定的至少一个容器的拓扑范围以及第三确定单元2340确定的转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
第一发送单元2360,用于向请求路由节点下发第四确定单元2350确定的请求路由节点对应的路由信息,以便请求路由节点根据该路由信息转发请求内容对应的内容请求包。
可选地,该装置还可以包括:第五确定单元,用于根据所述第二确定单元确定的所述至少一个容器的拓扑范围以及所述第三确定单元确定的所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;第二发送单元,用于向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
需说明的是,转发路径上除请求路由节点和目标路由节点之外的其它路由节点的信息可以根据请求路由节点的路由信息的获取方法同时获得后,主动下发给所述其它路由节点,也可以在所述其它路由节点向网络控制器请求路信息时再执行获取和下发操作。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑图,或通过网络控制器获取该注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
可选地,作为一个实施例,第四确定单元2350具体用于从至少一个容器的拓扑范围中确定每个路由节点对应的第一拓扑范围,并确定每个路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将第一拓扑范围对应的容器的容器名、每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载。
可选地,第一发送单元2360具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载。
可选地,所述第二发送单元具体用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述除所述请求路由节点之外的每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
图24是本发明另一个实施例提供的路由器的示意性框图。应理解,图24的路由器2400能够实现图6的方法中由请求路由节点执行的各个步骤。
路由器2400包括第一接收单元2410,第一确定单元2420,第二确定单元2430,第一发送单元2440,第二接收单元2450,第一匹配单元2460和第二发送单元2470。
第一接收单元2410,用于接收内容请求包,内容请求包中携带请求内容的内容名
可选地,所述内容请求包中还可以携带请求内容的容器树集信息,容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
第一确定单元2420,用于确定转发信息表FIB中是否存在与第一接收单元2410接收的请求内容的内容名匹配的转发表项;
第二确定单元2430,用于当第一确定单元2420确定FIB中不存在与请求内容的内容名匹配的转发表项时,确定FIB中是否存在与至少一个容器的容器名匹配的转发表项;
第一发送单元2440,用于当第二确定单元2430确定FIB中不存在与至少一个容器的容器名匹配的转发表项,向网络控制器发送路由请求消息,路由请求消息中携带容器树集信息。
在其他一些实施例中,该路由器可以不包括第二确定单元2420,此时第一发送单元2440用于当所述第一确定单元确定所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,向网络控制器发送路由请求消息。
第二接收单元2450,用于接收网络控制器发送的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息包括第一容器名以及与第一容器名对应的端口,第一容器名为容器树集信息所包含的容器名中的一个,第一路由信息是网络控制器根据获取的路由器2400的网络名、容器树集信息、容器树集信息所包括的至少一个容器中每个容器的注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
第一匹配单元2460,用于根据容器树集信息中的至少一个容器的容器名匹配路由器2400存储的路由信息中的第二接收单元2450接收的第一路由信息;
第二发送单元2470,用于通过第一匹配单元2460匹配的第一路由信息中的与第一容器名对应的端口转发内容请求包。
在其它一些实现方式下,容器树集信息存储在该路由器上,该路由器可以根据所述内容名从本地查询获得与所述内容名对应的容器树集信息;或者,该路由器可以通过查询容器解析系统获得与所述内容名对应的容器树集信息。这里的容器解析系统可以是集成在该路由器或网络控制器上,也可以是独立的第三方系统,本发明实施例对此不作限定。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
可选地,作为一个实施例,还包括:第三接收单元,用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息中携带另一容器名以及另一容器名对应的端口;第四接收单元,用于接收另一内容请求包,另一内容请求包中携带另一容器名;第二匹配单元,用于根据另一容器名从第一路由节点存储的路由信息中匹配另一路由信息;第三发送单元,用于通过另一容器名对应的端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:第三确定单元,用于确定内容存储表CS中是否存在与内容名匹配的内容;第四发送单元,用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;第四确定单元,用于当CS中不存在与请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与请求内容的内容名匹配的PIT表项;第一添加单元,用于当PIT中存在与内容名匹配的PIT表项时,将接收内容请求包的端口添加到匹配的PIT表项中;第五确定单元,用于当PIT中不存在与内容名匹配的PIT表项时,确定FIB中是否存在与内容名匹配的转发表项;第五发送单元,用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图25是本发明另一个实施例提供的网络控制器的示意性框图。图25的网络控制器2500能够实现图7中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器2500包括第一接收单元2510和第一存储单元2520。
第一接收单元2510,用于接收第一路由节点发送的内容注册消息。所述内容注册消息中携带用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系的内容注册信息,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口;
第一存储单元2520,用于存储第一接收单元2510接收的内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
可选地,作为一个实施例,第一路由节点为待注册内容的边缘路由节点,内容注册信息包括待注册内容的内容名和第一端口,第一端口为第一路由节点接收待注册内容对应的内容注册请求包的端口。
第一存储单元2520具体用于从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当不存在匹配的内容时,存储待注册内容的内容名,并存储待注册内容的内容名、网络控制器2500获取的第一路由节点的网络名以及第一端口之间的对应关系;当存在匹配的内容时,在匹配的内容的注册信息中添加待注册内容的内容名、第一路由节点的网络名以及第一端口之间的对应关系。
可选地,作为另一个实施例,还包括:第二接收单元,用于接收第二路由节点发送的内容注销消息,内容注销消息中携带待注销内容的内容名和第二端口,第二路由节点为待注销内容的边缘路由节点,第二端口为第二路由节点接收待注销内容对应的内容注销请求包的端口,第一确定单元,用于确定第一已注册内容,第一已注册内容为已注册内容中与待注册内容的内容名匹配的内容;第一删除单元,用于从第一已注册内容的注册信息中删除待注销内容的内容名、网络控制器2500获取的第二网络名以及第二端口之间的对应关系。
可选地,作为另一个实施例,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
第一存储单元2520具体用于从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当存在匹配的内容时,在匹配的内容的注册信息中添加待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系;当不存在匹配的已注册内容时,存储待注册内容的内容名,并存储待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系。
可选地,作为另一个实施例,还包括:第三接收单元,用于接收第三路由节点发送的内容注销消息,内容注销消息携带待注销内容的内容名与待注销内容的归属容器的容器名,第二确定单元,用于确定第二已注册内容,第二已注册内容为与待注册内容的内容名匹配的已注册内容;第二删除单元,用于从第二已注册内容的注册信息中删除待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系。
可选地,作为另一个实施例,内容注销消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:第四接收单元,用于接收第四路由节点发送的容器注册消息,第四路由节点为待注册容器的边缘路由节点,容器注册消息中携带待注册容器的容器名与第四端口,第四端口为第四路由节点接收待注册容器对应的容器注册请求包的端口;第三确定单元,用于从已注册容器中确定是否存在与待注册容器的容器名匹配的容器;第一添加单元,用于当存在匹配的容器时,在匹配的容器的注册信息中添加待注册容器的容器名、网络控制器2500获取的第四路由节点的网络名和第四端口之间的对应关系;第二存储单元,用于当不存在匹配的容器时,网络控制器2500存储待注册容器的容器名,并存储待注册容器的容器名、第四路由节点的网络名以及第四端口之间的对应关系。
可选地,作为另一个实施例,还包括:第五接收单元,用于接收第五路由节点发送的容器注销消息,第五路由节点为待注销容器的边缘路由节点,容器注销消息中携带待注销容器的容器名和第五端口,第五端口为第五路由节点接收待注销容器对应的容器注销请求包的端口;第四确定单元,用于确定第三已注册容器,第三已注册容器的容器名与待注销容器的容器名匹配;第三删除单元,用于从第三已注册容器的注册信息中删除待注销容器的容器名、网络控制器2500获取的第五路由节点的网络名以及第五端口之间的对应关系。
可选地,作为另一个实施例,容器注销消息通过兴趣包承载。
可选地,作为另一个实施例,内容注册消息通过兴趣包承载。
图26是本发明另一个实施例提供的路由器的示意性框图。应理解,图26的路由器2600能够实现图8方法中由第一路由节点执行的各个步骤。
路由器2600包括第一接收单元2610、第一确定单元2620和第一发送单元2630。
第一接收单元2610,用于接收内容注册请求包。所述内容注册请求包携带待注册内容的内容名。
第一确定单元2620,用于根据第一接收单元2610接收的内容注册请求包确定内容注册信息。所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述内容注册请求包的端口。
第一发送单元2630,用于向网络控制器发送内容注册消息,内容注册消息中携带第一确定单元2620确定的内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
可选地,作为一个实施例,内容注册包携带待注册内容的内容名,第一确定单元具体用于将待注册内容的内容名以及第一端口确定为内容注册信息,其中第一端口为路由器接收内容注册包的端口。
可选地,作为另一个实施例,还包括:第二接收单元,用于接收内容注销请求包,内容注销请求包中携带待注销内容的内容名;第二确定单元,用于根据内容注销请求包确定内容注销信息,内容注销信息包括待注销内容的内容名以及第二端口,第二端口为路由器接收内容注销请求包的端口;第二发送单元,用于向网络控制器发送内容注销消息,内容注销消息中携带内容注销信息。
可选地,作为另一个实施例,所述内容注册请求包中还携带所述待注册内容的归属容器的容器名,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
可选地,作为另一个实施例,还包括:第三接收单元,用于接收内容注销请求包,内容注销请求包中携带待注销内容的内容名和待注销内容的归属容器的容器名;第三发送单元,用于向网络控制器发送内容注销消息,内容注销消息中携带待注销内容的内容名和待注销内容的归属容器的容器名。
可选地,作为另一个实施例,内容注销请求包为兴趣包,内容注销请求消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:第四接收单元,用于接收容器注册请求包,容器注册消息中携带待注册容器的容器名;第三确定单元,用于确定第四端口,第四端口为路由器接收容器注册请求包的端口;第四发送单元,用于向网络控制器发送容器注册请求消息,容器注册请求消息中携带待注册容器的容器名与第四端口。
可选地,作为另一个实施例,容器注册请求包为兴趣包,容器注册请求消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:第五接收单元,用于接收容器注销请求包,容器注销请求包中携带待注销容器的容器名;第四确定单元,用于确定第五端口,第五端口为路由器接收容器注销请求包的端口;第五发送单元,用于向网络控制器发送容器注销请求消息,容器注销请求消息中携带待注销容器的容器名和第五端口。
可选地,作为另一个实施例,内容注册请求包为兴趣包,内容注册请求消息通过兴趣包承载。
本发明实施例还提供一种网络控制器,包括:接收单元,用于接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示待注册内容存放位置的内容注册信息;存储单元,用于所述网络控制器存储所述内容注册信息。
具体的,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口。
在一种实现方式下,所述内容注册信息包括所述待注册内容的内容名和所述第一路由节点的第一端口。
在另一种实现方式下,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
图27是本发明另一个实施例提供的网络控制器的示意性框图。图27的网络控制器2700能够实现图9方法中由网络控制器执行的各个步骤,为避免重复,此处不再详细描述。
网络控制器2700包括第一接收单元2710、第一确定单元2720、第二确定单元2730、第三确定单元2740和第一发送单元2750。
第一接收单元2710,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带第一名字;
第一确定单元2720,用于根据第一接收单元2710接收的第一名字确定目标路由节点的网络名;
第二确定单元2730,用于根据网络控制器2700获取的请求路由节点的网络名、第一确定单元2720确定的目标路由节点的网络名以及网络控制器2700所控制的网络的网络拓扑信息,确定从请求路由节点到目标路由节点的转发路径,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
第三确定单元2740,用于确定第二确定单元2730确定的转发路径所经过的除目标路由节点之外的其他路由节点中每个路由节点对应的路由信息,每个路由节点对应的路由信息包括目标路由节点的网络名,以及每个路由节点指向在转发路径上的下一跳路由节点的端口;
第一发送单元2750,用于向每个路由节点下发第三确定单元2740确定的每个路由节点对应的路由信息。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,路由请求消息用于请求内容响应包的转发路径,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容响应包为数据包,内容请求包为兴趣包。
可选地,作为另一个实施例,路由请求消息用于请求内容请求包的转发路径,内容请求包为兴趣包,第一名字为内容请求包中携带的请求内容的内容名,网络控制器存储了请求内容的注册信息,注册信息用于指示请求内容的内容名与目标路由节点的网络名的对应关系,目标路由节点为请求内容的边缘路由节点,第一确定单元2710具体用于根据内容名从请求内容的注册信息中获取目标路由节点的网络名。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,第一发送单元2750具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载;向转发路径所经过的除请求路由节点以及目标路由节点之外的每个路由节点发送主动路由下发消息,主动路由下发消息包含每个路由节点对应的路由信息,且主动路由下发消息通过兴趣包承载。
图28是本发明另一个实施例提供的路由器的示意性框图。应理解,图28的路由器2800能够实现图10中由请求路由节点执行的各个步骤,为避免重复,此处不再详细描述。
路由器2800包括第一接收单元2810、第一发送单元2820和第二接收单元2830。
第一接收单元2810,用于接收消息包,消息包中携带第一名字;
第一发送单元2820,用于当转发信息表FIB中不存在与第一接收单元2810接收的第一名字匹配的转发表项时,向网络控制器发送路由请求消息,路由请求消息中携带第一名字;
第二接收单元2830,用于接收网络控制器下发的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息包括目标路由节点的网络名以及消息包的转发端口,第一路由信息是网络控制器根据第一名字、获取的路由器2800的网络名以及网络控制器控制的网络的网络拓扑信息确定的,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,消息包为内容响应包,且消息包为数据包,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容请求包为兴趣包。
可选地,作为另一个实施例,还包括:第一确定单元,用于路由器确定FIB中是否存在与目标路由节点的网络名匹配的转发表项;第二发送单元,用于当FIB中存在与目标路由节点的网络名匹配的转发表项时,路由器根据匹配的转发表项发送内容响应包。
可选地,作为另一个实施例,消息包为内容请求包,且内容请求包为兴趣包,第一名字为内容请求包中携带的请求内容的内容名,目标路由节点为请求内容的边缘路由节点。
可选地,作为另一个实施例,还包括:第二确定单元,用于确定内容存储表CS中是否存在与内容名匹配的内容;第三发送单元,用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;第三确定单元,用于当CS中不存在与请求内容的内容名匹配的内容时,确定FIB中是否存在与请求内容的内容名匹配的转发表项;第四发送单元,用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,还包括:第三接收单元,用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息包括另一目标路由节点的网络名以及另一目标路由节点对应的转发端口;第四接收单元,用于接收另一内容请求包,另一内容请求包中包含另一目标路由节点的网络名;第五发送单元,用于通过另一路由信息中的转发端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图29是本发明一个实施例的网络控制器的示意性框图。图29的网络控制器2900能够实现图1至图4中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器2900包括接收器2910,处理器2920以及发送器2930。
接收器2910,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的内容名;
处理器2920,用于根据接收器2910接收的内容名以及网络控制器2900存储或获取的第一注册信息,确定与内容名对应的目标路由节点的网络名以及目标路由节点的端口,且通过目标路由节点的端口,与请求内容对应的内容请求包能够被路由至请求内容,第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系;根据目标路由节点的网络名以及网络控制器2900获取的请求路由节点的网络名,从网络控制器2900所控制的网络的网络拓扑信息中确定以请求路由节点为起点、以目标路由节点为终点的转发路径,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;根据所述转发路径确定所述请求路由节点对应的路由信息,所述路由信息用于指示所述请求路由节点转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点在所述转发路径上对应的下一跳路由节点;
发送器2930,用于向所述请求路由节点发送所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述内容请求包。
可见,本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,处理器2920还可以用于根据所述转发路径以及所述目标路由节点的端口,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息用于指示所述路由信息对应的路由节点转发所述内容请求包的端口;发送器2930还可以用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点下发与所述每个路由节点对应的所述路由信息,以便所述每个路由节点根据与所述每个路由节点对应的所述路由信息转发所述内容请求包。
可选地,作为一个实施例,第一注册信息为请求内容的注册信息,请求内容的注册信息包括内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为请求内容的边缘路由节点,处理器2920具体用于从请求内容的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
可选地,作为另一个实施例,第一注册信息包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点,处理器2920具体用于根据内容名从请求内容的注册信息中获取归属容器的容器名;根据归属容器的容器名从归属容器的注册信息中获取目标路由节点的网络名及目标路由节点的端口。
可选地,作为另一个实施例,处理器2920具体用于确定转发路径所经过的路由节点中除所述请求路由节点和目标路由节点之外的每个路由节点在转发路径上的下一跳路由节点;将内容名,以及每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将内容名以及目标路由节点的端口作为目标路由节点对应的路由信息。
可选地,作为另一个实施例,处理器2920还用于通过容器解析系统解析归属容器以获取请求内容的容器树集信息,容器树集信息包括归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;根据网络控制器2900存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;根据每个容器的边缘路由节点及网络拓扑信息,确定每个容器的拓扑范围,拓扑范围用于指示容器与路由节点的之间包含关系;发送器2930还用于向请求路由节点下发容器树集信息,以便请求路由节点将容器树集信息存储于内容请求包中,使得内容请求包能够根据容器树集信息被路由至目标路由节点;处理器2920具体用于所述网络控制器从所述容器树集信息包括的所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;所述网络控制器确定所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向下一跳路由节点的端口为所述请求路由节点对应的路由信息。
在其它一些实现方式下,处理器2920具体用于从容器树集信息包括的至少一个容器的拓扑范围中确定转发路径所经过的路由节点中除目标路由节点之外的每个路由节点对应的第一拓扑范围,并确定每个路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将第一拓扑范围对应的容器的容器名、每个路由节点指向下一跳路由节点的端口作为每个路由节点对应的路由信息,并将归属容器的容器名以及目标路由节点的端口作为目标路由节点对应的路由信息。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载。
可选地,发送器2930具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载。
可选地,发送器2930向转发路径所经过的除请求路由节点之外的每个路由节点发送主动路由下发消息,主动路由下发消息包含每个路由节点对应的路由信息,且主动路由下发消息通过兴趣包承载。
图30是本发明一个实施例的路由器的示意性框图。图30的路由器3000能够实现图4中由请求路由节点执行的各个步骤,为避免重复,此处不再详述。
路由器3000包括接收器3010,发送器3020。
接收器3010,用于接收内容请求包,内容请求包携带请求内容的内容名;
发送器3020,用于当转发信息表FIB中不存在与接收器3010接收的内容名匹配的转发表项时,向网络控制器发送路由请求消息,路由请求消息中携带内容名;
接收器3010还用于接收网络控制器下发的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息用于向路由器3000指示内容请求包的转发端口,第一路由信息是网络控制器根获取的路由器3000的网络名、内容名、第一注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,其中第一注册信息用于指示内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
发送器3020还用于根据接收器3010接收的第一路由信息转发内容请求包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,第一注册信息为请求内容的注册信息,请求内容的注册信息包括内容名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为请求内容的边缘路由节点;或者,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述请求内容的内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系,所述目标路由节点为所述归属容器的边缘路由节点。
第一路由信息包括内容名以及内容请求包的转发端口,发送器3020具体用于根据内容名从路由器3000存储的路由信息中匹配第一路由信息中的转发端口;通过第一路由信息中的转发端口转发内容请求包。
可选地,作为另一个实施例,第一注册信息包括请求内容的注册信息以及请求内容的归属容器的注册信息,其中请求内容的注册信息用于指示请求内容的内容名与归属容器的容器名之间的对应关系,归属容器的注册信息用于指示归属容器的容器名、目标路由节点的网络名以及目标路由节点的端口之间的对应关系,目标路由节点为归属容器的边缘路由节点,路由器3000还包括:接收器3010还用于接收网络控制器发送的请求内容的容器树集信息,其中容器树集信息是网络控制器通过容器解析系统解析归属容器获得的,且容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,容器树集信息用于指示至少一个容器之间的接入关系,归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;路由器3000还包括:处理器,用于在内容请求包中添加容器树集信息。
可选地,作为另一个实施例,第一路由信息包括第一容器名以及与第一容器名对应的第一端口,第一容器名为容器树集信息所包括的容器名中的一个,发送器3020具体用于根据内容请求包携带的容器树集信息中包含的第一容器名,从路由器3000存储的路由信息中匹配第一路由信息;通过第一端口转发内容请求包。
可选地,作为另一个实施例,处理器还用于确定内容存储表CS中是否存在与内容名匹配的内容;发送器3020还用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;处理器还用于当CS中不存在与请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与请求内容的内容名匹配的PIT表项;接收器3010用于当PIT中存在与内容名匹配的PIT表项时,将接收内容请求包的端口添加到匹配的PIT表项中;处理器还用于当PIT中不存在与内容名匹配的PIT表项时,确定FIB中是否存在与内容名匹配的转发表项;发送器3020还用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,还包括:接收器3010还用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息用于指示另一内容请求包的转发端口;接收另一内容请求包;第五发送单元,用于根据另一路由信息转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图31是本发明一个实施例的网络控制器的示意性框图。图23的网络控制器3100能够实现图5中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器3100包括接收器3110,处理器3120和发送器3130。
接收器3110,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带请求内容的容器树集信息,容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
处理器3120,用于根据网络控制器3100存储或获取的至少一个容器中每个容器的注册信息,确定每个容器的边缘路由节点,其中每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系;根据每个容器的边缘路由节点及网络控制器3100所控制的网络的网络拓扑信息,确定每个容器的拓扑范围,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构,拓扑范围用于指示容器与路由节点的之间包含关系;根据归属容器的边缘路由节点的网络名、网络控制器3100获取的请求路由节点的网络名以及网络拓扑信息,确定以请求路由节点为起点、以归属容器的边缘路由节点为终点的转发路径;根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名。
发送器3130,用于向所述请求路由节点下发所述请求路由节点对应的所述路由信息,以便所述请求路由节点根据所述请求路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
可选的,处理器3120还用于:根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;发送器3130还用于向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
可选地,作为一个实施例,处理器3120具体用于从至少一个容器的拓扑范围中确定请求路由节点对应的第一拓扑范围,并确定请求路由节点在转发路径上的下一跳路由节点,第一拓扑范围为从至少一个容器的拓扑范围中除去包含请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将第一拓扑范围对应的容器的容器名、请求路由节点指向下一跳路由节点的端口作为请求路由节点对应的路由信息。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载。
可选地,发送器3130具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载。
可选地,发送器3130具体用于向转发路径所经过的除请求路由节点之外的每个路由节点发送主动路由下发消息,主动路由下发消息包含每个路由节点对应的路由信息,且主动路由下发消息通过兴趣包承载。
图32是本发明另一个实施例提供的路由器的示意性框图。应理解,图32的路由器3200能够实现图6中由请求路由节点执行的各个步骤。
路由器3200包括接收器3210,处理器3220和发送器3230。
接收器3210,用于接收内容请求包,内容请求包中携带请求内容的内容名;
处理器3220,用于确定转发信息表FIB中是否存在与接收器3210接收的请求内容的内容名匹配的转发表项;当第一确定单元2420确定FIB中不存在与请求内容的内容名匹配的转发表项时,确定FIB中是否存在与至少一个容器的容器名匹配的转发表项;
发送器3230,用于当处理器3220确定FIB中不存在与至少一个容器的容器名匹配的转发表项,向网络控制器发送路由请求消息,路由请求消息中携带容器树集信息,该容器树集信息包括请求内容的归属容器在内的至少一个容器的容器名,且容器树集信息用于指示至少一个容器之间的接入关系,其中归属容器位于容器树集对应的容器树的根节点,容器树的子节点代表的容器是子节点对应的父节点代表的容器的接入容器;
接收器3210还用于接收网络控制器发送的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息包括第一容器名以及与第一容器名对应的端口,第一容器名为容器树集信息所包含的容器名中的一个,第一路由信息是网络控制器根据获取的路由器3200的网络名、容器树集信息、容器树集信息所包括的至少一个容器中每个容器的注册信息以及网络控制器所控制的网络的网络拓扑信息确定的,每个容器的注册信息用于指示每个容器的容器名与每个容器的边缘路由节点之间的对应关系,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;
处理器3220还用于根据容器树集信息中的至少一个容器的容器名匹配路由器3200存储的路由信息中的第二接收单元接收的第一路由信息;
发送器3230还用于通过处理器3220匹配的第一路由信息中的与第一容器名对应的端口转发内容请求包。
需说明的是,本发明实施例中处理器的步骤可以简化,不判断FIB中是否存在于所述容器名匹配的转发表项,具体实现可参考前述实施例,在此不再赘述。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
进一步地,当请求端请求相同路径的不同内容时,各个路由节点仅需存储一条路由信息,节省了路由节点的存储资源。
可选地,作为一个实施例,还包括:接收器3210还用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息中携带另一容器名以及另一容器名对应的端口;接收另一内容请求包,另一内容请求包中携带另一容器名处理器3220还用于根据另一容器名从第一路由节点存储的路由信息中匹配另一路由信息;发送器3230还用于通过另一容器名对应的端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:处理器3220还用于确定内容存储表CS中是否存在与内容名匹配的内容发送器3230还用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;第四确定单元,用于当CS中不存在与请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与请求内容的内容名匹配的PIT表项;第一添加单元,用于当PIT中存在与内容名匹配的PIT表项时,将接收内容请求包的端口添加到匹配的PIT表项中;第五确定单元,用于当PIT中不存在与内容名匹配的PIT表项时,确定FIB中是否存在与内容名匹配的转发表项;第五发送单元,用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,内容请求包为兴趣包,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图33是本发明另一个实施例提供的网络控制器的示意性框图。图33的网络控制器3300能够实现图7中由网络控制器执行的各个步骤,为避免重复,不再详细描述。
网络控制器3300包括接收器3310和存储器3320。
接收器3310,用于接收第一路由节点发送的内容注册消息,所述内容注册消息中携带用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系的内容注册信息,所述第一端口为所述第一路由节点接收所述待注册内容对应的内容注册请求包的端口;
存储器3320,用于存储接收器3310接收的内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
可选地,作为一个实施例,第一路由节点为待注册内容的边缘路由节点,内容注册信息包括待注册内容的内容名和第一端口。
存储器3320具体用于从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当不存在匹配的内容时,存储待注册内容的内容名,并存储待注册内容的内容名、网络控制器3300获取的第一路由节点的网络名以及第一端口之间的对应关系;当存在匹配的内容时,在匹配的内容的注册信息中添加待注册内容的内容名、第一路由节点的网络名以及第一端口之间的对应关系。
可选地,作为另一个实施例,还包括:接收器3310还用于接收第二路由节点发送的内容注销消息,内容注销消息中携带待注销内容的内容名和第二端口,第二路由节点为待注销内容的边缘路由节点,第二端口为第二路由节点接收待注销内容对应的内容注销请求包的端口,网络控制器3300还包括:处理器,用于确定第一已注册内容,第一已注册内容为已注册内容中与待注册内容的内容名匹配的内容;从第一已注册内容的注册信息中删除待注销内容的内容名、网络控制器3300获取的第二网络名以及第二端口之间的对应关系。
可选地,作为另一个实施例,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名和所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
存储器3320具体用于从已注册内容中确定是否存在与待注册内容的内容名匹配的内容;当存在匹配的内容时,在匹配的内容的注册信息中添加待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系;当不存在匹配的已注册内容时,存储待注册内容的内容名,并存储待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系。
可选地,作为另一个实施例,还包括:接收器3310还用于接收第三路由节点发送的内容注销消息,内容注销消息携带待注销内容的内容名与待注销内容的归属容器的容器名,处理器还用于确定第二已注册内容,第二已注册内容为与待注册内容的内容名匹配的已注册内容;从第二已注册内容的注册信息中删除待注册内容的内容名与待注册内容的归属容器的容器名之间的对应关系。
可选地,作为另一个实施例,内容注销消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:接收器3310还用于接收第四路由节点发送的容器注册消息,第四路由节点为待注册容器的边缘路由节点,容器注册消息中携带待注册容器的容器名与第四端口,第四端口为第四路由节点接收待注册容器对应的容器注册请求包的端口;处理器还用于从已注册容器中确定是否存在与待注册容器的容器名匹配的容器;当存在匹配的容器时,在匹配的容器的注册信息中添加待注册容器的容器名、网络控制器3300获取的第四路由节点的网络名和第四端口之间的对应关系;存储器3320还用于当不存在匹配的容器时,网络控制器3300存储待注册容器的容器名,并存储待注册容器的容器名、第四路由节点的网络名以及第四端口之间的对应关系。
可选地,作为另一个实施例,还包括:接收器3310还用于接收第五路由节点发送的容器注销消息,第五路由节点为待注销容器的边缘路由节点,容器注销消息中携带待注销容器的容器名和第五端口,第五端口为第五路由节点接收待注销容器对应的容器注销请求包的端口;处理器还用于确定第三已注册容器,第三已注册容器的容器名与待注销容器的容器名匹配;第三删除单元,用于从第三已注册容器的注册信息中删除待注销容器的容器名、网络控制器3300获取的第五路由节点的网络名以及第五端口之间的对应关系。
可选地,作为另一个实施例,容器注销消息通过兴趣包承载。
可选地,作为另一个实施例,内容注册消息通过兴趣包承载。
图34是本发明另一个实施例提供的路由器的示意性框图。应理解,图34的路由器3400能够实现图8方法中由第一路由节点执行的各个步骤。
路由器3400包括接收器3410、处理器3420和发送器3430。
接收器3410,用于接收内容注册请求包,所述内容注册请求包携带待注册内容的内容名;
处理器3420,用于根据接收器3410接收的内容注册请求包确定内容注册信息,所述内容注册信息用于指示内容名、所述第一路由节点的网络名和所述第一路由节点的第一端口之间的对应关系,所述第一端口为所述第一路由节点接收所述内容注册请求包的端口;
发送器3430,用于向网络控制器发送内容注册消息,内容注册消息中携带处理器3420确定的内容注册信息。
本发明实施例中,通过网络控制器存储内容注册信息,便于注册信息的统一管理,同时减少了每个路由节点的所需存储的路由信息。
可选地,作为一个实施例,内容注册包携带待注册内容的内容名,处理器3420具体用于将待注册内容的内容名以及第一端口确定为内容注册信息,其中第一端口为路由器接收内容注册包的端口。
可选地,作为另一个实施例,还包括:接收器3410还用于接收内容注销请求包,内容注销请求包中携带待注销内容的内容名;处理器3420还用于根据内容注销请求包确定内容注销信息,内容注销信息包括待注销内容的内容名以及第二端口,第二端口为路由器接收内容注销请求包的端口;发送器3430还用于向网络控制器发送内容注销消息,内容注销消息中携带内容注销信息。
可选地,作为另一个实施例,内容注册请求包中所述内容注册请求包中还携带所述待注册内容的归属容器的容器名,所述内容注册信息包括所述待注册内容的内容名和所述待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述第一路由节点的网络名和所述第一路由节点的第一端口的对应关系,其中,所述第一路由节点为所述待注册内容的归属容器的边缘路由节点。
可选地,作为另一个实施例,还包括:接收器3410还用于接收内容注销请求包,内容注销请求包中携带待注销内容的内容名和待注销内容的归属容器的容器名发送器3430向网络控制器发送内容注销消息,内容注销消息中携带待注销内容的内容名和待注销内容的归属容器的容器名。
可选地,作为另一个实施例,内容注销请求包为兴趣包,内容注销请求消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:接收器3410还用于接收容器注册请求包,容器注册消息中携带待注册容器的容器名;处理器3420还用于确定第四端口,第四端口为路由器接收容器注册请求包的端口;发送器3430还用于向网络控制器发送容器注册请求消息,容器注册请求消息中携带待注册容器的容器名与第四端口。
可选地,作为另一个实施例,容器注册请求包为兴趣包,容器注册请求消息通过兴趣包承载。
可选地,作为另一个实施例,还包括:接收器3410还用于接收容器注销请求包,容器注销请求包中携带待注销容器的容器名;处理器3420还用于确定第五端口,第五端口为路由器接收容器注销请求包的端口;发送器3430还用于向网络控制器发送容器注销请求消息,容器注销请求消息中携带待注销容器的容器名和第五端口。
可选地,作为另一个实施例,内容注册请求包为兴趣包,内容注册请求消息通过兴趣包承载。
图35是本发明另一个实施例提供的网络控制器的示意性框图。图35的网络控制器3500能够实现图9方法中由网络控制器执行的各个步骤,为避免重复,此处不再详细描述。
网络控制器3500包括接收器3510、处理器3520和发送器3530。
接收器3510,用于接收请求路由节点发送的路由请求消息,路由请求消息中携带第一名字;
处理器3520,用于根据接收器3510接收的第一名字确定目标路由节点的网络名;根据网络控制器3500获取的请求路由节点的网络名、目标路由节点的网络名以及网络控制器3500所控制的网络的网络拓扑信息,确定从请求路由节点到目标路由节点的转发路径,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构;确定转发路径所经过的除目标路由节点之外的其他路由节点中每个路由节点对应的路由信息,每个路由节点对应的路由信息包括目标路由节点的网络名,以及每个路由节点指向在转发路径上的下一跳路由节点的端口;
发送器3530,用于向每个路由节点下发处理器3520确定的每个路由节点对应的路由信息。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑图,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,路由请求消息用于请求内容响应包的转发路径,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容响应包为数据包,内容请求包为兴趣包。
可选地,作为另一个实施例,路由请求消息用于请求内容请求包的转发路径,内容请求包为兴趣包,第一名字为内容请求包中携带的请求内容的内容名,网络控制器存储了请求内容的注册信息,注册信息用于指示请求内容的内容名与目标路由节点的网络名的对应关系,目标路由节点为请求内容的边缘路由节点,处理器3520具体用于根据内容名从请求内容的注册信息中获取目标路由节点的网络名。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,发送器3530具体用于向请求路由节点发送路由响应消息,路由响应消息包含请求路由节点对应的路由信息,且路由响应消息通过数据包承载;向转发路径所经过的除请求路由节点以及目标路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含每个路由节点对应的路由信息,且主动路由下发消息通过兴趣包承载。
图36是本发明另一个实施例提供的路由器的示意性框图。应理解,图36的路由器3600能够实现图10中由请求路由节点执行的各个步骤,为避免重复,此处不再详细描述。
路由器3600包括接收器3610和发送器3620。
接收器3610,用于接收消息包,消息包中携带第一名字;
发送器3620,用于当转发信息表FIB中不存在与接收器3610接收的第一名字匹配的转发表项时,向网络控制器发送路由请求消息,路由请求消息中携带第一名字;
接收器3610还用于接收网络控制器下发的路由响应消息,路由响应消息中携带第一路由信息,第一路由信息包括目标路由节点的网络名以及消息包的转发端口,第一路由信息是网络控制器根据第一名字、获取的路由器3600的网络名以及网络控制器控制的网络的网络拓扑信息确定的,网络拓扑信息用于以网络中的路由节点的网络名表示网络的拓扑结构。
本发明实施例引入网络控制器,并在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
可选地,作为一个实施例,消息包为内容响应包,且消息包为数据包,第一名字为目标路由节点的网络名,目标路由节点为内容响应包对应的内容请求包所经过的第一个路由节点,内容请求包为兴趣包。
可选地,作为另一个实施例,还包括:处理器,用于确定FIB中是否存在与目标路由节点的网络名匹配的转发表项;发送器3620还用于当FIB中存在与目标路由节点的网络名匹配的转发表项时,根据匹配的转发表项发送内容响应包。
可选地,作为另一个实施例,消息包为内容请求包,且内容请求包为兴趣包,第一名字为内容请求包中携带的请求内容的内容名,目标路由节点为请求内容的边缘路由节点。
可选地,作为另一个实施例,处理器还用于确定内容存储表CS中是否存在与内容名匹配的内容;发送器3620还用于当CS中存在与内容名匹配的内容时,将匹配的内容发送至内容请求包的发送端;,处理器还用于当CS中不存在与请求内容的内容名匹配的内容时,确定FIB中是否存在与请求内容的内容名匹配的转发表项;发送器3620还用于当FIB中存在与内容名匹配的转发表项时,根据匹配的转发表项发送内容请求包。
可选地,作为另一个实施例,还包括:接收器3610还用于接收网络控制器发送的主动路由下发消息,主动路由下发消息中携带另一路由信息,另一路由信息包括另一目标路由节点的网络名以及另一目标路由节点对应的转发端口;接收另一内容请求包,另一内容请求包中包含另一目标路由节点的网络名;;发送器3620还用于通过另一路由信息中的转发端口转发另一内容请求包。
可选地,作为另一个实施例,主动路由下发消息通过兴趣包承载。
可选地,作为另一个实施例,路由请求消息通过兴趣包承载,路由响应消息通过数据包承载。
图37是本发明实施例提供的路由转发系统3700的示意性框图。该路由转发系统3700包括至少一个网络控制器3710、与所述网络控制器3710具有通信连接的两个或两个以上路由节点3720,所述路由节点至少包括请求路由节点3720和目标路由节点3720两类;
所述请求路由节点3720用于:接收内容请求包,所述内容请求包携带请求内容的内容名;当转发信息表FIB中不存在与所述内容名匹配的转发表项时,向所述网络控制器3710发送路由请求消息,所述路由请求消息中携带所述内容名;接收所述网络控制器3710发送的路由信息,所述路由信息用于向所述请求路由节点3720指示所述内容请求包的转发端口;根据所述路由信息转发所述内容请求包;
所述网络控制器3710用于:接收所述请求路由节点3720发送的所述路由请求消息;根据所述所述路由请求消息中携带的所述内容名以及所述网络控制器存储或获取的第一注册信息,确定与所述内容名对应的所述目标路由节点3720的网络名以及所述目标路由节点3720的端口,其中,通过所述目标路由节点3720的端口,所述内容请求包能够被路由至所述请求内容,所述第一注册信息用于指示所述内容名、所述目标路由节点3720的网络名以及所述目标路由节点3720的端口之间的对应关系;根据所述目标路由节点3720的网络名以及获取的所述请求路由节点3720的网络名,从所述网络控制器所控制的网络的网络拓扑信息中确定转发路径,其中,所述转发路径以所述请求路由节点3720为起点、以所述目标路由节点3720为终点,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构;根据所述转发路径确定所述请求路由节点3720对应的路由信息,所述路由信息用于指示所述请求路由节点3720转发所述内容请求包的第一端口,所述第一端口指向所述请求路由节点3720在所述转发路径上对应的下一跳路由节点;向所述请求路由节点3720发送所述请求路由节点3720对应的所述路由信息。
可选地,所述第一注册信息包括所述请求内容的注册信息以及所述请求内容的归属容器的注册信息,其中所述请求内容的注册信息用于指示所述内容名与所述归属容器的容器名之间的对应关系,所述归属容器的注册信息用于指示所述归属容器的容器名、所述目标路由节点的网络名以及所述目标路由节点的端口之间的对应关系;所述网络控制器具体用于:根据所述内容名从所述请求内容的注册信息中获取与所述内容名对应的所述归属容器的容器名;根据所述归属容器的容器名从所述归属容器的注册信息中获取与所述归属容器的容器名对应的所述目标路由节点的网络名及所述目标路由节点的端口,所述目标路由节点为所述归属容器的边缘路由节点。
图38是本发明实施例提供的内容注册系统3800的示意性框图。该内容注册系统3800包括至少一个网络控制器3810,以及与所述网络控制器连接的至少一个路由节点3820;
所述路由节点3820用于:接收内容注册请求包,所述内容注册请求包携带待注册内容的内容名;根据所述内容注册请求包确定内容注册信息,所述内容注册信息用于指示内容名、所述路由节点3820的网络名和所述路由节点的第一端口之间的对应关系,所述第一端口为所述路由节点3820接收所述内容注册请求包的端口;向网络控制器3810发送内容注册消息,所述内容注册消息中携带所述内容注册信息;
所述网络控制器用于:接收所述路由节点3820发送的所述内容注册消息,所述内容注册消息中携带所述内容注册信息;存储所述内容注册信息。
可选地,所述内容注册信息包括待注册内容的内容名和待注册内容的归属容器的容器名的对应关系,以及所述待注册内容的归属容器的容器名、所述路由节点3820的网络名和所述路由节点3820的第一端口的对应关系,其中,所述路由节点3820为所述待注册内容的归属容器的边缘路由节点。
需说明的,本发明实施例提供的路由转发系统和内容注册系统中具体方法的实现可以参考前述方法实施例所述,系统中包含的路由节点和网络控制器的具体结构,例如功能模块划分可以参考前述装置实施例所述,在此不再赘述。
可见,本发明实施例提供的路由转发方法、内容注册方法、对应的路由器、网络控制器以及系统,通过在网络控制器中存储注册信息以及网络拓扑信息,或通过网络控制器获取该注册信息以及网络拓扑信息,进而可以利用网络控制器确定内容请求包的转发路径,降低了ICN网络中内容请求包路由转发的盲目性,提高了路由转发的效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种路由转发方法,其特征在于,包括:
网络控制器接收请求路由节点发送的路由请求消息,所述路由请求消息中携带所述请求内容的容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中,容器是用于存储一组内容的存储空间,该一组内容是一个内容或多个内容;
所述网络控制器根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述容器的注册信息用于指示所述容器的容器名与所述容器的边缘路由节点之间的对应关系;
所述网络控制器根据所述每个容器的边缘路由节点及所述网络控制器所控制的网络的网络拓扑信息,确定所述每个容器的拓扑范围,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构,所述拓扑范围用于指示容器与路由节点的之间包含关系;
所述网络控制器根据所述归属容器的边缘路由节点的网络名、获取的所述请求路由节点的网络名以及所述网络拓扑信息,确定以所述请求路由节点为起点、以所述归属容器的边缘路由节点为终点的转发路径;
所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
所述网络控制器向所述请求路由节点下发所述请求路由节点对应的所述路由信息,以便所述请求路由节点根据所述请求路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
2.如权利要求1所述的方法,其特征在于,在所述网络控制器根据所述归属容器的边缘路由节点的网络名、获取的所述请求路由节点的网络名以及所述网络拓扑信息,确定以所述请求路由节点为起点、以所述归属容器的边缘路由节点为终点的转发路径之后,还包括:
所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
3.如权利要求1或2所述的方法,其特征在于,
所述网络控制器根据所述至少一个容器的拓扑范围以及所述转发路径确定所述请求路由节点对应的路由信息,包括:
所述网络控制器从所述至少一个容器的拓扑范围中确定所述请求路由节点对应的第一拓扑范围,并确定所述请求路由节点在所述转发路径上的下一跳路由节点,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述每个路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;
所述网络控制器将所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向所述下一跳路由节点的端口作为所述请求路由节点对应的路由信息。
4.如权利要求1或2所述的方法,其特征在于,所述网络控制器向所述请求路由节点下发所述请求路由节点对应的路由信息,包括:
所述网络控制器向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
5.如权利要求2所述的方法,其特征在于,所述网络控制器向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,包括:
所述网络控制器向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
6.如权利要求1所述的方法,其特征在于,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
7.一种网络控制器,其特征在于,包括:
第一接收单元,用于接收请求路由节点发送的路由请求消息,所述路由请求消息中携带所述请求内容的容器树集信息,所述容器树集信息包括所述请求内容的归属容器在内的至少一个容器的容器名,且所述容器树集信息用于指示所述至少一个容器之间的接入关系,其中,容器是用于存储一组内容的存储空间,该一组内容是一个内容或多个内容;
第一确定单元,用于根据所述网络控制器存储或获取的所述至少一个容器中每个容器的注册信息,确定所述每个容器的边缘路由节点,其中所述每个容器的注册信息用于指示所述每个容器的容器名与所述每个容器的边缘路由节点之间的对应关系;
第二确定单元,用于根据所述第一确定单元确定的所述每个容器的边缘路由节点及所述网络控制器所控制的网络的网络拓扑信息,确定所述每个容器的拓扑范围,所述网络拓扑信息用于以所述网络中的路由节点的网络名表示所述网络的拓扑结构,所述拓扑范围用于指示容器与路由节点的之间包含关系;
第三确定单元,用于根据所述第一确定单元确定的所述归属容器的边缘路由节点的网络名、获取的所述请求路由节点的网络名以及所述网络拓扑信息,确定以所述请求路由节点为起点、以所述归属容器的边缘路由节点为终点的转发路径;
第四确定单元,用于根据所述第二确定单元确定的所述至少一个容器的拓扑范围以及所述第三确定单元确定的所述转发路径,确定所述请求路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
第一发送单元,用于向所述请求路由节点下发所述第四确定单元确定的所述请求路由节点对应的路由信息,以便所述请求路由节点根据所述路由信息转发所述请求内容对应的内容请求包。
8.如权利要求7所述的网络控制器,其特征在于,还包括:
第五确定单元,用于根据所述第二确定单元确定的所述至少一个容器的拓扑范围以及所述第三确定单元确定的所述转发路径,确定所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点对应的路由信息,所述路由信息包括容器名和所述容器名对应的端口,其中所述每个路由节点对应的所述路由信息中的容器名为所述容器树集信息包括的所述至少一个容器中的容器的容器名;
第二发送单元,用于向所述除所述请求路由节点之外的每个路由节点下发所述每个路由节点对应的路由信息,以便所述每个路由节点根据所述每个路由节点对应的所述路由信息转发所述请求内容对应的内容请求包。
9.如权利要求7或8所述的网络控制器,其特征在于,
所述第四确定单元具体用于从所述至少一个容器的拓扑范围中确定所述每个路由节点对应的第一拓扑范围,并确定所述请求路由节点在所述转发路径上的下一跳路由节点,所述第一拓扑范围为从所述至少一个容器的拓扑范围中除去包含所述请求路由节点的拓扑范围所剩余的拓扑范围中范围最大的拓扑范围;将所述第一拓扑范围对应的容器的容器名、所述请求路由节点指向所述下一跳路由节点的端口作为所述每个路由节点对应的路由信息。
10.如权利要求7或8所述的网络控制器,其特征在于,
所述第一发送单元具体用于向所述请求路由节点发送路由响应消息,所述路由响应消息包含所述请求路由节点对应的所述路由信息,且所述路由响应消息通过数据包承载。
11.如权利要求8所述的网络控制器,其特征在于,所述第二发送单元具体用于向所述转发路径所经过的路由节点中除所述请求路由节点之外的每个路由节点发送主动路由下发消息,所述主动路由下发消息包含所述除所述请求路由节点之外的每个路由节点对应的所述路由信息,且所述主动路由下发消息通过兴趣包承载。
12.如权利要求7所述的网络控制器,其特征在于,所述内容请求包为兴趣包,所述路由请求消息通过兴趣包承载。
CN201380000583.1A 2013-06-08 2013-06-08 路由转发方法、装置及系统 Active CN104429038B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/076981 WO2014194523A1 (zh) 2013-06-08 2013-06-08 路由转发方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104429038A CN104429038A (zh) 2015-03-18
CN104429038B true CN104429038B (zh) 2018-03-13

Family

ID=52007438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000583.1A Active CN104429038B (zh) 2013-06-08 2013-06-08 路由转发方法、装置及系统

Country Status (6)

Country Link
US (1) US9948550B2 (zh)
EP (1) EP2993853B1 (zh)
JP (1) JP6225249B2 (zh)
KR (1) KR101787867B1 (zh)
CN (1) CN104429038B (zh)
WO (1) WO2014194523A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150091880A (ko) * 2014-02-04 2015-08-12 한국전자통신연구원 모바일 애드혹 네트워크 환경에서 icn 기반 콘텐트 통신 방법 및 장치
KR102185350B1 (ko) * 2014-06-10 2020-12-01 삼성전자주식회사 네트워크 노드 및 네트워크 노드의 동작 방법
JP6438719B2 (ja) * 2014-09-24 2018-12-19 株式会社日立製作所 通信システム、および、通信プログラム
US10033631B1 (en) * 2015-04-23 2018-07-24 Cisco Technology, Inc. Route distribution for service appliances
US10880198B2 (en) * 2015-05-08 2020-12-29 Qualcomm Incorporated Aggregating targeted and exploration queries
JP6638472B2 (ja) * 2016-02-29 2020-01-29 富士通株式会社 中継装置及び中継システム
GB2550622B (en) 2016-04-19 2018-10-24 Cisco Tech Inc Information centric networking routing in an IP network
US10164910B2 (en) 2016-07-13 2018-12-25 Futurewei Technologies, Inc. Method and apparatus for an information-centric MAC layer
US10425485B2 (en) * 2016-11-21 2019-09-24 Cisco Technology, Inc. Integrating information centric networking (ICN) over low power and lossy networks (LLNs)
CN107682264B (zh) * 2017-09-26 2018-11-16 迅雷计算机(深圳)有限公司 基于实时动态路径规划的数据传输方法和系统
CN111630881B (zh) * 2018-01-26 2023-03-31 株式会社多田野 无线通信机、作业车及作业车的无线通信系统
CN110391980B (zh) * 2018-04-16 2021-11-09 中兴通讯股份有限公司 一种数据转发方法、路由设备及计算机存储介质
US11470185B2 (en) * 2019-01-24 2022-10-11 Intel Corporation Information centric network packet transmission control
CN109639841A (zh) * 2019-02-25 2019-04-16 北京云中融信网络科技有限公司 网络连接系统及方法
CN110149274B (zh) * 2019-05-20 2020-06-16 北京理工大学 基于位置信息和内容推送的命名数据网络综合路由方法
US11516199B2 (en) * 2020-07-17 2022-11-29 Cisco Technology, Inc. Zero trust for edge devices
CN114915591B (zh) * 2021-01-28 2023-05-02 中国电信股份有限公司 端到端业务保障方法以及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061488A1 (en) * 2004-09-20 2007-03-15 Trilibis Inc. System and method for flexible user interfaces
US9456054B2 (en) * 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
EP2321983B1 (en) * 2008-09-04 2018-05-09 Trilliant Networks, Inc. Method for implementing mesh network communications using a mesh network protocol
US8160069B2 (en) 2009-01-30 2012-04-17 Palo Alto Research Center Incorporated System for forwarding a packet with a hierarchically structured variable-length identifier
EP2290563B1 (en) * 2009-08-28 2017-12-13 Accenture Global Services Limited Accessing content in a network
WO2011037105A1 (ja) * 2009-09-25 2011-03-31 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
WO2011126481A1 (en) 2010-04-07 2011-10-13 Limelight Networks, Inc. Partial object distribution in content delivery network
KR20140004185A (ko) * 2011-01-25 2014-01-10 인터디지탈 패튼 홀딩스, 인크 콘텐츠 id에 기초하여 콘텐츠를 자동적으로 발견하고 리트리브하기 위한 방법 및 장치
KR20130048032A (ko) * 2011-11-01 2013-05-09 한국전자통신연구원 컨텐츠 중심 네트워크에서 라우팅 방법
US8891536B2 (en) * 2012-05-03 2014-11-18 Futurewei Technologies, Inc. Layer-3 services for united router farm
US10084650B2 (en) * 2013-07-09 2018-09-25 Tail-f Systems AB Graphical user interface for customizing graphical representations based on registry data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Contentflow: mapping content to flows in software defined networks;A. Chanda等;《Cornell university library》;20130207;正文第1-9页 *

Also Published As

Publication number Publication date
JP6225249B2 (ja) 2017-11-01
EP2993853A4 (en) 2016-05-25
EP2993853A1 (en) 2016-03-09
KR101787867B1 (ko) 2017-10-18
WO2014194523A1 (zh) 2014-12-11
KR20160016947A (ko) 2016-02-15
EP2993853B1 (en) 2019-07-31
US20160087881A1 (en) 2016-03-24
CN104429038A (zh) 2015-03-18
US9948550B2 (en) 2018-04-17
JP2016525825A (ja) 2016-08-25

Similar Documents

Publication Publication Date Title
CN104429038B (zh) 路由转发方法、装置及系统
CN104009920B (zh) 数据源移动的处理方法、转发报文的方法及其装置
CN104052661B (zh) 容器名服务器和容器名解析方法
CN104247371B (zh) 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现
CN103874157B (zh) 路由转发、建立路由表、和获取内容的方法及其装置
CN105337881B (zh) 一种数据报文的处理方法、业务节点以及引流点
CN105072038B (zh) 一种数据报文转发方法及装置
CN104219125B (zh) 信息为中心网络icn中转发报文的方法、装置及系统
CN104184663B (zh) 基于软件定义网络和一体化标识网络的通信方法和装置
CN105591974B (zh) 报文处理方法、装置及系统
CN104468351B (zh) 基于sdn辅助ccn路由的管理方法、ccn转发装置及网络控制器
CN106790676A (zh) 订阅通知的实现方法和装置
CN105122741B (zh) 业务流的业务链控制方法和装置
CN106130913A (zh) 一种多运营商接入情况下基于策略的多wan口路由器的选路方法
CN108848032A (zh) 一种支持多兴趣类型处理的命名对象网络实现方法
CN106657637A (zh) 能够在保持手持服务功能集的同时提供数据网络共享服务的手持设备
CN104243323B (zh) 交换网多播路由方法及系统
CN105009529B (zh) 一种处理报文的方法和转发器
CN107404530A (zh) 基于用户兴趣相似度的社交网络协作缓存方法及装置
CN103534991B (zh) 一种报文转发方法及设备
CN108965479B (zh) 一种基于内容中心网络的域协同缓存方法及装置
CN108964745A (zh) 数据处理方法、网络架构、电子设备及可读存储介质
CN107360089A (zh) 一种路由建立方法、业务数据转换方法及装置
CN105429901B (zh) 上行数据包转发方法及装置、下行数据包转发方法及装置
CN107733948A (zh) 一种ccn网络中区分内容的用户移动性支持方法

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