一种支持策略选路的路由诊断方法

文档序号:7589363阅读:233来源:国知局
专利名称:一种支持策略选路的路由诊断方法
技术领域
本发明涉及一种路由诊断的方法,尤其涉及一种支持在策略选路网络中的路由诊断方法。
背景技术
ping/trace route等网络诊断工具,在IP(Internet Protocol,网际协议)网络中被广泛应用于诊断目的网络的可达性、IP包的选路情况、以及选路失败的位置。但是现有的ping/trace route等诊断工具都只能适用于纯粹的基于目的地址选路的网络中,当IP包投递过程中经过某个基于策略选路的设备时,则诊断协议报文选路可能与被诊断的业务流选路不同,导致不完全正确的诊断结果。
路由器和主机使用ICMP协议(Internet Control Messages Protocol,网间控制报文协议)传送控制信息,如图1是现有的ICMP协议报文格式。网络管理者可以利用这些控制信息诊断路由问题。最常用的两个路由问题诊断工具,一个是ping工具,源站点(路由器或主机)向目的站点(路由器或主机)发送若干ICMP echo(ICMP请求)报文,如图2是现有的ICMPecho/reply报文格式,如果目的站点收到这些ICMP echo报文则回应以ICMPreply(ICMP响应)报文,源站点则可以诊断出目的站点是否可达、以及传输时延;另一个是trace route工具,源站点向目的站点发送TTL值(Timeto Live,存在时间值,可以通过TTL值推算数据包已经通过了多少个路由器)从1开始递增的ICMP或UDP(User Datagram Protocol,用户数据报协议)报文,中间路由器依次因为TTL超时回送ICMP超时报文,直到到达目的站点,回送ICMP reply或者ICMP端口不可达报文,依次记录ICMP相应报文的源地址,trace route能够显示IP包投递的路径。
如图3,主机320(HOST A)和主机330(HOST B)为两台PC机,路由器301、302、303、304、305(ROUTER A-E)为具有基于策略选路能力的5台路由器。主机320(HOST A)可以通过ping主机330(HOST B)来检测HOSTA和HOST B的路由可达性。按照现有的ICMP技术,假设HOST A到HOST B的报文路由选路路径是HOST A→ROUTER A→ROUTE B→ROUTER C→ROUTERE→HOST B,并且假设HOST A和HOST B之间的五台路由器都是具有基于策略路由的能力,如果HOST A到HOST B的TCP(Transfer Control Protocol,传输控制协议)连接在ROUTER B被某条策略,如某条ACL(Access ControlList,访问控制列表)策略选路到ROUTE D,前面提到的ping的结果就不能真实地反映HOST A到HOST B的TCP报文的可达性,即可能会存在这种现象,HOST A能够ping通HOST B,但是HOST A的TCP报文无法到达HOST B。

发明内容
本发明所要解决的技术问题是提供一种支持策略选路的路由诊断方法,解决现有网络诊断工具在支持策略选路的网络中的诊断不准确的问题。
为达到上述目的,本发明提供了一种支持策略选路的路由诊断方法,应用于支持策略选路的交换网络中,其特点在于,包括如下步骤步骤一、在诊断协议报文中添加业务流的流描述信息,并在该添加了流描述信息的诊断协议报文的IP头里包含路由器警告选项;步骤二、路由器判断诊断协议报文中是否包含所述警告选项,是则按该诊断协议报文中的流描述信息选路;否则正常处理该诊断协议报文。
上述的方法,其特点在于,所述步骤二中的按流描述信息选路,包括解析出流描述中包含的内容,根据该内容匹配本地的选路策略,并按匹配到的策略选路。
上述的方法,其特点在于,所述诊断协议报文为网间控制报文协议ICMP的请求报文,并且在所述步骤二中,还包括对存在时间值TTL超时的处理步骤,如果TTL超时则返回ICMP超时消息。
上述的方法,其特点在于,所述步骤一中,通过扩展诊断协议报文的协议数据单元,将所述流描述信息添加到诊断协议报文的协议数据单元中。
上述的方法,其特点在于,所述流描述信息以“类型-长度-值”的TLV格式编码。
上述的方法,其特点在于,所述流描述信息包括业务流的协议类型、服务类型要求、源地址、源端口、目的地址、目的端口、认证信息和扩展标志中的一个或任意组合。
上述的方法,其特点在于,所述步骤二中,还包括对从私网经过网络地址转换协议设备去往公网的业务流的流描述信息的修改步骤,将所述流描述信息中的源地址或源端口修改为所述业务流在经过网络地址转换协议设备的地址转换后而具有的源地址和源端口。
上述的方法,其特点在于,所述步骤二中,还包括在支持服务类型的网络中,判断业务分类设备上收到的ICMP请求报文的流描述信息中是否包含服务类型要求的步骤,是则将该服务类型要求修改为业务流在通过该分类设备后将携带的服务类型要求,否则在所述流描述信息中直接添加业务流在通过该分类设备后将携带的服务类型要求。
上述的方法,其特点在于,所述步骤二中,还包括限制要进入控制层的ICMP协议报文流量的步骤,用以避免潜在的拒绝服务攻击。
上述的方法,其特点在于,所述步骤二中,还包括,对配置了ICMP的ping/trace route口令的网络边缘路由器收到的所述诊断协议报文的协议数据单元进行检查的步骤,如果所述协议数据单元中未携带所述认证信息,或者所述认证信息与口令不匹配,则丢弃所述诊断协议报文。
上述的方法,其特点在于,所述交换网络为基于路由交换的IP网络、基于标签交换的多协议标签交换MPLS交换网络、基于虚路径标识/虚通道标识交换的异步传输模式ATM交换网络或者是基于数据链接连接标识DLCI交换的帧中继交换网络。
本发明的技术效果在于与现有技术相比,本发明方法通过在诊断协议报文中携带业务流的流描述信息,如协议类型、传输层端点对、TOS(Type of Service服务类型)要求等,使得中间路由器不按照诊断协议报文的IP头转发报文,而按照报文所携带的流描述信息选路,从而使诊断协议报文与业务流选路可以保持一致,达到真实诊断选路、正确诊断路由问题的目的。
下面结合附图进一步详细说明本发明的具体实施例。


图1是现有IETF规定的ICMP协议PDU格式;图2是现有IETF规定的ICMP echo消息PDU格式;图3是基于现有的策略选路的网络示意图;图4是本发明的ICMP echo消息PDU格式;图5是本发明在TLVs字段中,数据按TLV格式编码;图6是本发明的实施步骤流程图。
图7是本发明业务流ToS要求TLV格式。
具体实施例方式
本发明所述支持策略选路的路由诊断方法主要步骤如下第一步在现有诊断协议报文中添加流描述信息,使得该诊断协议报文不按IP头中的信息(如目的地址)选路,而按照诊断协议报文中的流描述信息选路。诊断协议报文可以携带某个业务流的流描述信息,如果诊断协议报文携带了流描述信息,则必须携带IP Alert选项(通过在IP头里包含路由器警告选项,通知路由器应该更仔细地检查并处理这个报文),通知中间路由器对诊断协议报文做进一步检查和处理。
第二步对于携带了流描述信息的诊断协议报文,路由器应该按流描述信息选路。例如中间路由器收到ICMP echo诊断协议报文,如果TTL超时,回送ICMP超时消息;如果ICMP echo协议中包含流描述信息,则解析出流描述,匹配本地的选路策略,按匹配到的策略选路。
其中流描述信息以TLV(Type-Length-Value)格式编码。为与以前的设备和技术兼容,这些流描述信息都是可选的。同样对于IP Alert选项的处理也是可选的。但是如果要支持策略选路的路由诊断方法,就必须识别并处理IP Alert选项,同时根据流描述信息进行选路。
ICMP echo消息中可以携带全部或部分流描述信息,中间路由器根据得到的流描述信息选路。ICMP echo消息也可以不携带流描述信息,按照ICMP的IETF(Internet Engineering Task Force,Internet工程任务组)协议规范处理。参数错误及其他类型的ICMP协议报文也可以携带流描述信息来选路。
此外,私网业务流经过NAT(Network Address Translation,网络地址转换协议)设备去往公网时,业务流的源地址和传输层源端口会做转换,因此NAT设备收到从私网来的ICMP echo报文时,如果流描述信息中包含业务流源地址(IPv4)TLV或者业务流源端口TLV,NAT设备也要做相应转换,将业务流源地址(IPv4)TLV的内容和业务流源端口TLV的值修改为业务流经NAT设备地址转换后的源地址和源端口.
此外,在支持TOS(Type of Service,服务类型)的运营商网络的边缘,往往设置有业务分类设备,根据业务流的分类,修改、填充用户业务流的IPTOS字段,核心网络中的设备可能根据修改后的IP TOS值进行选路,因此,在业务分类设备上收到ICMP echo报文时,如果流描述信息中包含业务流TOS要求TLV,要做相应转换,业务流TOS要求TLV的值修改为业务流经该设备将携带的TOS值;如果流描述信息中未包含业务流TOS要求TLV,要添加适当的业务流TOS要求TLV。
此外,本方法仅要求在影响选路策略(如NAT设备等)和支持策略选路的路由器设备支持,主机/终端不需要升级扩展。不支持本方法的设备,按照标准协议报文处理。
此外,为避免潜在的DOS(Denial of Service,拒绝服务)攻击,本方法实现限制进入控制层的ICMP协议报文的流量。
网络边缘路由器可以配置ICMP ping/trace route口令,如果路由器设备配置了ICMP ping/trace route口令,则对收到的本协议扩展PDU(PublicData Network,协议数据单元)进行检查,如果未携带“认证TLV”,或者“认证TLV”的值与口令不匹配,则予以丢弃。
此外,本发明也适用于基于标签交换的MPLS(Multi-Protocol LabelSwitch,多协议标签交换)交换网络,基于VPI/VCI(虚路径标识/虚通道标识)交换的ATM(异步传输模式)交换网络或者是基于DLCI(数据链接连接标识)交换的FR(帧中继)交换网络。
图6对本发明的具体实施步骤进行了简要描述。
步骤601,本发明为ICMP定义一些扩展选项,带有这些选项的ICMP PDU格式如图4所示。其中,PDU Length是2个八位组,标识了TLVs部分的长度;Reserved为2个八位组,发送时必须填0,接收时忽略;TLV(Type-Length-Value)即被扩展的ICMP扩展编码格式;PAD是填充字段,扩展后的ICMP报文根据需要可以携带若干个八位组的pad信息。
步骤602,在定义带选项的ICMP报文PDU格式之后,本发明就可以通过ICMP的选项字段扩展定义一些流描述TLV,图5规定了TLV的格式。TLV是变长的结构,第一个八位组type描述了业务流的类型,接下来两个八位组(length)描述了该业务流参数部分(value)的长度。TLV的最后一部分(value)是该业务流描述的参数值,其长度根据type的不同可变,由length规定。本发明定义的业务流描述type值如下0x41业务流协议类型;0x42业务流ToS(Type of Service)要求;0x43业务流源地址(IPv4);0x44业务流源端口;0x45业务流目的地址(IPv4);0x46业务流目的端口;0x47认证;0x48扩展标识。
图7以业务流TOS为例,说明了TLV编码格式。其中value的取值和需要诊断的业务流的对应字段定义相同。
步骤603,本发明必须同时在IP选项中携带IP Alert选项,从而使得该ICMP报文不简单的根据目的地址和该ICMP本身协议类型来进行选路,而是根据TLV中携带的信息进行选路,并且,在基于策略选路的网络中可以通过ICMP报文的TLV设置来诊断不同流的可达性。对于携带了流描述TLV的ICMP echo报文,中间路由器应该按流描述信息选路。
步骤604,中间路由器收到ICMP echo消息,如果TTL超时,仍按IETF的规范回送ICMP超时消息;步骤605,如果收到的ICMP echo消息的PDU中包含流描述TLV,则解析出流描述,匹配本地的选路策略,按匹配到的策略选路。所有的流描述TLV都是可选的。ICMP echo消息中可以携带全部或部分流描述信息,中间路由器根据得到的流描述信息选路。ICMP echo消息也可以不携带流描述信息,按IETF的规范处理。可以定义更丰富的业务流的流描述信息,使得协议能够适应更广泛的应用场合。
步骤606,中间路由器根据第五步的选路策略结果,对ICMP报文进行选路,转发。
本发明中间路由器收到报文的处理如下首先收到一个带有IP Alert选项的ICMP数据报文,不管是转发的还是非转发的,交由IP的协议处理模块处理,IP协议根据该ICMP的TLV字段的内容,查找路由或者是策略来选路,然后决定该数据报文是送往何处。而不是简单仅仅根据IP的目的地址和IP头的相关字段路由。
综上所述,本扩展方法能够在基于策略的网络中针对特定的流进行可达性检测和路径跟踪,同时也能够继承原来的不支持基于策略路由的网络。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被本发明的专利范围所涵盖。
权利要求
1.一种支持策略选路的路由诊断方法,应用于支持策略选路的交换网络中,其特征在于,包括如下步骤步骤一、在诊断协议报文中添加业务流的流描述信息,并在该添加了流描述信息的诊断协议报文的IP头里包含路由器警告选项;步骤二、路由器判断诊断协议报文中是否包含所述警告选项,是则按该诊断协议报文中的流描述信息选路;否则正常处理该诊断协议报文。
2.根据权利要求1所述的方法,其特征在于,所述步骤二中的按流描述信息选路,包括解析出流描述中包含的内容,根据该内容匹配本地的选路策略,并按匹配到的策略选路。
3.根据权利要求2所述的方法,其特征在于,所述诊断协议报文为网间控制报文协议ICMP的请求报文,并且在所述步骤二中,还包括对存在时间值TTL超时的处理步骤,如果TTL超时则返回ICMP超时消息。
4.根据权利要求2所述的方法,其特征在于,所述步骤一中,通过扩展诊断协议报文的协议数据单元,将所述流描述信息添加到诊断协议报文的协议数据单元中。
5.根据权利要求1、2、3或4所述的方法,其特征在于,所述流描述信息以“类型-长度-值”的TLV格式编码。
6.根据权利要求5所述的方法,其特征在于,所述流描述信息包括业务流的协议类型、服务类型要求、源地址、源端口、目的地址、目的端口、认证信息和扩展标志中的一个或任意组合。
7.根据权利要求6所述的方法,其特征在于,所述步骤二中,还包括对从私网经过网络地址转换协议设备去往公网的业务流的流描述信息的修改步骤,将所述流描述信息中的源地址或源端口修改为所述业务流在经过网络地址转换协议设备的地址转换后而具有的源地址和源端口。
8.根据权利要求6所述的方法,其特征在于,所述步骤二中,还包括在支持服务类型的网络中,判断业务分类设备上收到的ICMP请求报文的流描述信息中是否包含服务类型要求的步骤,是则将该服务类型要求修改为业务流在通过该分类设备后将携带的服务类型要求,否则在所述流描述信息中直接添加业务流在通过该分类设备后将携带的服务类型要求。
9.根据权利要求5所述的方法,其特征在于,所述步骤二中,还包括限制要进入控制层的ICMP协议报文流量的步骤,用以避免潜在的拒绝服务攻击。
10.根据权利要求6所述的方法,其特征在于,所述步骤二中,还包括,对配置了ICMP的ping/trace route口令的网络边缘路由器收到的所述诊断协议报文的协议数据单元进行检查的步骤,如果所述协议数据单元中未携带所述认证信息,或者所述认证信息与口令不匹配,则丢弃所述诊断协议报文。
11.根据权利要求1所述的方法,其特征在于,所述交换网络为基于路由交换的IP网络、基于标签交换的多协议标签交换MPLS交换网络、基于虚路径标识/虚通道标识交换的异步传输模式ATM交换网络或者是基于数据链接连接标识DLCI交换的帧中继交换网络。
全文摘要
本发明公开了一种支持策略选路的路由诊断方法,应用于支持策略选路的交换网络中,包括在诊断协议报文中添加业务流的流描述信息,并在该添加了流描述信息的诊断协议报文的IP头里包含路由器警告选项;路由器判断诊断协议报文中是否包括所述警告选项,是则按该诊断协议报文中的流描述信息选路;否则正常处理该诊断协议报文。本发明使诊断协议报文与业务流选路可以保持一致,能够真实诊断选路、正确诊断路由问题。
文档编号H04L12/56GK1564528SQ20041000903
公开日2005年1月12日 申请日期2004年4月21日 优先权日2004年4月21日
发明者冯健, 都珂, 何辉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1