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

文档序号:9767754阅读:来源:国知局
48]修改标记单元,用于在将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址的同时,在所述待转发数据包中设置目的地址修改标记。
[0049]结合第二方面,在第二方面第四种可能的实施方式中,所述路由器还包括:
[0050]路由表更新单元,用于通过所述第一路由节点与各个邻居路由节点之间的TCP长连接,接收对应的邻居路由节点的路由表信息,并根据接收到的路由表信息更新所述第一路由节点的路由表,以便在需要所述第一路由节点执行转发服务时,在所述第一路由节点的路由表中查找到达所述待转发数据包的目的地址的最优路由路径。
[0051]本申请第三方面提供一种覆盖路由网络;该覆盖路由网络包括若干个路由节点,每个路由节点分别被配置为:
[0052]在接收到待转发数据包后,获取所述待转发数据包的目的地址,并判断获取到的目的地址是否为本路由节点的IP地址;
[0053]如果获取到的目的地址是本路由节点的IP地址,则判断所述待转发数据包的来源地是否为本路由节点的第一邻居路由节点;
[0054]如果所述待转发数据包的来源地不是所述第一邻居路由节点,则查询网络地址转换表,得到与本路由节点的IP地址对应的第一用户主机的IP地址;
[0055]将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址,并根据修改后的目的地址确定所述待转发数据包的最优路由路径;
[0056]如果获取到的目的地址不是本路由节点的IP地址,则直接根据所述获取到的目的地址确定所述最优路由路径;
[0057]在所述最优路由路径确定后,根据所述最优路由路径判断所述待转发数据包下一跳的目的地是否为本路由节点的第二邻居路由节点;
[0058]如果所述待转发数据包下一跳的目的地不是所述第二邻居路由节点,则判断所述待转发数据包是否为请求数据包;
[0059]如果所述待转发数据包是请求数据包,则将所述待转发数据包的源地址由第二用户主机的IP地址修改为本路由节点的IP地址,将本次源地址修改记录存储至所述网络地址转换表,并将源地址修改后的待转发数据包转发至目的主机,使得所述目的主机将本路由节点的IP地址作为对应的响应数据包的目的地址,并将所述对应的响应数据包发送至本路由节点。
[0060]本申请的实施例提供的技术方案,在将请求数据包转发至目的主机之前,先将请求数据包的源地址修改为最后一个转发该请求数据包的路由节点的IP地址,使得目的主机生成的响应数据包的目的地址也相应修改为最后一个转发该请求数据包的路由节点的IP地址,从而该响应数据包可以通过该路由节点进入覆盖路由网络,并通过覆盖路由网络将其转发至对应的用户主机;相应的,在接收到来自目的主机的响应数据包时,查找对应的请求数据包的源地址修改记录,确定该响应数据包的实际目的地址,即发送对应的请求数据包的用户主机的IP地址,将该响应数据包的目的地址修改为上述实际目的地址,使得该响应数据包被准确转发至该用户主机。因此,本申请提供的技术方案可以在不改变目的主机的网关的前提下,将响应数据包引入覆盖路由网络,提高个人主机与公共主机之间的通信效率,提高端到端的传输性能,提高覆盖路由网络的利用率。
[0061]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
【附图说明】
[0062]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0063]图1是根据一示例性实施例示出的一种基于覆盖路由网络的路由方法的流程图。
[0064]图2是根据一示例性实施例示出的路由方法的应用场景示意图。
[0065]图3是根据一示例性实施例示出的路由方法中涉及的数据包格式的示意图。
[0066]图4是根据一示例性实施例示出的另一种基于覆盖路由网络的路由方法的流程图。
[0067]图5是根据一示例性实施例示出的添加有辅助IP头的数据包格式的示意图。
[0068]图6是根据一示例性实施例示出的路由方法中确定最优路由路径的方法流程图。
[0069]图7是根据一示例性实施例示出的一种路由器的框图。
[0070]图8是根据一示例性实施例示出的另一种路由器的框图。
[0071]图9是根据一示例性实施例示出的又一种路由器的框图。
【具体实施方式】
[0072]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0073]图1是根据一示例性实施例示出的一种基于覆盖路由网络的路由方法基于覆盖路由网络的路由方法的流程图,如图1所示,该路由方法包括以下步骤。
[0074]S11、在覆盖路由网络中的第一路由节点接收到待转发数据包后,获取所述待转发数据包的目的地址。
[0075]本申请实施例以某一个路由节点对接收到的数据包的处理、转发过程为例,为便于描述,将该路由节点命名为第一路由节点;需要说明的是,覆盖路由网络中的任一个路由节点都可以作为上述第一路由节点,执行本申请实施例所述的路由方法,实现对任意数据包的转发服务。
[0076]S12、判断所述待转发数据包的目的地址是否为所述第一路由节点的IP地址,如果是,则执行步骤S13,否则执行步骤S15。
[0077]S13、在获取到的目的地址是所述第一路由节点的IP地址,且所述待转发数据包的来源地不是所述第一路由节点的第一邻居路由节点时,查询网络地址转换表,得到与所述第一路由节点的IP地址对应的第一用户主机的IP地址。
[0078]如果获取到的目的地址是所述第一路由节点的IP地址,且所述待转发数据包的来源地不是所述第一路由节点的第一邻居路由节点,则可以确定待转发数据包为由某一主机发送来的响应数据包,且第一路由节点为覆盖路由网络中第一个接收到该响应数据包的路由节点。
[0079]S14、将所述待转发数据包的目的地址修改为所述第一用户主机的IP地址,根据修改后的目的地址确定所述待转发数据包的最优路由路径,并执行步骤S16。
[0080]S15、直接根据所述获取到的目的地址确定所述最优路由路径,并执行步骤S16。
[0081]S16、如果根据所述最优路由路径判定所述待转发数据包下一跳的目的地不是所述第一路由节点的第二邻居路由节点,则判断所述待转发数据包是否为请求数据包,如果是请求数据包,则执行步骤S17,否则执行步骤S18。
[0082]如果所述待转发数据包下一跳的目的地不是所述第一路由节点的第二邻居路由节点,即下一跳的目的地址必定为某一用户主机,说明第一路由节点为覆盖路由网络中转发该待转发数据包的最后一个路由节点。
[0083]S17、在步骤S16判定所述待转发数据包是请求数据包时,将所述待转发数据包的源地址由第二用户主机的IP地址修改为所述第一路由节点的IP地址,将本次源地址修改记录存储至所述网络地址转换表,并执行步骤S18。
[0084]S18、将待转发数据包转发至目的主机。
[0085]根据步骤S16的判断结果,如果待转发数据包是响应数据包,则直接执行步骤S18,将该响应数据包转发至目的主机;如果待转发数据包是请求数据包,则先执行步骤S17,修改该请求数据包的源地址,再执行步骤S18,将源地址修改后的请求数据包转发至目的主机。
[0086]相关技术中,目的主机通常将接收到的请求数据包的源地址作为对应的响应数据包的目的地址,以保证该响应数据包准确反馈至发送该请求数据包的设备。有鉴于此,本申请实施例通过修改数据包的源地址或目的地址,使得响应数据包能被覆盖路由网络中的路由节点接收,实现通过覆盖路由网络转发响应数据包。下面结合图2和图3对上述路由方法进行详细阐述。
[0087]图2为本申请实施例的一种应用场景示意图,图3为本申请实施例中相关数据包格式的示意图。如图2所示,个人主机的网关为覆盖路由网络中路由节点11的IP地址,即D3 ;覆盖路由网络中的路由节点12的IP地址为D4 ;公共主机22的IP地址为D2。个人主机21欲向公共主机22发送一个请求,则个人主机21生成相应的请求数据包Q,Q中除了相应的请求信息外,还包括一个IP头,IP头中记录了该数据包的源地址为D1,目的地址为D2(如图3所示);根据个人主机21的网关,Q首先发送至路由节点11,经过若干个路由节点的转发后,最终到达路由节点12 (即路由节点12为转发Q的最后一个路由节点)。
[0088]此时,若采用现有路由方式,则路由节点12直接将Q转发至目的地址为D2对应的公共主机22 ;公共主机22接收到Q后,根据Q中的源地址和目的地址,确定对应的响应数据包的原地址为D2,目的地址为D1,由于公共主机22的网关不指向覆盖路由网络的路由节点,故响应数据包不能到达覆盖路由网络,公共主机22只能通过底层网络将响应数据包转发至目的地址为D1对应的个人主机21。
[0089]与上述现有路由方式不同,本申请实施例中,路由节点12在接收到Q,并通过相关信息判定Q为请求数据包且自身为转发Q的最后一个路由节点后,将Q的源地址由D1改为D4,得到修改后的请求数据包Q’ (如图3所示),将本次源地址修改记录存储于网络地址转换表中(如上述步骤S17),并将修改后的数据包Q’转发至公共主机22。公共主机22接收到Q’后,对其进行处理并生成对应的响应数据包A ;与Q类似的,A中除响应信息外,也包括一个用于记录A的源地址和目的地址的IP头,根据Q’的源地址和目的地址可以确定:A的IP头中,源地址为D2,目的地址为D4(如图3所示)。虽然公共主机22的网关可能不是覆盖路由网络中路由节点的IP地址,但是,由于A的目的地址设置为D4,故A首先被发送至D4对应的路由节点12 ;路由节点12接收到
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1