cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1412
Views
0
Helpful
6
Replies

no-blocking fabric bandwidth

sarahr202
Level 5
Level 5

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)

=2*(100+100+100+100)

=2*(400)

=800 Mbs.

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!

3 Accepted Solutions

Accepted Solutions

Jon Marshall
Hall of Fame
Hall of Fame

Sarah

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.

Jon

View solution in original post

Joseph W. Doherty
Hall of Fame
Hall of Fame

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.

View solution in original post

"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.

PS:

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.

View solution in original post

6 Replies 6

Jon Marshall
Hall of Fame
Hall of Fame

Sarah

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.

Jon

Thanks Jon and Joseph!

I was thinking even in non-blocking switch fabric, there is possibility for packets being dropped.

Let revisit my example with different scenario.

The 4 -port switch with 800 Mbs fabric bandwidth.

Let say port f0/1,f0/2,f0/3 are all running full load , sending packets to port f0/4.

Though there is enough bandwidth in fabric but the size of out-put buffer at f0/4 could cause packet-drop. If buffer is full, then packet would be dropped.

Am I correct?

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.

PS:

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.

Your reply prompted another question.

"2 out 3 packets would be dropped".

I am just curious how did you determine that?

Thanks a lot!

When you wrote "Let say port f0/1,f0/2,f0/3 are all running full load , sending packets to port f0/4. ", would imply 300 Mbps (100 Mbps * 3 ports) is being forwarded to port f0/4. Port f0/4 can only egress 100 Mbps, so what happens to the other 200 Mbps?

Initially queues will fill then overflow and begin to drop. We would then have 300 Mbps in, 100 Mbps out, so 200 Mbps is dropped. Assuming all packets were the same size (which I didn't state before, sorry), 2 out of 3 packets would be dropped. If the packets were different sizes, you should see packet drop rates roughly in the proportion of their sizes while still dropping 200 of the 300 Mbps.

Joseph W. Doherty
Hall of Fame
Hall of Fame

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.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card