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