Ein Router hat die Aufgabe, Pakete von einem Ort an den nächsten zu senden. Ein Router beinhaltet grundsätzlich nur die untersten drei Layers, was bedeutet, dass er mit irgendeinem physikalischen Medium einen Kontakt hat, entsprechende Sende- und Empfangs-Bauteile besitzt und einen Prozessor beinhaltet, der die Pakete zum richtigen Ausgang leiten kann.
Beispiele für die physikalischen Medien sind Glasfaser, Telefonkabel, Fernsehkabel, Luft, Weltraum, ...
Beispiele für Sende- und Empfangs-Bauteile sind ADC, DAC, Antennen, Sensoren, Laser, ...
Bei jedem Router kommen Daten in Form von Paketen an. Diese Daten werden vom physikalischen Medium über die Empfangs-Elektronik eingelesen und in die Verteilzentrale des Routers geleitet. Wenn die Daten dort wieder herauskommen werden sie über die Sende-Elektronik wieder auf ein Medium übertragen.
Die Verteil-Zentrale nun setzt sich zusammen aus einer Vor-Warteschlange, dem Prozessor, der Verteil-Schaltung und der Nach-Warteschlange. In der Vor-Warteschlange warten alle Pakete, bis der Prozessor sie drannimmt. Der Prozessor durchsucht das Paket nach der Zieladresse, Überprüft die Checksumme, vermindert den TTL-Eintrag und entscheidet daraus, wie er die Verteil-Schaltung konfigurieren muss, damit das Paket an den richtigen Ort gelangt. Den richtigen Ort findet er mittels einer Routing-Tabelle, in der für eine Adresse einen passenden Eintrag finden kann, damit das Paket möglichst schnell am Ziel angelangt. Die Verteil-Schaltung schliesslich wird vom Prozessor so eingestellt, dass das gesamte Paket zum richtigen Ausgang gelangt. Dort wird das Paket in die Nach-Warteschlange gesteckt, bis dass es vollständig gesendet wurde.
Diese Verteilzentrale kann unterschiedlich konzipiert sein:
- memory: Wenn nur eine Verbindung aufs Mal hergestellt werden kann, gibt es die Möglichkeit, dass die Pakete wiederum in eingebauten Speicher zwischengespeichert werden können, bis dass der Kanal frei wird und das Paket gesendet werden kann. Diese Methode ist veraltet, da sie zu langsam ist.
- bus: Alle Eingänge sind mit allen Ausgängen über einen Bus verbunden. Dieser kann von jedem Eingang quasi gleichzeitig Daten in den entsprechenden Ausgang befördern. Da jedoch dadurch die Pakete nur Stückchenweise am anderen Ende ankommen, muss dort wiederum eine Warteschlange eingerichtet werden, die erst dann entleert wird, wenn das ganze Paket drüben ist.
- crossbar: Wiederum sind alle Eingänge mit allen Ausgängen verbunden, jedoch diesmal über eine rechtwinklig angeordnete Matrix, bei der die Öffnung eines einzelnen Knotens genau ein Eingang mit einem Ausgang verbunden wird. Gleichzeitig können aber andere Eingänge andere Ausgänge benutzen.