一种is-is协议中支持转发地址的方法及其装置制造方法

文档序号:7783500阅读:261来源:国知局
一种is-is协议中支持转发地址的方法及其装置制造方法
【专利摘要】本发明提供一种IS-IS协议中支持转发地址的方法及其装置,应用于支持IPv6的路由器,所述方法包括:引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为转发地址FA填充到TLV结构中扩展的FA?sub?TLV中随链路状态协议数据单元LSP发布出去;解析收到的非自身生成的LSP的FA?sub?TLV中的FA,根据FA计算出外部路由的下一跳地址。本发明可以根据FA计算外部路由的下一跳,避免数据流量多传一跳情况的发生。
【专利说明】—种IS-1S协议中支持转发地址的方法及其装置
【技术领域】
[0001]本发明涉及中间系统到中间系统IS-1S协议领域,尤其涉及一种IS-1S协议中支持转发地址的方法及其装置。
【背景技术】
[0002]IS-1S (Intermediate System-to-1ntermediate System,中间系统到中间系统协议)是一种动态路由协议。LSP (链路状态协议数据单元),路由器产生LSP,LSP中收集了有关连接链路、邻居路由器、IP子网、相关的度量信息等本地链路状态信息。FA (Forwardingaddress,转发地址)是为外部路由提供的额外的转发路径。
[0003]参看图1,现有的IS-1S协议中支持IPv6的路由器Route A、Router B、Router E为自治域内部的路由器,路由器Router C为自治域外部的路由器。路由器Router C通过一个多点可达的网络,与自治域内部的路由器Router E和Router B连接,Router E将RouterC的网络引入自治域内部。由于Router C的网络是通过Router E引入自治域内部的,当自治域内部的路由器Route A访问Router C的网络时,数据流量会到达Router B并转发给Router E,然后到达Router C,即图1中的黑色路径。显然,这样的转发路径的数据流量经过Router B后,虽然Router B也与Router C连接,但仍需经过Router E再发送给RouterC,造成数据流量多传一跳情况的发生。

【发明内容】

[0004]有鉴于此,本发明提供一种IS-1S协议中支持转发地址的方法及其装置,其可以根据FA计算外部路由的下一跳,避免数据流量多传一跳情况的发生。
[0005]本发明提供一种IS-1S协议中支持转发地址的方法,应用于支持IPv6的路由器,所述方法包括:
[0006]引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为转发地址FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去。
[0007]解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
[0008]进一步地,本发明所述引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去还包括:
[0009]当外部路由下一跳地址和出接口地址具有不同前缀时,则使用保留FA填充到FAsub TLV中随LSP发布出去。
[0010]进一步地,本发明所述保留FA为:
[0011]如果存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA ;[0012]否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
[0013]进一步地,本发明所述根据FA计算出外部路由的下一跳地址包括:
[0014]将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址;
[0015]将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
[0016]进一步地,本发明所述将和FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址包括:
[0017]如果自治域内存在多个和所述FA具有相同如缀的路由,则将和所述FA具有相同前缀的最长匹配的路由的下一跳地址继承为FA的下一跳地址。
[0018]本发明还提供一种IS-1S协议中支持转发地址的装置,应用于支持IPv6的路由器,其特征在于,所述装置包括:
[0019]FA发布模块,用于引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去;
[0020]FA计算模块,用于解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
[0021]进一步地,本发明所述FA发布模块还用于当外部路由下一跳地址和出接口地址具有不同前缀时,则使用保留FA填充到FA sub TLV中随LSP发布出去。
[0022]进一步地,本发明所述保留FA为:
[0023]当存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA ;
[0024]否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
[0025]进一步地,本发明所述FA计算模块中的根据FA计算出外部路由的下一跳地址包括:
[0026]将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址;
[0027]将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
[0028]进一步地,本发明所述将和FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址包括:
[0029]如果自治域内存在多个和所述FA具有相同如缀的路由,则将和所述FA具有相同前缀的最长匹配的路由的下一跳地址继承为FA的下一跳地址。
[0030]由以上技术方案可见,本发明在IS-1S协议报文的TLV结构中扩展FA sub TLV,将FA sub TLV通过LSP发布出去,根据FA sub TLV中的FA计算出外部路由的下一跳地址。并且,本发明FA为和出接口地址具有相同前缀的外部路由的下一跳地址。这样,本发明IS-1S协议可以实现转发地址功能,从而保证数据流量直接从和外部路由具有相同前缀的下一跳地址到达自治域外部的路由器,数据流量以最佳路由访问外部网络,避免了多传一跳情况的发生。
【专利附图】

【附图说明】[0031]图1是IS-1S协议中路由器的转发路径示意图;
[0032]图2是本发明方法的流程图;
[0033]图3是本发明TLV结构示意图;
[0034]图4 是本发明 IPv6Reachability TLV 不意图;
[0035]图5是本发明装置的系统结构图。
【具体实施方式】
[0036]本发明在IS-1S协议报文的TLV结构中扩展FA sub TLV JfFA sub TLV通过LSP发布出去,根据FA sub TLV中的FA计算出外部路由的下一跳地址。并且,本发明FA为和出接口地址具有相同前缀的外部路由的下一跳地址。这样,本发明IS-1S协议可以实现转发地址功能,从而保证数据流量直接从和外部路由相同前缀的下一跳地址到达自治域外部的路由器,数据流量以最佳路由访问外部网络,避免了多传一跳情况的发生。
[0037]参见图2,本发明提供一种IS-1S协议中支持转发地址的方法,应用于支持IPv6的路由器,所述方法包括:
[0038]S1、引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去。
[0039]本发明在IS-1S协议报文的TLV结构中扩展存储转发地址FA的FA sub TLV。
[0040]TLV (Type-Length-Value)是IS-1S协议的链路状态路由LSP中的信息组织形式。参看图3, TLV格式包括Type、Length和Value。
[0041]在IS-1S协议中sub TLV的格式和普通TLV格式相同,只是普通TLV包含在IS-1S报文中,而sub TLV包含在普通TLV中。
[0042]具体地,本发明在IPv6Reachability TLV中新增一种sub TLV类型来存储FA,即FA sub TLV。
[0043]所述FA sub TLV的格式和内容如下:
[0044]Type字段即FA sub TLV的类型字段,优选地可以为128。
[0045]Length字段为所述FA sub TLV中Value字段的长度。
[0046]Value为IPv6前缀对应IPv6FA,优选地长度为16字节。
[0047]具体地,例如IS-1S协议引入一条外部静态路由1111:: 1111/64,当所述外部静态路由的下一跳地址为2222:: 1111/64,出接口为EthernetO/Ι。所述使能了 IS-1S的出接口EthernetO/Ι的地址为2222::2222/64。由于外部静态路由下一跳地址2222:: 1111/64和出接口地址2222::2222/64具有相同前缀,那么在IS-1S协议生成1111:: 1111/64这条前缀对应的IPv6Reachability TLV时,将2222:: 1111作为FA加入TLV中。在生成LSP携带IPv6Reachability TLV时,将FA填充到FA sub TLV 中发布出去。发布的 IPv6ReachabilityTLV如图4所示。
[0048]进一步地, 所述步骤SI还包括:
[0049]当外部路由下一跳地址和出接口地址具有不同前缀时,则使用保留FA填充到FAsub TLV中随LSP发布出去。
[0050]如果外部路由下一跳地址和出接口地址具有不同前缀,则表明无须更改FA,使用保留FA填充到FA sub TLV中。具体地,例如在生成LSP携带IPv6Reachability TLV时,将FA填充到FA sub TLV中发布出去。数据流量仍然按照原来的路径访问自治域外部路由器。
[0051]当然,当外部路由下一跳地址和出接口地址具有不同前缀时亦可不使用保留FA填充到FA sub TLV中,而是并不填充TLV中的FA sub TLV,仍然按照原有的TLV随LSP进行发布,也并不影响后续的路由计算。
[0052]进一步地,所述保留FA为:
[0053]如果存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA。
[0054]否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
[0055]由于环回接口相对稳定,变更少,本发明优选环回接口作为保留FA。
[0056]如果无须改变FA,则优选使能的UP状态的环回接口作为保留FA,如果存在多个使能的UP状态的环回接口则选取任意一个使能的UP状态的环回接口的全球单播地址作为保留FA。如果不存在使能的UP状态的环回接口,则选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
[0057]S2、解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
[0058]进一步地,所述步骤S2中的根据FA计算出外部路由的下一跳地址包括:
[0059]S21、将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址。
[0060]S22、将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
[0061]进一步地,所述步骤S21包括:
[0062]如果自治域内存在多个和所述FA具有相同如缀的路由,则将和所述FA具有相同前缀的最长匹配的路由的下一跳地址继承为FA的下一跳地址。
[0063]由于步骤SI中如果外部路由下一跳地址和出接口地址具有相同前缀,则选取下一跳地址作为FA。因此,将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址。进一步地,FA的下一跳地址为和外部路由下一跳地址具有相同前缀的自制域内的路由的下一跳地址。因此,实现了在IS-1S协议中的支持FA功能,利用FA实现外部路由的数据流量最佳路径传输。
[0064]对应于上述方法,本发明还提供一种IS-1S协议中支持转发地址功能的装置,其应用于支持IPv6的路由器,所述路由器包括CPU、内存、非易失性存储器以及其他硬件,所述装置在逻辑上包括:
[0065]FA发布模块,用于引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀,则选取下一跳地址作为FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去。
[0066]FA计算模块,用于解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
[0067]进一步地,本发明所述FA发布模块还用于当外部路由下一跳地址和出接口地址具有不同前缀,则使用保留FA填充到FA sub TLV中随LSP发布出去。[0068]进一步地,本发明所述保留FA为:
[0069]当存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA ;
[0070]否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
[0071]进一步地,本发明所述FA计算模块中的根据FA计算出外部路由的下一跳地址包括:
[0072]将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址;
[0073]将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
[0074]进一步地,本发明所述将和FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址包括:
[0075]如果自治域内存在多个和所述FA具有相同如缀的路由,则将和所述FA具有相同前缀最长匹配的路由的下一跳地址继承为FA的下一跳地址。
[0076]为说明本发明实现,现在以一个具体实例来进一步进行说明。
[0077]参见图1,IS- 1S协议中支持IPv6的路由器Route A、Router B、Router E为自治域内部的路由器。路由器Router C为自治域外部的路由器,路由器Router C通过广播网链路与路由器Router E和Router B连接。其中Router E和Router B建立IS-1S IPv6邻居,Router B和Router A建立IS-1S IPv6邻居。Router E和Router C建立开放式最短路径优先OSPF v3邻居,Router E上通过OSPF v3协议学到Router C上1:: 1/64的外部路由,下一跳地址为2:2:2:2::1。
[0078]Router E上通过IS-1S协议将OSPF v3协议的路由1:: 1/64引入自治域内部,在LSP中生成携带FA为2:2:2:2::1的1::1/64路由。
[0079]当Router B收到相应的LSP时,计算路由1:: 1/64时会继承FA为2:2:2:2::1的路由的下一跳,FA为2:2:2:2::1的路由的下一跳会匹配到地址为2:2:2:2::2/64的接口上,计算出1::1/64路由的出接口为2:2:2:2::2/64地址对应的接口,下一跳地址为2:2:2:2::1,直指Router C设备,从而比经过RouterE节省一跳。则从Router A到达路由I:: 1/64的流量经过Router B转发时,Router B根据下一跳直接转发到Route C。
[0080]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种IS-1S协议中支持转发地址的方法,应用于支持IPv6的路由器,其特征在于,所述方法包括: 引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为转发地址FA填充到TLV结构中扩展的FA subTLV中随链路状态协议数据单元LSP发布出去; 解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
2.根据权利要求2所述的方法,其特征在于,所述引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为FA填充到TLV结构中扩展的FAsub TLV中随链路状态协议数据单元LSP发布出去还包括: 当外部路由下一跳地址和出接口地址具有不同前缀时,则使用保留FA填充到FA subTLV中随LSP发布出去。
3.根据权利要求2所述的方法,其特征在于,所述保留FA为: 如果存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA ; 否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
4.根据权利要求3所述的方法,其特征在于,所述根据FA计算出外部路由的下一跳地址包括: 将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址; 将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
5.根据权利要求4所述的方法,其特征在于,所述将和FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址包括: 如果自治域内存在多个和所述FA具有相同前缀的路由,则将和所述FA具有相同前缀的最长匹配的路由的下一跳地址继承为FA的下一跳地址。
6.一种IS-1S协议中支持转发地址的装置,应用于支持IPv6的路由器,其特征在于,所述装置包括: FA发布模块,用于引入外部路由时,当外部路由下一跳地址和出接口地址具有相同前缀时,则选取下一跳地址作为FA填充到TLV结构中扩展的FA sub TLV中随链路状态协议数据单元LSP发布出去; FA计算模块,用于解析收到的非自身生成的LSP的FA sub TLV中的FA,根据FA计算出外部路由的下一跳地址。
7.根据权利要求6所述的装置,其特征在于,所述FA发布模块还用于当外部路由下一跳地址和出接口地址具有不同前缀时,则使用保留FA填充到FA sub TLV中随LSP发布出去。
8.根据权利要求7所述的装置,其特征在于,所述保留FA为: 当存在至少一个使能的UP状态的环回接口,则选择任一使能的UP状态的环回接口的全球单播地址作为保留FA ; 否则,选择任一使能的UP状态的普通接口的全球单播地址作为保留FA。
9.根据权利要求8所述的装置,其特征在于,所述FA计算模块中的根据FA计算出外部路由的下一跳地址包括: 将和所述FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址; 将所述FA的下一跳地址继承为所述外部路由的下一跳地址。
10.根据权利要求9所述的装置,其特征在于,所述将和FA具有相同前缀的自治域内的路由的下一跳地址继承为FA的下一跳地址包括: 如果自治域内存在多个和所述FA具有相同前缀的路由,则将和所述FA具有相同前缀的最长匹配的 路由的下一跳地址继承为FA的下一跳地址。
【文档编号】H04L29/12GK103701696SQ201310755392
【公开日】2014年4月2日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】曹伟, 魏志广 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1