Hi every body!
I want to discuss switching performance parameters--------Mpps and fabric bandwidth.
To make my point, I use a small switch of only 4 ports(100Mb)
Ideal fabric bandwidth:
=2*(total bandwidth of port)
Is it non-blocking fabric bandwidth?
My understanding is any fabric bandwidth that would not cause any packet drop at full load, is termed as non-blocking fabric bandwidth.
But does it have to be twice the total bandwidth? how about 500Mbs which is still higher than 400Mbs, would it be regarded as non-blocking fabric band- width?
thanks a lot!
"If buffer is full, then packet would be dropped. Am I correct? "
Yes, because the egress port would become the bottleneck. If the other 3 ports were sending full speed to port 4, once the output queue fills, 2 out 3 packets would be dropped.
If traffic was all TCP, it would see the drops, so ports 1, 2 and 3 should slow down to about 1/3 transmission rate. Most non-TCP traffic would not slow down and you can obtain a high drop.
Non-blocking switch fabric often is a reference to a fabric bandwidth design provide enough bandwidth that all the ports bandwith can be supported (such as your example's 800 Mbps), but non-blocking might also reference not having a "head of line" blocking architecture.
Since it's possible for multiple ports to want to send packets to the same port (e.g. ports 1, 2 and 3 all want to send to port 4), port 4 might congest. If it does, different fabric designs can queue either at input or output. The input design can make for a problem, though.
Assume ports 1 and 2 are sending to port 3 although each of ports 1 and 2 are only sending at an average of 50%. Also assume port 4 is sending almost all its traffic to port 1 but occasionally has a single packet to also send to port 3. Everytime port 4 sends a packet to port 3, that packet has to queue into the streams from ports 1 and 2. If the port 4 packet directed to port 3 delays following packets directed to port 1 (similar to a line of traffic waiting behind someone trying to make a left because there's on-coming traffic yet the road ahead is clear), you have head-of-line blocking. If it doesn't (similar to having a dedicated left turn lane), you have a non-(head-of-line)-blocking architecture.
800Mbs switch fabric would allow 4 x 100Mb ports to run without any blocking.
500Mbs switch fabric would not allow 4 x 100Mb to run without blocking.
When talking about port speed as you say you need to multiply by 2 to get full duplex. So anything above 800Mbs switch fabric for 4 x 100Mbps ports would be non-blocking. Anything below might block.
It's important to understand that it only might block ie. you have 500Mbps switch fabric and 4 x 100Mbs full duplex, But if the individual ports do not transmit traffic at 100Mbps full duplex all at the same time then you may very well not get blocking. But this is not the same as when we talk of a non-blocking switch architecture.