CN101136948B - 一种IPv6重复地址检测的方法及系统 - Google Patents
一种IPv6重复地址检测的方法及系统 Download PDFInfo
- Publication number
- CN101136948B CN101136948B CN2007101761813A CN200710176181A CN101136948B CN 101136948 B CN101136948 B CN 101136948B CN 2007101761813 A CN2007101761813 A CN 2007101761813A CN 200710176181 A CN200710176181 A CN 200710176181A CN 101136948 B CN101136948 B CN 101136948B
- Authority
- CN
- China
- Prior art keywords
- address
- request
- interface
- detection
- duplicate
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IPv6重复地址检测的方法:中央控制单元收到IPv6地址配置请求后,进行重复地址检测请求发起处理,并将处理产生的该IPv6地址的重复地址检测请求发送给协议处理单元;协议处理单元收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给中央控制单元;中央控制单元接收并解析该检测结果,根据该检测结果进行重复地址检测结果处理。同时还公开了一种IPv6重复地址检测的系统,包括中央控制单元和协议处理单元。通过本发明实现了在分布式系统中正确而有效地进行IPv6地址的重复地址检测,从而大大提高了节点设备的工作能力。
Description
技术领域
本发明涉及分布式处理领域,尤其涉及一种IPv6(Internet Protocol Version6)重复地址检测(DAD,Duplicate Address Detection)的方法及系统。
背景技术
随着网络通信技术的不断发展,各种新型的通信应用业务层出不穷,网络通信服务已融入到社会生活的各个领域。蓬勃发展的通信业务需求促进了通信技术的发展,同时也对通信设备的处理能力提出了新的挑战。为了应付这种不断增长的应用需求,单CPU集中处理事务模式的通信系统设计已不能满足大容量通信节点设备的技术要求。
于是各制造商纷纷采用分布式处理技术,将通信业务的处理流程分散到多个模块、多个CPU、甚至多台主机上,各模块之间采用流水化作业模式,充分挖掘各模块的处理潜能,从而使整体设备的处理能力跃上一个新台阶。
目前,在分布式处理系统中,还没有关于IPv6重复地址检测的具体实现方案。
发明内容
有鉴于此,本发明的目的在于提供一种IPv6重复地址检测的方法及系统。通过该方法及系统,达到在主从式分布式系统上正确进行IPv6重复地址检测的目的。
本发明提供了一种IPv6重复地址检测的方法,包括以下步骤:
A.中央控制单元收到IPv6地址配置请求后,进行重复地址检测请求发起处理,并将处理产生的该IPv6地址的重复地址检测请求发送给协议处理单元;
B.协议处理单元收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给中央控 制单元;
C.中央控制单元接收并解析该检测结果,根据该检测结果进行重复地址检测结果处理。
该方法步骤A所述重复地址检测请求发起处理包括以下步骤:
A1.中央控制单元根据IPv6地址配置请求的IPv6地址所属接口找到该接口所属的协议处理单元,将该协议处理单元设定为重复地址检测请求输出目的协议处理单元,执行步骤A2;
A2.检查该IPv6地址所属接口是否处于工作状态,如果是,则执行步骤A3;否则,退出当前处理;
A3.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤A4;否则,执行步骤A6;
A4.检查该隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤A5;否则,退出当前处理;
A5.设定该隧道接口所依托的实际出接口所属的协议处理单元为重复地址检测请求的输出目的协议处理单元,执行步骤A6;
A6.检查重复地址检测请求队列中是否存在对该IPv6地址的检测请求,如果是,则执行步骤A7;否则,执行步骤A11;
A7.检查该地址检测请求所属接口是否与本次地址检测请求所属接口一致,如果是,则执行步骤A8;否则,执行步骤A10;
A8.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤A9;否则,退出当前处理;
A9.检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致,如果是,则退出当前处理;否则,执行步骤A10;
A10.删除队列中存在的对该IPv6地址的检测请求,执行步骤A11;
A11.为该IPv6地址建立新的重复地址检测请求,记录该IPv6地址、该次地址检测请求所属的接口,如果是隧道接口,则记录该隧道所依托的实际出接口,并设定检测超时时间,将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器,退出当前处理。
该方法步骤C所述进行重复地址检测结果处理包括以下步骤:
C1.中央控制单元接收协议处理单元返回的检测请求回应消息,得到重复地址检测请求检测结果,执行步骤C2;
C2.检查该检测结果所属地址是否处于重复地址检测队列中,如果是,则执行步骤C3;否则,退出当前处理;
C3.检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态,如果是,则执行步骤C4;否则,执行步骤C9;
C4.检查该检测结果所属接口是否为隧道接口,如果是,则执行步骤C5;否则,执行步骤C6;
C5.检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态,如果是,则执行步骤C6;否则,执行步骤C9;
C6.检查检测结果表明该IPv6地址是否为重复地址,如果是,则执行步骤C7;否则,执行步骤C8;
C7.向用户告警,并将该IPv6地址放入冲突地址队列,执行步骤C9;
C8.将该IPv6地址状态设定为有效地址状态,并通知中央控制单元中的其它模块该IPv6地址为有效可用状态,执行步骤C9;
C9.将该重复地址检测请求从检测请求队列中删除并退出当前处理。
该方法所述步骤A与步骤B之间还包括重复地址检测请求超时处理过程,该过程包括以下步骤:
D1.中央控制单元在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间,检测超时定时器每完成一次计时后,执行步骤D2;
D2.检查当前重复地址检测队列中是否存在需要处理的重复地址检测请求,如果是,则执行步骤D3;否则,退出当前处理;
D3.从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时,如果已超时,则执行步骤D4,否则返回执行步骤D2;
D4.检查该重复地址检测请求所属接口是否处于工作状态,如果是,则执 行步骤D5;否则,执行步骤D8;
D5.检查该地址所属接口是否为隧道接口,如果是,则执行步骤D6;否则,执行步骤D7;
D6.检查该地址所属隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤D7;否则,执行步骤D8;
D7.当该次重复地址检测已经到达超时时间,但仍然未收到协议处理单元返回的检测请求回应消息,则重新向重复地址检测请求输出目的单板发送该重复地址检测请求,执行步骤D2;
D8.确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除,返回执行步骤D2。
该方法步骤B所述协议处理单元收到来自中央控制单元的重复地址检测请求消息后还包括:
协议处理单元检查该重复地址检测请求消息是否在协议处理单元的重复地址请求队列中,如果是,则退出当前处理;否则,将该次重复地址检测请求放入重复地址请求队列中,按照标准协议进行重复地址检测。
该方法所述步骤C后还包括地址冲突处理过程,该过程包括:
中央控制单元检测确定该IPv6地址为重复地址后,将该IPv6地址放入冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,检查冲突地址队列是否存在待处理的IPv6地址,如果是,对当前冲突地址进行重复地址检测;否则,退出当前处理。
本发明还提供了一种IPv6重复地址检测的系统,包括:
中央控制单元,用于在收到IPv6地址配置请求后进行重复地址检测请求发起处理,将处理产生的重复地址检测请求发送给协议处理单元,以及接收并解析来自协议处理单元的检测结果,根据该检测结果进行重复地址检测结果处理;
协议处理单元,用于收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给中央控制单元。
该系统所述中央控制单元包括:
检测请求发起处理模块,用于根据IPv6地址配置请求的IPv6地址所属接口找到该接口所属的协议处理单元,将该协议处理单元设定为重复地址检测请求输出目的协议处理单元,检查该IPv6地址所属接口是否处于工作状态,检查该IPv6地址所属接口是否为隧道接口,检查该隧道接口所依托的实际出接口是否处于工作状态,设定该隧道接口所依托的实际出接口所属的协议处理单元为重复地址检测请求的输出目的协议处理单元,检查重复地址检测请求队列中是否存在对该IPv6地址的检测请求,检查该地址检测请求所属接口是否与本次地址检测请求所属接口一致,检查该IPv6地址所属接口是否为隧道接口,检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致,删除队列中存在的对该IPv6地址的检测请求,为该IPv6地址建立新的重复地址检测请求,记录该IPv6地址、该次地址检测请求所属的接口,记录该隧道所依托的实际出接口,并设定检测超时时间,将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器。
该系统所述中央控制单元包括:
检测结果处理模块,用于接收协议处理单元返回的检测请求回应消息,得到重复地址检测请求检测结果,检查该检测结果所属地址是否处于重复地址检测队列中,检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态,检查该检测结果所属接口是否为隧道接口,检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态,检查检测结果表明该IPv6地址是否为重复地址,向用户告警,并将该IPv6地址放入冲突地址队列,将该IPv6地址状态设定为有效地址状态,并通知中央控制单元中的其它模块该IPv6地址为有效可用状态,将该重复地址检测请求从检测请求队列中删除。
该系统所述中央控制单元包括:
检测请求超时处理模块,用于在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间,检测超时定时器每完成一次计时后,检查当前重复地址检测队列中是否存在需要处理的重复地址 检测请求,从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时,检查该重复地址检测请求所属接口是否处于工作状态,检查该地址所属接口是否为隧道接口,检查该地址所属隧道接口所依托的实际出接口是否处于工作状态,当该次重复地址检测已经到达超时时间,但仍然未收到协议处理单元返回的检测请求回应消息,重新向重复地址检测请求输出目的单板发送该重复地址检测请求,确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除。
该系统所述协议处理单元,还用于检查该重复地址检测请求消息是否在协议处理单元的重复地址请求队列中,如果不在,将该次重复地址检测请求放入重复地址请求队列中,按照标准协议进行重复地址检测。
该系统所述中央控制单元包括:
地址冲突处理模块,用于在确定该IPv6地址为重复地址后,将该IPv6地址放入冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,检查冲突地址队列是否存在待处理的IPv6地址,如果是,对当前冲突地址进行重复地址检测。
本发明所述的IPv6重复地址检测的方法及系统,通过功能互相独立的中央控制单元(RPU,Route Protocol Unit)和协议处理单元(EPU,Epilogue Protocol Unit)之间的互相协作,由中央控制单元负责地址配置管理和路由管理,由协议处理单元负责邻节点发现协议(Neighbour Discovery Protocol)过程处理,从而在分布式系统中正确而有效地实现IPv6地址的重复地址检测,极大地提高了节点设备的工作能力。
附图说明
图1为本发明中IPv6重复地址检测系统结构图;
图2为本发明中RPU侧重复地址检测请求发起处理的方法流程图;
图3为本发明中RPU侧重复地址检测请求超时处理的方法流程图;
图4为本发明中RPU侧重复地址检测请求结果返回处理的方法流程图;
图5为本发明中RPU侧重复地址检测地址冲突处理的方法流程图;
图6为本发明中EPU侧重复地址检测的方法流程图。
具体实施方式
本发明所述的IPv6重复地址检测系统是一种具备分布式处理能力的IPv6路由节点设备,该节点设备采用主从分布模式,包括中央控制单元RPU和协议处理单元EPU。其中,中央控制单元RPU负责设备的配置管理以及数据的集中分析,协议处理单元EPU负责业务的转发处理。
本发明所描述的IPv6重复地址检测方法正是基于这种主从分布式系统中实现的。在该分布式系统中,地址配置管理在中央控制单元RPU完成,而邻节点请求报文的处理则是在协议处理单元EPU中完成,然后依靠中央控制单元RPU和协议处理单元EPU之间的消息通道进行信息交互,实现重复地址检测。
本发明所述的IPv6重复地址检测的基本原理如下:
IPv6节点设备通过邻节点请求报文检测本地链路上是否有正在使用的重复IPv6地址。其中,EPU作为请求端发送包含检测地址信息的邻节点请求报文,如果在设定的检测时间间隔之内,没有收到来自本链路其他IPv6节点发出的包含阻止其使用请求IPv6地址信息的邻节点公告报文,则认为待检测的IPv6地址是可用地址;反之,如果在设定的检测时间间隔之内,收到来自本 链路其他IPv6节点发出的包含阻止其使用请求IPv6地址信息的邻节点公告报文,则认为待检测的IPv6地址是重复地址。
此外,还需要在RPU中设置配套的地址配置管理模块,以实现在各种不同的地址配置操作情况下进行正确的IPv6重复地址检测处理。
本发明所述分布式系统的IPv6重复地址检测方法主要以RPU的地址配置管理模块为核心,具体包括中央控制单元RPU侧的处理流程和协议处理模块EPU侧的处理流程。其中,中央控制单元RPU侧的处理流程包括:
1.检测请求发起处理流程
当RPU收到IPv6地址的重复检测请求时,首先,需要检查该IPv6地址所属的接口是否正常工作,检查该IPv6地址所属的接口是否为隧道接口,检查该IPv6地址所属隧道接口所依托的实际出接口是否正常工作;其次,需要检查该IPv6地址是否已经发起过检测请求,以避免产生不断的冗余检测,如果找到完全相同的请求,则忽略当前检测请求,如果找到的检测请求的IPv6地址和当前请求地址相同,但两者所属接口不同,则以最新的检测请求为准,将旧检测请求删除,发起新的检测请求;最后,由于RPU侧不执行邻节点请求协议处理,因此,如果需要发起新请求,则将该检测请求发往该IPv6地址所属接口所在的EPU,由EPU负责进行邻节点发现协议处理。
2.检测定时器超时处理流程
RPU必须收到EPU的检测请求回应消息,才能得到IPv6地址的检测结果。为了确保每个发往EPU的检测请求能够到达EPU,RPU记录下每个IPv6地址的检测请求发往EPU的时间,并定时将这些检测请求的发起时间和当前系统时间进行比较,当发现某个检测请求在超过了预定时间后仍然未收到来自EPU的检测结果回应消息,RPU则认为该检测请求未到达EPU,对该IPv6地址发起新的检测请求。
3.重复地址检测结果处理流程
当RPU得到某个IPv6地址检测请求的检测结果时,首先需要判断该检测请求是否还有效,例如,在该IPv6地址已经被删除,或者该IPv6地址所属接口未正常工作等情况下,RPU将不处理该IPv6地址的检测结果;其次,如果该IPv6地址检测请求仍然有效,则对该IPv6地址的检测结果进行判断,对于 结果为有效的IPv6地址,则通知路由管理模块等其它模块该IPv6地址有效,如果检测结果为重复的IPv6地址,则将该IPv6地址方到重复IPv6地址队列当中,等待后续处理。
4.地址冲突处理流程
每隔预定时间,系统对已经配置的冲突地址重新进行检测,检测已发起的检测请求处理流程是否存在地址冲突以及重新发起检测请求处理流程。
另外,协议处理模块EPU侧的处理流程如下所述:
EPU收到来自RPU的地址检测请求后,按照IPv6邻节点发现协议,通过邻节点请求报文,对该IPv6地址进行重复检测,待检测结果出来之后,以检测请求回应消息形式返回给RPU进行集中处理。
上述EPU常采用单板结构,因此,也称作EPU单板。
下面结合附图分别对上述流程进行详细描述。
图1为本发明中IPv6重复地址检测系统结构图,包括:
中央控制单元101,用于在收到IPv6地址配置请求后进行重复地址检测请求发起处理,将处理产生的重复地址检测请求发送给协议处理单元,以及接收并解析来自协议处理单元的检测结果,根据该检测结果进行重复地址检测结果处理。中央控制单元101包括检测请求发起处理模块1011、检测结果处理模块1012、检测请求超时处理模块1013和地址冲突处理模块1014,其中,
检测请求发起处理模块1011,用于根据IPv6地址配置请求的IPv6地址所属接口找到该接口所属的协议处理单元,将该协议处理单元设定为重复地址检测请求输出目的协议处理单元;检查该IPv6地址所属接口是否处于工作状态;检查该IPv6地址所属接口是否为隧道接口;检查该隧道接口所依托的实际出接口是否处于工作状态;设定该隧道接口所依托的实际出接口所属的协议处理单元为重复地址检测请求的输出目的协议处理单元;检查重复地址检测请求队列中是否存在对该IPv6地址的检测请求;检查该地址检测请求所属接口是否与本次地址检测请求所属接口一致;检查该IPv6地址所属接口是否为隧道接口;检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致;删除队列中存在的对该IPv6地址的检测请求,为该IPv6地址建立新的重复地址检测请求,记录该IPv6地址、该次地址检测请求所属的接 口;记录该隧道所依托的实际出接口,并设定检测超时时间,将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器。
检测结果处理模块1012,用于接收协议处理单元返回的检测请求回应消息,得到重复地址检测请求检测结果;检查该检测结果所属地址是否处于重复地址检测队列中;检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态;检查该检测结果所属接口是否为隧道接口;检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态;检查检测结果表明该IPv6地址是否为重复地址;向用户告警,并将该IPv6地址放入冲突地址队列;将该IPv6地址状态设定为有效地址状态,并通知中央控制单元中的其它模块该IPv6地址为有效可用状态;将该重复地址检测请求从检测请求队列中删除。
检测请求超时处理模块1013,用于在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间;检测超时定时器每完成一次计时后,检查当前重复地址检测队列中是否存在需要处理的重复地址检测请求;从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时;检查该重复地址检测请求所属接口是否处于工作状态;检查该地址所属接口是否为隧道接口;检查该地址所属隧道接口所依托的实际出接口是否处于工作状态;当该次重复地址检测已经到达超时时间,但仍然未收到协议处理单元返回的检测请求回应消息,重新向重复地址检测请求输出目的单板发送该重复地址检测请求;确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除。
地址冲突处理模块1014,用于在确定该IPv6地址为重复地址后,将该IPv6地址放入冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,检查冲突地址队列是否存在待处理的IPv6地址,如果是,对当前冲突地址进行重复地址检测。
协议处理单元102,用于收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给 中央控制单元。
另外,协议处理单元102还用于检查该重复地址检测请求消息是否在协议处理单元的重复地址请求队列中,如果不在,将该次重复地址检测请求放入重复地址请求队列中,按照标准协议进行重复地址检测。
图2为本发明中RPU侧重复地址检测请求发起处理的方法流程图,具体实施步骤如下:
步骤201,RPU收到用户配置的IPv6地址,根据该IPv6地址所属接口找到该接口所属的EPU单板,将该EPU单板设定为重复地址检测请求输出目的单板,执行步骤202;
步骤202,检查该IPv6地址所属接口是否处于工作状态,如果是,则执行步骤203;否则,执行步骤212;
步骤203,检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤204;否则,执行步骤206;
步骤204,检查该隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤205;否则,执行步骤212;
步骤205,将该隧道接口所依托的实际出接口所属的EPU单板设定为重复地址检测请求的输出目的单板,然后执行步骤206;
步骤206,检查已有重复地址检测请求队列中是否存在对该IPv6地址的检测请求,如果是,则执行步骤207;否则,执行步骤211。
步骤207,检查已有地址检测请求所属的接口是否与本次地址检测请求所属接口一致,如果是,则执行步骤208;否则,执行步骤210;
步骤208,检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤209;否则,执行步骤212;
步骤209,检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致,如果是,则执行步骤212;否则,执行步骤210;
步骤210,删除队列中已经存在的对该IPv6地址的检测请求,然后执行步骤211;
步骤211,为该IPv6地址建立新的重复地址检测请求,除该IPv6地址本身外,还需记录该次地址检测请求所属的接口,如果是隧道接口还需记录下该 隧道所依托的实际出接口,并设定检测超时时间,接着将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器,然后执行步骤212;
步骤212,退出当前处理。
图3为本发明中RPU侧重复地址检测请求超时处理的方法流程图,具体实施步骤如下:
步骤301,RPU在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间,检测超时定时器每完成一次计时后,执行步骤302;
步骤302,检查当前重复地址检测队列中是否存在需要处理的重复地址检测请求,如果是,则执行步骤303;否则,执行步骤309;
步骤303,从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时,如果已超时,则执行步骤304,否则返回执行步骤302;
步骤304,检查该重复地址检测请求所属接口是否处于工作状态,如果是,则执行步骤305;否则,执行步骤308;
步骤305,检查该地址所属接口是否为隧道接口,如果是,则执行步骤306;否则,执行步骤307;
步骤306,检查该地址所属隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤307;否则,执行步骤308;
步骤307,当该次重复地址检测已经到达超时时间,但仍然未收到EPU返回的检测请求回应消息,则重新向重复地址检测请求输出目的单板发送该重复地址检测请求,然后执行步骤302;
步骤308,确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除,然后返回执行步骤302;
步骤309,退出当前处理。
图4为本发明中RPU侧重复地址检测请求结果返回处理的方法流程图,具体实施步骤如下:
步骤401,RPU接收EPU返回的检测请求回应消息,得到重复地址检测请求检测结果,执行步骤402;
步骤402,检查该检测结果所属地址是否处于重复地址检测队列中,如果是,则执行步骤403;否则,执行步骤410;
步骤403,检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态,如果是,则执行步骤404;否则,执行步骤409;
步骤404,检查该检测结果所属接口是否为隧道接口,如果是,则执行步骤405;否则,执行步骤406;
步骤405,检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态,如果是,则执行步骤406;否则,执行步骤409;
步骤406,检查检测结果表明该IPv6地址是否为重复地址,如果是,则执行步骤407;否则,执行步骤408;
步骤407,向用户告警,并将该IPv6地址放入冲突地址队列,执行步骤409;
步骤408,将该IPv6地址状态设定为有效地址状态,并通知RPU中的其它模块该IPv6地址为有效可用状态,执行步骤409;
步骤409,将该重复地址检测请求从检测请求队列中删除,执行步骤410;
步骤410,退出当前处理。
图5为本发明中RPU侧重复地址检测地址冲突处理的方法流程图,具体实施步骤如下:
步骤501,当该IPv6地址被检测确定为重复地址后,RPU将该IPv6地址放入一个冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,执行步骤502;
步骤502,检查当前冲突地址队列是否存在待处理的IPv6地址,如果是,则执行步骤503;否则,执行步骤504;
步骤503,按照RPU侧重复地址检测请求发起流程对该IPv6地址进行重复地址检测,然后执行步骤502;
步骤504,退出当前处理。
图6为本发明中EPU侧重复地址检测的方法流程图,具体实施步骤如下:
步骤601,EPU收到来自RPU侧发来的IPv6重复地址检测请求,执行步骤602;
步骤602,检查该重复地址检测请求是否已经在EPU的重复地址请求队列中,如果是,则执行步骤604;否则,执行步骤603;
步骤603,将该次重复地址检测请求放入重复地址请求队列中,然后按照标准协议进行重复地址检测,执行步骤604;
步骤604,退出当前处理。
综上所述,通过本发明可以保证主从分布式系统,在地址管理模块和邻节点发现协议模块分布在不同处理单元的情况下,实现IPv6地址的重复地址检测功能。
另外,本发明所述的IPv6重复地址检测系统包括一个中央控制单元,但可以包括个协议处理单元。采用这种中央控制单元和协议处理单元分离的分布式处理方式,极大的提高了节点设备的工作能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种IPv6重复地址检测的方法,其特征在于,包括:
A.中央控制单元收到IPv6地址配置请求后,进行重复地址检测请求发起处理,并将处理产生的该IPv6地址的重复地址检测请求发送给协议处理单元;
所述重复地址检测请求发起处理包括以下步骤:
A1.中央控制单元根据IPv6地址配置请求的IPv6地址所属接口找到该接口所属的协议处理单元,将该协议处理单元设定为重复地址检测请求输出目的协议处理单元,执行步骤A2;
A2.检查该IPv6地址所属接口是否处于工作状态,如果是,则执行步骤A3;否则,退出当前处理;
A3.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤A4;否则,执行步骤A6;
A4.检查该隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤A5;否则,退出当前处理;
A5.设定该隧道接口所依托的实际出接口所属的协议处理单元为重复地址检测请求的输出目的协议处理单元,执行步骤A6;
A6.检查重复地址检测请求队列中是否存在对该IPv6地址的检测请求,如果是,则执行步骤A7;否则,执行步骤A11;
A7.检查该地址检测请求所属接口是否与本次地址检测请求所属接口一致,如果是,则执行步骤A8;否则,执行步骤A10;
A8.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行步骤A9;否则,退出当前处理;
A9.检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致,如果是,则退出当前处理;否则,执行步骤A10;
A10.删除队列中存在的对该IPv6地址的检测请求,执行步骤A11;
A11.为该IPv6地址建立新的重复地址检测请求,记录该IPv6地址、该次地址检测请求所属的接口,如果是隧道接口,则记录该隧道所依托的实际出接口,并设定检测超时时间,将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器,退出当前处理;
B.协议处理单元收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给中央控制单元;
C.中央控制单元接收并解析该检测结果,根据该检测结果进行重复地址检测结果处理。
2.根据权利要求1所述的方法,其特征在于,步骤C所述进行重复地址检测结果处理包括以下步骤:
C1.中央控制单元接收协议处理单元返回的检测请求回应消息,得到重复地址检测请求检测结果,执行步骤C2;
C2.检查该检测结果所属地址是否处于重复地址检测队列中,如果是,则执行步骤C3;否则,退出当前处理;
C3.检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态,如果是,则执行步骤C4;否则,执行步骤C9;
C4.检查该检测结果所属接口是否为隧道接口,如果是,则执行步骤C5;否则,执行步骤C6;
C5.检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态,如果是,则执行步骤C6;否则,执行步骤C9;
C6.检查检测结果表明该IPv6地址是否为重复地址,如果是,则执行步骤C7;否则,执行步骤C8;
C7.向用户告警,并将该IPv6地址放入冲突地址队列,执行步骤C9;
C8.将该IPv6地址状态设定为有效地址状态,并通知中央控制单元中的其它模块该IPv6地址为有效可用状态,执行步骤C9;
C9.将该重复地址检测请求从检测请求队列中删除并退出当前处理。
3.根据权利要求1所述的方法,其特征在于,所述步骤A与步骤B之间还包括:
D.重复地址检测请求超时处理过程,包括以下步骤:
D1.中央控制单元在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间,检测超时定时器每完成一次计时后,执行步骤D2;
D2.检查当前重复地址检测队列中是否存在需要处理的重复地址检测请求,如果是,则执行步骤D3;否则,退出当前处理;
D3.从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时,如果已超时,则执行步骤D4,否则返回执行步骤D2;
D4.检查该重复地址检测请求所属接口是否处于工作状态,如果是,则执行步骤D5;否则,执行步骤D8;
D5.检查该地址所属接口是否为隧道接口,如果是,则执行步骤D6;否则,执行步骤D7;
D6.检查该地址所属隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行步骤D7;否则,执行步骤D8;
D7.当该次重复地址检测已经到达超时时间,但仍然未收到协议处理单元返回的检测请求回应消息,则重新向重复地址检测请求输出目的单板发送该重复地址检测请求,执行步骤D2;
D8.确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除,返回执行步骤D2。
4.根据权利要求1所述的方法,其特征在于,步骤B所述协议处理单元收到来自中央控制单元的重复地址检测请求消息后还包括:
协议处理单元检查该重复地址检测请求消息是否在协议处理单元的重复地址请求队列中,如果是,则退出当前处理;否则,将该次重复地址检测请求放入重复地址请求队列中,按照标准协议进行重复地址检测。
5.根据权利要求1所述的方法,其特征在于,所述步骤C后还包括地址冲突处理过程,该过程包括:
中央控制单元检测确定该IPv6地址为重复地址后,将该IPv6地址放入冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,检查冲突地址队列是否存在待处理的IPv6地址,如果是,对当前冲突地址进行重复地址检测;否则,退出当前处理。
6.一种IPv6重复地址检测的系统,其特征在于,包括:
中央控制单元,用于在收到IPv6地址配置请求后进行重复地址检测请求发起处理,将处理产生的重复地址检测请求发送给协议处理单元,以及接收并解析来自协议处理单元的检测结果,根据该检测结果进行重复地址检测结果处理;
所述中央控制单元包括:
检测请求发起处理模块,用于执行A1至A10,其中,
A1.根据IPv6地址配置请求的IPv6地址所属接口找到该接口所属的协议处理单元,将该协议处理单元设定为重复地址检测请求输出目的协议处理单元,执行A2;
A2.检查该IPv6地址所属接口是否处于工作状态,如果是,则执行A3;否则,退出当前处理;
A3.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行A4;否则,执行A6;
A4.检查该隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行A5;否则,退出当前处理;
A5.设定该隧道接口所依托的实际出接口所属的协议处理单元为重复地址检测请求的输出目的协议处理单元,执行A6;
A6.检查重复地址检测请求队列中是否存在对该IPv6地址的检测请求,如果是,则执行A7;否则,执行A11;
A7.检查该地址检测请求所属接口是否与本次地址检测请求所属接口一致,如果是,则执行A8;否则,执行A10;
A8.检查该IPv6地址所属接口是否为隧道接口,如果是,则执行A9;否则,退出当前处理;
A9.检查该隧道接口所依托的实际出接口和本次地址检测请求所依托的实际出接口是否一致,如果是,则退出当前处理;否则,执行A10;
A10.删除队列中存在的对该IPv6地址的检测请求,执行A11;
A11.为该IPv6地址建立新的重复地址检测请求,记录该IPv6地址、该次地址检测请求所属的接口,如果是隧道接口,则记录该隧道所依托的实际出接口,并设定检测超时时间,将该重复地址检测请求插入检测请求队列尾部,重新设定检测超时定时器,退出当前处理;
协议处理单元,用于收到来自中央控制单元的重复地址检测请求后,按照邻节点发现协议对该IPv6地址进行重复地址检测,并将检测结果发送给中央控制单元。
7.根据权利要求6所述的系统,其特征在于,所述中央控制单元包括:
检测结果处理模块,用于执行C1至C9,其中,
C1.接收协议处理单元返回的检测请求回应消息,得到重复地址检测请求检测结果,执行C2;
C2.检查该检测结果所属地址是否处于重复地址检测队列中,如果是,则执行C3;否则,退出当前处理;
C3.检查该重复地址检测队列中与检测结果所属地址对应的检测请求所属接口和检测结果所属接口是否一致且处于工作状态,如果是,则执行C4;否则,执行C9;
C4.检查该检测结果所属接口是否为隧道接口,如果是,则执行C5;否则,执行C6;
C5.检查该检测结果所属的隧道接口所依托的实际出接口与检测请求队列中所对应的检测请求所依托的实际出接口是否一致且处于工作状态,如果是,则执行C6;否则,执行C9;
C6.检查检测结果表明该IPv6地址是否为重复地址,如果是,则执行C7;否则,执行C8;
C7.向用户告警,并将该IPv6地址放入冲突地址队列,执行C9;
C8.将该IPv6地址状态设定为有效地址状态,并通知中央控制单元中的其它模块该IPv6地址为有效可用状态,执行C9;
C9.将该重复地址检测请求从检测请求队列中删除并退出当前处理。
8.根据权利要求6所述的系统,其特征在于,所述中央控制单元包括:
检测请求超时处理模块,用于执行D1至D8,其中,
D1.在每次发起重复地址检测请求之后,通过设置检测超时定时器为该次地址检测设定预定检测超时时间,检测超时定时器每完成一次计时后,执行D2;
D2.检查当前重复地址检测队列中是否存在需要处理的重复地址检测请求,如果是,则执行D3;否则,退出当前处理;
D3.从当前重复地址检测队列中取出下一个待处理的重复地址检测请求,检查该请求是否已经超时,如果已超时,则执行D4,否则返回执行D2;
D4.检查该重复地址检测请求所属接口是否处于工作状态,如果是,则执行D5;否则,执行D8;
D5.检查该地址所属接口是否为隧道接口,如果是,则执行D6;否则,执行D7;
D6.检查该地址所属隧道接口所依托的实际出接口是否处于工作状态,如果是,则执行D7;否则,执行D8;
D7.当该次重复地址检测已经到达超时时间,但仍然未收到协议处理单元返回的检测请求回应消息,则重新向重复地址检测请求输出目的单板发送该重复地址检测请求,执行D2;
D8.确定该重复地址检测请求为无效检测请求,将该无效检测请求从重复地址检测队列中删除,返回执行D2。
9.根据权利要求6所述的系统,其特征在于,所述协议处理单元,还用于检查该重复地址检测请求消息是否在协议处理单元的重复地址请求队列中,如果是,则退出当前处理;否则,将该次重复地址检测请求放入重复地址请求队列中,按照标准协议进行重复地址检测。
10.根据权利要求6所述的系统,其特征在于,所述中央控制单元包括:
地址冲突处理模块,用于在确定该IPv6地址为重复地址后,将该IPv6地址放入冲突地址队列中,通过冲突地址检测定时器定时对冲突地址队列中的IPv6地址进行再次检测,冲突地址检测定时器每完成一次计时后,检查冲突地址队列是否存在待处理的IPv6地址,如果是,对当前冲突地址进行重复地址检测;否则,退出当前处理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101761813A CN101136948B (zh) | 2007-10-22 | 2007-10-22 | 一种IPv6重复地址检测的方法及系统 |
PCT/CN2007/003906 WO2009052678A1 (fr) | 2007-10-22 | 2007-12-29 | Système et procédé de détection d'une adresse dupliquée dans l'internet de prochaine génération |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101761813A CN101136948B (zh) | 2007-10-22 | 2007-10-22 | 一种IPv6重复地址检测的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101136948A CN101136948A (zh) | 2008-03-05 |
CN101136948B true CN101136948B (zh) | 2011-01-05 |
Family
ID=39160767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101761813A Expired - Fee Related CN101136948B (zh) | 2007-10-22 | 2007-10-22 | 一种IPv6重复地址检测的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101136948B (zh) |
WO (1) | WO2009052678A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527711B (zh) * | 2008-03-06 | 2012-11-21 | 华为技术有限公司 | 一种IPv6会话的存活检测的方法、装置及系统 |
CN102932491B (zh) * | 2011-08-12 | 2018-02-09 | 中兴通讯股份有限公司 | 地址配置方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1692606A (zh) * | 2003-01-15 | 2005-11-02 | 三星电子株式会社 | 自动注册互联网协议协议版本6的互联网协议地址和域名的方法 |
CN1901551A (zh) * | 2005-07-19 | 2007-01-24 | 上海贝尔阿尔卡特股份有限公司 | 一种支持IPv6的二层接入网中重复地址检测方法及其装置 |
CN1980252A (zh) * | 2005-12-06 | 2007-06-13 | 华为技术有限公司 | 地址冲突检测的实现方法及其地址冲突检测代理装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100948383B1 (ko) * | 2003-03-04 | 2010-03-22 | 삼성전자주식회사 | Ad hoc 네트워크 환경에서의 효율적인 ip 주소할당 및 중복 검출 방법 |
KR100503470B1 (ko) * | 2003-08-13 | 2005-07-27 | 삼성전자주식회사 | 디스트리뷰션시스템에서 빠른 dad 수행을 위해 정보를관리하는 빠른 dad 관리자 및 이를 이용한 빠른 dad수행방법 |
-
2007
- 2007-10-22 CN CN2007101761813A patent/CN101136948B/zh not_active Expired - Fee Related
- 2007-12-29 WO PCT/CN2007/003906 patent/WO2009052678A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1692606A (zh) * | 2003-01-15 | 2005-11-02 | 三星电子株式会社 | 自动注册互联网协议协议版本6的互联网协议地址和域名的方法 |
CN1901551A (zh) * | 2005-07-19 | 2007-01-24 | 上海贝尔阿尔卡特股份有限公司 | 一种支持IPv6的二层接入网中重复地址检测方法及其装置 |
CN1980252A (zh) * | 2005-12-06 | 2007-06-13 | 华为技术有限公司 | 地址冲突检测的实现方法及其地址冲突检测代理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101136948A (zh) | 2008-03-05 |
WO2009052678A1 (fr) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102185718B (zh) | 一种系统升级方法及其装置 | |
CN101616490A (zh) | 决定释放通信资源的方法 | |
CN101453447A (zh) | 动态主机配置协议dhcp用户老化的方法及接入设备 | |
US20030117948A1 (en) | Method and gateway GPRS support node (GGSN) for control plane redundancy | |
CN101610560B (zh) | 无线自组织网络中的设备的发现方法 | |
CN106487575A (zh) | 一种基于电力线通信的通信模块批量升级方法 | |
CN109246762A (zh) | 一种本地业务分流方法及装置 | |
CN103051724B (zh) | 一种基于长连接的套接字同步方法 | |
CN101136948B (zh) | 一种IPv6重复地址检测的方法及系统 | |
CN101562886A (zh) | 终端-后台一体化的软件平台、系统和方法 | |
CN101707533A (zh) | 一种多业务pcm光接入网络中基于链路状态的网络控制方法及系统 | |
JP4549055B2 (ja) | 無線パーソナルエリアネットワークにおけるネットワークアドレスの設定方法 | |
JP4567233B2 (ja) | 通信装置及びその制御方法 | |
CN103227733A (zh) | 一种拓扑发现方法及系统 | |
US8229414B1 (en) | Release of temporarily allocated number triggered by voice disconnect at mobile switching center | |
US7257134B2 (en) | Method of pacing the synchronization of routing information in a data switching environment | |
CN113840249A (zh) | 区分计费话单的方法、计费网关和系统 | |
CN103002064A (zh) | 一种释放地址的方法、用户节点及远程接入服务器 | |
CN104081743A (zh) | 一种链路管理方法、设备和通信系统 | |
CN103259639A (zh) | 一种堆叠设备的时钟同步方法和设备 | |
CN102882887A (zh) | 软件平滑升级的实现方法及设备 | |
CN101616039A (zh) | 基于网络拓扑发现的测试脚本发布方法 | |
CN110661655B (zh) | 一种集群部署方法、系统、电子设备及存储介质 | |
CN102932360A (zh) | 一种动态更新接口的方法及系统 | |
CN110635994A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110105 Termination date: 20171022 |