一种ip路由选择方法

文档序号:7956492阅读:283来源:国知局
专利名称:一种ip路由选择方法
技术领域
本发明涉及计算机通讯领域的路由选择技术,尤其涉及一种IP路由选择方法。
背景技术
在TCP/IP(Transfer Control Protocol/Internet Protocol,传输控制协议/网间协议)协议栈中,IP层可以从传输层(如TCP、UDP(User DataProtocol,用户数据报协议)、ICMP(Internet Control Message Protocol,网络控制信息协议))接收数据报(即在本地生成的数据报)并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址,如果是,数据报就被送到由IP首部协议字段所指定的协议模块进行处理,如果不是,那么就要对数据报进行转发。
IP层保存转发表,当收到一份数据报并进行发送时,要对该表进行搜索。转发表中有三种类型的路由特定主机型、特定网络型和默认路由型。在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时选择默认路由,即IP是按照最佳匹配方式选择最合适的路由结点。
IP在按照最佳匹配方式选择到最合适的路由结点时,该路由结点可能存在不止一条路由表项。同一路由结点下的两条或多条等价路由互称为等价路由。IP选路规则决定了IP在多条等价路由中应该选择哪条路由表项。目前对于等价路由的IP选路规则主要有3种选择等价路由中最早添加的路由表项、选择等价路由中最近添加的路由表项及按轮询方式选择等价路由中的某一条路由表项。
在基于TCP/IP协议栈组网应用中,现有技术的路由选择方法没有考虑物理接口的差异性,不能根据出接口的差异性,来选择最合适的路由表项,进行IP报文的路由转发。

发明内容
本发明的目的在于针对现有技术所存在的缺陷,提供一种IP路由选择方法,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而使IP路由的选择更为合理和可靠,有效保证报文的传输质量。
为了实现上述目的,本发明提供了一种IP路由选择方法,该方法应用于包含具有优先级的出接口的通信系统中,包括以下步骤确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项。
所述的确定转发路由结点的步骤可具体为根据数据包的目的地址,按照最佳匹配方式在转发信息库中查找相应的路由结点。
该方法还可包括设置出接口索引与出接口优先级的对应关系。所述的设置出接口索引与出接口优先级的对应关系可具体为建立出接口优先级和出接口索引值对应表。
该方法还可包括向转发信息库添加路由表项的步骤。为了使路由表项的选择更为方便,在向转发信息库添加路由表项时,可按照接口优先级从高到低或从低到高的顺序,将新增路由表项插入相应路由结点的路由表项中,从而,在选择出接口优先级最高的路由表项时,可直接选择第一个或最后一个路由表项。
所述的按照出接口优先级从高到低或从低到高的顺序,将新增路由表项插入相应路由结点的路由表项链表的步骤可具体包括步骤A、根据路由消息新建路由表项;步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表型链表中,执行步骤G;步骤E、按照出接口优先级从高到底或从低到高的顺序,将新增路由表项插入到路由结点下路由表项链表中;步骤F、结束。
在所述步骤C中,若查找到匹配的路由结点,则可根据出接口索引与出接口优先级的对应关系,获得新增路由表项中出接口索引对应的接口优先级,然后执行步骤E。
本发明实现了根据出接口优先级选择路由表项,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量;在转发信息库中,可将等价路由表项按照出接口优先级从高到低的顺序排列,从而使路由表项的选择更为方便。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明的IP路由选择方法一具体实施例流程图;图2为路由结点与路由表项的一种组织结构示意图;图3为本发明的添加等价路由表项的方法流程图。
具体实施例方式
本发明核心在于提出基于出接口优先级的IP路由选择方法,当路由结点下有多条等价路由时,根据出接口优先级选择用于转发报文的路由表项。
出接口优先级为出接口的一个综合性指标,可以根据不同业务需求进行设定,例如设定通信质量高、带宽大、误码率小的出接口优先级高;或者设定接入到A电信运营商的出接口优先级比接入到B电信运营商的出接口优先级高。
可建立一个出接口索引与出接口优先级关系表,用于存储和查询出借口的优先级信息,该关系表可如表1所示表1

本发明的IP路由选择方法应用于包含具有优先级的出接口的通信系统中,包括如下步骤确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项。
IP层在查找转发信息库(Forward Information Base,简称FIB)确定转发路由结点时,可根据数据包的目的IP地址,按最佳匹配方式查询相应路由结点,然后选择该路由结点下出接口优先级最高的路由表项。
如图1所示,为本发明的IP路由选择方法一具体实施例流程图,该方法包括如下步骤步骤101、根据数据包的目的地址,按照最佳匹配方式在FIB中查找相应的路由结点;步骤102、判断是否查找到相应路由结点,若查找到了,执行步骤103,否则,执行步骤104;步骤103、在该路由结点下选择出接口优先级最高的表项并将该路由表项返回,执行步骤105;步骤104、返回查找失败的信息;
步骤105、结束。
如图2所示,为路由结点与路由表项的一种组织结构示意图,路由结点首指针下对应路由结点RD1、RD2、RD3及RD4,路由结点RD1下有3个路由表项RT1、RT2及RT3,在步骤4中根据出接口优先级选择路由表项时,可通过查询出接口索引与出接口优先级关系表,而得到各个路由表项出接口的优先级,选择其中优先级最高的出接口转发报文。
FIB中路由结点有多个等价路由表项时,可根据出接口优先级从高到低或从低到高的顺序对路由表选项进行排列,这样,在选择路由表项时,只需选择第一个或最后一个路由表项即可实现选择优先级最高的路由表项,从而使路由表项的选择更为方便。
为了保证等价路由表项按照出接口优先级从高到低或从低到高的顺序排列,在添加等价路由表项时,可以根据出接口优先级顺序将路由表项存储到路由结点下的相应位置。如图3所示,为添加等价路由表项的方法流程图,该方法包括如下步骤步骤A、根据路由消息新建路由表项;步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表型链表中,执行步骤F;步骤E、按照出接口优先级从高到底或从低到高的顺序,将新增路由表项插入到路由结点下路由表项链表中;步骤F、结束。
当存储了出接口索引与出接口优先级的对应关系时,例如存储了表1所示的接口索引与接口优先级关系表,可通过该对应关系,获得新增路由表项中出接口索引对应的出接口优先级,从而在向匹配的路由结点插入新的路由表项时,可根据获得的该出接口优先级信息,将新增路由表项插入到路由结点下的相应位置。例如,在步骤C中,若查找到匹配的路由结点,则可先通过内部存储的接口索引与接口优先级的对应关系,获得新增路由表项中出接口索引对应的接口优先级,然后再执行步骤E,按照出接口优先级从高到底或从低到高的顺序,将新增路由表项插入到路由结点下路由表项链表中。
本发明实现了根据出接口优先级选择路由表项,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量。在转发信息库中,可将等价路由表项按照出接口优先级从高到低或从低到高的顺序排列,从而使路由表项的选择更为方便。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种IP路由选择方法,该方法应用于包含具有优先级的出接口的通信系统中,其特征在于,该方法包括以下步骤确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项。
2.根据权利要求1所述的方法,其特征在于,所述的确定转发路由结点的步骤具体为根据数据包的目的地址,按照最佳匹配方式在转发信息库中查找相应的路由结点。
3.根据权利要求1所述的方法,其特征在于,该方法还包括设置出接口索引与出接口优先级的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述的设置出接口索引与出接口优先级的对应关系具体为建立出接口优先级和出接口索引值对应表。
5.根据权利要求3所述的方法,其特征在于,该方法还包括向转发信息库添加路由表项。
6.根据权利要求5所述的方法,其特征在于,所述的向转发信息库添加路由表项具体为,按照出接口优先级从高到低的顺序,将新增路由表项插入相应路由结点的路由表项中;所述的选择该路由结点下出接口优先级最高的路由表项具体为,选择该路由结点下的第一个路由表项。
7.根据权利要求6所述的方法,其特征在于,所述的按照出接口优先级从高到低的顺序,将新增路由表项插入相应路由结点的路由表项中的步骤具体包括步骤A、根据路由消息新建路由表项;步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表项中,执行步骤F;步骤E、按照出接口优先级从高到低的顺序,将新增路由表项插入到路由结点下路由表项中;步骤F、结束。
8.根据权利要求5所述的方法,其特征在于,所述的向转发信息库添加路由表项具体为,按照出接口优先级从低到高的顺序,将新增路由表项插入相应路由结点的路由表项中;所述的选择该路由结点下出接口优先级最高的路由表项具体为,选择该路由结点下的最后一个路由表项。
9.根据权利要求8所述的方法,其特征在于,所述的按照出接口优先级从低到高的顺序,将新增路由表项插入相应路由结点的路由表项中的步骤具体包括步骤A、根据路由消息新建路由表项;步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表项中,执行步骤F;步骤E、按照出接口优先级从低到高的顺序,将新增路由表项插入到路由结点下路由表项中;步骤F、结束。
10.根据权利要求7或9所述的方法,其特征在于,所述步骤C中,若查找到了,则根据出接口索引与出接口优先级的对应关系,获得新增路由表项中出接口索引对应的出接口优先级,然后执行步骤E。
全文摘要
本发明涉及一种IP路由选择方法,应用于包含具有优先级的出接口的通信系统中,包括确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项。该方法还包括,设置出接口索引与出接口优先级的对应关系。建立出接口优先级和出接口索引值对应表,存储该对应关系。在添加路由表项时,按照出接口优先级从高到低或从低到高的顺序,将新增路由表项插入相应路由结点的路由表项链表中,在选择路由表项时,选择第一个或最后一个路由表项。本发明根据物理优先级选择路由表项,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量;将等价路由表项按照出接口优先级顺序排列,从而使路由表项的选择更为方便。
文档编号H04L12/56GK1874305SQ20061005857
公开日2006年12月6日 申请日期2006年3月22日 优先权日2006年3月22日
发明者熊昌胜, 张鸿雁 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1