2

I know that a non-blocking switch is a switch that can manage the sum of the maximum theoretical speeds of all its ports.

However, as the term suggests, "theoretical" maximum speed is just a theory and it rarely happens in real-life conditions.

Given this infrequent scenario, why is there a need for a non-blocking switch??

3
  • 7
    What's the software engineering relevance of this question? Did you mean to post it on Network Engineering instead?
    – Toby Speight
    Commented Sep 29, 2023 at 17:12
  • You're right I confused category. Is there anyway I can move this question to Network Engineering?
    – KSMoon
    Commented Sep 30, 2023 at 13:23
  • There is no standard migration path to Network Engineering. You could try asking a moderator on Network Engineering Meta. You can also flag your own question for moderator attention and ask for it to be migrated. Commented Oct 2, 2023 at 20:42

4 Answers 4

8

By being able to handle the sum of the maximum speeds of all ports, a non-blocking switch guarantees that the internal switching logic can never cause a delay in the network traffic.

Suppose two servers (A and B) have a dedicated connection to each other that runs through one or more non-blocking switches. This connection only handles traffic that goes between A and B.
Because all the switches in-between are non-blocking, you have the guarantee that the connection between A and B will never be impacted by the other traffic that the switches handle as well. This can be useful if you need to have a guaranteed throughput or a guaranteed latency on that connection.

3
  • 1
    There can be a huge functional difference between a device which can output data 100% as fast as it arrives, and one which can output data 99.999% as fast as it arrives. From a throughput standpoint, there wouldn't seem to be much difference, but the former system will have zero backlog and the latter system won't.
    – supercat
    Commented Sep 29, 2023 at 21:33
  • Of course, in the real word, you have non-zero bit error rates. This means there will be the occasional packet delay, and in turn any suitable software can handle that delay. Therefore a blocking switch that offers 99.999% throughput is functionally equivalent. IOW, software that depends on non-blocking switches is simply buggy and cannot work reliably in the real world.
    – MSalters
    Commented Oct 3, 2023 at 11:50
  • It's not about delay but about packet loss. "you have the guarantee that the connection between A and B will never be impacted by the other traffic" - it might, if the links between the other switches are not entirely dedicated. Oversubscribing a shared switch uplink (the standard case) leads to packet loss when traffic gets heavier.
    – Zac67
    Commented Oct 3, 2023 at 19:45
9

However, as the term suggests, "theoretical" maximum speed is just a theory and it rarely happens in real-life conditions.

That depends on your life, I guess.

In my day job, we try to maximize utilization of our switch ports. Why would you pay for a 400G switch and then not use it? Our products support both 25G, dual-25G, and 100G interfaces precisely so that you can use the switch port that matches your requirements most closely. Our next products will support everything from 25G to 400G, again, for the same reason: so you can maximize utilization of your switch ports.

3
  • 1
    "Both" of three things?
    – Toby Speight
    Commented Sep 29, 2023 at 17:09
  • I think "both" refers to 25G and dual-25G (with 100G in addition to the previous two).
    – Greg Burghardt
    Commented Sep 30, 2023 at 0:26
  • 1
    @GregBurghardt: Yes, let's go with that. This is totally intentional, and not at all because I inserted the "dual-25G" later … Commented Oct 1, 2023 at 16:39
2

Non-blocking is a quality in switches that tells you that a switch doesn't lose frames unless a destination/egress port reaches its maximum bandwidth. That knowledge provides peace of mind and simplifies network design.

In a blocking switch there's a (sometimes unknown) total bandwidth that you cannot exceed. The bad thing is that it's not very obvious and might be really hard to detect that you're hitting the backplane forwarding limit and losing frames.

While small, 1U switches are all non-blocking today (except for really high-speed ones), larger chassis switches usually have a maximum backplane bandwidth and, more specifically, a limited module-to-module throughput that you need to know about when maxing out your network. Not all vendors properly document those limits - and not all network engineers have them on their radar at all times.

2
  • 1
    might be really hard to detect that you're hitting the backplane forwarding limit and losing frames. This. Very much. Especially with modular switches/chassis where sum of the nominal bandwitdh of a module's/linecard's "frontend" ports can exceed the capacity of the "backend" ports to the backplane/chassis fabric. Only in-depth understanding of the given platform's architecture and using ports accordingly helps in those cases. So it's RTFM, at least twice. Commented Oct 4, 2023 at 19:56
  • @Marc'netztier'Luethi Good point - was thinking about adding a comment, so I did that now.
    – Zac67
    Commented Oct 4, 2023 at 20:24
1

A very similar situation closer to many people is USB chargers. You can buy a USB charger with say five ports. Each port has a maximum power delivery, and so has the whole charger. And often the charger capacity is less than the sum of the five ports.

It makes financial sense. Because you can connect five devices that sometimes need a lot of power but not all the time. If it is essential to have the max power times five available at all times, you pay your money. But if it is not always needed, then you may get 90% of the value at 60% of the cost.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.