CN100388717C - 在三层网络中查找路由下一跳的方法 - Google Patents
在三层网络中查找路由下一跳的方法 Download PDFInfo
- Publication number
- CN100388717C CN100388717C CNB021417490A CN02141749A CN100388717C CN 100388717 C CN100388717 C CN 100388717C CN B021417490 A CNB021417490 A CN B021417490A CN 02141749 A CN02141749 A CN 02141749A CN 100388717 C CN100388717 C CN 100388717C
- Authority
- CN
- China
- Prior art keywords
- route entry
- iteration
- route
- entry
- success
- 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
本发明涉及一种三层网络中通过多重迭代查找路由下一跳的方法,属于数据通信技术领域。该方法首先在三层网络设备的路由项中设置一个状态标记;再检查路由项的下一跳设备是否与本设备的接口直接相邻,若直接相邻,则将此路由项标记为“有效”,若不直接相邻,则将该路由项标记为“等待迭代”;再将路由项根据根据不同状态进行跌代,使用跌代成功的路由项转发报文。本发明的方法,依赖“多重迭代”的自动寻找转发的出接口,极大地减少了网络管理的工作量,而且配置的路由项可以迭代到动态路由协议生成的路由项上,因此可以利用动态路由协议连通到远端网络,而不必考虑动态路由协议运行的具体网络拓扑。
Description
技术领域
本发明涉及一种在三层网络中查找路由下一跳的方法,属于数据通信技术领域。
背景技术
路由器和三层交换机都属于三层网络设备,配置路由并在网络中进行报文转发是它们的最基本功能之一。一般来说,一台三层网络设备上面至少有2个或多个网络接口,每一个接口可以连接一个网络,三层设备就是连接不同网络的中间节点。图1所示为一种简单网络,其中的B必须和A直接相连。
为了在路由器A上访问到网络M,可以在路由器A上配置如下路由项,每一个路由项由“目的地址”、“出接口”、“下一跳设备”这3项组成。
编号 | 目的网络 | 出接口 | 下一跳设备 |
1 | M | A1 | 路由器B |
无论采用何种具体的网络层协议,路由项的形式都是类似的。网络层协议可能会是IPv4,也可能会是IPX或者IPv6。对于最常见的IPv4协议作为三层网络协议,路由器A上路由项可能表现成如下形式:
编号 | 目的网络 | 出接口 | 下一跳设备 |
1 | 10.0.0.0/8 | E1 | 2.0.0.1 |
路由器A中可能存在很多这样的路由项,用于指示A如何通向各个不同的网络。当路由器A收到一个数据报文时,将首先判断这个报文是否是送给自己的,如果不是给自己的报文,路由器A将在路由项中查找最为匹配的路由项,然后将报文送给下一跳所指定的路由器。
在传统的三层网络设备中,路由项中指定的“下一跳设备”必须是和本设备直接相邻的。这是因为,对于非直接相邻设备,通过传统方法无法找到路由项在转发过程中的出接口,这样数据报文就无法发送出去,因而导致数据流中断。
传统方法,即在路由项中指定直接相邻“下一跳设备”,将导致组网配置复杂。假设有一个由多台路由器相连的配置网络,那么就必须逐台配置、逐台依次指定到达各个目标网络的相邻下一跳设备。并且在网络拓扑发生变化时,还必须逐台更改配置,因此网络维护的工作量将非常大。
发明内容
本发明的目的是提出一种三层网络中查找路由下一跳的方法,以简化三层网络配置,减少网络管理的工作量。
本发明提出的三层网络中查找路由下一跳的方法,包括如下各步骤:
(1)为三层网络设备的每一个路由项,设置一个位置存放状态标记;
(2)检查每一个路由项的下一跳设备,是否与本设备的一个接口直接相邻,若下一跳设备与本设备直接相邻,则将所述路由项标记为“有效”,若不直接相邻,则将所述路由项标记为“等待迭代”;
(3)检查标记为“等待迭代”的第i个路由项,若所述路由器项的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
(4)将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
(5)使用路由项j的出接口转发路由项i的报文。
上述方法中,位置存放状态标记为“有效”、“等待迭代”和“迭代成功”。
上述方法中,判断下一跳设备是否与本设备的一个接口直接相邻的方法是:判断“下一跳设备”与本路由器的某一个接口是否属于同一个网络前缀,若相同,则下一跳设备与本设备直接相邻。
本发明的方法,如果因为某种原因,例如人工配置的改变,或链路的改变时,则该方法还应包括以下步骤:
1、若将一条“有效”或者“迭代成功”的第j个路由项删除,则重新遍历所有处于“迭代成功”的路由项;
2、遍历中若发现第i个路由项迭代了第j个路由项,则将该路由项i重新标记为“等待迭代”;
3、路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
上述情况下,当第j个路由项由“迭代成功”变成“等待迭代”后,需要重新遍历所有处于“迭代成功”的路由项;遍历中若发现第i个路由项迭代了第j个路由项,则将该路由项i重新标记为“等待迭代”;路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
本发明的方法,如果因为某种原因,例如人工配置的改变,或链路的改变时,则该方法还应包括以下步骤:
1、当增加一个新的“有效”路由项j时,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代;
2、遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
3、将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
4、使用路由项j的出接口转发路由项i的报文。
上述情况下,当一个“等待迭代”的路由项j变成了“迭代成功”后,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代。遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;使用路由项j的出接口转发路由项i的报文。
本发明提出的三层网络中通过多重迭代查找路由下一跳的方法,具有以下优点:
1、使用“多重迭代”的方式在三层网络设备上可以极大地简化网络配置,网络管理员可以指定非相邻设备作为路由的下一跳设备,然后依赖“多重迭代”的功能自动寻找转发的出接口。
2、当三层网络设备的周边拓扑发生变化时,网络路由项配置可以不改变,“多重迭代”功能会自动调整实际进行转发的出接口来适应网络变化,从而大大的减少了网络管理的工作量。
3、配置的路由项可以迭代到动态路由协议生成的路由项上,这样可以利用动态路由协议连通到远端网络,而不必考虑动态路由协议运行的具体网络拓扑。
4、“多重迭代”是一个本地路由配置和转发选择的功能,并不需要整个网络的设备支持,因此可以方便通过逐个升级网络设备软件来实现。
附图说明:
图1是一个已有的简单网络的示意图。
图2和图3为本发明的两个实施例的网络示意图。
具体实施方式:
本发明提出的三层网络中通过多重迭代查找路由下一跳的方法,包括如下各步骤:
1、为三层网络设备的每一个路由项,设置一个位置存放状态标记;可能有3种标记: “有效”、“等待迭代”、“迭代成功”。每一个路由项同时有且只可能有其中一个标记。只有标记为“有效”、“迭代成功”的路由项才会有“出接口”,才能够指导报文转发。处于“等待迭代”状态的路由项出接口为“空”,不可以指导报文转发;
2、检查每一个路由项的下一跳设备,是否与本设备的一个接口直接相邻;可以根据“下一跳设备”是否和本路由器的某一个接口属于同一个网络前缀来判断;
3、若下一跳设备与本设备直接相邻,则将此路由项标记为“有效”;
4、若下一跳设备与本设备不直接相邻,则将该路由项标记为“等待迭代”;
5、检查标记为“等待迭代”第i个路由项,若该路由器项的“下一跳设备”处于一个“有效”或者“迭代成功”状态第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;然后将路由项i标记为“迭代成功”,并将路由项j的“出接口”作为路由项i的“出接口”,也就是使用路由项j的出接口来指导路由项i的报文转发,在路由项i中记录:“迭代了路由项j”。
如果因为某种原因,例如人工配置的改变,或链路的改变,而将一条“有效”或者“迭代成功”的路由项j删除,则需要重新遍历所有处于“迭代成功”的路由项,如果发现某一个路由项i迭代了路由项j,则将这样的路由项i重新标记为“等待迭代”,路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
由于上述情况,而使一个“迭代成功”的路由项j变成“等待迭代”,则需要重新遍历所有处于“迭代成功”的路由项,即当发现某一个路由项i迭代了路由项j时,则将该路由项i重新标记为“等待迭代”,路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
如果因为某种原因,例如人工配置的改变,或链路的改变时,则该方法还应包括以下步骤:
1、当增加一个新的“有效”路由项j时,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代;
2、遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
3、将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
4、使用路由项j的出接口转发路由项i的报文。
上述情况下,当一个“等待迭代”的路由项j变成了“迭代成功”后,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代。遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;使用路由项j的出接口转发路由项i的报文。
上述迭代过程可以是一个多重迭加的过程,也就是说,可能存在第一路由项被第二路由项迭代,第二路由项又可能被第三路由项迭代,形成一个迭代链。
本发明方法中的三层网络设备可以是路由器或三层交换机。
上述方法中的路由项可以是人工配置的路由项,也可以是动态路由协议生成的路由项。
下面以图2为例说明本发明“多重迭代”的过程,如图2所示,有A、B、C这3台三层网络设备,C连接了一个网络N,设备A具有“多重迭代”功能。
一)在A上配置如下路由项:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
i | N | 无 | 路由器C | 等待迭代 |
因为现在C不是A的直接相邻路由器,所以此路由被标记为等待迭代。
二)再在A上配置一条路由项j:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
j | C | A1 | 路由器B | 有效 |
根据“多重迭代”功能,路由项j被路由项i迭代。路由项i变成:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
i | N | A1 | 路由器C | 迭代成功[迭代j] |
三)如果因为网络变化,路由项j被删除,同时添加了路由项k:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
k | C | A2 | 路由器D | 有效 |
根据“多重迭代”功能,路由项i不需要重新配置,将自动改变为:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
i | N | A2 | 路由器C | 迭代成功[迭代k] |
这样数据流将不受影响,仍然可以通过路由项i进行转发。
在网络中存在动态路由协议时,“多重迭代”功能将更加具有实际使用价值。
动态路由协议(如OSPF、RIP等)根据各自的算法,生成“动态路由项”,这样的路由是一种处于“有效”状态的路由项。“动态路由项”一般可以维持一个区域范围内的连通性。
在图3所示的网络中,网络设备A通过一个网络M和网络设备B相连,网络设备B连接着一个目标网络N。A有多个接口连接到网络M上,网络M中运行OSPF动态路由协议来维持网络的连通性,也维持着A-B之间的连通性。
那么在A上可以配置这样的一条路由项i:
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
i | N | 无 | 路由器B | 等待迭代 |
因为现在B不是A的直接相邻路由器,所以此路由被标记为等待迭代。
因为网络N中的动态路由协议维持着A和B之间的连通性,即网络M中的动态路由协议可以发现了从A到达B的路由项j,那么路由项j马上可以被路由项i迭代,路由项i成为“迭代成功”,获得了有效的出接口,可以指导报文转发。
编号 | 目的网络 | 出接口 | 下一跳设备 | 状态 |
i | N | A1 | B | 迭代成功[迭代j] |
这种情况下,“多重迭代”的重要意义在于:无论网络M中的拓扑结构如何变更,只要动态路由协议仍然可以维持A-B之间的连通性,那么路由项i就不需要重新配置,不需要人工进行管理。“多重迭代”将自动维护路由项i的有效性,自动获得正确的出接口来进行报文转发。
Claims (9)
1.一种三层网络中查找路由下一跳的方法,其特征在于该方法包括如下各步骤:
(1)为三层网络设备的每一个路由项,设置一个位置存放状态标记;
(2)检查每一个路由项的下一跳设备,是否与本设备的一个接口直接相邻,若下一跳设备与本设备直接相邻,则将所述路由项标记为“有效”,若不直接相邻,则将所述路由项标记为“等待迭代”;
(3)检查标记为“等待迭代”的第i个路由项,若所述路由器项的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
(4)将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
(5)使用路由项j的出接口转发路由项i的报文。
2.如权利要求1所述的方法,其特征在于其中所述的位置存放状态标记为“有效”、“等待迭代”和“迭代成功”。
3.如权利要求1所述的方法,其特征在于判断下一跳设备是否与本设备的一个接口直接相邻的方法是:判断“下一跳设备”与本路由器的某一个接口是否属于同一个网络前缀,若相同,则下一跳设备与本设备直接相邻。
4.如权利要求1所述的方法,其特征在于该方法还包括以下步骤:
(1)若将一条“有效”或者“迭代成功”的第j个路由项删除,则重新遍历所有处于“迭代成功”的路由项;
(2)遍历中若发现第i个路由项迭代了第j个路由项,则将该路由项i重新标记为“等待迭代”;
(3)路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
5.如权利要求4所述的方法,其特征在于该方法还包括以下步骤:
(1)当第j个路由项由“迭代成功”变成“等待迭代”后,重新遍历所有处于“迭代成功”的路由项;
(2)遍历中若发现第i个路由项迭代了第j个路由项,则将该路由项i重新标记为“等待迭代”;
(3)路由项i的出接口被置空,路由项不再参加转发,直到重新变成“迭代成功”。
6.如权利要求1所述的方法,其特征在于该方法还包括:
(1)当增加一个新的“有效”路由项j时,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代;
(2)遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
(3)将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
(4)使用路由项j的出接口转发路由项i的报文。
7.如权利要求6所述的方法,其特征在于该方法还包括:
(1)当一个“等待迭代”的路由项j变成了“迭代成功”后,则遍历所有处于“等待迭代”的路由项,检查是否有路由项需要进行迭代。
(2)遍历中若发现路由项i的“下一跳设备”处于一个“有效”或者“迭代成功”状态的第j个路由项的“目的地址”范围内,则路由项i迭代了路由项j;
(3)将路由项i标记为“迭代成功”,并在路由项i中记录:“迭代了路由项j”;
(4)使用路由项j的出接口转发路由项i的报文。
8.如权利要求1所述的方法,其特征在于其中的三层网络设备为路由器或三层交换机。
9.如权利要求1所述的方法,其中的路由项为人工配置,或由动态路由协议生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021417490A CN100388717C (zh) | 2002-08-27 | 2002-08-27 | 在三层网络中查找路由下一跳的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021417490A CN100388717C (zh) | 2002-08-27 | 2002-08-27 | 在三层网络中查找路由下一跳的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1479496A CN1479496A (zh) | 2004-03-03 |
CN100388717C true CN100388717C (zh) | 2008-05-14 |
Family
ID=34147855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021417490A Expired - Fee Related CN100388717C (zh) | 2002-08-27 | 2002-08-27 | 在三层网络中查找路由下一跳的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100388717C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100466611C (zh) * | 2005-10-28 | 2009-03-04 | 华为技术有限公司 | 一种网络拓扑发生变化时网络节点配置信息的处理方法 |
CN104579992B (zh) * | 2013-10-11 | 2018-05-29 | 华为技术有限公司 | 一种控制网络流量路径的方法及装置 |
CN105721305B (zh) * | 2016-01-19 | 2019-04-16 | 烽火通信科技股份有限公司 | L3vpn路由迭代出口的方法 |
CN115022242B (zh) * | 2022-08-08 | 2022-11-18 | 深圳高灯计算机科技有限公司 | 网络层识别方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1341314A (zh) * | 1999-02-26 | 2002-03-20 | 红石通信公司 | 使用压缩树转发表的网络路由器搜索引擎 |
-
2002
- 2002-08-27 CN CNB021417490A patent/CN100388717C/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1341314A (zh) * | 1999-02-26 | 2002-03-20 | 红石通信公司 | 使用压缩树转发表的网络路由器搜索引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN1479496A (zh) | 2004-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6023733A (en) | Efficient path determination in a routed network | |
US7099286B1 (en) | Method and system for finding shared risk diverse paths | |
US6744740B2 (en) | Network protocol for wireless devices utilizing location information | |
EP2552059B1 (en) | Packet transfer system, control apparatus, transfer apparatus, method of creating processing rules, and program | |
CN100499541C (zh) | Manet多播路由协议自组织网络中产生和更新层次树的方法 | |
CN104283789B (zh) | 路由收敛方法和系统 | |
CN102957616B (zh) | 在asic中转发trill网络报文的方法及系统 | |
RU2006137715A (ru) | Маршрутизация в самоорганизующейся одноранговой сети | |
CN103139037A (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
CN100407704C (zh) | 媒体接入控制层地址的动态学习方法 | |
CN103401774A (zh) | 一种基于堆叠系统的报文转发方法和设备 | |
CN106209615B (zh) | 一种基于spfa算法计算转发路径的动态路由控制方法和系统 | |
CN104769897A (zh) | 适于漫步的集群之间的多路径可用性 | |
CN103428045A (zh) | 连通性检测方法、装置和系统 | |
CN103023773A (zh) | 多拓扑网络中转发报文的方法、装置和系统 | |
WO2017084448A1 (zh) | 一种网络系统及网络运行方法 | |
CN1081055A (zh) | 多信道通信树生成和控制的方法及装置 | |
JP2010074691A (ja) | アドホックネットワーク無線通信方法 | |
US20050254473A1 (en) | Routing within a mobile communication network | |
CN102801622B (zh) | 一种数据报文的转发方法及转发装置 | |
JPH06296177A (ja) | 複合通信網 | |
CN101686188A (zh) | 层次化有序地址分组网络中建立路由表的方法、路由的方法及路由器 | |
CN101145940A (zh) | 一种网管系统中搜索网元设备和建立拓扑连接的方法 | |
US8014371B1 (en) | System, model and method for evaluating a network | |
CN102932255A (zh) | 隧道路径选择的方法及装置 |
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 |
Granted publication date: 20080514 Termination date: 20150827 |
|
EXPY | Termination of patent right or utility model |