Tuesday, August 16, 2011

Switching performance concepts

Today, Lets look into some basic Switching terminologies which helps us to determine Switching performance.

Wire-speed/Line-rate Performance in Ethernet
Wire-speed/Line-rate is physical layer bit rate speed. Ethernet Network as standard has some definite performance (data-xfer). As an example of Gigabit Ethernet, the maximum raw data–transfer rate is 1 billion bits per second in each direction i.e. transmit & receive (full duplex communication). This translates to 125,000,000 bytes per second (1billion bits/sec/ 8 as 8 bits= 1 byte).

Now we must consider the Interpacket Gap (IPG), It is needed as its purpose is to give Ethernet devices time to prepare for the reception of the next frame. The minimum inter-packet gap is 96 bit times, which is basically 96 nanoseconds (ns) for Gigabit Ethernet. One need to add 7-byte pre-amble & single byte start of the frame de-limiter for each frame .These all add to 20-byte idle time between transmissions of two frames on wire.

Hence the maximum amount of 64-byte frames that can be transmitted each second on Gigabit Ethernet link is 125,000000/(64+20)= 1488095 or 1.488 Mpps (million packets per second). This is wire speed performance for Gigabit Ethernet. Similarly for fast Ethernet (10/100) its 0 .1488095 Mpps (or 148810 pps) & for Ethernet i.e. 10 Mbps its 14880 pps.

Switching Throughput
It is maximum wire-speed that can be achieved in one direction. For Gigabit Ethernet switching throughput will be 1 Gigabit/s for transmit or receive.

Switching Fabric
Switching Fabric is calculated on Full-Duplex data amounts.The fabric refers to the overall amount of traffic that can be handled at any moment.Take a 24-port switch, for example. If your ports are rated for 1 Gigabit full-duplex, you can't necessarily have them all running at their limits at once depending upon the Network load, or maybe you can under extensive network load. Some connections will be quiet while others are active. That's the expectation, and that's how it works out in practice. So the switch capacities are generally oversubscribed. The Fabric Capacity basically defines the overall limit or capacity for the device -- how many of the connections can be running full speed at once and still get all the packets handled without queuing. On a smaller (8-port or 16-port) switch, it might not be as important, but as you move to 24-port, 48-port and larger switches, you can imagine that this is something you want to look at carefully if you expect a high volume of demanding network traffic.

What is Non-Blocking Switch Fabric?
In Non-blocking switch, the switch fabric capacity is greater than or equal to the theoretical total/max port capacity of switch.

Lets take an example,
1) Suppose a switch has 24 port of 10/100/1000 speed & 4  ports of combo SFP (Gigabit), total of 24 ports => 24 x 10/100/1000 =>  24 Gbps (Half duplex) => 48 Gbps (Full duplex)
So the theoretical value of switch frame handling capacity will be 48 Gbps without queuing of any data.

2) Suppose a switch has 24 port of 10/100 speed + 2 ports of SFP (Gigabit) + 2 Port of 10/100/1000 for
stack/uplink purpose
Lets do some more math :)
24 x 10/100 => 2400 Mbps or 2.4 Gbps (Half duplex) => 4.8 Gbps (Full duplex)
2 x 10/10/1000 => 2 Gbps (Half duplex) => 4 Gbps (Full duplex)
2 X 1000Mbps SFP => 2 Gbps (Half duplex) => 4 Gbps (Full Duplex)
Total  => 12.8 Gbps (Full Duplex)
Hence if the switch fabric capacity of this switch is 12.8 Gbps then it will be able to handle all the Ethernet traffic at wire-speed in non-blocking fashion, i.e. without queuing of any data. However, if the switch fabric capacity or in some cases back-plane capacity is less, then  its oversubscribed. Generally Entry-level switches are oversubscribed considering the normal standard utilization. Practically it is rare for all the connected systems to transmit/receive at full throughput speed at same instance. Core level Layer-3 switches may come across this situations under high load.

Forwarding Bandwidth
Some Network gear provides Forwarding Bandwidth. This is speed only for Bytes Sent OUT or Bytes received IN, only one at a time. So if switch has 12.8 Gbps of Switching fabric (In Non-blocking Mode) then the Forwarding Bandwidth will be 6.4 Gbps transmit or receive.

Idea behind this post is contributed by my friend & avid Networker Nikhil Bhavsar.
>> Nikhil Bhavsar's Linkedin profile