PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundsatzfragen Netzwerktechnik, Kommunikation über Netze hinweg


mittelding
2012-06-24, 16:01:52
Hallo!

Ich kam weder in der Schule, noch im Studium mal in den Genuss einer Veranstaltung, welche sich mit Rechnernetzen/Netzwerktechnik befasst hat. Aus eigenem Interesse hole ich das gerade nach und fahre auch ganz gut dabei, ein paar Verständnisfragen sind allerdings noch da.

Folgende (theoretische Situation):

In einem kleinen Netzwerk gibt es einen Router, welcher das Netzwerk mit dem Internet verbindet. An diesem Router hängt noch ein Switch, und an diesem Switch dann die endgültigen Teilnehmer. Dieses kleine Netzwerk sei in 2 Subnetze unterteilt, der Router bräuchte also wohl 2 "lokale" IPs, um an beiden Subnetzen teilnehmen zu können. Und eben noch eine "WAN-IP" für's Internet.

Mich interessiert der genaue Ablauf folgender 3 Fälle:


Computer A möchte etwas an Computer B im selben Subnetz verschicken
Computer A möchte etwas an Computer C im anderen Subnetz verschicken
Computer A möchte etwas an einen entfernten Rechner D im Internet schicken


Sehe ich folgendes richtig?

Der allererste Schritt, den Computer A in allen 3 Fällen macht, ist anhand der Subnetzmaske und der Ziel-IP zu bestimmen, ob der Zielrechner im selben Subnetz liegt wie er selbst. Erst danach muss man die 3 Fälle unterscheiden. Soweit korrekt?

Falls A und B im selben Subnetz liegen, so muss A gar nichts weiter beachten und haut einfach seine Message raus ("Message" definiere ich mal nicht weiter, es geht ja eher um das, was drumherum passiert). Die Daten würden gar nie über den Router laufen, sondern können schon vom Switch zuvor richtig zugestellt werden.

Falls A den Rechner C ansprechen möchte und er über die Subnetzmaske rausgefunden hat, dass C in einem anderen Subnetz liegt, so weiß er, dass das nicht direkt geht.
Was ich denke, was er nun tut: immer, wenn der Zielrechner nicht im eigenen Netz liegt, so geht die Nachricht immer an den Standard-Gateway. In meinem Falle wäre das ja der Router. Der Standardgateway müsste den Rechnern ja bekannt sein, entweder weil man die Adresse manuell eingepflegt hat, oder aber weil sich alle Rechner über DHCP anmelden und den Gateway so mitgeteilt bekommen.

Also kurz, ist das wirklich die Idee? Zielrechner nicht im selben Netz, dann einfach stattdessen den Standardgateway ansteuern und gut ist. Das, was der Router dann macht (seine network address translation) habe ich denke ich begriffen.

Fall 3 (Rechner A möchte mit entferntem Rechner im Netz kommunizieren) ist dann wohl ziemlich ähnlich zu Fall 2. Entfernter Rechner befindet sich nicht im gleichen Netz -> standardgateway regelt.

In Fall 1 wäre der Router gar nicht nötig (selbes Subnetz, Switch kann das alleine regeln), in Fall 2 schon (2 Subnetze verbinden) und in Fall 3 sowieso (Subnetz mit Internet verbinden).

Kann man das alles so sagen?


Danke

Zafi
2012-06-25, 00:55:14
Ich hätte hier nur zwei Einwände. Erstens: Aus praktischer Sicht würde das nicht funktionieren, weil gewöhnliche Router (soweit ich weiß) nicht für drei Netze sondern nur für zwei ausgerichtet sind (Internet und Heimnetz). Wenn du das also demonstrieren musst, dann wird es dir vermutlich mit einem 0815 Router nicht gelingen. Aber aus theoretischer Sicht ist es korrekt. Zweitens: Die Bezeichnung Gateway würde ich zumindest im Fall 2 nicht verwenden (evtl. auch im Fall 3), weil sie nicht ganz richtig ist. Ist natürlich schwierig, weil Gateways und Router gerne mal zusammen wachsen. Aber ein Blick in die Vergangenheit zeigt auf, dass Gateways ursprünglich dazu da waren, um Protokolle zu übersetzen. Wogegen Router zwei Netze miteinander verbinden. Wenn es also über die Telefonleitung ins Internet geht, dann kannst du von Gateways sprechen (obwohl sie hier auch Routen). Bleibt das Protokoll aber gleich, weil du direkt mit dem Internet verbunden bist oder weil es nur in ein anderes Subnetz geht, dann wird nur geroutet (= Router) und nicht gegatewayt. ;)

Ich muss dir aber ganz ehrlich sagen, dass Theorie nicht ganz so mein Ding ist. Falls du also für eine Prüfung büffelst und Antworten für deinen Prof. brauchst, dann solltest du dir lieber jemanden suchen, der das auf der Schulbank gelernt hat.

StarGoose
2012-06-25, 01:15:49
"lern" einfach mal die zusammensetzung vom ip paketen und dann lies dir die beschreibungen zu switch und router in der wiki durch

begriffe sind dann OSI-Schichtenmodell

du schreibst deinem client viel zuviel intelligenz zu die sich eigentlich aus der funktion des switches oder routers ergeben
denn dort sitzt die netz bzw. ip paket verteilung und nicht in den clients
die schicken ihre pakete einfach mit der ziel adresse los und pappen ihre absende ip mit dran
was damit geschieht ist dann aufgabe anderer geräte
und da sind switche layer 2 vermittler und router arbeiten schon auf layer 3

wie der client die ziel ips erhält und die netztopologie erstellt wird ist ne andere geschichte (siehe DNS und DHCP)
einfach mal alle begriffe nehmen und wenigstens die wikis duchackern um etwas grundlage zu erhalten

mittelding2
2012-06-25, 20:30:27
Vielen Dank euch beiden.

@Zafi: Richtig, der Unterschied ist mir bewusst, man müsste wohl default-router sagen :)

@ StarGoose:

Bist du dir da sicher? Ich habe mich schon etwas eingelesen, so ist es nicht.

So dumm können die einzelnen Rechner/Teilnehmer nicht sein. Die holen sich per ARP ja schonmal die zur Ziel-IP gehörende Ziel-MAC. Wie du schon sagtest arbeiten Switches auf Layer2 und interessieren sich gar nicht für IP-Pakete, sondern für Ethernet Frames. Der Aufbau eines IP-Pakets ist zumindest bei der Betrachtung mit Switches also egal. Desweiteren haben Rechner auch Routing-Tabellen. Gib mal netstat -r ein, ich wette, du findest dort deinen Home-Router als Gateway (falls du ein klassisches Heimnetz mit DSL-Router haben solltest). Wo sollte hierbei denn der Sinn liegen, wenn sich Rechner gar nicht für sowas interessieren würden?

Mit MAC-Adressen aus fremden Subnetzen kann ein Switch nichts anfangen. Folglich schickt nach meinem Verständnis der sendende Rechner seine Pakete an die MAC-Adresse des Routers und nicht an die des tatsächlichen Ziel-Rechners, wenn er über die Subnetzmaske doch schon herausgefunden hat, dass das gar nicht direkt gehen kann.

Verstehe mich nicht falsch, ich möchte hier wieder klugscheissern, noch bin ich Hilfe-resistent. Aber mir fällt es schwer, deine Aussagen durch Wikieinträge und andere Seiten nachzuvollziehen. OSI-Modell, Aufbau von IP Paketen/Ethernet Frames, DHCP, NAT, SAT usw. sind nicht ganz neu für mich, aber können mir imho nichts darüber sagen, wie intelligent oder dumm ein Rechner ist. :)

EPIC_FAIL
2012-06-25, 20:39:10
Hallo!


Mich interessiert der genaue Ablauf folgender 3 Fälle:


Computer A möchte etwas an Computer B im selben Subnetz verschicken
Computer A möchte etwas an Computer C im anderen Subnetz verschicken
Computer A möchte etwas an einen entfernten Rechner D im Internet schicken


Sehe ich folgendes richtig?

Der allererste Schritt, den Computer A in allen 3 Fällen macht, ist anhand der Subnetzmaske und der Ziel-IP zu bestimmen, ob der Zielrechner im selben Subnetz liegt wie er selbst. Erst danach muss man die 3 Fälle unterscheiden. Soweit korrekt?

////////////////////1

Falls A und B im selben Subnetz liegen, so muss A gar nichts weiter beachten und haut einfach seine Message raus ("Message" definiere ich mal nicht weiter, es geht ja eher um das, was drumherum passiert). Die Daten würden gar nie über den Router laufen, sondern können schon vom Switch zuvor richtig zugestellt werden.

//////////////////// 2

Falls A den Rechner C ansprechen möchte und er über die Subnetzmaske rausgefunden hat, dass C in einem anderen Subnetz liegt, so weiß er, dass das nicht direkt geht.
Was ich denke, was er nun tut: immer, wenn der Zielrechner nicht im eigenen Netz liegt, so geht die Nachricht immer an den Standard-Gateway. In meinem Falle wäre das ja der Router. Der Standardgateway müsste den Rechnern ja bekannt sein, entweder weil man die Adresse manuell eingepflegt hat, oder aber weil sich alle Rechner über DHCP anmelden und den Gateway so mitgeteilt bekommen.

////////////////3

Also kurz, ist das wirklich die Idee? Zielrechner nicht im selben Netz, dann einfach stattdessen den Standardgateway ansteuern und gut ist. Das, was der Router dann macht (seine network address translation) habe ich denke ich begriffen.

Fall 3 (Rechner A möchte mit entferntem Rechner im Netz kommunizieren) ist dann wohl ziemlich ähnlich zu Fall 2. Entfernter Rechner befindet sich nicht im gleichen Netz -> standardgateway regelt.

In Fall 1 wäre der Router gar nicht nötig (selbes Subnetz, Switch kann das alleine regeln), in Fall 2 schon (2 Subnetze verbinden) und in Fall 3 sowieso (Subnetz mit Internet verbinden).

Kann man das alles so sagen?

///////4

Danke

1) Ja, prinzipiell schon.
2) Jein, streng genommen musst du Unterscheiden ob der Arp-Cache bereits gefüllt ist oder nicht. Falls es sich um eine "frische" Konfiguration handelt, hast du mindestens einen Broadcast (ARP). Falls die Zuordnung IP->MAC dem Client und dem Switch bekannt ist, geht kein Frame zum Router.
3) Ja, wichtig hierbei: Routing-Tabelle müssen gepflegt sein
4) Prinzipiell schon, eine Empfehlung: Cisco Paket Tracer runterladen, Situation nachbauen

mittelding2
2012-06-25, 20:39:15
Nachtrag: mit "Mit MAC-Adressen aus fremden Subnetzen kann ein Switch nichts anfangen" meinte ich, dass ein Switch das Konzept der Subnetze ja gar nicht kennt.
Minimalbeispiel: Wenn ich in meinem Netzwerk also lediglich 4 Rechner, 2 Subnetze und einen Layer2-Switch habe (aber kein Router und folglich auch keine netzübergreifende Kommunikation), so müssen die einzelnen Rechner doch zwangsweise intelligent sein. Dem Switch ist jedenfalls egal, wer da mit wem kommuniziert, oder nicht ? (er sieht nur seine MACs, und MAC ist MAC).

mittelding2
2012-06-25, 20:40:18
Danke an EPIC_FAIL :)

EPIC_FAIL
2012-06-25, 20:43:37
Nachtrag: mit "Mit MAC-Adressen aus fremden Subnetzen kann ein Switch nichts anfangen" meinte ich, dass ein Switch das Konzept der Subnetze ja gar nicht kennt.
Minimalbeispiel: Wenn ich in meinem Netzwerk also lediglich 4 Rechner, 2 Subnetze und einen Layer2-Switch habe (aber kein Router und folglich auch keine netzübergreifende Kommunikation), so müssen die einzelnen Rechner doch zwangsweise intelligent sein. Dem Switch ist jedenfalls egal, wer da mit wem kommuniziert, oder nicht ? (er sieht nur seine MACs, und MAC ist MAC).

Achtung, du hast idr Kommunikation über höhere Protokolle, also Layer 3 aufwärts. Theoretisch kennt der Switch ja die MACs aller angeschlossenen Rechner, praktisch kann es aber zu (fast) keiner Kommunikation zwischen den Subnetzen kommen. IP ist für fast alle Anwendungen zwingend, es muss also ein Router dazwischen stehen.

Gast
2012-06-25, 20:45:58
- Computer A möchte etwas an Computer B im selben Subnetz verschicken
Korrekt, läuft über den Switch, beide Geräte sind im selben Netzrange, es wird ein ARP-lookup gemacht und die Geräte sehen sich

-Computer A möchte etwas an Computer C im anderen Subnetz verschicken
da Computer A dieses Netz "nicht kennt" da es ein anderes Subnetz ist, und es somit noch nicht in seiner eigenen Routingtabelle angelegt ist wird er es Richtung Gateway - also Router - schicken. Die Bezeichnung Gateway ist völlig korrekt. Der Router widerum weiss welche Geräte er in seiner Routingtabelle hat und leitet das dementsprechend weiter.

-Computer A möchte etwas an einen entfernten Rechner D im Internet schicken.
Letztendlich das gleiche wie Beispiel B. Kennt der Router das Netz nicht, leitet er dieses wiederrum an sein default Gateway weiter - was letztendlich sein BBRAR/CMTS/whatever ist.

Der Router kann die internen Netze dadurch identifizieren, indem er an der jew. Schnittstelle / Port einfach eine Adresse aus dem jeweiligen Netz mit passender Netzmaske konfiguriert hat. Oder indem er ein Routingprotokoll wie RIP (für kleinere Netzwerke) oder OSPF, ISIS etc. nutzt. Oder indem ein statischer Routingeintrag konfiguriert wird. Viele Consumergeräte bieten aber nicht unbedingt solche Funktionen.


Damit wird nun auch die interne Routingtabelle aufgefüllt. Alles was er nicht kennt geht über sein default Gateway raus.

Grüssle

mittelding2
2012-06-25, 20:51:45
"praktisch kann es aber zu (fast) keiner Kommunikation zwischen den Subnetzen kommen"

Genau, aber nicht weil der Switch es verhindert, sondern weil die Rechner sich nur für andere Rechner in ihrem Subnetz interessieren, oder nicht? Denn der Switch kann ja die Subnetze nicht sehen, wenn er auf Layer 2 ist. Ich wollte lediglich damit ausdrücken, dass die Rechner dann ja schon "intelligent" sein müssen und nicht bloß Pakete raushauen, wie oben behauptet wurde.

Gast
2012-06-25, 20:56:04
Sie können es einfach nicht. Du konfigurierst ja eine IP Adresse in einem bestimmten Bereich. Wenn du jetzt versuchst in einen anderen Bereich zu kommen benötigst du irgendwas was zwischen deinem Bereich und dem fremden Bereich vermittelt.

Im Grunde kannst du dir die Routingtabelle ja so vorstellen:

Adresse X ist erreichbar über Adresse Y
Da kein Übersprechen ohne Routing(protokoll) zwischen einem Interface mit Adresse A in ein anderes Netz stattfinden kann, kannst du auch nie das Ganze über den Switch erreichen.

EPIC_FAIL
2012-06-25, 21:01:22
"praktisch kann es aber zu (fast) keiner Kommunikation zwischen den Subnetzen kommen"

Genau, aber nicht weil der Switch es verhindert, sondern weil die Rechner sich nur für andere Rechner in ihrem Subnetz interessieren, oder nicht? Denn der Switch kann ja die Subnetze nicht sehen, wenn er auf Layer 2 ist. Ich wollte lediglich damit ausdrücken, dass die Rechner dann ja schon "intelligent" sein müssen und nicht bloß Pakete raushauen, wie oben behauptet wurde.

Wenn du beispielsweise einen Ping in ein (dir) unbekanntes Subnetz machen willst, dann wird das ICMP schon rausgeschickt (jedenfalls wenn ein Gateway eingetragen wird, den anderen Fall weiß ich gerade selber nicht). Dein Rechner kennt ja nicht die Routingtabelle des Gateways. Ankommen wird in deinem Szenario aber natürlich nichts, das Paket wird verworfen.

sei laut
2012-06-26, 09:55:28
Wenn kein Gateway eingetragen wird und man ein Ziel erreichen will, was nicht im eigenen Subnetz liegt, geht auch kein Ping raus. Da kommt dann direkt "Network is unreachable", macht ja auch Sinn.
Von daher sind Clients nicht intelligent, aber auch nicht dumm.