Structure of a Packet Switch

* A packet switch performs two functions 1) routing 2) forwarding.
Routing functions uses algorithm to find a path to each
destination and store the result in routing table.
Forwarding function processes each incoming packet from an input port and forwards the packet to appropriate output port based on the information stored in routing table.
* The above fig (a) shows a generic packet switch consisting of input ports, output ports, an interconnection fabric and switch controller.
* Input ports and output ports are normally paired.
* Line card contains several input, output ports so that the capacity of the link connecting the line card to the interconnection fabric , which is typically of high speed, and is fully utilized.
* Line card is concerned with symbol timing, line coding, framing, physical addressing and error checking.
* The line card is made up of various chipsets as shown in fig (b) .
* The programmable network processor performs packet-related tasks such as table lookup and packet scheduling.
* The Controller in a packet switch contains a general-purpose processor to carry out a number of control and management functions.
* The controller also communicates with line card and the interconnection fabric
* The function of the Interconnection fabric is to transfer packets between the line cards.
* If there are high speed line cards the interconnection fabric is likely to be the bottleneck, since all traffic go through it.
* A bus type interconnection structure (whereby packets are transmitted serially) does not scale to large size, since the speed of the bus has to be about N times faster than the port speed.
* A cross bar interconnection fabric can transfer packets in parallel between input ports and output ports.
* The buffers need to be added to the crossbar to accommodate packet contention.
* The buffers can be located at input ports or output ports as shown in figure below
* Only one packet is allowed to proceed to a particular output in case of input buffering.
* Input buffering causes a problem head-of-line (HOL) blocking.
* Consider a situation where there are two packets at input buffer 2 as shown in fig. above.
* The first packet would like to go to output 3 and the second packet to output 8.
* Suppose that the packet from input buffer 1 would like to go output 3 at the same time.
* Suppose that the fabric arbiter decides to transmit the packet from input buffer 1. Then the first packet from input buffer 2 needs to wait until output 3 has transferred the packet from input buffer1. Meanwhile, the second packet has to wait behind the first packet even though output 8 is idle.
* This results in performance degradation of crossbar with input buffering.
* The problem of the first packet holding back other subsequent packets behind it is called head-of-line (HOL) blocking.

* One way to eliminate HOL blocking is to provide N separate input buffers at each input port. Such an input buffer is called virtual output buffer.

0 comments