Re: Proposal for Maintenance Event for VRRP [RFC-5798]
"Anurag Kothari (ankothar)" <[email protected]> Thu, 28 Feb 2013 20:01:29 +0000
| Newsgroups | gmane.ietf.vrrp |
|---|---|
| Message-ID | <[email protected]> |
--===============0850431306533674323== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_A2BB90B33FFDF740876C5AAE307D83DB1C295D1Cxmbrcdx05ciscoc_" --_000_A2BB90B33FFDF740876C5AAE307D83DB1C295D1Cxmbrcdx05ciscoc_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Sreenatha Totally agree with your observation. Also as pointed out by some other participants the additional backup router= in my original analysis will never become master on seeing the first ADVER= TISEMENT with priority zero as it will keep resetting it's Master_Down_Time= r to Skew_Time in the storm of ADVERTISEMENTs with zero priority and the Ma= ster_Down_Timer will never fire for the additional backup router. Thanks -Anurag P.S. Noticed the typos: the additional lines in my email should be numbered= 706 and 707 (instead of 701 and 702) and probably yours should be 426 and = 427 (instead of 421 and 422). From: sreenatha [mailto:[email protected]] Sent: Thursday, February 28, 2013 11:39 AM To: [email protected] Cc: Anurag Kothari (ankothar) Subject: Re: Proposal for Maintenance Event for VRRP [RFC-5798] Hi Anurag, Modification to algorithm is correct. But this modification is taking c= are only when Router is in Master state. What about if Backup router(priority value is zero) receives ADVERTISEMENT = message with priority value as zero? Same condition we will consider, where both VRRP routers priority is set to= zero, and both sending ADVERTISEMENT messages with priority as zero. Accor= ding to new modification any one router, lets take "Router A", will remain = in Master state and other router, lets say "Router B", will transit to Back= up state. Now according to RFC-5798: When "Router B" is in Backup state, (420) - If an ADVERTISEMENT is received, then: (425) + If the Priority in the ADVERTISEMENT is zero, then: (430) * Set the Master_Down_Timer to Skew_Time (440) + else // priority non-zero So this lead to Master_Down_Timer to expire soon. Again in Backup state, (365) - If the Master_Down_Timer fires, then: (370) + Send an ADVERTISEMENT | | ... (405) + Set the Adver_Timer to Advertisement_Interval (410) + Transition to the {Master} state (415) -endif // Master_Down_Timer fire So this lead to continuous switch over from Backup to Master state and vice= verse state transitions in "Router B". To avoid this condition, In Backup state also we need to do modification. Same as you suggested in M= aster state, same extra condition we need to check in Backup state also. Modifications in Backup state as follows(Differences from RFC-5798 highligh= ted with Underline): (420) - If an ADVERTISEMENT is received, then: (425) + If the Priority in the ADVERTISEMENT is zero, (421) -+ and (422) -+ Local Priority is greater than zero, then: (430) * Set the Master_Down_Timer to Skew_Time (440) + else // priority non-zero or local-priority is zero (Continue other logic) This will avoid state-transition flip-flap problem in "Router B". Thanks, Sreenatha Setty On 02/27/2013 01:30 AM, [email protected]<mailto:[email protected]>= wrote: Some concerns have been raised regarding the following situation / Corner C= ase: Due to congestion or some other fault in the network the ADVERTISEMENTs fro= m the Master router do not reach backup router(s). The Master_Down_timer fi= res and one of the back router transitions to Master State at the same time= the priority of this router and the original Master is set to zero. How wo= uld the network behave in this case? For sure the probability of this happening would be very low (as it is a do= uble/multiple fault situation). Here is my analysis of the situation and so= lution for the same. We will have two Master routers both sending ADVERTISEMENTs with Priority = =3D 0. This will create a vicious circle of sending ADVERTISEMENTs (one rou= ter triggering the other) at a fast rate. This would also cause the Virtual= MAC to shuttle continuously between two ports on the switch(es) at a fast = rate. Both of these can probably cause high CPU utilization on the router a= nd the LAN Switches. If there is an additional backup router available then it will become maste= r on seeing the first Advertisement with Priority =3D 0 and both the Master= s (with priority =3D 0) will transition to Backup on seeing the advertiseme= nt with non-zero priority from the new Master. For the situation where we do not have an additional backup router we can a= void this by making following modifications (Differences from RFC-5798 high= lighted in RED): (700) - If an ADVERTISEMENT is received, then: (705) -+ If the Priority in the ADVERTISEMENT is zero, (701) -+ and (702) -+ Local Priority is greater than zero, then: (710) -* Send an ADVERTISEMENT (715) -* Reset the Adver_Timer to Advertisement_Interval (720) -+ else // priority was non-zero or local priority was zero (725) -* If the Priority in the ADVERTISEMENT is greater than the local Priority, (730) -* or (735) -* If the Priority in the ADVERTISEMENT is equal to the local Priority and the primary IPvX Address of the sender is greater than the local primary IPvX Address, then: (740) -@ Cancel Adver_Timer (745) -@ Set Master_Adver_Interval to Adver Interval contained in the ADVERTISEMENT (750) -@ Recompute the Skew_Time (755) @ Recompute the Master_Down_Interval (760) @ Set Master_Down_Timer to Master_Down_Interval (765) @ Transition to the {Backup} state (770) * else // new Master logic (775) @ Discard ADVERTISEMENT (780) *endif // new Master detected (785) +endif // was priority zero? (790) -endif // advert recv Please let me know if I have missed something. Thanks -Anurag -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.ietf.org/mail-archive/web/vrrp/attachments/20130226/cc6018= e8/attachment.htm><http://www.ietf.org/mail-archive/web/vrrp/attachments/20= 130226/cc6018e8/attachment.htm> ------------------------------ _______________________________________________ vrrp mailing list [email protected]<mailto:[email protected]> https://www.ietf.org/mailman/listinfo/vrrp End of vrrp Digest, Vol 81, Issue 10 ************************************ Disclaimer : This email communication may contain privileged and confidential informatio= n and is intended for the use of the addressee only.If you are not an inten= ded recipient you are requested not to reproduce, copy disseminate or in an= y manner distribute this email communication as the same is strictly prohib= ited. If you have received this email in error, please notify the sender im= mediately by return e-mail and delete the communication sent in error. Emai= l communications cannot be guaranteed to be secure & error free and IB Tech= nology is not liable for any errors in the email communication or for the p= roper, timely and complete transmission thereof. --_000_A2BB90B33FFDF740876C5AAE307D83DB1C295D1Cxmbrcdx05ciscoc_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= > <meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} @font-face {font-family:Consolas; panose-1:2 11 6 9 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif"; color:black;} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} p {mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; font-size:12.0pt; font-family:"Times New Roman","serif"; color:black;} pre {mso-style-priority:99; mso-style-link:"HTML Preformatted Char"; margin:0in; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New"; color:black;} tt {mso-style-priority:99; font-family:"Courier New";} span.HTMLPreformattedChar {mso-style-name:"HTML Preformatted Char"; mso-style-priority:99; mso-style-link:"HTML Preformatted"; font-family:Consolas; color:black;} span.EmailStyle21 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">Hi Sreenatha<o:p></o:p></= span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">Totally agree with your o= bservation.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">Also as pointed out by so= me other participants the additional backup router in my original analysis = will never become master on seeing the first ADVERTISEMENT with priority zero as it will keep resetting it’s Master_Down_Timer = to Skew_Time in the storm of ADVERTISEMENTs with zero priority and the Mast= er_Down_Timer will never fire for the additional backup router.<o:p></o:p><= /span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">Thanks<o:p></o:p></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">-Anurag <o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D">P.S. Noticed the typos: t= he additional lines in my email should be numbered 706 and 707 (instead of = 701 and 702) and probably yours should be 426 and 427 (instead of 421 and 422).<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D"><o:p> </o:p></span><= /p> <div> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in"> <p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:"= ;Tahoma","sans-serif";color:windowtext">From:</span></b><spa= n style=3D"font-size:10.0pt;font-family:"Tahoma","sans-serif= ";color:windowtext"> sreenatha [mailto:[email protected]= m] <br> <b>Sent:</b> Thursday, February 28, 2013 11:39 AM<br> <b>To:</b> [email protected]<br> <b>Cc:</b> Anurag Kothari (ankothar)<br> <b>Subject:</b> Re: Proposal for Maintenance Event for VRRP [RFC-5798]<o:p>= </o:p></span></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <div> <div> <p class=3D"MsoNormal"><tt><span style=3D"font-size:10.0pt">Hi Anurag,</spa= n></tt><span style=3D"font-size:10.0pt;font-family:"Courier New""= ><br> <tt> Modification to algorithm is correct. But this modif= ication is taking care only when Router is in Master state.</tt><br> <tt>What about if Backup router(priority value is zero) receives ADVERTISEM= ENT message with priority value as zero?</tt><br> <br> <tt>Same condition we will consider, where both VRRP routers priority is se= t to zero, and both sending ADVERTISEMENT messages with priority as zero. A= ccording to new modification any one router, lets take "Router A"= , will remain in Master state and other router, lets say "Router B", will transit to Backup state.</tt><br> <br> <tt>Now according to RFC-5798:</tt><br> <tt>When "Router B" is in Backup state,</tt></span><o:p></o:p></p= > <pre>(420) - If an ADVERTISEMENT is received, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (425) + If the Pr= iority in the ADVERTISEMENT is zero, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (43= 0) * Set the Master_Down_Timer to Skew_Time<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (440) + else // p= riority non-zero<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>So this lead to Master_Down_Timer to expire soon. <o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>Again in Backup state,<o:p></o:p></pre> <pre>(365) - If the Master_Down_Timer fires, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (370) + Send an A= DVERTISEMENT<o:p></o:p></pre> <pre> &nb= sp; |<o:p></o:p></pre> <pre> &nbs= p; |<o:p></o:p></pre> <pre> &nbs= p; ...<o:p></o:p></pre> <pre> &nbs= p; <o:p></o:p></pre> <pre> (405) + Set = the Adver_Timer to Advertisement_Interval<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (410) + Transitio= n to the {Master} state<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>(415) -endif // Master_Down_Timer fire<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>So this lead to continuous switch over from Backup to Master state and= vice verse state transitions in "Router B".<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>To avoid this condition,<o:p></o:p></pre> <pre>In Backup state also we need to do modification. Same as you suggested= in Master state, same extra condition we need to check in Backup state als= o.<o:p></o:p></pre> <pre>Modifications in Backup state as follows(Differences from RFC-5798 hig= hlighted with Underline):<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre><o:p> </o:p></pre> <pre>(420) - If an ADVERTISEMENT is received, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (425) + If the Pr= iority in the ADVERTISEMENT is zero, <o:p></o:p></pre> <pre> <o:p></o:p></pre= > <pre> <u>(421) -+ = and</u><o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> <u>(422) -+ Local= Priority is greater than zero, then:</u><o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (43= 0) * Set the Master_Down_Timer to Skew_Time<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (440) + else // p= riority non-zero or local-priority is zero<o:p></o:p></pre> <pre> &nbs= p; (Continue other logic)<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>This will avoid state-transition flip-flap problem in "Router B&q= uot;.<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>Thanks,<o:p></o:p></pre> <pre>Sreenatha Setty<o:p></o:p></pre> <pre><o:p> </o:p></pre> <p class=3D"MsoNormal"><br> On 02/27/2013 01:30 AM, <a href=3D"mailto:[email protected]">vrrp-reque= [email protected]</a> wrote:<o:p></o:p></p> </div> <blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt"> <pre>Some concerns have been raised regarding the following situation / Cor= ner Case:<o:p></o:p></pre> <pre>Due to congestion or some other fault in the network the ADVERTISEMENT= s from the Master router do not reach backup router(s). The Master_Down_tim= er fires and one of the back router transitions to Master State at the same= time the priority of this router and the original Master is set to zero. H= ow would the network behave in this case?<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>For sure the probability of this happening would be very low (as it is= a double/multiple fault situation). Here is my analysis of the situation a= nd solution for the same.<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>We will have two Master routers both sending ADVERTISEMENTs with Prior= ity =3D 0. This will create a vicious circle of sending ADVERTISEMENTs (one= router triggering the other) at a fast rate. This would also cause the Vir= tual MAC to shuttle continuously between two ports on the switch(es) at a f= ast rate. Both of these can probably cause high CPU utilization on the rout= er and the LAN Switches.<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>If there is an additional backup router available then it will become = master on seeing the first Advertisement with Priority =3D 0 and both the M= asters (with priority =3D 0) will transition to Backup on seeing the advert= isement with non-zero priority from the new Master.<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>For the situation where we do not have an additional backup router we = can avoid this by making following modifications (Differences from RFC-5798= highlighted in RED):<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>(700) - If an ADVERTISEMENT is received, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (705) -+ If the Priority in the ADVERTISEMENT is zero= ,<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (701) -+ and<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (702) -+ Local Priority is greater than zero, then:<o= :p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (710) -* Send an ADVERTISEMENT<o:p></o:= p></pre> <pre><o:p> </o:p></pre> <pre> (715) -* Reset the Adver_Timer to Adver= tisement_Interval<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (720) -+ else // priority was non-zero or local prior= ity was zero<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (725) -* If the Priority in the ADVERTI= SEMENT is greater<o:p></o:p></pre> <pre> than the local Priority,<o:p></o:p></pr= e> <pre><o:p> </o:p></pre> <pre> (730) -* or<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (735) -* If the Priority in the ADVERTI= SEMENT is equal to<o:p></o:p></pre> <pre> the local Priority and the primary IPvX= Address of the<o:p></o:p></pre> <pre> sender is greater than the local primar= y IPvX Address, then:<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (740) -@ Cancel Adver= _Timer<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (745) -@ Set Master_A= dver_Interval to Adver Interval<o:p></o:p></pre> <pre> contained in the ADVE= RTISEMENT<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (750) -@ Recompute th= e Skew_Time<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (755) @ Recompute the= Master_Down_Interval<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (760) @ Set Master_Do= wn_Timer to Master_Down_Interval<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (765) @ Transition to= the {Backup} state<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (770) * else // new Master logic<o:p></= o:p></pre> <pre><o:p> </o:p></pre> <pre> (775) @ Discard ADVER= TISEMENT<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre> (780) *endif // new Master detected<o:p= ></o:p></pre> <pre><o:p> </o:p></pre> <pre> (785) +endif // was priority zero?<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>(790) -endif // advert recv<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre><o:p> </o:p></pre> <pre>Please let me know if I have missed something.<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>Thanks<o:p></o:p></pre> <pre>-Anurag<o:p></o:p></pre> <pre>-------------- next part --------------<o:p></o:p></pre> <pre>An HTML attachment was scrubbed...<o:p></o:p></pre> <pre>URL: <a href=3D"http://www.ietf.org/mail-archive/web/vrrp/attachments/= 20130226/cc6018e8/attachment.htm"><http://www.ietf.org/mail-archive/web/= vrrp/attachments/20130226/cc6018e8/attachment.htm></a><o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>------------------------------<o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre>_______________________________________________<o:p></o:p></pre> <pre>vrrp mailing list<o:p></o:p></pre> <pre><a href=3D"mailto:[email protected]">[email protected]</a><o:p></o:p></pre> <pre><a href=3D"https://www.ietf.org/mailman/listinfo/vrrp">https://www.iet= f.org/mailman/listinfo/vrrp</a><o:p></o:p></pre> <pre><o:p> </o:p></pre> <pre><o:p> </o:p></pre> <pre>End of vrrp Digest, Vol 81, Issue 10<o:p></o:p></pre> <pre>************************************<o:p></o:p></pre> <pre><o:p> </o:p></pre> </blockquote> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <p>Disclaimer : <br> This email communication may contain privileged and confidential informatio= n and is intended for the use of the addressee only.If you are not an inten= ded recipient you are requested not to reproduce, copy disseminate or in an= y manner distribute this email communication as the same is strictly prohibited. If you have received this email in err= or, please notify the sender immediately by return e-mail and delete the co= mmunication sent in error. Email communications cannot be guaranteed to be = secure & error free and IB Technology is not liable for any errors in the email communication or for the proper,= timely and complete transmission thereof.<o:p></o:p></p> </div> </body> </html> --_000_A2BB90B33FFDF740876C5AAE307D83DB1C295D1Cxmbrcdx05ciscoc_-- --===============0850431306533674323== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ vrrp mailing list [email protected] https://www.ietf.org/mailman/listinfo/vrrp --===============0850431306533674323==--