一种环网、环网拓扑发现方法及一种节点的制作方法

文档序号:7664631阅读:130来源:国知局

专利名称::一种环网、环网拓扑发现方法及一种节点的制作方法
技术领域
:本发明涉及网络管理领域,特别涉及一种环网、一种环网拓扑发现方法及一种节点。
背景技术
:现有T-MPLS(TransportMulti-protocolLabelSwitching,传送多协议标签交换网)技术中,为了实现T-MPLS环网保护,每个节点必须了解整个环网的拓扑信息,如环网上包括哪些节点,这些节点的连接顺序关系等,并且当环网拓扑发生变化(如节点加入/删除)时,节点要能够感知这些变化并及时更新拓扑信息。T-MPLS环网保护与SDHMS-SPRing(MultiplexSection-SharedProtectionRing,复用段共享保护环)类似,但是SDHMS-SPRing没有定义专门的环网拓扑发现机制,多采用手工配置方式。RPR(ResilientPacketRing,弹性分组环)是一种在环形结构上优化数据业务传送的MAC(MediaAccessControl,介质访问控制)层协议。RPR提供拓扑发现机制,可以使环上每个节点都能了解环的完整结构,各点距离自身的跳数,以及环上各个站点所具备的能力,比如容量、处理能力、带宽等,从而为环选择、公平算法、保护等单元提供决策依据。RPR通过广播拓扑发现分组进行拓扑更新,相邻节点发送响应信息进行确认拓扑是否发生变化。拓扑发现分组的头部有相应的信息表明这个分组是个拓扑发现分组,所经过的节点把此分组取下并且重新产生一个。重新产生分组的时候,节点需要把自己的标识符加入到分组中标识符队列的开始,并且要去掉标识符队列末尾的冗余条目。发明人在实现本发明的过程中,发现目前T-MPLS环网没有提供拓扑发现机制。RPR这种依赖于以太网广播帧的特点来进行拓扑发现的机制在T-MPLS环网中不能实现。
发明内容为了在T-MPLS环网中实现拓扑发现,本发明实施例提供了一种环网、一种环网拓扑发现方法及一种节点。所述技术方案如下一种环网拓扑发现方法,所述方法包括以下步骤节点从其相邻节点接收拓扑发现消息,所述拓扑发现消息包括所述相邻节点最新的拓扑信息、所述拓扑信息的版本信息及所述相邻节点的标识;接收拓扑发现消息的节点,根据接收的所述拓扑发现消息的内容,和本节点的拓扑信息及版本信息,得到新的拓扑信息。一种环网,所述环网包括至少两个节点,所述节点包括发送模块和接收模块;所述发送模块用于向其相邻节点发送拓扑发现消息,所述拓扑发现消息包括本节点当前最新的拓扑信息,所述拓扑信息的版本信息及本节点标识;所述接收模块用于接收相邻节点发送的拓扑发现消息,根据所述接收的拓扑发现消息的内容和本节点的拓扑信息及其版本信息得到新的拓扑信息。一种环网中的节点,所述节点包括发送模块,用于向其相邻节点发送拓扑发现消息,所述拓扑发现消息包括本节点当前最新的拓扑信息,所述拓扑信息的版本信息及本节点标识;接收模块包括-接收单元,用于接收相邻节点发送的拓扑发现消息;拓扑信息生成单元,用于根据所述接收的拓扑发现消息的内容和本节点的拓扑信息及其版本信息得到新的拓扑信息。采用本发明实施例所述的技术方案,利用向环网中的相邻节点发送消息,方法简单可行。图1是本发明实施例所述的T-MPLS环网示意图2是本发明实施例1所述的一种环网拓扑发现方法流程图3是本发明实施例3所述的T-MPLS环网拓扑发生变化示意图4是本发明实施例4所述的T-MPLS环网拓扑发生变化示意图5是本发明实施例5所述的一种环网的示意图6是本发明实施例6所述的一种节点的示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,为T-MPLS环网示意图。T-MPLS环网由六个节点A-F组成。相邻节点进行双向连接。例如,T-MPLS环网由两个方向相反的环组成。每个方向分别由工作路径和保护路5径组成,一个方向的保护路径对应另一个方向的工作路径。环节点标识(RingID),可唯一标识环内的某个具体的节点,其格式不限。如图1中,分别用A,B,C,D,E,F标识环上的节点。每个环节点都保存当前最新的环拓扑信息,该环拓扑信息可以是一个包含RingID的有序列表,节点的连接顺序关系可以是顺时针,或者是逆时针,称为Ring—Map,当然也可以根据需要携带带宽,容量等信息。初始状态时,每个环节点保存的Ring—Map为空,记作Ring_MapX={#},其中,X代表环上任一个节点,"#"代表环拓扑发现处于初始状态或者未稳定状态时,尚未获知的节点信息。参见图1,以节点E为例,考虑顺时针方向(也可以是逆时针),当拓扑发现稳定后,节点E获知的Ring—MapE={F,A,B,C,D}。实施例1参见图2,本发明实施例提供了一种T-MPLS环网拓扑发现方法,具体步骤如下步骤101:环上的节点接收相邻两个节点发送的拓扑发现消息RingJnfo。该消息携带节点标识RingID,版本信息和拓扑信息Ring一Map。其中,Ring—Info消息包括但不限于以下内容1)该节点当前最新的拓扑信息Ring—Map。2)该节点标识RingID。3)该拓扑信息的版本信息。其中,拓扑信息的版本信息可以采用版本号的形式表示。例如,版本号可以初始化为O,每当本节点的Ring一Map信息发生变化时,版本号加1,该版本号用于协议收敛。所谓协议收敛是指拓扑信息稳定,环上每个节点的拓扑信息不再变化的状态。当确定拓扑信息稳定后,拓扑信息的版本号可以清零。步骤102:环上节点根据拓扑发现消息中的节点标识RingID得到相邻节点信息,并根据接收的端口判断相邻节点的位置关系。比较本节点保存的拓扑信息中的相邻节点信息与从接收的拓扑发现消息中得到的相邻节点信息是否一致。如果一致,执行步骤103;如果不一致,执行步骤107。步骤103:判断所接收两个拓扑消息的版本号是否一致。如果一致,执行步骤104;如果不一致,执行步骤105。步骤104:判断所接收拓扑消息的版本号是否大于等于本节点保存的拓扑信息版本号。如果是,则根据这两个相邻节点的RinglD和Ring—Map得到该节点的新的拓扑信息,并执行步骤106;如果两个相邻节点发送的Ring—Map的版本号小于接收节点自身保留的Ring—Map信息版本号,则忽略该信息,不作更新。其中,版本号的大小表明了版本信息的新旧,版本号大的相应的版本信息新。步骤105:判断所接收拓扑消息的版本号都小于本节点保存的拓扑信息版本号。如果是,则忽略该信息,不作更新;否则根据两个相邻节点的RingID和版本号大的节点的Ring—Map得到该节点的新拓扑信息,并执行步骤10B。步骤106:判断生成的新的拓扑信息与本节点保存的拓扑信息是否一致,如果一致,忽略该信息,不作更新;否则,执行步骤107。步骤107:根据新的拓扑信息更新本节点保存的拓扑信息,并将保存的拓扑信息的版本号加l。下面分别以环节点从初始状态获得环拓扑信息、新节点加入环以及环上有节点被flj除的三种情况说明本发明实施例。实施例2如表1所示,在初始状态TO时,所有节点A-F的Ring一M即为{#}。Tl时,节点A-F分别向其相邻节点发送Ring—Info消息,以A节点为例,节点A向节点B、F发送Ring—Info消息,内容包括节点A当前的Ring—MapW,节点A的RingID"A",和相应的版本号0。其他节点的发送情况类似,不再赘述。节点A-F分别接收其相邻节点发送来的Ring—Info消息,获取其中的拓扑信息Ring—M邻以及相应的版本号。仍以A节点为例,节点A获取到它的相邻节点B、F发送来的Ring_Info消息,分别包括节点B当前的Ring一Map伊),节点B的RingID"B",和相应的版本号0;节点F当前的Ring—Map{糾,节点F的RingID"F",和相应的版本号0。节点A根据上述信息中的节点标识"B"和"F",获知相邻的两个节点分别为节点B、F,并根据接收的端口判断它们与节点A的位置关系节点F为节点A的逆时针邻节点,节点B为节点A的顺时针邻节点。先执行步骤103的判断,此时,节点A保存的RingJlap为i糾,与根据节点标识得到的信息不一致,于是,直接根据相邻节点信息更新A节点保存的RingJI邻为{BttF},并使该Ring_Map版本号加1,即更新为1(A节点原来保存的拓扑信息版本号为0)。其他节点依次类推,得到如表1所示Tl时各节点的Ring_Map。T2时,节点A-F继续向其相邻节点发送Ring—Info消息,以A节点为例,节点A向节点B、F发送的Ring—Info消息,内容包括:节点A当前的Ring—Map{B#F},节点A的RingID"A",相应的版本号已更新为l。其他节点的发送情况类似,不再赘述。节点A-F分别接收其相邻节点发送来的Ring_Info消息,获取其中的拓扑信息Ring_Map以及相应的版本号和节点ID。仍以A节点为例,节点A获取到它的相邻节点B、F发送来的Ring—Info消息,分别包括B节点当前的Ring—Map{C#A},B节点的RingID"B",和相应的版本号1;F节点当前的Ring_Map{Affi},F节点的RingID"F",和相应的版本号1。节点A获知相邻的两个节点分别为节点B、F,并根据接收的端口判断它们与节点A的位置关系节点F为节点A的逆时针邻节点,节点B为节点A的顺时针邻节点。此时,相邻节点信息与节点A保存的Ring一Map(BftF)—致。B和F发送的Ring—Info消息版本号均为1,且等于A节点此时保存拓扑信息的版本号,于是,生成新的拓扑信息Ring—Map为{BC#EF},并判断与A节点此时保存的拓扑信息Ring—Map(B共Fi不同,则更新A节点保存的拓扑信息Ring—Map为{BCttEF},并使该Ring—M邻版本号加l,更新为2(A节点原来保存的拓扑信息版本号为1)其他节点依次类推,得到如表1所示T2时各节点的Ring_Map。T3时,更新的方法与T2时刻相似,不再赘述。T3时刻以后,环拓扑信息不再发生变化,Ring—Map的版本号保持不变。或者,也可以再经过几个周期后,如果拓扑信息都不变化,认为拓扑稳定,可以将版本号清零。Ring一Map的表达形式不限,环节点ID可以按照逆时针,顺时针,或者其他可行的方式排列,不限定为表l的形式。上述步骤完成了环节点从初始状态获得环拓扑信息的方法。表1从初始态到稳定态获取拓扑信息的过程表<table>tableseeoriginaldocumentpage8</column></row><table>实施例3当拓扑结构发生变化时,即当环上有新的节点加入或者环上节点被删除时,环上节点仍然要能够获得变化的拓扑信息,并最终获得收敛的Ringjlap。参见图3,当环上节点E故障时,通过保护恢复机制,F跨过E节点与D建立连接,环网拓扑发生变化。此时,环网上的节点需要获知这种变化,也就是需要知道变化后的环拓扑。如表2所示,在TO时,所有节点A-F的Ring—M印处于稳定状态,假设Ring—Map版本号为0。Tl时刻,由于节点E被删除,D和F的拓扑均要发生变化。以D节点为例(F节点类似),D节点收到来自相邻C节点的Ring—Map为{DEFAB},节点ID为C,版本号为0,F节点的Ring—Map为(ABCDEh节点ID为F,版本号为O。节点D获知相邻的两个节点分别为C和F,并根据接收的端口判断它们与节点D的位置关系节点F为节点D的顺时针邻节点,节点C为节点D的逆时针邻节点。此时,相邻节点信息与节点D的Ring—Map仿FABC)不匹配。于是,直接根据相邻节点信息更新D节点保存的Ring—Map为{F#C},并使该Ring—Map版本号加1,即更新为1(D节点原来保存的拓扑信息版本号为O)。F节点类似,Ring一Map更新为(A抑l,版本号为l。A,B,C节点的拓扑在Tl时刻暂时不变。T2时刻,以节点A为例,节点A分别收到相邻节点B和F的Ring—Info,包括节点B当前的Ring—M即(CDEFA),节点B的RingID"B"和相应的版本号0;节点F当前的Ring—Map{At},节点F的RingID"F"和相应的版本号1。节点A获知相邻的两个节点分别为B和F,并根据接收的端口判断它们与节点A的位置关系节点F为节点A的逆时针邻节点,节点B为节点A的顺时针邻节点。此时,相邻节点信息与节点A的Ring—Map{BCDEF}—致。B和F发送的Ring—Info消息版本号分别为0和1,这两个版本号不一致,节点A此时保存的Ring—Map的版本号为0,需要根据版本号大的节点,即节点F的Ring,Map歸D)更新拓扑信息,并结合相邻节点(B和F)位置信息,得到节点A新的Ringjlap为(B抑FK节点A判断新的Ring—Map{BfflF}与其保存的Ring—Map{BCDEFD)是不一致的,将保存的Ring—Map更新为{Bffl)F},版本号为1。同理,节点C自身的Ring—Map更新为{DF#B},版本号为1。节点D和节点F的Ring—Map继续更新为(FAttC)和{AftCD},版本号均为2。节点B的拓扑在T2时刻暂时不变。T3,T4时刻,各节点继续更新Ring_Map。T5时刻,A,B,C,D,F均重新获得稳定的拓扑信息。表2节点被删除时,重新获得拓扑的过程表<table>tableseeoriginaldocumentpage10</column></row><table>()中表示的是Ring—Map的版本号实施例4参见图4,当环上增加节点H时,即F通过节点H再与E连接,环网拓扑发生变化。此时,环网上的节点需要获知这种变化,也就是需要知道变化后的环拓扑。如表3所示,在T0时,所有节点A-F的Ring—Map处于稳定状态,假设Ring_Map版本号为0。各节点重新获得拓扑的过程与上述节点被删除的步骤类似,不再赘述,环上节点分别获得新的拓扑信息的过程如表3。新加入的节点可以先接收相邻节点的Ring—info进行更新,以保持与现有信息及版本号一致(比如,稳定态的拓扑信息版本号没有清零)。然后再向其相邻节点发送Ring一info,包括己经获得的版本号,Ring_Map和RingID。表3有新节点加入时,重新获得拓扑的过程表<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>其中,环拓扑发现消息Ring—Info可以采用信令,或者OAM(OperationAdministrationandMaintenance,操作管理维护)报文,如APS(AtomaticProtectionSwitching,自动保护切换)消息,或者其他通道。要保证当节点和链路发生故障时,仍然发送Ring—Info。拓扑发现是一种周期性的活动,但是,也可以由某一个需要知道拓扑结构的节点来即时发起,其他步骤与上述类似,不再赘述。实施例5如图5所示,本发明实施例提供了一种环网,环网包括至少两个节点,本实施例^J图所示,以环网包括三个节点为例,其中节点包括发送模块和接收模块;发送模块用于向其相邻节点发送拓扑发现消息,拓扑发现消息包括本节点当前最新的拓扑信息,拓扑信息的版本信息及本节点标识;接收模块用于接收相邻节点发送的拓扑发现消息,根据接收的拓扑发现消息的内容和自身的拓扑信息及其版本信息得到新的拓扑信息。进一步地,节点还包括更新模块,用于判断接收模块得到的新的拓扑信息与本节点的拓扑信息是否一致,如果不一致,则将本节点的拓扑信息更新为新的拓扑信息,并更新拓扑信息的版本信息。实施例6如图6所示,本发明实施例提供了一种节点,该发送节点包括发送模块和接收模块,其中,发送模块,用于向其相邻节点发送拓扑发现消息,拓扑发现消息包括本节点当前最新的拓扑信息,拓扑信息的版本信息及本节点标识;接收模块包括接收单元,用于接收相邻节点发送的拓扑发现消息;拓扑信息生成单元,用于根据接收的拓扑发现消息的内容和本节点的拓扑信息及其版本信息得到新的拓扑信息。进一步地,接收模块还包括更新单元,用于判断拓扑信息生成单元得到的新的拓扑信息与本节点的拓扑信息是否一致,如果不一致,则将本节点的拓扑信息更新为新的拓扑信息,并更新拓扑信息的版本信息。其中,拓扑信息生成单元具体包括判断单元,用于根据拓扑发现消息中的节点标识得到相邻节点信息,判断相邻节点信息与本节点的拓扑信息中的相邻节点信息是否一致,并将判断结果发送给第一拓扑信息生成单元和第二拓扑信息生成单元;第一拓扑信息生成单元,用于当相邻节点信息与本节点的拓扑信息中的相邻节点f言息一致时,根据两个相邻节点发送的拓扑信息、版本信息和两个相邻节点的标识得到新的拓扑信息;第二拓扑信息生成单元,用于当相邻节点信息与本节点的拓扑信息中的相邻节点《言息不一致时,将得到的相邻节点信息作为新的拓扑信息。其中,第一拓扑信息生成单元具体包括判断子单元,用于判断两个相邻节点发送的拓扑信息的版本信息中是否至少有一个比本节点的拓扑信息的版本信息新,或和本节点的拓扑信息的版本信息相同,并将判断结果发送给拓扑信息生成子单元;拓扑信息生成子单元,用于当两个相邻节点发送的拓扑信息的版本信息中至少有一个比本节点的拓扑信息的版本信息新,或和本节点的拓扑信息的版本信息相同时,根据两个相邻节点的节点标识和版本信息新的节点的拓扑信息得到新的拓扑信息。采用本发明实施例所述的技术方案,利用向环网中的相邻节点发送消息,解决了目前T-MPLS环网获知环网拓扑的问题,方法简单可行。以上实施例提供的技术方案中部分步骤可以通过软件实现,软件存储在可读取的存储介质上,如计算机的软盘,硬盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种环网拓扑发现方法,其特征在于,所述方法包括以下步骤节点从其相邻节点接收拓扑发现消息,所述拓扑发现消息包括所述相邻节点最新的拓扑信息、所述拓扑信息的版本信息及所述相邻节点的标识;接收拓扑发现消息的节点,根据接收的所述拓扑发现消息的内容,和本节点的拓扑信息及版本信息,得到新的拓扑信息。2.如权利要求1所述的环网拓扑发现方法,其特征在于,所述根据所述接收的拓扑发现消息的内容,和本节点的拓扑信息及其版本信息,得到新的拓扑信息的步骤具体包括根据拓扑发现消息中的节点标识得到相邻节点信息,判断所述相邻节点信息与本节点的拓扑信息中的相邻节点信息是否一致;如果一致,根据所述两个相邻节点发送的拓扑信息、版本信息和两个相邻节点的标识得到新的拓扑信息;如果不一致,将得到的相邻节点信息作为新的拓扑信息。3.如权利要求2所述的环网拓扑发现方法,其特征在于,所述根据两个相邻节点发送的拓扑信息、版本信息和两个相邻节点的^H只得到新的拓扑信息的步骤具体包括如果所述两个相邻节点发送的拓扑信息的版本信息中至少有一个比本节点的拓扑信息的版本信息新,或和本节点的拓扑信息的版本信息相同,则根据两个相邻节点的节点标^^和版本信息新的节点的拓扑信息得到新的拓扑信息。4.如权利要求l所述的环网拓扑发现方法,其特征在于,所述方法还包括得到所述新的拓扑信息后,判断所述新的拓扑信息与本节点的拓扑信息是否一致,如果不一致,则将所述本节点的拓扑信息更新为所述新的拓扑信息,并更新所述拓扑信息的版本f曰息。5.—种环网,其特征在于,所述环网包括至少两个节点,所述节点包括发送模块和接收模块;所述发送模块用于向其相邻节点发送拓扑发现消息,所述拓扑发现消息包括本节点当前最新的拓扑信息,所述拓扑信息的版本信息及本节点标识;所述接收模块用于接收相邻节点发送的拓扑发现消息,根据所述接收的拓扑发现消息的内容和本节点的拓扑信息及其版本信息得到新的拓扑信息。6.如权利要求5所述的环网,其特征在于,所述节点还包括更新模块,用于判断所述接收模块得到的新的拓扑信息与本节点的拓扑信息是否一致,如果不一致,则将所述本节点的拓扑信息更新为所述新的拓扑信息,并更新所述拓扑信息的版本信息o7.如权利要求5所述的环网,其特征在于,所述环网为传送多协议标签交换网。8.—种环网中的节点,其特征在于,所述节点包括发送模块,用于向其相邻节点发送拓扑发现消息,所述拓扑发现消息包括本节点当前最新的拓扑信息,所述拓扑信息的版本信息及本节点标识;接收模块包括-接收单元,用于接收相邻节点发送的拓扑发现消息;拓扑信息生成单元,用于根据所述接收的拓扑发现消息的内容和本节点的拓扑信息及其版本信息得到新的拓扑信息。9.如权利要求8所述的节点,其特征在于,所述接收模块还包括更新单元,用于判断所述拓扑信息生成单元得到的新的拓扑信息与本节点的拓扑信息是否一致,如果不一致,则将所述本节点的拓扑信息更新为所述新的拓扑信息,并更新^f述拓扑信息的版本信息。10.如权利要求8所述的节点,其特征在于,所述拓扑信息生成单元具体包括判断单元,用于根据拓扑发现消息中的节点标识得到相邻节点信息,判断所述相邻节点信息与本节点的拓扑信息中的相邻节点信息是否一致,并将判断结果发送给第一拓扑信息生成单元和第二拓扑信息生成单元;第一拓扑信息生成单元,用于当相邻节点信息与本节点的拓扑信息中的相邻节点信息一致时,根据所述两个相邻节点发送的拓扑信息、版本信息和两个相邻节点的标识得到新的拓扑信息;第二拓扑信息生成单元,用于当相邻节点信息与本节点的拓扑信息中的相邻节点信息不一致时,将得到的相邻节点信息作为新的拓扑信息。11.如权利要求8所述的节点,其特征在于,所述第一拓扑信息生成单元具体包括判断子单元,用于判断所述两个相邻节点发送的拓扑信息的版本信息中是否至少有一个比本节点的拓扑信息的版本信息新,或和本节点的拓扑信息的版本信息相同,并将判断结果发送给拓扑信息生成子单元;拓扑信息生成子单元,用于当所述两个相邻节点发送的拓扑信息的版本信息中至少有一个比本节点的拓扑信息的版本信息新,或和本节点的拓扑信息的版本信息相同时,根据两个相邻节点的节点标识和版本信息新的节点的拓扑信息得到新的拓扑信息。全文摘要本发明公开了一种环网、一种环网拓扑发现方法及一种节点,属于网络管理领域。所述方法包括以下步骤节点从其相邻节点接收拓扑发现消息,根据所述接收的拓扑发现消息的内容和本节点保存的拓扑信息及其版本信息得到新的拓扑信息;判断所述新的拓扑信息与保存的拓扑信息是否一致,如果不一致,则将所述本节点保存的拓扑信息更新为所述新的拓扑信息,并更新所述保存的拓扑信息的版本信息。所述环网包括至少两个节点,所述节点包括发送模块和接收模块。采用本发明实施例所述的技术方案,利用向环网中的相邻节点发送消息,实现了环网拓扑发现,方法简单可行。文档编号H04L12/42GK101409666SQ200710175790公开日2009年4月15日申请日期2007年10月12日优先权日2007年10月12日发明者洋杨,佳贺申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1