[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN103874157B - 路由转发、建立路由表、和获取内容的方法及其装置 - Google Patents

路由转发、建立路由表、和获取内容的方法及其装置 Download PDF

Info

Publication number
CN103874157B
CN103874157B CN201210535249.3A CN201210535249A CN103874157B CN 103874157 B CN103874157 B CN 103874157B CN 201210535249 A CN201210535249 A CN 201210535249A CN 103874157 B CN103874157 B CN 103874157B
Authority
CN
China
Prior art keywords
container
content
information
forwarding
request content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210535249.3A
Other languages
English (en)
Other versions
CN103874157A (zh
Inventor
范灵源
姚春凤
严哲峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210535249.3A priority Critical patent/CN103874157B/zh
Priority to EP13863083.5A priority patent/EP2933961B1/en
Priority to PCT/CN2013/081601 priority patent/WO2014089986A1/zh
Publication of CN103874157A publication Critical patent/CN103874157A/zh
Priority to US14/737,941 priority patent/US9948557B2/en
Application granted granted Critical
Publication of CN103874157B publication Critical patent/CN103874157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing

Landscapes

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

Abstract

本发明公开了一种路由转发、建立路由表、和获取内容的方法及其装置。该路由转发的方法包括:接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息;确定FIB中是否存在与该请求内容的内容名匹配的转发表项;当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该容器信息中的容器标识匹配的转发表项;当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。本发明实施例通过在内容名的基础上增加容器信息,能减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展等问题提供可能。

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研究关注的重要问题。虽然NDN试图通过名字的聚合来解决这一问题,但由于内容的名字空间远超IP的地址空间,因此,NDN面临相当严峻的路由扩展性问题。具体来说,当前Google已经索引的统一资源定位符/网址(Uniform Resource Locator,简称为“URL”)超过1012个,这样,即使NDN的FIB中只放顶级域名,根据今天的网络规模,也要达到2×108条路由。如果再加入部分二、三级的名字前缀,估计路由表的规模会达到6×108条路由,这个数目几乎是当前网络中边界网关协议(BorderGateway Protocol,简称为“BGP”)路由条目的两百倍,而BGP路由用了大约十年时间才扩展了十倍,所以很难期忘当前的硬件如转发引擎在短期内能支持如此规模的NDN路由表。
针对NDN的上述路由扩展性问题,NDN的内容命名机制提出的一种可能的解决方案是在内容名前面增加拓扑相关的前缀,然后再通过拓扑聚合减小路由表的大小,但这样的命名机制明显存在命名的不持久性问题,特别是在移动互联网迅速发展的今天,无论从移动性、多宿、业务、和安全角度等,都期望内容命名做到位置无关。另外一种解决方案在内容名的基础上引入了路由标签的概念,路由标签用于定义内容的位置,用户或路由节点通过查询名字解析系统可获得内容名对应的路由标签集合。然而,在兴趣包转发流程中,内容名只是用于缓存的查找,真正决定兴趣包转发路由的是路由标签,因此,该技术方案完全弱化了内容路由的概念,而路由标签本质上是一个位置信息,这和IP并没有本质区别。因此该技术方案更像是一个增加了内容缓存功能的IP路由器,而不是真正意义上的内容路由。另外,该技术过于强调两个名字空间的分离和映射系统的作用,使其完全依赖于名字解析系统,从而丧失了NDN原有的基于内容路由的很多灵活性。因此,如何在解决由内容名引起的路由扩展性等问题的同时而不破坏内容路由的灵活性,是当前NDN系统和其它ICN系统研究亟待解决的问题。
发明内容
本发明实施例提供了一种路由转发的方法、内容请求的处理方法、建立路由表的方法、获取内容的方法和发布内容的方法,以及路由器、建立路由表的装置、用户设备和发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖。
第一方面,本发明实施例提供了一种路由转发的方法,该方法包括:接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第一方面,在第一种可能的实现方式中,该容器是用于存储一组内容的存储空间。
结合第一方面或结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第一方面或结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第一方面或结合第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。
结合第一方面或结合第一方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;该确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,包括:根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;将该请求内容的容器信息中的容器标识以及该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,该方法还包括:将该解析获得的该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
结合第一方面或结合第一方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;该方法还包括:当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
结合第一方面的第七种可能的实现方式,在第八种实现方式中,该方法还包括:将该解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
结合第一方面或结合第一方面的第一种至第八种可能的实现方式中的任一种可能的实现方式,在第九种可能的实现方式中,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口;该确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项,包括:根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;该方法还包括:当确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第一方面或结合第一方面的第一种至第九种可能的实现方式中的任一种可能的实现方式,在第十种可能的实现方式中,该方法还包括:在该确定FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;当该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;当该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
结合第一方面的第十种可能的实现方式,在第十一种可能的实现方式中,该方法还包括:当该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;当该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项;当该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
结合第一方面或结合第一方面的第一种至第十一种可能的实现方式中的任一种可能的实现方式,在第十二种可能的实现方式中,该方法还包括:当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包,或将该内容请求包丢弃。
结合第一方面或结合第一方面的第一种至第十二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的实现方式中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
结合第一方面的第十三种可能的实现方式,在第十四种可能的实现方式中,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第一方面的第十四种可能的实现方式,在第十五种可能的实现方式中,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
结合第一方面的第十四种或第十五种可能的实现方式,在第十六种可能的实现方式中,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
结合第一方面的第十二种至第十六种可能的实现方式中的任一种可能的实现方式,在第十七种可能的实现方式中,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
第二方面,本发明实施例提供了一种内容请求的处理方法,该方法包括:接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;根据该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
结合第二方面,在第一种可能的实现方式中,该容器是用于存储一组内容的存储空间。
结合第二方面或结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第二方面或结合第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,该容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。
结合第二方面或结合第二方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由,包括:确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第二方面或结合第二方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
结合第二方面或结合第二方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
第三方面,本发明实施例提供了一种建立路由表的方法,该方法包括:生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
结合第三方面,在第一种可能的实现方式中,该FIB表用于当该本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
结合第三方面或结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
结合第三方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
结合第三方面或结合第三方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
第四方面,本发明实施例提供了一种获取内容的方法,该方法包括:生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;将该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
结合第四方面,在第一种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第四方面,在第一种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第四方面或结合第四方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
结合第四方面或结合第四方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,在该生成内容请求包之前,该方法还包括:获取该请求内容的容器信息;该生成内容请求包,包括:根据该获取得到的该请求内容的容器信息,生成内容请求包。
结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,该方法还包括:根据该请求内容的容器信息,确定该请求内容的容器信息对应的容器的接入容器,并将该接入容器的容器信息添加到该请求内容的容器信息中;该生成内容请求包,包括:根据该添加了该接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
结合第四方面的第四种可能的实现方式,在第六种可能的实现方式中,该方法还包括:根据该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器,并将该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;该生成内容请求包,包括:根据该添加了该所有可解析容器的接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
第五方面,本发明实施例提供了一种发布内容的方法,该方法包括:确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该容器集中每个容器的容器信息,以便用户设备根据该内容的信息生成内容请求包并发送到网络设备以及由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
结合第五方面,在第一种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第五方面,在第二种可能的实现方式中,该内容的内容名对应一个或多个归属容器,该内容的归属容器是能够直接路由到该内容的容器。
结合第五方面或结合第五方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,该方法还包括:将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
第六方面,本发明实施例提供了一种路由器,该路由器包括:接收模块,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;第一确定模块,用于确定转发信息表FIB中是否存在与该接收模块接收的该内容请求包携带的该请求内容的内容名匹配的转发表项;第二确定模块,用于当该第一确定模块确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;发送模块,用于当该第二确定模块确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第六方面,在第一种可能的实现方式中,该容器是用于存储一组内容的存储空间。
结合第六方面或结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第六方面或结合第六方面的第一种可能的实现方式,在第三种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第六方面或结合第六方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。
结合第六方面或结合第六方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;该第二确定模块包括:第一解析单元,用于根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;第一确定单元,具体用于将该请求内容的容器信息中的容器标识以及该第一解析单元解析获得的该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
结合第六方面的第五种可能的实现方式,在第六种可能的实现方式中,该路由器还包括:第一添加模块,用于将该第一解析单元解析获得的该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
结合第六方面或结合第六方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;该路由器还包括:第一解析模块,用于当该第二确定模块确定该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;该第二确定模块还用于将该第一解析模块解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
结合第六方面的第七种可能的实现方式,在第八种可能的实现方式中,该路由器还包括:第二添加模块,用于将该第一解析模块解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
结合第六方面或结合第六方面的第一种至第八种可能的实现方式中的任一种可能的实现方式,在第九种可能的实现方式中,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口;该第一确定模块具体用于根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;该发送模块还用于当该第一确定模块确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第六方面或结合第六方面的第一种至第九种可能的实现方式中的任一种可能的实现方式,在第十种可能的实现方式中,该路由器还包括:第三确定模块,用于在该第一确定模块确定FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;该发送模块还用于当该第三确定模块确定该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;该第一确定模块还用于当该第三确定模块确定该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
结合第六方面的第十种可能的实现方式,在第十一种可能的实现方式中,该路由器还包括:第四确定模块,用于当该第三确定模块确定该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;更新模块,用于当该第四确定模块确定该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项;该第一确定模块还用于当该第四确定模块确定该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
结合第六方面或结合第六方面的第一种至第十一种可能的实现方式中的任一种可能的实现方式,在第十二种可能的实现方式中,该发送模块还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包;或该路由器还包括丢弃模块,用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,将该内容请求包丢弃。
结合第六方面或结合第六方面的第一种至第十二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的实现方式中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
结合第六方面的第十三种可能的实现方式,在第十四种可能的实现方式中,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第六方面的第十四种可能的实现方式,在第十五种可能的实现方式中,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
结合第六方面的第十四种或第十五种可能的实现方式,在第十六种可能的实现方式中,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
结合第六方面的第十三种至第十六种可能的实现方式中的任一种可能的实现方式,在第十七种可能的实现方式中,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
第七方面,本发明实施例提供了一种路由器,该路由器包括:接收模块,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;确定模块,用于根据该接收模块接收的该内容请求包携带的该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
结合第七方面,在第一种可能的实现方式中,该容器是用于存储一组内容的存储空间。
结合第七方面或结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第七方面或结合第七方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,该容器为一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。
结合第七方面或结合第七方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该确定模块包括:第一确定单元,用于确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;第二确定单元,用于当该第一确定单元确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;发送单元,用于当该第二确定单元确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
结合第七方面或结合第七方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
结合第七方面或结合第七方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
第八方面,本发明实施例提供了一种建立路由表的装置,该装置包括:生成模块,用于生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器;
存储模块,用于存储该生成模块生成的路由表。
结合第八方面,在第一种可能的实现方式中,该FIB表用于当该本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
结合第八方面或结合第八方面的第一种可能的实现方式,在第二种可能的实现方式中,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
结合第八方面的第二种可能的实现方式,在第三种可能的实现方式中,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
结合第八方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
结合第八方面或结合第八方面的第一种至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
第九方面,本发明实施例提供了一种用户设备,该用户设备包括:生成模块,用于生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;发送模块,用于将该生成模块生成的该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
结合第九方面,在第一种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第九方面,在第二种可能的实现方式中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
结合第九方面或结合第九方面的第二种或第二种可能的实现方式,在第三种可能的实现方式中,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
结合第九方面或结合第九方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该用户设备还包括:获取模块,用于在该生成模块生成内容请求包之前,获取该请求内容的容器信息;该生成模块具体用于根据该获取模块获取的该请求内容的容器信息,生成内容请求包。
结合第九方面的第四种可能的实现方式,在第五种可能的实现方式中,该用户设备还包括:第一确定模块,用于根据该获取模块获取的该请求内容的容器信息,确定该容器的接入容器;第一更新模块,用于将该第一确定模块确定的该接入容器的容器信息添加到该请求内容的容器信息中;该生成模块具体用于根据该第一更新模块更新后的该请求内容的容器信息,生成内容请求包。
结合第九方面的第四种可能的实现方式,在第六种可能的实现方式中,该用户设备还包括:第二确定模块,用于根据该获取模块获取的该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器;第二更新模块,用于将该第二确定模块确定的该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;该生成模块具体用于根据该第二更新模块更新后的该请求内容的容器信息,生成内容请求包。
第十方面,本发明实施例提供了一种发布内容的装置,该装置包括:确定模块,用于确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;发布模块,用于发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该确定模块确定的该容器集中每个容器的容器信息,以便用户根据该内容的信息生成内容请求包并发送到网络设备并由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
结合第十方面,在第一种可能的实现方式中,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
结合第十方面,第二种可能的实现方式中,该内容的内容名对应一个或多个归属容器,该内容的归属容器是能够直接路由到该内容的容器。
结合第十方面或结合第十方面的第一种或第二种可能的实现方式,第三种可能的实现方式中,该装置还包括:注册模块,用于将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
结合第十方面的第三种可能的实现方式,第四种可能的实现方式中,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
基于上述技术方案,本发明实施例的路由转发的方法、内容请求的处理方法、建立路由表的方法、获取内容的方法和发布内容的方法,以及路由器、建立路由表的装置、用户设备和发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的路由转发的方法的示意性流程图。
图2(a)是根据本发明实施例的内容名和容器集之间形成的树型结构示意图。
图2(b)是根据本发明实施例的内容名和容器集之间形成的有向无环图的结构示意图。
图3是根据本发明实施例的路由转发的方法的另一示意性流程图。
图4是根据本发明实施例的路由转发的方法的再一示意性流程图。
图5是根据本发明实施例的路由转发的方法的再一示意性流程图。
图6是根据本发明实施例的路由转发的方法的再一示意性流程图。
图7是根据本发明另一实施例的路由转发的方法的示意性流程图。
图8是根据本发明实施例的内容请求包和数据包的示意图。
图9是根据本发明再一实施例的路由转发的方法的示意性流程图。
图10是根据本发明再一实施例的路由转发的方法的示意性流程图。
图11是根据本发明再一实施例的路由转发的方法的示意性流程图。
图12是根据本发明实施例的网络架构的示意图。
图13是根据本发明实施例的内容请求的处理方法的示意性流程图。
图14是根据本发明实施例的内容请求的处理方法的另一示意性流程图。
图15是根据本发明实施例的建立路由表的方法的示意性流程图。
图16是根据本发明实施例的获取内容的方法的示意性流程图。
图17是根据本发明实施例的获取内容的方法的另一示意性流程图。
图18是根据本发明实施例的获取内容的方法的再一示意性流程图。
图19是根据本发明实施例的发布内容的方法的示意性流程图。
图20是根据本发明实施例的发布内容的方法的另一示意性流程图。
图21是根据本发明实施例的路由器的示意性框图。
图22是根据本发明实施例的路由器的第二确定模块的示意性框图。
图23是根据本发明实施例的路由器的另一示意性框图。
图24是根据本发明实施例的路由器的再一示意性框图。
图25是根据本发明实施例的路由器的再一示意性框图。
图26是根据本发明另一实施例的路由器的示意性框图。
图27是根据本发明另一实施例的路由器的确定模块的示意性框图。
图28是根据本发明实施例的建立路由表的装置的示意性框图。
图29是根据本发明实施例的用户设备的示意性框图。
图30是根据本发明实施例的用户设备的另一示意性框图。
图31是根据本发明实施例的用户设备的再一示意性框图。
图32是根据本发明实施例的用户设备的再一示意性框图。
图33是根据本发明实施例的发布内容的装置的示意性框图。
图34是根据本发明实施例的发布内容的装置的另一示意性框图。
图35是根据本发明再一实施例的路由器的示意性框图。
图36是根据本发明再一实施例的路由器的示意性框图。
图37是根据本发明再一实施例的路由器的另一示意性框图。
图38是根据本发明另一实施例的建立路由表的装置的示意性框图。
图39是根据本发明另一实施例的用户设备的示意性框图。
图40是根据本发明另一实施例的发布内容的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,在本发明实施例中,用户设备(User Equipment,简称为“UE”)可称之为终端(Terminal)、移动台(Mobile Station,简称为“MS”)、移动终端(Mobile Terminal)等,该用户设备可以经无线接入网(Radio AccessNetwork,简称为“RAN”)与一个或多个核心网进行通信,例如,用户设备可以是移动电话(或称为“蜂窝”电话)、具有移动终端的计算机等,例如,用户设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。还应理解,本发明实施例中的技术方案可应用于各种以信息为中心的网络体系。
图1是本发明实施例的路由转发的方法100的示意性流程图,图1的方法可以由路由节点执行,为了便于描述,下面将执行方法100的路由节点称为本节点。如图1所示,方法100包括:
S110,接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
S120,确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
S130,当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
S140,当该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”提供接入服务,但本发明实施例不限于此。
在S110中,本节点接收到的内容请求包可能是由其它路由节点发送的,也可能是由用户设备发送的,本发明实施例对此不作限定。该内容请求包携带的该请求内容的容器信息中包括的容器标识对应的容器组成该请求内容的容器集,该容器集可以包括一个或多个容器。可选地,该容器集中的一个或多个容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器,这里的“第一其他容器”以及“第二其他容器”可以是容器集中的容器,也可以是不在容器集中的其他容器。
具体地,该容器集可以包括该请求内容的归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器,其中,该请求内容的归属容器中存在该请求内容的内容名对应的转发表项,该请求内容的内容名与该请求内容的归属容器相对应。该请求内容可以有一个或多个归属容器,相应地,该请求内容的内容名可以对应一个或多个归属容器,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。
该请求内容的归属容器的接入容器也可以看成是存储该请求内容的容器,其中,该请求内容能够通过该归属容器的接入容器被间接路由到。可选地,在S110中,该容器集还可以包括该请求内容的归属容器的接入容器,或进一步包括该接入容器的接入容器,通过该归属容器的接入容器或通过该接入容器的接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到。例如,内容“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”,但本发明实施例不限于此。
在S110中,该请求内容的容器信息可以携带该容器集中每个容器的容器标识,可选地,该容器信息还可以包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。具体地,该内容请求包可以携带可解析容器的解析标识,而默认缺省该解析标识的容器不可解析。可选地,该内容请求包也可以携带所有容器的解析标识,并使用不同的解析标识表示容器可解析或不可解析,例如,解析标识“resolvable=yes”表示该容器可解析,而“resolvable=no”表示该容器不可解析,但本发明实施例不限于此。
请求内容的内容名和该请求内容的容器集之间的关系可以用树来表示。如图2(a)所示,该请求内容的内容名作为树的根节点,该请求内容的容器集中的容器作为该根节点的子孙,其中,根节点的子节点代表该请求内容的归属容器,树中任意节点代表的容器X与其子节点代表的容器Y的关系为容器Y是容器X的接入容器。例如,在图2(a)中,容器A、容器B和容器C是该请求内容的归属容器,容器A的接入容器为容器D,容器B的接入容器为容器D和容器E,值得注意的是,由于容器D同时是容器A和容器B的接入容器,因此在该树型结构中出现两个容器D。
相对应地,该请求内容的内容名和该请求内容的容器信息之间的关系也可以用上述树型结构来表示。具体地,请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
从图2(a)可以看出,树的表示方法简单明了,然而,当两个以上的容器具有相同的接入容器时,树的表示方法会出现重复的节点,如图2(a)中的容器D。当这种重复大量存在时,树的表示方法存在效率不高的问题。可选地,为了避免重复节点,请求内容的内容名和该请求内容的容器集之间的关系还可以用有向无环图表示。如图2(b)所示,请求内容的内容名作为有向无环图的入口顶点,该请求内容的容器集中的容器作为该有向无环图的其它顶点,其中,由入口顶点发出的所有有向边的终点代表该内容的归属容器,从有向无环图内除入口顶点之外的其它顶点发出的有向边的终点代表的容器是该有向边的起点代表的容器的接入容器,例如,图2(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”提供接入服务,但本发明实施例不限于此。
在S120中,本节点将该请求内容的内容名与本节点的FIB中的转发表项匹配,在S130中,当FIB中不存在与该请求内容的内容名匹配的转发表项时,本节点可以将该请求内容的容器集中的每个容器的容器标识按照一定优先策略,依次与FIB中的转发表项进行匹配。这里的匹配均指最长匹配。当FIB中存在与该请求内容的容器集中的某一容器的容器标识匹配的转发表项时,本节点可以根据该匹配的转发表项中的接口,发送该内容请求包,并停止匹配过程。可选地,本节点也可以继续执行匹配过程,直到将容器集中的所有容器的容器标识与FIB中的预设的容器标识匹配完毕,在这种情况下,可能在FIB中存在与有两个以上容器的容器标识匹配的转发表项,本节点可以分别根据该匹配的转发表项中的接口,发送该内容请求包,以增加路由到该请求内容的概率。在实际应用中,具体的匹配方法可以根据需要进行动态配置,本发明实施例不限于此。
可选地,如图3所示,在方法100中,S130,该确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,包括:
S131,根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;
S132,将该请求内容的容器信息中的容器标识以及该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
当本节点根据该容器集中容器的解析标识,确定该容器是可解析容器时,可以通过查询解析系统获得该容器的接入容器,并进一步判断该接入容器是否为可解析容器,当该接入容器仍为可解析容器时,继续查询解析系统获得该接入容器的接入容器,如此进行迭代解析过程,直到解析得到的接入容器不可解析,至此该完全解析过程结束,本节点获得了该请求内容的所有可解析容器的接入容器。然后本节点将该请求内容的容器信息中的容器标识,以及该所有可解析容器的接入容器的容器标识,按照一定优先策略依次与FIB中包括的预设的容器标识匹配。
下面将以内容请求包中用树表示内容名和容器信息之间的关系、以及该内容请求包只携带可解析容器的解析标识为例,对步骤S131和S132进行详细描述。假设本节点接收到的内容请求包的初始形式如下: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中的转发表项进行匹配,因此,可选地,该方法100还包括:
S145,将该解析获得的该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
例如,本节点可以将上述例子中解析得到的接入容器插入内容请求包的容器信息中,从而得到最终的内容请求包: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中均不存在与之匹配的转发表项时,本节点对容器集中的可解析容器进行解析。因此,可选地,如图4所示,作为另一实施例,该方法100还包括:
S150,当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;
S155,将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
其中,流程S150、S155可以循环执行。即,当FIB中均不存在与该容器集中的所有容器匹配的转发表项时,本节点根据容器信息中的解析标识,确定该容器集中的可解析容器,将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项;当该FIB中不存在与该解析获得的接入容器的容器标识匹配的转发表项且该解析获得的接入容器可解析时,对该解析获得的接入容器进行进一步解析,直到该进一步解析获得的接入容器不可解析或该FIB中存在与该进一步解析获得的接入容器的容器标识匹配的转发表项;当该FIB中存在与该解析或该进一步解析获得的接入容器的容器标识匹配的转发表项时,根据该匹配的转发表项中的端口,发送该内容请求包。具体地,本节点首先将内容请求包携带的容器集中的每个容器的容器标识依次与FIB中的转发表项进行匹配。当FIB中均不存在与该容器集中的所有容器匹配的转发表项时,本节点根据容器信息中的解析标识,确定该容器集中的可解析容器,并通过查询解析系统获得该解析容器的接入容器;然后,本节点将该接入容器与FIB中的转发表项进行匹配,当FIB中仍不存在与该接入容器匹配的转发表项时,本节点根据该接入容器的解析标识确定该接入容器是否可解析,并在该接入容器可解析时对其继续进行解析,直到在FIB中找到与该解析获得的接入容器匹配的转发表项,或该解析获得的接入容器不可解析。
可选地,作为另一实施例,该方法100还包括:
S160,将该解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
其中,本节点可以将上述每次解析获得的接入容器的容器信息均添加到该请求内容的容器信息中。
下面将以内容请求包中用有向无环图表示内容名和容器信息之间的关系、以及该内容请求包只携带可解析容器的解析标识为例,详细描述流程S150、S155和S160的循环执行过程。本节点接收到的内容请求包的初始形式为: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中存在与接入容器匹配的转发表项,因此,本实施例的转发流程与上述实施例中的先完全解析后再进行匹配的实施例相比,可以减少对容器的解析次数以及对解析系统的查询次数。
在S120中,本节点将该请求内容的内容名与FIB中的转发表项进行匹配。可选地,FIB中的转发表项可以包括内容名前缀和与该内容名前缀对应的接口,相对应地,S120包括:
S121,根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该方法100还包括:
S165,当确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,本节点还可以通过CS对该请求内容进行缓存,以便当该路由节点接收到对相同的内容的请求时,可以直接将CS中存储的该请求内容发送至该内容请求包的发送端,从而使得该内容请求过程更简单快速。因此,可选地,作为另一实施例,如图5所示,该方法100还包括:
S170,在该确定FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;
S175,当该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
S130a,当该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,本节点还可以兼容现有技术中的NDN的路由转发方法,通过在驻留信息表(Pending Information Table,简称为“PIT”)中存储该内容请求包的发送端的路由信息,并且相同的内容请求只查找一次,在返回该请求内容时通过PIT中的信息确定该请求内容的下一跳接口,这样既可避免对相同的请求内容的重复查找,又可以确定返回的请求内容的下一跳接口。因此,可选地,作为另一实施例,如图6所示,该方法100还包括:
S180,当该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;
S185,当该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项;
S130b,当该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
下面结合图7的例子详细描述本发明实施例的路由转发的方法。本节点接收到内容请求包,该内容请求包携带请求内容的内容名和容器信息,首先本节点执行步骤①,该CS中的内容表项可以包括预设的内容名和与该预设的内容名对应的内容,本节点可以将该请求内容的内容名与CS中的预设的内容名进行匹配,以确定该CS中是否存在与该请求内容的内容名匹配的内容;当CS中不存在与之匹配的内容时,本节点执行步骤②,PIT中的PIT表项可以包括内容名前缀和与该内容名前缀对应的请求接口,该请求接口表示携带以该内容名前缀为前缀的内容名的内容请求包的发送端对应的接口,本节点将该请求内容的内容名的前缀与PIT表项中的内容名前缀进行匹配,以确定该PIT中是否存在与该请求内容的内容名匹配的PIT表项;当PIT中不存在与该请求内容的内容名匹配的PIT表项时,本节点执行步骤③,该FIB的转发表项包括内容名前缀和与该内容名前缀对应的接口,或FIB的转发表项包括预设的容器标识和与该预设的容器标识对应的接口,本节点将该请求内容的内容名的前缀与转发表项中的内容名前缀进行匹配,以确定在FIB中是否存在与该请求内容的内容名匹配的转发表项;当该FIB中不存在与该请求内容的内容名匹配的转发表项时,本节点执行步骤④和⑤,对该请求内容的容器集进行完全解析,获得该请求内容的所有可解析容器和该所有可解析容器的接入容器,然后本节点执行步骤⑥,将该请求内容的容器集中的容器的容器标识和该所有可解析容器的接入容器的容器标识,按照一定的优先策略,依次查找匹配FIB中的转发表项。当存在至少一个容器标识在FIB中存在与之匹配的转发表项时,根据该匹配的转发表项中的接口转发该内容请求包,否则,本节点将该内容请求包丢弃或根据默认接口发送该内容请求包,对该内容请求包的路由转发流程至此结束。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,可选地,作为另一实施例,该方法100还包括:
S190,当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包,或将该内容请求包丢弃。
当本节点执行上述实施例的S132后执行S190,则本节点在该FIB中不存在与该请求内容的容器信息中的容器标识以及与该请求内容的所有可解析容器的接入容器的容器信息匹配的转发表项;而当本节点执行上述实施例的S155之后执行S190,则本节点在该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”匹配,因此可以根据该匹配的转发表项中的接口发送该内容请求包,而不需要对容器进行匹配,也不需要对容器进行解析,因此,在这种情况下,可以不对可解析容器进行解析,内容请求包也可以只携带请求内容的内容名而不携带该请求内容的容器信息。
此外,如图8所示,本发明实施例只对内容请求包的内容属性进行扩展,内容请求包携带请求内容的内容名和容器信息,并可以携带现有技术中的选择项和随机数;而数据包仍可以携带现有的NDN等ICN体系中的内容名,不携带任何容器的容器信息,且数据包仍然携带签名信息,例如,发布者ID、密钥定位和失效时间等。由于数据包中的签名仍然是基于数据包中完整的内容名、数据本身以及用户的私有密钥计算得到的,而内容请求包中携带的请求内容的容器信息不会出现在数据包中,也不会参与签名的计算,因此,不影响现有的NDN等ICN系统的安全性。
下面将结合图9至图11所示的具体例子对本发明实施例提供的路由转发的方法进行详细描述。
图9是根据本发明一个实施例的路由转发的方法200的示意性流程图,如图9所示,该方法200,包括:
S201、接收内容请求包。
该内容请求包可以只携带请求内容的内容名,也可以携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息对应的容器组成容器集,该容器集包括至少一个容器。该请求内容的容器信息包括该容器集中每个容器的容器标识,可选地,该容器信息还可以包括该容器集中每个容器的解析标识,或包括该容器集中的可解析容器的解析标识,本发明实施例不限于此。
S202、将该请求内容的内容名与FIB的转发表项匹配。
具体地,可以将该请求内容的内容名的前缀与FIB的转发表项中的内容名前缀进行匹配,如果在FIB中存在与该请求内容的内容名的前缀匹配的内容名前缀,则执行S207,否则执行S203。
S203、判断该内容请求包是否携带该请求内容的容器信息。
如果该内容请求包携带该请求内容的容器信息,则执行S204,否则执行S208。
S204、根据容器信息中的解析标识,确定该容器集中是否存在可解析容器。
如果该容器集中存在至少一个可解析容器,则执行S205和S206,否则直接执行S206。
S205、完全解析该容器集中的可解析容器。
对容器集中的至少一个可解析容器进行完全解析,即首先获得该至少一个可解析容器的接入容器,并将该接入容器的容器信息添加到内容请求包中;然后判断该接入容器是否可解析,如果可解析,则继续对该接入容器进行解析,以获得该接入容器的接入容器,并将该接入容器的接入容器的容器信息添加到该请求内容的容器信息中,直到解析获得的接入容器不可解析,这样就获得了该请求内容的所有可解析容器的接入容器,以及更新后的请求内容的容器信息。
S206、将该请求内容的容器信息中的容器标识与FIB中的转发表项匹配。
具体地,将容器信息对应的容器集中的每个容器的容器标识按照一定策略,依次与FIB中的预设的容器标识进行匹配。其中,当执行S204后直接执行S206时,S206中的容器信息具体为本路由节点接收到的内容请求包中携带的该请求内容的容器信息,而当执行S205后执行S206时,S206中地容器信息具体为更新后的该请求内容的容器信息如果存在至少一个容器标识在FIB中有与之匹配的转发表项,则执行S207,否则执行S208。
S207、根据该匹配的转发表项中的接口,发送该内容请求包。
对该内容请求包的路由结束转发流程至此结束。应理解,虽然这里仍将发送的内容请求包称为该内容请求包,但由于此时的内容请求包中可能添加了上述完全解析过程中获得的可解析容器的接入容器的容器信息,因此,此时的内容请求包可能与步骤201中接收到的内容请求包有所差别。
S208、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图10是根据本发明另一实施例的路由转发的方法300的示意性流程图,其中,步骤301~303与方法200中的步骤201~203的实现过程基本相同,此处不再赘述。现将后续涉及容器解析的步骤做如下详细介绍。
S304、将该容器集中每个容器的容器标识依次与FIB中的转发表项匹配。
如果存在一个以上容器的容器标识在FIB中有与之匹配的转发表项,则执行S307,否则执行S305。
S305、判断该容器集中是否存在可解析容器。
如果该容器集中存在至少一个可解析容器,则执行S306和S304,否则执行S308。
S306、对该至少一个可解析容器分别进行解析,以获得该至少一个可解析容器的接入容器。
执行S306之后执行S304,即将该至少一个可解析容器的接入容器的容器标识分别与FIB中的转发表项进行匹配,如果该至少一个可解析容器的接入容器的容器标识中存在一个或多个接入容器的容器标识在FIB中存在与之匹配的转发表项,则执行步骤S307,否则,继续执行S305和S306,如此往复循环执行流程S305、S306和S304,直到FIB中存在与该解析过程中获得的接入容器的容器标识匹配的转发表项,或该解析过程获得的接入容器不可解析。
S307、根据该匹配的转发表项中的接口,发送该内容请求包。
对该内容请求包的路由转发流程至此结束。
S308、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
对该内容请求包的路由转发流程至此结束。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。此外,与上述实施例中的方法200相比,方法300在大多数情况下都可以减少对容器的解析次数,从而可以节省开销,加快对内容请求包的转发速度。
图11是根据本发明再一实施例的路由转发的方法400的示意性流程图。如图11所示,该方法400,包括:
S401、接收到达的包。
该到达的包可以是内容请求包或数据包,其中,该内容请求包可以携带请求内容的内容名和容器信息,而数据包则只携带内容的内容名而不携带容器信息。
S402、判断接收到的包是数据包还是内容请求包。
如果该包是内容请求包,则执行S403;如果该包是数据包,则执行S414。
S403、将请求内容的内容名与CS中的内容进行匹配。
本节点将该请求内容的内容名与CS中预设的内容名进行匹配,以确定该CS中是否存在与该内容名匹配的内容。当在CS中存在与该请求内容的内容名匹配的内容时,则执行S404,本节点对该内容请求包的路由转发流程至此结束;否则执行S405。
S404、将CS中的请求内容发送至该内容请求包的发送端。
S405、将该请求内容的内容名与PIT中的PIT表项进行匹配。
本节点将该请求内容的内容名的前缀与PIT表项中的内容名前缀进行匹配,以确定PIT中是否存在与该请求内容的内容名匹配的PIT表项。如果在PIT中存在与该内容名匹配的PIT表项,说明已经存在对该请求内容的查找,则执行S408,对该内容请求包的路由转发流程至此结束,这样可以对相同的内容只查找一次,从而避免重复查找;否则执行S406。
S406,将请求内容的内容名与FIB中的转发表项匹配;
本节点将该请求内容的内容名的前缀与转发表项中的内容名前缀进行匹配,以确定在FIB中是否存在与该内容名匹配的转发表项,如果在FIB中存在与该内容名匹配的转发表项,则执行S407和S408,否则执行S409。
S407、根据该匹配的转发表项中的接口,发送该内容请求包。
S408、更新PIT。
具体地,如果在执行S407后执行S408,则更新PIT具体为将该请求内容的内容名的前缀以及该内容请求包的发送端对应的接口添加到PIT表中,成为新的PIT表项;而如果在执行S405后执行S408,则更新PIT具体为将该内容请求包的发送端对应的接口添加到与该请求内容的内容名匹配的PIT表项中
S409、判断该内容请求包是否携带该请求内容的容器信息。
如果该内容请求包携带该请求内容的容器信息,则执行S410,否则执行S413。
S410、将该容器信息中的容器标识与FIB中的转发表项进行匹配。
本节点将该容器信息对应的容器集中每个容器的容器标识与转发表项中的预设的容器标识进行匹配,以确定FIB中是否存在与该容器信息中的容器标识匹配的转发表项。如果该容器集中存在至少一个容器在FIB中有与之匹配的转发表项,则执行S407和S408,否则执行S411。
S411、判断该请求内容的容器集中是否存在可解析容器。
该容器信息还可以包括容器的解析标识,本节点根据该解析标识,判断该容器集中是否存在可解析容器。如果该容器集中存在至少一个可解析容器,则执行S412和S410,否则执行S413。
S412、分别对该至少一个可解析容器进行解析,以获得该至少一个可解析容器的接入容器;
然后执行S410,即将该至少一个可解析容器的接入容器的容器标识按照一定的优先策略依次查找匹配FIB中的转发表项。如果在FIB中也没有与该可至少一个可解析容器的接入容器的容器标识匹配的转发表项,则继续执行S411,步骤S410、S411和S412将如此循环执行,直到在FIB中查找得到与解析得到的接入容器的容器标识匹配的转发表项,或解析得到的接入容器不可解析,然后执行步骤S413。
S413、根据默认接口发送该内容请求包,或将该内容请求包丢弃。
对该内容请求包的路由转发流程至此结束。
S414、将内容的内容名与PIT表的PIT表项匹配。
如果在PIT表中存在与该内容名匹配的PIT表项,则执行S416、S417和S418,否则执行S415。
S415、将该数据包丢弃。
对该数据包的路由转发流程至此结束。
S416、根据匹配的PIT表项中的接口发送该数据包。
S417、将该数据包保存到CS表。
这样本节点可以将该数据包中的内容进行缓存,使得本节点在该内容的缓存期间接收到对该数据包的内容的请求时,本节点可以直接返回该数据包中的内容,从而避免了对该数据包中的内容的再次查找。
S418、移除该匹配的PIT表项。
其中,步骤S416、S417和S418可以以任意的顺序执行,本发明实施例对这三个步骤的执行顺序不作限定,本节点对该数据包的转发流程至此结束。
应理解,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,图9至图11的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图9至图11的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
因此,本发明实施例的路由转发的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
从上述实施例可以看到,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能解决由于内容名而造成的路由扩展问题。具体地,为了减少路由表中的路由表项,本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器,并分别对上述三种不同类型的容器采取不同的路由策略。
首先,对拓扑相关容器采用逐级嵌套分级聚合的方法,其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。具体地,形成拓扑关系的所有容器可以分成不同的级别,每个容器都处于某一特定的级别,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。应理解,这里的下级容器和上级容器是相对的,例如,容器A可以是容器B的下级容器,也可以是容器C的上级容器,但本发明实施例不限于此。
可选地,拓扑相关容器对应的容器标识可以具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。具体地,级别较低的容器的容器标识中可以包含其上级容器的容器标识,例如,市级容器深圳的容器标识“cn/gd/sz”中包含其上级容器广东的容器标识“cn/gd”,但本发明实施例不限于此。
如图12所示,整个中国网络就可以看成一个国家级的拓扑相关容器“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等服务,此外,由于这些容器数量很少,不会使核心路由表的大小发生大的增长,但本发明实施例不限于此。
综上所述,本节点的路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。以图12中的容器“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系统中路由扩展性问题的主要因素之一。本发明实施例中这类容器可以由拓扑相关容器为其提供接入服务,相应地,这类容器的路由可以限制在其接入容器的内部,无需扩散出其接入容器,从而可以大大减少核心路由表的大小。例如,如图12所示,容器“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系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
上文中结合图1至图12,详细描述了根据本发明实施例的路由转发的方法,下面将结合图13和图14,详细描述根据本发明实施例的内容请求的处理方法。
图13是根据本发明实施例的内容请求的处理方法500的示意性流程图,该方法可以由路由节点执行。如图13所示,该方法500包括:
S510,接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
S520,根据该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的内容请求的处理方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
本发明实施例中,内容请求包携带的该请求内容的容器信息中的容器标识对应的容器组成该请求内容的容器集。该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,该容器集也可以进一步包括该请求内容的归属容器的接入容器,该容器集还可以包括存储该请求内容的所有容器。其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
此外,当该容器集包括该请求内容的归属容器以及该归属容器的接入容器时,该容器集中的容器可以是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器,其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器,但本发明实施例不限于此。
该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识,可选地,该容器信息还可以包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
可选地,该请求内容的内容名和该请求内容的容器信息可以形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。可选地,该请求内容的内容名和该请求内容的容器信息还可以形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
上述两种结构的具体表示方法可参照上述实施例,这里不再赘述。此外,
可选地,如图14所示,在本发明实施例中,S520,该根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由,包括:
S521,确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
S522,当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
S523,当该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
路由节点首先将该请求内容的内容名的前缀与FIB的转发表项中的内容名前缀匹配,当FIB中不存在与该请求内容的内容名匹配的转发表项时,路由节点将该请求内容的容器集中的每个容器的容器标识依次与FIB的转发表项中的预设的容器标识匹配,当容器集中存在至少一个容器的容器标识在FIB中有与之匹配的转发表项时,路由节点根据该匹配的转发表项中的接口,发送该内容请求包。具体匹配方法可以参见上述实施例,这里不再赘述。
应理解,本发明实施例只对内容请求包的内容名进行扩展,而数据包中的内容名依然采用现有技术中NDN等ICN系统的名字,不包括任何容器。因此,本发明实施例的技术方案可以保留现有的NDN等ICN系统的安全性。
因此,本发明实施例的内容请求的处理方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图15是本发明实施例的建立路由表的方法600的示意性流程图,该方法可以由任何合适的装置执行,例如,可以由路由节点执行,也可以由独立的建立路由表的装置执行,本发明实施例对此不作限定。为了便于描述,下面将执行方法600的路由节点,或生成的路由表对应的路由节点称为本节点。如图15所示,该方法600包括:
S610,生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
因此,本发明实施例的建立路由表的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,路由可以分为全局路由和局域路由,其中,全局路由包括全局容器的路由,局域路由包括拓扑相关容器的路由和拓扑无关小容器的路由。全局路由可以在整个网络内扩散,而局域路由可以只在网络内的部分区域扩散,也就是说,在所有路由节点的路由表中都可以包括全局路由,而只有在部分路由节点的路由表中包括局域路由。具体地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
上文中结合图1至图15,从路由节点的角度详细描述了根据本发明实施例的路由转发的方法、内容请求的处理方法和构建路由表的方法,下面将结合图16至图18,从用户设备的角度描述根据本发明实施例的获取内容的方法。
图16是根据本发明实施例的获取内容的方法700的示意性流程图,该方法可以由用户设备执行。如图16所示,该方法700包括:
S710,生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
S720,将该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在S710中,本发明实施例中,内容请求包携带的该请求内容的容器信息中的容器标识对应的容器组成该请求内容的容器集。该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,该容器集也可以进一步包括该请求内容的归属容器的接入容器,该容器集还可以包括存储该请求内容的所有容器。其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
此外,当该容器集包括该请求内容的归属容器以及该归属容器的接入容器时,该容器集中的容器可以是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器,其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器,但本发明实施例不限于此。
该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识,可选地,该容器信息还可以包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
可选地,在本发明实施例中,如图17所示,在步骤S710之前,该方法700还包括:
S730,获取该请求内容的容器信息;
相应地,S710,生成内容请求包,包括:
S710a,根据该获取得到的该请求内容的容器信息,生成内容请求包。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,上述获取得到的该请求内容的容器信息中的容器标识可以对应可解析容器,用户设备可以查询解析系统对该可解析容器进行解析,以获得该可解析容器的接入容器,并将该可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。因此,可选地,作为另一实施例,如图17所示,该方法700还包括:
S740,根据该请求内容的容器信息,确定该请求内容的容器信息对应的容器的接入容器,并将该接入容器的容器信息添加到该请求内容的容器信息中;
相应地,S710,生成内容请求包,包括:
S710b,根据该添加了该接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
可选地,用户设备还可以继续判断上述解析得到的接入容器是否可解析,并在该接入容器可解析时继续对其进行解析,以获得该接入容器的接入容器,如此循环往复,直到解析得到的接入容器不可解析,至此完成对该容器信息中的容器标识对应的容器的完全解析。因此,可选地,作为另一实施例,如图18所示,方法700还包括:
S750,根据该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器,并将该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;
相应地,S710,生成内容请求包,包括:
S710c,根据该添加了该所有可解析容器的接入容器的容器信息的该请求内容的容器信息,生成内容请求包。
因此,本发明实施例的获取内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。此外,由于用户设备将可解析容器的接入容器添加到内容请求包中,从而可以减少路由节点在转发该内容请求包时对容器的解析次数或将解析次数减少为零,加快对该内容请求包的转发进度。
上文中结合图16至图18,从用户设备的角度详细描述了根据本发明实施例的获取内容的方法,下面将结合图19至图20,从内容发布商的角度描述根据本发明实施例的发布内容的方法。
图19是根据本发明实施例的发布内容的方法800的示意性流程图,该方法可以由任何合适的装置执行,例如,可以由内容发布商执行,也可以由独立的发布内容的装置执行,本发明实施例不限于此。下面以内容发布商执行为例进行描述,如图19所示,该方法800包括:
S810,确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;
S820,发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该容器集中每个容器的容器信息,以便用户设备根据该内容的信息生成内容请求包并发送到网络设备以及由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在S810中,该容器集中的容器是用于存储一组内容的存储空间。
该容器集可以只包括一个容器,也可以包括两个以上容器。具体地,该容器集可以只包括该请求内容的归属容器,其中,该请求内容可以有一个或多个归属容器,相对应地,该请求内容的内容名可以对应一个或多个归属容器,通过该归属容器中包括的一个或多个路由节点,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该归属容器也可以有一个或多个接入容器,通过该接入容器中包括的一个或多个路由节点,该请求内容能够通过该接入容器被路由到,具体地,通过该归属容器的接入容器的一个或多个路由节点,可以将该内容请求包路由到该归属容器,由于该归属容器中存在该请求内容的内容名对应的转发表项,因此通过该归属容器中的一个或多个路由节点,该请求内容能够在该归属容器中被直接路由到,但本发明实施例不限于此。
可选地,当该归属容器的一个或多个接入容器可以保持长时间不变时,该容器集也可以进一步包括该请求内容的归属容器的接入容器,可选地,该容器集还可以包括存储该请求内容的所有容器。该请求内容的容器信息包括该容器集中每个容器的容器信息,其中,该容器信息可以包括容器的容器标识。
然而,当该容器集中的至少一个容器的接入容器经常发生变化时,内容发布商可以在容器集中不包括该至少一个容器的接入容器,以保证该容器集的持久性。并且,内容发布商还可以将该至少一个容器与其接入容器的对应关系注册到解析系统,以使得将该至少一个容器设置为可解析容器,该至少一个容器可以将其接入容器的变化实时通知解析系统,并由用户设备和路由节点查询解析系统获得该至少一个容器的接入容器。这样既可以保证内容的容器集的持久性,又可以保持内容路由的灵活性。因此,可选地,如图20所示,该方法800还包括:
S830,将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
此时,可选地,该容器信息还可以进一步包括解析标识,解析标识用于标识容器是否可解析,但本发明实施例不限于此。
因此,本发明实施例的发布内容的方法,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
应理解,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图20,详细描述了根据本发明实施例的路由转发的方法、内容请求的处理方法、建立路由表的方法、获取内容的方法以及发布内容的方法,下面将结合图21至图40,详细描述根据本发明实施例的路由器、建立路由表的装置、用户设备以及发布内容的装置。
图21是根据本发明实施例的路由器900的示意性框图,包括:
接收模块910,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
第一确定模块920,用于确定转发信息表FIB中是否存在与该接收模块910接收的该内容请求包携带的该请求内容的内容名匹配的转发表项;
第二确定模块930,用于当该第一确定模块920确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
发送模块940,用于当该第二确定模块930确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在本发明实施例中,接收模块910接收的内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。该一组内容包括一个或多个内容。该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。该容器对应一个或多个内容名,该请求内容的内容名对应一个或多个归属容器,该请求内容能够在该请求内容的内容名对应的归属容器中被路由到。该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
在本发明实施例中,容器的容器信息包括容器的容器标识,可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;如图22所示,第二确定模块930包括:
第一解析单元931,用于根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;
第一确定单元932,具体用于将该请求内容的容器信息中的容器标识以及该第一解析单元931解析获得的该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
可选地,该路由器还包括:
第一添加模块945,用于将该第一解析单元931解析获得的该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,作为另一实施例,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;如图23所示,该路由器900还包括:
第一解析模块950,用于当该第二确定模块940确定该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识;
该第二确定模块940还用于将该第一解析模块950解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,如图23所示,该路由器900还包括:
第二添加模块955,用于将该第一解析模块950解析获得的接入容器的容器信息添加到该请求内容的容器信息中。
可选地,作为另一实施例,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口,相对应地,该第一确定模块920具体用于根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该发送模块940还用于当该第一确定模块920确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,作为另一实施例,如图24所示,该路由器900还包括:
第三确定模块960,用于在该第一确定模块920确定FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与该请求内容的内容名匹配的内容;
该发送模块940还用于当该第三确定模块960确定该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
该第一确定模块920还用于当该第三确定模块960确定该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,如图25所示,该路由器900还包括:
第四确定模块965,用于当该第三确定模块960确定该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项;
更新模块970,用于当该第四确定模块965确定该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项;
该第一确定模块920还用于当该第四确定模块965确定该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该发送模块940还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包;或
该路由器900还包括:
丢弃模块975,用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,将该内容请求包丢弃。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
可选地,在本发明实施例中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;
其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
可选地,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;相对应地,该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
可选地,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将拓扑无关小容器的路由限制在为其提供接入服务的拓扑相关容器内,且将拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的路由器900可对应于根据本发明实施例的路由转发的方法中的装置,并且路由器900中的各个模块的上述和其它操作和/或功能分别为了实现图1至图12中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图26是根据本发明另一实施例的路由器1000的示意性框图,如图26所示,该路由器1000包括:
接收模块1010,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
确定模块1020,用于根据该接收模块1010接收的该内容请求包携带的该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
在本发明实施例中,该内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。容器的容器信息包括容器的容器标识,可选地,容器的容器信息还可以进一步包括容器的解析标识,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。可选地,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器,该归属容器中存在该请求内容的内容名对应的转发表项。
可选地,该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器。具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
可选地,在本发明实施例中,如图27所示,该确定模块1020包括:
第一确定单元1021,用于确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项;
第二确定单元1022,用于当该第一确定单元1021确定该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
发送单元1023,用于当该第二确定单元1022确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
可选地,作为另一实施例,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
相对应地,在内容请求包中,可以将该树型结构或有向无环图结构表示成文本格式,本发明实施例不限于此。
根据本发明实施例的路由器1000可对应于根据本发明实施例的内容请求的处理方法中的路由器,并且路由器1000中的各个模块的上述和其它操作和/或功能分别为了实现图13和图14中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图28是根据本发明实施例的建立路由表的装置1100的示意性框图。该装置可能是路由器,也可以是网络中独立的装置,本发明实施例不限于此。如图28所示,该装置1100包括:
生成模块1110,用于生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器;
存储模块1120,用于存储该生成模块1110生成的路由表。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的建立路由表的装置1100可对应于根据本发明实施例的建立路由表的方法中的装置,并且建立路由表的装置1100中的各个模块的上述和其它操作和/或功能分别为了实现图14和图15中的各个方法的相应流程,为避免重复,在此不再赘述。
图29是根据本发明实施例的用户设备1200的示意性框图,包括:
生成模块1210,用于生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
发送模块1220,用于将该生成模块1210生成的该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
可选地,作为另一实施例,如图30所示,用户设备1200还包括:
获取模块1230,用于在该生成模块生成内容请求包之前,获取该请求内容的容器信息;
该生成模块1210具体用于根据该获取模块1230获取的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,如图31所示,用户设备1200还包括:
第一确定模块1240,用于根据该获取模块1230获取的该请求内容的容器信息,确定该容器的接入容器;
第一更新模块1250,用于将该第一确定模块1240确定的该接入容器的容器信息添加到该请求内容的容器信息中;
该生成模块1210具体用于根据该第一更新模块1250更新后的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,如图32所示,用户设备1200还包括:
第二确定模块1260,用于根据该获取模块1230获取的该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器;
第二更新模块1270,用于将该第二确定模块1260确定的该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中;
生成模块1210具体用于根据该第二更新模块1270更新后的该请求内容的容器信息,生成内容请求包。
根据本发明实施例的用户设备1200可对应于根据本发明实施例的获取内容的方法中的装置,并且用户设备1200中的各个模块的上述和其它操作和/或功能分别为了实现图16至图18中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图33是根据本发明实施例的发布内容的装置1300的示意性框图。如图33所示,该装置1300包括:
确定模块1310,用于确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器;
发布模块1320,用于发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该确定模块1310确定的该容器集中每个容器的容器信息,以便用户根据该内容的信息生成内容请求包并发送到网络设备并由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该容器信息包括容器标识。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,作为另一实施例,如图34所示,该装置1300还包括:
注册模块1330,用于将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
可选地,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
根据本发明实施例的发布内容的装置1300可对应于根据本发明实施例的获取内容的方法中的装置,并且发布内容的装置1300中的各个模块的上述和其它操作和/或功能分别为了实现图19至图20中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图35是根据本发明实施例的路由器1400的示意性框图。如图35所示,该路由器1400包括:接收器1410,存储器1420,处理器1430,例如CPU,和发送器1440。其中,该存储器1420用于存储对转发引擎的指令,该转发引擎可以包括转发信息表FIB,也可以包括CS和FIB,也可以包括CS、PIT和FIB。该处理器1430用于执行该存储器1420存储的对转发引擎的指令。
该接收器1410,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
该处理器1430,用于确定转发信息表FIB中是否存在与该接收模块1410接收的该内容请求包携带的该请求内容的内容名匹配的转发表项,以及当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识以及与该预设的容器标识对应的接口;
该发送器1440,用于当该处理器1430确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,在本发明实施例中,该接收模块1410接收的内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器,具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
在本发明实施例中,容器的容器信息包括容器的容器标识,可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析;相对应地,该处理器1430具体用于根据该解析标识,解析获得该请求内容的所有可解析容器的接入容器的容器标识;以及将解析获得的该请求内容的容器信息中的容器标识以及该请求内容的所有可解析容器的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该请求内容的容器信息中的容器标识以及该接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,该处理器1430还用于将该请求内容的所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中。
可选地,作为另一实施例,该处理器1430还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该解析标识,解析获得该容器的接入容器的容器标识,并将该解析获得的接入容器的容器标识与该FIB中的预设的容器标识进行匹配,以确定该FIB中是否存在与该解析获得的接入容器的容器标识匹配的转发表项。
可选地,作为另一实施例,该FIB中的转发表项包括内容名前缀和该内容名前缀对应的接口;该处理器1430还用于根据该请求内容的内容名的前缀与该FIB中的转发表项中的内容名前缀是否匹配,确定该FIB中是否存在与该请求内容的内容名匹配的转发表项;
该发送器1440还用于当该处理器1430确定该FIB中存在与该请求内容的内容名匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,作为另一实施例,该转发引擎还可以进一步包括内容存储表CS,该处理器1430还用于在该FIB中是否存在与该请求内容的内容名匹配的转发表项之前,确定CS中是否存在与该请求内容的内容名匹配的内容;
该发送器1440还用于当该处理器1430确定该CS中存在与该请求内容的内容名匹配的内容时,将该匹配的内容发送至该内容请求包的发送端;
该该处理器1430还用于当该CS中不存在与该请求内容的内容名匹配的内容时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该转发引擎也可以进一步包括CS表和PIT表,该处理器1430具体用于当该CS中不存在与该请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与该请求内容的内容名匹配的PIT表项,并且,当该PIT中存在与该请求内容的内容名匹配的PIT表项时,将该内容请求包的发送端对应的接口添加到该匹配的PIT表项,以及该PIT中不存在与该请求内容的内容名匹配的PIT表项时,执行该确定FIB中是否存在与该请求内容的内容名匹配的转发表项的步骤。
可选地,作为另一实施例,该发送器1440还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送该内容请求包;或
该处理器1430还用于当该FIB中不存在与该请求内容的容器信息中的容器标识匹配的转发表项时,将该内容请求包丢弃。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该FIB包括全局容器转发表项,该全局容器转发表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
可选地,该FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器;
其中,该拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
可选地,该拓扑相关容器转发表项包括相对于该本节点的归属容器为下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;相对应地,该通过该拓扑相关容器转发表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器转发表项中的该下级容器的容器标识以及与该下级容器的容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间形成的该拓扑关系。
可选地,该FIB还包括拓扑无关小容器转发表项,该拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
根据本发明实施例的路由器1400可对应于根据本发明实施例的路由转发的方法中的装置,并且路由器1400中的各个模块的上述和其它操作和/或功能分别为了实现图1至图12中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将拓扑无关小容器的路由限制在为其提供接入服务的拓扑相关容器内,且将拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
图36是根据本发明另一实施例的路由器1500的示意性框图,如图36所示,该路由器1500包括:接收器1510,存储器1520和处理器1530,例如CPU。其中,该存储器1520用于存储对转发引擎的指令,该转发引擎可以包括FIB,也可以包括FIB和CS,也可以包括FIB、CS和PIT。该处理器1530用于执行该存储器1520存储的指令。具体地,
该接收器1510,用于接收内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到;
该处理器1530,用于根据该接收器1510接收的该内容请求包携带的该请求内容的内容名和该请求内容的容器信息,确定该内容请求包的转发路由。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,该内容请求包可以只携带一个容器的容器信息,也可以携带两个以上容器的容器信息,本发明实施例不限于此。容器的容器信息包括容器的容器标识,可选地,容器的容器信息还可以进一步包括容器的解析标识,本发明实施例不限于此。
该容器是用于存储一组内容的存储空间。可选地,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器是一个或多个第一其它容器的接入容器;和/或一个或多个第二其它容器为该容器的接入容器;其中,该接入容器为在拓扑关系上包括另一容器,且存在将该内容请求包路由到该另一容器的转发表项的容器,具体地,当第二容器包括第一容器且该第二容器中存在将该内容请求包路由到该第一容器的转发表项时,该第二容器是该第一容器的接入容器。
可选地,在本发明实施例中,该处理器1530具体用于确定转发信息表FIB中是否存在与该请求内容的内容名匹配的转发表项,以及当该FIB中不存在与该请求内容的内容名匹配的转发表项时,确定该FIB中是否存在与该请求内容的容器信息中的容器标识匹配的转发表项,该FIB中的转发表项包括预设的容器标识和与该预设的容器标识对应的接口;
相对应地,如图37所示,该路由器1500还包括:
发送器1540,用于当该处理器1530确定该FIB中存在与该请求内容的容器信息中的容器标识匹配的转发表项时,根据该匹配的转发表项中的接口,发送该内容请求包。
可选地,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为根节点的树,该根节点的子节点代表该请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为该第一节点的父节点代表的容器信息对应的容器的接入容器,该第一节点是该树中除根节点和该根节点的子节点外的其它节点。
可选地,作为另一实施例,该请求内容的内容名和该请求内容的容器信息形成以该请求内容的内容名为入口顶点的有向无环图,从该入口顶点发起的有向边的终点代表该请求内容的归属容器的容器信息,该有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,该第一顶点是该有向无环图中除入口顶点外的其它顶点,该第二顶点是从该第一顶点发起的有向边的终点。
相对应地,在内容请求包中,可以将该树型结构或有向无环图结构表示成文本格式,本发明实施例不限于此。
根据本发明实施例的路由器1500可对应于根据本发明实施例的内容请求的处理方法中的路由器,并且路由器1500中的各个模块的上述和其它操作和/或功能分别为了实现图13和图14中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的路由器,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图38是根据本发明实施例的建立路由表的装置1600的示意性框图,如图38所示,该建立路由表的装置1600包括:处理器1610,例如CPU,和存储器1620。具体地,
该处理器1610,用于生成本节点的路由表,以根据该路由表生成转发信息表FIB,该路由表包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识以及与该全局容器的容器标识对应的第一接口,该第一接口是由该本节点连接到达该全局容器的下一跳路由节点的接口,该全局容器是可全局路由的容器,该全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器;
该存储器1620,用于存储该处理器1610生成的路由表。
由于FIB是路由表的子集,因此可以根据本发明实施例生成的路由表,生成本节点的FIB。该FIB可以是根据本发明实施例的路由转发的方法和内容请求的处理方法中的FIB,其具体用于当本节点接收到内容请求包时,将该内容请求包携带的请求内容的内容名和容器信息中的容器标识与该FIB中的转发表项进行匹配,以确定该内容请求包的转发路由。
本发明实施例将所有容器分为三种类型:拓扑相关容器、拓扑无关大容器和拓扑无关小容器。其中,拓扑相关容器是与其它容器形成拓扑关系的容器,该拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。其中,当两个容器的级别相差一级时,级别较低的容器称为级别较高的容器的下级容器,而级别较高的容器称为该级别较低的容器的上级容器,该级别较低的容器可以由其上级容器为其提供接入服务,即该级别较高的容器是其下级容器的接入容器。
全局容器是可全局路由的容器,包括在拓扑关系中级别最高的拓扑相关容器和拓扑无关大容器。而在拓扑关系中除拓扑相关的全局容器之外的其它拓扑相关容器由其上级容器为其提供接入容器,拓扑无关小容器可以由拓扑相关容器为其提供接入服务。相对应地,全局容器的路由可以存在于任意路由节点的路由表中,而在拓扑关系中除作为全局容器之外的其它拓扑相关容器和拓扑无关小容器的路由只存在于其接入容器包括的路由节点的路由表中,从而不扩散出其接入容器。
本节点的路由表可以包括全局容器路由表项,该全局容器路由表项包括全局容器的容器标识和与该全局容器的容器标识对应的第一接口,该第一接口为由本节点连接到达该全局容器的下一跳路由节点的接口。
可选地,本节点的路由表还可以包括局域路由,即还可以包括拓扑相关容器路由表项和拓扑无关小容器路由表项。具体地,该路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器路由表项包括相对于该本节点的归属容器为下级容器的下级容器标识以及与该下级容器标识对应的第二接口,该第二接口为由该本节点连接到达该下级容器的接口;
该通过该拓扑相关容器路由表项,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器,包括:
通过该拓扑相关容器路由表项中的下级容器标识以及与该下级容器标识对应的第二接口,使得该本节点归属的容器的下级容器的路由作为该本节点的内部路由不扩散出该本节点归属的容器。
可选地,该拓扑相关容器对应的容器标识具有能够反映该拓扑相关容器的级别的性质,从而表示该拓扑相关容器与其它容器之间的该拓扑关系。
可选地,该路由表还包括拓扑无关小容器路由表项,该拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与该拓扑无关小容器的容器标识对应的第三接口,该第三接口为由该本节点连接到达该拓扑无关小容器的下一跳路由节点的接口。
可选地,根据实际应用或部署策略需求,有些拓扑无关大容器也可以由拓扑相关容器为其提供接入服务,此时,这些拓扑无关大容器作为其接入容器的内部路由无需扩散出其接入容器,但本发明实施例不限于此。
因此,在本发明实施例中,核心路由表的路由表项数目基本上等于“拓扑相关的全局容器的路由数目”加“拓扑无关的全局容器的路由数目”。由于这两种路由的数量都比较少,使得总的路由表的大小甚至可以小于今天因特网路由器中核心路由表的表项数目。因此,本发明实施例通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容属性,并将小访问量拓扑无关容器的路由限制在为其提供接入服务的拓扑相关容器内,且拓扑相关容器的下级容器的路由限制在该拓扑相关容器内,从而使得核心路由表的表项数目大大减少,有效解决NDN等现有ICN系统中的路由扩展性问题。
根据本发明实施例的建立路由表的装置1600可对应于根据本发明实施例的建立路由表的方法中的装置,并且建立路由表的装置1600中的各个模块的上述和其它操作和/或功能分别为了实现图14和图15中的各个方法的相应流程,为避免重复,在此不再赘述。
图39是根据本发明实施例的用户设备1700的示意性框图。如图39所示,该用户设备1700包括:处理器1710,例如CPU,发送器1720。
该处理器1710,用于生成内容请求包,该内容请求包携带请求内容的内容名和该请求内容的容器信息,该请求内容的容器信息包括用于标识存储该请求内容的容器的容器标识;
该发送器1720,用于将该处理器1710生成的该内容请求包发送至网络设备,以便该网络设备根据该请求内容的内容名和该请求内容的容器信息确定该内容请求包的转发路由。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该请求内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该容器信息还包括与该容器标识对应的解析标识,该解析标识用于标识与该容器标识对应的容器是否可解析。
可选地,作为另一实施例,该处理器1710还用于:获取该请求内容的容器信息,以及根据该获取得到的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器1710还用于在生成内容请求包之前,获取该请求内容的容器信息,并根据获取的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器1710还用于根据获取的该请求内容的容器信息,确定该容器的接入容器,并将该接入容器的容器信息添加到该请求内容的容器信息中,以及根据该更新后的该请求内容的容器信息,生成内容请求包。
可选地,作为另一实施例,该处理器1710还用于根据该获取的该请求内容的容器信息,确定该请求内容的所有可解析容器的接入容器,并将该所有可解析容器的接入容器的容器信息添加到该请求内容的容器信息中,以及根据更新后的该请求内容的容器信息,生成内容请求包。
根据本发明实施例的用户设备1700可对应于根据本发明实施例的获取内容的方法中的装置,并且用户设备1700中的各个模块的上述和其它操作和/或功能分别为了实现图16至图18中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的用户设备,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
图40是根据本发明实施例的发布内容的装置1800的示意性框图,如图40所示,该装置1800包括:存储器1810,和处理器1820,例如,CPU。其中,该存储器1810用于存储指令,该处理器1820用于执行该存储器1810存储的指令。具体地,
该处理器1820,用于确定内容的容器集以及该容器集中每个容器的容器信息,该容器集包括至少一个存储该内容的容器,以及发布该内容和该内容的信息,该内容的信息包括该内容的内容名和该容器集中每个容器的容器信息,以便用户根据该内容的信息生成内容请求包并发送到网络设备并由路由节点根据该内容请求包携带的该内容的信息确定该内容请求包的转发路由。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
可选地,在本发明实施例中,该容器信息包括容器标识。
可选地,该容器包括至少一个路由节点,通过该至少一个路由节点中的一个或多个路由节点,该请求内容能够在该容器内被路由到,或该请求内容能够通过该容器被路由到。
可选地,该内容的内容名对应一个或多个归属容器,该请求内容的归属容器是能够直接路由到该请求内容的容器。
可选地,作为另一实施例,该处理器1820还用于用于将该容器集中的至少一个容器和该至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询该解析系统获得该至少一个容器的接入容器。
可选地,该容器信息包括:容器标识和解析标识,该解析标识用于标识容器是否可解析。
根据本发明实施例的发布内容的装置1800可对应于根据本发明实施例的获取内容的方法中的装置,并且发布内容的装置1800中的各个模块的上述和其它操作和/或功能分别为了实现图19至图20中的各个方法的相应流程,为避免重复,在此不再赘述。
因此,本发明实施例的发布内容的装置,通过在内容名的基础上增加内容的容器信息以扩展ICN系统中的内容的属性,能够减少路由转发对内容名的依赖,从而可能减少路由表中的路由表项,为解决由内容名引起的路由扩展性和移动性等问题提供可能性。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称为“ROM”)、随机存取存储器(Random Access Memory,简称为“RAM”)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (84)

1.一种路由转发的方法,其特征在于,包括:
接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
确定转发信息表FIB中是否存在与所述请求内容的内容名匹配的转发表项;
当所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;
当所述FIB中存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
2.根据权利要求1所述的方法,其特征在于,所述容器是用于存储一组内容的存储空间。
3.根据权利要求1或2所述的方法,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
4.根据权利要求1或2所述的方法,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
5.根据权利要求1或2所述的方法,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述内容请求包路由到所述另一容器的转发表项的容器。
6.根据权利要求1或2所述的方法,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
所述确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,包括:
根据所述解析标识,解析获得所述请求内容的所有可解析容器的接入容器的容器标识;
将所述请求内容的容器信息中的容器标识以及所述请求内容的所有可解析容器的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
8.根据权利要求1或2所述的方法,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
所述方法还包括:
当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,解析获得所述容器的接入容器的容器标识;
将所述解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将所述解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
10.根据权利要求1或2所述的方法,其特征在于,所述FIB中的转发表项包括内容名前缀和所述内容名前缀对应的接口;
所述确定转发信息表FIB中是否存在与所述请求内容的内容名匹配的转发表项,包括:
根据所述请求内容的内容名的前缀与所述FIB中的转发表项中的内容名前缀是否匹配,确定所述FIB中是否存在与所述请求内容的内容名匹配的转发表项;
所述方法还包括:
当所述FIB中存在与所述请求内容的内容名匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
11.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述确定FIB中是否存在与所述请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与所述请求内容的内容名匹配的内容;
当所述CS中存在与所述请求内容的内容名匹配的内容时,将所述匹配的内容发送至所述内容请求包的发送端;
当所述CS中不存在与所述请求内容的内容名匹配的内容时,执行所述确定FIB中是否存在与所述请求内容的内容名匹配的转发表项的步骤。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
当所述CS中不存在与所述请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;
当所述PIT中存在与所述请求内容的内容名匹配的PIT表项时,将所述内容请求包的发送端对应的接口添加到所述匹配的PIT表项;
当所述PIT中不存在与所述请求内容的内容名匹配的PIT表项时,执行所述确定FIB中是否存在与所述请求内容的内容名匹配的转发表项的步骤。
13.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送所述内容请求包,或将所述内容请求包丢弃。
14.根据权利要求1或2所述的方法,其特征在于,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
15.根据权利要求14所述的方法,其特征在于,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
16.根据权利要求15所述的方法,其特征在于,所述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
17.根据权利要求15或16所述的方法,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
18.根据权利要求14所述的方法,其特征在于,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
19.一种内容请求的处理方法,其特征在于,包括:
接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到;
根据所述请求内容的内容名和所述请求内容的容器信息,确定所述内容请求包的转发路由。
20.根据权利要求19所述的处理方法,其特征在于,所述容器是用于存储一组内容的存储空间。
21.根据权利要求19或20所述的处理方法,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
22.根据权利要求19或20所述的处理方法,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述内容请求包路由到所述另一容器的转发表项的容器。
23.根据权利要求19或20所述的处理方法,其特征在于,所述根据所述请求内容的内容名和所述请求内容的容器信息确定所述内容请求包的转发路由,包括:
确定转发信息表FIB中是否存在与所述请求内容的内容名匹配的转发表项;
当所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识和与所述预设的容器标识对应的接口;
当所述FIB中存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
24.根据权利要求19或20所述的处理方法,其特征在于,所述请求内容的内容名和所述请求内容的容器信息形成以所述请求内容的内容名为根节点的树,所述根节点的子节点代表所述请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为所述第一节点的父节点代表的容器信息对应的容器的接入容器,所述第一节点是所述树中除根节点和所述根节点的子节点外的其它节点。
25.根据权利要求19或20所述的处理方法,其特征在于,所述请求内容的内容名和所述请求内容的容器信息形成以所述请求内容的内容名为入口顶点的有向无环图,从所述入口顶点发起的有向边的终点代表所述请求内容的归属容器的容器信息,所述有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,所述第一顶点是所述有向无环图中除入口顶点外的其它顶点,所述第二顶点是从所述第一顶点发起的有向边的终点。
26.一种建立路由表的方法,其特征在于,包括:
生成本节点的路由表,以根据所述路由表生成转发信息表FIB,所述路由表包括全局容器路由表项,所述全局容器路由表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由所述本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器,所述FIB用于当所述本节点收到内容请求包时,将所述内容请求包携带的请求内容的内容名和所述请求内容的容器信息与所述FIB中的转发表项进行匹配,以确定所述内容请求包的转发路由,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
27.根据权利要求26所述的方法,其特征在于,所述路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过所述拓扑相关容器路由表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
28.根据权利要求27所述的方法,其特征在于,所述拓扑相关容器路由表项包括相对于所述本节点的归属容器为下级容器的下级容器标识以及与所述下级容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器路由表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器路由表项中的下级容器标识以及与所述下级容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
29.根据权利要求27或28所述的方法,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间的所述拓扑关系。
30.根据权利要求26至28中任一项所述的方法,其特征在于,所述路由表还包括拓扑无关小容器路由表项,所述拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由所述本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
31.一种获取内容的方法,其特征在于,包括:
生成内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
将所述内容请求包发送至网络设备,以便所述网络设备根据所述请求内容的内容名和所述请求内容的容器信息确定所述内容请求包的转发路由。
32.根据权利要求31所述的方法,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
33.根据权利要求31所述的方法,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
34.根据权利要求31至33中任一项所述的方法,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析。
35.根据权利要求31至33中任一项所述的方法,其特征在于,在所述生成内容请求包之前,所述方法还包括:
获取所述请求内容的容器信息;
所述生成内容请求包,包括:
根据所述获取得到的所述请求内容的容器信息,生成内容请求包。
36.根据权利要求35所述的方法,其特征在于,所述方法还包括:
根据所述请求内容的容器信息,确定所述请求内容的容器信息对应的容器的接入容器,并将所述接入容器的容器信息添加到所述请求内容的容器信息中;
所述生成内容请求包,包括:
根据所述添加了所述接入容器的容器信息的所述请求内容的容器信息,生成内容请求包。
37.根据权利要求35所述的方法,其特征在于,所述方法还包括:
根据所述请求内容的容器信息,确定所述请求内容的所有可解析容器的接入容器,并将所述所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中;
所述生成内容请求包,包括:
根据所述添加了所述所有可解析容器的接入容器的容器信息的所述请求内容的容器信息,生成内容请求包。
38.一种发布内容的方法,其特征在于,包括:
确定内容的容器集以及所述容器集中每个容器的容器信息,所述容器集包括至少一个存储所述内容的容器;
发布所述内容和所述内容的信息,所述内容的信息包括所述内容的内容名和所述容器集中每个容器的容器信息,以便用户设备根据所述内容的信息生成内容请求包并发送到网络设备以及由路由节点根据所述内容请求包携带的所述内容的信息确定所述内容请求包的转发路由。
39.根据权利要求38所述的方法,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
40.根据权利要求38所述的方法,其特征在于,所述内容的内容名对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
41.根据权利要求38至40中任一项所述的方法,其特征在于,所述方法还包括:
将所述容器集中的至少一个容器和所述至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询所述解析系统获得所述至少一个容器的接入容器。
42.根据权利要求41所述的方法,其特征在于,所述容器信息包括:容器标识和解析标识,所述解析标识用于标识容器是否可解析。
43.一种路由器,其特征在于,包括:
接收模块,用于接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
第一确定模块,用于确定转发信息表FIB中是否存在与所述接收模块接收的所述内容请求包携带的所述请求内容的内容名匹配的转发表项;
第二确定模块,用于当所述第一确定模块确定所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识以及与所述预设的容器标识对应的接口;
发送模块,用于当所述第二确定模块确定所述FIB中存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
44.根据权利要求43所述的路由器,其特征在于,所述容器是用于存储一组内容的存储空间。
45.根据权利要求43或44所述的路由器,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
46.根据权利要求43或44所述的路由器,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
47.根据权利要求43或44所述的路由器,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述内容请求包路由到所述另一容器的转发表项的容器。
48.根据权利要求43或44所述的路由器,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
该第二确定模块包括:
第一解析单元,用于根据所述解析标识,解析获得所述请求内容的所有可解析容器的接入容器的容器标识;
第一确定单元,具体用于将所述请求内容的容器信息中的容器标识以及所述第一解析单元解析获得的所述请求内容的所有可解析容器的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识以及所述接入容器的容器标识匹配的转发表项。
49.根据权利要求48所述的路由器,其特征在于,所述路由器还包括:
第一添加模块,用于将所述第一解析单元解析获得的所述请求内容的所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中。
50.根据权利要求43或44所述的路由器,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析;
所述路由器还包括:
第一解析模块,用于当所述第二确定模块确定所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述解析标识,解析获得所述容器的接入容器的容器标识;
所述第二确定模块还用于将所述第一解析模块解析获得的接入容器的容器标识与所述FIB中的预设的容器标识进行匹配,以确定所述FIB中是否存在与所述解析获得的接入容器的容器标识匹配的转发表项。
51.根据权利要求50所述的路由器,其特征在于,所述路由器还包括:
第二添加模块,用于将所述第一解析模块解析获得的接入容器的容器信息添加到所述请求内容的容器信息中。
52.根据权利要求43或44所述的路由器,其特征在于,所述FIB中的转发表项包括内容名前缀和所述内容名前缀对应的接口;
所述第一确定模块具体用于根据所述请求内容的内容名的前缀与所述FIB中的转发表项中的内容名前缀是否匹配,确定所述FIB中是否存在与所述请求内容的内容名匹配的转发表项;
所述发送模块还用于当所述第一确定模块确定所述FIB中存在与所述请求内容的内容名匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
53.根据权利要求43或44所述的路由器,其特征在于,所述路由器还包括:
第三确定模块,用于在所述第一确定模块确定FIB中是否存在与所述请求内容的内容名匹配的转发表项之前,确定内容存储表CS中是否存在与所述请求内容的内容名匹配的内容;
所述发送模块还用于当所述第三确定模块确定所述CS中存在与所述请求内容的内容名匹配的内容时,将所述匹配的内容发送至所述内容请求包的发送端;
所述第一确定模块还用于当所述第三确定模块确定所述CS中不存在与所述请求内容的内容名匹配的内容时,执行所述确定FIB中是否存在与所述请求内容的内容名匹配的转发表项的步骤。
54.根据权利要求53所述的路由器,其特征在于,所述路由器还包括:
第四确定模块,用于当所述第三确定模块确定所述CS中不存在与所述请求内容的内容名匹配的内容时,确定驻留信息表PIT中是否存在与所述请求内容的内容名匹配的PIT表项;
更新模块,用于当所述第四确定模块确定所述PIT中存在与所述请求内容的内容名匹配的PIT表项时,将所述内容请求包的发送端对应的接口添加到所述匹配的PIT表项;
所述第一确定模块还用于当所述第四确定模块确定所述PIT中不存在与所述请求内容的内容名匹配的PIT表项时,执行所述确定FIB中是否存在与所述请求内容的内容名匹配的转发表项的步骤。
55.根据权利要求43或44所述的路由器,其特征在于,所述发送模块还用于当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据默认接口发送所述内容请求包;或
所述路由器还包括丢弃模块,用于当所述FIB中不存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,将所述内容请求包丢弃。
56.根据权利要求43或44所述的路由器,其特征在于,所述FIB包括全局容器转发表项,所述全局容器转发表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器。
57.根据权利要求56所述的路由器,其特征在于,所述FIB还包括用于基于拓扑相关容器进行路由的拓扑相关容器转发表项,通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
58.根据权利要求57所述的路由器,其特征在于,所述拓扑相关容器转发表项包括相对于所述本节点的归属容器为下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器转发表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器转发表项中的所述下级容器的容器标识以及与所述下级容器的容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
59.根据权利要求57或58所述的路由器,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间形成的所述拓扑关系。
60.根据权利要求56所述的路由器,其特征在于,所述FIB还包括拓扑无关小容器转发表项,所述拓扑无关小容器转发表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
61.一种路由器,其特征在于,包括:
接收模块,用于接收内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到;
确定模块,用于根据所述接收模块接收的所述内容请求包携带的所述请求内容的内容名和所述请求内容的容器信息,确定所述内容请求包的转发路由。
62.根据权利要求61所述的路由器,其特征在于,所述容器是用于存储一组内容的存储空间。
63.根据权利要求61或62所述的路由器,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
64.根据权利要求61或62所述的路由器,其特征在于,所述容器为一个或多个第一其它容器的接入容器;和/或
一个或多个第二其它容器为所述容器的接入容器;
其中,所述接入容器为在拓扑关系上包括另一容器,且存在将所述内容请求包路由到所述另一容器的转发表项的容器。
65.根据权利要求61或62所述的路由器,其特征在于,所述确定模块包括:
第一确定单元,用于确定转发信息表FIB中是否存在与所述请求内容的内容名匹配的转发表项;
第二确定单元,用于当所述第一确定单元确定所述FIB中不存在与所述请求内容的内容名匹配的转发表项时,确定所述FIB中是否存在与所述请求内容的容器信息中的容器标识匹配的转发表项,所述FIB中的转发表项包括预设的容器标识和与所述预设的容器标识对应的接口;
发送单元,用于当所述第二确定单元确定所述FIB中存在与所述请求内容的容器信息中的容器标识匹配的转发表项时,根据所述匹配的转发表项中的接口,发送所述内容请求包。
66.根据权利要求61或62所述的路由器,其特征在于,所述请求内容的内容名和所述请求内容的容器信息形成以所述请求内容的内容名为根节点的树,所述根节点的子节点代表所述请求内容的归属容器的容器信息,第一节点代表的容器信息对应的容器为所述第一节点的父节点代表的容器信息对应的容器的接入容器,所述第一节点是所述树中除根节点和所述根节点的子节点外的其它节点。
67.根据权利要求61或62所述的路由器,其特征在于,所述请求内容的内容名和所述请求内容的容器信息形成以所述请求内容的内容名为入口顶点的有向无环图,从所述入口顶点发起的有向边的终点代表所述请求内容的归属容器的容器信息,所述有向无环图中的第二顶点代表的容器信息对应的容器是第一顶点代表的容器信息对应的容器的接入容器,所述第一顶点是所述有向无环图中除入口顶点外的其它顶点,所述第二顶点是从所述第一顶点发起的有向边的终点。
68.一种建立路由表的装置,其特征在于,包括:
生成模块,用于生成本节点的路由表,以根据所述路由表生成转发信息表FIB,所述路由表包括全局容器路由表项,所述全局容器路由表项包括全局容器的容器标识以及与所述全局容器的容器标识对应的第一接口,所述第一接口是由所述本节点连接到达所述全局容器的下一跳路由节点的接口,所述全局容器是可全局路由的容器,所述全局容器包括拓扑相关的全局容器和/或拓扑无关的全局容器,所述FIB用于当所述本节点收到内容请求包时,将所述内容请求包携带的请求内容的内容名和所述请求内容的容器信息与所述FIB中的转发表项进行匹配,以确定所述内容请求包的转发路由,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到;
存储模块,用于存储所述生成模块生成的路由表。
69.根据权利要求68所述的装置,其特征在于,所述路由表还包括用于基于拓扑相关容器进行路由的拓扑相关容器路由表项,通过所述拓扑相关容器路由表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器;
其中,所述拓扑相关容器是与其它容器形成拓扑关系的容器,所述拓扑关系包括:一个上级容器包括一个或多个下级容器,和/或一个下级容器被一个或多个上级容器所包括。
70.根据权利要求69所述的装置,其特征在于,所述拓扑相关容器路由表项包括相对于所述本节点的归属容器为下级容器的下级容器标识以及与所述下级容器标识对应的第二接口,所述第二接口为由所述本节点连接到达所述下级容器的接口;
所述通过所述拓扑相关容器路由表项,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器,包括:
通过所述拓扑相关容器路由表项中的下级容器标识以及与所述下级容器标识对应的第二接口,使得所述本节点归属的容器的下级容器的路由作为所述本节点的内部路由不扩散出所述本节点归属的容器。
71.根据权利要求69或70所述的装置,其特征在于,所述拓扑相关容器对应的容器标识具有能够反映所述拓扑相关容器的级别的性质,从而表示所述拓扑相关容器与其它容器之间的所述拓扑关系。
72.根据权利要求68至70中任一项所述的装置,其特征在于,所述路由表还包括拓扑无关小容器路由表项,所述拓扑无关小容器路由表项包括拓扑无关小容器的容器标识以及与所述拓扑无关小容器的容器标识对应的第三接口,所述第三接口为由所述本节点连接到达所述拓扑无关小容器的下一跳路由节点的接口。
73.一种用户设备,其特征在于,包括:
生成模块,用于生成内容请求包,所述内容请求包携带请求内容的内容名和所述请求内容的容器信息,所述请求内容的容器信息包括用于标识存储所述请求内容的容器的容器标识;
发送模块,用于将所述生成模块生成的所述内容请求包发送至网络设备,以便所述网络设备根据所述请求内容的内容名和所述请求内容的容器信息确定所述内容请求包的转发路由。
74.根据权利要求73所述的用户设备,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
75.根据权利要求73所述的用户设备,其特征在于,所述请求内容的内容名对应一个或多个归属容器,所述请求内容的归属容器是能够直接路由到所述请求内容的容器。
76.根据权利要求73至75中任一项所述的用户设备,其特征在于,所述容器信息还包括与所述容器标识对应的解析标识,所述解析标识用于标识与所述容器标识对应的容器是否可解析。
77.根据权利要求73至75中任一项所述的用户设备,其特征在于,所述用户设备还包括:
获取模块,用于在所述生成模块生成内容请求包之前,获取所述请求内容的容器信息;
所述生成模块具体用于根据所述获取模块获取的所述请求内容的容器信息,生成内容请求包。
78.根据权利要求77所述的用户设备,其特征在于,所述用户设备还包括:
第一确定模块,用于根据所述获取模块获取的所述请求内容的容器信息,确定所述容器的接入容器;
第一更新模块,用于将所述第一确定模块确定的所述接入容器的容器信息添加到所述请求内容的容器信息中;
所述生成模块具体用于根据所述第一更新模块更新后的所述请求内容的容器信息,生成内容请求包。
79.根据权利要求77所述的用户设备,其特征在于,所述用户设备还包括:
第二确定模块,用于根据所述获取模块获取的所述请求内容的容器信息,确定所述请求内容的所有可解析容器的接入容器;
第二更新模块,用于将所述第二确定模块确定的所述所有可解析容器的接入容器的容器信息添加到所述请求内容的容器信息中;
所述生成模块具体用于根据所述第二更新模块更新后的所述请求内容的容器信息,生成内容请求包。
80.一种发布内容的装置,其特征在于,包括:
确定模块,用于确定内容的容器集以及所述容器集中每个容器的容器信息,所述容器集包括至少一个存储所述内容的容器;
发布模块,用于发布所述内容和所述内容的信息,所述内容的信息包括所述内容的内容名和所述确定模块确定的所述容器集中每个容器的容器信息,以便用户根据所述内容的信息生成内容请求包并发送到网络设备并由路由节点根据所述内容请求包携带的所述内容的信息确定所述内容请求包的转发路由。
81.根据权利要求80所述的装置,其特征在于,所述容器包括至少一个路由节点,通过所述至少一个路由节点中的一个或多个路由节点,所述请求内容能够在所述容器内被路由到,或所述请求内容能够通过所述容器被路由到。
82.根据权利要求80所述的装置,其特征在于,所述内容的内容名对应一个或多个归属容器,所述内容的归属容器是能够直接路由到所述内容的容器。
83.根据权利要求80至82中任一项所述的装置,其特征在于,所述装置还包括:
注册模块,用于将所述容器集中的至少一个容器和所述至少一个容器的接入容器注册到解析系统,以便用户或路由节点通过查询所述解析系统获得所述至少一个容器的接入容器。
84.根据权利要求83所述的装置,其特征在于,所述容器信息包括:容器标识和解析标识,所述解析标识用于标识容器是否可解析。
CN201210535249.3A 2012-12-12 2012-12-12 路由转发、建立路由表、和获取内容的方法及其装置 Active CN103874157B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210535249.3A CN103874157B (zh) 2012-12-12 2012-12-12 路由转发、建立路由表、和获取内容的方法及其装置
EP13863083.5A EP2933961B1 (en) 2012-12-12 2013-08-16 Method and apparatus for routing and forwarding, building routing tables, and obtaining contents
PCT/CN2013/081601 WO2014089986A1 (zh) 2012-12-12 2013-08-16 路由转发、建立路由表、和获取内容的方法及其装置
US14/737,941 US9948557B2 (en) 2012-12-12 2015-06-12 Methods and apparatuses for routing and forwarding, establishing routing table, and acquiring content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210535249.3A CN103874157B (zh) 2012-12-12 2012-12-12 路由转发、建立路由表、和获取内容的方法及其装置

Publications (2)

Publication Number Publication Date
CN103874157A CN103874157A (zh) 2014-06-18
CN103874157B true CN103874157B (zh) 2017-07-07

Family

ID=50912196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210535249.3A Active CN103874157B (zh) 2012-12-12 2012-12-12 路由转发、建立路由表、和获取内容的方法及其装置

Country Status (4)

Country Link
US (1) US9948557B2 (zh)
EP (1) EP2933961B1 (zh)
CN (1) CN103874157B (zh)
WO (1) WO2014089986A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104052661B (zh) * 2013-03-11 2018-04-10 华为技术有限公司 容器名服务器和容器名解析方法
US9979644B2 (en) 2014-07-13 2018-05-22 Cisco Technology, Inc. Linking to content using information centric networking
EP3202227B1 (en) * 2014-10-01 2019-11-06 Telefonaktiebolaget LM Ericsson (publ) Base station and wireless device apparatuses and corresponding methods for handling information centric networking based communications
US10880198B2 (en) * 2015-05-08 2020-12-29 Qualcomm Incorporated Aggregating targeted and exploration queries
US20160380986A1 (en) * 2015-06-26 2016-12-29 Cisco Technology, Inc. Communicating private data and data objects
CN105260429B (zh) * 2015-09-30 2019-04-26 河南科技大学 一种基于多重布隆过滤器的icn网络信息名字查找方法
US10356209B2 (en) 2015-11-30 2019-07-16 Futurewei Technologies, Inc. System and method to support context-aware content requests in information centric networks
US10892942B2 (en) * 2016-01-22 2021-01-12 Equinix, Inc. Container-based cloud exchange disaster recovery
CN109690971B (zh) * 2016-03-18 2021-09-24 比特利亚互动有限责任公司 实时多模式行程估计与选路系统
GB2550622B (en) 2016-04-19 2018-10-24 Cisco Tech Inc Information centric networking routing in an IP network
CN107404439B (zh) 2016-05-18 2020-02-21 华为技术有限公司 用于重定向数据流的方法和系统、网络设备和控制设备
CN106161252B (zh) * 2016-06-14 2019-03-15 电子科技大学 一种应用于内容中心网的负载均衡方法
US10122624B2 (en) * 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US20180176129A1 (en) * 2016-12-15 2018-06-21 Fujitsu Limited Communication method, control device, and system
CN106789672B (zh) * 2017-01-18 2020-08-04 北京经纬恒润科技有限公司 一种报文路由处理方法及装置
CN106973017B (zh) * 2017-03-29 2019-09-13 常熟理工学院 一种快速的网络数据通信方法
CN108696647B (zh) * 2017-04-10 2021-02-26 北京京东尚科信息技术有限公司 电话路由的方法和装置
CN108881071B (zh) * 2017-05-16 2020-02-14 华为技术有限公司 以太网内容中心网络混合下数据包传输方法装置存储介质
CN109302345B (zh) * 2017-07-25 2022-01-25 迈普通信技术股份有限公司 Fib路由表下发时间测试系统、方法和装置
CN109561355B (zh) * 2017-09-27 2020-07-17 中国科学院声学研究所 一种ccn/ndn内容注册、内容位置解析和内容路由的系统及方法
CN111953805B (zh) * 2017-09-30 2022-08-26 华为云计算技术有限公司 传输数据的方法和装置
CN107612746B (zh) * 2017-10-12 2020-12-22 曙光信息产业股份有限公司 一种构建Torus网络的方法、Torus网络和路由算法
CN107786450B (zh) * 2017-10-17 2020-09-08 新华三技术有限公司 一种数据报文传输方法、装置及机器可读存储介质
CN107948073B (zh) * 2017-11-21 2020-06-16 中南大学 基于ndn架构的无线数据传输方法、装置及系统
CN108566434B (zh) * 2018-05-03 2020-04-17 北京邮电大学 一种基于流行度与节点重要度的缓存方法及装置
CN108683594B (zh) * 2018-05-10 2021-09-07 宝沃汽车(中国)有限公司 车辆网关路由方法、装置、车辆及存储介质
US10931559B2 (en) * 2018-11-02 2021-02-23 Cisco Technology, Inc. Distribution of network-policy configuration, management, and control using model-driven and information-centric networking
CN109257443B (zh) * 2018-11-09 2019-12-10 长安大学 一种面向车联网的命名数据网络自适应缓存策略
WO2020107768A1 (en) * 2018-11-26 2020-06-04 Huawei Technologies Co., Ltd. Collaborative in-network name-to-locator resolution support for information centric networking
CN110099005B (zh) * 2019-05-20 2021-05-28 哈尔滨英赛克信息技术有限公司 一种基于重定向的信息中心网络路由优化方法
US11979315B2 (en) * 2019-06-28 2024-05-07 Intel Corporation Information centric network interworking techniques
CN110401911B (zh) * 2019-07-12 2020-09-22 常熟理工学院 一种基于命名数据网络的车载云实现方法
CN110753123B (zh) * 2019-10-28 2020-10-23 北京理工大学 一种面向连接的命名数据网络数据传输方法
CN111147377B (zh) * 2019-12-05 2020-09-11 连连银通电子支付有限公司 一种业务通道的确定方法、装置、设备和介质
US11368380B1 (en) * 2020-06-01 2022-06-21 Amazon Technologies, Inc. Estimating end-to-end network packet loss
US12095666B1 (en) 2021-09-30 2024-09-17 Amazon Technologies, Inc. Efficient propagation of routing information for compute instances with network address ranges of multiple address families
CN114302477B (zh) * 2021-12-22 2024-08-27 山东芯慧微电子科技有限公司 一种基于fpga的无人机自组网通信可靠性优化方法
CN114222007B (zh) * 2022-02-22 2022-07-01 北京凌云创想科技有限公司 一种混合云通信方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540775A (zh) * 2009-04-30 2009-09-23 华为技术有限公司 内容分发方法、装置与内容分发网络系统
CN101686200A (zh) * 2009-08-21 2010-03-31 杭州华三通信技术有限公司 路由转发的方法和设备
CN102549988A (zh) * 2009-09-29 2012-07-04 思科技术公司 基于经过滤转发信息库的分组转发
CN102668518A (zh) * 2011-12-02 2012-09-12 华为技术有限公司 一种内容分发网络路由方法、系统和用户终端

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772215B1 (en) 1999-04-09 2004-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for minimizing feedback responses in ARQ protocols
US8619774B2 (en) * 2004-10-26 2013-12-31 Cisco Technology, Inc. Method and apparatus for providing multicast messages within a virtual private network across a data communication network
US8386622B2 (en) 2008-05-16 2013-02-26 Palo Alto Research Center Incorporated Method and apparatus for facilitating communication in a content centric network
US8204060B2 (en) * 2009-01-30 2012-06-19 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network
US8429365B2 (en) * 2009-06-26 2013-04-23 Sandisk Technologies Inc. Memory device and method for embedding host-identification information into content
CN102195844B (zh) * 2010-03-02 2014-04-02 杭州华三通信技术有限公司 转发表项的管理方法和设备
US8375436B2 (en) 2010-04-22 2013-02-12 Palo Alto Research Center Incorporated Session migration over content-centric networks
US8244881B2 (en) 2010-08-06 2012-08-14 Palo Alto Research Center Incorporated Service virtualization over content-centric networks
US8756297B2 (en) 2010-12-16 2014-06-17 Palo Alto Research Center Incorporated Energy-efficient content caching with custodian-based routing in content-centric networks
US8751664B2 (en) 2010-12-16 2014-06-10 Palo Alto Research Center Incorporated Custodian-based routing in content-centric networks
US9178917B2 (en) 2010-12-16 2015-11-03 Palo Alto Research Center Incorporated Custodian routing with network address translation in content-centric networks
WO2012155065A2 (en) * 2011-05-12 2012-11-15 Huawei Technologies, Co., Ltd. Method and system for longest prefix matching of variable-sized hierarchical names by treelets
US9178806B2 (en) * 2012-07-31 2015-11-03 Alcatel Lucent High-speed content routing
CN104052661B (zh) * 2013-03-11 2018-04-10 华为技术有限公司 容器名服务器和容器名解析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540775A (zh) * 2009-04-30 2009-09-23 华为技术有限公司 内容分发方法、装置与内容分发网络系统
CN101686200A (zh) * 2009-08-21 2010-03-31 杭州华三通信技术有限公司 路由转发的方法和设备
CN102549988A (zh) * 2009-09-29 2012-07-04 思科技术公司 基于经过滤转发信息库的分组转发
CN102668518A (zh) * 2011-12-02 2012-09-12 华为技术有限公司 一种内容分发网络路由方法、系统和用户终端

Also Published As

Publication number Publication date
WO2014089986A1 (zh) 2014-06-19
US20150281079A1 (en) 2015-10-01
CN103874157A (zh) 2014-06-18
EP2933961A1 (en) 2015-10-21
EP2933961A4 (en) 2016-07-27
EP2933961B1 (en) 2018-03-21
US9948557B2 (en) 2018-04-17

Similar Documents

Publication Publication Date Title
CN103874157B (zh) 路由转发、建立路由表、和获取内容的方法及其装置
CN104052661B (zh) 容器名服务器和容器名解析方法
CN104009920B (zh) 数据源移动的处理方法、转发报文的方法及其装置
AU2005220253B2 (en) Rendezvousing resource requests with corresponding resources
Lv et al. RISC: ICN routing mechanism incorporating SDN and community division
Adhatarao et al. Comparison of naming schema in ICN
US20060090003A1 (en) Rendezvousing resource requests with corresponding resources
Zeinalipour-Yazti et al. The threshold join algorithm for top-k queries in distributed sensor networks
CN108848032B (zh) 一种支持多兴趣类型处理的命名对象网络实现方法
CN103618801B (zh) 一种p2p资源共享的方法、设备及系统
CN103546593B (zh) 基于ip与非ip的无线传感器网络节点标识符解析方法
CN109614419B (zh) 一种面向命名数据网络的知识服务路由挖掘方法
CN108063717A (zh) 信息为中心网络icn中转发报文的方法、装置及系统
CN105049550A (zh) 一种基于D1HT+Chord的名址分离映射系统
Dutta An approach for FIB construction and Interest packet forwarding in information centric network
CN108289062A (zh) 一种基于软件定义的信息中心网络结构
KR20120134519A (ko) 계층적 이름 구조에 기반한 네트워크에서 컨텐츠 요청자 및 컨텐츠 응답자의 통신 방법 및 장치
CN102378407A (zh) 一种物联网中的对象名字解析系统及其解析方法
CN104125310B (zh) 基于半永久地址的消息发送方法
Patel et al. Data delivery techniques in content centric routing for IoT: a systematic review
CN106330729A (zh) 一种物联网通信方法及装置
CN115865844B (zh) 基于sdn与ndn的虚实结合动态流量调度方法及装置
CN103150346B (zh) 一种基于可扩展标记语言的无线传感器网络数据压缩方法
JP5965353B2 (ja) アドレス解決システム及び方法
CN102035870A (zh) 无线移动网络中基于极坐标划分管理的服务发现方法

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