CN101495997B - 用于在中间节点间单路同步路由信息的技术 - Google Patents
用于在中间节点间单路同步路由信息的技术 Download PDFInfo
- Publication number
- CN101495997B CN101495997B CN200780027746XA CN200780027746A CN101495997B CN 101495997 B CN101495997 B CN 101495997B CN 200780027746X A CN200780027746X A CN 200780027746XA CN 200780027746 A CN200780027746 A CN 200780027746A CN 101495997 B CN101495997 B CN 101495997B
- Authority
- CN
- China
- Prior art keywords
- router
- routing table
- refresh
- initiation
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000000977 initiatory effect Effects 0.000 claims abstract description 101
- 238000004891 communication Methods 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 23
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000725 suspension Substances 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 102100036255 Glucose-6-phosphatase 2 Human genes 0.000 description 1
- 101000930907 Homo sapiens Glucose-6-phosphatase 2 Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229920002457 flexible plastic Polymers 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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
- H04L45/02—Topology update or discovery
-
- 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
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于同步路由数据的技术包括判断是否满足与邻近路由器之间单路传送的条件。如果确定满足与邻近路由器之间单路传送路由表数据的条件,则从发起路由器向邻近路由器发送刷新通知消息。该刷新通知消息包括指示用于传送路由表数据的特定方向的数据。如果该特定方向是进入,则在不发送发起路由器自己的路由表的拷贝的情况下接收邻近路由表的拷贝。如果该特定方向是外出,则在不接收邻近路由表的拷贝的情况下发送自己的路由表的拷贝。
Description
技术领域
本发明涉及对多个中间网络节点之间的路由信息进行同步;更具体而言,涉及在某些情形中避免双路(two way)同步。
背景技术
通过外部通信链路相连接的通用计算机系统和专用设备的网络是公知的,并且在商业上被广泛使用。这些网络通常包括一个或多个帮助信息在计算机系统和设备间通行(passage)的网络设备。网络节点是通过通信链路相连接的网络设备、计算机或专用设备。端节点是被配置为发起或终结网络上的通信的网络节点。中间网络节点帮助数据在端节点之间的通行。
节点之间的通信一般是通过交换离散的数据分组实现的。信息是根据许多公知的、新的或者仍在开发中的协议中的一种或多种在数据分组(这里也称作消息)中交换的。在本上下文中,协议由定义节点如何基于经由通信链路发送的信息来彼此交互的一组规则组成。每个分组一般包括:1]与特定协议相关联的头部信息,以及2]位于头部信息之后并包含可独立于该特定协议来处理的信息的有效负载信息。头部包括诸如分组的源、其目的地、有效负载的长度以及协议所使用的其他属性之类的信息。通常,用于特定协议的有效负载中的数据包括与用于信息交换的不同层的细节相关联的不同协议的头部和有效负载。
穿越诸如因特网之类的多个异构网络的分组中包括的头部一般包括物理(第1层)头部、数据链路(第2层)头部、互联网络(第3层)头部和传输(第4层)头部,如开放系统互连(OSI)参考模型所定义的。OSI参考模型总地在1999年9月出版的Radia Perlman所著的题为Interconnections Second Edition的参考书的第1.1节中有更详细描述,特此通过引用将该书并入,就好像在这里完全阐述了一样。
互连网络头部提供了定义网络内的源和目的地址的信息。注意,路径可以跨越多个物理链路。互连网络头部可以根据因特网协议(IP)来格式化,其用于指定逻辑路径的端点处的源和目的地节点的IP地址。因此,分组可以沿其逻辑路径从一个节点“跳跃”到另一个节点,直到其到达被指派给该分组的互连网络头部中存储的目的地IP地址的端节点为止。
路由器和交换机是确定采用哪个或哪些通信链路来支持数据分组通过网络的前进的网络设备。基于互联网络头部(第3层)中的信息来确定采用哪些链路的网络节点被称为路由器。
一些协议用特殊的控制分组来在两个或更多个网络节点之间传递与协议相关的信息,其中,所述特殊的控制分组是单独传输的,并且包括由协议本身使用的信息的有效负载,而不包括将为另一应用传输的数据的有效负载。这些控制分组和利用这些控制分组的网络节点处的进程被说成是在与“数据平面”维度不同的另一个维度“控制平面”中,其中,“数据平面”维度包括具有用于端节点处的其他应用的有效负载的数据分组。
路由协议(routing protocol)仅交换用于对以不同的所路由的协议(routed protocol)(例如,IP)发送的数据分组进行路由的控制平面消息。处于单个机构(例如,企业或因特网服务提供商(ISP))的网络管理下的网络部分被称作域或者自治系统(AS)。为了减少网络资源消耗并且提高可扩展性,一些路由协议仅发送概括的路由信息。AS的路由信息在其与中间网络节点处的一个或多个其他AS的边界处被概括,其中,所述中间网络节点被称作边界网关节点或者边界网关(BG)路由器。在一个AS的边界内共享的路由信息是使用内部网关协议(IGP)交换的。示例性IGP包括链路状态协议,例如,中间系统到中间系统(IS-IS)协议和开放最短路径优先(OSPF)协议。由加州圣何塞市的思科系统公司开发的用在其路由器中的另一种IGP是增强的内部网关路由协议(EIGRP)。一些链路状态协议将自治系统划分成多个区域,在一个区域内涌入用于统一的路由数据库的所有数据,但是在区域之间仅发送概括的信息(summarizedinformation)。一些IGP(如EIGRP)仅发送来自自治系统中的每个中间网络节点的概况信息(summary information)。
在拓扑或配置改变后,例如,当路由器中的中央处理单元(CPU)发生故障并且被备用CPU替换后,EIGRP路由器利用合适的重启(GRS)过程来对它的关于网络拓扑的信息重新进行同步。该网络拓扑信息指示通过网络中的哪些路由器可以到达哪些目的地节点。EIGRP使用矩阵度量来确定从任意路由器到达任意目的地的代价,并且该代价和拓扑信息一起被包括到路由表中,在每个路由器处驻留有路由表的一部分。利用GRS过程,网络中的路由器可以继续转发消息持续若干秒,同时改变后的路由器更新它的关于网络拓扑的信息,并且将该信息传递给受影响的路由器。该过程提供了称作不停止转发(NSF)的特征。
根据GRS,已检测出配置或拓扑改变的路由器通过发送协议的一个UPDATE(更新)消息(例如,EIGRP UPDATE消息)来发起GRS,该消息的重启同步(RS)位为ON并且发起(INIT)位为ON,指示该路由器(发起路由器)正在启动合适的重启。接收到该UPDATE消息的相邻路由器(也称作“对等体”)利用一个UPDATE消息对该合适的重启进行确认,该UPDATE消息的RS位为ON但是INIT位不为ON。在交换了这两个UPDATE消息后,发起路由器和相邻路由器都发送具有各自已在逻辑上存储的矩阵度量的拓扑表。具有矩阵度量(这里也称作路由表数据)的拓扑表是在同步期间(这里也称作“刷新”、“重启同步”和“重同步”)利用双路(双向)传送每个节点的完整路由表数据来交换的。
尽管适于GRS和NSF,但是该方法存在许多缺点。存在不必在两个方向上发送路由表数据的情形。当前,EIGRP即使在这些情形中也使用完整地双路传送路由表的GRS。
例如,当在一个路由器处的过滤器改变了时,仅来自一个或多个路由器的路由表数据需要被交换,而不是来自所有邻居的全部路由表数据。过滤器是路由器处的一个配置的进程,利用过滤器若干路由的细节在被通告给其他路由器之前被概括(“汇聚”)到特定的程度。路由器可以具有一个进入(inbound)过滤器,该进入过滤器用来忽略来自某些邻居的对特定目的地的通告。路由器还可以具有一个外出(outbound)过滤器,该外出过滤器用来防止对特定目的地的通告到达某些邻居。
另外,路由器可能针对汇聚被配置,利用汇聚单个路由通告用来替换多个其他路由通告。对于进入和外出通告,这类似于外出过滤器,但是不同在于进行过滤而不是防止路由被通告,一个不同的路由替代一组路由被通告。
当进入路由过滤器改变时,路由器没有理由再次将其路由表发送给其邻居,因为外出路由没有改变。类似地,当外出过滤器或汇聚改变时,期望重配置的路由器将整个新路由表发送给受该汇聚影响的一个或多个邻居。但是,这些邻居的路由表未改变,因此一个路由器不必接收每个邻居的路由表。对于单个的路由器或者作为一个整体的网络来说,消耗处理和通信带宽来使得通过发送它们所有的路由表数据来对更新作出响应是难以承受的。这种不必要的传送显著地影响了网络的性能。
类似地,当进入过滤器改变时,期望重配置的路由器接收来自受该过滤器改变所影响的一个或多个邻居的整个路由表。但是,该路由器自身的路由表未改变,因此对于单个的路由器或者作为一个整体的网络来说,消耗处理和通信带宽来使得过滤器改变了的路由器通过向它的所有邻居发送其路由表数据来参与该更新是难以承受的。这种不必要的传送显著地影响了网络的性能。
基于前述内容,很清楚需要用于对相邻路由器之间路由信息进行同步而不涉及与所有邻居之间的双路传送的技术。
附图说明
在附图中以示例方式而非限制方式图示了本发明,附图中相似的标号指代类似的元件,其中:
图1A是示出了根据实施例的包括大量相邻路由器的网络的一部分的框图;
图1B是示出了根据实施例的在一点到多点的链路上包括大量相邻路由器的网络的一部分的框图;
图2A是示出了根据实施例的作为用于发起对路由数据的刷新的刷新通知消息的控制平面更新消息的框图;
图2B是示出了根据实施例的作为用于对刷新通知消息作出响应的刷新响应消息的控制平面更新消息的框图;
图3是示出了根据实施例的利用在图2A和2B中示出的控制平面消息的路由器的框图;
图4A是在高层示出了根据实施例的用于发起对路由数据的刷新的方法的流程图;
图4B是在高层示出了根据实施例的用于对对路由数据的刷新的通知作出响应的方法的流程图;
图5是示出了可以在其上实现本发明的实施例的路由器的框图。
具体实施方式
描述了用于在分组交换通信网络中的邻居间同步路由表数据的技术。在以下描述中,出于说明目的,阐述了许多具体细节以提供对本发明的全面理解。但是,本领域的技术人员将会明白,没有这些具体细节也能实现本发明。在其他情况下,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明。
在下面的描述中,在自治系统内利用EIGRP在相邻路由器间同步路由表数据的上下文中描述了本发明的实施例。但是,本发明不限于该上下文和协议,而是可以被应用于在计算所通告的路由中的向量度量的邻居之间偶然同步路由表数据的任意路由协议。
1.0网络概述
图1A是示出了根据实施例的包括大量相邻路由器的网络102的一部分的框图。网络102包括大量中间网络节点:路由器121a、路由器121b、路由器121c、路由器122a、路由器122b、路由器122c、路由器123a、路由器123b、路由器123c、路由器124a、路由器124b、路由器124c,以及由省略号125a、125b、125c和125d所代表的其他路由器,下文中总地称作路由器120。路由器120由通信链路130连接,通信链路130上没有插入中间网络节点(称作网段)。因此,路由器120是邻居。尽管出于说明目的在网络102中示出了一定数目的节点120和链路130,但是在其他实施例中,网络包括更多或者更少的节点(例如,是路由器120的邻居或者不是其邻居的路由器和端节点)和更多或更少的链路。
由一个路由器(例如,路由器121a)发送的消息可能导致可变数量的代价以到达由链路130构成的网段上的每个其他相邻路由器120。可以以本领域已知的任意方式来测量代价,包括带宽、传输时间、信号衰减、以及对噪声的敏感度等等,或者这些因素的任意组合。由于网段上的噪声或拥塞,一些路由器可能完全不能接收到消息。为了说明目的,假设到达路由器121a的一个邻居的代价是以往返传输时间测量的,并且在图1A中随着从路由器121a向右的距离增大而增大。假设省略号125a所示的所有路由器都比路由器122a更接近路由器121a。类似地,假设省略号125b、125c所示的所有路由器都分别比路由器123a、124a更接近路由器121a。当路由器121a向它的任意或者所有相邻路由器120发送可靠消息时,相邻路由器120返回一个ACK消息。
图1B是示出了根据实施例的在一点到多点链路上包括大量相邻路由器的网络104的一部分的框图。在网络104中,网络102的路由器121a被具有一点到多点接口150的路由器129替换。链路130被具有到网络102中的其他路由器120的一点到多点链路140替换。在所示实施例中,该一点到多点链路包括链路140a、链路140b、链路140c、链路140d、链路140e、链路140f、链路140g、链路140h、链路140i、链路140j、链路140k、链路140l、链路140m、链路140n和链路140o。与每个路由器120都具有许多的邻居的网络102不同,在网络104中,仅路由器129具有许多邻居。其他路由器120每个仅具有数个邻居。链路140形成一个网段。网络104还包括连接到端节点180的子网105,子网105和相邻路由器121b、121c、以及省略号125a所示的路由器之间的链路。
如背景部分中所述,EIGRP允许发起路由器(例如,路由器121a或路由器129)通过发送RS位为ON并且INIT位也为ON的EIGRPUPDATE消息来与它的所有邻居重同步其路由数据。在下面,为了说明简单,一个位在具有二进制值1是被认为ON,而在具有二进制值0是不被认为ON(即,OFF)。在其他实施例中,也可以用其他值来指定具有一个或多个位的字段何时为ON何时为OFF。响应于接收到RS位为ON并且INIT位也为ON的UPDATE消息,每个邻居响应以RS位为ON但是INIT位为OFF的UPDATE消息,该消息用作确认(ACK)消息。在这种消息交换之后,每个路由器开始发送其整个路由数据拓扑(即,路由表数据),发起路由器向它的所有邻居发送其全部路由表数据,并且每个邻居向发起路由器发送其全部路由表数据,这是以完全双路方式传送全部路由信息,即,双路刷新。
根据本发明的各种所示实施例,下面部分将更详细地描述,发起路由器确定邻居的子集(从一个邻居直到所有邻居,包括一个邻居和所有邻居),并且向该邻居的子集发送指示单路方向传送路由数据的EIGRPUPDATE消息。
响应于接收到所指示的单路方向的UPDATE消息,在所示实施例中,支持单路传送的每个接收邻居响应以其中也被指示为单路方向的UPDATE消息。
单路传送然后开始,一个路由器将它的所有路由数据传送给其他的路由器,但是不在返回中接收。与在该协议的较早版本(例如,EIGRP的早期版本)中使用的默认重同步期间的双路传送相比,这减少了在这种重同步期间对处理和通信带宽资源的消耗。
在一些实施例中,为了与使用在同步期间不支持单路传送的该协议(例如,EIGRP)的较早版本的邻居向后兼容,来自该邻居的UPDATE消息不指示单路方向。在该情形中,发起路由器进行包括路由表数据的双路传送的默认重同步。
2.0路由信息的数据结构
图2A是示出了根据实施例的用作刷新通知消息220的控制平面更新消息(例如,经修改的EIGRP UPDATE消息)的框图,其中该刷新通知消息220用于发起对路由数据的刷新。刷新通知消息220包括更新类型字段221、顺序号字段224、INIT位字段222a、RS位字段222b、NOR位字段222c、NIR位字段222d和路由信息字段226,以及其他未示出的字段。一个位是一个二进制数字。尽管出于说明目的消息220(以及下面参考图2B所述的消息230)被示为具有按照特定顺序的连续字段的整个块,但是在其他实施例中,这些字段中的一个或多个部分按照不同的顺序被放置或者被省略。
类型字段221保存指示消息220的类型的数据。例如,类型字段221保存指示EIGRP UPDATE消息类型的数据,从而使得遵循UPDATE消息的EIGRP协议的接收路由器明了随后的字段的顺序和大小。
顺序号字段224保存指示消息220在用来传送路由信息的一系列消息中的顺序的数据,例如当前消息220中所包括的整个更新的累积字节数(1字节一般等于8位)。路由更新信息通常按照它被发送的顺序被适当地处理。顺序号字段的内容确保接收路由器可以确定正确的顺序以对路由更新消息进行处理并且检测任何字节的丢失。
INIT位字段222a保存为ON的一位来指示该更新消息正发起一个过程,例如,一个更新、查询或者刷新。在其他实施例中,字段222a保存多于一个位。RS位字段222b保存为ON的一位来指示该更新消息用于刷新处理(即,重新开始对路由表数据进行同步的处理)。在其他实施例中,字段222b保存多于一个位。在上面背景部分中已描述了使用INIT位字段222a和RS位字段222b用于双路刷新。
根据所示实施例,刷新通知消息220包括NOR位字段222c和NIR位字段222d。NOR位字段或NIR位字段为ON以指示刷新期间对路由表数据的单路传送。NOR位字段222c指示发起路由器和邻居之间的一个方向上的传送,而NIR位字段222d指示相反的方向。
在这些实施例中为了后向兼容,NOR位字段222c和NIR位字段222d的位置是在消息220的在该协议的在先版本中未使用的位置中选出的。例如,在一些实施例中,字段222c和222d位于在先版本中保留的区域中。在一些实施例中,字段222c和222d位于先前的协议所支持的一列长度、属性、值三元组中,但是具有未针对在先版本定义的一个或多个新的属性值。NOR位字段222c和NIR位字段222d的ON值被挑选为与在该协议的在先版本中不存在这些字段区分开来。为了说明目的,假定在该协议的在先版本中保留区域中的值全为零。因此,在所示实施例中,NOR位和NIR位的ON值被选择为二进制值1。在所示实施例中,NOR位和NIR位被命名,使得在它们未被设置时,执行默认的双路刷新,这与实现该协议的在先版本的路由器兼容。NOR位为ON指示从发送了消息220的发起路由器来看“无外出刷新”。NIR位为ON指示从发送了消息220的发起路由器来看“无进入刷新”。
路由信息字段226保存指示路由信息的下一部分的数据,例如,路由表更新、或者路由查询信息、或者要从发起路由器发送的完整路由表的第一部分,如果存在的话。
图2B是示出了根据实施例的用作刷新响应消息230的控制平面更新消息(例如经修改的EIGRP UPDATE消息)的框图,该刷新响应消息230用于对刷新通知消息作出响应。刷新响应消息230包括更新类型字段231、顺序号字段234、INIT位字段232a、RS位字段232b、NOR位字段232c、NIR位字段232d、路由信息字段236、以及其他未示出的字段。
类型字段231保存指示消息230的类型的数据。例如,类型字段231保存指示EIGRP UPDATE消息类型的数据,从而使得遵循UPDATE消息的EIGRP协议的接收路由器明了随后的字段的顺序和大小。
顺序号字段234保存指示消息230在用来传送路由信息的一系列消息中的顺序的数据,例如来自发送消息230的路由器的当前消息230中所包括的整个更新的累积字节数。顺序号字段234的内容确保接收路由器可以确定正确的顺序以对路由更新消息进行处理并且检测任何字节的丢失。
INIT位字段232a保存指示该UPDATE消息正发起一个过程的一位,例如,一个更新、查询或者刷新。在其他实施例中,字段232a保存多于一个位。RS位字段232b保存指示该UPDATE消息用于刷新处理(即,重新开始同步处理)的一位。在其他实施例中,字段232b保存多于一个位。在上面背景部分中已描述了使用INIT位字段232a和RS位字段232b用于双路刷新。在所示实施例中,在刷新响应消息230中INIT位为OFF(例如,INIT位的值为二进制0),并且在刷新响应消息230中RS位为ON(例如,RS位的值为二进制1)
根据所示实施例,刷新响应消息230包括NOR位字段232c和NIR位字段232d。NOR位字段或NIR位字段为ON以指示刷新期间对路由表数据的单路传送。NOR位字段232c指示发起路由器和邻居之间的一个方向上的传送,而NIR位字段232d指示相反的方向。
在这些实施例中为了后向兼容,NOR位字段232c和NIR位字段232d的位置是在消息230的在该协议的在先版本中未使用的位置中选出的,如上面针对刷新通知消息220所述。NOR位为ON指示从邻居发送消息230来看“无外出刷新”。NIR位为ON指示从邻居发送消息230来看“无进入刷新”。
路由信息字段236保存指示路由信息的下一部分的数据,例如,路由表更新、或者路由查询响应信息、或者要从相邻路由器发送的完整路由表的第一部分,如果存在的话。
图3是示出了根据实施例的使用在图2A和2B中所示的控制平面消息的路由器的框图。路由器300包括路由过程310、路由表320和邻居数据结构330。
路由过程310在处理器上运行,处理器例如是执行使处理器执行路由过程的指令序列的通用处理器。根据本发明的实施例,路由过程包括支持刷新期间的单路传送的过程314,下面将参考图4A和图4B更详细地描述。路由过程310基于在存储在路由协议信息数据结构(包括邻居数据结构330、以及其他未示出的数据结构)中的一个或多个路由协议更新或刷新消息中接收到的信息,在路由表320中存储信息和检索路由表320中的信息。
路由表320是这样的数据结构,该数据结构针对从路由器300可达的每个目的地包括地址字段322、链路字段323和0个或多个属性字段。在所示实施例中,属性字段包括总成本字段324。地址字段322保存指示路由器300可达的一个目的地地址或者地址范围,例如,端节点180或者子网105的IP地址。链路字段323指示在路由器300上用作到达字段322中所指示的目的地地址的下一跳的链路。例如,到路由器121b的链路140a是从路由器129到端节点180的下一跳的链路,因此指示链路140a的数据被包括在链路字段323中。总成本字段324保存指示从路由器300到达目的地地址的成本度量。省略号329示出了路由表320中的针对其他目的地的字段。
邻居数据结构330是保存对路由器300的每个邻居进行描述的数据的数据结构。在所示实施例中,邻居数据结构330对于每个邻居包括邻居标识符字段332和关于与邻居交换的分组的信息字段337。在一些实施例中,与每个邻居还关联有其他数据字段(未示出)。省略号339示出了其他邻居的字段。
邻居标识符字段332保存指示特定相邻路由器的数据,例如,该特定邻居的IP地址。关于与邻居交换的分组的信息字段337保存指示与字段332中所指示的特定邻居交换的顺序号和路由信息的队列的数据。在各种实施例中,该队列自身、或者指向包含该队列的存储器位置的指针被包括在字段337中。如果未及时得到确认,可以再次向该邻居发送该队列中的数据。
数据结构可以以本领域已知的任何方法(包括利用一个或多个节点上的易失性存储器或者非易失性存储设备的多个部分)形成在一个或多个文件或者通过数据库服务器访问的一个或多个数据库中,或者某种组合中。尽管为了说明目的数据结构320、330被示为具有按照特定顺序的连续字段的整体块,但是在其他实施例中,数据结构320、330的一部分或者多部分字段按照相同或者不同顺序作为分离数据结构被存储在执行路由器300的功能的相同或者不同的多个节点上。
根据本发明的各种实施例,路由器300发起或者响应支持对路由数据的单路传送的刷新通知和刷新响应消息,或者某种组合。
3.0单路刷新的方法
图4A是在高层示出了根据实施例的用于发起对路由数据的刷新的方法401的流程图。尽管为了说明目的按照特定的顺序示出了图4A(和随后的流程图图4B)中的步骤,但是在其他实施例中,一个或多个步骤可以按照不同的顺序执行或者在时间上重叠地执行,或者一个或多个步骤可以被省略或添加,或者可以作出这些改变的某种组合。
在步骤410中,在发起路由器处确定路由信息的改变。在步骤410期间可以确定本领域已知的任何改变。例如,由于路由器300处的外出过滤器的改变,路由表320中发生改变。这种改变影响要发送到一个或多个邻居的路由信息。作为另一个示例,由于进入过滤器改变,需要来自一个或多个邻居的路由表信息,从而路由器300可以再次计算路由表320。步骤410包括确定该改变所影响的一个或多个邻居的子集,这包括全部邻居、少于全部邻居、以及仅一个邻居。
在步骤420中,针对该子集中的每个邻居判断该改变是否影响了进入刷新、外出刷新、或者都没影响、或者对这二者都发生了影响。例如,一些改变是利用一个或多个简单的更新消息应对的,而不涉及任一路由器刷新整个路由表。在该情形中,控制传递到步骤422而不执行刷新。步骤422包括除任一路由器的刷新之外的任何更新。
在一些情形中,改变涉及来自发起路由器和至少一个邻居的刷新。例如,在GRS/NSF期间,需要与每个邻居之间的刷新。在这些情形中,控制传递到步骤424。在步骤424中,发起与邻居之间的双路刷新。可以使用任何方法来执行步骤424,包括现有的方法。在所示实施例中,在步骤424期间,在NOR位字段222c和NIR位字段222d为OFF(NOR=0,NIR=0)的情况下交换更新消息220和230。控制然后前进到步骤426。
在步骤426中,执行与邻居的双路刷新。发起路由器300在以路由表结束码(也称作路由信息库结束或者EORIB)终止的一系列更新消息中发送路由表320的内容,并且邻居也在以EORIB终止的一系列更新消息中发送其路由表的内容。
如果在步骤420中确定改变仅影响了进入刷新,则控制传递到步骤432。例如,在一些实施例中,步骤420包括判断对特定路由的成本改变是否对忽略了关于网络中的特定目的地的数据的发起路由器处的进入过滤器产生了影响。如果确定对特定路由的成本改变影响了该进入过滤器,则确定满足单路传送邻居的路由表数据到发起路由器的条件。
在步骤432中,刷新通知消息220(例如,EIGRP UPDATE消息)被发送给邻居。在所示实施例中,消息220包括被设为1(ON)的NOR位字段、INIT位字段222a和RS位字段222b。NIR位为OFF并且具有值0。为ON的NOR位字段指示将存在来自发起路由器的“No OutboundRefresh”。为OFF的NIR位指示将存在到发起路由器的进入刷新(即,不是“No Inbound Refresh”)。控制传递到步骤440,以接收来自邻居的响应,下面将更详细地描述。
如果在步骤420中确定改变仅影响外出刷新,则控制传递到步骤434。例如,在一些实施例中,步骤420包括判断对特定路由的成本改变是否对未向邻居转发关于网络中的特定目的地的数据的发起路由器处的外出过滤器产生了影响。如果确定对特定路由的成本改变影响了该外出过滤器,则确定满足单路传送发起路由器的路由表数据到该邻居的条件。
在步骤434中,刷新通知消息220(例如,EIGRP UPDAGTE消息)被发送给邻居。在所示实施例中,消息220包括被设为1(ON)的NIR位字段、INIT位字段222a和RS位字段222b。NOR位为OFF并且具有值0。为ON的NIR位字段指示将存在到发起路由器的“No InboundRefresh”。为OFF的NOR位指示将存在来自发起路由器的外出刷新(即,不是“No Outbound Refresh”)。控制传递到步骤440,以接收来自邻居的响应。
在步骤440中,从邻居接收到刷新响应消息230(例如,EIGRPUPDAGTE消息)。在所示实施例中,消息230包括为OFF的INIT位字段222a、为ON的RS位字段222b。NOR位字段222c和INR位字段222d为ON还是OFF取决于情形而定。发起路由器动作由NOR和NIR位被如何设置而确定,将在下面的步骤中描述。
在步骤450中,判断NIR位和NOR是否都为OFF。在邻居不支持单路传送时(例如,实现协议的在先版本(例如EIGRP的在先版本)的邻居)期望这种情形。如果是这种情形,则响应被作为邻居对作为双路刷新的默认刷新的确认指示。因此,在所示实施例中,如果确定字段222c和222d中的NIR位和NOR位分别都为OFF,则控制传递到步骤426。如上所述,在步骤426中,在以EORIB码结尾的一系列消息中执行对路由表数据的双路刷新。在网络不包括实现协议的在先版本的路由器的一些实施例中,则省略步骤450。
在一些实施例中,步骤450包括判断NIR位和NOR位是否都为ON。在邻居的确支持单路传送但是已确定推翻在步骤420中作出的判决并且强制发起路由器参与双路刷新的实施例中可能发生这种情形。例如,邻居确定它需要来自发起路由器的刷新,但是在发送刷新通知消息之前,该邻居接收到来自发起路由器的刷新通知消息。然后在该情形中,响应被作为双路刷新的邻居的确认指示。控制然后传递到步骤426,如上所述。在一些实施例中,包括下面参考图4B描述的所示实施例,不存在允许NOR和NIR位都为ON的情形。
如果在步骤450中确定分别在字段222c和222d的中的NIR位和NOR位之一而不是二者都为ON,则控制传递到步骤452。在步骤452中,判断是NIR位还是NOR位为ON以仅指示到发起路由器的进入刷新。在所示实施例中,进入到发起路由器的单路刷新由来自发送了刷新响应消息230的邻居的单路外出刷新指示。来自该邻居的单路外出刷新由NIR=1并且NOR=0指示。在这些实施例中,步骤452包括判断是否NIR=1。在一些实施例中,NIR和NOR位仅重复在刷新通知消息220中接收到的值,并且单路进入刷新由“No Outbound Refresh”指示,即,由NOR=1指示。
如果在步骤452中确定NIR位或NOR位被设置来仅指示到发起路由器的进入刷新,则控制传递到步骤454。在步骤454中,执行从邻居到发起路由器的单路刷新。邻居在以EORIB终止的一系列更新消息中发送其路由表的内容;但是,发起路由器不发送其路由表数据。
如果在步骤452中确定NIR位或NOR位都未被设置来仅指示到发起路由器的进入刷新,则确定仅要执行来自发起路由器的外出刷新,并且控制传递到步骤456。在步骤456中,执行从发起路由器到邻居的单路刷新。发起路由器在以EORIB终止的一系列更新消息中发送其路由表的内容;但是,邻居不发送其路由表数据。
在一些实施例中,由刷新响应消息230中的分别在字段222c和222d中的NOR和NIR位所指示的单路方向不与由发起路由器发送的刷新通知消息220中指定的单路方向匹配。在所示实施例中,这种情形不会发生(参见下面描述的图4B)。在发生这种情形的各种实施例中,可以采用其他的步骤(未示出)。例如,在一些这种实施例中,控制传递回步骤420,以基于在步骤440中接收到的刷新响应消息230中的额外信息再次判断改变是否影响进入刷新或者外出刷新,或者都未影响,或者影响了这二者。
图4B是在高层示出了根据实施例的用于对对路由数据的刷新的通知作出响应的方法402的流程图。在一些实施例中,方法402由不同于方法401中的过程执行。在所示实施例中,过程314执行方法401和402二者。
在步骤460中,从发起路由器接收到刷新通知消息220,例如,EIGRP UPDATE消息。在所示实施例中,消息220包括被设为1(ON)的INIT位字段222a和RS位字段222b,以及其中的一个被设为1(ON)或者二者都未被设为1(但是不是二者都被设为1)的NOR位字段222c和NIR位字段222d,
在步骤470中,判断该刷新通知是否是针对进入发送了消息220的发起路由器的单路刷新的。如果是,则控制传递到步骤472。在所示实施例中,进入发起路由器的单路刷新由被设为1(ON)的NOR位字段222c指示。因此,如果NOR位字段222c保存NOR=1,则控制传递到步骤472。
在步骤472中,刷新响应消息230(例如,EIGRP UPDATE消息)被形成,并且被发送到发起路由器。在所示实施例中,消息230包括为OFF的INIT位字段232a(INIT=0)和为ON的RS位字段232b(RS=1),以及为OFF的NOR位字段232c(NOR=0)和为ON的NIR位字段232d(NIR=1)。为ON的NIR位字段指示将存在到接收路由器的“NoInbound Refresh”。为OFF的NOR位指示将存在从接收路由器到发起路由器的外出刷新(即,不是“No Outbound Refresh”)。控制传递到步骤474。
在步骤474中,执行从接收路由器到发起路由器的单路刷新。接收路由器在以EORIB终止的一系列更新消息中发送其路由表的内容;但是,发起路由器不发送其路由表数据。
如果在步骤470中确定刷新通知不是针对进入发送了消息220的发起路由器的单路刷新的,则控制传递到步骤480。在步骤480中,判断该刷新通知是否是针对从发送了消息220的发起路由器外出的单路刷新的。如果是,则控制传递到步骤482。在所示实施例中,从发起路由器外出的单路刷新由被设为1(ON)的NIR位字段232c指示。因此,如果NIR=1,则控制传递到步骤482。
在步骤482中,刷新响应消息230(例如,EIGRP UPDATE消息)被形成,并且被发送到发起路由器。在所示实施例中,消息230包括设为OFF的INIT位字段232a(INIT=0)和设为ON的RS位字段232b(RS=1),以及设为ON的NOR位字段232c(NOR=1)和设为OFF的NIR位字段232d(NIR=0)。为ON的NOR位指示将存在来自接收路由器的“No Outbound Refresh”。为OFF的NIR位指示将存在从发起路由器到接收路由器的进入刷新(即,不是“No Inbound Refresh”)。控制传递到步骤484。
在步骤484中,执行从发起路由器到接收路由器的单路刷新。发起路由器在以EORIB终止的一系列更新消息中发送其路由表的内容;但是,接收路由器不发送其路由表数据。
如果在步骤480中确定刷新通知不是针对从发送了消息220的发起路由器外出的单路刷新的,则控制传递到步骤490。在步骤490中,刷新响应消息230(例如,EIGRP UPDATE消息)被形成,并且被发送到发起路由器。在所示实施例中,消息230包括设为OFF的INIT位字段232a(INIT=0)和设为ON的RS位字段232b(RS=1),以及都被设为OFF的NOR位字段232c和NIR位字段232d(NOR=0,NIR=0)。为OFF的NOR位和为OFF的NIR位指示将存在双路刷新。控制传递到步骤492。在步骤492中,执行现有方法中的双路刷新。
利用方法401和方法402,根据情形执行了路由表数据的双路刷新。与当前的方法相比这减少了对路由器处理和链路带宽资源的消耗,并且显著地提高了网络性能。
4.0实现机构-硬件概述
图5是示出本发明的实施例可以在其上实现的计算机系统500的框图。优选实施例是利用运行在诸如路由器设备之类的网络元件上的一个或多个计算机程序来实现的。因此,在此实施例中,计算机系统500是路由器。
计算机系统500包括用于在计算机系统500的其他内部和外部组件之间传递信息的通信机构,例如总线510。信息被表示为可测量现象的物理信号,该可测量现象一般是电压,但在其他实施例中,包括诸如磁、电磁、压力、化学、分子原子和量子交互之类的现象。例如,北和南磁场或者零和非零电压表示二进制数字(比特)的两个状态(0,1)。二进制数字的序列构成用于表示数字或字符代码的数字数据。总线510包括许多并行的信息导体,以使信息在耦合到总线510的设备之间迅速传递。用于处理信息的一个或多个处理器502与总线510相耦合。处理器502对信息执行一组操作。该组操作包括从总线510接收信息并将信息置于总线510上。该组操作一般还包括比较两个或更多个信息单元、移动信息单元的位置、以及例如通过加法或乘法来组合两个或更多个信息单元。将由处理器502执行的操作序列构成了计算机指令。
计算机系统500还包括耦合到总线510的存储器504。诸如随机访问存储器(RAM)或其他动态存储设备之类的存储器504存储包括计算机指令在内的信息。动态存储器允许存储在其中的信息被计算机系统500改变。RAM允许存储在被称为存储器地址的位置处的信息单元以独立于相邻地址处的信息的方式被存储和检索。存储器504还被处理器502用来在计算机指令执行期间存储临时值。计算机系统500还包括耦合到总线510的、用于存储不被计算机系统500改变的静态信息(包括指令)的只读存储器(ROM)504或其他静态存储设备。同样耦合到总线510的是非易失性(持久性)存储设备508,例如磁盘或光盘,用于存储即使在计算机系统500被关掉或者由于其他原因而掉电时也能够持续下来的信息(包括指令)。
术语计算机可读介质在这里用来指任何参与向处理器502提供包括用于执行的指令在内的信息的介质。这种介质可采取许多形式,包括但不限于非易失性介质、易失性介质和传送介质。非易失性介质例如包括光盘或磁盘,例如存储设备508。易失性介质例如包括动态存储器504。传送介质例如包括同轴电缆、铜线、光缆和在无需导线或线缆的情况下通过空间传播的波,例如声波和电磁波,包括无线电波、光波和红外波。经由传送介质传送的信号在这里被称为载波。
计算机可读介质的常见形式例如包括软盘、软磁盘、硬盘、磁带或任何其他磁介质,致密盘ROM(CD-ROM)、数字视频盘(DVD)或任何其他光学介质、穿孔卡、纸带、或任何其他具有孔图案的物理介质、RAM、可编程ROM(PROM)、可擦除PROM(EPROM)、FLASH-EPROM、或任何其他存储器芯片或卡盘、载波或者计算机可以读取的任何其他介质。
包括指令在内的信息被从外部终端512提供到总线510以供处理器使用,所述外部终端512例如是具有包含由人类用户操作的数字字母键的键盘的终端或者是传感器。传感器检测其附近的状况,并将这些检测变换成与计算机系统500中用于表示信息的信号相兼容的信号。耦合到总线510的终端512的主要用于与人类交互的其他外部组件包括用于呈现图像的显示设备(例如阴极射线管(CRT)或液晶显示器(LCD)或等离子屏幕)和用于控制在显示器上呈现的小光标图像的位置并发出与终端512的显示器上呈现的图形元素相关联的命令的定点设备(例如鼠标或跟踪球或光标方向键)。在一些实施例中,终端512被省略。
计算机系统500还包括耦合到总线510的通信接口570的一个或多个实例。通信接口570提供耦合到利用其自己的处理器进行操作的多种外部设备的双向通信,所述外部设备例如是打印机、扫描仪、外置盘、和终端512。在计算机系统500中运行的固件或软件提供终端接口或者基于字符的命令接口,以使外部命令能够被提供给计算机系统。例如,通信接口570可以是并行端口或串行端口,例如RS-232或RS-422接口,或者是个人计算机上的通用串行总线(USB)端口。在一些实施例中,通信接口570是提供到相应类型的电话线的信息通信连接的电话调制解调器、或综合服务数字网(ISDN)卡、或数字用户线路(DSL)卡。在一些实施例中,通信接口570是将总线510上的信号转换成用于经由同轴电缆的通信连接的信号或者用于经由光缆的通信连接的光信号的线缆调制解调器。作为另一示例,通信接口570可以是提供到兼容的LAN(例如以太网)的数据通信连接的局域网(LAN)卡。也可实现无线链路。对于无线链路,通信接口570发送和接收携带信息流(例如数字数据)的电信号、声信号或电磁信号,包括红外信号和光信号。这种信号是载波的示例。
在所示的实施例中,诸如专用集成电路(IC)520之类的专用硬件耦合到总线510。专用硬件被配置为为了特殊的目的而足够迅速地执行不由处理器502执行的操作。专用IC的示例包括用于生成图像以便显示的图形加速卡、用于对经由网络发送的消息进行加密和解密的密码板、语音识别、以及到特殊外部设备的接口,所述特殊外部设备例如是重复执行在硬件中更高效实现的某个复杂操作序列的机械臂和医学扫描装备。
在用作路由器的所示出的计算机中,计算机系统500包括作为用于切换在网络上流动的信息的专用硬件的交换系统530。交换系统530一般包括多个通信接口,例如通信接口570,用于耦合到多个其他设备。一般来说,每个耦合都具有与网络中的或附接到网络的另一设备相连接的网络链路532,其中,所述网络例如是所示实施例中的与具有其自己的处理器的多种外部设备相连接的本地网络580。在一些实施例中,输入接口或输出接口或两者被链接到一个或多个外部网络元件中的每一个。虽然所示实施例中的网络链路532包括三条网络链路532a、532b、532c,但在其他实施例中,更多或更少的链路被连接到了交换系统530。网络链路532一般通过一个或多个网络来提供到使用或处理信息的其他设备的信息通信。例如,网络链路532b可通过本地网络580来提供到主机计算机582或由因特网服务提供者(ISP)操作的装备584的连接。ISP装备584进而又通过现在通常被称为因特网590的网络的公共的世界范围的分组交换通信网络来提供数据通信服务。被称为服务器592的连接到因特网的计算机响应于经由因特网接收的信息提供服务。例如,服务器592提供用于交换系统530的路由信息。
交换系统530包括被配置为执行与在网络580的元件之间传递信息相关联的交换功能的逻辑和电路,所述传递信息包括传递沿一条网络链路(例如532a)接收的、作为相同或不同网络链路(例如532c)上的输出的信息。交换系统530根据公知的预定协议和惯例将到达输入接口的信息通信量切换到输出接口。在一些实施例中,交换系统530包括其自己的处理器和存储器,以在软件中执行一些交换功能。在一些实施例中,交换系统530依赖于处理器502、存储器504、ROM 506、存储设备508或某种组合,以在软件中执行一个或多个交换功能。例如,交换系统530与实现特定协议的处理器502合作,可确定在链路532a上到达输入接口的数据分组的目的地,并利用链路532c上的输出接口将它发送到正确的目的地。目的地可包括主机582、服务器592、连接到本地网络580或因特网590的其他终端设备,或者本地网络580或因特网590中的其他路由和交换设备。
本发明涉及使用计算机系统500来实现本文描述的技术。根据本发明的一个实施例,这些技术是由计算机系统500响应于执行包含在存储器504中的一个或多个指令的一个或多个序列的处理器502而执行的。这种指令也被称为软件和程序代码,它们可被从另一计算机可读介质(例如存储设备508)读取到存储器504中。对包含在存储器504中的指令序列的执行使得处理器502执行本文描述的方法步骤。在替换实施例中,诸如专用集成电路520和交换系统530中的电路之类的硬件可取代软件或与软件结合来实现本发明。从而,本发明的实施例不局限于硬件和软件的任何特定组合。
通过通信接口(例如接口570)经由网络链路532和其他网络传送的信号(该信号携带去往和来自计算机系统500的信息)是载波的示例性形式。计算机系统500可通过网络580、590等等,通过网络链路532和通信接口(例如接口570)来发送和接收包括程序代码在内的信息。在使用因特网590的示例中,服务器592通过交换系统530中的通信接口,通过因特网590、ISP装备584、本地网络580和网络链路532b来发送由计算机500发送来的消息所请求的用于特定应用的程序代码。接收到的代码可在其被接收时被处理器502或交换系统530执行,或者可被存储在存储设备508或其他非易失性存储器中以便以后执行,或者两种情况兼有。这样,计算机系统500可以以载波形式获得应用程序代码。
各种形式的计算机可读介质可用于将指令或数据或两者的一个或多个序列运送到处理器502以便执行。例如,指令和数据可以首先承载在远程计算机(例如主机582)的磁盘上。远程计算机可以将指令和数据加载到其动态存储器中,并利用调制解调器经由电话线来发送指令和数据。计算机系统500的本地调制解调器接收电话线上的指令和数据,并使用红外发射器将指令和数据转换为用作网络链路532b的载波的红外信号。用作交换系统530中的通信接口的红外检测器接收红外信号中携带的指令和数据,并且将表示该指令和数据的信息置于总线510上。总线510将信息携带到存储器504,处理器502利用与指令一起发送的一些数据来从存储器504中检索并执行指令。在存储器504中接收的指令和数据可以可选地在被处理器502或交换系统503执行之前或之后存储在存储设备508上。
5.0扩展和替换
在以上说明中,已参考特定实施例描述了本发明。但是,应当清楚,在不脱离本发明更宽广的精神和范围的情况下,可以进行各种修改和变化。因此,说明书和附图都应当被认为是示例性的,而非限制性的。
Claims (17)
1.一种用于在分组交换通信网络中同步路由数据的方法,包括步骤:
在发起路由器处判断是否满足与邻近路由器之间单路传送特定节点的路由表数据的条件,其中所述特定节点的路由表数据针对网络中的每个目的地指示从所述特定节点到达该目的地的成本,并且所述邻近路由器在不存在插入中间网络节点的情况下与所述发起路由器通信;以及
如果确定满足与邻近路由器之间单路传送路由表数据的条件,则执行步骤:
从所述发起路由器向所述邻近路由器发送刷新通知消息,其中所述刷新通知消息包括指示用于传送路由表数据的特定方向的数据;
如果所述特定方向是进入,则在不发送所述发起路由器自己的路由表的拷贝的情况下接收所述邻近路由器的邻近路由表的拷贝,并且
如果所述特定方向是外出,则在不接收所述邻近路由器的邻近路由表的拷贝的情况下发送所述发起路由器自己的路由表的拷贝。
2.如权利要求1所述的方法,其中,
所述方法还包括从所述邻近路由器接收刷新响应消息;以及
判断所述刷新响应消息是否指示用于传送路由表数据的所述特定方向,从而该方法与在刷新期间不处理关于用于传送路由表数据的所述特定方向的信息而总是执行双路交换路由表数据的邻近路由器向后兼容。
3.如权利要求1所述的方法,还包括确定来自比下述多个路由器中的全部路由器少的子集的邻近路由器,所述多个路由器也是在没有插入节点的情况下与所述发起路由器通信的邻近路由器。
4.如权利要求1所述的方法,其中,在发起路由器处判断是否满足单路传送路由表数据的条件的所述步骤还包括步骤:
判断对特定路由的成本改变是否对忽略了关于所述网络中的特定目的地的数据的所述发起路由器处的进入过滤器产生了影响;以及
如果确定对所述特定路由的成本改变影响了所述进入过滤器,则确定满足向所述发起路由器单路传送所述邻近路由器的路由表数据的条件。
5.如权利要求1所述的方法,其中,在发起路由器处判断是否满足单路传送路由表数据的条件的所述步骤还包括步骤:
判断对特定路由的成本改变是否对未向所述邻近路由器转发关于所述网络中的特定目的地的数据的发起路由器处的外出过滤器产生了影响;以及
如果确定对所述特定路由的成本改变影响了所述外出过滤器,则确定满足向所述邻近路由器单路传送所述发起路由器的路由表数据的条件。
6.如权利要求1所述的方法,发送刷新通知的所述步骤还包括发送所述刷新通知消息,其中所述刷新通知消息包括第一位和第二位,所述第一位和第二位中仅一个为ON以指示用于传送路由表数据的所述特定方向。
7.如权利要求6所述的方法,其中,所述第一位和所述第二位都不为ON以指示在所述发起路由器和所述邻近路由器之间双路交换路由表数据。
8.如权利要求2所述的方法,接收刷新响应消息的所述步骤还包括接收所述刷新响应消息,其中所述刷新响应消息包括第一位和第二位,所述第一位和第二位中仅一个为ON以指示所述邻近路由器所支持的用于传送路由表数据的第二方向。
9.如权利要求8所述的方法,其中,所述第一位和所述第二位都不为ON以指示在所述发起路由器和所述邻近路由器之间双路交换路由表数据。
10.如权利要求9所述的方法,判断所述刷新响应消息是否指示用于传送路由表数据的所述特定方向的所述步骤还包括判断所述第二方向是否符合所述特定方向。
11.一种用于在分组交换通信网络中同步路由数据的方法,包括步骤:
在邻近路由器处接收来自发起路由器的刷新通知消息,其中
所述刷新通知消息包括指示用于传送路由表数据的特定方向的数据,
特定节点的路由表数据针对网络中的每个目的地指示从所述特定节点到达该目的地的成本,并且
所述邻近路由器在不存在插入中间网络节点的情况下与所述发起路由器通信;
基于所述刷新通知消息确定所述特定方向;以及
发送包括指示所述特定方向的数据的刷新响应消息,
其中,如果所述特定方向是在所述发起路由器处进入,则在不发送所述发起路由器自己的路由表的拷贝的情况下接收所述邻近路由器的邻近路由表的拷贝,并且
如果所述特定方向是在所述发起路由器处外出,则在不接收所述邻近路由器的邻近路由表的拷贝的情况下发送所述发起路由器自己的路由表的拷贝。
12.如权利要求11所述的方法,接收刷新通知的所述步骤还包括接收所述刷新通知消息,其中所述刷新通知消息包括第一位和第二位,所述第一位和第二位中仅一个为ON以指示用于传送路由表数据的所述特定方向。
13.如权利要求12所述的方法,其中,所述第一位和所述第二位都不为ON以指示在所述发起路由器和所述邻近路由器之间双路交换路由表数据。
14.如权利要求11所述的方法,发送刷新响应消息的所述步骤还包括发送所述刷新响应消息,其中所述刷新响应消息包括第一位和第二位,所述第一位和第二位中仅一个为ON以指示所述邻近路由器所支持的用于传送路由表数据的特定方向。
15.如权利要求14所述的方法,其中,所述第一位和所述第二位都不为ON以指示在所述发起路由器和所述邻近路由器之间双路交换路由表数据。
16.一种用于在分组交换通信网络中同步路由数据的设备,包括:
用于在发起路由器处判断是否满足与邻近路由器之间单路传送特定节点的路由表数据的条件的装置,其中所述特定节点的路由表数据针对网络中的每个目的地指示从所述特定节点到达该目的地的成本,并且所述邻近路由器在不存在插入中间网络节点的情况下与所述发起路由器通信;
用于如果确定满足所述与邻近路由器之间单路传送路由表数据的条件,则从所述发起路由器向所述邻近路由器发送刷新通知消息的装置,其中所述刷新通知消息包括指示用于传送路由表数据的特定方向的数据;以及
用于执行下述步骤的装置:如果确定满足所述与邻近路由器之间单路传送路由表数据的条件,则如果所述特定方向是进入则在不发送所述发起路由器自己的路由表的拷贝的情况下接收所述邻近路由器的邻近路由表的拷贝,而如果所述特定方向是外出则在不接收所述邻近路由器的邻近路由表的拷贝的情况下发送所述发起路由器自己的路由表的拷贝。
17.一种用于在分组交换通信网络中同步路由数据的设备,包括:
用于在邻近路由器处接收来自发起路由器的刷新通知消息的装置;
用于基于所述刷新通知消息确定特定方向的装置;以及
用于发送包括指示所述特定方向的数据的刷新响应消息的装置,其中,
所述刷新通知消息包括指示用于传送路由表数据的所述特定方向的数据,
特定节点的路由表数据针对网络中的每个目的地指示从所述特定节点到达该目的地的成本,并且
所述邻近路由器在不存在插入中间网络节点的情况下与所述发起路由器通信,
其中,如果所述特定方向是在所述发起路由器处进入,则在不发送所述发起路由器自己的路由表的拷贝的情况下接收所述邻近路由器的邻近路由表的拷贝,并且
如果所述特定方向是在所述发起路由器处外出,则在不接收所述邻近路由器的邻近路由表的拷贝的情况下发送所述发起路由器自己的路由表的拷贝。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/497,224 US7768995B2 (en) | 2006-08-01 | 2006-08-01 | Techniques for one-way synchronization of routing information among intermediate nodes |
US11/497,224 | 2006-08-01 | ||
PCT/US2007/067352 WO2008016732A2 (en) | 2006-08-01 | 2007-04-25 | Techniques for one-way synchronization of routing information among intermediate nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101495997A CN101495997A (zh) | 2009-07-29 |
CN101495997B true CN101495997B (zh) | 2012-11-28 |
Family
ID=38997745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780027746XA Active CN101495997B (zh) | 2006-08-01 | 2007-04-25 | 用于在中间节点间单路同步路由信息的技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7768995B2 (zh) |
EP (1) | EP2052329B1 (zh) |
CN (1) | CN101495997B (zh) |
WO (1) | WO2008016732A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7768995B2 (en) | 2006-08-01 | 2010-08-03 | Cisco Technology, Inc. | Techniques for one-way synchronization of routing information among intermediate nodes |
US7512106B2 (en) * | 2006-08-01 | 2009-03-31 | Cisco Technology, Inc. | Techniques for distributing routing information using multicasts |
CN100558055C (zh) * | 2006-11-10 | 2009-11-04 | 华为技术有限公司 | 减少错误平滑重启状态持续时长的方法及路由器 |
US8270319B2 (en) * | 2006-12-14 | 2012-09-18 | Rockstart Bidco, LP | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
US8228954B2 (en) * | 2007-11-13 | 2012-07-24 | Cisco Technology, Inc. | Routing operations using sensor data |
US7940668B2 (en) * | 2008-03-21 | 2011-05-10 | Cisco Technology, Inc. | Method and apparatus to enable an IPe domain through EIGRP |
US7978612B2 (en) * | 2008-10-13 | 2011-07-12 | Cisco Technology, Inc. | Two-hop relay for reducing distance vector routing information |
US8098650B2 (en) * | 2008-11-28 | 2012-01-17 | Korea Advanced Institute Of Science And Technology | Apparatus and method for processing contents using routing table |
US7995480B2 (en) * | 2008-12-23 | 2011-08-09 | Nokia Corporation | Offloading content routing cost from routers |
US8799690B2 (en) | 2009-06-21 | 2014-08-05 | International Business Machines Corporation | Prioritized workload routing in a data center |
US8705544B2 (en) * | 2011-03-07 | 2014-04-22 | Broadcom Corporation | Method and apparatus for routing in a single tier switched network |
CN102833143A (zh) * | 2011-06-14 | 2012-12-19 | 苏州达联信息科技有限公司 | 一种广域传感网络的域间数据交换方法及其实现装置 |
CN102938704A (zh) * | 2011-08-16 | 2013-02-20 | 中兴通讯股份有限公司 | 接入管理方法、装置和系统 |
US11088937B1 (en) | 2014-05-08 | 2021-08-10 | Google Llc | System and method for synchronized route update |
CN104869603B (zh) * | 2015-05-08 | 2018-08-14 | 中山大学 | 一种适用于无线监测控制网络的ZigBee路由方法 |
CN106603512B (zh) * | 2016-11-30 | 2019-07-09 | 中国人民解放军国防科学技术大学 | 一种基于sdn架构的is-is路由协议的可信认证方法 |
US10411990B2 (en) * | 2017-12-18 | 2019-09-10 | At&T Intellectual Property I, L.P. | Routing stability in hybrid software-defined networking networks |
CN109067781B (zh) * | 2018-09-18 | 2021-04-16 | 重庆金美通信有限责任公司 | 一种提高eigrp协议报文信息容量的方法 |
US11438256B1 (en) * | 2020-02-27 | 2022-09-06 | Amazon Technologies, Inc. | Network routing tables generated based on pricing information |
EP3941003B1 (en) * | 2020-07-16 | 2022-09-28 | Anapaya Systems AG | Achieving highly available autonomous systems (as) in a source-selected path routing network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592260A (zh) * | 2003-08-27 | 2005-03-09 | 株式会社Ntt都科摩 | 路由器设备、路由信息发布方法、和通信系统 |
WO2005039072A1 (en) * | 2003-10-18 | 2005-04-28 | Samsung Electronics Co., Ltd. | System and method for providing handover of a mobile ip terminal in a wireless network |
US6947963B1 (en) * | 2000-06-28 | 2005-09-20 | Pluris, Inc | Methods and apparatus for synchronizing and propagating distributed routing databases |
CN1694431A (zh) * | 2005-03-04 | 2005-11-09 | 中国人民解放军理工大学 | 在无线网络中建立双向虚电路的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265092A (en) | 1992-03-18 | 1993-11-23 | Digital Equipment Corporation | Synchronization mechanism for link state packet routing |
GB2301686A (en) | 1995-06-03 | 1996-12-11 | Ibm | Transaction synchronisation procedure in a routing node |
US6938095B2 (en) * | 2000-06-28 | 2005-08-30 | Pluris, Inc. | Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes |
US7042834B1 (en) * | 2000-07-28 | 2006-05-09 | Cisco Technology, Inc. | Method and system for routing communications among computer networks |
US6876625B1 (en) | 2000-09-18 | 2005-04-05 | Alcatel Canada Inc. | Method and apparatus for topology database re-synchronization in communications networks having topology state routing protocols |
US7007100B1 (en) | 2000-12-20 | 2006-02-28 | Nortel Networks Limited | Method for synchronization of multicast routing table changes with a plurality of multicast routing protocols |
US20050047406A1 (en) * | 2003-08-25 | 2005-03-03 | Susan Hares | Nested components for network protocols |
FR2881902B1 (fr) * | 2005-02-07 | 2007-04-27 | Alcatel Sa | Routeur a mise a jour synchronisee de tables de routage, pour un reseau de communication a routage distribue |
US7768995B2 (en) | 2006-08-01 | 2010-08-03 | Cisco Technology, Inc. | Techniques for one-way synchronization of routing information among intermediate nodes |
-
2006
- 2006-08-01 US US11/497,224 patent/US7768995B2/en active Active
-
2007
- 2007-04-25 CN CN200780027746XA patent/CN101495997B/zh active Active
- 2007-04-25 EP EP07782531.3A patent/EP2052329B1/en active Active
- 2007-04-25 WO PCT/US2007/067352 patent/WO2008016732A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947963B1 (en) * | 2000-06-28 | 2005-09-20 | Pluris, Inc | Methods and apparatus for synchronizing and propagating distributed routing databases |
CN1592260A (zh) * | 2003-08-27 | 2005-03-09 | 株式会社Ntt都科摩 | 路由器设备、路由信息发布方法、和通信系统 |
WO2005039072A1 (en) * | 2003-10-18 | 2005-04-28 | Samsung Electronics Co., Ltd. | System and method for providing handover of a mobile ip terminal in a wireless network |
CN1694431A (zh) * | 2005-03-04 | 2005-11-09 | 中国人民解放军理工大学 | 在无线网络中建立双向虚电路的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101495997A (zh) | 2009-07-29 |
EP2052329B1 (en) | 2013-06-19 |
US20080031236A1 (en) | 2008-02-07 |
WO2008016732A2 (en) | 2008-02-07 |
US7768995B2 (en) | 2010-08-03 |
EP2052329A2 (en) | 2009-04-29 |
EP2052329A4 (en) | 2012-05-02 |
WO2008016732A3 (en) | 2008-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101495997B (zh) | 用于在中间节点间单路同步路由信息的技术 | |
CN101512489B (zh) | 内部网关协议中减少发现路由的查询的技术 | |
CN101390321B (zh) | 用于检测跨路由信息边界的无回路路径的技术 | |
CN101491041B (zh) | 用于利用多播分发路由信息的技术 | |
US7978612B2 (en) | Two-hop relay for reducing distance vector routing information | |
CN100591035C (zh) | 交换节点堆叠中的交换节点的远程控制 | |
US7609672B2 (en) | Method and apparatus for automatic sub-division of areas that flood routing information | |
US7756038B2 (en) | Service advertisement framework (SAF) in a communications network | |
CN101133596A (zh) | 加快边界网关协议收敛的方法和装置 | |
CN101573920A (zh) | 实现虚拟专用局域网服务 | |
CN102342050A (zh) | 用于广播网络的ldp igp同步 | |
US20180367440A1 (en) | Method and apparatus for determining next hop and advertising routing information | |
CN102647312A (zh) | 一种整网组播拓扑的探测方法及装置 | |
CN113179215B (zh) | 组网通信方法、系统、节点设备、存储介质和电子设备 | |
US20090172190A1 (en) | Link state protocol routing message containment | |
CN101132342A (zh) | Ftn匹配管理方法 | |
US20080212585A1 (en) | Preventing Loops during Recovery in Network Rings Using Cost Metric Routing Protocol | |
US9729256B2 (en) | Method and system for issuing and acquiring information | |
JP3395703B2 (ja) | ポイントツウポイント通信ネットワークシステム及びその通信制御方法 | |
US20230026245A1 (en) | System and method for implementing and managing a distributed data flow model | |
WO2022228410A1 (zh) | 一种路由信息的处理方法及装置 | |
CN110391986B (zh) | 智能门锁的路由通信方法以及系统 | |
Sahingoz et al. | Fault tolerance mechanism of agent-based distributed event system | |
WO2023246425A1 (zh) | 一种通信方法及相关设备 | |
CN115277538A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |