一种路由节点及路由方法与流程

文档序号:11878460阅读:695来源:国知局
一种路由节点及路由方法与流程

本发明属于网络通信领域,尤其涉及一种路由节点及方法,其兼容现有网络实现网内缓存,并能利用网内缓存进行通信。



背景技术:

近年来,互联网技术得到快速发展,移动设备数量快速增加,基于传统的TCP/IP体系的架构获得了巨大成功。尽管如此,根据思科的预测报告,到2019年,以视频分发相关的流量将占据总互联网IP流量79%以上的份额,人们使用网络的主要方式从端到端的通信逐渐转变为对内容的访问和分享。而TCP/IP体系结构具有先天缺陷,在可扩展性、移动性方面存在多种问题,阻碍互联网的发展。因而,研究者提出了以信息为中心的网络体系结构(ICN,Information-Centric Networking)。内容中心网络(CCN,Content-Centric Networking)是ICN的实例,也被称为命名数据网络(NDN,Named Data Networking)。

内容中心网络不同于TCP/IP体系中的主机为中心,CCN网络是以内容为中心传输数据。CCN通过对网络中存在的所有数据内容进行命名,数据包根据内容名进行路由。中间路由器节点缓存内容,并且可以响应内容的请求,直接将缓存内容返回给用户,加快内容的分发速率,减少用户获取内容的时延。

然而,由于CCN网络的提出是一种clean-slate的方式,因此从现有TCP/IP网络正常过渡到CCN网络存在许多问题,包括CCN网络中的转发表膨胀问题,转发表更新问题,针对邮件服务等业务的处理不如传统IP网络的处理方式等等问题。我们提出了在现有的IP网络中来实现网内缓存机制。



技术实现要素:

(一)要解决的技术问题

本发明的目的在于,提供一种路由节点及方法,在现有TCP/IP网络的架构下,实现网内缓存功能,避免传统TCP/IP网络的缺陷,加快内容数据的分发与获取。

(二)技术方案

首先,本发明对数据包进行扩展,使其具有类型字段和内容标识字段,其中,类型字段能标示出数据包是内容请求数据包还是内容响应数据包,内容标识字段能标示出内容请求数据包所请求的内容数据,或者,标示出内容响应数据包所携带的内容数据。

其次,本发明提供的路由节点包括检索模块和存储模块,存储模块用于在本地缓存内容数据,检索模块用于根据数据包中的内容标识字段,判断所述存储模块中是否缓存有该数据包所请求的内容数据,或者,该数据包所携带的内容数据。

再次,针对任意一个路由节点,本发明提供的路由方法,包括:

S1,从上一跳接收到一数据包后,判断数据包是内容请求数据包还是内容响应数据包,若数据包是内容请求数据包,则执行步骤S2,若数据包是内容响应数据包,则执行步骤S3;

S2,判断路由节点本地是否存储有该数据包所请求的内容数据,若是,则根据内容数据生成一内容响应数据包,并将该内容响应数据包发送至上一跳,否则,将该内容请求数据包发送至下一跳;

S3,判断本地是否存储有该数据包所携带的内容数据,若是,则直接将该内容响应数据包发送至下一跳,否则,将该内容数据进行本地存储后,再将该内容响应数据包发送至下一跳。

(三)有益效果

本发明的路由节点具有缓存功能,其能缓存网络中数据包中所携带的内容数据,其后在收到针对该内容数据的内容请求数据包时,其不必将数据包转发至下一跳,而是提取本地缓存中的内容数据,并生成内容响应数据包回发至请求方,这样能降低网络中的重复内容数据的获取,同时减少了用户请求的等待时间。

附图说明

图1是本发明实施例中请求方从发出内容请求数据包到接收到响应数据的流程图;

图2是本发明实施例内容请求包中包含的自定义类型的IPv6扩展首部;

图3是本发明实施例内容响应包中包含的自定义类型的IPv6扩展首部格式;

图4是本发明实施例中间路由节点的结构示意图;

图5是本发明实施例客户端发送请求包的流程;

图6是本发明实施例中间路由节点接收到IP数据包的处理流程;

图7是本发明另一实施例的网络拓扑和报文传输示意图。

具体实施方式

本发明提供一种路由节点及路由方法,路由节点从上一跳接收到一数据包后,判断数据包是内容请求数据包还是内容响应数据包,若是内容请求数据包,则判断本地是否存储有该数据包所请求的内容数据,若是,则根据内容数据生成一内容响应数据包,并将该内容响应数据包发送至上一跳,否则,将该内容请求数据包发送至下一跳;若是内容响应数据包,判断本地是否存储有该数据包所携带的内容数据,若是,则直接将该内容响应数据包发送至下一跳,否则,将该内容数据进行本地存储后,再将该内容响应数据包发送至下一跳。本发明在现有TCP/IP网络的架构下,实现网内缓存功能,避免传统TCP/IP网络的缺陷,加快内容数据的分发与获取。

具体地,本发明所说的路由节点,可以是具有转发功能的路由器,其上一跳和下一跳可以是其他路由节点的地址,也可以是源地址,也可以是目的地址。路由节点除了具备转发功能外,还包括存储模块和检索模块,存储模块用于在本地缓存内容数据,检索模块用于根据数据包中的内容标识字段,判断所述存储模块中是否缓存有该数据包所请求的内容数据,或者,该数据包所携带的内容数据。

进一步,在TCP/IP网络的架构下,本发明对IPv6数据(简称IP数据包)包添加自定义类型的扩展首部,即在该扩展首部中增加两个字段:类型字段和内容标识字段,其中根据自定义扩展首部中类型字段(Type)来区分内容请求数据包、内容响应数据包两种IP数据包,例如,内容请求数据包的类型字段置的值为1,内容响应数据包的类型字段置的值为2。内容标识字段包含全局统一的内容标识,使得IP数据包可选地具有内容感知能力,具体地,内容标识字段可以是内容数据的内容名,例如“/ABC.com/video/comm/abc.mp4”。需要注意的是,内容标识应是全局唯一的,如果两个具有不同名称的内容相同,这两个内容会被识别为不同的内容。例如,文件的命名形式为:“/ABC.com/video/comm/abc.mp4”和“/ABC.com/video/abc.mp4”指向的内容相同但会识别为不同的内容数据。

路由节点在收到一IPv6数据包后,首先判断所述IPv6数据包是否具有自定义类型的扩展首部,如果是,路由节点才进一步判断所述IPv6数据包是内容请求数据包还是内容响应数据包;如果IPv6数据包不具有自定义类型的扩展首部,路由节点采用TCP/IP协议转发IPv6数据包。

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是本发明实施例中请求方从发出内容请求数据包到接收到响应数据的流程图,流程包括:

ST1:对IPv6数据包的扩展和路由器功能的扩展:

为了实现在IP网络中实现网内缓存的功能,本实施例定义了一种IPv6扩展首部类型。其中根据自定义扩展首部中类型字段(Type)来区分内容请求数据包、内容响应数据包两种IP数据包,在本实施例中,内容请求数据包的类型字段置的值为1,内容响应数据包的类型字段置的值为2。内容标识字段包含全局统一的内容标识,使得IP数据包可选地具有内容感知能力。

如图2所示,本实施例中内容请求数据包的自定义类型的扩展首部包含内容标识字段、类型字段以及其他基本字段。

内容标识字段是通过分层形式对内容进行命名,其形式类似于CCN网络或其他基于内容名的网络中的内容标识,该内容标识用于路由器检索本地是否有对应的缓存内容。

在本实施例中,内容请求数据包中包含内容名,使得中间路由器可以对请求数据返回响应,而不需要一直使请求到达服务器。需要注意的是,内容标识应是全局唯一的,如果两个具有不同名称的内容相同,这两个内容会被识别为不同的内容。例如,文件的命名形式为:“/ABC.com/video/comm/abc.mp4”和“/ABC.com/video/abc.mp4”指向的内容相同但会识别为不同的内容。

如图3所示,本实施例中内容响应数据包的自定义类型的扩展首部同样也包括内容标识字段和类型字段。中间路由器或源服务器在返回内容时,构造内容响应数据包,内容响应数据包内容标识字段用来标识该数据包所包含的内容数据。沿途路由器可以根据内容标识,来更新本地内容检索表和内容存储器。

图4为本实施例中中间路由器的结构示意图,如图4所示,中间路由器除了需要具备传统TCP/IP网络的转发功能外,还需要具备存储数据的功能。中间路由节点相比于传统路由器来说,需要添加两种新的数据结构:内容检索表和内容存储器。

内容检索表用于快速检索本地存储器内是否具有相应的内容数据,并指向内容存储器中相应的物理位置,内容存储器用于本地缓存内容数据。

ST2:用户发出请求报文:

图5是本实施例中用户发送内容请求数据包的流程图,如图5所示,用户要获取内容数据时,用户端可选择否利用本发明的网内缓存机制,首先要根据应用层业务类型决定是否采用网络缓存方法,对应图5中步骤ST210。

如果是针对流行的视频、文件业务等类似业务,需要利用网内缓存,则可以使用本发明的路由转发方法并启用路由器的扩展功能,如图中步骤ST220所示,向网络中发送自定义的请求包,即在IP数据包首部添加自定义扩展首部,在本实施例中,设置扩展首部中类型字段为1表明为请求包,内容标识字段为内容数据的内容名。

如果是诸如邮件,实时会话等业务则直接采用传统TCP/IP协议栈对应用层程序处理,对应图5中步骤ST230。

客户端发送内容请求数据包到网络中,在对应图5中步骤ST240。

例如,在本发明中,用户发出请求包,内容标识为/abc.com/video.mp4;请求包通过IP路由选路,经过路由器节点A->B->C->内容服务器。中间每个路由器节点都会检查IP数据包的格式,并检查本地内容存储器中是否包含内容标识指定的内容。

如果路由器节点C在本地内容存储器中包含内容标识为/ABC.com/video.mp4内容缓存,则请求包到达节点C会直接返回数据而不会将请求转发到服务器。在此情况下,C会直接返回内容并依次经过中间路由节点B,A到达用户。

ST3:中间路由器对报文进行处理:

图6为本实施例中中间路由器接收到数据报文的整个处理流程。其中步骤ST350~ST352为接收为内容响应数据包处理流程,步骤ST340~ST362为接收到为内容请求数据包的处理流程。

中间路由节点每接收到一个数据包时,首先检测该数据包是否包含所述的自定义扩展首部;如果不存在,则按照传统TCP/IP协议栈处理转发流程。如图6步骤ST320所示。如果存在自定义的扩展首部类型,则检测自定义扩展首部中的类型字段判断是请求包还是数据包。如图6步骤ST330所示。

当路由器节点接收到数据包为内容响应数据包时,即在本实施例中,类型字段为2。中间路由节点提取该数据包所包含的内容数据,根据数据包IP首部中的目的地址进行路由转发,并可选得进行内容检索表和内容存储器更新操作,具体地,首先以内容标识字段作为索引,确认内容检索表中是否存在对应项,如果存在,则不作任何操作;如果不存在,则将所述内容标识字段和相应的内容数据添加到内容检索表和内容存储器中。

如果接收到的数据包为内容请求数据包,即在本实施例中IP数据包扩展首部type字段为1,即可以开始进行内容缓存的查找(步骤T340)。若查找索引成功,开始从本地内容存储器中读取响应数据,读取操作完成后向客户端响应数据,若没有检索成功,则继续转发请求数据包到下一节点。

ST4:内容响应者(中间路由器或源服务器)返回数据包:

如图6所示,在步骤ST342中,中间路由器节点C查找本地内容索引表,检索到对应内容,则从内容存储器取得对应的内容数据,并构造内容数据包,在扩展首部中添加内容标识。

当内容请求数据包在转发路径上均无路由器存在内容匹配时,该内容请求数据包会到达IP首部中目的地址对应的数据源节点。数据源节点构造内容响应数据包进行响应,逐跳返回数据源节点。

图7是本发明另一实施例的网络拓扑和报文传输示意图。如图7所示,应用的网络由6个路由器、2个用户和1个服务器组成。其中,用户1和用户2分别向服务器1请求视频内容V1。

1、用户1向服务器1请求视频内容V1的内容请求及处理过程:

1.1、用户1根据应用层业务类型决定是否采用网络缓存方法,因为是视频业务,需要网内缓存机制。于是用户1发出请求包,内容标识为/abc.com/video.mp4;请求包通过IP路由选路,下一跳到达路由器D;

1.2、路由器D接收到数据包后,检查是否有扩展首部;发现其中的类型字段为1,则进行请求包处理过程,检查本地存储索引表中是否有对应内容V1的索引项,发现没有对应内容,则将请求直接根据路由表向下一跳转发;

1.3、路由器C收到内容V1的请求数据包后,也发现本地缓存没有此内容数据,则进行相同的处理向下一跳进行转发;

1.4、直到服务器接收到该内容,构造内容响应数据包,添加扩展首部的内容标识字段,并根据用户1的IP地址进行反向返回。

2、用户2向服务器1请求视频内容V1的内容请求及处理过程:

2.1、用户2根据应用层业务类型决定是否采用网络缓存方法,因为是视频业务,需要网内缓存。于是用户2发出请求包,内容标识为/abc.com/video.mp4;请求包通过IP路由选路,下一跳到达路由器A;

2.2、路由器A接收到数据包后,检查是否有扩展首部;发现其中的类型字段为1,则进行请求包处理过程,检查本地存储索引表中是否有对应内容V1的索引项,发现没有对应内容,则将请求直接根据路由表向下一跳转发;

2.3、路由器B收到内容V1的请求报文后,发现本地缓存有此内容,则构造内容响应数据包,直接返回内容数据,而不需要将请求转到服务器端进行响应。

综上所述,可见本发明在现有IP网络下能够实现利用网络内的缓存进行响应的功能,并能够兼容现有TCP/IP的架构。用户可以快速的从网络中路由器节点获取内容,而不需要到达服务器获取内容,此发明提高了用户下载文件的速度,减少了网络内传输的重复数据,提高了网络性能;本发明通过设计新的IPv6扩展首部格式实现IP数据包携带内容标识,使得中间路由器能够识别用户请求的内容。

本领域的技术人员应该进一步意识到,上述实施方式中各种方法的全部或者部分步骤可以通过软件、硬件或者两者结合的方式实现。该程序内容可以存储在计算机可读存储介质中,存储介质可以包含:只读存储器,随机存储器或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1