Summary of the invention
The embodiment of the present invention provides a kind of routing daemon management method and equipment based on virtual network device,With in the time that master control borad breaks down, avoid GR to process unsuccessfully, and can improve the reliability of network.
For achieving the above object, the embodiment of the present invention provides a kind of routing daemon based on virtual network deviceManagement method, is applied in the physical network device that is virtualized into multiple many tenants facility environment MDC, shouldMethod comprises the following steps:
MDC, in the time that definite this MDC and neighbours MDC are positioned at the Same Physical network equipment, determines this MDCThe process that is main state in described physical network device router MPR or from state course router SPR;
MPR if, described MDC is to the upper not switching main-control board of routing daemon of this MDC;
SPR if, described MDC judges between this MDC and MPR whether be neighbours;
If so, when the upper routing daemon of routing daemon and MPR on described MDC is entered by same master control boradWhen capable processing, described MDC goes up route process switching to other master control borad by this MDC;
If not, described MDC utilizes the path jumping figure between this MDC and MPR to determine this MDCUpper route process switching is to other master control borad or to the upper not switching main-control board of routing daemon of this MDC.
Described MDC determines that this MDC and neighbours MDC are positioned at the Same Physical network equipment, specifically comprise:
Described MDC receives and detects DMNHello message from the MDC neighbours of neighbours MDC, described inDMNHello message has carried the mark of the affiliated physical network device of neighbours MDC;
Physical Network under the mark of the physical network device carrying in described DMNHello and this MDCWhen the mark of network equipment is identical, described MDC determines that this MDC and neighbours MDC are positioned at Same Physical netNetwork equipment; Otherwise, determine that this MDC and neighbours MDC are not positioned at the Same Physical network equipment.
Described MDC determine this MDC in described physical network device for MPR or SPR specifically comprise:
Described MDC is neighbours number and other MDC of this MDC in described physical network device relativelyNeighbours' number in described physical network device;
When the neighbours number of this MDC in described physical network device is greater than other MDC at described Physical NetworkWhen neighbours in network equipment count, described MDC determines that this MDC is MPR in described physical network device;
When the neighbours number of this MDC in described physical network device is less than other MDC at described Physical NetworkWhen neighbours in network equipment count, described MDC determines that this MDC is SPR in described physical network device;
When the neighbours number of this MDC in described physical network device is maximum, and this MDC is at described physicsNeighbours' number in the network equipment equals the neighbours of other MDC in described physical network device while counting, described inMDC is the ID of this MDC and the ID of other MDC relatively;
In the time that the ID of this MDC is less than the ID of other MDC, described MDC determines that this MDC is in instituteState in physical network device is MPR; In the time that the ID of this MDC is greater than the ID of other MDC, described inMDC determines that this MDC is SPR in described physical network device.
Described MDC utilizes the path jumping figure between this MDC and MPR to determine upper this MDC routeProcess switching, to other master control borad or to the upper not switching main-control board of routing daemon of this MDC, specifically comprises:
Described this MDC of MDC judging distance be n jump MDC on routing daemon with apart from this MDCFor whether the routing daemon on the MDC of (n-1) jumping is processed by same master control borad; Wherein, instituteThe initial value of stating n is the path jumping figure between this MDC and MPR;
If so,, in the time of n=1, the routing daemon on this MDC is switched to other master by described MDCOn control plate; As n > 1 time, described MDC is to not switching main-control board of the routing daemon on this MDC;
If not,, in the time of n=1, described MDC is to not switching main-control board of the routing daemon on this MDC;As n > 1 time, described MDC determines n=n-1, the value of the n based on redefining, described MDC continuesIt is continuous that to carry out this MDC of judging distance be routing daemon on the MDC that jumps of n and be (n-1) apart from this MDCThe step whether routing daemon on the MDC jumping is processed by same master control borad.
Described MDC is switched to the routing daemon on this MDC on other master control borad, specifically comprises:
When this MDC place physical network device is stack equipment, described MDC is by this MDCRouting daemon is switched on the master control borad of other stacking physical network device;
In the time that this MDC place physical network device is not stack equipment, described MDC is by this MDCRouting daemon be switched on other master control borad of described physical network device.
Described method also comprises: described MDC is positioned at Same Physical at definite this MDC and neighbours MDCAfter the network equipment, start neighbours and detect timer, and before neighbours detect timer expiry, with neighbourOccupy the DMN message that MDC carries neighbor state information alternately; Described neighbor state information comprises: neighboursRoute on neighbours' number of ID, the neighbours MDC of MDC in described physical network device, neighbours MDCPath jumping figure between the neighbours MDC of master control borad information, neighbours MDC and this neighbours MDC of process;
Described MDC is in the time of the DMN message of receiving from neighbours MDC, and it is fixed to detect based on described neighboursTime the device DMN message received before overtime, utilize the neighbor state maintenance of information of carrying in DMN messageMDC neighbor table; In described MDC neighbor table, record ID, the neighbours MDC of following information: this MDCID, this MDC in described physical network device neighbor information, neighbours MDC at described physical networkOn neighbor information in equipment, the master control borad information of the upper routing daemon of this MDC, neighbours MDC, route is enteredPath jumping figure in master control borad information, this MDC and the described physical network device of journey between other MDC.
A kind of many tenants facility environment MDC is provided in the embodiment of the present invention, be applied to be virtualized into multipleIn the physical network device of MDC, described MDC specifically comprises:
The first determination module, for determining that this MDC and neighbours MDC are positioned at the Same Physical network equipment;
The second determination module, in the time that this MDC and neighbours MDC are positioned at the Same Physical network equipment,Determine be main state process router MPR or enter from state of this MDC in described physical network deviceJourney router SPR;
The first processing module, for when this MDC is in the time that described physical network device is MPR, to thisNot switching main-control board of the upper routing daemon of MDC;
The second processing module, for when this MDC is in the time that described physical network device is SPR, judgesBetween this MDC and MPR, whether be neighbours; If so, as the upper routing daemon of this MDC and MPRWhen upper routing daemon is processed by same master control borad, upper this MDC route process switching is arrived to other master controlOn plate; If not, utilizing path jumping figure between this MDC and MPR to determine sets out on a journey this MDCTo other master control borad or to this MDC, go up not switching main-control board of routing daemon by process switching.
Described the first determination module, detects DMN specifically for receiving from the MDC neighbours of neighbours MDCHello packet, described DMNHello message has carried the mark of the affiliated physical network device of neighbours MDC;Under the mark of the physical network device carrying in described DMNHello and this MDC, physical network is establishedWhen standby mark is identical, determine that this MDC and neighbours MDC are positioned at the Same Physical network equipment; Otherwise,Determine that this MDC and neighbours MDC are not positioned at the Same Physical network equipment.
Described the second determination module, specifically for the neighbours of this MDC in described physical network device relativelyNumber and the neighbours number of other MDC in described physical network device;
When the neighbours number of this MDC in described physical network device is greater than other MDC at described Physical NetworkWhen neighbours in network equipment count, determine that this MDC is MPR in described physical network device;
When the neighbours number of this MDC in described physical network device is less than other MDC at described Physical NetworkWhen neighbours in network equipment count, determine that this MDC is SPR in described physical network device;
When the neighbours number of this MDC in described physical network device is maximum, and this MDC is at described physicsNeighbours' number in the network equipment equals the neighbours of other MDC in described physical network device while counting, relativelyThe ID of this MDC and the ID of other MDC;
In the time that the ID of this MDC is less than the ID of other MDC, determine that this MDC is at described physical networkIn equipment, be MPR; In the time that the ID of this MDC is greater than the ID of other MDC, determine that this MDC is in instituteState in physical network device is SPR.
Described the second processing module, specifically for utilizing the path jumping figure between this MDC and MPR trueDetermine upper this MDC route process switching not switch to other master control borad or to the upper routing daemon of this MDCWhen master control borad, this MDC of judging distance be n jump MDC on routing daemon with apart from this MDC be(n-1) whether the routing daemon on the MDC jumping is processed by same master control borad; Wherein, described nInitial value be the path jumping figure between this MDC and MPR; If so,, in the time of n=1, incite somebody to action thisRouting daemon on MDC is switched on other master control borad; As n > 1 time, the route on this MDC is enteredJourney is switching main-control board not; If not,, in the time of n=1, the routing daemon on this MDC is not switched to master controlPlate; As n > 1 time, determine n=n-1, the value of the n based on redefining, continue to carry out judging distance thisMDC be n jump MDC on routing daemon with apart from this MDC for (n-1) jump MDC onThe process whether routing daemon is processed by same master control borad.
Described the second processing module, being further used for working as this MDC place physical network device is stack equipmentTime, the routing daemon on this MDC is switched on the master control borad of other stacking physical network device;
In the time that this MDC place physical network device is not stack equipment, by the routing daemon on this MDCBe switched on other master control borad of described physical network device.
Also comprise maintenance module, establish for being positioned at Same Physical network at definite this MDC and neighbours MDCAfter standby, start neighbours and detect timer, and before described neighbours detect timer expiry, with neighboursMDC has carried the DMN message of neighbor state information alternately; Described neighbor state information comprises: neighboursRoute on neighbours' number of ID, the neighbours MDC of MDC in described physical network device, neighbours MDCPath jumping figure between the neighbours MDC of master control borad information, neighbours MDC and this neighbours MDC of process;
In the time of the DMN message of receiving from neighbours MDC, based on described neighbours detect timer expiry itBefore the DMN message received, utilize the neighbor state maintenance of information MDC neighbours that carry in DMN messageTable; In described MDC neighbor table, record ID, the neighbours MDC of following information: this MDC ID,The neighbor information of this MDC in described physical network device, neighbours MDC are at described physical network deviceIn the master control borad information, neighbours MDC of the upper routing daemon of neighbor information, this MDC on routing daemonPath jumping figure in master control borad information, this MDC and described physical network device between other MDC.
Compared with prior art, the embodiment of the present invention at least has the following advantages: in the embodiment of the present invention,By the routing daemon of adjacent MDC is run on different master control borads and processed, there is event at master control boradWhen barrier (causing the generation of masterslave switchover), can avoid GR to process unsuccessfully, GR can process successfully,Greatly improve network reliability; And by the routing daemon of adjacent MDC is run to different master controlsOn plate, process, make the distributed operation of routing daemon, can also improve the utilization rate of device resource.
Detailed description of the invention
For problems of the prior art, it is a kind of based on virtual network device that the embodiment of the present invention providesRouting daemon management method, be applied to multiple MDC(logical network equipment that is virtualized into) Physical NetworkIn network equipment, and for routing daemon (as the GR process of ospf protocol) is managed; With Fig. 1For the application scenarios schematic diagram of the embodiment of the present invention, physical network device is virtualized into MDC1, MDC2And MDC3; Neighbours MDC each other between MDC1 and MDC2, between MDC2 and MDC3 each otherNeighbours MDC.
Based on above-mentioned application scenarios, as shown in Figure 2, should manage based on the routing daemon of virtual network deviceMethod comprises the following steps:
Step 201, MDC determines that this MDC and neighbours MDC are positioned at the Same Physical network equipment.
In the embodiment of the present invention, by enable mdcdetectenable order in routing daemon, make roadBy process enable MDC neighbor state measuring ability (if move multiple routing daemons in MDC, can be oftenIn individual routing daemon, enable MDC neighbor state measuring ability); Detect merit based on this MDC neighbor stateCan, after routing neighbor relation enters stable state, between MDC and neighbours MDC, will start mutual DMN(DetectMDCNeighbor, MDC neighbours detect) hello packet, and this DMNHello reportLiterary composition has carried the mark of the affiliated physical network device of neighbours MDC; As the Fabrictag of DMNHello message(structure label) field has been carried the mark of the affiliated physical network device of neighbours MDC.
Further, MDC, after the DMNHello message of receiving from neighbours MDC, checks DMNPhysics under the mark of the physical network device carrying in the Fabrictag field of hello packet and this MDCWhether the mark of the network equipment is identical; When the mark and this of the physical network device carrying in DMNHelloWhen under MDC, the mark of physical network device is identical, MDC determines that this MDC and neighbours MDC are positioned atThe Same Physical network equipment, continues to carry out subsequent step; Otherwise, determine this MDC and neighbours MDC notBe positioned at the Same Physical network equipment, directly abandon this DMNHello message, be left intact.
Under the application scenarios shown in Fig. 1, MDC1 is at the DMNHello message of receiving from MDC2After, determine that this MDC1 and neighbours MDC2 are positioned at the Same Physical network equipment; MDC2 receive fromAfter the DMNHello message of MDC1, determine that this MDC2 and neighbours MDC1 are positioned at Same Physical networkEquipment; MDC2, after the DMNHello message of receiving from MDC3, determines this MDC2 and neighboursMDC3 is positioned at the Same Physical network equipment; MDC3 is at the DMNHello message of receiving from MDC2After, determine that this MDC3 and neighbours MDC2 are positioned at the Same Physical network equipment.
Step 202, MDC in the time that definite this MDC and neighbours MDC are positioned at the Same Physical network equipment,Determine that this MDC is MPR(MasterProcessRouter in physical network device, major state processRouter) or SPR(SlaveProcessRouter, from state course router); Wherein, ifMDC is MPR, performs step 203; If MDC is SPR, perform step 204.
In a kind of preferred embodiment of the embodiment of the present invention, MDC can be based on each MDC at Physical NetworkNeighbours' number in network equipment and ID size determine that this MDC is MPR or SPR; Concrete, MDCRelatively the neighbours number of this MDC in physical network device and other MDC are in physical network deviceNeighbours' number; When being greater than other MDC, establish at physical network neighbours' number of this MDC in physical network deviceWhen neighbours in standby count, MDC determines that this MDC is MPR in physical network device; As this MDCNeighbours' number in physical network device is less than the neighbours of other MDC in physical network device while counting,MDC determines that this MDC is SPR in physical network device; When this MDC is in physical network deviceNeighbours' number maximum, and the neighbours number of this MDC in described physical network device equals other MDC and existsWhen neighbours in physical network device count, MDC is the ID of this MDC and the ID of other MDC relatively;In the time that the ID of this MDC is less than the ID of other MDC, MDC determines that this MDC establishes at physical networkIn standby, be MPR; In the time that the ID of this MDC is greater than the ID of other MDC, MDC determines this MDCIn physical network device, be SPR.
Under the application scenarios shown in Fig. 1, the neighbours number (be 1) of MDC1 in physical network device is littleNeighbours' number (being 2) in MDC2 in physical network device, therefore MDC1 determines that this MDC1 existsIn physical network device, be SPR; The neighbours number (be 1) of MDC3 in physical network device is less than MDC2Neighbours' number in physical network device, therefore MDC3 determines that this MDC3 is in physical network deviceSPR; The neighbours number of MDC2 in physical network device is greater than MDC1 and MDC3 establishes at physical networkNeighbours' number in standby, therefore MDC2 determines that this MDC2 is MPR in physical network device.
Step 203, MDC is to the upper not switching main-control board of routing daemon of this MDC, process ends.
Under the application scenarios shown in Fig. 1, MDC2 at definite this MDC2 is in physical network deviceAfter MPR, to not switching main-control board of routing daemon, still by master control borad 1 to the route on MDC2Process is processed, and does not need the routing daemon on MDC2 to be switched on other master control borad.
Step 204, MDC judges that this MDC and MPR(are MDC2) between whether be neighbours MDC;If so, perform step 205; If not, perform step 206.
Under the application scenarios shown in Fig. 1, MDC1 at definite this MDC1 is in physical network deviceAfter SPR, judge between MDC1 and MDC2 whether be neighbours MDC; Now judged result is yes,Execution step 205; MDC3, after definite this MDC3 is SPR in physical network device, judgesBetween MDC3 and MDC2, whether be neighbours MDC; Now judged result is yes, execution step 205;Suppose in physical network device, also to have MDC4, this MDC4 and MDC1 be neighbours MDC each other,MDC4 is after definite this MDC4 is SPR in physical network device, judge MDC4 withBetween MDC2, whether be neighbours MDC; Now judged result is no, execution step 206.
Step 205, when the upper routing daemon of routing daemon and MPR on MDC is by same master control borad placeWhen reason, MDC goes up route process switching to other master control borad by this MDC.
Concrete, in the time being neighbours MDC between this MDC and MPR, MDC need to judge this MDCWhether the upper routing daemon of upper routing daemon and MPR is processed by same master control borad; When this MDC sets out on a journeyWhile processing by same master control borad by process and the upper routing daemon of MPR, MDC need to be by this MDCUpper route process switching is to other master control borad; When the upper routing daemon of this MDC and the upper routing daemon of MPRBe not while being processed by same master control borad, MDC is to the upper not switching main-control board of routing daemon of this MDC.
Under the application scenarios shown in Fig. 1, MDC1 need to judge the upper routing daemon of MDC1 and MDC2Whether upper routing daemon is processed by same master control borad; Suppose that the upper routing daemon of MDC1 is by master control borad 1Process, need upper MDC1 route process switching to other master control borad 2; Suppose MDC1Upper routing daemon is processed by master control borad 2, does not need the routing daemon on MDC1 to be switched to itOn its master control borad. MDC3 need to judge the upper routing daemon of MDC3 and MDC2 go up routing daemon whether bySame master control borad is processed; Suppose that on MDC3, routing daemon is processed by master control borad 1, needUpper MDC3 route process switching, to other master control borad 2, is supposed to the upper routing daemon of MDC3 is by master controlPlate 2 is processed, and does not need the routing daemon on MDC3 to be switched on other master control borad.
Step 206, MDC utilizes the path jumping figure between this MDC and MPR to determine on this MDCRouting daemon is switched on other master control borad or to the upper not switching main-control board of routing daemon of this MDC.
In a kind of preferred embodiment of the embodiment of the present invention, MDC utilizes between this MDC and MPRPath jumping figure determine upper this MDC route process switching to other master control borad or on this MDCRouting daemon is switching main-control board not, specifically comprises the following steps:
Step 1, this MDC of MDC judging distance be n jump MDC on routing daemon with distance thisMDC for (n-1) jump MDC on routing daemon whether processed by same master control borad; IfTo perform step 2; If not, perform step 3.
In the embodiment of the present invention, the initial value of n is the path jumping figure between this MDC and MPR.
Step 2, in the time of n=1, MDC is switched to the routing daemon on this MDC on other master control borad;As n > 1 time, MDC is to not switching main-control board of the routing daemon on this MDC.
Step 3, in the time of n=1, MDC is to not switching main-control board of the routing daemon on this MDC; Work as n > 1Time, MDC determines n=n-1, the value of the n based on redefining, and MDC continues execution step 1.
Under the application scenarios shown in Fig. 1, suppose also to exist MDC4 in physical network device, and shouldMDC4 and MDC1 be neighbours MDC each other, and needing judging distance MDC4 based on this MDC4 is 2 jumpingsRouting daemon on the MDC2 of (the path jumping figure between MDC4 and MDC2) and MDC1 Shang roadWhether processed by same master control borad by process; Now the routing daemon on MDC2 is (by master control borad1 processes) processed by different master control borads from the routing daemon (being processed by master control borad 2) on MDC1,And n=2, therefore MDC4 determines n=n-1, the value of the n redefining is 1.
Afterwards, to need judging distance MDC4 be routing daemon and the distance on the MDC1 of 1 jumping to MDC4MDC4 is whether the routing daemon on the MDC4 of 0 jumping is processed by same master control borad; Suppose MDC1On routing daemon (being processed by master control borad 2) and MDC4 on routing daemon entered by same master control boradRow is processed, and due to n=1, therefore needs the routing daemon on MDC4 to be switched on other master control borad;Suppose that the routing daemon on MDC1 processed by different master control borads from the routing daemon on MDC4,Due to n=1, therefore do not need the routing daemon on MDC4 to be switched on other master control borad.
In the embodiment of the present invention, MDC is switched to the routing daemon on this MDC on other master control borad,Specifically include but not limited to following mode: in the time that this MDC place physical network device is stack equipment, shouldMDC need to be switched to the routing daemon on this MDC the master control borad of other stacking physical network deviceOn; In the time that this MDC place physical network device is not stack equipment, this MDC need to be by this MDCOn routing daemon be switched on other master control borad of this physical network device.
In the embodiment of the present invention, when there being new master control borad insert or have master control borad split on physical network deviceWhile removing, can trigger above-mentioned handling process, at this, it is no longer repeated.
For above-mentioned handling process, in order to make each MDC know that neighbours MDC is in physical network deviceThe master control borad information of routing daemon on ID, the neighbours MDC of neighbours' number, neighbours MDC, this MDC andThe information such as the path jumping figure in physical network device between other MDC; In the embodiment of the present invention, MDCAfter definite this MDC and neighbours MDC are positioned at the Same Physical network equipment, can also start neighbours' inspectionSurvey timer, and before neighbours detect timer expiry, carried alternately neighbor state with neighbours MDCThe DMN message of information; Wherein, this neighbor state information specifically includes but not limited to: neighbours MDC'sThe master control borad of routing daemon on neighbours' number in physical network device of ID, neighbours MDC, neighbours MDCPath jumping figure between the neighbours MDC of information, neighbours MDC and this neighbours MDC etc.
MDC, in the time of the DMN message of receiving from neighbours MDC, detects timer expiry based on neighboursBefore the DMN message received, can utilize the neighbor state maintenance of information MDC carrying in DMN messageNeighbor table; In this MDC neighbor table recorded information include but not limited to following information: this MDC ID,The neighbor information of ID, this MDC of neighbours MDC in physical network device, neighbours MDC are at physicsNeighbor information in the network equipment, master control borad information, the neighbours MDC of the upper routing daemon of this MDC set out on a journeyBy the path jumping figure between other MDC in master control borad information, this MDC and the physical network device of process.
Below in conjunction with the DMN message format shown in Fig. 3, DMN message is elaborated.
In the DMN message format shown in Fig. 3, being described in detail as follows of each field: Version(version):4 bits, 4forIPv4,6forIPv6; Type(type): 4 bits, 1 represents DMN message,Receive the packet loss of type non-1; Option(option): for subsequent expansion; SequenceNumber(sequence number): initial value is 1, if message content changes, sequence number adds 1; ConfirmSequenceNumber(confirms sequence number): initial value is 0, if receive the message of opposite end, corresponding sequence number is filled outEnter this field, received this message for noticing the other side self; Holdingtimer: suppress timer, useThe value of consulting to suppress timer between equipment, minimum of a value comes into force, and default value is 3 minutes; Detecttimer:Neighbours detect timer, for consulting the time of mutual DMN message, neighbours detect timer expiry itBefore do not carry out MPR election, get minimum of a value and come into force, default value is 2 minutes; Fabrictag: device identification,Be used for identifying whether the affiliated physical network device of MDC is Same Physical equipment, if the message Fabric receivingTag does not mate with this locality, will abandon this message and not process; MDCID: system is the volume that MDC distributesNumber; Runningstate: whether the state that current routing daemon moves, move for identifying routing daemonAt main control board; Neighbornumber:MDC has neighbours' number, for MPR election, neighbourOccupy the MDC that number is many and will become MPR; Role: role under current MDC, putting M is MPR, putsS is SPR; Hops: local MDC is to the jumping figure of neighbours MDC; IRFID: stack equipment stackingID; SlotID: the master control borad slot number of current device routing daemon operation; TLV: for carrying MDCNeighbor information, the neighbor information of learning from neighbours MDC is packaged into TLV.
In the embodiment of the present invention, to change in order getting rid of because network shakes the routing state causing, can first to openWith suppressing timer, if routing neighbor does not have down before inhibition timer expiry, send DMNMessage; In addition,, in the time that the neighbor information of MDC changes, can trigger DMN message and upgrade, MDCThe neighbor information of this MDC all need to be encapsulated into and in DMN message, send to directly-connected neighbor MDC.
Based on this, when initialization, in DMN message, only there is the neighbor information of MDC self, but along with studyNeighbours' number more and more, neighbours' neighbor information can be encapsulated in DMN message, by TLVGuarantee that eventually all MDC learn the neighbor information of all MDC in same physical network device.
In addition, DMN message need to have acknowledgement mechanism when mutual, often receives a DMN message,Can judge whether the other side has received according to the confirmation sequence-number field in this DMN message self sends outThe DMN message going, if the other side does not receive DMN message, can retransmit this DMN message.
Under the application scenarios shown in Fig. 1, send in the DMN message of MDC2 at MDC1, canCarry by MDCID field with the ID(that at least comprises MDC1), MDC1 is at physical network deviceIn neighbours' number (carrying by Neighbornumber field), the master control borad of the upper routing daemon of MDC1Jump in path between information (carrying by IRFID field and SlotID field), MDC1 and MDC2The information such as number (carrying by Hops field and TLV field). Send to MDC2's at MDC3In DMN message, can at least comprise that the ID(of MDC3 carries by MDCID field), MDC3Neighbours' number (carrying by Neighbornumber field) in physical network device, MDC3 set out on a journeyBy master control borad information (carrying by IRFID field and SlotID field), MDC3 and the MDC2 of processBetween the information such as path jumping figure (carrying by Hops field and TLV field).
Send in the DMN message of MDC1 at MDC2, can at least comprise that the ID(of MDC2 is logicalCrossing MDCID field carries), the neighbours number of MDC2 in physical network device (pass through NeighborNumber field is carried), the master control borad information of the upper routing daemon of MDC2 is (by IRFID field and SlotId field is carried), path jumping figure between MDC2 and MDC1 and the road between MDC2 and MDC3The information such as footpath jumping figure (carrying by Hops field and TLV field).
Send in the DMN message of MDC3 at MDC2, can at least comprise that the ID(of MDC2 is logicalCrossing MDCID field carries), the neighbours number of MDC2 in physical network device (pass through NeighborNumber field is carried), the master control borad information of the upper routing daemon of MDC2 is (by IRFID field and SlotId field is carried), path jumping figure between MDC2 and MDC1 and the road between MDC2 and MDC3The information such as footpath jumping figure (carrying by Hops field and TLV field).
Below in conjunction with the MDC neighbor table shown in table 1, (this MDC neighbor table is used for safeguarding MDC neighboursRelation) maintenance process of MDC neighbor table is elaborated.
Table 1
MDC ID |
Neighbor ID |
Running state |
Hops |
Role |
IRF ID |
Slot ID |
|
|
|
|
|
|
|
In the MDC neighbor table shown in table 1, shown in being described in detail as follows of each field: MDCID:The MDCID that study is arrived; NeighborID: corresponding neighbours MDCID; Runningstate:MDCOn routing daemon running status; Hops: the jumping figure of the local MDC arriving to study; Role:MDCOperation role; IRFID: if stacking, the frame number at expression neighbours' routing daemon place, if unit ringBorder, this is empty; SlotID: neighbours move the slot number at routing daemon master control place.
MDC, after definite this MDC and neighbours MDC are positioned at the Same Physical network equipment, starts adjacentOccupy and detect timer (Detecttimer), before neighbours detect timer expiry, need to continue at MDCBetween mutual DMN message, to guarantee that each MDC can collect complete neighbor information, and Maintenance Table 1Shown MDC neighbor table; After neighbours detect timer expiry, will enter the MPR election stage.
In MDC neighbor table, when original state, Role item is empty, finishes it in the MPR election stageAfter, if MDC is become MPR by election, need the Role item in MDC neighbor table to put M;If MDC is become SPR by election, need the Role item in MDC neighbor table to put S.
In addition, safeguarding that, in the process of MDC neighbor table, MDC neighbor table depends on route running status,If because fault causes routing neighbor down, need corresponding list item in MDC neighbor table to empty;And in the time not enabling MDC neighborhood measuring ability, corresponding MDC neighbor table is empty.
Under the application scenarios shown in Fig. 1, MDC1 is upper by the MDC neighbor table shown in Maintenance Table 2, shouldThe learning process of MDC neighbor table is as follows: first MDC1 learns MDC1, the neighbours of this MDC1MDC is MDC2, and secondly study is to MDC2, and the neighbours MDC of this MDC2 is MDC1 and MDC3,Secondly study is to MDC3, and the neighbours MDC of this MDC3 is MDC2.
Table 2
Based on MDC neighbor table, MDC1 obtains the neighbours MDC that the ID of this MDC is 1, MDC1ID be that the neighbours number of 2, MDC1 in physical network device is that 1(is MDC2), MDC1 sets out on a journeyBe master control borad 1 by the master control borad of process; The ID of the neighbours MDC of MDC2 be 1 and 3, MDC2 at thingNeighbours' number in the reason network equipment is that 2(is MDC1 and MDC3), the road between MDC2 and MDC1Footpath jumping figure is that the master control borad of the upper routing daemon of 1, MDC2 is master control borad 1; The neighbours MDC's of MDC3ID is that the neighbours number of 2, MDC3 in physical network device is that 1(is MDC2), MDC3 and MDC1Between path jumping figure be that the master control borad of the upper routing daemon of 2, MDC2 is master control borad 1.
Under the application scenarios shown in Fig. 1, MDC2 is upper by the MDC neighbor table shown in Maintenance Table 3, shouldThe learning process of MDC neighbor table is as follows: first MDC2 learns MDC2, the neighbours of this MDC2MDC is MDC1 and MDC3, and secondly study is to MDC1, and the neighbours MDC of this MDC1 is MDC2,Secondly study is to MDC3, and the neighbours MDC of this MDC3 is MDC2.
Table 3
Based on MDC neighbor table, MDC2 obtains the neighbours MDC that the ID of this MDC is 2, MDC2ID be 1 and the neighbours number of 3, MDC2 in physical network device be that 2(is MDC1 and MDC3),The master control borad of the upper routing daemon of MDC2 is master control borad 1; The ID of the neighbours MDC of MDC1 is 2, MDC1Neighbours' number in physical network device is that 1(is MDC2), jump in the path between MDC1 and MDC2Number is that the master control borad of the upper routing daemon of 1, MDC1 is master control borad 1; The ID of the neighbours MDC of MDC3 isThe neighbours number of 2, MDC3 in physical network device is that 1(is MDC2), MDC3 and MDC2 itBetween path jumping figure be that the master control borad of the upper routing daemon of 1, MDC3 is master control borad 1.
Under the application scenarios shown in Fig. 1, MDC3 is upper by the MDC neighbor table shown in Maintenance Table 4, shouldThe learning process of MDC neighbor table is as follows: first MDC3 learns MDC3, the neighbours of this MDC3MDC is MDC2, and secondly study is to MDC2, and the neighbours MDC of this MDC2 is MDC1 and MDC3,Secondly study is to MDC1, and the neighbours MDC of this MDC1 is MDC2.
Table 4
Based on MDC neighbor table, MDC3 obtains the neighbours MDC that the ID of this MDC is 3, MDC3ID be that the neighbours number of 2, MDC3 in physical network device is that 1(is MDC2), MDC3 sets out on a journeyBe master control borad 1 by the master control borad of process; The ID of the neighbours MDC of MDC2 be 1 and 3, MDC2 at thingNeighbours' number in the reason network equipment is that 2(is MDC1 and MDC3), the road between MDC2 and MDC3Footpath jumping figure is that the master control borad of the upper routing daemon of 1, MDC2 is master control borad 1; The neighbours MDC's of MDC1ID is that the neighbours number of 2, MDC1 in physical network device is that 1(is MDC2), MDC1 and MDC3Between path jumping figure be that the master control borad of the upper routing daemon of 2, MDC1 is master control borad 1.
Along with the development of cloud computing, the scale of data center, will by use MDC technology by increasingA physical network device is divided into the Different Logic network equipment, to bear respectively core and while converging role,If dispose OSPF in network, because ospf neighbor is out virtual by same physical network device, therefore, in the time that master control borad fault causes masterslave switchover occurs, will there is the situation of OSPFGR failure.
Based on this, in the embodiment of the present invention, by election MPR and SPR, in conjunction with distributed process optimizationFunction, the routing daemon that ensures adjacent MDC runs on different master control borads to be processed, and sends out at master control boradWhen raw fault (causing the generation of masterslave switchover), can avoid GR to process unsuccessfully, greatly improve netNetwork reliability; And by the routing daemon of adjacent MDC is run on different master control borads and processed,Make the distributed operation of routing daemon, can also improve the utilization rate of device resource.
Based on the inventive concept same with said method, a kind of many tenants in the embodiment of the present invention, are also providedFacility environment MDC, is applied in the physical network device that is virtualized into multiple MDC, as shown in Figure 4,Described MDC specifically comprises:
The first determination module 11, for determining that this MDC and neighbours MDC are positioned at the Same Physical network equipment;
The second determination module 12, in the time that this MDC and neighbours MDC are positioned at the Same Physical network equipment,Determine be main state process router MPR or enter from state of this MDC in described physical network deviceJourney router SPR;
The first processing module 13 is for when this MDC is in the time that described physical network device is MPR, rightThe upper not switching main-control board of routing daemon of this MDC;
The second processing module 14, for when this MDC is in the time that described physical network device is SPR, sentencesBetween disconnected this MDC and MPR, whether be neighbours; If so, as the upper routing daemon of this MDC and MPRWhen upper routing daemon is processed by same master control borad, upper this MDC route process switching is arrived to other master controlOn plate; If not, utilizing path jumping figure between this MDC and MPR to determine sets out on a journey this MDCTo other master control borad or to this MDC, go up not switching main-control board of routing daemon by process switching.
Described the first determination module 11, detects specifically for receiving from the MDC neighbours of neighbours MDCDMNHello message, described DMNHello message has carried the affiliated physical network device of neighbours MDCMark; Thing under the mark of the physical network device carrying in described DMNHello and this MDCThe mark of the reason network equipment when identical, determines that this MDC and neighbours MDC are positioned at the Same Physical network equipment;Otherwise, determine that this MDC and neighbours MDC are not positioned at the Same Physical network equipment.
Described the second determination module 12, specifically for this MDC relatively in described physical network deviceNeighbours' number and other MDC neighbours' number in described physical network device;
When the neighbours number of this MDC in described physical network device is greater than other MDC at described Physical NetworkWhen neighbours in network equipment count, determine that this MDC is MPR in described physical network device;
When the neighbours number of this MDC in described physical network device is less than other MDC at described Physical NetworkWhen neighbours in network equipment count, determine that this MDC is SPR in described physical network device;
When the neighbours number of this MDC in described physical network device is maximum, and this MDC is at described physicsNeighbours' number in the network equipment equals the neighbours of other MDC in described physical network device while counting, relativelyThe ID of this MDC and the ID of other MDC;
In the time that the ID of this MDC is less than the ID of other MDC, determine that this MDC is at described physical networkIn equipment, be MPR; In the time that the ID of this MDC is greater than the ID of other MDC, determine that this MDC is in instituteState in physical network device is SPR.
Described the second processing module 14, specifically for the path jumping figure utilizing between this MDC and MPRDetermine upper this MDC route process switching is not cut to other master control borad or to the upper routing daemon of this MDCWhile changing master control borad, this MDC of judging distance be n jump MDC on routing daemon with apart from this MDCFor whether the routing daemon on the MDC of (n-1) jumping is processed by same master control borad; Wherein, instituteThe initial value of stating n is the path jumping figure between this MDC and MPR; If so, in the time of n=1,Routing daemon on this MDC is switched on other master control borad; As n > 1 time, to BenMDCShang roadBy not switching main-control board of process; If not,, in the time of n=1, the routing daemon on this MDC is not switchedMaster control borad; As n > 1 time, determine n=n-1, the value of the n based on redefining, continues to carry out and judges distanceFrom this MDC be n jump MDC on routing daemon with apart from this MDC for (n-1) jump MDCOn the process whether processed by same master control borad of routing daemon.
Described the second processing module 14, it is stacking being further used for working as this MDC place physical network deviceWhen equipment, the routing daemon on this MDC is switched to the master control borad of other stacking physical network deviceOn; In the time that this MDC place physical network device is not stack equipment, by the routing daemon on this MDCBe switched on other master control borad of described physical network device.
This MDC also comprises: maintenance module 15, and same for being positioned at definite this MDC and neighbours MDCAfter one physical network device, start neighbours and detect timer, and detect timer expiry described neighboursBefore, carried alternately the DMN message of neighbor state information with neighbours MDC; Described neighbor state letterBreath comprises: neighbours number, the neighbours of ID, the neighbours MDC of neighbours MDC in described physical network deviceBetween the neighbours MDC of master control borad information, neighbours MDC and this neighbours MDC of the upper routing daemon of MDCPath jumping figure; In the time of the DMN message of receiving from neighbours MDC, detect timing based on described neighboursThe DMN message of receiving before device is overtime, utilizes the neighbor state maintenance of information of carrying in DMN messageMDC neighbor table; In described MDC neighbor table, record ID, the neighbours MDC of following information: this MDCID, this MDC in described physical network device neighbor information, neighbours MDC at described physical networkOn neighbor information in equipment, the master control borad information of the upper routing daemon of this MDC, neighbours MDC, route is enteredPath jumping figure in master control borad information, this MDC and the described physical network device of journey between other MDC.
Wherein, the modules of apparatus of the present invention can be integrated in one, and also can separate deployment. Above-mentionedModule can be merged into a module, also can further split into multiple submodules.
Through the above description of the embodiments, those skilled in the art can be well understood to thisThe mode that invention can add essential general hardware platform by software realizes, can certainly be by hardPart, but in a lot of situation, the former is better embodiment. Based on such understanding, skill of the present inventionThe part that art scheme contributes to prior art in essence in other words can be with the form body of software productReveal to come, this computer software product is stored in a storage medium, comprise some instructions with so thatComputer equipment (can be personal computer, server, or the network equipment etc.) is carried outMethod described in each embodiment of the present invention.
It will be appreciated by those skilled in the art that accompanying drawing is the schematic diagram of a preferred embodiment, in accompanying drawingModule or flow process might not be implement the present invention necessary.
It will be appreciated by those skilled in the art that the module in the device in embodiment can retouch according to embodimentState in the device that is distributed in embodiment, also can carry out respective change and be positioned at and be different from the present embodimentOne or more devices in. The module of above-described embodiment can be merged into a module, also can enterOne step splits into multiple submodules.
The invention described above embodiment sequence number, just to describing, does not represent the quality of embodiment.
Disclosed is above only several specific embodiment of the present invention, and still, the present invention is not limited toThis, the changes that any person skilled in the art can think of all should fall into protection scope of the present invention.