CN101263696A - 对来自多宿主主机的数据分组进行路由 - Google Patents
对来自多宿主主机的数据分组进行路由 Download PDFInfo
- Publication number
- CN101263696A CN101263696A CNA2006800339601A CN200680033960A CN101263696A CN 101263696 A CN101263696 A CN 101263696A CN A2006800339601 A CNA2006800339601 A CN A2006800339601A CN 200680033960 A CN200680033960 A CN 200680033960A CN 101263696 A CN101263696 A CN 101263696A
- Authority
- CN
- China
- Prior art keywords
- route
- main frame
- packet
- source address
- address
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Abstract
本发明允许对来自多宿主主机的数据分组进行路由。每一个与多宿主主机相关联的网络地址都与缺省网关相关联。相关联网络地址中的一个被指派给即将从该多宿主主机发送的数据分组,作为该数据分组的源地址。对该多宿主主机的路由表进行搜索,以找到与该数据分组目的地址相匹配的路由。如果没有找到路由或者找到的路由是路由表中的缺省路由,则确定哪个缺省网关与所指派的源地址相关联,并且将该数据分组分发到这个确定的缺省网关。
Description
技术领域
本发明涉及电信领域。更具体地,本发明涉及新颖的和改进的方法与系统,该方法和系统用于对来自多宿主主机的数据分组进行路由。
背景技术
通信网络,尤其是分组交换数据通信网络或分组数据网络,诸如基于互联网协议(IP)的网络,通常包括通过链路互连的多个节点。
术语“链路”可理解为通信设备或媒介,节点可以通过它在开放系统互连模型(OSI)中的数据链路层进行通信。节点是通常实现互联网协议的设备。发送或者产生数据分组的节点在本领域中称为“主机”,或者更具体地称为发送主机。相应地,接收明确指向自己的数据分组的节点在本领域中也称为“主机”,更具体地称为接收主机。另一方面,术语“路由器”可理解为对未明确指向自己的IP分组进行转发的节点。此外,路由器在开放系统互连模型的网络层执行这种转发。
这样,可以使用主机和链路来部署本地网(local network)。本地网例如可以是局域网(LAN)。反过来,本地网也可以通过路由器与其它本地网或者与例如互联网连接。
因此,为了使给定本地网中的主机能够将数据分组发送到其本地网之外,或者接收来自其本地网之外的数据分组,该本地网需要与至少一个路由器连接,其中该路由器能够将数据分组路由到本地网之外,或者将数据分组从本地网之外路由到本地网内。在本发明的上下文中,这样的路由器称为“网关”。
即便路由器是网络中负责实际路由的节点,主机通常也包括简单的路由表。主机的路由表是包括路由项的查询表,发送主机利用这些查询项来确定将即将发送到其目的地的数据分组分发到哪里。即将分发的数据分组包括目的地址,该目的地址通常是该数据分组的目的互联网协议地址。发送主机将遍历路由项并把它们与即将发送的数据分组的目的地址相比较,并查找与该数据分组目的地址最匹配的路由项。
通常,一些路由项指向该发送主机所在本地网中的其它主机,也即,这些路由项定义了“主机路由”。如果本地网是包括本地链接的子网络的大网络,则一些路由项可能指向这些子网络,即这些路由项定义了“子网路由”。发送主机将从具体到一般地遍历其路由项。换句话说,首先,发送主机试图找到精确匹配的主机路由。如果该发送主机不能找到精确匹配的主机路由,则它将试图找到匹配的子网路由,如果路由表中存在这种子网路由的话。除了主机路由和子网路由以外,路由表中还可以包括定义了“缺省路由”的路由项。如果找不到任何匹配的路由项,则该缺省路由作为最后的手段使用。换句话说,如果主机不能在其所在的本地网中定位该数据分组的目的地,则缺省路由将被使用。缺省路由指向称为“缺省网关”的路由器,该路由器能够将数据分组向其目的地址转发。因此,通常在数据分组的目的地在本地网之外的情况下使用缺省网关,这是因为主机的简单路由表通常只包括与该主机本地网相关联的路由项。如果主机路由表不包括缺省路由并且找不到匹配的路由项,则即将发送的数据分组通常将被丢弃。
主机通常包括一个网络接口,该接口通常拥有一个与之关联的网络地址,诸如互联网协议地址。通常为每个主机指派与其网络接口相关联的缺省网关,或者更具体地,为每个主机指派与该主机网络接口的关联网络地址相关联的缺省网关。有关所指派缺省网关的信息通常存储在主机的路由表中。
如上所述,主机通常包括一个网络接口和一个相关联的网络地址。但是,主机也可能包括多个网络接口,每个都拥有各自的相关联非环回(non-loopback)网络地址,诸如非环回互联网协议地址。此外,主机还可能包括拥有多个相关联非环回网络地址(诸如非环回互联网协议地址)的网络接口。这样的主机在本技术领域内公知为“多宿主”主机。通常,多宿主主机网络接口中的每个接口都连接不同的网络。在这种情况下,多宿主主机将拥有在不同网络上的多个网络地址,并且这些网络地址拥有不同的网络前缀。
如上所述,多宿主主机拥有多个与其相关联的非环回网络地址。因此,多宿主接收主机可以通过多个网络地址被访问。可以用这样的方式配置网络,即,取决于数据分组使用多宿主接收主机多个网络地址中的哪个作为其目的地址,将数据分组在不同的物理路径上向多宿主接收主机传输。这样的部署通常用于预防网络的物理故障以及网络状态的改变。当今,多宿主通常和流控制传输协议(SCTP)一起使用,该协议允许在两个已经在网络中建立连接的主机之间同时传输多个数据流。
正如多宿主接收主机可以通过多个网络地址被访问一样,多宿主发送主机也可以使用其多个网络地址中的一个作为即将从该多宿主主机发送的数据分组的源地址。在第一种部署中,源地址通常由发送数据分组的应用程序明确地指派。换句话说,源地址和多宿主主机的相关联网络接口在该数据分组发送以前是已知的。在第二种部署中,当数据分组正要被发送时,源地址是未知的。典型的情况是客户端通过网络请求服务。在第二种部署中,指派源地址通常发生在搜索发送主机的路由表之后。搜索发送主机的路由表会返回有关选择出的下一跳节点信息和有关多宿主主机的哪个网络接口连接到所选下一跳节点的链路的信息。然后,与这个网络接口相关联的网络地址将被指派给数据分组作为其源地址。
虽然多宿主通常可以合理地预防网络的物理故障以及网络状态的改变,但是涉及缺省网关的多宿主依然存在严重的缺陷。
如上所述,无论是传统的主机还是多宿主主机,其路由表都正好包括一个缺省路由,该缺省路由正好指向一个缺省网关。更具体地,该路由表正好包括一个活动的缺省路由。也就是说,虽然通常可以为主机的每个网络接口或者主机的每个网络地址指派不同的缺省网关,但是在主机的路由表中只有一个活动的缺省路由。通常此单个活动的缺省路由指向所指派不同缺省网关中的一个。在某些情况下,例如在初始化主机及其互联网协议栈时,该活动缺省路由指向所指派的不同缺省网关中的一个缺省网关是随机选择的。这样的随机性可能导致连接的混乱和丢失。此外,在发送主机包括多个网络接口的情况下,只有本地链接的主机和那些非本地链接但是可以通过活动的缺省网关访问的主机可以被发送主机通过其任何网络接口访问。
此外,由于在任何给定时刻仅仅指派了单个缺省网关,所以这个缺省网关将构成潜在的单点失败(single point of failure)。也就是说,如果该缺省网关出现任何问题,整个路由部署都将失败。
显然,潜在单点失败的出现是必须要避免的,特别是在诸如电信网络的容错系统中。同样地,使用多宿主流控制传输协议通信的主机也需要避免潜在单点失败的出现。
现有技术领域包含了一些试图预防多宿主主机的单个缺省网关成为单点失败的技术。但是,这些技术本身都存在其他严重缺陷。
其中一个这样的现有技术是:在主机的路由表中使用静态路由。术语“静态路由”涉及手动加入主机路由表的路由。例如,可以增加指向除了所指派的活动缺省网关之外的本地链接网关的路由。换句话说,这个增加的静态路由就是“网关路由”。此外,可以定义静态网关路由,以使得目的地为既定网络或者网络组的数据分组将从发送主机分发到此本地链接网关。显然,可以增加多个静态路由。但是,使用静态路由还是存在严重的缺陷。其中一个这样的缺陷是缺乏可扩展性。每当有新的目的网络需要对本地网已有主机变得可见时,需要增加新的静态路由或者使用缺省路由。所以,建立新的目的网络可能需要配置本地网中每个主机的路由表。反过来,这在大规模本地网情况下是主要缺陷。此外,手动维护静态路由的数量越多,人为导致错误的可能性就越大。
然而,主机的路由表,包括其静态路由,可能由诸如开放最短路径优先(OSPF)协议的动态路由协议自动配置和更新。通过这种方法,消除了大部分的人为错误。然而,动态路由协议自身也有缺陷,特别是在要求容错的情况下。例如,由于有关网络拓扑的信息需要从网络周边的各个路由器收集,所以在主机单元启动阶段得到网络拓扑需要相对较长的时间。在容错服务的情况下,该时间可能导致服务的中断。特别是在极度容错系统中,需要避免发生任何中断。此外,在多宿主主机上运行动态路由的精灵程序(daemon)将使主机的配置复杂化。此外,如果已经存在的网络拓扑需要变得更加开放,则将产生安全问题和配置问题。此外,互联网协议第6版(IPv6)将不支持动态路由。即便互联网协议第6版是相当广泛扩展的协议,但容错服务是否应该建立在基于互联网协议第6版的动态路由协议(诸如,开放最短路径优先第3版(OSPFv3))之上依然是有待解决的问题。
现有技术领域还包含由Linux社团提出的解决方案,称为“策略路由”。策略路由为路由器做出转发决策提供了构架,其中该决策是基于除了转发的互联网协议分组的目的互联网协议地址以外的信息,例如基于转发的互联网协议分组的源互联网协议地址或者传输协议端口。简而言之,策略路由由以下组成:建立活动策略规则的数据库、排列这些规则的优先级以及描述与用于即将路由的互联网协议数据分组的规则相匹配的行为。然而,策略路由的实现是十分复杂的:例如,每个策略规则自身都可以拥有完整的路由表。关于策略路由的更多信息在例如http://www.policyrouting.org上提供。
因此,本发明的目的就是缓解上述问题并且提出解决方案,使得多宿主主机可以利用多个缺省网关对来自多宿主主机的数据分组进行路由。
发明内容
本发明的第一方面是一种对来自多宿主主机的数据分组进行路由的方法。为即将从多宿主主机发送的数据分组指派源地址。该多宿主主机拥有至少两个相关联的网络地址,并且该至少两个相关联网络地址的每一个都与缺省网关相关联。多宿主主机网络地址中至少有两个网络地址与不同的缺省网关相关联。此外,指派的源地址是该至少两个相关联网络地址中的一个。
确定数据分组的目的地址。搜索该多宿主主机的路由表以为该数据分组找到与其目的地址匹配的路由。
检查搜索的结果。如果没有找到路由或者找到的路由是路由表中的缺省路由,则确定上述缺省网关中的哪个与所指派的源地址相关联,并且将该数据分组分发到这个确定的与所指派的源地址相关联的缺省网关。
本发明的第二方面是多宿主主机。本发明第二方面中的多宿主主机包括源地址指派器,其被配置以为即将从该多宿主主机发送的数据分组指派源地址。本发明第二方面中的该多宿主主机拥有至少两个相关联的网络地址,并且该至少两个相关联网络地址的每个都和缺省网关相关联。此外,指派的源地址是该至少两个相关联网络地址中的一个。
本发明第二方面中的多宿主主机还包括目的地址确定器,其被配置以确定该数据分组的目的地址。本发明第二方面中的多宿主主机还包括路由表搜索器,其被配置以搜索该多宿主主机的路由表以为该数据分组找到与其目的地址匹配的路由。
本发明第二方面中的多宿主主机还包括搜索检查器,其被配置以检查搜索的结果。本发明第二方面中的多宿主主机还包括重载器(over-rider),如果没有找到路由或者找到的路由是路由表中的缺省路由,则该重载器用于确定上述缺省网关中的哪个与所指派的源地址相关联;更进一步地,其被配置以将数据分组分发到这个确定的与所指派的源地址相关联的缺省网关。
本发明的第三方面是多宿主主机。本发明第三方面中的多宿主主机包括源地址指派装置,该装置用于将源地址指派给即将从该多宿主主机发送的数据分组,其中该多宿主主机具有至少两个相关联的网络地址,而且该至少两个相关联网络地址中的每一个都与缺省网关相关联。此外,指派的源地址是该至少两个相关联网络地址中的一个。
本发明第三方面中的多宿主主机还包括目的地址确定装置,用于确定该数据分组的目的地址。本发明第三方面中的多宿主主机还包括路由表搜索装置,用于搜索该多宿主主机的路由表以为该数据分组找到与其目的地址匹配的路由。
本发明第三方面中的多宿主主机还包括搜索检查装置,用于检查搜索的结果。本发明第三方面中的多宿主主机还包含重载装置,如果没有找到路由或者找到的路由是路由表中的缺省路由,则该重载装置用于确定上述缺省网关中的哪个与所指派的源地址相关联;而且用于将数据分组分发到这个确定的与所指派的源地址相关联的缺省网关。
本发明的第四方面是在计算机可读介质上实现的计算机程序,用于对来自多宿主主机的数据分组进行路由。该计算机程序控制数据处理设备执行以下步骤:
指派源地址给即将从多宿主主机发送的数据分组,该多宿主主机拥有至少两个相关联的网络地址,该至少两个相关联网络地址中的每一个都与缺省网关相关联,并且该源地址是该至少两个相关联网络地址中的一个;
确定该数据分组的目的地址;
搜索该多宿主主机的路由表以为该数据分组找到与其目的地址匹配的路由;
检查搜索结果;以及
如果没有找到路由或者找到的路由是路由表中的缺省路由:
确定与指派的源地址相关联的缺省网关;并且
将数据分组分发到确定的与所指派的源地址相关联的缺省网关。
在本发明的实施方式中,如果找到的路由是网关路由,则确定与指派的源地址相关联的缺省网关,并且将该数据分组分发到确定的与所述指派的源地址相关联的缺省网关。
本发明允许多宿主主机利用多个缺省网关来对来自多宿主主机的数据分组进行路由。其结果是,本发明提供了在对来自多宿主主机的数据分组进行路由时的配置简单性和可扩展性。此外,本发明没有破坏任何已有的功能:例如,本发明不需要对传输协议作任何改动。本发明允许替换静态路由,以此使得配置多宿主主机变得简单。而且与此同时,静态路由也可以与本发明一起使用:因为如果任何静态路由比缺省路由更匹配,则该静态路由将重载该缺省路由。其结果是,本发明不会破坏任何已经用静态路由进行配置的已有功能。此外,由于本发明没有改变主机的路由表,所以本发明的改动对主机上的互联网协议路由精灵程序是透明的。
附图说明
附图被包括以提供对本发明的进一步理解、构成了此说明书的一部分、说明了本发明的具体实施方式,并且和描述一起有助于解释本发明的原理。在附图中:
图1是示出了根据本发明实施方式的方法流程图,
图2a是示出了在组网环境中本发明多宿主主机具体实施方式的框图,以及
图2b是更具体示出根据本发明实施方式的多宿主主机框图。
具体实施方式
现在更详细地参考本发明的实施方式,其实例在附图中示出。
图1示出了关于对来自多宿主主机的数据分组进行路由的本发明方法的实施方式。
在步骤100,指派源地址给即将从多宿主主机发送的数据分组。该多宿主主机拥有至少两个相关联的网络地址,并且该至少两个相关联网络地址中的每一个都与缺省网关相关联。多宿主主机网络地址中的至少两个网络地址与不同的缺省网关相关联。此外,指派的源地址是该至少两个相关联网络地址中的一个。
在步骤101,确定数据分组的目的地址。通常,目的地址的确定通过在该数据分组的头部中搜索目的地址来实现。当确定目的地址以后,在步骤102,搜索该多宿主主机的路由表以为该数据分组找到与该目的地址最匹配的路由。
随后,在步骤103,检查搜索结果。在由图1示出的本发明实施方式中,在步骤104中,确定在搜索过程中是否没有找到任何路由。如果找到了某个路由,则在步骤105中确定所找到的路由是否是该多宿主主机路由表中的缺省路由。如果找到的不是缺省路由,则在步骤106中确定所找到的路由是否是该多宿主主机路由表中的网关路由。
如果找到的不是网关路由,则在步骤107退出检查过程,这是因为这表明所找到的路由是匹配的主机路由或者子网路由。在这种情况下,数据分组可以按照现有技术路由到各自的主机或者子网。
应当理解,图1的步骤106是可选的。也就是说,如果找到的不是缺省路由,则可以退出该检查过程。
如果没有找到路由,或者找到的是缺省路由或网关路由,则在步骤108,确定本地链接到该多宿主主机的多个缺省网关中的哪一个与数据分组的指派的源地址相关联。在步骤109,数据分组将分发至这个确定的与指派的源地址相关联的缺省网关。
图2a和图2b示出了本发明中多宿主主机的实施方式。图2a在总体层面上示出了在组网环境中的本发明多宿主主机实施方式,而图2b更具体地示出了本发明的多宿主主机。
图2a公开了诸如局域网的本地网240。三个主机,210、220和230,连接到本地网240。此外,能够实现缺省网关功能的两个路由器250和260链接到了本地网240。而且,路由器250和260都连接到了诸如互联网的外部网络270。
主机210是多宿主主机,它包括三个网络接口,211、212和213。网络接口211、212和213的每一个都拥有各自的相关联网络地址,诸如互联网协议地址。在图2示出的本发明实施方式中,所有三个网络接口211、212和213都链接到本地网240。然而,如本领域技术人员显而易见的,并非多宿主主机的所有网络接口都必须链接到同一个本地网上。而是,多宿主主机的至少一个网络接口可以链接到与该多宿主主机其余网络接口所链接的网络不同的本地网。
因为包括了三个网络接口211、212和213,并且每个网络接口都拥有其各自的相关联网络地址,所以可以通过三个不同的网络地址访问该多宿主主机210,即地址1,地址2和地址3。相应地,当数据分组从多宿主主机210分发出来,三个不同网络地址中的任何一个都可能指派为该数据分组的源地址。
路由器250和260中的一个被指派为与网络接口211相关联的网络地址1的缺省网关。相应地,路由器250和260中的一个被指派为与网络接口212相关联的网络地址2的缺省网关。相应地,路由器250和260中的一个被指派为与网络接口213相关联的网络地址3的缺省网关。例如,假设路由器250被指派为与网络接口211相关联的网络地址1的缺省网关;路由器260被指派为与网络接口212相关联的网络地址2的缺省网关;路由器260也被指派为与网络接口213相关联的网络地址3的缺省网关。
应当注意,虽然有些现有技术允许为多宿主主机的每一个网络地址指派不同的缺省网关,但是在任何给定时刻实际上指派的不同缺省网关中只有一个被使用,这是因为无论主机是多宿主主机还是非多宿主主机,现有技术都只允许主机的路由表包括不超过一个的活动缺省路由。也就是说,在现有技术中,从多宿主主机的任何网络接口分发出来的、去往该多宿主主机所在本地网以外网络的数据分组都将发送到该多宿主主机路由表中缺省路由所指向的路由器,而不考虑任何网络接口或网络地址的特定缺省网关指派。为了切换以使用除由该多宿主主机路由表中缺省路由指向的路由器以外的路由器,需要例如重新初始化各个多宿主主机的互联网协议栈,而这是一个相对耗费时间的过程,并且可能引起各个多宿主主机所提供网络服务的中断。换句话说,例如在容错系统中,切换至另一缺省网关并不可取。然而,用作缺省网关的单个路由器是潜在的单点失败,这在容错系统中同样也是不可接受的。相反,本发明允许根据需要来动态地利用任何可用的缺省网关,而不会中断服务以及产生时间延迟。
此外,现有技术中存在这样利用多个缺省网关的技术,这些缺省网关随机地将每个即将从多宿主发送主机发送的数据分组分发到该多个缺省网关中的一个。其结果是,端到端路由对诸如流控制传输协议、传输控制协议(TCP)和用户数据报协议(UDP)的传输协议变得随机。然而,随机的端到端路由在同时使用多宿主技术和流控制传输协议时尤其不合适。
多宿主主机210还包括路由表214。因为本发明不要求改动路由表,所以路由表214可以是传统现有技术中的路由表,例如包括至少一个主机路由、至少一个子网路由和一个或多个可选的网关路由。另外,该路由表214可以包括缺省路由。然而,如在本领域内众所周知的,该路由表214可以包括不超过一个的缺省路由,也就是不超过一个的活动缺省路由。
多宿主主机210还包括源地址指派器215,其被配置以为即将从该多宿主主机210发出的数据分组指派源地址。指派的源地址是上面提到的与该多宿主主机210的三个网络接口211、212和213相关联的三个不同网络地址之一。继续上面的例子,假设与网络接口211相关联的网络地址1被指派给数据分组作为其源地址。
多宿主主机210进一步包括目的地址确定器216,其被配置以确定数据分组的目的地址。通常,目的地址确定器216会搜索即将发送的数据分组头部以找到目的地址。继续上面的例子,假设数据分组的目的地址是位于外部网络270中节点的网络地址,诸如互联网协议地址。
多宿主主机210进一步包括路由表搜索器217,其被配置以搜索多宿主主机210的路由表214以为即将发送的数据分组找到路由。也就是说,搜索路由表214以找到与数据分组目的地址最匹配的路由。
多宿主主机210进一步包括搜索检查器218,其被配置以检查已经执行的搜索的结果。继续上面的例子,因为数据分组的目的地址是位于本地网240以外的节点地址,所以在主机210的路由表214中没有精确的匹配,而且针对路由表的搜索结果将是找到路由表214的缺省路由。
多宿主主机210进一步包括重载器219,如果没有找到路由或者找到的路由是路由表214中的缺省路由,则重载器将用于确定缺省网关250和260中的哪个与指派的源地址相关联。该重载器219进一步被配置以用于分发数据分组到这个确定的与指派的源地址相关联的缺省网关。此外,在本发明的实施方式中,如果找到的路由是路由表214的网关路由,则重载器219被配置以用于执行上述确定相关联的缺省网关和上述分发数据分组到该确定的缺省网关的操作。继续上述例子,因为指派了网络地址1作为数据分组的源地址,并且因为指派了路由器250作为网络地址1的缺省网关,所以该数据分组将分发到路由器250,该路由器250继续将该数据分组向其外部网络270中的目的节点转发。
此外,在本发明的实施方式中,多宿主主机210进一步包括存储器219b,其被配置以存储有关哪个缺省网关与多宿主主机210的哪个网络地址相关联的信息。在这个实施方式中,重载器219将搜索存储器219b以发现与指派的源地址相关联的缺省网关。继续上述例子,存储器219b例如可以包括这样的信息,即路由器250被指派为与网络接口211相关联的网络地址1的缺省网关;路由器260被指派为与网络接口212相关联的网络地址2的缺省网关;路由器260还被指派为与网络接口213相关联的网络地址3的缺省网关。应当注意,即使为了清楚起见在图2b中将存储器219b示出为分离的实体,但是存储器219b可以通过集成到多宿主主机210包括的另一组件中实现。例如,存储器219b可以与重载器219集成在一起。但是,还应当注意的是不建议将存储器219b与多宿主主机210的路由表214集成在一起,以便维持本发明的上述目标,即要求不改动传统现有技术中的路由表。
应当注意的是,运行于主机并且通过网络进行通信的应用程序经常需要利用套接字(socket)通信。通常这些套接字都是传输层类型的。因此,现有技术的系统通常拥有最优化的传输层协议,诸如流控制传输协议、传输控制协议和用户数据报协议,以使得在传输层创建端到端连接的同时,将要使用的下一跳节点也被选中,并且有关被选中的下一跳节点的信息也被保存到相关套接字的路由缓存中。换句话说,针对每个传输层端到端连接搜索一次路由表,而不是针对每个数据分组分别搜索一次。与针对每个数据分组分别搜索一次路由表相比,这样的优化通常会带来性能上巨大提高。例如,如果多宿主主机210利用上面描述的优化,则当实现本发明的时候观察到该优化将是十分有益的。
通过允许将多宿主主机路由表中的缺省路由重载为与指派给数据分组的源地址相关联的缺省网关,本发明补充了传统的基于目的地址的下一跳查询。此外,因为本发明补充了现有技术的解决方案,所以本发明不会破坏任何已有的功能:例如在上述第二种部署(在完成搜索发送主机的路由表以前,不指派源地址给数据分组)的情况下,,本发明允许根据需要按照现有技术指派源地址。例如,本发明可以通过改动多宿主主机的传输控制协议栈/互联网协议栈的功能来实现。
对于本领域技术人员而言显而易见的是,利用技术上的提升,本发明的基本思想可以通过多种不同方式实现。因此本发明和其实施方式将不局限于上述例子,而是可以在权利要求的范围内变化。
Claims (8)
1.一种对来自多宿主主机的数据分组进行路由的方法,该方法包括:
指派源地址给即将从所述多宿主主机发送的数据分组,所述多宿主主机拥有至少两个相关联的网络地址,所述至少两个相关联网络地址中的每一个都与缺省网关相关联,并且所述源地址是所述至少两个相关联网络地址中的一个;
确定所述数据分组的目的地址;
搜索所述多宿主主机的路由表以为所述数据分组找到与其所述目的地址匹配的路由;
检查所述搜索的结果;以及
如果没有找到路由或者找到的路由是所述路由表中的缺省路由:
确定与所述指派的源地址相关联的缺省网关;并且
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
2.根据权利要求1所述的方法,进一步包括:
如果该找到的路由是网关路由:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
3.一种多宿主主机,包括:
源地址指派器,其被配置以指派源地址给即将从所述多宿主主机发送的数据分组,所述多宿主主机拥有至少两个相关联的网络地址,所述至少两个相关联网络地址中的每一个都与缺省网关相关联,并且所述源地址是所述至少两个相关联网络地址中的一个;
目的地址确定器,其被配置以确定所述数据分组的目的地址;
路由表搜索器,其被配置以搜索所述多宿主主机的路由表以为所述数据分组找到与其所述目的地址匹配的路由;
搜索检查器,其被配置以检查所述搜索的结果;以及
重载器,其被配置以在没有找到路由或者找到的路由是所述路由表中的缺省路由时:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
4.根据权利要求3所述的多宿主主机,其中所述重载器被进一步配置以在该找到的路由是网关路由时:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述确定的缺省网关。
5.一种多宿主主机,包括:
源地址指派装置,用于指派源地址给即将从所述多宿主主机发送的数据分组,所述多宿主主机拥有至少两个相关联的网络地址,所述至少两个相关联网络地址中的每一个都与缺省网关相关联,并且所述源地址是所述至少两个相关联网络地址中的一个;
目的地址确定装置,用于确定所述数据分组的目的地址;
路由表搜索装置,用于搜索所述多宿主主机的路由表以为所述数据分组找到与其所述目的地址匹配的路由;
搜索检查装置,用于检查所述搜索的结果;以及
重载装置,其被配置用于在没有找到路由或者找到的路由是所述路由表中的缺省路由时:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
6.根据权利要求5所述的多宿主主机,其中所述重载装置被进一步配置用于当该找到的路由是网关路由时:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
7.一种在计算机可读介质上具体化的计算机程序,用于对来自多宿主主机的数据分组进行路由,该计算机程序控制数据处理设备以执行以下步骤:
指派源地址给即将从所述多宿主主机发送的数据分组,所述多宿主主机拥有至少两个相关联的网络地址,所述至少两个相关联网络地址中的每一个都与缺省网关相关联,并且所述源地址是所述至少两个相关联网络地址中的一个;
确定所述数据分组的目的地址;
搜索所述多宿主主机的路由表以为所述数据分组找到与其所述目的地址匹配的路由;
检查所述搜索的结果;以及
如果没有找到路由或者找到的路由是所述路由表中的缺省路由:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
8.根据权利要求7所述的计算机程序,进一步控制该数据处理设备以执行以下步骤:
如果该找到的路由是网关路由:
确定与所述指派的源地址相关联的缺省网关;以及
分发所述数据分组到与所述指派的源地址相关联的所述缺省网关。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20050919A FI20050919A0 (fi) | 2005-09-15 | 2005-09-15 | Monikotiselta isäntäkoneelta tulevien datapakettien reititys |
FI20050919 | 2005-09-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101263696A true CN101263696A (zh) | 2008-09-10 |
Family
ID=35151378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800339601A Pending CN101263696A (zh) | 2005-09-15 | 2006-09-01 | 对来自多宿主主机的数据分组进行路由 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7894456B2 (zh) |
EP (1) | EP1932295A4 (zh) |
CN (1) | CN101263696A (zh) |
FI (1) | FI20050919A0 (zh) |
TW (1) | TW200713922A (zh) |
WO (1) | WO2007031593A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010111823A1 (zh) * | 2009-03-30 | 2010-10-07 | 华为技术有限公司 | 一种本地路由的方法、装置及系统 |
WO2017015950A1 (zh) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | 一种数据传输及生成地址映射表的方法、装置及设备 |
CN109831383A (zh) * | 2017-11-23 | 2019-05-31 | 哈曼国际工业有限公司 | 多宿主网络装置的互联网可达性检测和互联网高可用性 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2391077B1 (en) * | 2006-11-09 | 2014-01-01 | Huawei Technologies Co., Ltd. | Method and border node for advertising border connection information of autonomous system |
US8458285B2 (en) | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US7636759B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US7636761B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US7599997B1 (en) * | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
TWI452878B (zh) * | 2008-03-21 | 2014-09-11 | Ralink Technology Corp | 封包處理系統及方法 |
US8386585B2 (en) * | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
US8452844B2 (en) * | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US8189587B2 (en) | 2008-06-08 | 2012-05-29 | Apple Inc. | Routing table lookup algorithm employing search key having destination address and interface component |
WO2009150490A1 (en) * | 2008-06-09 | 2009-12-17 | Nokia Corporation | Method, apparatus, and computer program product for communication routing |
US8370446B2 (en) * | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
US8599678B2 (en) * | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US8478823B2 (en) * | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US8352635B2 (en) * | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
US8844018B2 (en) * | 2008-12-18 | 2014-09-23 | At&T Intellectual Property I, L.P. | Methods and apparatus to enhance security in residential networks |
WO2011069274A1 (en) * | 2009-12-09 | 2011-06-16 | Telefonaktiebolaget L M Ericsson (Publ) | Call switching in packet-based communication networks |
US8510409B1 (en) * | 2009-12-23 | 2013-08-13 | Emc Corporation | Application-specific outbound source routing from a host in a data network |
CN101848164B (zh) * | 2010-05-27 | 2013-05-29 | 北京邮电大学 | 基于多家乡主机扩展协议hip实现流分配和流重定向的方法 |
US9152293B2 (en) * | 2010-12-09 | 2015-10-06 | Verizon Patent And Licensing Inc. | Server IP addressing in a computing-on-demand system |
US9294389B2 (en) * | 2011-06-23 | 2016-03-22 | Cisco Technology, Inc. | Method to select interface for IP packets when destination subnet is reachable on multiple interfaces |
US9407493B2 (en) * | 2012-04-19 | 2016-08-02 | Futurewei Technologies, Inc. | System and apparatus for router advertisement options for configuring networks to support multi-homed next hop routes |
CN104079478B (zh) * | 2013-03-25 | 2017-06-16 | 新华三技术有限公司 | 报文转发方法和装置 |
US20140355536A1 (en) * | 2013-06-04 | 2014-12-04 | Alcatel Lucent | System and method providing fixed mobile convergence via bonded services |
US9912631B2 (en) * | 2013-12-26 | 2018-03-06 | Fastly, Inc. | Content node selection based on classless prefix |
CN111835876B (zh) * | 2019-04-22 | 2022-07-05 | 杭州海康威视系统技术有限公司 | 网络地址配置方法、装置、服务器集群及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6064671A (en) | 1995-12-08 | 2000-05-16 | Killian; Michael G. | Multi-homed end system for increasing computers network bandwidth |
US5996021A (en) * | 1997-05-20 | 1999-11-30 | At&T Corp | Internet protocol relay network for directly routing datagram from ingress router to egress router |
US6119170A (en) * | 1997-12-29 | 2000-09-12 | Bull Hn Information Systems Inc. | Method and apparatus for TCP/IP multihoming on a host system configured with multiple independent transport provider systems |
US6931018B1 (en) | 2001-03-16 | 2005-08-16 | At&T Corp. | Local network router and method of routing IP data packets |
US7269157B2 (en) * | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US7493412B2 (en) | 2002-09-12 | 2009-02-17 | International Business Machines Corporation | Method for processing a data packet |
US20040111529A1 (en) * | 2002-12-10 | 2004-06-10 | Intel Corporation (A Delaware Corporation) | Dynamic host based load balancing of a multihomed network |
JP2005072685A (ja) * | 2003-08-27 | 2005-03-17 | Ntt Docomo Inc | ルータ装置及びその装置における経路情報の配布方法並びに通信システム |
JP2005277498A (ja) * | 2004-03-23 | 2005-10-06 | Fujitsu Ltd | 通信システム |
US7594031B2 (en) * | 2005-09-15 | 2009-09-22 | Microsoft Corporation | Network address selection |
-
2005
- 2005-09-15 FI FI20050919A patent/FI20050919A0/fi not_active Application Discontinuation
- 2005-11-15 US US11/273,399 patent/US7894456B2/en active Active
-
2006
- 2006-07-31 TW TW095128031A patent/TW200713922A/zh unknown
- 2006-09-01 CN CNA2006800339601A patent/CN101263696A/zh active Pending
- 2006-09-01 WO PCT/FI2006/000293 patent/WO2007031593A1/en active Application Filing
- 2006-09-01 EP EP06794071A patent/EP1932295A4/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010111823A1 (zh) * | 2009-03-30 | 2010-10-07 | 华为技术有限公司 | 一种本地路由的方法、装置及系统 |
CN102498692A (zh) * | 2009-03-30 | 2012-06-13 | 华为技术有限公司 | 一种本地路由的方法、装置及系统 |
CN102498692B (zh) * | 2009-03-30 | 2014-12-03 | 华为技术有限公司 | 一种本地路由的方法、装置及系统 |
WO2017015950A1 (zh) * | 2015-07-30 | 2017-02-02 | 华为技术有限公司 | 一种数据传输及生成地址映射表的方法、装置及设备 |
CN109831383A (zh) * | 2017-11-23 | 2019-05-31 | 哈曼国际工业有限公司 | 多宿主网络装置的互联网可达性检测和互联网高可用性 |
Also Published As
Publication number | Publication date |
---|---|
EP1932295A1 (en) | 2008-06-18 |
TW200713922A (en) | 2007-04-01 |
FI20050919A0 (fi) | 2005-09-15 |
EP1932295A4 (en) | 2009-12-09 |
WO2007031593A1 (en) | 2007-03-22 |
US7894456B2 (en) | 2011-02-22 |
US20070058606A1 (en) | 2007-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101263696A (zh) | 对来自多宿主主机的数据分组进行路由 | |
US7885180B2 (en) | Address resolution request mirroring | |
US7894372B2 (en) | Topology-centric resource management for large scale service clusters | |
US9385949B2 (en) | Routing controlled by subnet managers | |
Liu et al. | Data center networks: Topologies, architectures and fault-tolerance characteristics | |
US7769886B2 (en) | Application based active-active data center network using route health injection and IGP | |
US6954784B2 (en) | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address | |
US7609619B2 (en) | Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution | |
US7231462B2 (en) | Method of preserving symmetrical routing in a communication system based upon a server farm | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US10142160B1 (en) | System and methods for managing network hardware address requests with a controller | |
US7929420B2 (en) | Method and apparatus for learning VRRP backup routers | |
US10270645B2 (en) | Systems and methods for handling link aggregation failover with a controller | |
JP3583049B2 (ja) | ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム | |
WO2021217872A1 (zh) | 基于虚拟私有云的网关节点的配置方法、装置和介质 | |
US7864666B2 (en) | Communication control apparatus, method and program thereof | |
US7003581B1 (en) | System and method for improved load balancing and high availability in a data processing system having an IP host with a MARP layer | |
US8139572B1 (en) | Method for bi-directional symmetric routing in multi-homed networks with stateful firewalls | |
US20080144634A1 (en) | Selective passive address resolution learning | |
EP1566034B1 (en) | Method and appliance for distributing data packets sent by a computer to a cluster system | |
US20130159549A1 (en) | Device communications over unnumbered interfaces | |
Hamdi | Yang Liu Jogesh K. Muppala Malathi Veeraraghavan Dong Lin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080910 |