Subnetze: Warum Standard-Gateway notwendig?
Alter Passivleser
- netzwerk
- routing
Guten Morgen zusammen,
ich habe gerade aufgrund einer Diskussion leichte Verständnisschwierigkeiten im Bereich von TCP/IP (bzw. vorwiegend letzterer Teil, will UDP müsste ja gleich sein).
Und zwar benötige ich für eine vollständige IP-Konfiguration ja eine Subnetzmaske, bspw. /24 oder so.
Angenommen, ich habe 192.168.1.2 als IP und möchte 192.168.1.3 kontaktieren. Baut mein Rechner also ein Paket zusammen und schickt das ans Kabel. Jetzt möchte ich auch noch 192.168.254.2 kontaktieren, also baut mein Rechner sein Paket zusammen ... und schickt das ans Kabel.
Dass der Router nun das Paket nimmt und ins andere Netz weiterleitet, dürfte mich ja eigentlich gar nicht interessieren, das ist ja die Aufgabe vom Router.
Was übersehe ich? Was unterscheidet die zwei Pakete, abgesehen von der IP?
Danke :)
Was übersehe ich? Was unterscheidet die zwei Pakete, abgesehen von der IP?
Deine „Pakete“ bekommen einen „Umschlag“, der nennt sich „Frame“. Und auf dem steht die „MAC-Adresse“ des Zielhostes. Das ist bei Paketen, die in ein fremdes Netz sollen, also ein Frame mit der Mac-Adresse des Routers. Abgesehen von bestimmten Sonderfällen („Promiscuous-Modus“ für spezielle Fälle) nimmt jedes Netzgerät (Nicht: Switche oder Hubs) nur Frames an, die für dieses bestimmt sind. Switche nehmen jeden Frame, entscheiden anhand der Mac-Adresse des Zieles, an welchen (Ethernet-)Port sie diese weitergeben. Dafür braucht es „unfassbar wenig“ Intelligenz, der Vergleich von Bitmustern reicht - deshalb sind Switche (und Netzwerkkarten) so billig.
Kommen diese Frames also am Router an, packt der Router die Pakete aus, ermittelt aus der Ziel-IP und seiner Routing-Tabelle via Address Resolution Protocol (ARP) die Mac-Adresse des nächsten Ziels (weiterer Router oder, wenn letzte Station, des Hosts) und packt das Paket in einen neuen Frame und schickt es weiter. Das ist dann OSI-Level 3.
Kommen diese Frames aber am Zielhost an wird der Frame ebenfalls „entpackt“, das aufscheinende Paket wird entsprechend der darin enthaltenen Angabe von IP, Protokoll (TCP, UDP, SCTP, IPX) und Port an die Anwendung weitergeleitet und in den Schichten 4 bis 7 verarbeitet. „Verarbeitet“ kann übrigens auch „verworfen“ bedeuten.
Stimmt, ARP hatte ich ganz verdrängt. Danke dir für die Erhellung:)
Nun halte ich das ganze aber für eine "doofe Idee". Klar, da haben sich viele schlaue Leute Gedanken gemacht, es wird schon so passen. Aber:
Warum muss der einzelne Rechner wissen, in welchem Netz er ist? Abgesehen von der tatsächlichen Implementation, hätte irgendwas dagegen gesprochen, dass der Router routet und weiß, welche IP in welchem Netz ist, ohne, dass sich der einzelne Rechner Gedanken machen muss?
Warum muss der einzelne Rechner wissen, in welchem Netz er ist?
Schon mal, weil er gleichzeitig in mehreren Netzen sein kann…
Abgesehen von der tatsächlichen Implementation, hätte irgendwas dagegen gesprochen, dass der Router routet und weiß, welche IP in welchem Netz ist, ohne, dass sich der einzelne Rechner Gedanken machen muss?
Ja! Das Routen ist deutlich langsamer als das Switchen. Switchen (oder auch nur das Aussortieren der unzutreffenden Frames am Eingangspunkt anhand der MAC-Adresse) ist mit ein paar primitiven und billigen ASICs zu machen. Router brauchen mehr Intelligenz, mehr Verwaltung - also teure vollwertige Computer - und sind um Klassen langsamer.
Ja! Du willst ja auch nicht, dass Deine Postpakte, die in Berlin bleiben sollen, erstmal nach … nehmen wir Bad Hersfeld … gefahren und sodann nach Berlin zurück gekarrt werden. Das dauert (mindestens) einen Tag länger, birgt die Gefahr von Verzögerungen und Beschädigungen und „kostet Umwelt“. Bei Bits und Bytes ist das nicht anders.
Ja! Die Router müssten wesentlich mehr Last (v)ertragen. Weil dann der innere Netzverkehr bei Deiner zentralistischen Idee auch über diese laufen würde. Wie teuer und langsam darf's denn werden?
Ja! Es gibt nicht nur IP-Netze.
Ja! Das immer ein niedriges OSI-Level die anderen schultert hat den Vorteil, dass sich „alles in allem verpacken“ lässt. Zum Beispiel sind VPNs ein vollständiger (und verschlüsselter) OSI-Stack, der selbst in den Schichten 4 bis 7 das virtuelle Netz baut.
Ja! Durch die OSI-Schichten ist, wird und beibt das Netz technlogie-offen. Du kannst Deine Daten auch heute noch per Modem (PPP, Point to Pint Protocol) oder Ethernet, Glasfaser, [ASV]DSL (PPoE, Point to Pint over Ethernet), Wlan übertragen und es ist egal, welche Protokolle aus den höheren Schichten Du damit transportierst…
Warum muss der einzelne Rechner wissen, in welchem Netz er ist?
Schon mal, weil er gleichzeitig in mehreren Netzen sein kann…
Ok, aber das ist ja grundsätzlich erst mal nicht fürs Subnetz relevant, da kennt er ja seine IP-Adresse und bspw das VLAN. Aber Routing ist immer noch - außer vllt welches Netzwerkinterface - nichts, worum sich der Rechner selbst kümmern sollte.
- Ja! Du willst ja auch nicht, dass Deine Postpakte, die in Berlin bleiben sollen, erstmal nach … nehmen wir Bad Hersfeld … gefahren und sodann nach Berlin zurück gekarrt werden
Stimmt, aber dafür gibt's ja wieder Router, die sich drum kümmern ... ;) Da drehen wir uns im Kreis.
Ansonsten: vielen Dank für deine doch recht lange Liste an Argumenten, so wird ein Schuh draus. Letztlich läuft es also doch immer wieder aufs Geld raus, aber zumindest macht es technisch soweit auch Sinn. Ich glaube, ich hab's soweit verstanden :)
- Ja! Du willst ja auch nicht, dass Deine Postpakte, die in Berlin bleiben sollen, erstmal nach … nehmen wir Bad Hersfeld … gefahren und sodann nach Berlin zurück gekarrt werden
Stimmt, aber dafür gibt's ja wieder Router, die sich drum kümmern ... ;) Da drehen wir uns im Kreis.
~410 Km (Autobahn). Das zweimal, also 820km. Macht 2.73 Millisekunden. Allein für den Tranport mit Lichtgeschwiedigkeit („Reine Fahrzeit“). Dazu kommen Verzögerungen durch den Router und Probleme bei der Auffahrt (in einem Netz, wie Du es beschreibst kann nicht jedes Datenpaket sofort transportiert werden.)
In der Konsequenz hast Du dann Verzögerungen, die durchaus spürbar sind:
Ich hatte meinen NAS (NFS, iSCSI) kurz in einem Subnetz (DMZ). Gegenüber der Verbindung mit einen Switch (zu den NFS-Clients/iSCSI-Initiatoren) war die Performance grauenhaft. Freilich muss man das in manchen Netzen machen, aber iSCSI oder vergleichbare Datenstransporte zwischen den Servern willst Du nicht wirklich via Router machen.
Wie viele „192.168.254“ gibt es wohl? Und wenn die da alle, irgendwie, mit dran hängen: welches ist gemeint? So wie es ist, meint der Router doch nur „kenn ich nicht, muß ich Chefe sagen“. Aber wie erreicht man den nur?