According to Data Communications and Networking by Behrouz Forouzan, a packet switch has four components: input ports, output ports, routing processor, and switching fabric. The basic architecture looks like below

enter image description here

The switching fabric connects input port to output port, while the routing processor determines which connection should be made. But this assumes that there is a set of input ports and a set of output ports.

What if you want to connect an input port to another input port, or an output port to another output port? Because in reality, routers/switches don't have a set of input ports and set of output ports. Any port can connect to any other port. If a switch has eight ports, port 1 can connect to any of port 2 to port 8, and same with other ports. What am I missing here?


Input vs output port are from the (low) perspective of the switch's hardware architecture - each physical port on the switch consists of an input port and an output port (or rather circuitry).

The author makes the point that the input and output aspects are very different things and they need to be dealt with in different ways in the hardware. Practically, there's simply no way to connect two "input ports".

while the routing processor determines which connection should be made

Note that for packet switching, these "connections" are very volatile - each frame is forwarded individually. Actually, the backplane copies the frame data from an input queue to an output queue (for the usual store-and-forward).

  • Ok, so basically, each output port is bundled together with an input port, right? – Noob_Guy Jan 23 '20 at 1:40
  • @Noob_Guy Exactly - network ports are bidirectional in general. The "port" in the diagram is from the engineering perspective and only half a network port. – Zac67 Jan 23 '20 at 7:35
  • Ok, I get it now. Thanks! – Noob_Guy Jan 23 '20 at 11:03

Your Answer

