CN100484099C - 一种ip路由选择方法 - Google Patents
一种ip路由选择方法 Download PDFInfo
- Publication number
- CN100484099C CN100484099C CNB2006100585769A CN200610058576A CN100484099C CN 100484099 C CN100484099 C CN 100484099C CN B2006100585769 A CNB2006100585769 A CN B2006100585769A CN 200610058576 A CN200610058576 A CN 200610058576A CN 100484099 C CN100484099 C CN 100484099C
- Authority
- CN
- China
- Prior art keywords
- table items
- route table
- routing node
- outgoing interface
- newly
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种IP路由选择方法,应用于包含具有优先级的出接口的通信系统中,包括:确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项。该方法还包括,设置出接口索引与出接口优先级的对应关系。建立出接口优先级和出接口索引值对应表,存储该对应关系。在添加路由表项时,按照出接口优先级从高到低或从低到高的顺序,将新增路由表项插入相应路由结点的路由表项链表中,在选择路由表项时,选择第一个或最后一个路由表项。本发明根据物理优先级选择路由表项,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量;将等价路由表项按照出接口优先级顺序排列,从而使路由表项的选择更为方便。
Description
技术领域
本发明涉及计算机通讯领域的路由选择技术,尤其涉及一种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、结束。
本发明实现了根据出接口优先级选择路由表项,将IP报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量;在转发信息库中,可将等价路由表项按照出接口优先级从高到低的顺序排列,从而使路由表项的选择更为方便。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的IP路由选择方法一具体实施例流程图;
图2为路由结点与路由表项的一种组织结构示意图;
图3为本发明的添加等价路由表项的方法流程图。
具体实施方式
本发明核心在于:提出基于出接口优先级的IP路由选择方法,当路由结点下有多条等价路由时,根据出接口优先级选择用于转发报文的路由表项。
出接口优先级为出接口的一个综合性指标,可以根据不同业务需求进行设定,例如:设定通信质量高、带宽大、误码率小的出接口优先级高;或者设定接入到A电信运营商的出接口优先级比接入到B电信运营商的出接口优先级高。
可建立一个出接口索引与出接口优先级关系表,用于存储和查询出接口的优先级信息,该关系表可如表1所示:
表1
出接口索引值 | 出接口优先级 |
Indexl | Priorl |
Index2 | Prior2 |
Index3 | Prior3 |
本发明的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报文通过出接口优先级最高的路由表项进行路由转发,从而可有效保证报文的传输质量。在转发信息库中,可将等价路由表项按照出接口优先级从高到低或从低到高的顺序排列,从而使路由表项的选择更为方便。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (5)
1、一种IP路由选择方法,该方法应用于包含具有优先级的出接口的通信系统中,其特征在于,该方法包括以下步骤:根据出接口索引与出接口优先级的对应关系,向转发信息库添加路由表项,所述出接口索引与出接口优先级的对应关系是预先设置的;确定转发路由结点,选择该路由结点下出接口优先级最高的路由表项;
所述向转发信息库添加路由表项具体为:按照出接口优先级从高到低或从低到高的顺序,将新增路由表项插入相应路由结点的路由表项中;
所述选择该路由结点下出接口优先级最高的路由表项具体为:若所述出接口优先级为从高到低,则选择该路由结点下的第一个路由表项;若所述出接口优先级为从低到高,则选择该路由结点下的最后一个路由表项。
2、根据权利要求1所述的方法,其特征在于,所述的确定转发路由结点具体为:根据数据包的目的地址,按照最佳匹配方式在转发信息库中查找相应的路由结点。
3、根据权利要求1所述的方法,其特征在于,所述的出接口索引与出接口优先级的对应关系具体为:出接口优先级和出接口索引值的对应表。
4、根据权利要求1所述的方法,其特征在于,所述按照出接口优先级从高到低的顺序,将新增路由表项插入相应路由结点的路由表项中的步骤具体包括:
步骤A、根据路由消息新建路由表项;
步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;
步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;
步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表项中,执行步骤F;
步骤E、按照出接口优先级从高到低的顺序,将新增路由表项插入到路由结点下路由表项中;
步骤F、结束。
5、根据权利要求1所述的方法,其特征在于,所述按照出接口优先级从低到高的顺序,将新增路由表项插入相应路由结点的路由表项中的步骤具体包括:
步骤A、根据路由消息新建路由表项;
步骤B、根据路由表项中的目的IP地址和子网掩码信息,查找匹配的路由结点;
步骤C、判断是否查找到匹配的路由结点,若查找到了,执行步骤E,否则执行步骤D;
步骤D、新建路由结点,并将新建的路由表项插入到该路由结点下的路由表项中,执行步骤F;
步骤E、按照出接口优先级从低到高的顺序,将新增路由表项插入到路由结点下路由表项中;
步骤F、结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100585769A CN100484099C (zh) | 2006-03-22 | 2006-03-22 | 一种ip路由选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100585769A CN100484099C (zh) | 2006-03-22 | 2006-03-22 | 一种ip路由选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1874305A CN1874305A (zh) | 2006-12-06 |
CN100484099C true CN100484099C (zh) | 2009-04-29 |
Family
ID=37484577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100585769A Expired - Fee Related CN100484099C (zh) | 2006-03-22 | 2006-03-22 | 一种ip路由选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100484099C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119306B (zh) * | 2007-08-13 | 2010-06-02 | 杭州华三通信技术有限公司 | 实现接口索引传递的方法及组件 |
CN101599910B (zh) * | 2009-07-15 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文发送的方法及设备 |
CN102075435A (zh) * | 2011-02-09 | 2011-05-25 | 杭州华三通信技术有限公司 | 路由下发方法和装置 |
CN102170394B (zh) * | 2011-04-19 | 2014-02-12 | 杭州华三通信技术有限公司 | 一种报文转发方法及其装置 |
CN108718277B (zh) * | 2018-04-11 | 2021-11-09 | 新华三技术有限公司 | 基于路由表的报文转发方法与路由表维护方法及相关装置 |
CN112187636B (zh) * | 2020-09-22 | 2022-08-16 | 锐捷网络股份有限公司 | Ecmp路由的存储方法及装置 |
-
2006
- 2006-03-22 CN CNB2006100585769A patent/CN100484099C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1874305A (zh) | 2006-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5917820A (en) | Efficient packet forwarding arrangement for routing packets in an internetwork | |
US9736058B2 (en) | Multi-region source routed multicast using sub-tree identifiers | |
US8427959B2 (en) | Bandwidth based selection for routing data | |
EP2974169B1 (en) | Seamless segment routing | |
CN102972009B (zh) | 用于实施联合服务器选择和路径选择的系统与方法 | |
CN100484099C (zh) | 一种ip路由选择方法 | |
CN102055672B (zh) | 一种数据流传输路径的控制方法、装置和路由设备 | |
CN109547343B (zh) | 一种流量调度方法及系统 | |
CN101741709A (zh) | 建立标签交换路径的方法、系统及网络节点 | |
CN103023773B (zh) | 多拓扑网络中转发报文的方法、装置和系统 | |
CN103379039A (zh) | 一种用于流统计的方法、装置及系统 | |
CN105099913A (zh) | 一种报文转发方法及设备 | |
CN102946356B (zh) | 一种基于cb-pe网络的组播报文传输方法和设备 | |
CN101616094B (zh) | 报文转发路径的获取方法和设备 | |
CN103139071A (zh) | 报文转发方法、装置和系统 | |
KR100636273B1 (ko) | 이더넷을 통한 mpls 멀티캐스트 패킷 전송 장치 및 방법 | |
WO2003058868A2 (en) | Dynamic route selection for label switched paths in communication networks | |
WO2017059699A1 (zh) | 路径计算方法及装置 | |
US20080137654A1 (en) | Method of managing signaling message in path-based signaled paths to mpls-enabled core network | |
US7099323B1 (en) | Method, apparatus and system for management of multicast routes for a plurality of routing protocols in a network device | |
US8681760B2 (en) | Network positioning system and terminal positioning device | |
CN102845033A (zh) | 用于在分组转发装置中针对每个模块在因特网协议切换模式之间进行自动选择的方法、系统以及计算机可读介质 | |
CN100488195C (zh) | 一种多协议网络互联互通方法和系统 | |
CN101414979B (zh) | 标签分发消息的处理方法及标签交换路由器 | |
CN101667968B (zh) | 一种IPv6报文的转发方法、设备和系统 |
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: 20090429 Termination date: 20160322 |