CN104052661A - 容器名服务器和容器名解析方法 - Google Patents
容器名服务器和容器名解析方法 Download PDFInfo
- Publication number
- CN104052661A CN104052661A CN201310075826.XA CN201310075826A CN104052661A CN 104052661 A CN104052661 A CN 104052661A CN 201310075826 A CN201310075826 A CN 201310075826A CN 104052661 A CN104052661 A CN 104052661A
- Authority
- CN
- China
- Prior art keywords
- container
- content
- identification
- access
- bag
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/457—Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Packages (AREA)
Abstract
本发明实施例提供一种容器名服务器和容器名解析方法,该容器名服务器包括:网络接口,用于接收网络节点发送的解析请求包,该解析请求包包括待解析的容器的容器标识;执行引擎,用于根据该待解析的容器的容器标识获取该待解析的容器的接入容器的容器标识。本发明实施例中,通过引入容器名服务器,并将容器名服务器作为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路由器和以太网转发引擎来实现基于内容名的转发。
当前的NDN/CCN方案中并没有名字解析系统,是完全基于内容名的前缀进行路由,导致路由的扩展性、移动性支持等问题。
发明内容
本发明实施例提供一种容器名服务器和容器名解析方法,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
第一方面,提供一种容器名服务器,包括:
网络接口,用于接收网络节点发送的解析请求包,所述解析请求包包括待解析的容器的容器标识;
执行引擎,用于根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识。
结合第一方面,在第一方面的一种实现方式中,所述网络接口还用于向所述发送解析请求包的网络节点发送解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口具体用于接收网络节点发送的所述解析请求包,所述解析请求包为兴趣包;向所述发送解析请求包的网络节点发送所述解析响应包,所述解析响应包为数据包。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述容器名服务器还包括数据库,所述执行引擎具体用于根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识,所述数据库存储了所述待解析的容器与所述待解析的容器的接入容器之间的映射关系。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口还用于接收网络节点发送的注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识;所述执行引擎还用于存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系,以便根据所述待注册的容器的容器标识获取所述待注册的容器的接入容器的容器标识。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口具体用于接收网络节点发送的所述注册请求包,所述注册请求包为兴趣包。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所 述网络接口还用于向所述发送注册请求包的网络节点发送注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口具体用于向所述发送注册请求包的网络节点发送所述注册响应包,所述注册响应包为数据包。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口还用于接收网络节点发送的注销请求包,所述注销请求包包括待注销的容器的容器标识与所述待注销的容器的接入容器的容器标识;所述执行引擎还用于从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述网络接口具体用于接收网络节点发送的所述注销请求包,所述注销请求包为兴趣包。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述执行引擎具体用于根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识;当未查询到所述接入容器的容器标识时,根据所述待解析的容器的容器标识确定所述待解析的容器的权威容器名服务器,所述权威容器名服务器用于注册、注销以及解析所述待解析的容器;所述网络接口还用于向所述权威容器名服务器转发所述解析请求包。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述容器是用于存储一组内容的存储空间。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器所存储的内容能够在所述容器内被路由到,或所述容器所存储的内容能够通过所述容器被路由到。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容 器为所述容器的接入容器;其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
第二方面,提供一种网络节点,包括:执行引擎,用于获取解析请求包,所述解析请求包包括待解析的容器的容器标识,网络接口,用于向容器名服务器发送所述解析请求包,以便所述容器名服务器根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识;或者,执行引擎,用于获取注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识,网络接口,用于向所述待注册的容器的权威容器名服务器发送所述注册请求包,以便所述权威容器名服务器存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系;或者,执行引擎,用于获取注销请求包,所述注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,网络接口,用于向所述待注销的容器的权威容器名服务器发送所述注销请求包,以便所述权威容器名服务器根据所述待注销的容器的接入容器的容器标识从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
结合第二方面,在第二方面的一种实现方式中,所述网络接口还用于接收与所述解析请求包对应的解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述解析请求包为兴趣包,所述解析响应包为数据包。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述网络接口还用于接收与所述注册请求包对应的注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述注册请求包为兴趣包,所述注册响应包为数据包。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述网络接口还用于接收与所述注销请求包对应的注销响应包,所述响应包包括用于指示注销是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述注销请求包为兴趣包,所述注销响应包为数据包。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述网络接口还用于接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;所述执行引擎具体用于生成所述解析请求包,其中,所述待解析容器的容器标识为所述请求内容的容器的容器标识。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述请求内容的容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析,所述网络接口还用于接收所述容器名服务器发送的解析结果,所述解析结果中包括所述待解析容器的接入容器的容器标识;所述执行引擎还用于将所述请求内容的容器信息中的容器标识以及所述请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项;所述网络接口还用于当所述FIB中存在与所述请求内容的容器信息中的容器标识或所述待解析容器的接入容器的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述执行引擎还用于将所述解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;所述执行引擎还用于确定FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,从所述容器名服务器中解析获得所述容器的接入容器的容器标识;将所述解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述执行引擎还用于将所述解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述容器是用于存储一组内容的存储空间。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器存储的内容能够在所述容器内被路由到,或所述容器存储的内容能够通过所述容器被路由到。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为所述容器的接入容器;其中,所述接入容器为在拓扑关系上包括另一容器,且存在所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所 述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
第三方面,提供一种容器名解析方法,包括:接收网络节点发送的解析请求包,所述解析请求包包括待解析的容器的容器标识;根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识。
结合第三方面,在第三方面的另一种实现方式中,还包括:向所述发送解析请求包的网络节点发送解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述接收网络节点发送的解析请求包包括:接收网络节点发送的所述解析请求包,所述解析请求包为兴趣包;所述向所述发送解析请求包的网络节点发送解析响应包包括:向所述发送解析请求包的网络节点发送所述解析响应包,所述解析响应包为数据包。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识包括:根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识,所述数据库存储了所述待解析的容器与所 述待解析的容器的接入容器之间的映射关系。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,还包括:接收网络节点发送的注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识;存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系,以便根据所述待注册的容器的容器标识获取所述待注册的容器的接入容器的容器标识。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述接收网络节点发送的注册请求包包括:接收网络节点发送的所述注册请求包,所述注册请求包为兴趣包。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,还包括:向所述发送注册请求包的网络节点发送注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述向所述发送注册请求包的网络节点发送注册响应包包括:向所述发送注册请求包的网络节点发送所述注册响应包,所述注册响应包为数据包。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,还包括:接收网络节点发送的注销请求包,所述注销请求包包括待注销的容器的容器标识与所述待注销的容器的接入容器的容器标识;从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述接收网络节点发送的注销请求包包括:接收网络节点发送的所述注销请求包,所述注销请求包为兴趣包。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识包括:根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识;当未查询到所述接入容器的容器标识时,根据所述待解析的容器的容器标识确定所述待解析的容器的权威容器名服务器,所述权威容器名服务器用于注册、注销以及解析所述待解析的容器;向所述权威容器名服务器转发所述解析请求包。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所 述容器是用于存储一组内容的存储空间。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器所存储的内容能够在所述容器内被路由到,或所述容器所存储的内容能够通过所述容器被路由到。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,所述容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为所述容器的接入容器;其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
第四方面,提供一种容器名解析方法,包括:获取解析请求包,所述解析请求包包括待解析的容器的容器标识,并向容器名服务器发送所述解析请求包,以便所述容器名服务器根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识;或者,获取注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识,并向所述待注册的容器的权威容器名服务器发送所述注册请求包,以便所述权威容器名服务器存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系;或者,获取注销请求包,所述注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,并向所述待注销的容器的权威容器名服务器发送所述注销请求包,以便所述权威容器名服务器根据所述待注销的容器的接入容器的容器标识从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
结合第四方面,在第四方面的一种实现方式中,还包括:接收与所述解析请求包对应的解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述解析请求包为兴趣包,所述解析响应包为数据包。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,还 包括:接收与所述注册请求包对应的注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述注册请求包为兴趣包,所述注册响应包为数据包。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,还包括:接收与所述注销请求包对应的注销响应包,所述响应包包括用于指示注销是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述注销请求包为兴趣包,所述注销响应包为数据包。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述获取解析请求包包括:接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;生成所述解析请求包,其中,所述待解析容器的容器标识为所述请求内容的容器的容器标识。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述请求内容的容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析,所述方法还包括:接收所述容器名服务器发送的解析结果,所述解析结果中包括所述待解析容器的接入容器的容器标识;将所述请求内容的容器信息中的容器标识以及所述请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项;当所述FIB中存在与所述请求内容的容器信息中的容器标识或所述待解析容器的接入容器的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述方法还包括:将所述解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所 述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;所述方法还包括:确定FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,从所述容器名服务器中解析获得所述容器的接入容器的容器标识;将所述解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述方法还包括:将所述解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述容器是用于存储一组内容的存储空间。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器存储的内容能够在所述容器内被路由到,或所述容器存储的内容能够通过所述容器被路由到。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为所述容器的接入容器;其中,所述接入容器为在拓扑关系上包括另一容器,且存在所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局 容器。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
本发明实施例中,通过引入容器名服务器,并将容器名服务器作为ICN网络中的名字解析系统,为解决完全基于内容名路由而引起的扩展性、移动性支持等问题提供可能性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中 所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的容器名解析系统的示意图。
图2是本发明实施例的容器名服务器。
图3是本发明实施例的容器名服务器中数据存储形式的示意图。
图4是本发明一个实施例的网络节点。
图5是本发明一个实施例的容器名解析方法。
图6是本发明一个实施例的目标容器注册/注销请求的流程图。
图7是本发明一个实施例的目标容器解析请求的流程图。
图8是本发明一个实施例的容器名服务器执行引擎的工作流程图。
图9是根据本发明实施例的路由转发的方法的示意性流程图。
图10(a)是根据本发明实施例的内容名和容器集之间形成的树型结构示意图。
图10(b)是根据本发明实施例的内容名和容器集之间形成的有向无环图的结构示意图。
图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是根据本发明实施例的用户设备的另一示意性框图。
图39是根据本发明实施例的用户设备的再一示意性框图。
图40是根据本发明实施例的用户设备的再一示意性框图。
图41是根据本发明实施例的发布内容的装置的示意性框图。
图42是根据本发明实施例的发布内容的装置的另一示意性框图。
图43是根据本发明再一实施例的路由器的示意性框图。
图44是根据本发明再一实施例的路由器的示意性框图。
图45是根据本发明再一实施例的路由器的另一示意性框图。
图46是根据本发明另一实施例的建立路由表的装置的示意性框图。
图47是根据本发明另一实施例的用户设备的示意性框图。
图48是根据本发明另一实施例的发布内容的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是本发明实施例的容器名解析系统的示意图。图1由分布在相同或不同网络中的至少一个容器名服务器构成。
容器名服务器可用于保存容器与为该容器提供接入服务的容器或容器集之间的映射关系,并可以对容器进行注册、注销以及解析等操作。
应注意,对于每一个可解析的容器,在容器名解析系统中都有一个与该可解析容器对应的权威容器名服务器。该可解析容器的容器名的注册与注销都在该可解析容器的权威容器名服务器上进行。
容器名服务器的解析操作可包括,当接收到某个容器的解析请求时,将该容器与该容器的接入容器之间的映射关系作为解析结果发送给请求方。
权威容器名服务器的注册操作可包括,当接收到某个容器与该容器的接入容器之间映射关系的注册请求时,在权威容器名服务器的数据库中存储该映射关系。
权威容器名服务器的注销操作可包括,当接收到某个容器与该容器的部分或全部接入容器之间映射关系的注销请求时,在权威容器名服务器的数据库中删除该映射关系。
图2是本发明实施例的容器名服务器。图2的容器名服务器包括网络接口210和执行引擎220。
网络接口210,用于接收网络节点发送的解析请求包,解析请求包包括待解析的容器的容器标识。
执行引擎220,用于根据待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识。
本发明实施例中,通过引入容器名服务器,并将容器名服务器作为ICN网络中的名字解析系统,为解决完全基于内容名路由而引起的扩展性、移动性支持等问题提供可能性。
可选地,网络接口210还用于向发送解析请求包的网络节点发送解析响应包,解析响应包包括获取的容器信息。
上述解析请求包可以是兴趣包(Interest packet)。兴趣包在ICN网络中的路由是通过内容名进行的,但本发明实施例对该解析请求包的内容名的具体形式不作限定。可选地,在ICN中定义用于解析的关键字,如RESOLVE或INQUERY;其中,关键字可以为:1)系统保留字;2)ICN节点接入时通过自动人工的方式进行配置;3)容器名服务器加入ICN时,按照ICN的规则向ICN发布该关键字,因此收到该发布的ICN节点可以在路由表中添加关键字对应的表项,并指向容器名服务器。其次,把解析关键字与目标容 器的容器名组合成上述解析请求包的内容名,由于ICN网络中的每个ICN节点的FIB表是按照最长前缀匹配来进行路由的,因此只需匹配上述关键字就可以把上述解析请求包路由到容器名服务器。
举例说明,当待解析的容器的容器名为chinamobile/fanlingyuan,解析chinamobile/fanlingyuan可以为RESOLVE/chinamobile/fanlingyuan,当ICN节点匹配到RESOLVE关键字,就将该解析请求包路由至容器名服务器。
应理解,除了直接利用内容名前缀的解析关键字进行路由,还可以利用容器路由的方式将上述解析请求包路由至容器名服务器。此时仍可以用关键字作为前缀,但容器名服务器需要根据ICN规则向ICN发布该容器名服务器所在的容器,例如,ICN中已经发布容器名服务器所在容器为RESOLVER,则解析chinamobile/fanlingyuan可以为RESOLVE/chinamobile/fanlingyuan|RESOLVER。
应注意,上述待解析的容器的接入容器可以是待解析的容器的一个接入容器,也可以是多个接入容器,即一个容器集。还应注意,上述待解析的容器的接入容器可以指上述待解析的容器的接入容器,为描述方便,这里称目标容器的接入容器为一级接入容器,同样地,待解析的容器的接入容器的接入容器称为目标容器的二级接入容器,则上述接入容器也可以指待解析的容器的多级接入容器。
应理解,上述发送解析请求包的网络节点可以是其他内容名服务器、ICN节点或网络中的用户设备。上述ICN节点可以是支持ICN协议的节点,例如可以是ICN网络中的路由器。
需要说明的是,本发明实施例对解析响应包的具体形式不作限定。例如,当容器名服务器获取不到解析结果时,可返回失败或者空值。当获取到解析结果时,可沿解析请求包的发送路径返回目标容器的容器名所对应的解析结果。如果待返回的解析结果中的容器是可以继续解析的,容器名服务器可以继续解析,并将多级解析结果插入到原解析结果中作为最终的解析结果返回给请求方。
举例说明,解析chinamobile/fanlingyuan,其中,chinamobile/fanlingyuan为目标容器的容器名。对该结果进行解析,查询到容器chinamobile/fanlingyuan具有两个接入容器,分别为airchina/ca1314和hostsrv.com。解析响应包中携带的解析结果可以为:{|airchina/ca1314| hostsrv.com}。如果容器airchina/ca1314和hostsrv.com可以继续解析,如可以查询到airchina/ca1314的接入容器为cn/beijing,hostsrv.com的接入容器为cn/gd、cn/beijing和us/ca则解析响应包中携带的解析结果可以为{|airchina/ca1314||cn/beijing|hostsrv.com||cn/gd||cn/Beijing||us/ca}。
在解析结果中还可以插入解析结果中包含的容器的其他属性信息,例如,当容器可以继续解析时,可以插入可继续解析的标识以及该容器的生存时间(Time to Live,TTL)例如{|airchina/ca1314;resolvable=yes;ttl=5000|hostsrv.com;resolvable=yes;ttl=1000}。
可选地,解析结果可以具有TTL属性,该TTL属性可设置为解析结果中所包括的容器的TTL属性的最小值,例如解析结果{|airchina/ca1314;resolvable=yes;ttl=5000|hostsrv.com;resolvable=yes;ttl=1000}的TTL设置为1000。
应理解,上述解析响应包可以是与承载上述解析请求的兴趣包对应的数据包(Date packet)。
需要说明的是,接收到解析请求包的网络节点可以缓存该解析结果。如果网络节点为ICN节点,则可将解析结果缓存到ICN节点的CS表中;如果网络节点为容器名服务器,则可将解析结果缓存到数据库中。可缓存时间由ICN规则决定。可选地,当缓存了解析结果的网络节点再次接收到相同的解析请求包时,可以直接将缓存的结果返回。
需要说明的是,本发明实施例对上述执行引擎220获取待解析的容器的接入容器的容器标识的具体方式不作限定。
可选地,作为一个实施例,当容器名服务器不是该目标容器的权威容器名服务器(例如是本地容器名服务器),且容器名服务器并没有存储与上述解析请求包对应的解析结果时:容器名服务器还可包括数据库230,执行引擎220具体用于根据待解析容器的容器标识从数据库230中查询该待解析容器的接入容器的容器信息;当未查询到接入容器的容器信息时,根据待解析容器的容器标识确定容器的权威容器名服务器,权威容器名服务器用于注册、注销以及解析目标容器;通过网络接口向权威容器名服务器转发解析请求包。
需要说明的是,本发明实施例对上述根据容器名确定容器的权威容器名服务器的具体方式不作限定。例如,可采用类似现有域名系统(Domain Name System,DNS)的类似目录树的层级结构,通过配置确定目标容器的权威容器名服务器;也可以采用分布式哈希表(Distributed Hash Table,DHT)技术,通过对容器名的分布式哈希算法确定一个容器的权威容器名服务器;还可以借助有容器辅助的NDN路由机制,找到一个容器的权威容器名服务器。
可选地,作为另一个实施例,当容器名服务器不是上述待解析的容器的权威容器名服务器,且该容器名服务器缓存了与上述解析请求包对应的解析结果时:容器名服务器的执行引擎可具体用于根据待解析容器的容器标识从数据库230中查询待解析的容器的接入容器的容器信息,数据库230缓存了待解析的容器与接入容器之间的映射关系以及接入容器的容器信息。
可选地,作为另一个实施例,当容器名服务器为上述待解析的容器的权威容器名服务器:容器名服务器的执行引擎可具体用于根据待解析的容器的容器标识从数据库230中查询待解析的容器的接入容器的容器标识,数据库230存储了待解析的容器与待解析的容器的接入容器之间的映射关系以及接入容器的容器信息,该存储的内容是通过该待解析的容器的注册请求得到的。
可选地,作为一个实施例,当容器名服务器为待注册的容器的权威容器名服务器时:网络接口还可用于接收网络节点发送的注册请求包,注册请求包包括待注册的容器的容器标识与待注册的容器的接入容器的容器标识;执行引擎还可用于存储待注册的容器与待注册的容器的接入容器之间的映射关系,以便根据该待注册的容器的容器标识获取该待注册的容器的接入容器的容器标识。
应理解,注册请求包可以为兴趣包。本发明实施例该注册请求包的内容名的具体形式不作限定,可以采用与上述解析请求包相同的形式,将关键字替换为REGISTER。
可选地,上述注册请求包中还可携带该注册请求是否可以替代的标识信息,待注册接入容器是否可进一步解析的标识信息以及待注册接入容器的TTL的信息。
举例说明,(replace=yes){|cn/gd/sz;TTL=100|hostsrv.com;resolvable=yes;TTL=5000}。
replace的值域可为yes或no。
当权威容器名服务器已经存在该待注册的容器的容器标识及该待注册 的容器的已注册接入容器的容器信息,且replace值为no:可将上述待注册接入容器的容器信息添加到已注册接入容器的容器信息的最前面,如果待注册容器接入容器的容器信息已经被保存在数据库中,则可删除旧结果。例如,容器A的权威容器名已经存储了容器A的接入容器1和接入容器2,此时,该权威容器名服务器接收到注册请求包,请求注册容器A的接入容器2、接入容器3和接入容器4,由于接入容器2已经在该权威容器名服务器的数据库中存储,那么用新的接入容器2代替之前已经存储的接入容器2,最终容器A的接入容器为接入容器1、接入容器2、接入容器3和接入容器4。
当权威容器名服务器已经存在该待注册的容器的容器名及该待注册的容器的已注册接入容器的容器信息,且replace值为yes:用待注册接入容器的容器信息整体替换已注册接入容器的容器信息。
可选地,默认情况下,replace=no,即如果不出现replace参数,按照replace=no处理。
例如,Register/chinamobile/fanlingyuan—>(replace=yes){|cn/gd/sz;TTL=100|hostsrv.com;resolvable=yes;TTL=5000},此时chinamobile/fanlingyuan原来的解析结果全部无效,替换成cn/gd/sz和hostsrv.com
Resolvable值域(Yes/No):该解析结果(容器)是否可以继续解析,这个继续解析的动作视为对解析结果的扩展,可以在写入数据库的时候就进行扩展,也可以在容器名服务器空闲时扩展,或者直到有解析请求到来再扩展。
TTL:该解析结果允许被缓存的时间,如果为0则表示不可被缓存。
可选地,上述注册请求包为兴趣包,上述注册请求信息可以存放在注册请求包的Selector字段中,新增表示容器名解析相关的属性,用于存放注册相关信息。
可选地,作为一个实施例,网络接口210还用于向发送注册请求包的网络节点发送注册响应包,注册响应包包括用于指示注册是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
需要说明的是,上述注册响应包可以是数据包,可以在Data消息包的Data字段承载注册操作是否成功以及失败原因等信息。对于注册请求的响应Data消息,需要在其Signed Info字段中设置为“不可缓存”(具体实现有不同,比如在CCN实现中FreshnessSecond=0;在NDN中stale time=0),这个 设置保证沿途的ICN节点不会缓存该响应Data,使得后继的注册请求包不会被沿途ICN响应,而是必然被路由到目标容器的权威容器名服务器。
可选地,作为一个实施例,网络接口210还用于接收网络节点发送的注销请求包,注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识;从数据库中删除待注销的容器与待注销的容器的接入容器之间的映射关系。
上述注销请求包可以是兴趣包。同样地,本发明实施例对该注销请求包的内容名的具体形式不作限定,可以采用与解析请求包的内容名相同的形式,将关键字替换成UNREGISTER。
举例说明,对某个容器名的注销信息为:{提供接入服务的Container或Container集合},例如{|cn/gd/sz|hostsrv.com}这些信息如注册操作一样放置在Selector中的新增属性中,其中cn/gd/sz和hostsrv.com为待删除接入容器的容器信息。
如果容器名服务器内不存在待注销的容器的容器名,或者该容器名与cn/gd/sz和hostsrv.com不存在映射关系,返回失败。
如果存在映射关系,从容器名服务器中删除它们之间的映射关系。
如果所有的解析结果都删除成功,返回“完全成功”;否则,返回部分成功,并指出没有成功的部分和原因,最通常的原因是“不存在”
如果待注销的容器的不存在接入容器,则可从容器名服务器中删除该目标容器。
操作的结果也和注册操作一样通过数据包返回,并且同样需要设为“不可缓存”。
应理解,上述网络接口210可基于ICN协议栈收发ICN消息。例如可以接收来自用户设备、网络节点、业务应用或者其他容器名服务器发送过来的Interest消息,交给执行引擎处理。还可以根据执行引擎的命令发送Data消息。
还应理解,数据库230可存储以该数据库所在容器名服务器为权威容器名服务器的容器及其接入容器之间的映射关系及容器信息。还可存储缓存信息,即ICN网络中经过该容器名服务器且可缓存的内容。上述两部分内容可以存储在一张表中,也可以在一张表格中,通过不同的属性标记来区分。两部分内容的区别可以在于,缓存内容TTL为必选属性,从缓存到本容器名 服务器开始,设置定时器,当TTL减少到0时删除该表项。从缓存中得到的解析响应所携带的TTL为当前所述剩余的TTL。
存储的形式可以如图3所示。容器名FLY的接入容器为图3中右上表的第一列,包括cn/gd/sz,hs.com等。数据库中存储的每个接入容器的容器信息除了容器名,还可以包括是否可解析,TTL等属性信息。为了加快寻找目标容器的多级接入容器,当目标容器的接入容器可解析时,还可以在表中增加指针信息,指针指向该可解析的接入容器的上级接入容器在数据库中的存储位置。
还应理解,执行引擎220可用于执行解析相关的逻辑处理,例如解析来自网络接口210的消息,对数据230进行操作以及通过网络接口210发送操作结果。
上文结合图1至图3,详细描述了根据本发明实施例的容器名服务器,下面结合图4,详细描述根据本发明实施例的网络节点。
应理解,网络节点侧描述的与容器名服务器与网络节点的交互及相关特性、功能等与容器名服务器侧的描述相应,为了简洁,在此不再赘述。
图4是本发明一个实施例的网络节点。该网络节点包括执行引擎410和网络接口420。该网络节点可以是ICN节点(如ICN中的路由),也可以是客户端,还可以是容器名服务器。
执行引擎410,用于获取解析请求包,所述解析请求包包括待解析的容器的容器标识,网络接口420,用于向容器名服务器发送所述解析请求包,以便所述容器名服务器根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识;
或者,执行引擎410,用于获取注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识,网络接口420,用于向所述待注册的容器的权威容器名服务器发送所述注册请求包,以便所述权威容器名服务器存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系;
或者,执行引擎410,用于获取注销请求包,所述注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,网络接口420,用于向所述待注销的容器的权威容器名服务器发送所述注销请求包,以便所述权威容器名服务器根据所述待注销的容器的接入容器的容器标识 从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
本发明实施例中,通过引入容器名服务器,并将容器名服务器作为ICN网络中的名字解析系统,为解决完全基于内容名路由而引起的扩展性、移动性支持等问题提供可能性。
可选地,作为一个实施例,网络接口420还用于接收与解析请求包对应的解析响应包,解析响应包包括待解析的容器的接入容器的容器标识。
可选地,作为另一个实施例,解析请求包为兴趣包,解析响应包为数据包。
可选地,作为另一个实施例,网络接口420还用于接收与注册请求包对应的注册响应包,注册响应包包括用于指示注册是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
可选地,作为另一个实施例,注册请求包为兴趣包,注册响应包为数据包。
可选地,作为另一个实施例,网络接口420还用于接收与注销请求包对应的注销响应包,响应包包括用于指示注销是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
可选地,作为另一个实施例,注销请求包为兴趣包,注销响应包为数据包。
可选地,作为另一个实施例,网络接口420还用于接收内容请求包,内容请求包携带请求内容的内容名和请求内容的容器信息,请求内容的容器信息包括用于标识存储请求内容的容器的容器标识;执行引擎410具体用于生成解析请求包,其中,待解析容器的容器标识为请求内容的容器的容器标识。
可选地,作为另一个实施例,请求内容的容器信息还包括与容器标识对应的解析标识,解析标识用于标识与容器标识对应的容器是否可解析,网络接口420还用于接收容器名服务器发送的解析结果,解析结果中包括待解析容器的接入容器的容器标识;
执行引擎410还用于将请求内容的容器信息中的容器标识以及请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与请求内容的容器信息中的容器标识以及接入容器的容器标识匹配的转发表项;
网络接口420还用于当FIB中存在与请求内容的容器信息中的容器标识或待解析容器的接入容器的容器标识匹配的转发表项时,根据匹配的转发表项中的接口,发送内容请求包。
可选地,作为另一个实施例,执行引擎410还用于将解析获得的请求内容的所有可解析容器的接入容器的容器信息添加到请求内容的容器信息中。
可选地,作为另一个实施例,容器信息还包括与容器标识对应的解析标识,解析标识用于标识与容器标识对应的容器是否可解析;
执行引擎410还用于确定FIB中是否存在与请求内容的容器信息中的容器标识匹配的转发表项,FIB中的转发表项包括预设的容器标识以及与预设的容器标识对应的接口;当FIB中不存在与请求内容的容器信息中的容器标识匹配的转发表项时,根据解析标识,从容器名服务器中解析获得容器的接入容器的容器标识;将解析获得的接入容器的容器标识与FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一个实施例,执行引擎410还用于将解析获得的接入容器的容器信息添加到请求内容的容器信息中。
可选地,作为另一个实施例,容器是用于存储一组内容的存储空间。
可选地,作为另一个实施例,容器包括至少一个路由节点,通过至少一个路由节点中的一个或多个路由节点,容器存储的内容能够在容器内被路由到,或容器存储的内容能够通过容器被路由到。
可选地,作为另一个实施例,容器所存储的内容对应一个或多个归属容器,内容的归属容器是能够直接路由到内容的容器。
可选地,作为另一个实施例,容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为容器的接入容器;其中,接入容器为在拓扑关系上包括另一容器,且存在容器存储的内容所对应的内容请求包路由到另一容器的转发表项的容器。
可选地,作为另一个实施例,FIB包括全局容器转发表项,全局容器转发表项包括全局容器的容器标识以及与全局容器的容器标识对应的第一接口,第一接口是由本节点连接到达全局容器的下一跳路由节点的接口,全局容器是可全局路由的容器,全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,作为另一个实施例,FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过拓扑相关容器转发表项,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器;其中,拓扑相关容器是与其它容器形成拓扑关系的容器,拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
可选地,作为另一个实施例,拓扑相关容器转发表项包括相对于本节点的归属容器为下级容器的容器标识以及与下级容器的容器标识对应的第二接口,第二接口为由本节点连接到达下级容器的接口;通过拓扑相关容器转发表项,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器,包括:通过拓扑相关容器转发表项中的下级容器的容器标识以及与下级容器的容器标识对应的第二接口,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器。
可选地,作为另一个实施例,拓扑相关容器对应的容器标识具有能够反映拓扑相关容器的级别的性质,从而表示拓扑相关容器与其它容器之间形成的拓扑关系。
可选地,作为另一个实施例,FIB还包括拓扑无关小容器转发表项,拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与拓扑无关小容器的容器标识对应的第三接口,第三接口为由本节点连接到达拓扑无关小容器的下一跳路由节点的接口。
上文中结合图2,详细描述了根据本发明实施例的容器名服务器,下面将结合图5,详细描述根据本发明实施例的容器名解析方法。
应理解,图2的容器名服务器能够实现图5中由容器名服务器执行的各个步骤,为避免重复,不再详细描述。
图5是本发明一个实施例的容器名解析方法。该方法包括:
510、接收网络节点发送的解析请求包,解析请求包包括待解析的容器的容器标识。
520、根据待解析的容器的容器标识获取待解析的容器的接入容器的容器标识。
本发明实施例中,通过引入容器名服务器,并将容器名服务器作为ICN网络中的名字解析系统,为解决完全基于内容名路由而引起的扩展性、移动 性支持等问题提供可能性。
可选地,作为一个实施例,还包括:向发送解析请求包的网络节点发送解析响应包,解析响应包包括待解析的容器的接入容器的容器标识。
可选地,作为另一个实施例,接收网络节点发送的解析请求包包括:接收网络节点发送的解析请求包,解析请求包为兴趣包;向发送解析请求包的网络节点发送解析响应包包括:向发送解析请求包的网络节点发送解析响应包,解析响应包为数据包。
可选地,作为另一个实施例,根据待解析的容器的容器标识获取待解析的容器的接入容器的容器标识包括:根据待解析的容器的容器标识从数据库中查询待解析的容器的接入容器的容器标识,数据库存储了待解析的容器与待解析的容器的接入容器之间的映射关系。
可选地,作为另一个实施例,还包括:接收网络节点发送的注册请求包,注册请求包包括待注册的容器的容器标识与待注册的容器的接入容器的容器标识;存储待注册的容器与待注册的容器的接入容器之间的映射关系,以便根据待注册的容器的容器标识获取待注册的容器的接入容器的容器标识。
可选地,作为另一个实施例,接收网络节点发送的注册请求包包括:接收网络节点发送的注册请求包,注册请求包为兴趣包。
可选地,作为另一个实施例,还包括:向发送注册请求包的网络节点发送注册响应包,注册响应包包括用于指示注册是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
可选地,作为另一个实施例,向发送注册请求包的网络节点发送注册响应包包括:向发送注册请求包的网络节点发送注册响应包,注册响应包为数据包。
可选地,作为另一个实施例,还包括:接收网络节点发送的注销请求包,注销请求包包括待注销的容器的容器标识与待注销的容器的接入容器的容器标识;从数据库中删除待注销的容器与待注销的容器的接入容器之间的映射关系。
可选地,作为另一个实施例,接收网络节点发送的注销请求包包括:接收网络节点发送的注销请求包,注销请求包为兴趣包。
4可选地,作为另一个实施例,根据待解析的容器的容器标识获取待解析的容器的接入容器的容器标识包括:根据待解析的容器的容器标识从数据 库中查询待解析的容器的接入容器的容器标识;当未查询到接入容器的容器标识时,根据待解析的容器的容器标识确定待解析的容器的权威容器名服务器,权威容器名服务器用于注册、注销以及解析待解析的容器;向权威容器名服务器转发解析请求包。
可选地,作为另一个实施例,容器是用于存储一组内容的存储空间。
可选地,作为另一个实施例,容器包括至少一个路由节点,通过至少一个路由节点中的一个或多个路由节点,容器所存储的内容能够在容器内被路由到,或容器所存储的内容能够通过容器被路由到。
可选地,作为另一个实施例,容器所存储的内容对应一个或多个归属容器,内容的归属容器是能够直接路由到内容的容器。
可选地,作为另一个实施例,容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为容器的接入容器;其中,接入容器为在拓扑关系上包括另一容器,且存在将容器存储的内容所对应的内容请求包路由到另一容器的转发表项的容器。
图5从容器名服务器侧描述了根据本发明实施例的容器名解析方法,接下来从网络节点侧描述根据本发明实施例的容器名解析方法。应理解,网络节点侧描述的的容器名解析方法与容器名服务器侧描述的容器名解析方法相对应,为避免重复,不再详细描述。具体步骤如下:
510b获取解析请求包,解析请求包包括待解析的容器的容器标识,
520b、向容器名服务器发送解析请求包,以便容器名服务器根据待解析的容器的容器标识获取待解析的容器的接入容器的容器标识;
或者,510b、获取注册请求包,注册请求包包括待注册的容器的容器标识与待注册的容器的接入容器的容器标识,
520b、向待注册的容器的权威容器名服务器发送注册请求包,以便权威容器名服务器存储待注册的容器与待注册的容器的接入容器之间的映射关系;
或者,510b、获取注销请求包,注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,
520b、向待注销的容器的权威容器名服务器发送注销请求包,以便权威容器名服务器根据待注销的容器的接入容器的容器标识从数据库中删除待注销的容器与待注销的容器的接入容器之间的映射关系。
本发明实施例中,通过引入容器名服务器,并将容器名服务器作为ICN网络中的名字解析系统,为解决完全基于内容名路由而引起的扩展性、移动性支持等问题提供可能性。
可选地,作为一个实施例,还包括:接收与解析请求包对应的解析响应包,解析响应包包括待解析的容器的接入容器的容器标识。
可选地,作为另一个实施例,解析请求包为兴趣包,解析响应包为数据包。
可选地,作为另一个实施例,还包括:接收与注册请求包对应的注册响应包,注册响应包包括用于指示注册是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
可选地,作为另一个实施例,注册请求包为兴趣包,注册响应包为数据包。
可选地,作为另一个实施例,还包括:接收与注销请求包对应的注销响应包,响应包包括用于指示注销是否成功的信息以及用于指示注册响应包中的信息不可缓存的信息。
可选地,作为另一个实施例,注销请求包为兴趣包,注销响应包为数据包。
可选地,作为另一个实施例,获取解析请求包包括:接收内容请求包,内容请求包携带请求内容的内容名和请求内容的容器信息,请求内容的容器信息包括用于标识存储请求内容的容器的容器标识;生成解析请求包,其中,待解析容器的容器标识为请求内容的容器的容器标识。
可选地,作为另一个实施例,请求内容的容器信息还包括与容器标识对应的解析标识,解析标识用于标识与容器标识对应的容器是否可解析,方法还包括:接收容器名服务器发送的解析结果,解析结果中包括待解析容器的接入容器的容器标识;将请求内容的容器信息中的容器标识以及请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与请求内容的容器信息中的容器标识以及接入容器的容器标识匹配的转发表项;当FIB中存在与请求内容的容器信息中的容器标识或待解析容器的接入容器的容器标识匹配的转发表项时,根据匹配的转发表项中的接口,发送内容请求包。
可选地,作为另一个实施例,上述方法还包括:将解析获得的请求内 容的所有可解析容器的接入容器的容器信息添加到请求内容的容器信息中。
可选地,作为另一个实施例,容器信息还包括与容器标识对应的解析标识,解析标识用于标识与容器标识对应的容器是否可解析;上述方法还包括:确定FIB中是否存在与请求内容的容器信息中的容器标识匹配的转发表项,FIB中的转发表项包括预设的容器标识以及与预设的容器标识对应的接口;当FIB中不存在与请求内容的容器信息中的容器标识匹配的转发表项时,根据解析标识,从容器名服务器中解析获得容器的接入容器的容器标识;将解析获得的接入容器的容器标识与FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一个实施例,上述方法还包括:将解析获得的接入容器的容器信息添加到请求内容的容器信息中。
可选地,作为另一个实施例,容器是用于存储一组内容的存储空间。
可选地,作为另一个实施例,容器包括至少一个路由节点,通过至少一个路由节点中的一个或多个路由节点,容器存储的内容能够在容器内被路由到,或容器存储的内容能够通过容器被路由到。
可选地,作为另一个实施例,容器所存储的内容对应一个或多个归属容器,内容的归属容器是能够直接路由到内容的容器。
可选地,作为另一个实施例,容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为容器的接入容器;其中,接入容器为在拓扑关系上包括另一容器,且存在容器存储的内容所对应的内容请求包路由到另一容器的转发表项的容器。
可选地,作为另一个实施例,FIB包括全局容器转发表项,全局容器转发表项包括全局容器的容器标识以及与全局容器的容器标识对应的第一接口,第一接口是由本节点连接到达全局容器的下一跳路由节点的接口,全局容器是可全局路由的容器,全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,作为另一个实施例,FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过拓扑相关容器转发表项,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器;其中,拓扑相关容器是与其它容器形成拓扑关系的容器,拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上 级容器所包括。
可选地,作为另一个实施例,拓扑相关容器转发表项包括相对于本节点的归属容器为下级容器的容器标识以及与下级容器的容器标识对应的第二接口,第二接口为由本节点连接到达下级容器的接口;通过拓扑相关容器转发表项,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器,包括:通过拓扑相关容器转发表项中的下级容器的容器标识以及与下级容器的容器标识对应的第二接口,使得本节点归属的容器的下级容器的路由作为本节点的内部路由不扩散出本节点归属的容器。
可选地,作为另一个实施例,拓扑相关容器对应的容器标识具有能够反映拓扑相关容器的级别的性质,从而表示拓扑相关容器与其它容器之间形成的拓扑关系。
可选地,作为另一个实施例,FIB还包括拓扑无关小容器转发表项,拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与拓扑无关小容器的容器标识对应的第三接口,第三接口为由本节点连接到达拓扑无关小容器的下一跳路由节点的接口。
下面结合具体例子,更加详细地描述本发明实施例。应注意,图6至图8的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图6至图8的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
图6是本发明一个实施例的目标容器注册/注销请求的流程图。
在图6中,当客户端/请求节点需要注册或注销某个容器时,首先生成注册/注销请求包(兴趣包),注册/注销请求包中携带需要注册/注销的目标容器,以及该目标容器的接入容器,以注册请求为例,注册请求包的内容名为REGISTER/chinamobile/fanlingyuan,其中REGISTER为注册关键字,chinamobile/fanlingyuan为目标容器的容器名。
生成注册/注销请求包后,沿图6中610所示的路线,首先将注册/注销请求包路由至本地容器名服务器。当本地容器名服务器即为该目标容器的权威容器名服务器时,完成注册,并返回注册/注销响应包(数据包);当本地容器名服务器不是该目标容器的权威容器名服务器时,则根据预定规则增加对应上一级容器名服务器或该容器名对应的权威容器名服务器,将该注册/ 注销请求包继续路由出去,直到路由至该目标容器的权威容器名服务器为止。
当权威容器名服务器接收到该注册/注销请求包并完成注册/注销操作后,沿图6中620所示的路线将注册/注销响应包返回至客户端/请求节点。
需要说明的是,注册/注销响应包返回时,不允许被途径的其他容器名服务器或ICE节点缓存,可以通过设置注册/注销响应包的TTL=0来确保这一点。
图7是本发明一个实施例的目标容器解析请求的流程图。
在图7中,首先,客户端/请求节点一生成解析请求包(兴趣包),该解析请求包中包含目标容器(即待解析容器)的容器名,例如,该解析请求包的内容名为RESOLVE/chinamobile/fanlingyuan|RESOLVER,其中,RESOLVE为解析关键字,chinamobile/fanlingyuan为目标容器的容器名,RESOLVER为容器名服务器所在容器。接着,沿710所示路线将解析请求包通过ICN节点路由至本地容器名服务器,当本地容器名服务器不能解析该解析请求包的容器名时,则根据预设规则增加对应上一级容器名服务器或路由至该目标容器的权威容器名服务器。当获得解析结果时,沿720将解析结果原路返回,途径的容器名服务器或ICN节点可以将该解析结果缓存至各自的CS表中。
当客户端/请求节点二向710/720路线所经过的一个ICN节点发送与客户端/请求节点一相同的解析请求包时(如730所示),由于该ICN节点缓存了该解析请求包对应的解析结果,所以可以直接通过740向客户端/请求节点二返回解析结果。
图8是本发明一个实施例的容器名服务器执行引擎的工作流程图。
801、接收消息包;
该消息包可以为兴趣包或数据包。
802、判断是兴趣包还是数据包,是兴趣包则转803,否,则转816;
803、判断操作类型,如果是注册或者注销则转804,如果是解析则转813;
804、是否以本节点为权威容器名服务器,是,则转805,否,则转815;
805、判断是注册操作还是注销操作,如果是注册操作则转807;否,则转806;
806、从对应容器名的已注册接入容器中删除兴趣包中指出的项,然后转820;
807、所注册的容器名是否存在:如果已经存在则转809;否,则转808;
808、在表中新增容器名及其对应的解析结果,生成数据包,转812;
上述兴趣包中指出的项是指待注销接入容器的容器信息的。
809、判断replace参数是否为真,如果为真,转810;如果不为真或者没有replace参数,转811;
810、删除目标容器的所有已注册接入容器,填入消息中携带的待注册接入容器,生成数据包,转812;
811、将消息中携带的待注册接入容器插入到目标容器的已注册接入容器的最前面,如果已注册接入容器中有与消息中携带的相同的接入容器,删除原来的相应表项;生成数据包,转812;
812、(本步骤为可选步骤,如果忽略,则直接转820)扫描结果,对于所有可继续解析的项,建立索引;如果标明可解析但是在本地无法解析的,向上一级容器名服务器或者该容器名对应的权威容器名服务器发送解析请求Interest消息,等待Data消息返回的结果。如果是空结果,说明该项无法解析,在响应消息中表示错误;否则建立指向进一步解析结果的索引,直到全部解析完成后,形成完整Data消息,转820;
813、所查询的容器名在表中是否存在
如果不存在,转815,如果存在,转814;
814、依次扫描对应的解析结果,放入生成的Data消息,扫描完成后转820;
可选地、如果有结果为可以继续解析的(resolvable=yes),递归执行本步骤进行进一步解析;如果出现重复的解析结果(同样的容器名已经被放入Data消息),则忽略该结果,继续扫描下一项;
815、根据预设规则在原Interest的内容名之后增加对应上一级容器名服务器或者该容器名对应的权威容器名服务器的容器名,如果有对应本节点的容器名则删去,形成新的Interest消息发送出去,等待Data消息
816、判断是解析的响应消息还是注册/注销响应消息,如果是注册/注销响应消息,转817;如果是解析响应消息,转818;
817、将Data消息返回原请求节点,转820;
818、根据Data消息中的容器名和解析结果创建对应的表项,如果已经有同样的容器名存在,根据预设策略,覆盖或者丢弃;根据本地表的结果生成Data消息;如果解析结果为空则不创建表项。
819、判断该解析是否是因为注册时进一步解析引起的,是,则转812;是查询,则转814;
820、调用网络接口模块发送Interest消息或者Data消息。
图9是本发明实施例的路由转发的方法900的示意性流程图,图9的方法可以由路由节点执行,为了便于描述,下面将执行方法900的路由节点称为本节点。如图9所示,方法900包括:
S910,接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
S920,确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
S930,当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
S940,当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在本发明实施例中,容器是用于存储一组内容的存储空间,其中,该一组内容可以是一个内容或多个内容。例如,一个国家的整个网络可以看成是一个国家级的容器,该容器是位于该国网络内的所有内容的存储空间;类似地,一个省的整个网络可看成是一个省级的容器,该省级容器是位于该省网络内的所有内容的存储空间。此外,公司或组织的整个网络也可看成是位于该公司或组织的网络内所有内容的存储空间,移动设备,如飞机、火车或轮船等的网络可以看成是该移动设备网络内所有内容的存储空间,手机、主机 或其他存储内容的电子设备的网络也可以看成该网络内所有内容的存储空间,本发明实施例不限于此。相对应的,容器的容器标识可以是任意内容标识前缀,如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”提供接入服务,但本发明实施例不限于此。
在S910中,本节点接收到的内容请求包可能是由其它路由节点发送的,也可能是由用户设备发送的,本发明实施例对此不作限定。该内容请求包携带的该请求内容的容器信息中包括的容器标识对应的容器组成该请求内容的容器集,该容器集可以包括一个或多个容器。可选地,该容器集中的一个或多个容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器,这里的“第一其他容器”以及“第二其他容器”可以是容器集中的容器,也可以是不在容器集中的其他容器。
具体地,该容器集可以包括该请求内容的归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器,其中,该请求内容的归属容器中存在该请求内容的内容名对应的转发表项,该请求内容的内容名与该请求内容的归属容器相对应。该请求内容可以有一个或多个归属容器,相应地,该请求内容的内容名可以对应一个或多个归属容器,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。
该请求内容的归属容器的接入容器也可以看成是存储该请求内容的容器,其中,该请求内容能够通过该归属容器的接入容器被间接路由到。可选地,在S910中,该容器集还可以包括该请求内容的归属容器的接入容器,或进一步包括该接入容器的接入容器,通过该归属容器的接入容器或通过该接入容器的接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到。例如,内容“fanlingyuan.com/myson/2012/June01/happy.jpg”的归属容器为“chinamobile/fanlingyuan”,而容器“chinamobile/fanlingyuan”的接入容器为“cloudsrv.com”,在这种情形下,该内容可以通过容器“cloudsrv.com”中包括的一个或多个路由节点到达容器“chinamobile/fanlingyuan”,并通过容器“chinamobile/fanlingyuan”中包括的一个或多个路由节点,在容器“chinamobile/fanlingyuan”中被路由到。类似地,从容器的角度来看,容器存储的内容包括在该容器中可以直接路由到的内容,以及包括可以通过该容器被间接路由到的内容。可选地,该容器集还可以包括存储该内容的所有容器,本发明实施例不限于此。
然而,有些容器的位置可能经常变化,如飞机或轮船等,相应地,这些容器的接入容器也会随之变化。当请求内容的容器集中包括这些容器的接入 容器时,无法保证该容器集的持久性,也不能很好地支持内容的移动性。因此,当该容器集中的至少一个容器的接入容器经常变化时,内容发布商可以将该至少一个容器与其接入容器的映射关系注册到解析系统,当该至少一个容器的接入容器发生变化时,该至少一个容器可以将该变化通知解析系统,这样解析系统可以实时更新该至少一个容器与其接入容器的映射关系。同时,内容请求包中携带的请求内容的容器集中可以只包括该至少一个容器而不包括该至少一个容器的接入容器,以保证该请求内容的容器集的持久性。并且,内容请求包可以携带该至少一个容器的解析标识表示该至少一个容器可解析,这样,用户设备或路由节点就可以根据该解析标识,来查询解析系统对该至少一个容器进行解析,以获得该至少一个容器的接入容器。从而始终能够通过该至少一个容器的接入容器中的路由节点,路由到达该至少一个容器,从而很好地支持内容的移动性,但本发明实施例不限于此。
应理解,在本发明实施例中,该请求内容的归属容器和该归属容器的接入容器以及该接入容器的接入容器均可以看成是存储该请求内容的容器,然而,只有包括路由节点的容器才是该路由节点归属的容器,而该容器的接入容器并不是该路由节点归属的容器。例如,容器“cn/gd”包括路由节点R12和R13,容器“cn/gd”的接入容器“cn”包括路由节点R1和R2,当一个内容的归属容器是“cn/gd”时,容器“cn”和“cn/gd”均为存储该内容的容器,而路由节点R12和R13归属的容器是“cn/gd”,但本发明实施例不限于此。
在S910中,该请求内容的容器信息可以携带该容器集中每个容器的容器标识,可选地,该容器信息还可以包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。具体地,该内容请求包可以携带可解析容器的解析标识,而默认缺省该解析标识的容器不可解析。可选地,该内容请求包也可以携带所有容器的解析标识,并使用不同的解析标识表示容器可解析或不可解析,例如,解析标识“resolvable=yes”表示该容器可解析,而“resolvable=no”表示该容器不可解析,但本发明实施例不限于此。
请求内容的内容名和该请求内容的容器集之间的关系可以用树来表示。如图10(a)所示,该请求内容的内容名作为树的根节点,该请求内容的容器集中的容器作为该根节点的子孙,其中,根节点的子节点代表该请求内容的 归属容器,树中任意节点代表的容器X与其子节点代表的容器Y的关系为容器Y是容器X的接入容器。例如,在图10(a)中,容器A、容器B和容器C是该请求内容的归属容器,容器A的接入容器为容器D,容器B的接入容器为容器D和容器E,值得注意的是,由于容器D同时是容器A和容器B的接入容器,因此在该树型结构中出现两个容器D。
相对应地,该请求内容的内容名和该请求内容的容器信息之间的关系也可以用上述树型结构来表示。具体地,请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
从图10(a)可以看出,树的表示方法简单明了,然而,当两个以上的容器具有相同的接入容器时,树的表示方法会出现重复的节点,如图10(a)中的容器D。当这种重复大量存在时,树的表示方法存在效率不高的问题。可选地,为了避免重复节点,请求内容的内容名和该请求内容的容器集之间的关系还可以用有向无环图表示。如图10(b)所示,请求内容的内容名作为有向无环图的入口顶点,该请求内容的容器集中的容器作为该有向无环图的其它顶点,其中,由入口顶点发出的所有有向边的终点代表该内容的归属容器,从有向无环图内除入口顶点之外的其它顶点发出的有向边的终点代表的容器是该有向边的起点代表的容器的接入容器,例如,图10(b)中从容器B发出的两条有向边的终点指向容器D和容器E,表示容器B的接入容器为容器D和容器E。
相对应地,请求内容的内容名和该请求内容的容器信息之间也可以用有向无环图来表示,具体地,请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
可选地,还可以用其它方法表示请求内容的内容名与该请求内容的容器集之间或请求内容的内容名与该请求内容的容器信息之间的关系,本发明实 施例不限于此。
当请求内容的内容名和该请求内容的容器信息之间的关系用树表示时,在内容请求包中,采用树的深度遍历将该请求内容的内容名和该请求内容的容器信息排成序列,且该树中的任意两个节点之间以分隔符分隔,其中,该树的第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”的孩子节点。
可选地,还有很多能把树型结构表示成文本形式的方法,例如XML格式或者用“()”来取代“|”作为分割符等,本发明不限于一种具体的表示方法。
可选地,当采用有向无环图表示请求内容的内容名和该请求内容的容器信息之间的关系时,在内容请求包中,将该有向无环图的入口顶点所代表的内容名和该有向无环图中入口顶点外的其它顶点所代表的该请求内容的容器信息排成序列,该有向无环图的所有顶点之间均以分隔符分隔,并在该有向无环图的所有作为有向边的起点的顶点后携带接入参数,该接入参数用于指示从该顶点发起的有向边的终点在该序列中的序号。
具体地,可以将请求内容的内容名和该请求内容的容器信息在{}中排成序列,其中请求内容的内容名排在序列的第一位,请求内容的容器信息排列在内容名之后;请求内容的内容名和各容器的容器信息之间采用“|”作为分隔符;分隔符“|”数量固定为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”提供接入服务,但本发明实施例不限于此。
在S920中,本节点将该请求内容的内容名与本节点的FIB中的转发表项匹配,在S930中,当FIB中不存在与该请求内容的内容名匹配的转发表项时,本节点可以将该请求内容的容器集中的每个容器的容器标识按照一定优先策略,依次与FIB中的转发表项进行匹配。这里的匹配均指最长匹配。当FIB中存在与该请求内容的容器集中的某一容器的容器标识匹配的转发表项时,本节点可以根据该匹配的转发表项中的接口,发送该内容请求包,并停止匹配过程。可选地,本节点也可以继续执行匹配过程,直到将容器集中的所有容器的容器标识与FIB中的预设的容器标识匹配完毕,在这种情况下,可能在FIB中存在与有两个以上容器的容器标识匹配的转发表项,本节点可以分别根据该匹配的转发表项中的接口,发送该内容请求包,以增加路由到该请求内容的概率。在实际应用中,具体的匹配方法可以根据需要进行动态配置,本发明实施例不限于此。
可选地,如图11所示,在方法900中,S930,该确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,包括:
S931,根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;
S932,将该请求内容的容器信息中的容器标识以及该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容 器的容器标识匹配的转发表项。
当本节点根据该容器集中容器的解析标识,确定该容器是可解析容器时,可以通过查询解析系统获得该容器的接入容器,并进一步判断该接入容器是否为可解析容器,当该接入容器仍为可解析容器时,继续查询解析系统获得该接入容器的接入容器,如此进行迭代解析过程,直到解析得到的接入容器不可解析,至此该完全解析过程结束,本节点获得了该请求内容的所有可解析容器的接入容器。然后本节点将该请求内容的容器信息中的容器标识,以及该所有可解析容器的接入容器的容器标识,按照一定优先策略依次与FIB中包括的预设的容器标识匹配。
下面将以内容请求包中用树表示内容名和容器信息之间的关系、以及该内容请求包只携带可解析容器的解析标识为例,对步骤S931和S932进行详细描述。假设本节点接收到的内容请求包的初始形式如下:Name={fanlingyuan.com/blog/2012/June01/main.html|chinamobile/fanlingyuan;resolvable=yes}。根据解析标识“resolvable=yes”,本节点可以获知容器“chinamobile/fanlingyuan”可解析,于是,本节点向解析系统查询,得到其接入容器“airchina/ca1314;resolvable=yes”和“cloudsrv.com”,由于容器“airchina/ca1314”依然可以解析,则本节点继续向解析系统查询,得到其接入容器为“cn/beijing”,由于“cn/beijing”不可解析,该完全解析过程执行完毕,本节点得到该请求内容的所有可解析容器“chinamobile/fanlingyuan”、“airchina/ca1314”,以及该所有可解析容器的接入容器“airchina/ca1314”、“cloudsrv.com”和“airchina/ca1314”。然后,本节点将该请求内容的容器信息中的容器标识“chinamobile/fanlingyuan”,以及该请求内容的所有可解析容器的接入容器的容器标识“airchina/ca1314”、“cloudsrv.com”和“airchina/ca1314”,依次与FIB的转发表项进行匹配。
可选地,本节点还可以将通过解析系统获得的该所有可解析容器的接入容器的容器信息添加到该内容请求包中,以供后续的路由节点使用,这样后续的路由节点就可以不执行解析过程而直接将该请求内容的容器信息中的容器标识与FIB中的转发表项进行匹配,因此,可选地,该方法900还包括:
S945,将该解析获得的该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
例如,本节点可以将上述例子中解析得到的接入容器插入内容请求包的 容器信息中,从而得到最终的内容请求包:Name={fanlingyuan.com/blog/2012/June01/main.html|chinamobile/fanlingyuan;resolvable=yes||airchina/ca1314;resolvable=yes|||cn/beijing||cloudsrv.com}。
此外,可选地,对于通过解析系统获得的接入容器来说,解析得到的该接入容器的容器信息还可以包括缓冲性和老化时间(Time To Live,TTL),来表示用户设备或网络侧可以将该解析结果缓存且对该解析结果缓存的时间为老化时间,以便与其它用户设备和路由节点共享。这里的网络侧可以包括本节点,也可以包括其他路由节点,本发明实施例不限于此。其中,可缓存的接入容器可以通过“cachable=yes”和“TTL=T”来表示,其中,T表示本节点对该解析结果的缓存时间,即本节点对可解析容器与该接入容器的映射关系缓存的时间为T,例如“TTL=1hour”表示该解析结果的缓存时间为一小时,可选地,T也可以设置为其它时间,T也可以用分或秒作为单位,本发明实施例对此不作限定。不可缓存的容器可以通过缓冲性缺省和“TTL=0”来表示。可选地,缓存性和老化时间也可以采用其它方式表示,本发明实施例不限于此。
可选地,在本发明实施例中,本节点也可以首先将该内容请求包携带的容器集中的容器标识与FIB中的转发表项进行匹配,当该FIB中不存在与该容器集中的任意容器标识匹配的转发表项时,本节点可以执行上述完全解析和匹配过程。具体地,当该FIB中不存在与该内容请求包携带的容器标识匹配的转发表项时,根据该内容请求包携带的解析标识,确定可解析容器的接入容器的容器信息;当该可解析容器的接入容器可解析时,对该可解析容器的接入容器进行解析;当该解析获得的接入容器可解析时,对该解析获得的接入容器进行进一步解析,直到该进一步解析获得的接入容器不可解析,以获得该请求内容的所有可解析容器的接入容器的容器标识;将该所有可解析容器的接入容器的容器标识与该FIB中预设的容器标识进行匹配,以确定该FIB中是否存在与该所有可解析容器的接入容器的容器标识中的至少一个容器标识匹配的转发表项;当该FIB中存在与该所有可解析容器的接入容器的容器标识中的至少一个容器标识匹配的转发表项时,根据该匹配的转发表项中的端口,发送该内容请求包。
可选地,本节点也可以只对该请求内容的部分可解析容器进行解析,以获得其接入容器,然后将该请求内容的容器信息中的容器标识和该部分解析 获得的接入容器的容器标识与FIB中的转发表项匹配。当FIB中存在与上述容器标识匹配的转发表项时,本节点可以根据匹配的转发表项中的接口,发送该内容请求包。可选地,当FIB中不存在与上述容器标识匹配的转发表项时,本节点可以对上述部分没有被解析的可解析容器进行解析,并将解析获得的接入容器与FIB中的转发表项匹配,但本发明实施例不限于此。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
上述实施例中,本节点先对该请求内容的容器集进行完全解析以获得该请求内容的所有可解析容器的接入容器,然后执行匹配过程。可选地,本节点也可以先执行匹配过程,当该容器集中的所有容器在FIB中均不存在与之匹配的转发表项时,本节点对容器集中的可解析容器进行解析。因此,可选地,如图12所示,作为另一实施例,该方法900还包括:
S950,当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;
S955,将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
其中,流程S950、S955可以循环执行。即,当FIB中均不存在与该容器集中的所有容器匹配的转发表项时,本节点根据容器信息中的解析标识,确定该容器集中的可解析容器,将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项;当该FIB中不存在与该解析获得的接入容器的容器标识匹配的转发表项且该解析获得的接入容器可解析时,对该解析获得的接入容器进行进一步解析,直到该进一步解析获得的接入容器不可解析或该FIB中存在与该进一步解析获得的接入容器的容器标识匹配的转发表项;当该FIB中存在与该解析或该进一步解析获得的接入容器的容器标识匹配的转发表项时,根据该匹配的转发表项中的端口,发送该内容请求包。具体地,本节点首先将内容请求包携带的容器集中的每个容器的容器标识依次与FIB中的转发表项进行匹配。当FIB中均不存在与该容器集中的 所有容器匹配的转发表项时,本节点根据容器信息中的解析标识,确定该容器集中的可解析容器,并通过查询解析系统获得该解析容器的接入容器;然后,本节点将该接入容器与FIB中的转发表项进行匹配,当FIB中仍不存在与该接入容器匹配的转发表项时,本节点根据该接入容器的解析标识确定该接入容器是否可解析,并在该接入容器可解析时对其继续进行解析,直到在FIB中找到与该解析获得的接入容器匹配的转发表项,或该解析获得的接入容器不可解析。
可选地,作为另一实施例,该方法900还包括:
S960,将该解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
其中,本节点可以将上述每次解析获得的接入容器的容器信息均添加到该请求内容的容器信息中。
下面将以内容请求包中用有向无环图表示内容名和容器信息之间的关系、以及该内容请求包只携带可解析容器的解析标识为例,详细描述流程S950、S955和S960的循环执行过程。本节点接收到的内容请求包的初始形式为:Name={fanlingyuan.com/blog/2012/June01/main.html;in=1|chinamobile/fanlingyuan;resolvable=yes},本节点首先将容器标识“chinamobile/fanlingyuan”与FIB中的转发表项进行匹配,结果表明在FIB中也没有与该容器标识匹配的转发表项。而根据解析标识“resolvable=yes”,本节点发现容器“chinamobile/fanlingyuan”可解析,于是,本节点查询解析系统对该容器进行解析,得到其接入容器“airchina/ca1314;resolvable=yes”和“cloudsrv.com”,本节点可以将其插入该请求内容的容器信息,结果为Name={fanlingyuan.com/blog/2012/June01/main.html;in=1|chinamobile/fanlingyuan;resolvable=yes;in=2,3|airchina/ca1314;resolvable=yes|cloudsrv.com}。并且,本节点依次将容器标识“airchina/ca1314”和“cloudsrv.com”与FIB中的转发表项进行匹配,匹配结果表明在FIB中仍没有与这两个容器标识匹配的转发表项,而容器“airchina/ca1314”可解析,于是本节点继续对容器“airchina/ca1314”进行解析,得到其接入容器“cn/beijing”,本节点将其插入请求内容的容器信息,内容请求包变为:Name={fanlingyuan.com/blog/2012/June01/main.html;in=1|chinamobile/fanlingyuan;resolvable=yes;in=2,3|airchina/ca1314;resolvable=yes;in=4|cloudsrv.com|cn/beijing},并将容器标识“cn/beijing”与 FIB中的转发表项进行匹配。由于容器“cn/beijing”不可解析,因此,无论在FIB中是否存在与该容器标识匹配的转发表项,上述循环过程均结束,而进入下一步骤。
可选地,在本发明实施例中,本节点也可以对内容请求包携带的可解析容器按照树的深度遍历进行迭代解析和匹配,具体地,本节点可以对内容请求包携带的某一可解析容器进行迭代解析和匹配,直到该迭代解析得到的接入容器不可解析或该FIB中存在与该迭代解析得到的接入容器匹配的转发表项;当该迭代解析得到的接入容器不可解析且该FIB中不存在与该迭代解析得到的接入容器匹配的转发表项时,本节点可以对内容请求包携带的另一可解析容器进行迭代解析和匹配过程,但本发明实施例不限于此。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。此外,在多数情况下,本节点只需进行部分解析就可能获得在FIB中存在与接入容器匹配的转发表项,因此,本实施例的转发流程与上述实施例中的先完全解析后再进行匹配的实施例相比,可以减少对容器的解析次数以及对解析系统的查询次数。
在S920中,本节点将该请求内容的内容名与FIB中的转发表项进行匹配。可选地,FIB中的转发表项可以包括内容名前缀和与该内容名前缀对应的接口,相对应地,S920包括:
S921,根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该方法900还包括:
S965,当确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,本节点还可以通过CS对该请求内容进行缓存,以便当该路由节点接收到对相同的内容的请求时,可以直接将CS中存储的该请求内容发送至该内容请求包的发送端,从而使得该内容请求过程更简单快速。因此,可选地,作为另一实施例,如图13所示,该方法900还包括:
S970,在该确定FIB中是否存在与该请求内容的内容名匹配的转发表项 之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;
S975,当该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
S930a,当该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,本节点还可以兼容现有技术中的NDN的路由转发方法,通过在驻留信息表(Pending Information Table,简称为“PIT”)中存储该内容请求包的发送端的路由信息,并且相同的内容请求只查找一次,在返回该请求内容时通过PIT中的信息确定该请求内容的下一跳接口,这样既可避免对相同的请求内容的重复查找,又可以确定返回的请求内容的下一跳接口。因此,可选地,作为另一实施例,如图14所示,该方法900还包括:
S980,当该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;
S985,当该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项;
S930b,当该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
下面结合图15的例子详细描述本发明实施例的路由转发的方法。本节点接收到内容请求包,该内容请求包携带请求内容的内容名和容器信息,首先本节点执行步骤①,该CS中的内容表项可以包括预设的内容名和与该预设的内容名对应的内容,本节点可以将该请求内容的内容名与CS中的预设的内容名进行匹配,以确定该CS中是否存在与该请求内容的内容名匹配的内容;当CS中不存在与之匹配的内容时,本节点执行步骤②,PIT中的PIT表项可以包括内容名前缀和与该内容名前缀对应的请求接口,该请求接口表示携带以该内容名前缀为前缀的内容名的内容请求包的发送端对应的接口,本节点将该请求内容的内容名的前缀与PIT表项中的内容名前缀进行匹配,以确定该PIT中是否存在与该请求内容的内容名匹配的PIT表项;当PIT中 不存在与该请求内容的内容名匹配的PIT表项时,本节点执行步骤③,该FIB的转发表项包括内容名前缀和与该内容名前缀对应的接口,或FIB的转发表项包括预设的容器标识和与该预设的容器标识对应的接口,本节点将该请求内容的内容名的前缀与转发表项中的内容名前缀进行匹配,以确定在FIB中是否存在与该请求内容的内容名匹配的转发表项;当该FIB中不存在与该请求内容的内容名匹配的转发表项时,本节点执行步骤④和⑤,对该请求内容的容器集进行完全解析,获得该请求内容的所有可解析容器和该所有可解析容器的接入容器,然后本节点执行步骤⑥,将该请求内容的容器集中的容器的容器标识和该所有可解析容器的接入容器的容器标识,按照一定的优先策略,依次查找匹配FIB中的转发表项。当存在至少一个容器标识在FIB中存在与之匹配的转发表项时,根据该匹配的转发表项中的接口转发该内容请求包,否则,本节点将该内容请求包丢弃或根据默认接口发送该内容请求包,对该内容请求包的路由转发流程至此结束。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,可选地,作为另一实施例,该方法900还包括:
S990,当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包,或将该内容请求包丢弃。
当本节点执行上述实施例的S932后执行S990,则本节点在该FIB中不存在与该请求内容的容器信息中的容器标识以及与该请求内容的所有可解析容器的接入容器的容器信息匹配的转发表项;而当本节点执行上述实施例的S955之后执行S990,则本节点在该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项,且解析获得的接入容器不可解析时,根据默认接口发送该内容请求包,或将该内容请求包丢弃。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
应理解,在本发明实施例中,请求内容的内容名和请求内容的容器信息 中的容器标识与FIB的转发表项的匹配均为最长匹配,而请求内容的内容名与CS的匹配以及该请求内容的内容名与PIT的匹配可以是最长匹配,也可以是精确匹配,本发明实施例对此不作限定。此外,请求内容的容器信息只是用于在请求内容的内容名匹配FIB失败,或匹配CS和FIB失败,或匹配CS、PIT以及FIB均失败时,匹配FIB的转发表项以确定该内容请求包的转发路由,因此,容器信息只是起辅助路由的作用。在一些使用请求内容的内容名就可以找到该请求内容的情况下,内容请求包可以只携带请求内容的内容名,从而保留NDN等ICN系统直接以内容名进行路由的便利性。
此外,在本发明实施例中,在家庭网络,企业网,Adhoc等本地路由的场景下,解析系统的介入也不是必需的。例如,在家庭内的无线网络中,手机中存储内容名为“fanlingyuan.com/myson/2012/June01/happy.jpg”的内容,该内容名的前缀“fanlingyuan.com/myson”和与其对应的接口被保存在家庭内部的无线路由节点的FIB中,当电脑端用户想获取该内容时,向网络端发送内容请求包,形式如下:{fanlingyuan.com/myson/2012/June01/happy.jpg|chinamobile/fanlingyuan;resolvable=yes},虽然该内容请求包携带了一个可解析容器的容器信息,但由于该请求内容的内容名可以与无线路由节点的FIB中的“fanlingyuan.com/myson”匹配,因此可以根据该匹配的转发表项中的接口发送该内容请求包,而不需要对容器进行匹配,也不需要对容器进行解析,因此,在这种情况下,可以不对可解析容器进行解析,内容请求包也可以只携带请求内容的内容名而不携带该请求内容的容器信息。
此外,如图16所示,本发明实施例只对内容请求包的内容属性进行扩展,内容请求包携带请求内容的内容名和容器信息,并可以携带现有技术中的选择项和随机数;而数据包仍可以携带现有的NDN等ICN体系中的内容名,不携带任何容器的容器信息,且数据包仍然携带签名信息,例如,发布者ID、密钥定位和失效时间等。由于数据包中的签名仍然是基于数据包中完整的内容名、数据本身以及用户的私有密钥计算得到的,而内容请求包中携带的请求内容的容器信息不会出现在数据包中,也不会参与签名的计算,因此,不影响现有的NDN等ICN系统的安全性。
下面将结合图17至图19所示的具体例子对本发明实施例提供的路由转发的方法进行详细描述。
图17是根据本发明一个实施例的路由转发的方法1700的示意性流程 图,如图17所示,该方法1700,包括:
S1701、接收内容请求包。
该内容请求包可以只携带请求内容的内容名,也可以携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息对应的容器组成容器集,该容器集包括至少一个容器。该请求内容的容器信息包括该容器集中每个容器的容器标识,可选地,该容器信息还可以包括该容器集中每个容器的解析标识,或包括该容器集中的可解析容器的解析标识,本发明实施例不限于此。
S1702、将该请求内容的内容名与FIB的转发表项匹配。
具体地,可以将该请求内容的内容名的前缀与FIB的转发表项中的内容名前缀进行匹配,如果在FIB中存在与该请求内容的内容名的前缀匹配的内容名前缀,则执行S1707,否则执行S1703。
S1703、判断该内容请求包是否携带该请求内容的容器信息。
如果该内容请求包携带该请求内容的容器信息,则执行S1704,否则执行S1708。
S1704、根据容器信息中的解析标识,确定该容器集中是否存在可解析容器。
如果该容器集中存在至少一个可解析容器,则执行S1705和S1706,否则直接执行S1706。
S1705、完全解析该容器集中的可解析容器。
对容器集中的至少一个可解析容器进行完全解析,即首先获得该至少一个可解析容器的接入容器,并将该接入容器的容器信息添加到内容请求包中;然后判断该接入容器是否可解析,如果可解析,则继续对该接入容器进行解析,以获得该接入容器的接入容器,并将该接入容器的接入容器的容器信息添加到该请求内容的容器信息中,直到解析获得的接入容器不可解析,这样就获得了该请求内容的所有可解析容器的接入容器,以及更新后的请求内容的容器信息。
S1706、将该请求内容的容器信息中的容器标识与FIB中的转发表项匹配。
具体地,将容器信息对应的容器集中的每个容器的容器标识按照一定策略,依次与FIB中的预设的容器标识进行匹配。其中,当执行S1704后直接 执行S1706时,S1706中的容器信息具体为本路由节点接收到的内容请求包中携带的该请求内容的容器信息,而当执行S1705后执行S1706时,S1706中地容器信息具体为更新后的该请求内容的容器信息如果存在至少一个容器标识在FIB中有与之匹配的转发表项,则执行S1707,否则执行S1708。
S1707、根据该匹配的转发表项中的接口,发送该内容请求包。
对该内容请求包的路由结束转发流程至此结束。应理解,虽然这里仍将发送的内容请求包称为该内容请求包,但由于此时的内容请求包中可能添加了上述完全解析过程中获得的可解析容器的接入容器的容器信息,因此,此时的内容请求包可能与步骤1701中接收到的内容请求包有所差别。
S1708、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图18是根据本发明另一实施例的路由转发的方法1800的示意性流程图,其中,步骤1801~1803与方法1700中的步骤1701~1703的实现过程基本相同,此处不再赘述。现将后续涉及容器解析的步骤做如下详细介绍。
S1804、将该容器集中每个容器的容器标识依次与FIB中的转发表项匹配。
如果存在一个以上容器的容器标识在FIB中有与之匹配的转发表项,则执行S1807,否则执行S1805。
S1805、判断该容器集中是否存在可解析容器。
如果该容器集中存在至少一个可解析容器,则执行S1806和S1804,否则执行S1808。
S1806、对该至少一个可解析容器分别进行解析,以获得该至少一个可解析容器的接入容器。
执行S1806之后执行S1804,即将该至少一个可解析容器的接入容器的容器标识分别与FIB中的转发表项进行匹配,如果该至少一个可解析容器的接入容器的容器标识中存在一个或多个接入容器的容器标识在FIB中存在与之匹配的转发表项,则执行步骤S1807,否则,继续执行S1805和S1806,如此往复循环执行流程S1805、S1806和S1804,直到FIB中存在与该解析 过程中获得的接入容器的容器标识匹配的转发表项,或该解析过程获得的接入容器不可解析。
S1807、根据该匹配的转发表项中的接口,发送该内容请求包。
对该内容请求包的路由转发流程至此结束。
S1808、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
对该内容请求包的路由转发流程至此结束。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。此外,与上述实施例中的方法1700相比,方法1800在大多数情况下都可以减少对容器的解析次数,从而可以节省开销,加快对内容请求包的转发速度。
图19是根据本发明再一实施例的路由转发的方法1900的示意性流程图。如图19所示,该方法1900,包括:
S1901、接收到达的包。
该到达的包可以是内容请求包或数据包,其中,该内容请求包可以携带请求内容的内容名和容器信息,而数据包则只携带内容的内容名而不携带容器信息。
S1902、判断接收到的包是数据包还是内容请求包。
如果该包是内容请求包,则执行S1903;如果该包是数据包,则执行S1914。
S1903、将请求内容的内容名与CS中的内容进行匹配。
本节点将该请求内容的内容名与CS中预设的内容名进行匹配,以确定该CS中是否存在与该内容名匹配的内容。当在CS中存在与该请求内容的内容名匹配的内容时,则执行S1904,本节点对该内容请求包的路由转发流程至此结束;否则执行S1905。
S1904、将CS中的请求内容发送至该内容请求包的发送端。
S1905、将该请求内容的内容名与PIT中的PIT表项进行匹配。
本节点将该请求内容的内容名的前缀与PIT表项中的内容名前缀进行匹配,以确定PIT中是否存在与该请求内容的内容名匹配的PIT表项。如果在PIT中存在与该内容名匹配的PIT表项,说明已经存在对该请求内容的查找, 则执行S1908,对该内容请求包的路由转发流程至此结束,这样可以对相同的内容只查找一次,从而避免重复查找;否则执行S1906。
S1906,将请求内容的内容名与FIB中的转发表项匹配;
本节点将该请求内容的内容名的前缀与转发表项中的内容名前缀进行匹配,以确定在FIB中是否存在与该内容名匹配的转发表项,如果在FIB中存在与该内容名匹配的转发表项,则执行S1907和S1908,否则执行S1909。
S1907、根据该匹配的转发表项中的接口,发送该内容请求包。
S1908、更新PIT。
具体地,如果在执行S1907后执行S1908,则更新PIT具体为将该请求内容的内容名的前缀以及该内容请求包的发送端对应的接口添加到PIT表中,成为新的PIT表项;而如果在执行S1905后执行S1908,则更新PIT具体为将该内容请求包的发送端对应的接口添加到与该请求内容的内容名匹配的PIT表项中
S1909、判断该内容请求包是否携带该请求内容的容器信息。
如果该内容请求包携带该请求内容的容器信息,则执行S1910,否则执行S1913。
S1910、将该容器信息中的容器标识与FIB中的转发表项进行匹配。
本节点将该容器信息对应的容器集中每个容器的容器标识与转发表项中的预设的容器标识进行匹配,以确定FIB中是否存在与该容器信息中的容器标识匹配的转发表项。如果该容器集中存在至少一个容器在FIB中有与之匹配的转发表项,则执行S1907和S1908,否则执行S1911。
S1911、判断该请求内容的容器集中是否存在可解析容器。
该容器信息还可以包括容器的解析标识,本节点根据该解析标识,判断该容器集中是否存在可解析容器。如果该容器集中存在至少一个可解析容器,则执行S1912和S1910,否则执行S1913。
S1912、分别对该至少一个可解析容器进行解析,以获得该至少一个可解析容器的接入容器;
然后执行S1910,即将该至少一个可解析容器的接入容器的容器标识按照一定的优先策略依次查找匹配FIB中的转发表项。如果在FIB中也没有与该可至少一个可解析容器的接入容器的容器标识匹配的转发表项,则继续执行S1911,步骤S1910、S1911和S1912将如此循环执行,直到在FIB中查 找得到与解析得到的接入容器的容器标识匹配的转发表项,或解析得到的接入容器不可解析,然后执行步骤S1913。
S1913、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
对该内容请求包的路由转发流程至此结束。
S1914、将内容的内容名与PIT表的PIT表项匹配。
如果在PIT表中存在与该内容名匹配的PIT表项,则执行S1916、S1917和S1918,否则执行S1915。
S1915、将该数据包丢弃。
对该数据包的路由转发流程至此结束。
S1916、根据匹配的PIT表项中的接口发送该数据包。
S1917、将该数据包保存到CS表。
这样本节点可以将该数据包中的内容进行缓存,使得本节点在该内容的缓存期间接收到对该数据包的内容的请求时,本节点可以直接返回该数据包中的内容,从而避免了对该数据包中的内容的再次查找。
S1918、移除该匹配的PIT表项。
其中,步骤S1916、S1917和S1918可以以任意的顺序执行,本发明实施例对这三个步骤的执行顺序不作限定,本节点对该数据包的转发流程至此结束。
应理解,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,图17至图19的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图17至图19的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
从上述实施例可以看到,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的 依赖,从而可能解决由于内容名而造成的路由扩展问题。具体地,为了减少路由表中的路由表项,本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器,并分别对上述三种不同类型的容器采取不同的路由策略。
首先,对拓扑相关容器采用逐级嵌套分级聚合的方法,其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。具体地,形成拓扑关系的所有容器可以分成不同的级别,每个容器都处于某一特定的级别,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。应理解,这里的下级容器和上级容器是相对的,例如,容器A可以是容器B的下级容器,也可以是容器C的上级容器,但本发明实施例不限于此。
可选地,拓扑相关容器对应的容器标识可以具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。具体地,级别较低的容器的容器标识中可以包含其上级容器的容器标识,例如,市级容器深圳的容器标识“cn/gd/sz”中包含其上级容器广东的容器标识“cn/gd”,但本发明实施例不限于此。
如图20所示,整个中国网络就可以看成一个国家级的拓扑相关容器“cn”,“cn”里汇聚了省级的容器如广东省“cn/gd”,北京市“cn/beijing”,等等,而“cn/gd”又汇聚了下级拓扑相关容器如深圳“cn/gd/sz”等等,依此类推。类似地,美国网络也可以看成一个国家级容器“us”,容器“us”又包括下级拓扑相关容器“us/ca”。此外,大的ISP也可以按照拓扑容器分级聚合,如中国电信作为一个大的容器“ct”,其汇聚了“ct/gd”,“ct/sd”等省级容器,“ct/gd”又汇聚了“ct/gd/sz”等市级容器,本发明实施例不限于此。由于FIB表的最长匹配特性,美国这个容器“us”中,只需要一条到“cn”的路由就可以匹配所有以“cn”为前缀的容器,因此,可将如“cn”、“us”或“ct”等在拓扑关系中级别最高的拓扑相关容器作为全局容器,其路由可以作为全局路由进行扩散。其中,全局容器是可全局路由的容器,其路由作为全局路由是指所有路由节点的路由表中均有这些全局容器的路由表项。全 局容器不存在接入容器。
可选地,根据实际部署的需要,除了上述在拓扑相关中处于最高级别的拓扑相关容器之外,一些级别较高的拓扑相关容器,如省级容器“cn/gd”、“cn/sd”或“us/ca”等,也可以作为拓扑相关的全局容器,其路由可以作为全局路由进行扩散,但本发明实施例不限于此。本发明实施例将上述作为全局容器的拓扑相关容器称为拓扑相关的全局容器。
可选地,全局容器还可以包括拓扑无关的全局容器,该拓扑无关的全局容器包括拓扑无关大容器,拓扑无关大容器是指在现有网络中数量极少的访问量大的拓扑无关容器,如大ISP、大公司、大的门户网站,例如“sina.com”,“google.com”,“baidu.com”等,它们拥有高于普通容器千倍、万倍的访问量,它们可以作为拓扑无关的全局容器,其路由也可以作为全局路由进行扩散。
可选地,上述拓扑无关大容器也可以由级别较高的拓扑相关容器为其提供接入服务,因而可以将这些拓扑无关大容器作为其接入容器包括的路由节点的局域路由。但是将这些拓扑无关大容器作为全局容器可以大大提高全网的路由表的匹配效率,同时又能方便这些大公司自主灵活的调整路由,以便更好的提供多宿、负荷分担、Anycast等服务,此外,由于这些容器数量很少,不会使核心路由表的大小发生大的增长,但本发明实施例不限于此。
综上所述,本节点的路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。以图20中的容器“cn/gd/sz”中包括的路由节点R121为例,该路由节点的路由表中包括容器“cn”和“us”的路由表项,而由于路由节点R121需要通过路由节点R12才能到达容器“cn”的路由节点R1和R2,以及到达容器“us”,因此,与容器标识“cn”和“us”对应的第一接口为R121连接R12的接口。
对于上述拓扑相关的全局容器的下级容器,由上述拓扑相关的全局容器为其提供接入服务,相应地,其路由可以作为该拓扑相关的全局容器中包括的路由节点的内部路由,无需扩散出该拓扑相关的全局容器。具体地,该下级容器的路由可以只被包括在该拓扑相关的全局容器包括的路由节点的路 由表中。一般地,对于在拓扑关系中除上述拓扑相关的全局容器之外的任意拓扑相关容器,为其下级容器提供接入服务,相应地,其下级容器的路由都可以作为该拓扑相关容器的内部路由,无需扩散出该拓扑相关容器。为了便于描述,以下的拓扑相关容器是指在拓扑关系中除上述拓扑相关的全局容器之外的其他拓扑相关容器。以本节点的角度来看,本节点的路由表可以包括基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。其中,不扩散出本节点归属的容器是指在本节点的归属容器之外的路由节点的路由表中,不存在本节点归属的容器的下级容器的路由表项,因此,本节点归属的容器外的路由节点需要借助本节点归属的容器辅助路由到该下级容器。例如,路由节点R1和R2的路由表可以包括作为R1和R2归属的容器“cn”的下级容器“cn/sd”、“cn/gd”等省级容器的路由表项,它们的路由可以作为路由节点R1和R2的局域路由,无需扩散出容器“cn”。类似地,路由节点R12和R13的路由表可以包括作为R12和R13归属的容器“cn/gd”的下级容器“cn/gd/sz”的路由表项,其路由也可以作为R12和R13的局域路由,无需扩散出容器“cn/gd”。因此,容器“cn”的路由节点R1和R2只能通过进入容器“cn/gd”才能在路由节点R12和R13的路由表中找到“cn/gd/sz”的路由。
具体地,本节点的路由表可以包括本节点归属的容器的下级容器的路由,该下级容器的路由表项包括该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口。例如,路由节点R12的路由表的路由表项可以包括容器标识“cn/gd/sz”以及R12连接到达R121的接口。
拓扑无关小容器是指访问量小的拓扑无关容器,这类容器在网络中大量存在,如小公司、组织,家庭网络,个人数码设备等,这也是导致现有的NDN等ICN系统中路由扩展性问题的主要因素之一。本发明实施例中这类容器可以由拓扑相关容器为其提供接入服务,相应地,这类容器的路由可以限制在其接入容器的内部,无需扩散出其接入容器,从而可以大大减少核心路由表的大小。例如,如图20所示,容器“hostsrv.com”在两个地方有自己的企业网,可以看作两个拓扑相关容器“cn/gd”和“us/ca”为其提供接入服务,因此,只有这两个容器包括的路由节点的路由表中存在容器“hostsrv.com” 的路由表项,而这两个容器以外的容器只能通过拓扑相关容器“cn/gd”和“us/ca”辅助路由才能到达容器“hostsrv.com”。因此,本节点的路由表还可以包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。例如,路由节点R4的路由表可以包括容器标识“hostsrv.com”以及由R4连接到达R6的接口。
综上所述,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将拓扑无关小容器的路由限制在为其提供接入服务的拓扑相关容器内,且将拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
由于FIB表是路由表的子集,因此,本发明实施例中,FIB表的转发表项也具有与路由表相类似的特征。具体地,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。可选地,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器具体为:通过该拓扑相关容器转发表项中 的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
可选地,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
下面将以表1和表2为例分别描述根据本发明实施例中路由表和FIB的形式。表1是容器“cn/gd”的路由节点R12的路由表的一种可能形式,该路由表的路由表项包括三列,其中,第一列是容器标识或内容名前缀,第二列是该容器标识或内容名前缀的路由属性,该路由属性包括全局或局域。第三列是由本节点到达该容器标识对应的容器的下一跳路由节点,可选地,第三列也可以是该下一跳路由节点对应的接口,但本发明实施例不限于此。
表2是路由节点R12的FIB的一种可能形式,该FIB的转发表项包括两列,其中,第一列是容器标识或内容名前缀(prefix),第二列为该容器标识或内容名前缀对应的接口,其中容器标识对应的接口是由本节点连接到达该容器标识对应的容器的下一跳路由节点的接口。在本发明实施例中,一个容器标识或内容名前缀可以对应一个或多个接口,但本发明实施例不限于此。
表1路由表的形式举例
表2FIB表的形式举例
容器标识/ Prefix | 接口 |
hostsrv.com | 1 |
cn/gd/sz | 2,3 |
cn/gd/gz | 4 |
cn | 5,6,7 |
us | 5,6,7 |
sina.com | 5,6,7 |
值得注意的是,经过上述方式构建路由表之后,在本发明实施例中,容器是否可解析可以是容器的特性,如拓扑相关容器一般不可解析,而拓扑无关小容器则一般可解析,可选地,某些容器的容器解析性还可以根据一定策略进行变化,例如,当某拓扑无关小容器的接入容器比较固定时,可可以将该容器设置为不可解析容器,而内容发布商在发布该容器存储的内容时,可以同时发布该容器以及该容器的接入容器,因此,用户设备或路由节点可以不需要查询解析系统解析该容器,但本发明实施例不限于此。
此外,在本发明实施例中,请求内容的内容名前缀可以与该请求内容的归属容器的容器标识匹配,也可以与内容的归属容器的容器标识不匹配,例如,容器“hostsrv.com”可以存储与该容器标识匹配的内容“hostsrv.com/main.html”,也可以存储与该容器标识不匹配的内容“fanlingyuan.org/blog/2012/June01/main.html”。下面以请求内容为X为例来说明当X的内容名前缀与它的归属容器S(如hostsrv.com)的容器标识不匹配时的转发流程,设S的接入容器为T(如“cn/gd”,“cn/beijing”):首先,当T比较固定时,内容请求包可以携带X、S和T的容器信息,可选地,当S的位置会发生变化,即T不固定时,内容名请求包也可以只携带X和需要解析的S(resolvable=yes),由路由节点查询解析系统得到T,并将T插入内容请求包。当内容请求包从外部网络进入T之前,借助内容请求包中携带的T进行辅助路由,因为外部网络的路由节点的FIB中没有匹配X和S的路由,但一定包括拓扑汇聚了的T的路由;在X和S先后匹配失败后,自然会用T查找FIB表找到下一跳;在进入T之后,由于T中必须有到S的路由,因此内容请求包在X匹配失败后,自然会用S匹配成功,此时,内容请求包借 助S进行路由。在进入S之后,则采用X进行路由,在S的FIB表中肯定有匹配X的前缀。
应理解,上述实施例的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
上文中结合图9至图20,详细描述了根据本发明实施例的路由转发的方法,下面将结合图21和图22,详细描述根据本发明实施例的内容请求的处理方法。
图21是根据本发明实施例的内容请求的处理方法2100的示意性流程图,该方法可以由路由节点执行。如图21所示,该方法2100包括:
S2110,接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
S2120,根据该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的内容请求的处理方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
本发明实施例中,内容请求包携带的该请求内容的容器信息中的容器标识对应的容器组成该请求内容的容器集。该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,该容器集也可以进一步包括该请求内容的归属容器的接入容器,该容器集还可以包括存储该请求内容的所有 容器。其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
此外,当该容器集包括该请求内容的归属容器以及该归属容器的接入容器时,该容器集中的容器可以是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器,其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器,但本发明实施例不限于此。
该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识,可选地,该容器信息还可以包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
可选地,该请求内容的内容名和该请求内容的容器信息可以形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。可选地,该请求内容的内容名和该请求内容的容器信息还可以形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
上述两种结构的具体表示方法可参照上述实施例,这里不再赘述。此外,
可选地,如图22所示,在本发明实施例中,S2120,该根据该请求内容 的内容名和该请求内容的容器信息确定该内容请求包的转发路由,包括:
S2221,确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
S2222,当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
S2223,当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
路由节点首先将该请求内容的内容名的前缀与FIB的转发表项中的内容名前缀匹配,当FIB中不存在与该请求内容的内容名匹配的转发表项时,路由节点将该请求内容的容器集中的每个容器的容器标识依次与FIB的转发表项中的预设的容器标识匹配,当容器集中存在至少一个容器的容器标识在FIB中有与之匹配的转发表项时,路由节点根据该匹配的转发表项中的接口,发送该内容请求包。具体匹配方法可以参见上述实施例,这里不再赘述。
应理解,本发明实施例只对内容请求包的内容名进行扩展,而数据包中的内容名依然采用现有技术中NDN等ICN系统的名字,不包括任何容器。因此,本发明实施例的技术方案可以保留现有的NDN等ICN系统的安全性。
因此,本发明实施例的内容请求的处理方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图23是本发明实施例的建立路由表的方法2300的示意性流程图,该方法可以由任何合适的装置执行,例如,可以由路由节点执行,也可以由独立的建立路由表的装置执行,本发明实施例对此不作限定。为了便于描述,下面将执行方法2300的路由节点,或生成的路由表对应的路由节点称为本节点。如图23所示,该方法2300包括:
S2310,生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由 的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
因此,本发明实施例的建立路由表的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,路由可以分为全局路由和局域路由,其中,全局路由包括全局容器的路由,局域路由包括拓扑相关容器的路由和拓扑无关小容器的路由。全局路由可以在整个网络内扩散,而局域路由可以只在网络内的部分区域扩散,也就是说,在所有路由节点的路由表中都可以包括全局路由,而只有在部分路由节点的路由表中包括局域路由。具体地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
上文中结合图9至图23,从路由节点的角度详细描述了根据本发明实施 例的路由转发的方法、内容请求的处理方法和构建路由表的方法,下面将结合图24至图26,从用户设备的角度描述根据本发明实施例的获取内容的方法。
图24是根据本发明实施例的获取内容的方法2400的示意性流程图,该方法可以由用户设备执行。如图24所示,该方法2400包括:
S2410,生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
S2420,将该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在S2410中,本发明实施例中,内容请求包携带的该请求内容的容器信息中的容器标识对应的容器组成该请求内容的容器集。该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,该容器集也可以进一步包括该请求内容的归属容器的接入容器,该容器集还可以包括存储该请求内容的所有容器。其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
此外,当该容器集包括该请求内容的归属容器以及该归属容器的接入容器时,该容器集中的容器可以是一个或多个第一其它容器的接入容器;和/ 或一个或多个第二其它容器为该容器的接入容器,其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器,但本发明实施例不限于此。
该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识,可选地,该容器信息还可以包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
可选地,在本发明实施例中,如图25所示,在步骤S2410之前,该方法2400还包括:
S2430,获取该请求内容的容器信息;
相应地,S2410,生成内容请求包,包括:
S2410a,根据该获取得到的该请求内容的容器信息,生成内容请求包。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,上述获取得到的该请求内容的容器信息中的容器标识可以对应可解析容器,用户设备可以查询解析系统对该可解析容器进行解析,以获得该可解析容器的接入容器,并将该可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。因此,可选地,作为另一实施例,如图25所示,该方法2400还包括:
S2440,根据该请求内容的容器信息,确定该请求内容的容器信息对应的容器的接入容器,并将该接入容器的容器信息添加到该请求内容的容器信息中;
相应地,S2410,生成内容请求包,包括:
S2410b,根据该添加了该接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
可选地,用户设备还可以继续判断上述解析得到的接入容器是否可解析,并在该接入容器可解析时继续对其进行解析,以获得该接入容器的接入容器,如此循环往复,直到解析得到的接入容器不可解析,至此完成对该容 器信息中的容器标识对应的容器的完全解析。因此,可选地,作为另一实施例,如图26所示,方法2400还包括:
S2450,根据该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器,并将该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;
相应地,S2410,生成内容请求包,包括:
S2410c,根据该添加了该所有可解析容器的接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。此外,由于用户设备将可解析容器的接入容器添加到内容请求包中,从而可以减少路由节点在转发该内容请求包时对容器的解析次数或将解析次数减少为零,加快对该内容请求包的转发进度。
上文中结合图24至图26,从用户设备的角度详细描述了根据本发明实施例的获取内容的方法,下面将结合图27至图28,从内容发布商的角度描述根据本发明实施例的发布内容的方法。
图27是根据本发明实施例的发布内容的方法2700的示意性流程图,该方法可以由任何合适的装置执行,例如,可以由内容发布商执行,也可以由独立的发布内容的装置执行,本发明实施例不限于此。下面以内容发布商执行为例进行描述,如图27所示,该方法2700包括:
S2710,确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;
S2720,发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该容器集中每个容器的容器信息,以便用户设备根据该内容的信息生成内容请求包并发送到网络设备以及由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在S2710中,该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
可选地,当该归属容器的一个或多个接入容器可以保持长时间不变时,该容器集也可以进一步包括该请求内容的归属容器的接入容器,可选地,该容器集还可以包括存储该请求内容的所有容器。该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识。
然而,当该容器集中的至少一个容器的接入容器经常发生变化时,内容发布商可以在容器集中不包括该至少一个容器的接入容器,以保证该容器集的持久性。并且,内容发布商还可以将该至少一个容器与其接入容器的对应关系注册到解析系统,以使得将该至少一个容器设置为可解析容器,该至少一个容器可以将其接入容器的变化实时通知解析系统,并由用户设备和路由节点查询解析系统获得该至少一个容器的接入容器。这样既可以保证内容的容器集的持久性,又可以保持内容路由的灵活性。因此,可选地,如图28所示,该方法2700还包括:
S2730,将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
此时,可选地,该容器信息还可以进一步包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
因此,本发明实施例的发布内容的方法,通过在内容名的基础上增加内 容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
应理解,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图9至图28,详细描述了根据本发明实施例的路由转发的方法、内容请求的处理方法、建立路由表的方法、获取内容的方法以及发布内容的方法,下面将结合图29至图48,详细描述根据本发明实施例的路由器、建立路由表的装置、用户设备以及发布内容的装置。
图29是根据本发明实施例的路由器2900的示意性框图,包括:
接收模块2910,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
第一确定模块2920,用于确定转发信息表FIB中是否存在与该接收模块2910接收的该内容请求包携带的该请求内容的内容名匹配的转发表项;
第二确定模块2930,用于当该第一确定模块2920确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
发送模块2940,用于当该第二确定模块2930确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在本发明实施例中,接收模块2910接收的内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。该一组内容包括一个或多个内 容。该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。该容器对应一个或多个内容名,该请求内容的内容名对应一个或多个归属容器,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
在本发明实施例中,容器的容器信息包括容器的容器标识,可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;如图30所示,第二确定模块2930包括:
第一解析单元2931,用于根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;
第一确定单元2932,具体用于将该请求内容的容器信息中的容器标识以及该第一解析单元2931解析获得的该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
可选地,该路由器还包括:
第一添加模块2945,用于将该第一解析单元2931解析获得的该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,作为另一实施例,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;如图31所示,该路由器2900还包括:
第一解析模块2950,用于当该第二确定模块2940确定该FIB中不存在 与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;
该第二确定模块2930还用于将该第一解析模块2950解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,如图31所示,该路由器2900还包括:
第二添加模块2955,用于将该第一解析模块2950解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
可选地,作为另一实施例,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口,相对应地,该第一确定模块2920具体用于根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该发送模块2940还用于当该第一确定模块2920确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,作为另一实施例,如图32所示,该路由器2900还包括:
第三确定模块2960,用于在该第一确定模块2920确定FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;
该发送模块2940还用于当该第三确定模块2960确定该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
该第一确定模块2920还用于当该第三确定模块2960确定该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,如图33所示,该路由器2900还包括:
第四确定模块2965,用于当该第三确定模块2960确定该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;
更新模块2970,用于当该第四确定模块2965确定该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添 加到该匹配的PIT表项;
该第一确定模块2920还用于当该第四确定模块2965确定该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该发送模块2940还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包;或
该路由器2900还包括:
丢弃模块2975,用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,将该内容请求包丢弃。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
可选地,在本发明实施例中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的 接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;
其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
可选地,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;相对应地,该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
可选地,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将拓扑无关小容器的路由限制在为其提供接入服务的拓扑相关容器内,且将拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的路由器2900可对应于根据本发明实施例的路由转发的方法中的装置,并且路由器2900中的各个模块的上述和其它操作和/或功能分别为了实现图9至图20中的各个方法的相应流程,为避免重复,在 此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图34是根据本发明另一实施例的路由器3400的示意性框图,如图34所示,该路由器3400包括:
接收模块3410,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
确定模块3420,用于根据该接收模块3410接收的该内容请求包携带的该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在本发明实施例中,该内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。容器的容器信息包括容器的容器标识,可选地,容器的容器信息还可以进一步包括容器的解析标识,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。可选地,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器,该归属容器中存在该请求内容的内容名对应的转发表项。
可选地,该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
可选地,在本发明实施例中,如图35所示,该确定模块3420包括:
第一确定单元3421,用于确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
第二确定单元3422,用于当该第一确定单元3421确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
发送单元3423,用于当该第二确定单元3422确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
可选地,作为另一实施例,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
相对应地,在内容请求包中,可以将该树型结构或有向无环图结构表示成文本格式,本发明实施例不限于此。
根据本发明实施例的路由器3400可对应于根据本发明实施例的内容请求的处理方法中的路由器,并且路由器3400中的各个模块的上述和其它操作和/或功能分别为了实现图21和图22中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图36是根据本发明实施例的建立路由表的装置3600的示意性框图。该装置可能是路由器,也可以是网络中独立的装置,本发明实施例不限于此。如图36所示,该装置3600包括:
生成模块3610,用于生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器;
存储模块3620,用于存储该生成模块3610生成的路由表。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接 口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的建立路由表的装置3600可对应于根据本发明实施例的建立路由表的方法中的装置,并且建立路由表的装置3600中的各个模块的上述和其它操作和/或功能分别为了实现图32和图33中的各个方法的相应流程,为避免重复,在此不再赘述。
图37是根据本发明实施例的用户设备3700的示意性框图,包括:
生成模块3710,用于生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
发送模块3720,用于将该生成模块3710生成的该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
可选地,作为另一实施例,如图38所示,用户设备3700还包括:
获取模块3730,用于在该生成模块生成内容请求包之前,获取该请求内容的容器信息;
该生成模块3710具体用于根据该获取模块3730获取的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,如图39所示,用户设备3700还包括:
第一确定模块3740,用于根据该获取模块3730获取的该请求内容的容器信息,确定该容器的接入容器;
第一更新模块3750,用于将该第一确定模块3740确定的该接入容器的 容器信息添加到该请求内容的容器信息中;
该生成模块3710具体用于根据该第一更新模块3750更新后的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,如图40所示,用户设备3700还包括:
第二确定模块3760,用于根据该获取模块3730获取的该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器;
第二更新模块3770,用于将该第二确定模块3760确定的该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;
生成模块3710具体用于根据该第二更新模块3770更新后的该请求内容的容器信息,生成内容请求包。
根据本发明实施例的用户设备3700可对应于根据本发明实施例的获取内容的方法中的装置,并且用户设备3700中的各个模块的上述和其它操作和/或功能分别为了实现图24至图26中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图41是根据本发明实施例的发布内容的装置4100的示意性框图。如图41所示,该装置4100包括:
确定模块4110,用于确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;
发布模块4120,用于发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该确定模块4110确定的该容器集中每个容器的容器信息,以便用户根据该内容的信息生成内容请求包并发送到网络设备并由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该容器信息包括容器标识。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,作为另一实施例,如图42所示,该装置4100还包括:
注册模块4130,用于将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
可选地,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
根据本发明实施例的发布内容的装置4100可对应于根据本发明实施例的获取内容的方法中的装置,并且发布内容的装置4100中的各个模块的上述和其它操作和/或功能分别为了实现图27至图28中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图43是根据本发明实施例的路由器4300的示意性框图。如图43所示,该路由器4300包括:接收器4310,存储器4320,处理器4330,例如CPU,和发送器4340。其中,该存储器4320用于存储对转发引擎的指令,该转发引擎可以包括转发信息表FIB,也可以包括CS和FIB,也可以包括CS、PIT和FIB。该处理器4330用于执行该存储器4320存储的对转发引擎的指令。
该接收器4310,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
该处理器4330,用于确定转发信息表FIB中是否存在与该接收模块4310接收的该内容请求包携带的该请求内容的内容名匹配的转发表项,以及当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转 发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
该发送器4340,用于当该处理器4330确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,在本发明实施例中,该接收模块4310接收的内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器,具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
在本发明实施例中,容器的容器信息包括容器的容器标识,可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;相对应地,该处理器4330具体用于根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;以及将解析获得的该请求内容的容器信息中的容器标识以及该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,该处理器4330还用于将该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
可选地,作为另一实施例,该处理器4330还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识,并将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口;该处理器4330还用于根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该发送器4340还用于当该处理器4330确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,作为另一实施例,该转发引擎还可以进一步包括内容存储表CS,该处理器4330还用于在该FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定CS中是否存在与该请求内容的内容名匹配的内容;
该发送器4340还用于当该处理器4330确定该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
该该处理器4330还用于当该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该转发引擎也可以进一步包括CS表和PIT表,该处理器4330具体用于当该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项,并且,当该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项,以及该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该发送器4340还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包;或
该处理器4330还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,将该内容请求包丢弃。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;
其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
可选地,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;相对应地,该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
可选地,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
根据本发明实施例的路由器4300可对应于根据本发明实施例的路由转发的方法中的装置,并且路由器4300中的各个模块的上述和其它操作和/或功能分别为了实现图9至图20中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展 ICN系统中的内容属性,并将拓扑无关小容器的路由限制在为其提供接入服务的拓扑相关容器内,且将拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
图44是根据本发明另一实施例的路由器4400的示意性框图,如图44所示,该路由器4400包括:接收器4410,存储器4420和处理器4430,例如CPU。其中,该存储器4420用于存储对转发引擎的指令,该转发引擎可以包括FIB,也可以包括FIB和CS,也可以包括FIB、CS和PIT。该处理器4430用于执行该存储器4420存储的指令。具体地,
该接收器4410,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
该处理器4430,用于根据该接收器4410接收的该内容请求包携带的该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,该内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。容器的容器信息包括容器的容器标识,可选地,容器的容器信息还可以进一步包括容器的解析标识,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。可选地,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器, 具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
可选地,在本发明实施例中,该处理器4430具体用于确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项,以及当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
相对应地,如图45所示,该路由器4500还包括:
发送器4540,用于当该处理器4530确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
可选地,作为另一实施例,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
相对应地,在内容请求包中,可以将该树型结构或有向无环图结构表示成文本格式,本发明实施例不限于此。
根据本发明实施例的路由器4500可对应于根据本发明实施例的内容请求的处理方法中的路由器,并且路由器4500中的各个模块的上述和其它操作和/或功能分别为了实现图21和图22中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移 动性等问题提供可能性。
图46是根据本发明实施例的建立路由表的装置4600的示意性框图,如图46所示,该建立路由表的装置4600包括:处理器4610,例如CPU,和存储器4620。具体地,
该处理器4610,用于生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器;
该存储器4620,用于存储该处理器4610生成的路由表。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括 全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表 项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的建立路由表的装置4600可对应于根据本发明实施例的建立路由表的方法中的装置,并且建立路由表的装置4600中的各个模块的上述和其它操作和/或功能分别为了实现图22和图23中的各个方法的相应流程,为避免重复,在此不再赘述。
图47是根据本发明实施例的用户设备4700的示意性框图。如图47所示,该用户设备4700包括:处理器4710,例如CPU,发送器4720。
该处理器4710,用于生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
该发送器4720,用于将该处理器4710生成的该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
可选地,作为另一实施例,该处理器4710还用于:获取该请求内容的容器信息,以及根据该获取得到的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器4710还用于在生成内容请求包之前,获取该请求内容的容器信息,并根据获取的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器4710还用于根据获取的该请求内容的容器信息,确定该容器的接入容器,并将该接入容器的容器信息添加到 该请求内容的容器信息中,以及根据该更新后的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器4710还用于根据该获取的该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器,并将该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中,以及根据更新后的该请求内容的容器信息,生成内容请求包。
根据本发明实施例的用户设备4700可对应于根据本发明实施例的获取内容的方法中的装置,并且用户设备4700中的各个模块的上述和其它操作和/或功能分别为了实现图24至图26中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图48是根据本发明实施例的发布内容的装置4800的示意性框图,如图48所示,该装置4800包括:存储器4810,和处理器4820,例如,CPU。其中,该存储器4810用于存储指令,该处理器4820用于执行该存储器4810存储的指令。具体地,
该处理器4820,用于确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器,以及发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该容器集中每个容器的容器信息,以便用户根据该内容的信息生成内容请求包并发送到网络设备并由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该容器信息包括容器标识。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,作为另一实施例,该处理器4820还用于用于将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
可选地,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
根据本发明实施例的发布内容的装置4800可对应于根据本发明实施例的获取内容的方法中的装置,并且发布内容的装置4800中的各个模块的上述和其它操作和/或功能分别为了实现图27至图28中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (72)
1.一种容器名服务器,其特征在于,包括:
网络接口,用于接收网络节点发送的解析请求包,所述解析请求包包括待解析的容器的容器标识;
执行引擎,用于根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识。
2.如权利要求1所述的容器名服务器,其特征在于,所述网络接口还用于向所述发送解析请求包的网络节点发送解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
3.如权利要求2所述的容器名服务器,其特征在于,所述网络接口具体用于接收网络节点发送的所述解析请求包,所述解析请求包为兴趣包;向所述发送解析请求包的网络节点发送所述解析响应包,所述解析响应包为数据包。
4.如权利要求1-3中任一项所述的容器名服务器,其特征在于,所述容器名服务器还包括数据库,
所述执行引擎具体用于根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识,所述数据库存储了所述待解析的容器与所述待解析的容器的接入容器之间的映射关系。
5.如权利要求1-4中任一项所述的容器名服务器,其特征在于,所述网络接口还用于接收网络节点发送的注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识;
所述执行引擎还用于存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系,以便根据所述待注册的容器的容器标识获取所述待注册的容器的接入容器的容器标识。
6.如权利要求5所述的容器名服务器,其特征在于,所述网络接口具体用于接收网络节点发送的所述注册请求包,所述注册请求包为兴趣包。
7.如权利要求5或6所述的容器名服务器,其特征在于,所述网络接口还用于向所述发送注册请求包的网络节点发送注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
8.如权利要求7所述的容器名服务器,其特征在于,所述网络接口具体用于向所述发送注册请求包的网络节点发送所述注册响应包,所述注册响应包为数据包。
9.如权利要求1-8中任一项所述的容器名服务器,其特征在于,所述网络接口还用于接收网络节点发送的注销请求包,所述注销请求包包括待注销的容器的容器标识与所述待注销的容器的接入容器的容器标识;
所述执行引擎还用于从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
10.如权利要求9所述的容器名服务器,其特征在于,所述网络接口具体用于接收网络节点发送的所述注销请求包,所述注销请求包为兴趣包。
11.如权利要求1所述的容器名服务器,其特征在于,所述执行引擎具体用于根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识;当未查询到所述接入容器的容器标识时,根据所述待解析的容器的容器标识确定所述待解析的容器的权威容器名服务器,所述权威容器名服务器用于注册、注销以及解析所述待解析的容器;所述网络接口还用于向所述权威容器名服务器转发所述解析请求包。
12.如权利要求1-11中任一项所述的容器名服务器,其特征在于,所述容器是用于存储一组内容的存储空间。
13.如权利要求1-12中任一项所述的容器名服务器,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器所存储的内容能够在所述容器内被路由到,或所述容器所存储的内容能够通过所述容器被路由到。
14.如权利要求1-12中任一项所述的容器名服务器,其特征在于,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
15.如权利要求1-14中任一项所述的容器名服务器,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
16.一种网络节点,其特征在于,包括:
执行引擎,用于获取解析请求包,所述解析请求包包括待解析的容器的容器标识,网络接口,用于向容器名服务器发送所述解析请求包,以便所述容器名服务器根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识;
或者,执行引擎,用于获取注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识,网络接口,用于向所述待注册的容器的权威容器名服务器发送所述注册请求包,以便所述权威容器名服务器存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系;
或者,执行引擎,用于获取注销请求包,所述注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,网络接口,用于向所述待注销的容器的权威容器名服务器发送所述注销请求包,以便所述权威容器名服务器根据所述待注销的容器的接入容器的容器标识从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
17.如权利要求16所述的网络节点,其特征在于,所述网络接口还用于接收与所述解析请求包对应的解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
18.如权利要求17所述的网络节点,其特征在于,所述解析请求包为兴趣包,所述解析响应包为数据包。
19.如权利要求16所述的网络节点,其特征在于,所述网络接口还用于接收与所述注册请求包对应的注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
20.如权利要求19所述的网络节点,其特征在于,所述注册请求包为兴趣包,所述注册响应包为数据包。
21.如权利要求16所述的网络节点,其特征在于,所述网络接口还用于接收与所述注销请求包对应的注销响应包,所述注销响应包包括用于指示注销是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
22.如权利要求21所述的网络节点,其特征在于,所述注销请求包为兴趣包,所述注销响应包为数据包。
23.如权利要求16-22中任一项所述的网络节点,其特征在于,
所述网络接口还用于接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
所述执行引擎具体用于生成所述解析请求包,其中,所述待解析容器的容器标识为所述请求内容的容器的容器标识。
24.如权利要求23所述的网络节点,其特征在于,所述请求内容的容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析,
所述网络接口还用于接收所述容器名服务器发送的解析结果,所述解析结果中包括所述待解析容器的接入容器的容器标识;
所述执行引擎还用于将所述请求内容的容器信息中的容器标识以及所述请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项;
所述网络接口还用于当所述FIB中存在与所述请求内容的容器信息中的容器标识或所述待解析容器的接入容器的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
25.如权利要求24所述的网络节点,其特征在于,所述执行引擎还用于将所述解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
26.如权利要求23所述的网络节点,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
所述执行引擎还用于确定FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,从所述容器名服务器中解析获得所述容器的接入容器的容器标识;将所述解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
27.如权利要求26所述的网络节点,其特征在于,所述执行引擎还用于将所述解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
28.如权利要求16-27中任一项所述的网络节点,其特征在于,所述容器是用于存储一组内容的存储空间。
29.如权利要求16-28中任一项所述的网络节点,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器存储的内容能够在所述容器内被路由到,或所述容器存储的内容能够通过所述容器被路由到。
30.如权利要求16-28中任一项所述的网络节点,其特征在于,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
31.如权利要求16-30中任一项所述的网络节点,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
32.如权利要求24至31中任一项所述的网络节点,其特征在于,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
33.如权利要求32所述的网络节点,其特征在于,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
34.如权利要求33所述的网络节点,其特征在于,所述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
35.如权利要求33或34所述的网络节点,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
36.如权利要求32至35中任一项所述的网络节点,其特征在于,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
37.一种容器名解析方法,其特征在于,包括:
接收网络节点发送的解析请求包,所述解析请求包包括待解析的容器的容器标识;
根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识。
38.如权利要求37所述的方法,其特征在于,还包括:
向所述发送解析请求包的网络节点发送解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
39.如权利要求38所述的方法,其特征在于,所述接收网络节点发送的解析请求包包括:
接收网络节点发送的所述解析请求包,所述解析请求包为兴趣包;
所述向所述发送解析请求包的网络节点发送解析响应包包括:
向所述发送解析请求包的网络节点发送所述解析响应包,所述解析响应包为数据包。
40.如权利要求37-39中任一项所述的方法,其特征在于,所述根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识包括:
根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识,所述数据库存储了所述待解析的容器与所述待解析的容器的接入容器之间的映射关系。
41.如权利要求37-40中任一项所述的方法,其特征在于,还包括:
接收网络节点发送的注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识;
存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系,以便根据所述待注册的容器的容器标识获取所述待注册的容器的接入容器的容器标识。
42.如权利要求41所述的方法,其特征在于,所述接收网络节点发送的注册请求包包括:
接收网络节点发送的所述注册请求包,所述注册请求包为兴趣包。
43.如权利要求41或42所述的方法,其特征在于,还包括:
向所述发送注册请求包的网络节点发送注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
44.如权利要求43所述的方法,其特征在于,所述向所述发送注册请求包的网络节点发送注册响应包包括:
向所述发送注册请求包的网络节点发送所述注册响应包,所述注册响应包为数据包。
45.如权利要求37-44中任一项所述的方法,其特征在于,还包括:
接收网络节点发送的注销请求包,所述注销请求包包括待注销的容器的容器标识与所述待注销的容器的接入容器的容器标识;
从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
46.如权利要求45所述的方法,其特征在于,所述接收网络节点发送的注销请求包包括:
接收网络节点发送的所述注销请求包,所述注销请求包为兴趣包。
47.如权利要求37所述的方法,其特征在于,所述根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识包括:
根据所述待解析的容器的容器标识从数据库中查询所述待解析的容器的接入容器的容器标识;
当未查询到所述接入容器的容器标识时,根据所述待解析的容器的容器标识确定所述待解析的容器的权威容器名服务器,所述权威容器名服务器用于注册、注销以及解析所述待解析的容器;
向所述权威容器名服务器转发所述解析请求包。
48.如权利要求37-47中任一项所述的方法,其特征在于,所述容器是用于存储一组内容的存储空间。
49.如权利要求37-48中任一项所述的方法,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器所存储的内容能够在所述容器内被路由到,或所述容器所存储的内容能够通过所述容器被路由到。
50.如权利要求37-48中任一项所述的方法,其特征在于,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
51.如权利要求37-50中任一项所述的方法,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
52.一种容器名解析方法,其特征在于,包括:
获取解析请求包,所述解析请求包包括待解析的容器的容器标识,并向容器名服务器发送所述解析请求包,以便所述容器名服务器根据所述待解析的容器的容器标识获取所述待解析的容器的接入容器的容器标识;
或者,获取注册请求包,所述注册请求包包括待注册的容器的容器标识与所述待注册的容器的接入容器的容器标识,并向所述待注册的容器的权威容器名服务器发送所述注册请求包,以便所述权威容器名服务器存储所述待注册的容器与所述待注册的容器的接入容器之间的映射关系;
或者,获取注销请求包,所述注销请求包包括待注销的容器的容器标识以及待注销的容器的接入容器的容器标识,并向所述待注销的容器的权威容器名服务器发送所述注销请求包,以便所述权威容器名服务器根据所述待注销的容器的接入容器的容器标识从数据库中删除所述待注销的容器与所述待注销的容器的接入容器之间的映射关系。
53.如权利要求52所述的方法,其特征在于,还包括:
接收与所述解析请求包对应的解析响应包,所述解析响应包包括所述待解析的容器的接入容器的容器标识。
54.如权利要求53所述的方法,其特征在于,所述解析请求包为兴趣包,所述解析响应包为数据包。
55.如权利要求52所述的方法,其特征在于,还包括:
接收与所述注册请求包对应的注册响应包,所述注册响应包包括用于指示注册是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
56.如权利要求55所述的方法,其特征在于,所述注册请求包为兴趣包,所述注册响应包为数据包。
57.如权利要求52所述的方法,其特征在于,还包括:
接收与所述注销请求包对应的注销响应包,所述注销响应包包括用于指示注销是否成功的信息以及用于指示所述注册响应包中的信息不可缓存的信息。
58.如权利要求57所述的方法,其特征在于,所述注销请求包为兴趣包,所述注销响应包为数据包。
59.如权利要求52-58中任一项所述的方法,其特征在于,所述获取解析请求包包括:
接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
生成所述解析请求包,其中,所述待解析容器的容器标识为所述请求内容的容器的容器标识。
60.如权利要求59所述的方法,其特征在于,所述请求内容的容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析,
所述方法还包括:
接收所述容器名服务器发送的解析结果,所述解析结果中包括所述待解析容器的接入容器的容器标识;
将所述请求内容的容器信息中的容器标识以及所述请求内容的所有可解析容器的接入容器的容器标识与转发信息表FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项;
当所述FIB中存在与所述请求内容的容器信息中的容器标识或所述待解析容器的接入容器的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
61.如权利要求60所述的方法,其特征在于,所述方法还包括:
将所述解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
62.如权利要求59所述的方法,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
所述方法还包括:
确定FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;
当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,从所述容器名服务器中解析获得所述容器的接入容器的容器标识;
将所述解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
63.如权利要求62所述的方法,其特征在于,所述方法还包括:
将所述解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
64.如权利要求52-63中任一项所述的方法,其特征在于,所述容器是用于存储一组内容的存储空间。
65.如权利要求52-64中任一项所述的方法,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述容器存储的内容能够在所述容器内被路由到,或所述容器存储的内容能够通过所述容器被路由到。
66.如权利要求52-64中任一项所述的方法,其特征在于,所述容器所存储的内容对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
67.如权利要求52-66中任一项所述的方法,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在所述容器存储的内容所对应的内容请求包路由到所述另一容器的转发表项的容器。
68.如权利要求60至67中任一项所述的方法,其特征在于,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
69.如权利要求68所述的方法,其特征在于,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
70.如权利要求69所述的方法,其特征在于,所述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
71.如权利要求69或70所述的方法,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
72.如权利要求68至71中任一项所述的方法,其特征在于,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310075826.XA CN104052661B (zh) | 2013-03-11 | 2013-03-11 | 容器名服务器和容器名解析方法 |
EP14762661.8A EP2958281A4 (en) | 2013-03-11 | 2014-03-07 | CONTAINER NAME SERVER AND CONTAINERN NAME ANALYSIS PROCEDURE |
KR1020157027966A KR101858542B1 (ko) | 2013-03-11 | 2014-03-07 | 컨테이너 명칭 서버 및 컨테이너 명칭 해석 방법 |
PCT/CN2014/073083 WO2014139378A1 (zh) | 2013-03-11 | 2014-03-07 | 容器名服务器和容器名解析方法 |
US14/843,793 US20150381557A1 (en) | 2013-03-11 | 2015-09-02 | Container name server and method for container name resolution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310075826.XA CN104052661B (zh) | 2013-03-11 | 2013-03-11 | 容器名服务器和容器名解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104052661A true CN104052661A (zh) | 2014-09-17 |
CN104052661B CN104052661B (zh) | 2018-04-10 |
Family
ID=51505043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310075826.XA Expired - Fee Related CN104052661B (zh) | 2013-03-11 | 2013-03-11 | 容器名服务器和容器名解析方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150381557A1 (zh) |
EP (1) | EP2958281A4 (zh) |
KR (1) | KR101858542B1 (zh) |
CN (1) | CN104052661B (zh) |
WO (1) | WO2014139378A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016082184A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 控制信令的传输方法及设备 |
CN107257371A (zh) * | 2017-06-14 | 2017-10-17 | 北京中数创新科技股份有限公司 | 基于Handle系统的解析方法及Handle系统 |
CN109491762A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 容器状态控制方法及装置、存储介质、电子设备 |
CN109587225A (zh) * | 2018-11-21 | 2019-04-05 | 量子云未来(北京)信息科技有限公司 | 基于ndn网络的消息推送方法、装置、服务器、网络节点 |
CN109691067A (zh) * | 2016-07-05 | 2019-04-26 | 皇家Kpn公司 | 用于传送和接收兴趣消息的系统和方法 |
WO2019128382A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 删除容器的方法和相关设备 |
CN110460633A (zh) * | 2019-06-29 | 2019-11-15 | 天津大学 | 一种面向内容的物联网组网节点间数据同步传输方法 |
CN111124956A (zh) * | 2019-11-22 | 2020-05-08 | 海光信息技术有限公司 | 一种容器保护方法、处理器、操作系统及计算机设备 |
CN112286558A (zh) * | 2020-11-09 | 2021-01-29 | 蚌埠依爱消防电子有限责任公司 | 一种采集设备实时更新解析程序的方法 |
CN113176920A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103874157B (zh) * | 2012-12-12 | 2017-07-07 | 华为技术有限公司 | 路由转发、建立路由表、和获取内容的方法及其装置 |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US10122632B2 (en) * | 2014-10-14 | 2018-11-06 | Idac Holdings, Inc. | Anchoring IP devices in ICN networks |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
EP3251326B1 (en) * | 2015-01-30 | 2021-01-27 | IDAC Holdings, Inc. | Methods and systems for anchoring hypertext transfer protocol (http) level services in an information centric network (icn) |
US10116625B2 (en) * | 2016-01-08 | 2018-10-30 | Secureworks, Corp. | Systems and methods for secure containerization |
US10009380B2 (en) | 2016-01-08 | 2018-06-26 | Secureworks Corp. | Systems and methods for security configuration |
US10742596B2 (en) * | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
JP6483044B2 (ja) * | 2016-03-17 | 2019-03-13 | Kddi株式会社 | 保持しているオブジェクトの変換を行う転送装置及びプログラム |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10425485B2 (en) * | 2016-11-21 | 2019-09-24 | Cisco Technology, Inc. | Integrating information centric networking (ICN) over low power and lossy networks (LLNs) |
WO2018112212A1 (en) * | 2016-12-14 | 2018-06-21 | Idac Holdings, Inc. | System and method to register fqdn-based ip service endpoints at network attachment points |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
WO2018189352A1 (en) * | 2017-04-14 | 2018-10-18 | Koninklijke Kpn N.V. | Transmitting and receiving an interest message specifying an aggregation parameter |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
CN109831542B (zh) * | 2017-11-23 | 2020-08-07 | 中国科学院声学研究所 | 一种扁平定长名字处理方法及系统 |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
US11086908B2 (en) * | 2018-11-20 | 2021-08-10 | International Business Machines Corporation | Ontology for working with container images |
US11314614B2 (en) * | 2020-01-02 | 2022-04-26 | Sri International | Security for container networks |
US11588749B2 (en) | 2020-05-15 | 2023-02-21 | Cisco Technology, Inc. | Load balancing communication sessions in a networked computing environment |
CN111970358B (zh) * | 2020-08-14 | 2023-05-16 | 深圳市迅雷网络技术有限公司 | 去中心化云计算平台及其服务部署、访问方法及组件 |
CN114528114B (zh) * | 2020-11-09 | 2023-09-19 | 成都鼎桥通信技术有限公司 | 数据处理方法、装置及设备 |
CN114222007B (zh) * | 2022-02-22 | 2022-07-01 | 北京凌云创想科技有限公司 | 一种混合云通信方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288163A1 (en) * | 2008-05-16 | 2009-11-19 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
CN102684969A (zh) * | 2011-03-18 | 2012-09-19 | 日电(中国)有限公司 | Vpn节点及其标识解析代理及方法、和vpn服务器 |
WO2013007208A1 (en) * | 2011-07-12 | 2013-01-17 | Huawei Technologies Co., Ltd. | Method and apparatus for seamless mobility techniques in content-centric network |
CN103874157A (zh) * | 2012-12-12 | 2014-06-18 | 华为技术有限公司 | 路由转发、建立路由表、和获取内容的方法及其装置 |
CN104009920A (zh) * | 2013-02-25 | 2014-08-27 | 华为技术有限公司 | 数据源移动的处理方法、转发报文的方法及其装置 |
-
2013
- 2013-03-11 CN CN201310075826.XA patent/CN104052661B/zh not_active Expired - Fee Related
-
2014
- 2014-03-07 EP EP14762661.8A patent/EP2958281A4/en not_active Withdrawn
- 2014-03-07 KR KR1020157027966A patent/KR101858542B1/ko active IP Right Grant
- 2014-03-07 WO PCT/CN2014/073083 patent/WO2014139378A1/zh active Application Filing
-
2015
- 2015-09-02 US US14/843,793 patent/US20150381557A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288163A1 (en) * | 2008-05-16 | 2009-11-19 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
CN102684969A (zh) * | 2011-03-18 | 2012-09-19 | 日电(中国)有限公司 | Vpn节点及其标识解析代理及方法、和vpn服务器 |
WO2013007208A1 (en) * | 2011-07-12 | 2013-01-17 | Huawei Technologies Co., Ltd. | Method and apparatus for seamless mobility techniques in content-centric network |
CN103874157A (zh) * | 2012-12-12 | 2014-06-18 | 华为技术有限公司 | 路由转发、建立路由表、和获取内容的方法及其装置 |
CN104009920A (zh) * | 2013-02-25 | 2014-08-27 | 华为技术有限公司 | 数据源移动的处理方法、转发报文的方法及其装置 |
Non-Patent Citations (1)
Title |
---|
YAO, CHUNFENG等: "Container Assisted Naming and Routing for ICN", 《INTERNET-DRAFT》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447603B2 (en) | 2014-11-28 | 2019-10-15 | Huawei Technologies Co., Ltd. | Control signaling transmission method and device |
WO2016082184A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 控制信令的传输方法及设备 |
CN109691067A (zh) * | 2016-07-05 | 2019-04-26 | 皇家Kpn公司 | 用于传送和接收兴趣消息的系统和方法 |
CN107257371A (zh) * | 2017-06-14 | 2017-10-17 | 北京中数创新科技股份有限公司 | 基于Handle系统的解析方法及Handle系统 |
CN107257371B (zh) * | 2017-06-14 | 2019-09-20 | 北京中数创新科技股份有限公司 | 基于Handle系统的解析方法及Handle系统 |
WO2019128382A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 删除容器的方法和相关设备 |
CN109491762A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 容器状态控制方法及装置、存储介质、电子设备 |
CN109587225A (zh) * | 2018-11-21 | 2019-04-05 | 量子云未来(北京)信息科技有限公司 | 基于ndn网络的消息推送方法、装置、服务器、网络节点 |
CN110460633A (zh) * | 2019-06-29 | 2019-11-15 | 天津大学 | 一种面向内容的物联网组网节点间数据同步传输方法 |
CN111124956A (zh) * | 2019-11-22 | 2020-05-08 | 海光信息技术有限公司 | 一种容器保护方法、处理器、操作系统及计算机设备 |
CN112286558A (zh) * | 2020-11-09 | 2021-01-29 | 蚌埠依爱消防电子有限责任公司 | 一种采集设备实时更新解析程序的方法 |
CN113176920A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
CN113176920B (zh) * | 2021-04-29 | 2024-05-31 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104052661B (zh) | 2018-04-10 |
WO2014139378A1 (zh) | 2014-09-18 |
KR101858542B1 (ko) | 2018-05-17 |
US20150381557A1 (en) | 2015-12-31 |
KR20150128876A (ko) | 2015-11-18 |
EP2958281A4 (en) | 2016-06-01 |
EP2958281A1 (en) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104052661A (zh) | 容器名服务器和容器名解析方法 | |
CN103874157A (zh) | 路由转发、建立路由表、和获取内容的方法及其装置 | |
JP6345284B2 (ja) | データソース移動処理方法、パケット転送方法、およびその装置 | |
CN101656765B (zh) | 身份位置分离网络的名址映射系统及数据传输方法 | |
US9553930B2 (en) | DNS overriding-based methods of accelerating content delivery | |
US9130970B2 (en) | Systems for accelerating content delivery via DNS overriding | |
JP6225249B2 (ja) | ルーティング及び転送の方法、装置、及びシステム | |
CN108848032B (zh) | 一种支持多兴趣类型处理的命名对象网络实现方法 | |
CN101969468B (zh) | 查询服务器集群系统及查询方法 | |
Adhatarao et al. | Comparison of naming schema in ICN | |
JP6116758B2 (ja) | 情報中心ネットワーク(icn)においてパケットを転送するための方法、機器およびシステム | |
US9462057B2 (en) | Location-based content-centric networking method | |
KR20120134519A (ko) | 계층적 이름 구조에 기반한 네트워크에서 컨텐츠 요청자 및 컨텐츠 응답자의 통신 방법 및 장치 | |
CN109495525B (zh) | 网络组件、解析内容标识的方法和计算机可读存储介质 | |
CN108337173A (zh) | 基于本地缓存和结构化p2p的分布式名址映射系统及方法 | |
KR101018787B1 (ko) | 인터넷 정보 검색 시스템 | |
Westphal et al. | A Bloom Filter approach for scalable CCN-based discovery of missing physical objects | |
Bettini et al. | Context-aware web services for distributed retrieval of points of interest | |
CN114338720A (zh) | 一种分布式文件存储及传输方法、系统及存储介质 | |
JP2014143573A (ja) | アドレス解決システム及び方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180410 Termination date: 20190311 |
|
CF01 | Termination of patent right due to non-payment of annual fee |