How does STP convergence work?











up vote
3
down vote

favorite












Consider the IEEE 802.1D (first revision) Spanning Tree Protocol. I have read a lot of articles and forum entries about STP convergence. Often I do find contradictions about the convergence mechanics. Some people state that convergence follows this schematics:




  1. Root bridge election

  2. Root port selection

  3. Designated ports selection

  4. Non-designated port selection


Others state that each port cycles through 4 states (Blocking, Listening, Learning, Forwarding). I don't understand how they each connect and how the root bridge election for example takes part in those 4 states. For me, both "models" don't go along with each other, but each part of both of them are neccessary to make STP work in my opinion. The problem, however, is not understanding how each state behaves in terms of packet discarding/MAC learning/etc.. The problem is understanding how it all works together.



Unfortunately, the IEEE standard doesn't help with unterstanding, yet it makes things harder to grasp for me.



Edit: my question was marked as a duplicate to Spanning tree - port roles and status during root bridge election. First of all, the answer doesn't explain the whole convergence process. Furthermore, I don't understand how a bridge decides that it is not connected to another bridge performing STP. How long will it until it decides it is alone and probably the root bridge? When does it stop propagating this?



Edit2: after understanding that the port role is decided when a better BPDU in terms of SPT tie breaking mechanism is received, I still don't get how a switch decides which port is designated.










share|improve this question
























  • Possible duplicate of Spanning tree - port roles and status during root bridge election
    – Zac67
    Nov 27 at 21:17






  • 1




    I guess the part you are missing is that STP is always sending BPDUs.
    – Ron Maupin
    Nov 27 at 21:47










  • @RonMaupin is STP also sending BPDUs if a port is blocked?
    – cmatef8
    Nov 27 at 21:53






  • 2




    Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
    – Ron Maupin
    Nov 27 at 21:55






  • 1




    BPDUs are sent out of every port regardless of the state or mode.
    – Ron Trunk
    Nov 28 at 2:29















up vote
3
down vote

favorite












Consider the IEEE 802.1D (first revision) Spanning Tree Protocol. I have read a lot of articles and forum entries about STP convergence. Often I do find contradictions about the convergence mechanics. Some people state that convergence follows this schematics:




  1. Root bridge election

  2. Root port selection

  3. Designated ports selection

  4. Non-designated port selection


Others state that each port cycles through 4 states (Blocking, Listening, Learning, Forwarding). I don't understand how they each connect and how the root bridge election for example takes part in those 4 states. For me, both "models" don't go along with each other, but each part of both of them are neccessary to make STP work in my opinion. The problem, however, is not understanding how each state behaves in terms of packet discarding/MAC learning/etc.. The problem is understanding how it all works together.



Unfortunately, the IEEE standard doesn't help with unterstanding, yet it makes things harder to grasp for me.



Edit: my question was marked as a duplicate to Spanning tree - port roles and status during root bridge election. First of all, the answer doesn't explain the whole convergence process. Furthermore, I don't understand how a bridge decides that it is not connected to another bridge performing STP. How long will it until it decides it is alone and probably the root bridge? When does it stop propagating this?



Edit2: after understanding that the port role is decided when a better BPDU in terms of SPT tie breaking mechanism is received, I still don't get how a switch decides which port is designated.










share|improve this question
























  • Possible duplicate of Spanning tree - port roles and status during root bridge election
    – Zac67
    Nov 27 at 21:17






  • 1




    I guess the part you are missing is that STP is always sending BPDUs.
    – Ron Maupin
    Nov 27 at 21:47










  • @RonMaupin is STP also sending BPDUs if a port is blocked?
    – cmatef8
    Nov 27 at 21:53






  • 2




    Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
    – Ron Maupin
    Nov 27 at 21:55






  • 1




    BPDUs are sent out of every port regardless of the state or mode.
    – Ron Trunk
    Nov 28 at 2:29













up vote
3
down vote

favorite









up vote
3
down vote

favorite











Consider the IEEE 802.1D (first revision) Spanning Tree Protocol. I have read a lot of articles and forum entries about STP convergence. Often I do find contradictions about the convergence mechanics. Some people state that convergence follows this schematics:




  1. Root bridge election

  2. Root port selection

  3. Designated ports selection

  4. Non-designated port selection


Others state that each port cycles through 4 states (Blocking, Listening, Learning, Forwarding). I don't understand how they each connect and how the root bridge election for example takes part in those 4 states. For me, both "models" don't go along with each other, but each part of both of them are neccessary to make STP work in my opinion. The problem, however, is not understanding how each state behaves in terms of packet discarding/MAC learning/etc.. The problem is understanding how it all works together.



Unfortunately, the IEEE standard doesn't help with unterstanding, yet it makes things harder to grasp for me.



Edit: my question was marked as a duplicate to Spanning tree - port roles and status during root bridge election. First of all, the answer doesn't explain the whole convergence process. Furthermore, I don't understand how a bridge decides that it is not connected to another bridge performing STP. How long will it until it decides it is alone and probably the root bridge? When does it stop propagating this?



Edit2: after understanding that the port role is decided when a better BPDU in terms of SPT tie breaking mechanism is received, I still don't get how a switch decides which port is designated.










share|improve this question















Consider the IEEE 802.1D (first revision) Spanning Tree Protocol. I have read a lot of articles and forum entries about STP convergence. Often I do find contradictions about the convergence mechanics. Some people state that convergence follows this schematics:




  1. Root bridge election

  2. Root port selection

  3. Designated ports selection

  4. Non-designated port selection


Others state that each port cycles through 4 states (Blocking, Listening, Learning, Forwarding). I don't understand how they each connect and how the root bridge election for example takes part in those 4 states. For me, both "models" don't go along with each other, but each part of both of them are neccessary to make STP work in my opinion. The problem, however, is not understanding how each state behaves in terms of packet discarding/MAC learning/etc.. The problem is understanding how it all works together.



Unfortunately, the IEEE standard doesn't help with unterstanding, yet it makes things harder to grasp for me.



Edit: my question was marked as a duplicate to Spanning tree - port roles and status during root bridge election. First of all, the answer doesn't explain the whole convergence process. Furthermore, I don't understand how a bridge decides that it is not connected to another bridge performing STP. How long will it until it decides it is alone and probably the root bridge? When does it stop propagating this?



Edit2: after understanding that the port role is decided when a better BPDU in terms of SPT tie breaking mechanism is received, I still don't get how a switch decides which port is designated.







spanning-tree layer2 redundancy loop






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 28 at 20:03

























asked Nov 27 at 21:07









cmatef8

164




164












  • Possible duplicate of Spanning tree - port roles and status during root bridge election
    – Zac67
    Nov 27 at 21:17






  • 1




    I guess the part you are missing is that STP is always sending BPDUs.
    – Ron Maupin
    Nov 27 at 21:47










  • @RonMaupin is STP also sending BPDUs if a port is blocked?
    – cmatef8
    Nov 27 at 21:53






  • 2




    Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
    – Ron Maupin
    Nov 27 at 21:55






  • 1




    BPDUs are sent out of every port regardless of the state or mode.
    – Ron Trunk
    Nov 28 at 2:29


















  • Possible duplicate of Spanning tree - port roles and status during root bridge election
    – Zac67
    Nov 27 at 21:17






  • 1




    I guess the part you are missing is that STP is always sending BPDUs.
    – Ron Maupin
    Nov 27 at 21:47










  • @RonMaupin is STP also sending BPDUs if a port is blocked?
    – cmatef8
    Nov 27 at 21:53






  • 2




    Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
    – Ron Maupin
    Nov 27 at 21:55






  • 1




    BPDUs are sent out of every port regardless of the state or mode.
    – Ron Trunk
    Nov 28 at 2:29
















Possible duplicate of Spanning tree - port roles and status during root bridge election
– Zac67
Nov 27 at 21:17




Possible duplicate of Spanning tree - port roles and status during root bridge election
– Zac67
Nov 27 at 21:17




1




1




I guess the part you are missing is that STP is always sending BPDUs.
– Ron Maupin
Nov 27 at 21:47




I guess the part you are missing is that STP is always sending BPDUs.
– Ron Maupin
Nov 27 at 21:47












@RonMaupin is STP also sending BPDUs if a port is blocked?
– cmatef8
Nov 27 at 21:53




@RonMaupin is STP also sending BPDUs if a port is blocked?
– cmatef8
Nov 27 at 21:53




2




2




Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
– Ron Maupin
Nov 27 at 21:55




Yes. It is blocking data frames from being received, but it needs to be able to determine topology changes.
– Ron Maupin
Nov 27 at 21:55




1




1




BPDUs are sent out of every port regardless of the state or mode.
– Ron Trunk
Nov 28 at 2:29




BPDUs are sent out of every port regardless of the state or mode.
– Ron Trunk
Nov 28 at 2:29










1 Answer
1






active

oldest

votes

















up vote
6
down vote














I don't understand how a bridge decides that it is not connected to
another bridge performing STP.




If it doesn't hear BPDUs, then there's no bridge connected.




How long will it until it decides it is alone and probably the root
bridge?




It starts out assuming it's "alone." That is, the bridge sends BPDUs with its bridge ID as the root until it hears a better one.




When does it stop propagating this?




If by "this" you mean the ID of the root bridge, it's in every BPDU sent.






share|improve this answer





















  • A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
    – cmatef8
    Nov 28 at 8:56










  • I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
    – Ron Trunk
    Nov 28 at 13:31










  • Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
    – cmatef8
    Nov 28 at 19:59










  • Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
    – Ron Trunk
    Nov 28 at 20:02












  • As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
    – cmatef8
    Nov 28 at 20:09











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "496"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f55040%2fhow-does-stp-convergence-work%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
6
down vote














I don't understand how a bridge decides that it is not connected to
another bridge performing STP.




If it doesn't hear BPDUs, then there's no bridge connected.




How long will it until it decides it is alone and probably the root
bridge?




It starts out assuming it's "alone." That is, the bridge sends BPDUs with its bridge ID as the root until it hears a better one.




When does it stop propagating this?




If by "this" you mean the ID of the root bridge, it's in every BPDU sent.






share|improve this answer





















  • A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
    – cmatef8
    Nov 28 at 8:56










  • I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
    – Ron Trunk
    Nov 28 at 13:31










  • Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
    – cmatef8
    Nov 28 at 19:59










  • Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
    – Ron Trunk
    Nov 28 at 20:02












  • As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
    – cmatef8
    Nov 28 at 20:09















up vote
6
down vote














I don't understand how a bridge decides that it is not connected to
another bridge performing STP.




If it doesn't hear BPDUs, then there's no bridge connected.




How long will it until it decides it is alone and probably the root
bridge?




It starts out assuming it's "alone." That is, the bridge sends BPDUs with its bridge ID as the root until it hears a better one.




When does it stop propagating this?




If by "this" you mean the ID of the root bridge, it's in every BPDU sent.






share|improve this answer





















  • A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
    – cmatef8
    Nov 28 at 8:56










  • I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
    – Ron Trunk
    Nov 28 at 13:31










  • Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
    – cmatef8
    Nov 28 at 19:59










  • Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
    – Ron Trunk
    Nov 28 at 20:02












  • As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
    – cmatef8
    Nov 28 at 20:09













up vote
6
down vote










up vote
6
down vote










I don't understand how a bridge decides that it is not connected to
another bridge performing STP.




If it doesn't hear BPDUs, then there's no bridge connected.




How long will it until it decides it is alone and probably the root
bridge?




It starts out assuming it's "alone." That is, the bridge sends BPDUs with its bridge ID as the root until it hears a better one.




When does it stop propagating this?




If by "this" you mean the ID of the root bridge, it's in every BPDU sent.






share|improve this answer













I don't understand how a bridge decides that it is not connected to
another bridge performing STP.




If it doesn't hear BPDUs, then there's no bridge connected.




How long will it until it decides it is alone and probably the root
bridge?




It starts out assuming it's "alone." That is, the bridge sends BPDUs with its bridge ID as the root until it hears a better one.




When does it stop propagating this?




If by "this" you mean the ID of the root bridge, it's in every BPDU sent.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 27 at 21:38









Ron Trunk

33.4k22970




33.4k22970












  • A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
    – cmatef8
    Nov 28 at 8:56










  • I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
    – Ron Trunk
    Nov 28 at 13:31










  • Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
    – cmatef8
    Nov 28 at 19:59










  • Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
    – Ron Trunk
    Nov 28 at 20:02












  • As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
    – cmatef8
    Nov 28 at 20:09


















  • A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
    – cmatef8
    Nov 28 at 8:56










  • I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
    – Ron Trunk
    Nov 28 at 13:31










  • Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
    – cmatef8
    Nov 28 at 19:59










  • Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
    – Ron Trunk
    Nov 28 at 20:02












  • As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
    – cmatef8
    Nov 28 at 20:09
















A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
– cmatef8
Nov 28 at 8:56




A Cisco manual states that BPDUs are stored port-wise. So is this true? Furthermore, does each port have their own mind about which Bridge is the root Bridge? How are bdpus shared among ports?
– cmatef8
Nov 28 at 8:56












I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
– Ron Trunk
Nov 28 at 13:31




I'm not sure what you mean by "port-wise," but the bridge is a unit - ports aren't independent. The bridge determines who the root bridge is and which port has the lowest cost to it.
– Ron Trunk
Nov 28 at 13:31












Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
– cmatef8
Nov 28 at 19:59




Ok, but when the whole unit itself has one configurational state, the current BPDU, how a desginated port is chosen? The unit has to consider which port received what BPDU most recent to be able to check whether the sending BPDU is inferior or the received one is inferior.
– cmatef8
Nov 28 at 19:59












Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
– Ron Trunk
Nov 28 at 20:02






Here is the basic process: 1. Decide which port has the lowest cost to the root. That becomes the root port. 2. For every other port, is the BPDU you are advertising better than the one you are receiving? That port is a designated port and goes into forwarding. 3. All other ports are blocked. And again, ports continue to send periodic BPDUs regardless of the state.
– Ron Trunk
Nov 28 at 20:02














As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
– cmatef8
Nov 28 at 20:09




As you stated, first the root port is decided among all ports, then the des. ports are decided. What has to happen so the unit decides that it can move to choosing des. ports? It could theoretically happen that a assumed root port provides no longer the best costs to root. As i understood both processes do not happen in a certain order
– cmatef8
Nov 28 at 20:09


















draft saved

draft discarded




















































Thanks for contributing an answer to Network Engineering Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f55040%2fhow-does-stp-convergence-work%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

mysqli_query(): Empty query in /home/lucindabrummitt/public_html/blog/wp-includes/wp-db.php on line 1924

How to change which sound is reproduced for terminal bell?

Can I use Tabulator js library in my java Spring + Thymeleaf project?