覆盖路由网络、基于覆盖路由网络的路由方法及路由器的制造方法

文档序号:9767754阅读:387来源:国知局
覆盖路由网络、基于覆盖路由网络的路由方法及路由器的制造方法
【技术领域】
[0001]本申请涉及网络控制技术领域,尤其涉及一种覆盖路由网络、基于覆盖路由网络的路由方法及路由器。
【背景技术】
[0002]路由,是指路由器从一个接口上收到数据包后,根据该数据包的目的地址进行定向,并将该数据包转发到目的地址对应的另一个接口的过程,也即数据的转发或传输过程。覆盖路由网络,是指以底层网络为基础,在其上构建的一种应用层虚拟网络系统,如对等(peer-to-peer,P2P)网络,虚拟专用网络(Virtual Private Network,VPN)等。通过在底层网络中部署若干个路由节点(即路由器),各个路由节点运行相同的路由器软件,路由节点之间通过底层网络连接,即可以形成覆盖路由网络;通过底层网络连接的两个路由节点互为邻居路由节点,两个邻居路由节点之间通过底层网络建立的通路称为虚链路。
[0003]覆盖路由网络中,从一个路由节点到另一个路由节点的路由路径可以有多条。任意一个路由节点在接收到数据包后,可以根据该数据包的目的地址进行定向,从而确定对应的目的路由节点,进而根据覆盖路由网络的状态信息确定到达该目的路由节点的多条路由路径中传输性能最优的一条,通过该传输性能最优的路由路径执行对该数据包的转发服务;如果数据包转发过程中,底层网络的某个区域出现故障,则相关路由节点在确定最优路由路径时,可以自动排除所有经过该故障区域的路由路径,从而成功完成对数据包的转发服务。因此,相对于底层网络,覆盖路由网络可以提高端到端的传输性能,如减小丢包率、减小传输延迟等,也即提高数据传输效率。
[0004]对于个人主机而言,可以根据对应的个人用户的实际应用需求设置其网关,使得该个人主机发送的数据包全部通过该网关对应的网络系统执行转发服务;故,如果个人用户欲使用覆盖路由网络,只需将其个人主机的网关设置为覆盖路由网络中一个路由节点(通常为距离该用户主机最近的路由节点)的IP地址即可。但是对于公共主机而言,由于其通信对象不仅局限于一个网络系统,故公共主机的网关不能随意更改,一般固定为底层网络接口的IP地址,因此,当接入覆盖路由网络的个人主机与公共主机通信时,个人主机生成的请求数据包可以通过覆盖路由网络转发至公共主机,但公共主机生成的上述请求数据包对应的响应数据包只能通过其网关对应的底层网络发送至个人主机,限制了个人主机与公共主机之间的通信效率,覆盖路由网络不能得到充分利用。

【发明内容】

[0005]为克服相关技术中存在的问题,本申请提供一种。
[0006]本申请第一方面提供一种基于覆盖路由网络的路由方法;该路由方法包括:
[0007]在覆盖路由网络中的第一路由节点接收到待转发数据包后,获取所述待转发数据包的目的地址,并判断获取到的目的地址是否为所述第一路由节点的IP地址;
[0008]如果获取到的目的地址是所述第一路由节点的IP地址,则判断所述待转发数据包的来源地是否为所述第一路由节点的第一邻居路由节点;
[0009]如果所述待转发数据包的来源地不是所述第一邻居路由节点,则查询网络地址转换表,得到与所述第一路由节点的IP地址对应的第一用户主机的IP地址;
[0010]将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址,并根据修改后的目的地址确定所述待转发数据包的最优路由路径;
[0011]如果获取到的目的地址不是所述第一路由节点的IP地址,则直接根据所述获取到的目的地址确定所述最优路由路径;
[0012]在所述最优路由路径确定后,根据所述最优路由路径判断所述待转发数据包下一跳的目的地是否为所述第一路由节点的第二邻居路由节点;
[0013]如果所述待转发数据包下一跳的目的地不是所述第二邻居路由节点,则判断所述待转发数据包是否为请求数据包;
[0014]如果所述待转发数据包是请求数据包,则将所述待转发数据包的源地址由第二用户主机的IP地址修改为所述第一路由节点的IP地址,将本次源地址修改记录存储至所述网络地址转换表,并将源地址修改后的待转发数据包转发至目的主机,使得所述目的主机将所述第一路由节点的IP地址作为对应的响应数据包的目的地址,并将所述对应的响应数据包发送至所述第一路由节点。
[0015]结合第一方面,在第一方面第一种可能的实施方式中,所述路由方法还包括:
[0016]如果所述待转发数据包下一跳的目的地是所述第二邻居路由节点,则为所述待转发数据包添加辅助IP头,并通过IPIP隧道将添加有辅助IP头的待转发数据包转发至所述第二邻居路由节点;
[0017]其中,所述辅助IP头用于记录所述待转发数据包下一跳的源地址为所述第一路由节点的IP地址,且所述待转发数据包下一跳的目的地址为所述第二邻居路由节点的IP地址。
[0018]结合第一方面第一种可能的实施方式,在第一方面第二种可能的实施方式中,所述路由方法还包括:
[0019]如果所述待转发数据包的来源地是所述第一邻居路由节点,则删除所述待转发数据包中的辅助IP头;
[0020]重新获取删除辅助IP头后的待转发数据的目的地址;
[0021]根据重新获取到的目的地址确定所述最优路由路径。
[0022]结合第一方面第一种可能的实施方式,或者第一方面第二种可能的实施方式,在第一方面第三种可能的实施方式中,判断所述待转发数据包的来源地是否为所述第一路由节点的第一邻居路由节点,包括:
[0023]判断所述待转发数据包是否通过所述IPIP隧道转发至所述第一路由节点,如果是,则判定所述待转发数据包的来源地是所述第一邻居路由节点,否则判定所述待转发数据包的来源地不是所述第一邻居路由节点。
[0024]结合第一方面,在第一方面第四种可能的实施方式中,所述路由方法还包括:
[0025]在将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址的同时,在所述待转发数据包中设置目的地址修改标记。
[0026]结合第一方面第四种可能的实施方式,在第一方面第五种可能的实施方式中,判断所述待转发数据包是否为请求数据包,包括:
[0027]判断所述待转发数据包中是否存在目的地址修改标记,如果存在,则判定所述待转发数据包为响应数据包,否则判定所述待转发数据包为请求数据包。
[0028]结合第一方面,在第一方面第六种可能的实施方式中,所述路由方法还包括:
[0029]通过所述第一路由节点与各个邻居路由节点之间的TCP长连接,接收对应的邻居路由节点的路由表信息;
[0030]根据接收到的路由表信息更新所述第一路由节点的路由表,以便在需要所述第一路由节点执行转发服务时,在所述第一路由节点的路由表中查找到达所述待转发数据包的目的地址的最优路由路径。
[0031]本申请第二方面提供一种路由器;该路由器应用于覆盖路由网络,包括:获取单元、第一判断单元、第一确定单元、第二判断单元、目的地址转换单元、第二确定单元、第三判断单元、第四判断单元、源地址转换单元和第一转发单元;
[0032]其中,所述获取单元,用于在所述路由器接收到待转发数据包后,获取所述待转发数据包的目的地址;
[0033]所述第一判断单元,用于判断所述第一获取单元获取到的目的地址是否为所述路由器的IP地址,如果是,则触发所述最优路径确定单元,否则触发所述第四判断单元;
[0034]所述第一确定单元,用于在被触发后,根据获取到的目的地址确定最优路由路径;
[0035]所述第二判断单元,用于在被触发后,判断所述待转发数据包的来源地是否为所述路由器所在路由节点的第一邻居路由节点;
[0036]所述目的地址转换单元,用于在所述待转发数据包的来源地不是所述第一邻居路由节点时,查询网络地址转换表,得到与所述路由器的IP地址对应的第一用户主机的IP地址,并将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址;
[0037]所述第二确定单元,用于根据修改后的目的地址确定所述待转发数据包的最优路由路径;
[0038]所述第三判断单元,用于根据所述最优路由路径判断所述待转发数据包下一跳的目的地是否为所述路由器所在路由节点的第二邻居路由节点;
[0039]所述第四判断单元,用于在所述待转发数据包下一跳的目的地不是所述第二邻居路由节点时,判断所述待转发数据包是否为请求数据包;
[0040]所述源地址转换单元,用于在所述待转发数据包是请求数据包时,将所述待转发数据包的源地址由第二用户主机的IP地址修改为所述路由器的IP地址,并将本次源地址修改记录存储至所述网络地址转换表;
[0041]所述第一转发单元,用于将源地址修改后的待转发数据包转发至目的主机,使得所述目的主机将所述第一路由节点的IP地址作为对应的响应数据包的目的地址,并将所述对应的响应数据包发送至所述第一路由节点。
[0042]结合第二方面,在第二方面第一种可能的实施方式中,所述路由器还包括:
[0043]第二转发单元,用于在所述待转发数据包下一跳的目的地是所述第二邻居路由节点时,为所述待转发数据包添加辅助IP头,并通过IPIP隧道将添加有辅助IP头的待转发数据包转发至所述第二邻居路由节点;
[0044]其中,所述辅助IP头用于记录所述待转发数据包下一跳的源地址为所述第一路由节点的IP地址,且所述待转发数据包下一跳的目的地址为所述第二邻居路由节点的IP地址。
[0045]结合第二方面第一种可能的实施方式,在第二方面第二种可能的实施方式中,所述路由器还包括:
[0046]第三确定单元,用于在所述待转发数据包的来源地是所述第一邻居路由节点,则删除所述待转发数据包中的辅助IP头,重新获取删除辅助IP头后的待转发数据的目的地址,并根据重新获取到的目的地址确定所述最优路由路径。
[0047]结合第二方面,在第二方面第三种可能的实施方式中,所述路由器还包括:
[00
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1