一种igp与ldp在广播网同步的实现方法及路由器的制作方法

文档序号:7894847阅读:256来源:国知局
专利名称:一种igp与ldp在广播网同步的实现方法及路由器的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种IGP与LDP在广播网同步的实现方法及
路由器。
背景技术
IGP (Internal Gateway Protocol,内部网关协议)是在自治域系统(Autonomous System)内部使用的路由协议,其中包括0SPF (Open Shortest PathFirst,开放最短路径优 先路由)协议和 IS-IS(Intermediate System-to-Intermediate System,中间系统到中间 系统)路由协议,上述两个路由协议都是链路状态路由协议,是指通过在网络中收集所有 路由器相关的链路状态并通过计算得到相应路由信息的协议。一般将一台路由器上运行路 由协议的接口信息以及邻居信息称为链路状态。LDP (Label Distribution Protocol,标签分发协议)是 MPL S (Multi-Protocol Label Switching,多协议标签交换)的一种控制协议,相当于传统网络中的信令协议,负 责FEC (Forwarding Equivalence Class,转发等价类)的分类、标签的分配以及LSP (Label Switched Path,标签交换路径)的建立和维护等操作。LDP规定了标签分发过程中的各种 消息以及相关处理过程。LDP和IGP同步的基本原理是通过设置IGP的cost值来推迟路由的回切,直至 LDP完成收敛。即当LDP在给定链路上会话同步未完成时,IGP将以最大开销值(cost)公 告该链路,以阻止业务在该链路上发送。当该链路上的LDP会话同步完成时,IGP以正确开 销值公告该链路。0SPF中对路由信息的描述都是封装在链路状态广播(LSA,Link State Advertisment)中发布出去的。通常采用路由器LSA和网络LSA计算出区域内的路由,下面 简单介绍一下路由器LSA和网络LSA 路由器LSA (Router LSA):每一台路由器都会产生路由器LSA通告。这个最基本 的LSA通告列出了路由器所有的链路或接口,并指明了它们的状态和沿每条链路方向出站 的开销值,以及该链路上所有已知的0SPF邻居。这些LSA通告只会在始发它们的区域内部 进行泛洪扩散。网络LSA (Network LSA):每一个多路访问网络中的指定路由器(DR, Designated Router)将会产生网络LSA通告。DR路由器可以看作一个“伪”节点,或是一个虚拟路由器, 用来描绘一个多路访问网络和与之相连的所有路由器。从这个角度来看,一条网络LSA通 告也可以描绘一个逻辑上的“伪”节点,就像一条路由器LSA通告描绘一个物理上的单台路 由器一样。网络LSA通告列出了所有与之相连的路由器,包括DR路由器本身。就像路由器 LSA 一样,网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪扩散。请注意,和路由 器LSA不同,网络LSA中没有开销值字段。对于0SPF广播网络,需要选举DR,由DR对外通告该网络的链路状态。每台路由器 只与DR交换LSA,然后由DR通告给所有的路由器,从而每台设备能够保持一致的链路状态数据库。下面实施例所讲的广播网接ロ如果不是DR时,向DR发布的LSA是Router LSA, DR向各个邻居发布的是Network LSA。图I为现有技术广播网IGP和LDP同步组网图。广播网接ロ A、B、C和E两两互为邻居。也就是说,对于广播网接ロ A有三个邻居 B、C和E ;对于广播网接ロ B有三个邻居A、C和E,以此类推。PE1-A-PE3是PEl到PE3的 备份链路,A和PE3之间的cost值为10 ;PE1-A-E-PE3是PEl到PE3的主链路,位于网络核 心位置的路由器按其接ロ称为路由器A、B、C、D和E,其实路由器A、B、C、D和E还具有其它 多个接ロ,为方便实施例的描述,图中未示。本实施例中A为非DR,B为DR。A发布LSA吋, 发布到广播网上作为DR的B的cost值取该接ロ A的cost。OSPF使用接ロ的带宽来计算 cost,例如ー个10Mbit/s的接ロ,cost值为I。由于现有技术中邻居B、C和E共享同一个 接ロ A,所以cost值都为I。所以说根据接ロ带宽不同,cost值也会有所不同,该值是ー个 默认值,可以直接读取的。当A和B的链路建立之后,由于A和B的LDP同步未完成,A发布 LSA时,设置A到DR的cost为最大,但此时邻居C和E都受影响,相当于将到邻居C和E的 cost值都设置为最大了,这样就会导致PEl到PE3的流量被切換到PE1-A-PE3这条备份链 路上,而这种切换是不必要的,是ー种误切。另ー种问题是当A和B之间的链路还没有UP 起来时,PEl到PE2的路径是PE1-A-C-D-PE2,所有接ロ配置了 IGP与LDP同步功能。当A和 B的链路up后,由于A和B的LDP同步未完成,A发布LSA时,设置A到DR的cost为最大, 导致PEl到PE2的流量会被切換到PEl-A-B上,由于B上面LDP会话未同步完成,导致PEl 到PE2的流量丢弃。A和B的LDP会话同步完成后,PEl到PE2的流量通过PE1-A-B-PE2。 这种情况下就会导致路由黑洞。根据上述描述,现有技术就会出现这样的问题广播网上只要有一个邻居的LDP 会话down吋,发布LSA的cost就更改为最大值;广播网上只要有一个邻居的LDP同步完成 时,发布LSA的cost从最大值更改为接ロ的cost。这样会导致路由黑洞或不必要的切換。 上述问题同样会出现在运行IS-IS路由协议的广播网络中。

发明内容
本发明实施例提供了ー种IGP与LDP在广播网同步的实现方法,广播网上存在多 个邻居情况下,一个邻居的UP或D0WN,不影响其它邻居的LDP同步状态。ー种内部网关协议IGP与标签分发协议LDP在广播网同步的实现方法,应用于广 播网络的路由器设备中,所述路由器具有连接有多个邻居的广播网接ロ,所述方法包括所述路由器按多个点到点描述所述广播网接ロ的网络拓扑,在所述广播网接ロ与 其邻居之间建立路由,所述点到点描述中每个邻居对应ー个开销值;通过查询所述广播网接ロ与其邻居的IGP与LDP同步状态,确定该邻居对应的开 销值,当所述广播网接ロ与其中ー个邻居之间的IGP与LDP同步未完成吋,所述广播网接ロ 上该邻居对应的开销值由所述广播网接ロ的开销值修改为链路最大值,当IGP与LDP同步 完成后,所述广播网接口上该邻居对应的开销值恢复为所述广播网接ロ的开销值。本发明实施例还提供了一种路由器,广播网上存在多个邻居情况下,一个邻居的 UP或D0WN,不影响其它邻居的LDP同步状态。一种路由器,应用于广播网络中,用于实现内部网关协议IGP与标签分发协议LDP在广播网同步,所述路由器的广播网接口连接有多个邻居,包括
〔0018〕 16?模块,用于按多个点到点描述该广播网接口的网络拓扑,在该广播网接口与其 邻居之间建立路由,所述点到点描述中每个邻居对应一个开销值008七;
〔0019〕 10?模块,用于广播网接口与其邻居之间建立会话;
〔0020〕 处理模块,用于查询广播网接口与其邻居的I⑶与10?同步状态,根据所述状态, 通知I⑶模块修改广播网接口上该邻居所对应的开销值;当所述广播网接口与其中一个邻 居之间的I⑶与10?同步未完成时,I⑶模块将所述广播网接口上该邻居对应的开销值由 所述广播网接口的开销值修改为链路最大值,当与同步完成后,16?模块将所述广 播网接口上该邻居对应的开销值恢复为所述广播网接口的开销值。
〔0021〕 本发明实施例在保持原有广播网接口的03?? 01?及1313 018的选举机制,以及链 路状态数据库仏如抝的泛洪同步行为的基础上,实现广播网接口发布拓扑信息时,按多个 点到点(卩。;^七0?2?〉发布网络拓扑,实现每邻居指定不同0081的功能;通过上
述功能,在广播网接口使能叩? 10?同步功能后,不同邻居的10?会话建立有先后,可以按 邻居查询会话状态,10?会话未完成前,只对该邻居设置000值为最大,在03?? 0尺或 1313的013不变化的前提下,解决了广播网只能按接口发布的缺点。广播网上存在多 个邻居情况下,一个邻居的即或0011不影响其它邻居的03?同步状态,不会更改发布的网 络拓扑信息,解决了广播网I⑶与10?同步存在的问题。


〔0022〕 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
〔0023〕 图1为现有技术广播网I⑶和10?同步组网图。
〔0024〕 图2为本发明实施例16?及10?同步后发布网络拓扑图。
〔0025〕 图3为本发明实施例路由器的结构示意图。
具体实施例方式
〔0026〕 为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例, 对本发明进一步详细说明。
〔0027〕 本发明实施例提出了一种I⑶与10?在广播网同步的实现方法,应用于广播网络 的路由器设备中,所述路由器具有连接有多个邻居的广播网接口,所述方法包括
〔0028〕 所述路由器按多个点到点描述所述广播网接口的网络拓扑,在所述广播网接口与 其邻居之间建立路由,所述点到点描述中每个邻居对应一个008七;
〔0029〕 通过查询所述广播网接口与其邻居的叩?与同步状态,确定该邻居对应的开 销值,当所述广播网接口与其中一个邻居之间的I⑶与同步未完成时,即会话建立 完成前,I⑶推迟路由的回切,所述广播网接口上该邻居对应的由所述广播网接口的 008^修改为链路最大值,当16?与10?同步完成后,即10?会话建立完成后,16?路由建立, 所述广播网接口上该邻居对应的000恢复为所述广播网接口的000。
本发明在广播网接口在发布网络拓扑时,将每个邻居对应一个cost,这样在实现 IGP与LDP同步时,按邻居查询LDP的同步状态,LDP同步未完成时,发布该邻居时,cost设 置为最大,同步完成后,恢复该邻居的cost。针对广播网运行不同的IGP路由协议,每个邻 居对应的cost值携带在不同的报文中。与0SPF—样,运行IS-IS路由协议的路由器也是 通过收集其他路由器泛洪的链路状态信息来构建自己的链路状态数据库。在0SPF中,0SPF 路由器通告链路状态信息是通过LSA,在IS-IS中,与LSA具有同样功能的包含链路状态信 息的报文称为LSP (Link State Packets,链路状态数据包)。LSP包含了由IS-IS路由器产 生的描述其周围环境的路由选择信息。具体地,当IGP路由协议为0SPF时,如果该广播网接口为选举后的DR,则该DR产生的Router LSA中包含到每个邻居 的链路类型1 ;如果该广播网接口为非DR,则按链路类型1产生到DR的Router LSA,根据DR向 其发送的包含其他邻居的Router LSA,产生到其他邻居的链路类型1保存在自身产生的 Router LSA 中;其中,到每个邻居的链路类型1中包含该邻居对应的开销值。Router LSA在描述其所联接的链路时,会根据各链路所联接的网络类型对各链路 打上链路标识链路类型1用于描述点对点的网络;链路类型2用于描述至一个广播性网 络的链路;链路类型3用于描述至非穿透网络;链路类型4描述虚拟链路。其中,本发明p2p 的描述就是采用了链路类型1中的描述,该描述包括了本地接口的cost。当IGP路由协议为IS-IS路由协议时,指定中间系统(DIS)或者非DIS产生的LSP中包含到每个邻居的中间系统邻居 TLV ;其中,到每个邻居的中间系统邻居TLV中包含该邻居对应的开销值。在IS-IS路由协议中,LSP使用类型长度值(TLV,Type-Length-Value)参数携带 信息,IS-IS可以在LSP中携带不同类型的信息,TLV具有多种类型。其中,中间系统邻居 TLV列出了到达每个邻居的链路的cost。也就是说,本发明“按多个点到点描述该广播网接口的网络拓扑”中的“描述”,指 的是广播网接口向其邻居发报文所携带的内容;在0SPF路由协议中,指的是向邻居发送的 Router LSA中携带链路类型1 ;在IS-IS路由协议中,指的是向邻居发送的LSP中携带中间 系统邻居TLV。图2为本发明实施例广播网IGP及LDP同步后发布网络拓扑图。广播网接口 A、B、 C和E两两互为邻居,也就是说,对于广播网接口 A有三个邻居B、C和E ;对于广播网接口 B 有三个邻居A、C和E,以此类推。本发明实施例中,对于0SPF,DR的选举过程为现有技术,在此不再赘述。如果A是 选举后的DR, A发布LSA时,直接产生Router LSA,而不产生NetworkLSA。而且Router LSA 中包含3个邻居(B、C和E)的链路类型1的连接(link),每个link中描述一个邻居对应的 cost,分别称为costAB、costAC和costAE。实际上,在未实现IGP及LDP同步前,每个邻居 对应的cost是相同的,都是广播网接口 A的cost。当A和B之间的IGP链路建立,LDP会 话未同步完成时,A发布邻居B时,针对邻居B,指定cost为链路最大值Oxffffff (costAB), 而不影响A和C,A和E之间的cost即不影响costAC和costAE的值。当A和B之间的LDP会话同步完成后,A发布邻居B的cost恢复为接ロ A的cost。需要说明的是,本发明中,同时具有多个邻居的广播网接ロ A、B、C和E发布网络拓 扑时,都是按点对点进行描述的,本发明实施例只是以接ロ A进行的说明。从图2可以看出,如果A不是DR,B是DR,则A按链路类型I产生到B的Router LSA,同时B向A发送包含A、C和E的3个链路类型I的link,每个link中描述ー个邻居对 应的cost (这里相对于B的邻居是A、C和E),到每个邻居的链路类型I中包含该邻居对应 的cost为接ロ B的cost。然后A根据B向其发送的包含邻居C和E的Router LSA,产生 到邻居C和E的链路类型I保存在自身产生的Router LSA中。这样A到邻居B、C和E的 网络拓扑描述也是通过Router LSA的点到点的描述。当A和B之间的IGP链路建立,LDP 会话未同步完成吋,A发布邻居B吋,针对邻居B,指定cost为链路最大值Oxffffff,而不影 响A和C,A和E之间的cost。当A和B之间的LDP会话同步完成后,A发布邻居B的cost 恢复为接ロ A的cost。本发明实施例中,对于IS-IS,与OSPF选举DR —祥,也需要选举指定中间系统 (DIS)。由于无论DIS还是非DIS,都知道其他邻居的存在,也就是说,对于A,即使A是非 DIS,它也知道其他邻居B、C和E,而不像在OSPF中,如果A不是DR,它只知道DR的存在。所 以在IS-IS中,A发布LSP时,直接产生3个点对点的邻居连接,即3个中间系统邻居TLV, 每个中间系统邻居TLV描述ー个邻居对应的cost。实际上,在未实现IGP及LDP同步前,每 个邻居对应的cost是相同的,都是广播网接ロ A的cost。当A和B之间的IGP链路建立, LDP会话未同步完成吋,A发布邻居B吋,针对邻居B,指定cost为链路最大值,而不影响A和 C,A和E之间的cost。其中,中间系统邻居TLV中的开销值模式分为窄开销值(narrow)模 式和宽开销值(wide)模式。在wide模式下,cost链路最大值设置为Oxffffff ;在narrow 模式下,cost链路最大值设置为3f。当A和B之间的LDP会话同步完成后,A发布邻居B 的cost恢复为接ロ A的cost。这样就不会出现现有技术的切错或者误切的问题。需要说明的是,本发明仍然保持原有广播网接ロ的OSPF DR及ISIS DIS的选举机 制,以及LSDB的泛洪同步行为,其中LSDB由LSA得到。只是广播网接ロ发布拓扑信息吋, 按多个点到点发布网络拓扑,实现每邻居指定不同cost。对应上述实施例,本发明实施例还提供了一种路由器,该路由器的各个功能模块 与方法是相对应的,其结构示意图如图3所示IGP模块301,用于按多个点到点描述该广播网接ロ的网络拓扑,在该广播网接ロ 与其邻居之间建立路由,所述点到点描述中每个邻居对应ー个cost ;LDP模块302,用于广播网接ロ与其邻居之间建立会话;处理模块303,用于查询广播网接ロ与其邻居的IGP与LDP同步状态,根据所述状 态,通知IGP模块修改广播网接口上该邻居所对应的开销值;当所述广播网接ロ与其中一 个邻居之间的IGP与LDP同步未完成吋,IGP模块将所述广播网接口上该邻居对应的开销 值由所述广播网接ロ的开销值修改为链路最大值,当IGP与LDP同步完成后,IGP模块将所 述广播网接ロ上该邻居对应的开销值恢复为所述广播网接ロ的开销值。当IGP路由协议为OSPF协议时,IGP模块301按多个点到点描述该广播网接ロ的网络拓扑时,广播网接ロ产生的 路由器链路状态通告Router LSA中包含到每个邻居的链路类型I ;其中,到每个邻居的链路类型1中包含该邻居对应的开销值。当IGP路由协议为IS-IS路由协议时,IGP模块301按多个点到点描述该广播网接口的网络拓扑时,广播网接口产生的 链路状态数据包LSP中包含到每个邻居的中间系统邻居类型长度值TLV ;其中,到每个邻居 的中间系统邻居TLV中包含该邻居对应的开销值。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种内部网关协议IGP与标签分发协议LDP在广播网同步的实现方法,应用于广播 网络的路由器设备中,所述路由器具有连接有多个邻居的广播网接口,其特征在于,所述方 法包括所述路由器按多个点到点描述所述广播网接口的网络拓扑,在所述广播网接口与其邻 居之间建立路由,所述点到点描述中每个邻居对应一个开销值;通过查询所述广播网接口与其邻居的IGP与LDP同步状态,确定该邻居对应的开销值, 当所述广播网接口与其中一个邻居之间的IGP与LDP同步未完成时,所述广播网接口上该 邻居对应的开销值由所述广播网接口的开销值修改为链路最大值,当IGP与LDP同步完成 后,所述广播网接口上该邻居对应的开销值恢复为所述广播网接口的开销值。
2.如权利要求1所述的方法,其特征在于,当IGP路由协议为开放最短路径优先路由 0SPF协议时,如果该广播网接口为选举后的指定路由器DR,则该DR产生的路由器链路状态通告 Router LSA中包含到每个邻居的链路类型1 ;如果该广播网接口为非DR,则按链路类型1产生到DR的路由器LSA,根据DR向其发送 的包含其他邻居的Router LSA,产生到其他邻居的链路类型1并保存在自身产生的Router LSA 中;其中,到每个邻居的链路类型1中包含该邻居对应的开销值。
3.如权利要求2所述的方法,其特征在于,当IGP与LDP同步未完成时,所述广播网接 口上该邻居对应的开销值设置为Oxffffff,当IGP与LDP同步完成后,所述广播网接口上该 邻居对应的开销值设置为所述广播网接口的开销值。
4.如权利要求1所述的方法,其特征在于,当IGP路由协议为中间系统到中间系统 IS-IS路由协议时,指定中间系统DIS或者非DIS产生的链路状态数据包LSP中包含到每个邻居的中间 系统邻居类型长度值TLV ;其中,到每个邻居的中间系统邻居TLV中包含该邻居对应的开销值。
5.如权利要求4所述的方法,其特征在于,中间系统邻居TLV中的开销值模式分为窄开 销值narrow模式和宽开销值wide模式。
6.如权利要求5所述的方法,其特征在于,在narrow模式下,当IGP与LDP同步未完成 时,所述广播网接口上该邻居对应的开销值设置为3f,当IGP与LDP同步完成后,所述广播 网接口上该邻居对应的开销值设置为所述广播网接口的开销值。
7.如权利要求5所述的方法,其特征在于,在wide模式下,当IGP与LDP同步未完成 时,所述广播网接口上该邻居对应的开销值设置为Oxffffff,当IGP与LDP同步完成后,所 述广播网接口上该邻居对应的开销值设置为所述广播网接口的开销值。
8.—种路由器,应用于广播网络中,用于实现内部网关协议IGP与标签分发协议LDP在 广播网同步,所述路由器的广播网接口连接有多个邻居,其特征在于,包括IGP模块,用于按多个点到点描述该广播网接口的网络拓扑,在该广播网接口与其邻居 之间建立路由,所述点到点描述中每个邻居对应一个开销值cost ;LDP模块,用于广播网接口与其邻居之间建立会话;处理模块,用于查询广播网接口与其邻居的IGP与LDP同步状态,根据所述状态,通知IGP模块修改广播网接口上该邻居所对应的开销值;当所述广播网接ロ与其中一个邻居之 间的IGP与LDP同步未完成吋,IGP模块将所述广播网接口上该邻居对应的开销值由所述 广播网接ロ的开销值修改为链路最大值,当IGP与LDP同步完成后,IGP模块将所述广播网 接口上该邻居对应的开销值恢复为所述广播网接ロ的开销值。
9.如权利要求8所述的路由器,其特征在干,当IGP路由协议为开放最短路径优先路由 OSPF协议时,所述IGP模块按多个点到点描述该广播网接ロ的网络拓扑时,广播网接ロ产生的路由 器链路状态通告Router LSA中包含到每个邻居的链路类型I ;其中,到每个邻居的链路类型I中包含该邻居对应的开销值。
10.如权利要求8所述的路由器,其特征在干,当IGP路由协议为中间系统到中间系统 IS-IS路由协议时,所述IGP模块按多个点到点描述该广播网接ロ的网络拓扑时,广播网接ロ产生的链路 状态数据包LSP中包含到每个邻居的中间系统邻居类型长度值TLV ;其中,到每个邻居的中间系统邻居TLV中包含该邻居对应的开销值。
全文摘要
本发明公开了一种IGP与LDP在广播网同步的实现方法,所述路由器具有连接有多个邻居的广播网接口,该方法包括所述路由器按多个点到点描述该广播网接口的网络拓扑,在该广播网接口与其邻居之间建立路由,所述点到点描述中每个邻居对应一个开销值;通过查询该广播网接口与其邻居的IGP与LDP同步状态,确定该邻居对应的开销值,当所述广播网接口与其中一个邻居之间的IGP与LDP同步未完成时,所述广播网接口上该邻居对应的开销值由所述广播网接口的开销值修改为链路最大值,当同步完成后,恢复为所述广播网接口的开销值。本发明还公开了一种路由器。在存在多个邻居时,一个邻居的UP或DOWN,不影响其它邻居的LDP同步状态。
文档编号H04L12/18GK102664809SQ20121013400
公开日2012年9月12日 申请日期2012年4月28日 优先权日2012年4月28日
发明者林长望 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1