Ports – die Türen von Netzwerkgeräten

Was sind Ports?

Wie in den vorherigen Beiträgen schon beschrieben wissen wir nun, was IP-Adressen sind und wie sich prinzipiell ein IP-Netzwerk aufbaut.

Wir gehen vom dem Beispiel aus dem Beitrag „Was ist eine IP-Adresse?“ aus, dass eine IP-Adresse ähnlich ist wie eine Anschrift eines Hauses. Nun können wir sagen, dass ein Port ein spezieller Eingang (Tür, Fenster oder was auch immer) zu dem Haus ist, der zu einer speziellen Anwendung führt.

Port-Nummer können von 0 bis 65535 gehen, wobei aber eben gewisse Port-Nummern schon vordefiniert sind.

Unterteilt wird dieser Bereich in

  • System Ports (0 – 1023)
    • Hier befinden sich die vordefinierten bzw. standardisierten Ports
  • User Ports (1024 – 49151)
    • User können hier (wenn noch nicht vergeben) selber Ports für ihre Anwendungen definieren
  • Dynamic Ports (49152 – 65535)
    • Dieser Bereich wird primär für die Port-Zuweisung verwendet, welche von Betriebssystem dynamisch erstellt werden

Im folgendem Screenshot ist ein Auszug von Wireshark zu sehen, der einen vom Betriebssystem automatisch generierten dynamic Port verwendet um eine HTTPS-Anfrage (Port 443) an meinen Server (192.168.0.2) sendet.

Da ich alle meine Seiten über HTTPS gesichert habe sehen wir hier keine weitere Daten (wie z.b. das HTTP Protokoll) weil vorher schon die TLSv1.2 Verschlüsselung durchgeführt wurde.

Damit aber nicht jeder einfach jeden Port irgendwie willkürlich verwenden kann wurden standardisierte Ports für schon vorhandene Protokolle definiert.

Bekannteste standardisierte Ports

PortProtokoll
80HTTP
443HTTPS
21FTP & FTP mit explizitem TLS
22SSH
110POP3
995POP3 verschlüsselt
143IMAP
993IMAP verschlüsselt
25SMTP
587SMTP verschlüsselt
3306MySQL
53DNS

Unicast, Multicast & Broadcast Adressen

Unicast bedeutet das versenden von Daten von Interface A zu Interface B.

Multicast bedeutet das versenden von Daten an eine spezielle, vordefinierte Gruppe an Interfaces.

Beispiele für IPv6 Multicast-Adressen:

IP-AdresseVerwendung
ff02::1Alle Nodes im lokalen Netzwerk
ff02::2Alle Router im lokalen Netzwerk
ff05::1:5DHCP Server im lokalen Netzwerk
ff02::1:2DHCPv6 Server im lokalen Netzwerk

Broadcast ist im Prinzip eine spezielle Variante von einem Multicast – nämlich das alle Geräte in einem Netzwerk die Daten erhalten.

D.h. am Beispiel von einem 192.168.0.0/24 Netzwerk kann 192.168.0.255 (Broadcast-Adresse) angepingt werden und alle Interfaces in diesem Netzwerk antworten.

Weitere Arten von IPv6-Adressen

Temporäre IPv6-Adressen

Gehen wir vom Beispiel aus, dass im eigenen System keine temporären IPv6-Adressen vorhanden wären und der Client bzw. das Interface über SLAAC eine automatisch generierte IPv6 Adresse erhält, welche sich ja aus der MAC-Adresse des jeweiligen Interfaces generiert.

Wenn diese generierte IPv6-Adresse jetzt zur Verbindung nach außen ins Internet verwendet wird, wäre es für externe Tracking-Tools recht einfach ein User-Profil von dieser IP-Adresse zu erstellen, da ja die MAC-Adresse teil der IP-Adresse ist.

Daher wurden temporäre IPv6-Adressen eingeführt, welche sich zufällig beim Verbinden in das Internet generieren. Diese IPv6-Adressen werden dann hergenommen, wenn Daten aus dem Internet angefragt werden. Da diese regelmäßig gelöscht bzw. erneuert werden, ist es für externe Tracking-Tools nicht möglich rein über die IPv6-Adresse ein User-Profil zu erstellen und die Privatsphäre des Users ist gewährt.

Secured IPv6-Adressen

ACHTUNG: Diese Information ist noch nicht 100% bestätigt und reine Vermutung!

Secured IPv6-Adressen bleiben eindeutig für ein Interface in einem bestimmten Netzwerk.

Zum Beispiel erhält man immer die gleiche secured IPv6 Adresse im Netzwerk zuhause oder in der Firma damit dort z.B. eine spezielle Freigabe nur für diese IP erteilt werden kann.

Aktuell sieht man diese „secured“ IPv6-Adressen nur auf MacOS (Stand Juni 2019)

Siehe https://tools.ietf.org/html/rfc7217 bzw. https://tools.ietf.org/html/rfc3972

FAQs

Was ist der Unterschied zwischen einem Client und einem Interface?

Als Client wird prinzipiell ein Computer definiert, der im Netzwerk vorhanden ist. Jedoch kann ein Client mehrere Netzwerk-Interfaces haben, um mit mehren unterschiedlichen Netzwerken gleichzeitig zu kommunizieren.

Kann ein Interface mehrere IP-Adressen haben?

Ja! Bei IPv6 ist dies ja schon „Standard“ da es ja eine „Link Local“ und eine „Globale“ Adresse gibt, jedoch können auch bei IPv4 einem Interface mehrere IP-Adressen zugewiesen werden.

Wieso gibt es Subnetze?

Was ist eine IP-Adresse?

Damit Computer untereinander in einem Netzwerk „reden“ können muss es einen Weg geben die unterschiedlichen Geräte eindeutig zu identifizieren.
Für genau diesen Zweck wurde das „Internet Protocol“ (kurz IP) entwickelt.

Eine IP-Adresse ist eine im aktuell verwendeten Netzwerk eindeutige Nummer, die wie folgt aussehen kann:

IPv4: 192.168.0.10
IPv6: fe80::884:34ae:8eaf:a586

Was der genaue Unterschied zwischen IPv4 und IPv6 ist, kann im jeweilig verlinkten Beitrag extra nachgelesen werden.

Eine IP-Adresse kann so ähnlich gesehen werden wie eine Anschrift eines Hauses, nur das hier eben nicht steht „Hauptstraße 3, 8430 Leibnitz“ sondern „192.168.0.2“.

Kurz zusammengefasst musste die Anzahl an verfügbaren IP-Adressen vergrößert werden, da die 4.294.967.296 (232) verfügbaren IPv4 Adressen weltweit nicht ausreichend sind.
IPv6 bietet 340.282.366.920.938.463.463.374.607.431.768.211.456 (2128) verfügbare Adressen mit dem wir definitiv länger auskommen werden.

Warum wurde das IP-Protokoll entwickelt?

Vor dem IP Protokoll war es nicht möglich mehrere unterschiedliche Netzwerke miteinander zu verbinden bzw. dass 2 Rechner aus unterschiedlichen.

Mit dem IP-Protokoll soll es so einfach wie möglich sein mehrere Computer und Netzwerke miteinander zu verbinden ohne sich um Datenflussraten (=Baudraten) oder jegliche Adressenweitergabe zu kümmern.

Hauptaufgaben vom IP-Protokoll

  • Adressenvergabe
  • Befehle für den Auf- und Abbau von Verbindungen
  • Datenflusssteuerung durch Start- und Stopp-Anweisungen
  • Fehlererkennung durch Prüfsummen, Time-Outs etc.
  • Automatische Fehlerkorrektur bei Fehlererkennung

Hauptmerkmale vom IP-Protokoll

  • Es ist architekturunabhängige
  • Verbindung von und zu allen Netzwerkteilnehmern möglich
  • dynamisches Routing

Hierfür wurden die einzelnen Bereiche und Aufgaben in einzelne „Schichten“ gegeben – das Open Systems Interconnection model, kurz OSI.

OSI-Schichten Model

LayerNameProtokolleAufgaben bzw. Beschreibung
7ApplicationHTTP, FTP, DNSInteraktion mit Anwendungen
6PresentationSSL, TLS, MPEGKonvertierungs- und Kompressionsverfahren
5SessionNetBIOS, SMBAnforderung von Sitzungen und Datenströmen
4TransportTCP, UDPFlusskontrolle, Verbindungsauf- und abbau
3NetworkIP, ARP, IPSecRouting
2Data-LinkMAC, QoS, VLANFlusssteuerung, Fehlererkennung, Zugriffssteuerung
1PhysicalEthernetKupfer- oder Glasfaserkabel, WLAN, UMTS

IPv4

IPv4 wurde im RFC 791 im Jahre 1981 definiert. Es ist die erste Version, die weltweit zur Kommunikation von entfernten Computern verwendet wurde und ist/war ausschlaggebend für die Entwicklung des „Internets„.

Die IPv4 Adresse baut sich aus 32-Bit zusammen welche eine maximale Anzahl an 4.294.967.296 (232) verfügbaren IPv4 Adressen zur Verfügung stellt.

Netz- und Host-Anteil

Eine IP-Adresse besteht aus 2 Teilen – einem Netz-Anteil und einem Host-Anteil.
Die Unterteilung wird durch die sogenannte „Netzmaske“ definiert.

Beispiel: 24-Bit-Netzwerk

Subnetzmaske=11111111.11111111.11111111.00000000(255.255.255.0)
Netzteil=11000000.10101000.00000000(192.168.0)
Netzwerkadresse=11000000.10101000.00000000.00000000(192.168.0.0)
Erste Adresse=11000000.10101000.00000000.00000001(192.168.0.1)
Letzte Adresse=11000000.10101000.00000000.11111110(192.168.0.254)
Broadcast=11000000.10101000.00000000.11111111(192.168.0.255)

Anzahl zu vergebenden Adressen: 28 − 2 = 254

28 deswegen, weil 32-Bit allgemein zur Verfügung stehen und 24-Bit von der Netzmaske schon „belegt“ sind. Deswegen bleiben nur mehr 8-Bit übrig.

Die Netzwerk-Adresse (192.168.0.0) und die Broadcast-Adresse (192.168.0.255) werden bei der Anzahl der zu vergebenen Adressen immer abgezogen, weil diese nicht als Client-Adressen verwendet werden sollten.

Beispiel: 16-Bit-Netzwerk

Subnetzmaske=11111111.11111111.00000000.00000000(255.255.0.0)
Netzteil=11000000.10101000(192.168)
Netzwerkadresse=11000000.10101000.00000000.00000000(192.168.0.0)
Erste Adresse=11000000.10101000.00000000.00000001(192.168.0.1)
Letzte Adresse=11000000.10101000.11111111.11111110(192.168.255.254)
Broadcast=11000000.10101000.11111111.11111111(192.168.255.255)

Anzahl zu vergebenden Adressen: 216 − 2 = 65,534

Vorgemerkte IP-Adressen-Bereiche

Nicht alle der 232 verfügbaren IP-Adressen haben die gleiche „Funktionalität“ sondern sind gewissen Bereichen zugewiesen. Die wichtigsten sind:

Adressblock (Präfix)VerwendungReferenz
0.0.0.0/8Das vorliegende NetzwerkRFC 1122
10.0.0.0/81 privates 8-Bit-NetzwerkRFC 1918
127.0.0.0/8Loopback (Lokaler Computer)RFC 1122
169.254.0.0/16Privates Netzwerk (link local), APIPARFC 3927
172.16.0.0/1216 private 16-Bit-NetzwerkeRFC 1918
192.168.0.0/16256 private 24-Bit-NetzwerkeRFC 1918
255.255.255.255/32Limited BroadcastRFC 919RFC 922

Die meisten hier aufgezeigten IP-Adressen-Bereiche sind für den privaten Gebrauch und damit im „LAN“ Bereich vorgesehen.

Durch diese (und weitere andere vordefinierte Bereiche) verringert sich die maximale Anzahl an global verfügbaren IP-Adressen deutlich.

Source: https://de.wikipedia.org/wiki/IPv4

IPv6

IPv6 wurde im RFC 2460 im Jahre 1998 definiert bzw. im Jahr 2017 durch den RFC 8200 ersetzt. Es ist der Nachfolger von IPv4 um diverse Probleme des nun „veralteten“ IP-Protokolls zu beheben.

Schreibweise

Da IPv6 aus 128-Bit besteht wäre eine dezimale Schreibweise gleich wie bei IPv4 nicht wirklich effizient. Daher wurde die hexadezimale Schreibweise gewählt.

2001:0db8:85a3:08d3:1319:8a2e:0370:7344

Führende Nullen in einem IPv6 Block dürfen weggelassen werden. Beispiel:

2001:0db8:0000:08d3:0000:8a2e:0070:7344

wird zu

2001:db8:0:8d3:0:8a2e:70:7344

Wenn 2 oder mehrere Blöcke hintereinander nur aus 0 bestehen können diese mit zwei : abgekürzt werden. Beispiel:

2001:db8:0000:0000:0000:0000:1428:57ab

wird zu

2001:db8::1428:57ab

Merke hier die zwei : zwischen db8 und 1428.

Jedoch darf diese Reduktion nur 1 mal ausgeführt werden! Beispiel:

2001:0db8:0:0:8d3:0:0:0

darf nur

2001:db8:0:0:8d3::

oder

2001:db8::8d3:0:0:0

werden.

Daher ist die folgende IPv6 Adresse keine ungültige Adresse:

2001:db8::8d3::

URL-Notation: http://[2001:0db8:85a3:08d3::0370:7344]:8080/

Die üblichen Subnetz-Größen bewegen sich zwischen /32 und /64.

Source: https://www.ripe.net/manage-ips-and-asns/ipv6/ipv6-subnetting-card

Natürlich könnte man nach /64 noch weitere Subnetze erstellen, jedoch verliert man dann ein Feature von IPv6 – die „Stateless Address Autoconfiguration“ (SLAAC) – siehe weiter unten für Beschreibung.

Link Local und Global Adresse

Bei IPv6 ist es nun standard, dass beim Verbinden eines Interfaces zu einem Netzwerk automatisch eine „link local“ und (wenn ein IPv6-Präfix vorhanden ist) eine „global“ Adresse generiert wird.

Die „Link Local“ Adresse dient – wie zu erwarten – nur für das lokal verbundene Netzwerk. Diese ist immer Teil folgendes Netzwerks: fe80::/64

Die „Global“ Adresse dient – ebenso wie zu erwarten – für das globale Netzwerk aka das „Internet“. Diese erscheint aber nur, wenn dem verbundenen Router auch ein IPv6-Präfix zugewiesen ist.

Weiters gibt es aus Security-Gründen „temporäre“ und „secured“ IPv6-Adressen. Was diese sind bzw. warum es diese gibt wird HIER genauer beschrieben.

Neue Features von IPv6

Größere Anzahl an verfügbaren Adressen

IPv6 Adressen bestehen aus 128-Bit – IPv4 besteht aus 32-Bit.

D.h. 340.282.366.920.938.463.463.374.607.431.768.211.456 (2128) im Gegensatz zu 4.294.967.296 (232) .

Zustandslose automatische Konfiguration von Clients ermöglichen (SLAAC)

Um eine IPv4-Adresse automatisch von z.B. einem WLAN-Router zu erhalten muss dieser die Funktionalität „DHCP“ aktiviert und konfiguriert haben.

Wenn jedoch ein IPv6 Netzwerk mit einer mindest Subnetz-Größe von /64 vorhanden ist, kann die MAC-Adresse des jeweiligen Clients als Teil der IPv6-Adresse hergenommen werden. Dies gilt sowohl für den „link-local“ als auch den „global“ Bereich von IPv6-Adressen.

Hier ist nun visuell dargestellt, wie aus einer 48-Bit MAC-Adresse und dem 64-Bit „link-local“ Präfixes eine automatische IPv6-Adresse generiert wird.

Source: https://www.elektronik-kompendium.de/sites/net/1902131.htm

Es gibt auch diverse Webseiten, die aus MAC-Adressen die IP-Adresse berechnen bzw. umgekehrt (wie z.B. http://silmor.de/ipaddrcalc.html#ip6)

Implementation von Sicherheitsmaßnahmen (IPsec)

Die „Internet Protocoll Security“ (IPsec) ist ein auf der 3-Schicht des OSI-Layer Models aufgebautes Protokoll, welches die Verschlüsselung und Authentifizierung von IP-Paketen ermöglicht.

Prinzipiell ist jedem HTTPS bzw. SSL und TLS bekannt, jedoch arbeiten diese Protokolle in höheren OSI-Layer-Schichten (HTTPS in der 7-Schicht und TLS in der 4-Schicht). Daher könnte trotzdem „jemand“ über die 3-Schicht gewisse Daten abfangen und/oder manipulieren.

Daher wurde zusammen mit der Entwicklung von IPv6 auch das IPsec Protokoll entwickelt.

Bewahrung des „Point-to-Point-Prinzips

Das „Point-to-Point-Prinzip“ besagt, dass nur die Endpunkte einer Verbindung die aktiven Protokolloperationen durchführen sollen, nicht die Stationen dazwischen. Grundvoraussetzung dafür ist eine global eindeutige IP-Adresse pro Endpunkt.

Dies ist aber beim aktuell aktiven IPv4 Netzwerk nicht möglich, da nicht jedes Netzwerkgerät eine eindeutige globale IPv4 Adresse hat (siehe ebenso NAT)

Vorgemerkte IPv6 Bereiche

Wie auch bei IPv4 gibt es bei IPv6 vorgemerkte Bereiche, die einer gewissen „Funktionalität“ zugewiesen sind.

Adressblock (Präfix)VerwendungReferenz
::1/128Loopback (Lokaler Computer)RFC 4291
2000::/3 Global UnicastRFC 4291
FC00::/7Unique Local UnicastRFC 4193
FE80::/10Link Local UnicastRFC 4291
FF00:/8MulticastRFC 4291

Es gibt auch diverse andere Bereiche, die für die „Konvertierung“ von IPv4 auf IPv6 Adressen verwendet werden wie z.B. 2002::/16 für das 6-to-4-Tunneling laut RFC 3056.

Was Unicast und Multicast ist wird HIER weiter behandelt.

Hier sind 2 gute Podcasts in Bezug zu IPv6:
https://cre.fm/cre197-ipv6 oder https://requestforcomments.de/archives/412

Sources:
https://de.wikipedia.org/wiki/IPv6
https://www.heise.de/IPv6-Adressen-3484199.html

Subnetze und Netzmaske

Eine IP-Adresse kann in 2 unterschiedliche Teile aufgespalten werden – den Netz- und den Host-Bereich.

Die Unterteilung wird durch die Netzmaske definiert, welche sich gleich wie die IP-Adresse aus 32 Bit zusammenbaut (also zwischen 0.0.0.0 und 255.255.255.255)

Der Netz-Bereich geht von links nach rechts, der Host-Bereich von rechts nach links.

Beispiel

Netzmaske 255.255.255.0 – Kurzschreibweise /24
Mögliche IP-Adressen in einem Netzwerk: 254

Das heist wenn wir jetzt ein „Netzwerk“ definieren mit 192.168.0.0 haben wir die ersten 3 Zahlen 192.168.0 als Netz-Bereich und die letzte Zahl 0 als Host-Bereich.

Theoretisch hätten wir 256 IP-Adressen zur Verfügung, jedoch sind die erste und letzte IP-Adresse in einem Subnetz immer vorgegeben. Am Beispiel von /24

192.168.0.0 => Netzwerk-Adresse
192.168.0.255 => Broadcast-Adresse

Daher haben wir „nur“ den Bereich von 192.168.0.1 bis 192.168.0.254 zur Verfügung was zu maximal 254 gleichzeitig vergebenen IP-Adressen führt.

Wenn wir mehr Geräte in einem Netzwerk haben wollen müssen wir die Netzmaske verkleinern. Siehe hierzu diese Tabelle:

Netzmaskenutzbare IPv4-AdressenMaske als Bit-Muster
255.0.0.0(/8)max. 16.777.2141111’1111.0000’0000.0000’0000.0000’0000
255.240.0.0 (/12)max. 1.048.5741111’1111.1111’0000.0000’0000.0000’0000
255.255.0.0 (/16)max. 65.5341111’1111.1111’1111.0000’0000.0000’0000
255.255.240.0 (/20)max. 40941111’1111.1111’1111.1111’0000.0000’0000
255.255.248.0 (/21)max. 20461111’1111.1111’1111.1111’1000.0000’0000
255.255.252.0 (/22)max. 10221111’1111.1111’1111.1111’1100.0000’0000
255.255.254.0 (/23)max. 5101111’1111.1111’1111.1111’1110.0000’0000
255.255.255.0 (/24)max. 2541111’1111.1111’1111.1111’1111.0000’0000
255.255.255.128 (/25)max. 1261111’1111.1111’1111.1111’1111.1000’0000
255.255.255.192 (/26)max. 621111’1111.1111’1111.1111’1111.1100’0000
255.255.255.224 (/27)max. 301111’1111.1111’1111.1111’1111.1110’0000
255.255.255.240 (/28)max. 141111’1111.1111’1111.1111’1111.1111’0000
255.255.255.248 (/29)max. 61111’1111.1111’1111.1111’1111.1111’1000
255.255.255.252 (/30)max. 21111’1111.1111’1111.1111’1111.1111’1100
255.255.255.254 (/31)2 als P2P1111’1111.1111’1111.1111’1111.1111’1110
255.255.255.255 (/32)Keine1111’1111.1111’1111.1111’1111.1111’1111

Jedoch können auch mehrere Subnetze erstellt werden um die Anzahl der IP-Adressen zu vergrößern, jedoch braucht man dann einen Router um die unterschiedlichen Subnetze miteinander verbinden zu können.

Wieso gibt es Subnetze?

Subnetze werden benötigt damit Clients wissen, ob ein IP-Packet rein im lokalen Netz weitergeleitet werden muss oder ob es an den Router (und damit an ein anderes Netzwerk) versendet werden muss.

Switch

Ein Switch dient dazu mehrere Computer über LAN-Kabel miteinander zu verbinden sodass diese Computer miteinander kommunizieren können.

Diese Computer müssen sich im „gleichen Netzwerk“ verbinden um miteinander kommunizieren zu können.

Zum Beispiel:

„Computer 1“: 192.168.0.1/24
„Computer 2“: 192.168.0.2/24

Aber ein „Computer 3“ mit der IP 192.168.1.1/24 kann nicht mit „Computer 1“ oder „Computer 2“ kommunizieren da er in einem anderen Subnetz ist. Siehe Subnetz für weitere Details.

Im Gegensatz zum Router besitzt der Switch keine weitere Funktionalität um gewissen Netzwerkverkehr zu steuern oder zu kontrollieren.

Wenn man jetzt rein theoretisch das Netzwerk als reinen „Stromlieferanten“ sieht kann man den Switch mit einem typischen Netzverteiler vergleichen.

Source: https://de.wikipedia.org/wiki/Switch_(Netzwerktechnik)
Licence: https://creativecommons.org/licenses/by-sa/3.0/

Router

Ein Router verbindet mehrere Rechnernetzwerke miteinander, sodass Computer zwischen 2 oder mehreren Rechnernetzwerken miteinander kommunizieren können.

In dem oben beschriebenen Beispiel können je nach Konfiguration des Routers alle Geräte in den Netzwerken 1-4 miteinander kommunizieren und haben (durch die Verbindung zwischen Router und Modem) eine Verbindung ins Internet.

Router arbeiten in der 3 Schicht („Network Layer“) des OSI-Modells. In dieser Schicht stehen Informationen wie z.B. IP-Adressen des Versenders und Empfängers, Time-To-Live oder Protokoll-Typ.

Durch die IP-Adressen des Versenders und des Empfängers weiß der Router wie bzw. über welches Interface das Paket weiterverschickt werden muss.

Was sind WAN und LAN?

Da nun mehrere unterschiedliche Rechnernetzwerke aufeinander treffen braucht es nun eine Unterscheidung zwischen lokalen und anderen, weiterführenden Netzwerken.

Hierfür gibt es die Bezeichnungen „Wide Area Network“ (WAN), welches einen globalen Netzwerkbereich beschreibt, und „Local Area Network“ (LAN), welches einen privaten Netzwerkbereich beschreibt.

Meistens besitzen auch die Router einen speziell definierten „WAN“-Port, der für die einkommende Internetverbindung verwendet werden muss.

Beispiele

LAN-Netzwerke: Zuhause, Firma, Schule
WAN-Netzwerke: Das ganze Internet auf der Welt

Am WAN-Port wird die einkommende Internetverbindung angeschlossen und an die LAN-Ports die diversen Clients und/oder weitere Router oder Switches für die eigene, lokale Netzwerkstruktur.

Viele Router-Geräte beinhalten ein integriertes Modem, welches die Authentifizierung bei dem „Internet-Service-Provider“ (ISP) übernimmt.

Aber manche Internet-Anbieter verwenden auch ein extra Gerät rein als Modem.

Source: https://de.wikipedia.org/wiki/Router