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?

1 Answer 1


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, 2020 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, 2020 at 7:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.