CN100502399C - 一种基于链路层协议维护静态路由的方法 - Google Patents

一种基于链路层协议维护静态路由的方法 Download PDF

Info

Publication number
CN100502399C
CN100502399C CNB2005101016597A CN200510101659A CN100502399C CN 100502399 C CN100502399 C CN 100502399C CN B2005101016597 A CNB2005101016597 A CN B2005101016597A CN 200510101659 A CN200510101659 A CN 200510101659A CN 100502399 C CN100502399 C CN 100502399C
Authority
CN
China
Prior art keywords
route
link layer
static routing
list item
routing table
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
Application number
CNB2005101016597A
Other languages
English (en)
Other versions
CN1859377A (zh
Inventor
范志强
范剑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005101016597A priority Critical patent/CN100502399C/zh
Publication of CN1859377A publication Critical patent/CN1859377A/zh
Application granted granted Critical
Publication of CN100502399C publication Critical patent/CN100502399C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于链路层协议维护静态路由的方法,涉及计算机网络技术。该方法包括以下步骤:判断某一路由所依赖的本端设备接口的协议状态;若该接口的协议状态为去激活,则不激活该路由;若该接口的协议状态为激活,且本端设备学习到该路由的下一跳对应的链路层封装表项,则激活静态路由表中的该路由;否则,不激活该路由。本发明能够在提高网络质量的同时,降低维护静态路由的成本;能够检测到网络层的中断,并能够快速检测到网络的恢复,减少了网络中断的时间;由于利用了原有的链路层机制,在链路正常时,几乎不增加设备的处理开销。

Description

一种基于链路层协议维护静态路由的方法
[技术领域]
本发明涉及计算机网络技术,尤其涉及一种基于链路层协议维护静态路由的方法。
[背景技术]
静态路由作为一种低成本和低系统消耗的选路策略在骨干边缘和网络低端设备上一直充当非常重要的角色。例如在宽带远程接入服务器(BRAS:Broadband Remote AccessServer)等设备中,在上行方向一般采用静态默认路由的方式。
从路由的管理来看,静态路由表是路由器转发的基本依据。但是为了提高转发效率,需要把常用的路由添加在核心路由表(即核心转发表)中,以便路由器能够更快查找到所需的路由,该核心路由表是从静态路由表中提取出来的,参见图1。相对来说,核心路由表的长度要短得多,以便供IP的高效转发使用。核心路由表中存在的都是最优的激活路由。所谓激活的路由,按现有一般的设计方案,取决于它所依赖的是本端设备的接口的协议状态,如果该接口的协议状态为去激活的,即没有配置IP地址,不具备三层路由功能,因此依赖于此接口的路由肯定是不激活的;如果该接口的协议状态为激活的,即物理层激活(一般取决于网线和光纤是否插上),同时配置了IP地址具备了三层路由转发功能,那么该路由就是激活的。所谓最优的路由,即在优先级等策略中被优选的路由,就静态路由而言,一般指优先选择(Preference)配置最小的路由。
按照现有的设计方案来配置静态路由,在现网运行中,经常会出现这种情况:由于对端设备或中间设备故障,导致实际上网络层已经不可用,即对端或中间设备已经不具备转发报文的功能,业务不通,但本端设备的物理端口还是显示激活,即本端设备的接口的协议状态仍然是激活,显然,依赖于该接口的协议状态的路由也是激活的。这样本端设备没有把数据流切换到其他通道上,当本端设备通过该路由进行数据传输时,对端设备就会接收不到所传输的数据,从而造成传输数据的丢失,甚至是网络中断。在这种情况之下,预先设定的路由备份或路由负荷分担没有起到应有的作用,这是采用静态路由方式的一个较大缺点。
上述情况实际上是物理状态不能正确反映实际通路状态的矛盾所引发的问题,网络层的状态不准确,路由就无法实现状态的自动切换,目前业界一般采用类似开放最短路径优先(OSPF:Open Shortest Path First)等动态路由的方式来替代静态路由以解决这一问题,让该路由自动失效,本端设备就不能采用该路由进行数据传输,相当于借助OSPF层上的交互来检测链路,即通过OSPF邻居之间的定时报文交互来判断对端是否有转发故障,如果对端转发发生故障,则本端发送的OSPF交互报文将被对端丢弃,这样本端在一定周期之内能判断出对端存在转发故障,换言之,OSPF的交互至少是存在于两个设备之间的,如果链路断了,交换不能进行,设备肯定会直接更新动态路由。采用这种方法,虽然能够提高网络的可靠性,但这并不是OSPF设计和应用的初衷,而且对设备性能提出了很多要求,增加了网络维护的成本,增加了设备的处理开销,加重了设备的负担。
[发明内容]
本发明要解决的技术问题是提供一种基于链路层协议维护静态路由的方法,在不加重设备负担的前提下,提高网络的性能,降低了维护静态路由的成本。
本发明是通过下面的技术方案来实现的:
一种基于链路层协议维护静态路由的方法,包括以下步骤:
判断静态路由表中的某一路由所依赖的本端设备接口的协议状态;
若该接口的协议状态为去激活,则不激活该路由;
若该接口的协议状态为激活,且本端设备在链路层上寻找并获取该路由的下一跳对应的链路层封装表项;用所获取的链路层封装表项中的IP地址与静态路由表中的该路由的下一跳IP地址进行比较,若这两个IP地址相同,则激活静态路由表中的该路由;否则,不激活该路由。
本发明的进一步改进在于,还包括:本端设备启动启动一定时任务,定时轮询尚未被依赖到的静态路由表,如果发现该静态路由依赖的接口状态为激活,但是仍然还没有学习到相应的链路层封装表项,则构造学习所述链路层封装表项的请求报文,主动探测学习基于该下一跳IP的所述链路层封装表项,直到学习到所述链路层封装表项为止,同时则激活静态路由表中的该路由。
本发明的进一步改进在于:静态路由表中的该路由被激活时,根据路由的优先选择策略,从静态路由表中下发该路由到核心转发表中。
本发明的进一步改进在于,在该路由被下发到核心转发表之后,还包括:
本端设备启动第二定时器,轮询核心转发表中已激活的该路由,并学习所述链路层封装表项,若在预设的时间内没有学习到所述链路层封装表项,则在核心转发表中查找以该链路层封装表项的目的IP为下一跳的所有路由,删除所述核心转发表中已激活的该路由,并把该路由保存在静态路由表中。
本发明的进一步改进在于:若查找该链路层封装表项的目的IP为下一跳的所有路由,则把该处于激活状态的路由去激活。
本发明的进一步改进在于:所述本端设备从对端设备中学习链路层封装表项。
本发明的进一步改进在于:所述链路层封装表项为地址解析协议表项或者对端MAP信息表项。
由于采用以上的技术方案,能够在提高网络质量的同时,降低维护静态路由的成本;能够检测到网络层的中断,并能够快速检测到网络的恢复,减少了网络中断的时间;由于利用了原有的链路层机制,在链路正常时,几乎不增加设备的处理开销;通过对链路层检测来自动切换静态路由的激活状态,当某一条链路的网络层中断时,能够有效地将数据流切换到备份路由上进行转发,减少了业务中断的时间,使静态备份路由或静态负荷分担路由起到了应有的作用。
[附图说明]
图1是静态路由表与核心转发表的关系示意图。
图2是A设备与B设备对接的路由配置示意图。
图3是对静态路由进行维护的流程图。
[具体实施方式]
下面结合附图和实施例对本发明进行进一步阐述:
实施例一:
以以太网中的ARP协议(Address Resolution Protocol地址解析协议)进行说明,在以太网中,链路层封装表项为ARP表项,即IP地址与MAC地址的映射信息表项。
如图2所示,A设备的a接口与B设备的b接口对接,在A设备的a接口配置IP:10.70.57.17/22,在B设备的b接口配置IP:10.70.57.18/22,同时在A设备上配置一条缺省的静态路由,其下一跳的IP为:10.70.57.18。(22为网络掩码的长度。)
Destination/Mask    Proto    Pref    Metric    Nexthop
0.0.0.0/0           STATIC   60      0         10.70.57.18
在现有的技术方案中,只要A设备的a接口的协议状态为激活,上述所配置的路由就会被激活,同时静态路由表中的该路由就会被下发到核心转发表中;若a接口的协议状态为去激活,则该路由就不会被激活,并且该路由仍然保存在静态路由表中。而本发明与现有技术的区别是:在a接口的协议状态为激活时,需要增加一个转发所依赖的ARP表项是否存在的判断,若存在,表明对端设备是可达的,则激活该路由,并根据路由优先级策略来决定是否把该路由下发到核心转发表中;若不存在,则不激活该路由,此时,该路由依然存放在静态路由表中,从而实现了本发明对静态路由进行维护的目的。
ARP协议(Address Resolution Protocol地址解析协议)是一个基本链路层协议,所有支持以太网的系统都应该支持该协议,该协议的主体功能就是维护IP地址到对应的硬件地址之间的动态映射。动态ARP的特性包括:ARP的主动学习机制和ARP的超时老化机制。本发明利用ARP的主动学习机制来实现静态路由的激活,利用ARP的超时老化机制来实现静态路由的去激活,进而能够对静态路由进行维护,其具体的流程如下:
如图3所示,在配置静态路由时,首先,判断该路由所依赖的接口的协议状态(a接口的协议状态),是激活还是去激活:
如果a接口的协议状态是去激活的,则该路由将处于未激活的状态,保存在静态路由表之中;
如果a接口的协议状态是激活的,则需要进一步判断:
判断是否从对端设备(B设备)学习到了该静态路由的下一跳(10.70.57.18)对应的ARP表项;如果学习到了,则激活该路由,同时再按照系统原有机制根据路由优先级等策略,把优先级高的路由从静态路由表中下发到核心转发表中;如果没有学习到,则该路由将处于未激活的状态,并把该路由添加到尚未被依赖到ARP的静态路由表(WaitRelyList)中等待激活。
在系统中启动一定时任务,定时轮询尚未被依赖到ARP的静态路由表(WaitRelyList),如果发现该静态路由依赖的接口状态为激活,但是仍然还没有学习到相应的ARP表项,则构造ARP请求报文,主动探测学习基于该下一跳IP(10.70.57.18)的ARP表项。这样系统的网络层一旦恢复,A设备就能很快掌握这一情况,并学习到ARP表项,同时把该静态路由激活,最后下发到核心转发表中。
学习到ARP表项的过程为:当A设备学习到一个新的ARP(其IP为:10.70.57.18)时,用该ARP表项中的IP地址(10.70.57.18)去匹配静态路由表中该静态路由的下一跳,即比较该ARP表项中的IP地址与该静态路由的下一跳,若这两个IP地址相同,则激活静态路由表中的该路由,并下发该路由到核心转发表中。
当本端设备(A设备)已经学习到该ARP表项,并且依赖的静态路由已经下发到核心转发表中,该路由正常工作。如果中间设备,或对端设备(B设备)故障,导致网络层不通,但A设备的a接口的协议状态依然为激活,这样有可能导致传输数据的丢失,为了避免这种情况的发生,根据ARP的定时老化机制,A设备会定时向B设备发出ARP探测,此探测与ARP表项的学习过程相同,此探测不需要另外实现,这是ARP协议的内容,每一个支持ARP协议的设备都必须支持。若在预设的时间内,A设备没有收到B设备的探测响应,则删除对应的ARP表项;然后,在核心转发表中查找并删除该路由,即在核心转发表中搜索下一跳IP地址为10.70.57.18的所有静态路由,查找到后,把该处于激活状态的路由去激活,并从核心转发表中删除该路由,同时将该路由添加到静态路由表中等待依赖,简言之,先在核心转发表中寻找该路由,再把该路由去激活,最后把该路由从核心转发表中“剪切”到静态路由表中。
在本实施例中,如果ARP表项不存在,则在静态路由表及核心转发表中的静态路由去激活,这样即使该静态路由依赖的接口的协议状态为激活,该静态路由也不被激活,因而,不能采用该未激活的路由进行数据传输,避免了数据转发的丢失,提高了网络的性能;由于利用了原有的链路层机制,在链路正常时,几乎不会增加设备的处理开销。
在数据转发层面,不需要做更改,依据核心转发表进行数据转发即可。为了使本发明更具可控性,可以在接口上启用或去启用这种维护静态路由的方法,换言之,可以根据实际组网的需要,选择部分接口启用该功能,而部分接口不启用该功能,更有利于对网络的维护。
实施例二:
本实施例的技术方案与实施例一中的技术方案仅在链路层封装表项有区别,其他的过程都相同,实施例一中使用的是ARP表项,而本实施例中用到IPOA(IP OverAsynchronous Transfer Mode)网络中的对端MAP信息表项,即IP地址与PVC的映射信息表项,其中,PVC(Permanent Virtual Circuits)是永久性虚回路,相当于网络建立的一种端到端的永久性逻辑连接,永久性逻辑连接是在ATM(Asynchronous TransferMode异步传输模式)启动时根据配置信息建立起来的。
综上所述,链路层封装信息的学习依赖于动态协议,如以太网的ARP协议,IPOA网络中的INARP协议(Inverse Address Resolution Protocol逆向地址解析协议),基本原理就是接口在流量驱动下相互根据对端地址请求链路封装信息,收到请求一方回应自己的链路层封装信息。
另外,链路层封装表项的老化探测是链路层协议自带的功能,如以太网中ARP协议存在ARP老化,IPOA网络中存在INARP老化,老化的具体过程原理是启用老化定时器,定时根据已经学习到的链路层封装表项组装ARP/INARP请求报文,如果在预设时间之内没有收到对端的响应报文,则认为该链路层封装表项中的目的IP不可达,表项将被超时删除。

Claims (7)

1、一种基于链路层协议维护静态路由的方法,其特征在于,包括以下步骤:
判断静态路由表中的某一路由所依赖的本端设备接口的协议状态;若该接口的协议状态为去激活,则不激活该路由;
若该接口的协议状态为激活,且本端设备在链路层上寻找并获取该路由的下一跳对应的链路层封装表项;用所获取的链路层封装表项中的IP地址与静态路由表中的该路由的下一跳IP地址进行比较,若这两个IP地址相同,则激活静态路由表中的该路由;否则,不激活该路由。
2、根据权利要求1所述的一种基于链路层协议维护静态路由的方法,其特征在于,还包括:
本端设备启动一定时任务,定时轮询尚未被依赖到的静态路由表,如果发现该静态路由依赖的接口状态为激活,但是仍然还没有学习到相应的链路层封装表项,则构造学习所述链路层封装表项的请求报文,主动探测学习基于该下一跳IP的所述链路层封装表项,直到学习到所述链路层封装表项为止,同时则激活静态路由表中的该路由。
3、根据权利要求1或2所述的一种基于链路层协议维护静态路由的方法,其特征在于:静态路由表中的该路由被激活时,根据路由的优先选择策略,从静态路由表中下发该路由到核心转发表中。
4、根据权利要求3所述的一种基于链路层协议维护静态路由的方法,其特征在于,在该路由被下发到核心转发表之后,还包括:
本端设备启动第二定时器,轮询核心转发表中已激活的该路由,并学习所述链路层封装表项,若在预设的时间内没有学习到所述链路层封装表项,则在核心转发表中查找以该链路层封装表项的目的IP为下一跳的所有路由,删除所述核心转发表中已激活的该路由,并把该路由保存在静态路由表中。
5、根据权利要求4所述的一种基于链路层协议维护静态路由的方法,其特征在于,还包括:若查找到该链路层封装表项的目的IP为下一跳的所有路由,则把该处于激活状态的路由去激活。
6、根据权利要求1或者2所述的一种基于链路层协议维护静态路由的方法,其特征在于:所述本端设备从对端设备中学习链路层封装表项。
7、根据权利要求1所述的一种基于链路层协议维护静态路由的方法,其特征在于:所述链路层封装表项为地址解析协议表项或者对端MAP信息表项。
CNB2005101016597A 2005-11-17 2005-11-17 一种基于链路层协议维护静态路由的方法 Expired - Fee Related CN100502399C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101016597A CN100502399C (zh) 2005-11-17 2005-11-17 一种基于链路层协议维护静态路由的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101016597A CN100502399C (zh) 2005-11-17 2005-11-17 一种基于链路层协议维护静态路由的方法

Publications (2)

Publication Number Publication Date
CN1859377A CN1859377A (zh) 2006-11-08
CN100502399C true CN100502399C (zh) 2009-06-17

Family

ID=37298239

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101016597A Expired - Fee Related CN100502399C (zh) 2005-11-17 2005-11-17 一种基于链路层协议维护静态路由的方法

Country Status (1)

Country Link
CN (1) CN100502399C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103199617B (zh) * 2012-01-05 2015-03-11 山东电力工程咨询院有限公司 二次回路图中虚回路与物理端口对应关系的表示方法
CN103117930B (zh) * 2013-02-07 2016-01-27 华为技术有限公司 静态路由配置的检测方法和装置
CN103152335A (zh) * 2013-02-20 2013-06-12 神州数码网络(北京)有限公司 一种网络设备上防止arp欺骗的方法及装置
CN104796501B (zh) * 2015-04-25 2018-07-03 安徽皖通邮电股份有限公司 一种is-is协议触发arp学习的方法
CN108259325B (zh) * 2016-12-29 2021-07-30 中国电信股份有限公司 路由维护方法和路由设备
CN108737263B (zh) * 2017-04-19 2021-10-15 阿里巴巴集团控股有限公司 数据中心系统及数据流处理方法

Also Published As

Publication number Publication date
CN1859377A (zh) 2006-11-08

Similar Documents

Publication Publication Date Title
US7027406B1 (en) Distributed port-blocking method
CN102315975B (zh) 一种基于irf系统的故障处理方法及其设备
CN101909001B (zh) 使用最短路径桥接在计算机网络中转发帧
CN110417569B (zh) 一种网络链路故障处理方法和隧道端点设备
CN100502399C (zh) 一种基于链路层协议维护静态路由的方法
EP2832059B1 (en) System and method for virtual fabric link failure recovery
CN102006184B (zh) 堆叠链路管理方法、装置及网络设备
CN101753640B (zh) 一种通信节点的多接口融合方法
US20050044211A1 (en) Self-healing tree network
US20100329111A1 (en) Multi-Active Detection Method And Stack Member Device
US20060092856A1 (en) Node device
JP2006245849A (ja) 通信装置
US7929545B2 (en) Optimized synchronization of MAC address tables in network interconnection apparatuses
CN101860492A (zh) 快速切换的方法、装置和系统
CN102035676A (zh) 基于arp协议交互的链路故障检测与恢复的方法和设备
EP2807797A1 (en) Redundant network connections
EP3306861A1 (en) Cluster communication
CN105656645A (zh) 堆叠系统的故障处理的决策方法和装置
CN1859423B (zh) 一种主机和转发设备同步切换的方法
CN102307137A (zh) 管理报文发送和接收方法、装置、堆叠交换机和堆叠系统
CN101296126B (zh) 一种链路故障通告方法、接口管理单元和路由器
CN101729361A (zh) 报文处理的方法和装置
CN103685029B (zh) 一种快速环网保护协议组网中报文转发方法和设备
CN101483560A (zh) 一种实现隧道检测的方法、装置和系统
CN113037622B (zh) 一种防止bfd震荡的系统及方法

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: 20090617

Termination date: 20171117

CF01 Termination of patent right due to non-payment of annual fee