CN102484611B - 链路状态标识符冲突处理 - Google Patents
链路状态标识符冲突处理 Download PDFInfo
- Publication number
- CN102484611B CN102484611B CN201080037968.1A CN201080037968A CN102484611B CN 102484611 B CN102484611 B CN 102484611B CN 201080037968 A CN201080037968 A CN 201080037968A CN 102484611 B CN102484611 B CN 102484611B
- Authority
- CN
- China
- Prior art keywords
- route
- lsid
- lsa
- main road
- ospf
- 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.)
- Expired - Fee Related
Links
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/03—Topology update or discovery by updating link state protocols
Abstract
网络单元处理LSID冲突以防止与不同路由关联的不同LSA共享同一LSID的方法和设备。根据一个实施例,响应于确定对于添加的第一路由生成的试用LSID与指配给第二路由的LSA的LSID冲突,并且第一路由和第二路由之一是主路由,抑制主路由。如果第一路由是主路由,则抑制包含不发起第一路由的LSA。如果第二路由是主路由,则抑制包含排除第二路由的LSA并且不发起第二路由的LSA。尽管抑制了主路由,但是通过不是主路由的路由提供了把主路由归入的范围的网络可达性。
Description
技术领域
本发明的实施例涉及链路状态路由协议领域;并且更具体地说,涉及链路状态指配期间链路状态标识符冲突的处理。
背景技术
链路状态路由协议(诸如开放式最短路径优先(OSPF)(例如在RFC2328中所定义的,1998年4月))当识别链路状态广告(LSA)时使用链路状态标识符(LSID)作为密钥。共享同一LSID的不同路由的LSA可引起各种问题,包含不正确的拓扑视图、数据映射问题、多个路由指向同一LSA等。
对于大多数路由,与每个路由关联的LSA被指配一个LSID,其相当于那个路由的网络地址。通过对路由前缀和路由掩码执行逐位“与”运算来计算路由的网络地址。例如,由于路由[10.0.0.0,255.255.0.0]的网络地址是10.0.0.0,因此那个路由的LSA通常被指配LSID值10.0.0.0。
虽然具有相同前缀的路由如果它们的掩码不同则被视为不同,但是那些路由的网络地址可以相同。例如,路由[10.0.0.0,255.255.0.0]和[10.0.0.0,255.255.255.0]不同,但共享同一网络地址10.0.0.0。由此,与那些路由关联的LSA的LSID将冲突。在这种情况下,RFC 2328描述了一种尝试为那些路由的LSA指配不同LSID的算法(该算法在RFC 2328的附录E中规定了)。RFC 2328中的LSID冲突处理算法选择具有较长掩码的路由,并对那个掩码执行逐位“非”运算,对那个结果执行与路由前缀的逐位“或”运算,并将结果指配为LSID。例如,使用上面两个路由,选择路由[10.0.0.0,255.255.255.0],对掩码255.255.255.0的逐位“非”运算的结果等于0.0.0.255,该结果与路由前缀10.0.0.0逐位“或”得到值10.0.0.255,其然后被指配为那个路由的LSA的LSID。未选择的路由被指配一个相当于网络地址的LSID。
在RFC 2328中描述的LSID冲突处理算法当冲突路由之一是主路由时未正确处理LSID冲突。主路由是具有主掩码(例如255.255.255.255)的路由。例如,考虑路由[10.0.0.0,255.255.255.0]和[10.0.0.0,255.255.255.255],它们具有相同网络地址(10.0.0.0)。根据RFC 2328的LSID冲突处理算法,选择路由[10.0.0.0,255.255.255.255](其是主路由),对掩码255.255.255.255的逐位“非”运算的结果等于0.0.0.0,该结果与路由前缀10.0.0.0逐位“或”得到值10.0.0.0,其然后被指配为那个路由的LSA的LSID。由此,使用RFC 2328的LSID冲突处理算法,不同路由[10.0.0.0,255.255.255.0]和[10.0.0.0,255.255.255.255]将具有共享同一LSID 10.0.0.0的LSA。因此,在RFC 2328中描述的LSID冲突处理算法应用于主路由时导致不同路由的LSA共享同一LSID,这可导致上述问题。
发明内容
描述了网络单元处理LSID冲突以防止与不同路由关联的不同LSA共享同一LSID的方法和设备。根据本发明的一个实施例,网络单元在LSID指配过程期间为第一路由生成试用LSID。网络单元确定所述试用LSID的值已经指配给第二路由,并且第一路由或第二路由是主路由,其中主路由具有主路由掩码,并且第一路由和第二路由是不同的。响应于确定第一路由是主路由,抑制第一路由以防止第一路由与第二路由之间的LSID冲突,包含不发起第一路由的LSA。响应于确定第二路由是主路由,抑制第二路由以防止第一路由与第二路由之间的LSID冲突,包含排除第二路由的LSA,并且用指配给第二路由的LSID发起第一路由的LSA。尽管抑制了主路由,但是通过不是主路由的路由提供了把主路由归入的范围的网络可达性。如果将与主路由具有LSID冲突的路由在主路由之前被撤销了,则取消抑制主路由,并且对于具有之前指配给其它路由的LSA的LSID的主路由自动发起LSA。
根据本发明的另一实施例,客户边缘网络单元通过OSPF协议向第一供应商边缘网络单元分布OSPF路由,其中至少一些OSPF路由是主路由,其中主路由是具有主路由掩码的路由。第一供应商边缘网络单元通过边界网关协议(BGP)向第二供应商边缘网络单元分布OSPF路由。第一供应商边缘网络单元包含实现OSPF协议和生成LSA并向LSA所指配LSID的OSPF模块。在LSID指配期间,OSPF模块抑制作为主路由的、否则将包含具有与其它LSA冲突的LSID的对应LSA的那些OSPF路由。抑制OSPF路由包含移除与抑制的主路由关联的LSA并且不发起所述抑制的主路由的LSA。尽管对于那些抑制的主路由不发起LSA,但是通过与具有与那个主路由冲突的LSID的LSA关联的路由,为每个抑制的主路由都提供了网络可达性。当与将具有与主路由相同的LSID的LSA关联的路由在那个抑制的主路由之前被撤销时,则取消抑制每个抑制的主路由,并且对于具有之前指配给其它路由的LSA的LSID的那个取消抑制的主路由自动发起LSA。
根据本发明的另一个实施例,用于处理LSID冲突的网络单元包含保持链路状态数据库(LSDB)并生成包含LSID的LSA的OSPF模块。在LSA的LSID指配期间,OSPF模块基于那些路由的网络前缀和路由掩码向路由的LSA指配LSID,抑制作为主路由的、否则将包含具有和与不同路由关联的不同LSA的LSID冲突的LSID的对应LSA的那些路由。抑制那些路由包含移除与抑制的主路由关联的LSA并且不发起所述抑制的主路由的LSA。尽管对于那些抑制的主路由不发起LSA,但是通过与具有与那个主路由冲突的LSID的LSA关联的路由,为每个抑制的主路由提供了网络可达性。当与将具有与主路由相同的LSID的LSA关联的路由在那个抑制的主路由之前被撤销时,则取消抑制每个抑制的主路由,并且对于具有之前指配给其它路由的LSA的LSID的那个取消抑制的主路由自动发起LSA。
由此,防止包含主路由的不同路由发起共享同一LSID的LSA,同时甚至在存在抑制的主路由的情况下每个所述路由都是可达的。当与具有将与抑制的主路由的LSA冲突的LSID的LSA关联的路由在那个抑制的主路由之前被撤销时,取消抑制那个抑制的主路由,并且对于具有指配给其它路由的LSA的LSID的那个主路由发起LSA。
附图说明
通过参考用于例证本发明实施例的如下描述和附图可最好地理解本发明。在附图中:
图1是例证根据本发明一个实施例的示范网络的框图;
图2是例证根据本发明一个实施例的示范网络的框图;
图3是例证根据本发明一个实施例用于处理LSID冲突的示范网络单元的框图;
图4是例证根据本发明一个实施例包含处理LSID冲突的指配路由的LSID的示范路由添加过程的数据流程图;
图5是例证根据本发明一个实施例包含取消抑制路由的示范路由撤销过程的数据流程图;
图6是例证根据本发明一个实施例包含处理LSID冲突的在路由添加过程期间执行的示范操作的流程图;
图7是例证根据本发明一个实施例在路由撤销过程期间执行的示范操作的流程图;
图8是例证根据本发明一个实施例按顺序到达的一组路由的LSID指配的框图;以及
图9是例证根据本发明一个实施例按与图8不同的顺序到达的一组路由的LSID指配的框图。
具体实施方式
在如下描述中,阐述了许多特定细节。然而,要理解到,本发明的实施例可以在没有这些特定细节的情况下实施。在其它情况下,众所周知的电路、结构和技术未详细示出,以免模糊了对本说明书的理解。本领域技术人员用所包含的描述将能够实现适当的功能性,无需过多实验。
说明书中提到“一个实施例”、“实施例”、“示例实施例”等是指所描述的实施例可包含具体特征、结构或特性,但每个实施例可能不一定都包含该具体特征、结构或特性。此外,这种短语不一定指的是同一实施例。另外,当结合实施例描述具体特征、结构或特性时,主张如下在本领域技术人员的知识范围内:结合其它实施例实现这种特征、结构或特性,不管其它实施例是否被明确描述。
在如下说明书和权利要求书中,可以使用术语“耦合”和“连接”连同它们的派生词。应该理解,这些术语不打算作为彼此的同义词。“耦合”用于指示两个或更多单元彼此协同工作或交互作用,它们可以直接或者可以不直接物理或电接触。“连接”用于指示建立彼此耦合的两个或更多单元之间的通信。
可使用一个或多个电子装置(例如终端站、网络单元等)上存储和执行的代码和数据实现图中所示的技术。这种电子装置使用机器可读介质(诸如机器可读存储介质(例如磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和机器可读通信介质(例如电、光、声或其它形式的传播信号-诸如载波、红外信号、数字信号等))存储和传递(在内部和/或通过网络与其它电子装置)代码和数据。此外,这种电子装置通常包含耦合到一个或多个其它组件(诸如一个或多个存储装置、用户输入/输出装置(例如键盘、触摸屏和/或显示器))的一个或多个处理器的集合和网络连接。处理器集合与其它组件的耦合通常通过一个或多个总线和桥(也称为总线控制器)。承载网络业务的存储装置和信号分别表示一个或多个机器可读存储介质和机器可读通信介质。由此,给定电子装置的存储装置通常存储代码和/或数据以便在那个电子装置的一个或多个处理器的集合上执行。当然,可以使用软件、固件和/硬件的不同组合来实现本发明实施例的一个或多个部分。
本文所用的网络单元(例如路由器、交换机、桥等)是一件连网设备,包含硬件和软件,其以通信方式互连网络上的其它设备(例如其它网络单元、终端站等)。一些网络单元是为多个连网功能(例如路由、桥接、交换、层2汇聚、会话边界控制和/或订户管理)提供支持和/或为多个应用服务(例如数据、语音和视频)提供支持的“多服务网络单元”。订户终端站(例如服务器、工作站、膝上型电脑、掌上电脑、移动电话、智能电话、多媒体电话、通过因特网协议的语音(VoIP)电话、便携式媒体播放器、GPS单元、游戏系统、机顶盒等)访问通过因特网提供的内容/服务和/或在叠加在因特网上的虚拟私用网络(VPN)上提供的内容/服务。所述内容和/或服务通常由属于服务或内容供应商的一个或多个终端站(例如服务器终端站)或参与对等服务的终端站提供,并且可包含公用网页(免费内容、存储前部、搜索服务等)、私用网页(例如提供电子邮件服务的用户名/密码访问的网页等)、通过VPN的公司网等。通常,订户终端站(例如通过(有线或无线地)耦合到接入网的客户驻地设备)耦合到边缘网络单元,这些边缘网络单元(例如通过一个或多个核心网络单元)耦合到其它边缘网络单元,这些其它边缘网络单元耦合到其它终端站(例如服务器终端站)。
通常,网络单元包含一个或多个线卡的集合、一个或多个控制卡的集合以及可选地包含一个或多个服务卡(有时称为资源卡)的集合。这些卡通过一个或多个机构(例如耦合线卡的第一全网格(full mesh)和耦合所有这些卡的第二全网格)耦合在一起。线卡的集合构成数据平面,而控制卡的集合提供控制平面并通过线卡与外部网络单元交换分组。服务卡的集合能提供专门处理(例如层4到层7服务(例如防火墙、IPsec、IDS、P2P)、VoIP会话边界控制器、移动无线网关(GGSN、演进分组系统(EPS)网关)等)。作为示例,服务卡可用于终止IPsec隧道,并执行伴随而来的鉴权和加密算法。
描述了用于处理LSID冲突的方法和设备。在本发明的一个实施例中,抑制其LSA将与不同路由具有LSID冲突的主路由,使得不发起那些主路由的LSA和/或从链路状态数据库(LSDB)中排除那些主路由的LSA。抑制那些主路由防止多个不同路由具有共享同一LSID的LSA。由此,避免了对于为不同路由发起具有同一LSID的LSA可能发生的问题(例如不正确拓扑、数据完整性问题、业务黑洞、软件崩溃等)。
在一个实施例中,每个抑制的主路由与其LSA具有将与将指配给抑制的主路由的LSA的LSID冲突的LSID的路由关联。响应于那个其它路由在抑制的主路由之前被撤销,取消抑制主路由,并用指配给那个其它路由的LSA的LSID发起LSA。
图1是例证根据本发明一个实施例的示范网络100的框图。如图1中所例证的,网络100包含与网络单元120(直接或间接)耦合的订户终端站110A-110N。网络单元120充当网络100中的自主系统边界路由器(ASBR)。网络单元120可通过路由重新分布到网络单元120上的OSPF中从订户终端站110A-110N获悉主路由,和/或主路由可静态配置在网络单元120上(其通常也通过路由重新分布提供给OSPF)。尽管未例证,但是网络单元120除了指配给订户终端站110A-110N的主路由还获悉路由。
网络单元120将获悉的路由(包含主路由)广告到OSPF域中(例如到网络单元130,其充当网络100中的区域边界路由器(ABR))。例如,网络单元120可以广告指配给订户终端站110A-110N的主路由和对应于从其分配主路由的池的路由。在一个实施例中,网络单元120使用OSPF类型5LSA(外部LSA)向网络单元130广告路由,包括主路由。
图2是例证根据本发明一个实施例的示范网络200的框图。如图2中所例证的,网络200是VPN(例如层3VPN)。客户边缘(CE)网络单元215通过CE-PE链路280与供应商边缘(PE)网络单元220通信,链路280是OSPF链路。类似地,CE网络单元230通过CE-PE链路282与PE网络单元225通信,链路282是OSPF链路。PE网络单元220和225通过PE-PE链路284通信,链路284是BGP链路。
CE网络单元215通过CE-PE链路280从站点210向PE网络单元220广告路由,包含主路由。CE网络单元230通过CE-PE链路282从站点240向PE网络单元225广告路由,包含主路由。站点210和240各可包含多个订户终端站。PE网络单元220和225将分别从CE网络单元215和230获悉的路由(包含主路由)输出到彼此。这将在本文后面更详细描述,经由BGP输出的路由可重新分布到OSPF中。
应该理解,图1和2中例证的网络是示范性的,并且本发明的实施例可应用于其主路由通过链路状态协议广告的不同类型网络。
图3是例证根据本发明一个实施例用于处理LSID冲突的示范网络单元的框图。虽然图3例证了网络单元220,但应理解,在本发明的一些实施例中,图1中例证的网络单元120和网络单元225包含类似功能性。
网络单元120包含OSPF模块320,OSPF模块320实现OSPF协议的实现,与路由信息库(RIB)模块360耦合,RIB模块360与BGP模块340耦合,其实现BGP模块340的实现。OSPF模块320和BGP模块340基于某路由量度(对于OSPF模块320和BGP模块340该量度可以不同)将路由条目下载到主RIB 365。RIB模块360管理主RIB 365(例如处理路由更新、路由删除等),并且还可引起在路由协议之间重新分布路由。例如,RIB模块360可使由BGP模块340获悉的路由(其可包含由PE网络单元225输出的主路由)被重新分布到OSPF模块320。作为另一个示例,RIB模块360可使由OSPF模块320获悉的路由(其可包含从CE网络单元215获悉的主路由)被重新分布到BGP模块340以便输出到PE网络单元225。
虽然实施例描述了重新分布功能性由管理主RIB 365的RIB模块360提供,但应该理解,协议之间的路由重新分布可以不同方式执行(例如OSPF模块320和BGP模块340可直接交换路由,与主RIB 365分开且相隔的重新分布模块可以执行重新分布等)。根据一个实施例,系统运营商配置网络单元200以将OSPF路由重新分布到BGP模块340中,并将BGP路由重新分布到OSPF模块320中。
OSPF模块320可以LSA形式(OSPF模块320也发起LSA)从实现OSPF的其它网络单元(例如从CE网络单元215)获悉路由。OSPF模块320还可获悉从其它协议重新分布的路由(例如从BGP模块340重新分布的路由)和/或静态获悉的路由(例如由网络单元220的运营商经由命令线接口330配置)。响应于获悉新路由,OSPF模块320开始由路由添加模块350执行的路由添加过程。将参考图4和6更详细描述示范性路由添加过程。OSPF模块320还包含路由撤销模块355以执行路由撤销过程,将参考图5和7更详细描述路由撤销过程。
网络单元220还包含如下数据结构:链路状态数据库(LSDB)324、本地OSPF RIB 326、本地BGP RIB 328和主RIB 365。然而,应该理解,在本文描述的本发明实施例中可以使用不同数量的数据结构(例如组合两个或更多以上数据结构的数据结构等)。
与OSPF模块320耦合的LSDB 324将与路由关联的LSA存储在网络中。在一些实现中,对于网络单元220属于的每个区域存在单独的LSDB,并且在一些实现中,对于不同LSA类型存在不同LSDB。如将在本文后面更详细描述的一样,OSPF模块320向LSDB 324添加LSA,并从LSDB 324中移除LSA。
与OSPF模块320耦合的本地OSPF RIB 326存储OSPF路由条目,包含未下载到主RIB 365的那些和未发起LSA的那些。例如,本地OSPFRIB 326可存储抑制的路由,这些路由是将不发起LSA的路由(这将在本文后面更详细描述)。根据一个实施例,本地OSPF RIB 326保持每个抑制的主路由与否则将包含具有将与那个抑制的主路由的LSA冲突的LSID的LSA的路由之间的关联。
主RIB 365存储由OSPF模块320和BGP模块340选择的路由。尽管未示出以免模糊了对本发明的理解,但是主RIB 365中的路由子集(有时称为活动路由条目)被下载到网络单元220的线卡供转发业务时使用。与BGP模块340耦合的本地BGP RIB 328存储BGP路由条目,包含未下载到主RIB 365的那些。
图4是例证根据本发明一个实施例包含处理LSID冲突的指配路由的LSID的示范路由添加过程的数据流程图。
如图4中所例证的,路由添加模块350包含生成试用LSID的试用LSID发生器和处理LSID冲突的LSID冲突处理模块420。OSPF模块320为它已经获悉的路由调用路由添加模块350。可以从其它OSPF对等体获悉路由,通过不同协议重新分布路由,或静态配置路由。
试用LSID发生器415在操作455为正在添加的路由生成试用LSID。最初,试用LSID将是路由的网络地址,通过对路由前缀和路由掩码执行逐位“与”运算来计算网络地址。试用LSID被传到LSID冲突模块420。
LSID冲突模块420确定试用LSID是否与指配给不同路由的现有LSA的LSID冲突。例如,LSID冲突处理模块420执行访问LSDB 324的LSID冲突检查操作460,以确定是否LSDB中的任何LSA被指配了相当于试用LSID的LSID。如果没有冲突,则将指配试用LSID,并且LSID指配过程完成。OSPF模块320随后可调用LSA发起模块435以发起具有所指配LSID的那个路由的LSA。然而,如果存在ISID冲突,并且正在添加的路由或现有路由(与具有等于试用LSID的LSID的LSA关联的路由)是主路由,则调用主路由冲突处理过程425。
主路由冲突处理过程425通过执行抑制主路由操作465来抑制作为主路由的路由。如果正在添加的路由是主路由,则抑制主路由操作465包含不发起那个主路由的LSA,并且因此在LSDB 324中不包含那个路由的LSA。现有路由(否则将与正在添加的路由具有LSID冲突的路由)的LSA的LSID仍然相同。在一个实施例中,抑制主路由操作465还包含修改本地OSPF RIB 326中的主路由的路由条目以指示正在抑制主路由(例如指示正在抑制主路由并且不应该发起该路由的LSA的标志)。根据一个实施例,LSA发起模块435跳过在其路由条目中具有设置的抑制标志的那些路由。
如果现有路由是主路由,则抑制主路由操作465包含执行排除LSA操作480以从LSDB 324中排除与那个主路由关联的LSA(例如主路由冲突处理过程425访问LSDB 324并移除抑制的主路由的LSA)。在一个实施例中,抑制主路由操作465还包含修改本地OSPF RIB 326中的主路由的路由条目以指示正在抑制主路由。由此,不管主路由是正在添加的路由还是现有路由,在一些实施例中,抑制主路由操作465都包含修改本地OSPFRIB 326中的主路由的路由条目以指示正在抑制主路由。正在添加的路由的LSA然后取代之前指配给与主路由关联的LSA的LSID。LSA发起模块435然后可执行发起LSA操作475以发起具有路由的那个LSID的LSA(其然后存储在LSDB 324中)。为了说明,正在抑制的主路由有时称为“受抑制者”路由,而与受抑制者路由关联的、否则将与受抑制者路由具有LSID冲突的路由有时称为“抑制者”路由。
应该理解,否则将与抑制的主路由具有LSID冲突的路由提供了把主掩码路由归入的范围的IP可达性。因此,作为一个示例,甚至在存在抑制的IP主路由的情况下,在自主系统中重新分布的路由也是可达的。
OSPF模块320关联受抑制者路由与抑制者路由,使得如果抑制者路由被撤销了,则自动添加受抑制者路由,并且对于具有指配给抑制者路由的LSID的那个路由发起LSA。例如,主路由冲突处理过程425将受抑制者路由与抑制者路由关联。在本发明的一个实施例中,关联发生在本地OSPF RIB 326内。例如,在一个实施例中,本地OSPF RIB 326中的路由条目指示一个路由是否正在被另一个路由抑制和那个路由的身份,以及一个路由是否正在抑制另一个路由和那个路由的身份。
如果存在LSID冲突,并且正在添加的路由或现有路由都不是主路由,则调用非主路由冲突处理过程430。根据一个实施例,非主路由冲突处理过程430是在RFC 2328中描述的LSID冲突处理算法的修改版本。非主路由冲突处理过程430选择具有最长掩码的路由,并确定那个路由是否与抑制的路由关联(即,选择的路由是否是受抑制者主路由的抑制者路由)。应该理解,仅被选择的、具有LSDB中当前存在的LSA的那些路由可以是抑制者路由(由此正在添加的路由不能是抑制者路由)。
如果选择的路由是抑制者路由,则非主路由冲突处理过程430执行转移抑制者路由操作470以将关联从选择的路由(具有较长路由掩码的路由)转移到具有较短路由掩码的路由(例如通过修改本地OSPF RIB 326中的路由条目)。发生关联转移,因为选择的路由将被指配不同的LSID,并且未选择的路由(具有较短路由掩码的路由)将采用指配给选择的路由的LSID。本该由抑制的主路由使用的LSID不改变。
为选择的路由生成新试用LSID(例如,试用LSID发生器415对选择的路由的掩码执行逐位“非”运算,并对那个结果执行与选择的路由的前缀的逐位“或”运算(类似由RFC 2328所定义的)。在为选择的路由生成新试用LSID之后,再次执行LSID冲突检查操作460,因为有可能这个新试用LSID已经被指配给不同路由的LSA(其可以是主路由或者可以不是主路由)。如果没有冲突,则可以用该试用LSID发起那个路由的LSA。未选择的路由接管之前指配给选择的路由的LSA的LSID的使用。
如果选择的路由不是抑制者路由,则非主路由冲突处理过程430为选择的路由生成新试用LSID,类似于由RFC 2328所定义的。再次执行LSID冲突检查操作460以确定新试用LSID是否已经指配给不同路由的LSA。未选择的路由接管之前指配给选择的路由的LSA的LSID的使用。
图5是例证根据本发明一个实施例包含取消抑制路由的示范路由撤销过程的数据流程图。图5例证了路由撤销模块355与路由添加模块350、本地OSPF RIB 326和LSDB 324之间的交互作用。
响应于接收到撤销路由的指令,路由撤销模块355调用取消抑制模块525。取消抑制模块525执行抑制者路由检查操作560以确定要撤销的路由当前是否与抑制的路由关联(即该路由是否是抑制者路由)。在一个实施例中,抑制者路由检查操作560包含访问本地OSPF RIB 326中要撤销的路由的路由条目(例如以确定是否为要撤销的路由设置抑制者标志)。如果设置了抑制者标志,则取消抑制模块525用密钥(LSID、IP主掩码)在本地OSPF RIB 326中执行路由查找,其中LSID的值是由抑制者路由使用的LSID。如果查找失败(例如它正在返回“空”值),则受抑制者路由已经撤销。然而,如果查找返回一个路由,则取消抑制模块525取消抑制那个路由(例如发起具有由抑制者路由使用的LSID的LSA)。在另一个实施例中,本地OSPF RIB 326中的抑制者路由的路由条目还指示受抑制者路由的身份。在一个实施例中,取消抑制模块525还可选地确定当前是否抑制正在撤销的路由(即该路由是否是受抑制者路由)。
如果正在撤销的路由是抑制者路由,则取消抑制模块525执行取消抑制受抑制者路由操作570以取消抑制受抑制者路由。根据一个实施例,取消抑制受抑制者路由操作570包含访问和修改本地OSPF RIB 326中的受抑制者路由的路由条目以移除关于抑制主路由的任何指示(例如清除指示主路由是受抑制者路由的标志)。路由撤销模块355然后调用路由添加模块350以添加取消抑制的主路由。根据一个实施例,路由添加模块350将执行添加取消抑制的路由操作575,添加取消抑制的路由操作575指配与取消抑制的主路由关联的、之前指配给抑制者路由的LSA的LSID(即,取消抑制的主路由接管之前指配给抑制者路由的LSID)。
应该理解,由于抑制者路由把其受抑制者路由归入,因此当抑制者路由在那个受抑制者路由之前被撤销时,受抑制者路由变得不可达。通过取消抑制那个路由并通过网络广告那个路由的LSA,取消抑制的主路由将再次是可达的。
路由撤销模块355还执行排除LSA操作580以移除与正在撤销的路由关联的LSA(例如取消抑制模块252访问LSDB 324并删除与正在撤销的路由关联的LSA)。在一个实施例中,路由撤销模块355还从本地OSPF RIB326中移除正在撤销的路由的路由条目。
图6是例证根据本发明一个实施例包含处理LSID冲突的在路由添加过程期间执行的示范操作的流程图。将参考图8和9的示范LSID指配描述图6,然而应该理解,可参考其它LSID指配执行图6的操作。此外,将参考图4的示范实施例描述图6的操作。然而,应该理解,可由本发明的不同于参考图4讨论的那些实施例的实施例执行图6的操作,并且参考图4讨论的实施例可执行与参考图6讨论的那些操作不同的操作。
在块610,OSPF模块320开始图8的路由1[10.0.0.0,255.255.0.0]的路由添加过程。可以从其它OSPF路由器获悉路由,通过不同协议重新分布路由,或静态配置路由。为了说明的目的,图8表示与在不同时间在网络单元220中获悉的路由关联的LSA的LSID的指配。最初(在添加路由1之前),在LSDB中没有LSA,并且因此没指配LSID。
流程从块610移动到块615,在此LSID指配过程开始。参考图4,LSID指配模块410已经开始路由1的LSID指配。流程然后移动到块620,在此试用LSID发生器415生成路由1的试用LSID。在一个实施例中,根据RFC 2328生成试用LSID。例如,路由1的试用LSID是路由的网络地址(10.0.0.0)。
流程从块620移动到块625,在此LSID冲突处理模块420确定路由1的试用LSID是否与现有路由的LSID冲突。由于没有当前指配的LSID,因此没有LSID冲突。从而,流程移动到块630,在此处理以常规方式操作(例如LSA被发起用于路由1,并且被指配了LSID 10.0.0.0)。因此,如图8所例证的,在时间T1,路由1与LSID值10.0.0.0关联。
图8的路由2[10.0.0.0,255.255.255.0]是要添加的下一个路由。路由2的试用LSID是路由的网络地址(10.0.0.0)。由于路由1与LSID 10.0.0.0关联,因此存在LSID冲突。从而,流程从块625移动到块635。
在块635,进行关于路由1或路由2是否是主路由的确定。由于那些路由都不是主路由(它们都没有主掩码),因此流程移动到块640。根据一个实施例,参考块640-660描述的操作由非主路由冲突处理过程430执行。在块640,选择路由2,因为它相比路由1具有更长的路由掩码。流程从块640移动到块645。
在块645,非主路由冲突处理过程430确定路由2是否与抑制的路由关联。例如,非主路由冲突处理过程430访问本地OSPF RIB 326中的路由2的条目(例如以确定是否设置了受抑制者标志)。由于路由2当前不与抑制的路由关联,因此流程移动到块655。在块655,对路由2的掩码(255.255.255.0)执行逐位“非”运算,得到值0.0.0.255。流程从块655移动到块660,在此路由2的新试用LSID是逐位“非”运算的结果与试用LSID逐位“或”运算的结果。由此,路由2的新试用LSID是0.0.0.255|10.0.0.0的值,其等于10.0.0.255。
流程从块660移动回块625,在此LSID冲突处理模块420确定试用LSID 10.0.0.255是否和与现有路由关联的LSID冲突。如图8中所例证的,LSID 10.0.0.255当前未指配给不同路由的LSA。由此,流程移动到块630,在此处理以常规方式操作,并且LSA被发起用于路由2,并且被指配了10.0.0.255的LSID。因此,如图8所例证的,在时间T2,路由1与LSID值10.0.0.0关联,并且路由2与LSID值10.0.0.255关联。
图8的路由3[10.0.0.0,255.255.255.255]是要添加的下一个路由。路由3的试用LSID是路由的网络地址(10.0.0.0)(例如作为执行块620的结果)。由于路由1与LSID 10.0.0.0关联,因此存在LSID冲突。从而,流程从块625移动到块635。
在块635,LSID冲突处理模块420确定路由1或路由3是否是主路由。由于路由3是主路由(它有主掩码),因此流程移动到块665。根据一个实施例,参考块665和670描述的操作由主路由冲突处理过程425执行。
在块665,主路由冲突处理过程425抑制路由3,因为它是主路由。由于路由3在正添加的过程中(并由此当前没有路由3的LSA),因此抑制路由3包含防止对于路由3发起LSA。在一个实施例中,抑制主路由还包含修改本地OSPF RIB 326中的路由3的路由条目以指示正在抑制路由3(例如在本地OSPF RIB 326中对于路由3设置受抑制者标志)。应该理解,即使正在抑制路由3,路由1仍提供把路由3归入的范围的IP可达性。
流程从块665移动到块670,在此主路由冲突处理过程425将路由3与路由1关联(例如将受抑制者路由与抑制者路由关联)。如将在本文后面更详细描述的一样,路由3和路由1关联,使得如果路由1在路由3之前被撤销,则可用指配给路由1的LSID发起路由3的LSA。在不同实施例中可以不同方式执行路由3与路由1之间的关联。例如,本地OSPF RIB 326中的路由1的路由条目可修改以指示它是抑制者路由(例如设置抑制者标志)并且可选地指示它正在抑制路由3。本地OSPF RIB 326中的路由3的路由条目也可修改以指示它是受抑制者路由(例如设置受抑制者标志)并且可选地指示它正在被路由1抑制。作为另一个示例,可使用不同于本地OSPF RIB 326的数据结构将路由3与路由1关联。
流程从块670移动到块675,在此OSPF处理继续。因此,如图8所例证的,在时间T3,路由1与LSID值10.0.0.0关联,并且是路由3的抑制者,路由2与LSID值10.0.0.255关联,并且路由3是受抑制者路由(被路由1抑制)。
图8的路由4[10.0.0.255,255.255.255.255]是要添加的下一个路由。路由4的试用LSID是路由的网络地址(10.0.0.255)(例如作为执行块620的结果)。LSID冲突处理模块420确定存在LSID冲突,因为值10.0.0.255当前与路由2关联。从而,流程从块625移动到块635。
在块635,LSID冲突处理模块420确定路由1或路由4是否是主路由。由于路由4是主路由(它有主掩码),因此流程移动到块665。在块665,主路由冲突处理过程425抑制路由4,因为它是主路由。由于路由4在正添加的过程中(并由此当前没有路由4的LSA),因此抑制路由4包含防止对于路由4发起LSA。在一个实施例中,抑制主路由还包含修改本地OSPFRIB 326中的路由4的路由条目以指示正在抑制路由4。应该理解,即使正在抑制路由4,路由2仍提供把路由4归入的范围的IP可达性。
流程从块665移动到块670,在此主路由冲突处理过程425将路由4与路由2(受抑制者路由与抑制者路由)关联,使得如果路由2在路由4之前被撤销,则可用指配给路由2的LSID发起路由4的LSA。该关联可以上面参考路由1和3所描述的类似方式执行。流程从块670移动到块675,在此OSPF处理继续。因此,如图8所例证的,在时间T4,路由1与LSID值10.0.0.0关联,并且是路由3的抑制者。路由2与LSID值10.0.0.255关联,并且是路由4的抑制者,路由3是受抑制者路由(被路由1抑制),并且路由4是受抑制者路由(被路由2抑制)。
由此,在图8的时间T4之后,LSDB 324包含被指配了LSID 10.0.0.0的LSA(与路由1关联)和被指配了LSID 10.0.0.255的LSA(与路由2关联)。此外,路由1提供了把路由3(其被抑制)归入的范围的IP可达性,并且路由2提供了把路由4(其被抑制)归入的范围的IP可达性。
图7是例证根据本发明一个实施例在路由撤销过程期间执行的示范操作的流程图。将参考图8和9的示范LSID指配描述图7,然而应该理解,可参考其它LSID指配执行图7的操作。此外,将参考图5的示范实施例描述图7的操作。然而,应该理解,可由本发明的不同于参考图5讨论的那些实施例的实施例执行图7的操作,并且参考图5讨论的实施例可执行与参考图7讨论的那些操作不同的操作。
在块710,OSPF模块320开始图8的路由1[10.0.0.0,255.255.0.0]的路由撤销过程。应该理解,可出于许多原因撤销路由(例如属于该路由的订户已经结束了它们的会话等)。流程从块710移动到块715,在此路由撤销模块355确定路由1是否与抑制的路由关联。在一个实施例中,路由撤销模块355访问本地OSPF RIB 326中的路由1的路由条目以确定是否设置了抑制者标志。由于路由1是路由3的抑制者路由,因此流程移动到块725。
在块725,取消抑制模块525取消抑制被抑制的路由(路由3)。取消抑制模块525通过抑制者路由(路由1)与抑制的路由(路由3)之间的关联确定抑制的路由的身份。例如,在一些实施例中,本地OSPF RIB 326中的路由1的路由条目指示路由1是抑制者路由,但确实指示抑制的路由的身份。在这种实施例中,用密钥(LSID、IP主掩码)在本地OSPF RIB 326上执行路由查找,其中LSID的值是指配给路由1的LSA的LSID。这种路由查找导致返回路由3的身份。在其它实施例中,本地OSPF RIB 326中的路由1的路由条目指示它是抑制者路由,并且还指示受抑制者路由(路由3)的身份。取消抑制路由3还包含取消抑制模块525对于路由3修改本地OSPF RIB 326中的条目以移除关于路由3是抑制的路由的指示(例如通过清除受抑制者标志)。
流程从块725移动到块730,在此从LSDB 324中排除并从本地OSPFRIB 326中移除与路由1关联的LSA。流程从块730移动到块735,在此添加路由3的过程开始(例如流程移动到图6的块610)。在路由3的添加路由过程中,对于路由3发起具有指配给路由1的LSID(10.0.0.0)的LSA。因此,如图8所例证的,在时间T5,路由1已经被撤销,路由2与LSID值10.0.0.255关联并且是路由4的抑制者,路由3现在被取消抑制并与LSID值10.0.0.0关联,并且路由4是受抑制者路由(被路由2抑制)。
应该理解,在本发明的一些实施例中,在单个步骤中通过新LSA简单地替换现有LSA来执行排除现有LSA(正在撤销的路由的LSA)的步骤和发起新LSA(与当前正在发起的撤销LSA具有相同LSID的LSA(例如主路由的LSA))的步骤。
图8的路由2[10.0.0.0,255.255.255.0]是要撤销的下一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由2是否与抑制的路由关联。由于路由2是路由4的抑制者路由,因此流程移动到块725。在块725,取消抑制模块525取消抑制路由4,包含对于路由4修改本地OSPFRIB 326中的条目以移除关于路由4是抑制的路由的指示(例如通过清除受抑制者标志)。
流程从块725移动到块730,在此从LSDB 324中排除并从本地OSPFRIB 326中移除与路由2关联的LSA。流程从块730移动到块735,在此添加路由4的过程开始(例如流程移动到图6的块610)。在路由4的添加路由过程中,对于路由4发起具有指配给路由1的LSID(10.0.0.255)的LSA。因此,如图8所例证的,在时间T6,路由1已经被撤销,路由2已经被撤销,路由3与LSID值10.0.0.0关联,并且路由4现在被取消抑制并与LSID值10.0.0.255关联。
图8的路由3[10.0.0.0,255.255.255.255]是要撤销的下一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由3是否与抑制的路由关联。由于路由3不与抑制的路由关联,因此流程移动到块720,在此采取备选措施(例如撤销过程正常进行,并从LSDB 324中排除与路由3关联的LSA)。因此,如图8所例证的,在时间T7,路由1已经被撤销。路由2已经被撤销,路由3已经被撤销,并且路由4现在被取消抑制并与LSID值10.0.0.255关联。
图8的路由4[10.0.0.255,255.255.255.255]是要撤销的下一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由4是否与抑制的路由关联。由于路由4不与抑制的路由关联,因此流程移动到块720,在此采取备选措施(例如撤销过程正常进行,并从LSDB 324中排除与路由4关联的LSA)。因此,如图8所例证的,在时间T8,路由1已经被撤销。路由2已经被撤销,路由3已经被撤销,并且路由4被撤销。
图9是例证根据本发明一个实施例按与图8不同的顺序到达的一组路由的LSID指配的框图。如图9所例证的,添加与图8中相同的路由(例如路由1[10.0.0.0,255.255.0.0]、路由2[10.0.0.0,255.255.255.0]、路由3[10.0.0.0,255.255.255.255]和路由4[10.0.0.255,255.255.255.255]);然而,它们按与图8中不同的顺序被添加。
图9的路由2[10.0.0.0,255255.255.0]是要添加的第一个路由。在块610,OSPF模块320开始图9的路由2的路由添加过程。与参考图8所描述的类似,最初(在添加路由2之前),在LSDB中没有LSA,并且因此没有指配LSID。流程从块610移动到块615,在此LSID指配过程开始。参考图4,LSID指配模块410已经开始路由2的LSID指配。流程然后移动到块620,在此试用LSID发生器415生成路由2的试用LSID。在一个实施例中,根据RFC 2328生成试用LSID。例如,路由2的试用LSID是路由的网络地址(10.0.0.0)。
流程从块620移动到块625,在此LSID冲突处理模块420确定路由2的试用LSID是否和与现有路由关联的LSID冲突。由于没有当前指配的LSID,因此没有冲突。从而,流程移动到块630,在此处理以常规方式操作(例如与路由2关联的LSA被发起,并被指配了LSID值10.0.0.0)。因此,如图9所例证的,在时间T1,路由2与LSID值10.0.0.0关联。
路由3[10.0.0.0,255.255.255.255]是要添加的下一个路由。路由3的试用LSID是路由的网络地址(10.0.0.0)。由于路由2与LSID 10.0.0.0关联,因此存在LSID冲突。从而,流程从块625移动到块635。
在块635,进行关于路由2或路由3是否是主路由的确定。由于路由3是主路由(它有主掩码),因此流程移动到块665。在块665,主路由冲突处理过程425抑制路由3,因为它是主路由。由于路由3在正添加的过程中(并由此当前没有路由3的LSA),因此抑制路由3包含防止对于路由3发起LSA。在一个实施例中,抑制主路由还包含修改本地OSPF RIB 326中的路由3的路由条目以指示正在抑制路由3(例如通过设置受抑制者标志)。应该理解,即使正在抑制路由3,路由2仍提供把路由3归入的范围的IP可达性。
流程从块665移动到块670,在此主路由冲突处理过程425将路由3与路由2关联(例如将受抑制者路由与抑制者路由关联)。如将在本文后面更详细描述的一样,路由3和路由2关联,使得如果路由2在路由3之前被撤销,则可用指配给路由2的LSID发起路由3的LSA。可以本文前面所描述的类似方式关联路由(例如主路由冲突处理过程引起修改路由2的条目以指示它是抑制者路由,并且可选地指示它正在抑制路由3)。
流程从块670移动到块675,在此OSPF处理继续。因此,如图9所例证的,在时间T2,路由2与LSID值10.0.0.0关联并且是路由3的抑制者,并且路由3是受抑制者路由(被路由2抑制)。
图9的路由4[10.0.0.255,255.255.255.255]是要添加的下一个路由。路由4的试用LSID是路由的网络地址(10.0.0.255)(例如作为执行块620的结果生成试用LSID)。在块625,LSID冲突处理模块420确定没有LSID冲突,因为值10.0.0.255当前不与不同路由关联。从而,流程从块625移动到块630,在此处理以常规方式操作(例如与路由4关联的LSA被发起,并被指配了LSID值10.0.0.255)。因此,如图9所例证的,在时间T3,路由2与LSID值10.0.0.0关联并且是路由3的抑制者,路由3是受抑制者路由(被路由2抑制),并且路由4与LSID值10.0.0.255关联。
图9的路由1[10.0.0.0,255.255.0.0]是要添加的下一个路由。路由1的试用LSID是路由(10.0.0.0)的网络地址(例如作为执行块620的结果生成试用LSID)。在块625,LSID冲突处理模块420确定存在LSID冲突,因为值10.0.0.0与路由2关联。从而,流程从块625移动到块635。
在块635,LSID冲突处理模块420确定路由1或路由2是否是主路由。由于那些路由都不是主路由(它们都没有主掩码),因此流程移动到块640。在块640,选择路由2,因为它相比路由1具有更长的路由掩码。流程从块640移动到块645,
在块645,非主路由冲突处理过程430确定路由2是否与抑制的路由关联。例如,非主路由冲突处理过程430访问本地OSPF RIB 326中的路由2的条目以确定路由2是否与抑制的路由关联(例如是否为路由2设置了抑制者标志)。由于路由2是正在抑制路由3的抑制者路由,因此流程移动到块650。
在块650,非主路由冲突处理过程430将与路由3的关联从路由2转移到路由1。换句话说,由于路由1从路由2接管路由3的抑制者路由的角色,因此路由1现在与路由3关联。在一些实施例中,修改本地OSPF RIB326中的路由2的路由条目以移除关于它是抑制者路由的指示(例如通过清除抑制者标志),并且修改路由1的路由条目以包含关于它是抑制者路由的指示(例如,通过设置那个条目的抑制者标志)。在一些实施例中,还修改路由1的条目以标识受抑制者路由(例如路由3)。在一些实施例中,修改本地OSPF RIB 326中的路由3的路由条目以指示路由1现在是正在抑制路由3的路由。
路由1从路由2接管抑制者路由的角色,因为根据RFC 2328,路由2将被指配不同的LSID(它相比路由1具有更长的路由掩码)。正被抑制的路由3的状态未改变,因为它会与路由1具有LSID冲突并且它是主路由。由此,路由1提供把路由3归入的范围的IP可达性。
流程从块650移动到块655,在此对路由2的掩码(255.255.255.0)执行逐位“非”运算,得到值0.0.0.255。流程从块655移动到块660,在此路由2的新试用LSID是逐位“非”运算的结果与试用LSID逐位“或”运算的结果。由此,路由2的新试用LSID是0.0.0.255|10.0.0.0的值,其等于10.0.0.255。
流程从块660移动回块625,在此LSID冲突处理模块420确定试用LSID 10.0.0.255是否和与现有路由关联的LSID冲突。如图9中所例证的,LSID 10.0.0.255当前被指配给路由4的LSA。从而,流程移动到块635,在此LSID冲突处理模块420确定路由2和路由4之一是否是主路由。由于路由4是主路由,因此流程移动到块665。
在块665,主路由冲突处理过程425抑制路由4,因为它是主路由。由于路由4已经与一个或多个LSA关联,因此抑制路由4包含从LSDB 324中排除路由4的LSA,并修改本地OSPF RIB 326中的路由4的路由条目,以指示路由4是受抑制者路由(例如通过设置受抑制者标志)并且可选地指示路由4正在被路由2抑制。应该理解,路由2提供把路由4归入的范围的IP可达性。
流程从块665移动到块670,在此主路由冲突处理过程425将路由4与路由2关联,使得如果路由2在路由4之前被撤销,则可用关联到路由2的LSID发起路由4的LSA。可以前面所描述的类似方式执行路由4与路由2之间的关联。
流程从块670移动到块675,在此OSPF处理如常继续。因此,如图9所例证的,在时间T4,路由1与LSID值10.0.0.0关联,并且现在是路由3的抑制者路由(从路由2转移)。路由2不再是路由3的抑制者路由,并且与LSID值10.0.0.255关联,并且现在是路由4的抑制者路由,路由3是正在被路由1抑制的受抑制者路由,并且路由4是被路由2抑制的受抑制者路由。
参考图7,在块710,OSPF模块开始图9的路由1[10.0.0.0,255.255.0.0]的路由撤销过程。流程从块710移动到块715,在此路由撤销模块355确定路由1是否与抑制的路由关联(例如通过访问本地OSPF RIB 326中的路由1的路由条目以确定路由1是否是抑制者路由)。由于路由1是路由3的抑制者路由,因此流程移动到块725。在块725,取消抑制模块525取消抑制路由3。例如,取消抑制模块525对于路由3修改本地OSPF RIB 326中的条目以移除关于路由3是抑制的路由的指示。
流程从块725移动到块730,在此从LSDB 324中排除与路由1关联的LSA。在一些实施例中,还从本地OSPF RIB 326中移除路由1的路由条目。流程从块730移动到块735,在此添加路由3的过程开始(例如流程移动到图6的块610)。在路由3的添加路由过程中,对于路由3发起具有指配给路由1的LSID(10.0.0.0)的LSA。因此,如图9所例证的,在时间T5,路由1已经被撤销,路由2与LSID值10.0.0.255关联并且是路由4的抑制者,路由3现在被取消抑制并与LSID值10.0.0.0关联,并且路由4是受抑制者路由(被路由2抑制)。
图9的路由4[10.0.0.255,255.255.255.255]是要撤销的下一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由4是否与抑制的路由关联。由于路由4本身是抑制的路由,因此它不与抑制的路由关联(也就是说,它当前不充当不同路由的抑制者路由)。因此,流程移动到块720,在此采取备选措施(例如,从LSDB 324中排除与路由4关联的LSA,移除关于路由2是正在抑制路由4的抑制者路由的指示等)。由此,如图9所例证的,在时间T6,路由1已经被撤销,路由2与LSID值10.0.0.255关联,但不再是路由4的抑制者,路由3与LSID值10.0.00关联,并且现在路由4被撤销。
图9的路由3[10.0.0.0,255.255.255.255]是要撤销的下一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由3是否与抑制的路由关联。如图9中所指示的,路由3不与抑制的路由关联。从而,流程移动到块720,在此采取备选措施(例如从LSDB 324中排除与路由3关联的LSA)。因此,如图9所例证的,在时间T7,路由1已经被撤销。路由2与LSID值10.0.0.255关联,路由3现在被撤销,并且路由4被撤销。
图9的路由2[10.0.0.0,255.255.255.0]是要撤销的最后一个路由。流程从块710移动到块715,在此路由撤销模块355确定路由2是否与抑制的路由关联。如图9中所指示的,路由2不与抑制的路由关联。从而,流程移动到块720,在此采取备选措施(例如从LSDB 324中排除与路由2关联的LSA)。因此,如图9所例证的,在时间T8,路由1已经被撤销。路由2现在被撤销,路由3被撤销,并且路由4被撤销。
应该理解,抑制LSA被发起用于否则将与现有路由具有LSID冲突的主路由防止多个不同路由共享同一LSID。由此,避免了由于不同路由共享同一LSID可能发生的问题(例如不正确拓扑、数据完整性问题、业务黑洞、软件崩溃等)。此外,抑制者路由提供了把主路由归入的范围的IP可达性。
本文描述的本发明实施例可用于多种类型的LSA,包含OSPF类型3LSA(概要LSA)、OSPF类型5LSA(外部LSA)和OSPF类型7(非纯末梢区域外部LSA)。然而,应该理解,在本文描述的本发明实施例中可以使用其它类型的LSA。
虽然附图中的流程图示出了由本发明某些实施例执行的具体操作顺序,但应该理解,这种顺序是示范性的(例如备选实施例可按不同顺序执行操作,组合某些操作,交叠某些操作等)。
虽然已经根据多个实施例描述了本发明,但本领域技术人员将认识到,本发明不限于描述的实施例,可以在所附权利要求书的精神和范围内用修改和改变来实施。说明书由此被视为例证性的,而非限制性的。
Claims (20)
1.一种在实现开放式最短路径优先OSPF协议的网络单元上执行的处理链路状态标识符LSID冲突以防止与不同路由关联的不同链路状态广告LSA共享同一LSID的方法,其中每个LSA由所指配LSID标识,所述方法包括如下步骤:
在第一路由的LSID指配过程期间,执行如下步骤:
生成所述第一路由的试用LSID;
确定所述试用LSID的值已经指配给第二路由的LSA,并且还确定所述第一路由和所述第二路由之一是主路由,其中所述主路由是具有主路由掩码的路由,并且其中所述第一路由和所述第二路由是不同的;
响应于关于所述主路由是所述第一路由的确定,执行如下步骤:
抑制所述第一路由以防止所述第一路由与所述第二路由之间的LSID冲突,其中所述抑制步骤包含不发起所述第一路由的LSA的步骤;
响应于关于所述主路由是所述第二路由的确定,执行如下步骤:
抑制所述第二路由以防止所述第一路由与所述第二路由之间的LSID冲突,其中所述抑制步骤包含排除所述第二路由的LSA的步骤;以及
发起具有所述试用LSID的值的所述第一路由的LSA;
其中通过所述第一路由和所述第二路由中未抑制的路由提供把所述主路由归入的范围的网络可达性;以及
其中防止包含主路由的不同路由的LSA共享同一LSID,同时甚至在存在抑制的主路由的情况下每个所述路由都是可达的。
2.如权利要求1所述的方法,还包括如下步骤:
将所述主路由与未抑制的其它路由关联,使得当关联的路由被撤销时所述主路由被自动取消抑制。
3.如权利要求2所述的方法,还包括如下步骤:
响应于所述主路由的撤销,解除所述第一路由和所述第二路由的关联。
4.如权利要求2所述的方法,还包括如下步骤:
响应于所述第一路由和所述第二路由中不是主路由的路由的撤销,其中撤销包含排除与那个路由关联的LSA,取消抑制所述主路由包含发起具有指配给排除的LSA的LSID的那个路由的LSA。
5.如权利要求2所述的方法,还包括:
在具有不是主路由掩码的路由掩码的第三路由的LSID指配过程期间执行如下步骤,并且其中所述第一路由是主路由,而所述第二路由与所述第一路由关联:
生成所述第三路由的试用LSID;
确定所述第三路由的所述试用LSID的值已经指配给所述第二路由的所述LSA,其中所述第三路由的所述路由掩码比所述第二路由的路由掩码长;以及
响应于所述确定步骤,执行如下步骤:
解除所述第一路由和所述第二路由的关联;
排除所述第二路由的所述LSA;
将所述第三路由与所述第一路由关联;以及
发起具有之前指配给所述第二路由的所述LSA的所述试用LSID的值的所述第三路由的LSA。
6.如权利要求5所述的方法,还包括如下步骤:
生成所述第二路由的试用LSID;
确定所述第二路由的所述试用LSID的值是否指配给不同路由的现有LSA;
响应于关于所述第二路由的所述试用LSID的值未指配给现有LSA的确定,对于所述第二路由指配那个LSID,并发起具有那个所指配LSID的所述第二路由的LSA;以及
响应于关于所述第二路由的所述试用LSID的值已经指配给作为主路由的第四路由的现有LSA的确定,抑制所述第四路由,由此防止所述第二路由与所述第四路由之间的LSID冲突。
7.如权利要求1所述的方法,其中排除所述LSA的所述步骤包含从链路状态数据库LSDB中移除所述第二路由的对应条目,并且其中所述发起步骤包含将发起的LSA添加到所述LSDB中。
8.如权利要求1所述的方法,还包括:将每个抑制的主路由保持在所述网络单元的本地OSPF路由信息库RIB中。
9.如权利要求1所述的方法,还包括:接收来自通过所述OSPF协议耦合的另一个网络单元的第一路由、从所述网络单元上不同于OSPF的路由协议重新分布的第一路由或静态配置的第一路由。
10.一种用于处理开放式最短路径优先OSPF链路状态标识符LSID冲突以防止与不同路由关联的不同链路状态广告LSA共享同一LSID的系统,其中每个LSA用所指配LSID标识,所述系统包括:
客户边缘网络单元,其通过OSPF协议向第一供应商边缘网络单元分布OSPF路由,其中至少一些所述OSPF路由是主路由,其中主路由是具有主路由掩码的路由;并且
所述第一供应商边缘网络单元通过边界网关协议BGP向第二供应商边缘网络单元分布所述OSPF路由,所述第一供应商边缘网络单元包括:
OSPF模块,实现所述OSPF协议和生成LSA并向所述LSA指配LSID,其中所述OSPF模块在LSID指配期间执行如下项:
抑制所述OSPF路由中作为主路由的那些路由,那些路由否则将包含具有与其它LSA冲突的LSID的对应LSA,其中抑制包含移除与抑制的主路由关联的LSA并且不发起抑制的主路由的LSA;以及
其中通过与具有与那个抑制的主路由冲突的LSID的所述LSA关联的所述路由,那些抑制的主路由中的每个都是可达的;以及
由此防止包含主路由的不同路由的LSA共享同一LSID,同时甚至在存在抑制的主路由的情况下每个所述路由都是可达的。
11.如权利要求10所述的系统,其中所述第一供应商边缘网络单元的所述OSPF模块还执行如下项:
对于每个抑制的主路由,将那个抑制的主路由与否则将具有与那个抑制的主路由冲突的LSID的所述路由关联。
12.如权利要求11所述的系统,其中对于提供抑制的主路由的网络可达性的那些路由中的每个,所述OSPF模块还执行如下项:
响应于关于与那个OSPF路由具有相同网络前缀的不同OSPF路由具有较小路由掩码的确定,将所述关联从那个OSPF路由转移到所述不同OSPF路由;以及
其中在给定时间每个抑制的主路由与单个OSPF路由关联。
13.如权利要求11所述的系统,其中所述第一供应商边缘网络单元还包含如下项:
本地OSPF路由信息库RIB,其存储OSPF路由;
链路状态数据库LSDB;
其中所述OSPF模块还将抑制的主路由保持在所述本地OSPF RIB中;以及
其中所述OSPF模块还将未抑制的路由的LSA添加到所述LSDB中。
14.如权利要求11所述的系统,其中所述第一供应商边缘网络单元的所述OSPF模块还执行如下项:
撤销不是主路由的OSPF路由,包含排除对应的LSA;以及
取消抑制与撤销的路由关联的那些抑制的主路由,其中取消抑制包含发起那些取消抑制的主路由的LSA。
15.一种用于处理链路状态标识符LSID冲突以防止与不同路由关联的不同链路状态广告LSA共享同一LSID的网络单元,其中每个LSA用所指配LSID标识,所述网络单元包括:
开放式最短路径优先OSPF模块,保持链路状态数据库LSDB并生成包含LSID的LSA,其中所述OSPF模块要在LSID指配期间执行如下项:
基于那些路由的网络前缀和路由掩码向路由的LSA指配LSID;
抑制所述路由中作为主路由的那些路由,那些路由否则将包含具有和与不同路由关联的不同LSA的LSID冲突的LSID的对应LSA,其中主路由是具有主路由掩码的路由,其中抑制那些主路由包含移除与抑制的主路由关联的所述LSA并且不发起所述抑制的主路由的LSA;
其中对于每个所述抑制的主路由,通过与否则将包含与那个抑制的主路由的LSA冲突的LSID的LSA关联的路由,把那个抑制的主路由归入的范围是可达的;以及
由此避免主路由LSID冲突以防止路由不可达或多个路由指向同一LSA。
16.如权利要求15所述的网络单元,其中所述OSPF模块要接收通过OSPF协议从其它网络单元获悉的路由、从所述网络单元上的其它路由协议重新分布的路由或静态配置的路由。
17.如权利要求15所述的网络单元,还包括:
边界网关协议BGP模块,向不同网络单元分布未抑制的路由。
18.如权利要求15所述的网络单元,还包括:
本地OSPF路由信息库RIB,其存储OSPF路由,其中所述OSPF模块还要将所述抑制的主路由存储在所述本地OSPF RIB中。
19.如权利要求15所述的网络单元,其中所述OSPF模块还要在LSID指配期间执行如下项:
对于每个抑制的主路由,将那个抑制的主路由与否则将具有与那个抑制的主路由冲突的LSID的路由关联。
20.如权利要求19所述的网络单元,其中所述OSPF模块还要基于所述路由的网络前缀和那些路由的路由掩码的长度在具有相同网络前缀的路由之间转移关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/544,789 US8289961B2 (en) | 2009-08-20 | 2009-08-20 | Link state identifier collision handling |
US12/544789 | 2009-08-20 | ||
PCT/IB2010/053695 WO2011021145A1 (en) | 2009-08-20 | 2010-08-16 | Link state identifier collision handling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102484611A CN102484611A (zh) | 2012-05-30 |
CN102484611B true CN102484611B (zh) | 2014-11-05 |
Family
ID=42830177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080037968.1A Expired - Fee Related CN102484611B (zh) | 2009-08-20 | 2010-08-16 | 链路状态标识符冲突处理 |
Country Status (9)
Country | Link |
---|---|
US (2) | US8289961B2 (zh) |
EP (1) | EP2467979B1 (zh) |
JP (1) | JP5597710B2 (zh) |
CN (1) | CN102484611B (zh) |
CL (1) | CL2010000877A1 (zh) |
NZ (1) | NZ597788A (zh) |
RU (1) | RU2517312C2 (zh) |
TW (1) | TWI500295B (zh) |
WO (1) | WO2011021145A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932116B (zh) * | 2012-10-26 | 2015-06-17 | 迈普通信技术股份有限公司 | 一种链路状态通告信息确认方法和设备 |
US9356884B2 (en) * | 2013-01-17 | 2016-05-31 | Cisco Technology, Inc. | MSDC scaling through on-demand path update |
US10164863B2 (en) | 2013-09-11 | 2018-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Inter-chassis peer and method used therein |
WO2015081565A1 (en) * | 2013-12-06 | 2015-06-11 | Telefonaktiebolaget L M Ericsson (Publ) | Inter-chassis peer and method used therein |
CN105262852B (zh) * | 2015-09-18 | 2018-08-10 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的网段冲突检测方法及系统 |
CN105721303B (zh) * | 2016-03-31 | 2018-05-18 | 华为技术有限公司 | 一种路由控制方法、网络设备及控制器 |
CN107948075A (zh) * | 2017-12-20 | 2018-04-20 | 盛科网络(苏州)有限公司 | 有效解决公网和私网路由转发的方法及系统 |
CN111740914B (zh) * | 2020-06-18 | 2022-11-22 | 深圳市信锐网科技术有限公司 | 一种ospf协议报文分布式处理方法、系统及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365520A (en) * | 1992-03-27 | 1994-11-15 | Motorola, Inc. | Dynamic signal routing |
US6711152B1 (en) * | 1998-07-06 | 2004-03-23 | At&T Corp. | Routing over large clouds |
US6615357B1 (en) * | 1999-01-29 | 2003-09-02 | International Business Machines Corporation | System and method for network address translation integration with IP security |
US6651107B1 (en) * | 1999-09-21 | 2003-11-18 | Intel Corporation | Reduced hardware network adapter and communication |
US7327683B2 (en) * | 2000-03-16 | 2008-02-05 | Sri International | Method and apparatus for disseminating topology information and for discovering new neighboring nodes |
US7046666B1 (en) * | 2001-12-06 | 2006-05-16 | The Directv Group, Inc. | Method and apparatus for communicating between divergent networks using media access control communications |
US7088677B1 (en) * | 2002-03-01 | 2006-08-08 | Bellsouth Intellectual Property Corporation | System and method for delay-based congestion detection and connection admission control |
EP1387527A1 (en) * | 2002-07-30 | 2004-02-04 | Agilent Technologies Inc. | Identifying network routers and paths |
US20050169270A1 (en) | 2003-03-19 | 2005-08-04 | Ryoichi Mutou | Router, frame forwarding method, and lower layer frame virtual forwarding system |
US7827308B2 (en) * | 2003-05-23 | 2010-11-02 | Alcatel-Lucent Canada Inc. | Optical wavekey network and a method for distributing management information therein |
JP4044007B2 (ja) * | 2003-06-27 | 2008-02-06 | 古河電気工業株式会社 | 経路情報管理方法および経路情報管理装置 |
EP1733528A1 (en) * | 2004-04-05 | 2006-12-20 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method, communication device and system for address resolution mapping in a wireless multihop ad hoc network. |
EP1672848A1 (en) * | 2004-12-15 | 2006-06-21 | Siemens Aktiengesellschaft | L3 VLAN reuse with L2 forwarding prevention to increase effective number of IP VLANs |
JP2008527772A (ja) | 2004-12-31 | 2008-07-24 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | コネクションレス通信トラフィックのためのコネクション型通信スキーム |
US8161185B2 (en) * | 2006-04-24 | 2012-04-17 | Cisco Technology, Inc. | Method and apparatus for assigning IPv6 link state identifiers |
US8374092B2 (en) * | 2006-08-28 | 2013-02-12 | Cisco Technology, Inc. | Technique for protecting against failure of a network element using multi-topology repair routing (MTRR) |
-
2009
- 2009-08-20 US US12/544,789 patent/US8289961B2/en active Active
-
2010
- 2010-08-16 CN CN201080037968.1A patent/CN102484611B/zh not_active Expired - Fee Related
- 2010-08-16 NZ NZ597788A patent/NZ597788A/xx not_active IP Right Cessation
- 2010-08-16 EP EP20100752935 patent/EP2467979B1/en not_active Not-in-force
- 2010-08-16 WO PCT/IB2010/053695 patent/WO2011021145A1/en active Application Filing
- 2010-08-16 RU RU2012110401/08A patent/RU2517312C2/ru not_active IP Right Cessation
- 2010-08-16 JP JP2012525241A patent/JP5597710B2/ja not_active Expired - Fee Related
- 2010-08-17 CL CL2010000877A patent/CL2010000877A1/es unknown
- 2010-08-19 TW TW099127803A patent/TWI500295B/zh not_active IP Right Cessation
-
2012
- 2012-09-12 US US13/611,981 patent/US8855113B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272393A (zh) * | 2008-05-14 | 2008-09-24 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
Also Published As
Publication number | Publication date |
---|---|
US8855113B2 (en) | 2014-10-07 |
WO2011021145A1 (en) | 2011-02-24 |
EP2467979A1 (en) | 2012-06-27 |
NZ597788A (en) | 2013-04-26 |
TW201138377A (en) | 2011-11-01 |
RU2517312C2 (ru) | 2014-05-27 |
CN102484611A (zh) | 2012-05-30 |
US20130003731A1 (en) | 2013-01-03 |
TWI500295B (zh) | 2015-09-11 |
US8289961B2 (en) | 2012-10-16 |
JP5597710B2 (ja) | 2014-10-01 |
JP2013502799A (ja) | 2013-01-24 |
EP2467979B1 (en) | 2015-05-06 |
US20110044330A1 (en) | 2011-02-24 |
RU2012110401A (ru) | 2013-12-20 |
CL2010000877A1 (es) | 2011-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102484611B (zh) | 链路状态标识符冲突处理 | |
CN109802985B (zh) | 数据传输方法、装置、设备及可读取存储介质 | |
US11212210B2 (en) | Selective route exporting using source type | |
CN107690800B (zh) | 管理动态ip地址分配 | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
TW202034737A (zh) | 在網路運算環境中的路由最佳化 | |
US7936668B2 (en) | Methods and apparatus for distributing label information | |
CN104272678A (zh) | 数据平面中有效的控制分组复制 | |
CN104219125A (zh) | 信息为中心网络icn中转发报文的方法、装置及系统 | |
EP3457640B1 (en) | Route establishment and message sending | |
CN110113260A (zh) | 一种转发表更新方法及装置 | |
CN102752205A (zh) | 一种路由迭代的方法和装置 | |
CN108243102B (zh) | 一种快速重路由的实现方法和pe设备 | |
CN107078961A (zh) | 中间系统到中间系统拓扑透明区 | |
US10686695B1 (en) | Proactive prefix disaggregation for traffic assurance in data center routing | |
EP3461079B1 (en) | Path establishment method and device, and network node | |
CN103220217A (zh) | 一种路由生成方法和设备 | |
CN105939262B (zh) | 标签分配的方法及装置 | |
CN108696433A (zh) | 路由振荡抑制方法及bgp路由设备 | |
CN104253751A (zh) | 一种基于多角色主机的报文传输方法和设备 | |
CN109218182B (zh) | 一种路由信息的同步方法及装置 | |
CN109842554A (zh) | 设备服务的路由方法、装置、设备及存储介质 | |
CN115665026A (zh) | 一种集群组网的方法和装置 | |
CN104883300A (zh) | 一种报文传输的方法和设备 | |
EP3160104B1 (en) | Method and device for generating bgp logical topology |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141105 |