Netzwerklösungen, Webprogrammierung, Intranetlösungen, Datenbanken, Anwendungsprogrammierung und Systemsicherheit aus einer Hand in Bad Tölz / Oberbayern 
Router:

Diese Seite beschreibt die Funktionsweise eines Routers

Netzwerk StartseiteInformationen zu unserem WebauftrittDruckbares LayoutKontakt
Stichwortsuche und Glossar:
          Home | Systemsicherheit | Webprogrammierung | Betriebssysteme | Netzwerk

 Router

 
  Router(*)
192.168.0.2
195.37.209.36
Router Provider Provider Internet
Workstation
192.168.0.10
Workstation Workstation Provider
195.37.209.1
Zugang zum
Backbone

Frage: Ist so ein Router ein Server oder ein Client?

Nun - ein Router ist beides - ein Zwitter sozusagen. Wenn man ihn vom LAN aus betrachtet, dann verhält er sich wie ein Server der den "Dienst" Gateway bereitstellt, und "von außen" sieht er wie ein Client aus.
Seine primäre Aufgabe ist, Informationen aus dem LAN mit einem anderen Netzwerk (z.B. das Internet) auszutauschen. Natürlich sollte er dabei auch zusehen, daß niemand "von außen" einfach auf das LAN zugreifen kann. IP-Masquerading ist daher angesagt.

Vielleicht ist es Dir etwas seltsam vorgekommen, daß der Router gleich zwei IP-Adressen hat. Wirklich seltsam, aber ganz logisch, wenn man bedenkt, daß ein Rechner gar keine IP-Adresse haben kann. Nur die Netzwerkkarte oder die ISDN-Karte kann eine IP-Adresse haben. Und unser Router hat beides - also auch zwei IP-Adressen.

Die erste, also die 192.168.0.2, ist seine Netzwerkkarte. Wie jeder andere Rechner im LAN auch...

Die zweite, also die 195.37.209.36, ist seine ISDN-Karte. Und diese Adresse kriegt er mittels DHCPerst, wenn er sich mit seinem Provider verbindet.

Aus dieser "Hardware" ergibt sich dann schon die sogenannte Routing-Tabelle, aus der er sich die Informationen herholt, die er als "Paketübermittler" braucht:

Wir sind zunächst noch "offline":

Kernel IP routing table
Destination  Gateway  Genmask         Flags  MSS   Iface
--------------------------------------------------------
192.168.0.9  0.0.0.0  255.255.255.255 UH     1500  ippp0
192.168.0.0  0.0.0.0  255.255.255.0   U      1500  eth0
127.0.0.0    0.0.0.0  255.0.0.0       U      3584  lo
  • Der erste Eintrag ist eine Hostroute, zu erkennen an den Flags "UH" und der Netzwerkmaske (Genmask) 255.255.255.255.
    Übrigens - das "U" bei den Flags steht für "UP", frei übersetzt also "aktiv".
    Zieladresse (Destination) ist zunächst noch ein "Dummy": 192.168.0.9 und das ganze ist an das Interface (Iface) ippp0 (=ISDN-Karte) gebunden.
    Die maximale IP-Paketgröße (MSS) beträgt 1500 Bytes.
  • Dann kommt eine Netzwerkroute, zu erkennen an den Flags "U" und der Netzwerkmaske (Genmask) 255.255.255.0, mit der sich das Interface (Iface) eth0 (=Netzwerkkarte) an das LAN koppelt. Auch hier beträgt maximale IP-Paketgröße (MSS) 1500 Bytes.
  • Zu Testzwecken noch der dritte Eintrag, der sogenannte "Loopback", für den reinen Betrieb als Router aber eher uninteressant.

Nun gehen wir Online, und jetzt wird es interessant:

Kernel IP routing table
-------------------------------------------------------------
Destination  Gateway       Genmask         Flags  MSS   Iface
195.37.209.1 0.0.0.0       255.255.255.255 UH     1500  ippp0
192.168.0.0  0.0.0.0       255.255.255.0   U      1500  eth0
127.0.0.0    0.0.0.0       255.0.0.0       U      3584  lo
0.0.0.0      195.37.209.1  0.0.0.0         UG     1500  ippp0
  • Der erste Eintrag läßt vermuten, daß die ISDN-Karte vom Provider die Adresse 195.37.209.1 zugewiesen bekommen hat. Das ist aber völlig falsch, denn es geht bei dieser Hostroute darum, an welchen Host die weiterzuleitenden IP-Pakete geschickt werden sollen. Das ist dann auch "zufällig" die Gatewayadresse des Providers.
    Es bleibt dabei: Der "Client-Teil" des Routers hat die vom Provider dynamisch zugewiesene IP-Adresse 195.37.209.36, die an seine ISDN-Karte gebunden ist.!!!
  • Den zweite Eintrag kennen wir schon...
  • Den dritten auch...
  • Und dieser vierte Eintrag ist der eigentliche Gag an der ganzen Sache: Die Gateway-default-Route zu erkennen an den Flags "UG" und an der Gatewayadresse (Gateway) 195.37.209.1.
    Doch was ist das für eine Zieladresse?
    Nun die 0.0.0.0 steht für "Default", also "voreingestellt" oder "wenn vom Router nicht anders verordnet".
    Also alle IP-Paketchen, die nicht zum eigenen Netz gehören (das genau ist mit "default" gemeint) sollen zu diesem Gateway geschickt werden. Und dieses Gateway entscheidet dann anhand der Adresse des IP-Paketchens, ob es für sein Netz (also alle IP's mit 195.37.209.x) bestimmt ist, oder nicht. Dort passiert also haargenau das gleiche, wie auf unserem Router, nur mit einer etwas anderen IP-Adresse. Und das gilt für den Rest des Internets auch....

Nun zu unserem IP-Paketchen:

  1. Es kommt am Router an. Der Router schaut auf den Absender 192.168.0.10 - aha - einer aus dem LAN
  2. Der Router schaut auf die Adresse: 137.78.99.24 - aha - "Ausländer"!
  3. Also Absender löschen und den eigenen Absender (195.37.209.36) draufkleben. Das ist IP-Masquerading 1. Teil, denn niemand soll ja "von außen" merken, daß hinter dem Router noch ein ganzes LAN steckt.
  4. Absender merken, denn wenn die Antwort vom Absender 137.78.99.24 kommt, dann muß diesmal die Adresse dieser Antwort (logischerweise 195.37.209.36, denn das hatte unser Router vorher draufgeklebt) wieder umgeklebt werden auf 192.168.0.10:
    IP-Masquerading 2. Teil.
  5. Und ab geht die Post zum Provider. Dieser stellt fest: Nicht für mein Netz, also weiter zum nächsten Gateway. Dieses stellt fest, daß... Und so geht die Reise weiter bis zur NASA.

Zuckerl: Nun muß man nicht immer weit entfernte und möglichst noch riesengroße Dateien anfordern. Denn wenn auf dem Router ein sogenannter Proxy installiert ist, dann lohnt es sich in mindestens 90% aller Fälle, erst mal im Proxy-Cache (ein organisierter Haufen Dateien auf der Festplatte) nachzuschauen, ob diese Datei schon mal geladen worden ist.
Wenn ja, nur mal das Dateidatum (wenige Bytes) des Originals mittels ICP abfragen und es mit dem der Datei im Cache vergleichen. Stimmt dieses überein - wie gesagt in mindestens 90% aller Fälle, dann die Datei nicht anfordern, sondern direkt vom Cache zum Netzwerkteilnehmer schicken.
Der Geschwindigkeitsgewinn ist wirklich berauschend!!!!