Warum braucht man TCP/IP Layer 3? Ginge nicht auch nur Layer 2?

Hallo Liebe Netzwerktechniker,

immer wenn ich mir die Funktionsweise von TCP/IP und dem OSI Modell anschaue kommt mir die Frage: Wozu braucht man überhaupt OSI Layer 3 / IP und Router? Ich verstehe zwar den Ablauf wie ein IP Paket verpackt / verschickt wird, jedoch nicht den Hintergrund WARUM es ist wie es ist. Könnte man nicht einfach Layer 3 weglassen und TCP/UDP Segmente per Layer 2 Frames versenden? Ethernet besitzt doch auch einen Adressierungsmechanismus: Mac Adressen. Damit kann man doch auch Rechner adressieren.

Jeder den ich frage antwortet mir darauf, dass man Layer 3 / Router braucht um in andere Netze zu kommen. Aber Netze sind doch auch ein Teil des Layer 3 des System. Bei Layer 2 hat man keine Netze, nur Kollisionsdomäne. Aber das Problem der Kollisionen kann man doch mit Bridges / Switches lösen, da mit der Technik ja jeder Kanal eine eigene Collision Domain bekommt. Und mithilfe von Switches werden Pakete doch nicht mehr an jeden Host geschickt sondern nur an die, für die es bestimmt ist.

Also rein Technisch wäre ein Netz ohne Layer 3 doch möglich oder nicht?

Ich habe meinen Tutor mal zu dem Thema gefragt und er meinte, dass früher die Kommunikation auch nur auf Layer 2 stattfand, das Problem aber die Kollisionen bei ansteigender Anzahl von Hosts war.
Das Problem kann aber doch mit Switches bewältigt werden?

Dann meinte er noch, dass die Kommunikation über weitere Entfernungen physisch nicht möglich wäre, da die Kollisionserkennung nicht mehr funktioniert durch die Länge der Leitung und es dadurch zu zu vielen Kollisionen kommt und eine Kommunikation nicht mehr möglich ist.
Dieses Problem könnte man aber doch z.B. durch Lichtwellenleiter oder Signalverstärker lösen?

Wäre dann das Problem, dass die Buffer der Switche überlaufen würde?
Wäre es dann zu kompliziert einen Weg durch das Netzwerk zu finden?

Sind das nicht alles Probleme, die erst auftreten sobald das Netzwerk größer wird? Aber warum wird dann in kleinen Netzwerken, bei denen diese Probleme nicht auftreten, trotzdem ein IP Layer und Routing verwendet?

Ich wäre dankbar wenn jemand auf meine Punkte eingehen könnte und ergänzende Punkte erwähnen könnte um Dinge aufzugreifen die ich vielleicht nicht bedacht habe.
Auch interessant fände ich die Informationen wann welche Techniken bereits existierten und was das Problem und die Motivation war um bestimmte Vorgehensweisen zu Entwickeln.

Vielen Dank für eure Antworten!

Mir fallen da spontan 3 Probleme ein.

Problem 1: Broadcast. In Layer 2 kannst du alle Hosts per Broadcast erreichen. Man stelle sich mal vor,man hat statt einem Internet einfach ein riesiges weltweites Netz mit Milliarden Systemem drin. Da muss jede IP-Kaffeemaschine wer weiß wieviele Gigabit an Broadcasttraffic verarbeiten.

Problem 2: Adressierung. Die Switches müssen wissen, wo jede einzelne MAC-Adresse sitzt. Es gibt gar kein hierarchisches System wie bei IP, also muss jeder Switch den Port über den man jeden beliebigen Host erreicht speichern. Als Vergleich: Die Router in der Default-free zone stöhnen schon, wenn die sich die Routen zu den einzelnen /24-Netzen (kleinste per BGP announcebare Größe modulo ein paar Sonderfälle) des Internet merken müssen.

(Layer 2 macht es eben genau aus, dass es da kein Routing gibt)

Und was machst du, wenn sich etwas in der Topologie ändert? Spanning Tree braucht ewig zum konvergieren.

Apropos Spanning Tree: Was machst du, wenn mal jemand fehlerhaft einen Loop einbaut? Layer 2 hat keine TTL. Dann ist ganz schnell dein gesamtes Netz dicht mit Broadcast-Paketen.

Problem 3: Eindeutigkeit. MAC-Adressen sind entgegen dem landläufigen Glauben nicht eindeutig. Das muss aber in einem Ethernet-Netz immer gegeben sein. Außerdem sind 48 Bit ein bisschen wenig.

Definiere „klein“. Layer-2-Netze mit mehreren tausend Clients gibt es doch.

IP musst du aus o.g. Gründen sowieso machen um am Internet teilzunehmen. Daher wird niemand auf biegen und brechen versuchen internes Routing zu vermeiden, vor allem bei IPv6 kann man ja so viele Netze wie man will aufspannen. Präzisiere am besten, was an Layer 3 problematisch ist.

Das stimmt, das sind wirklich einige Problempunkte. Dann macht das ganze schon mehr Sinn. Ich will damit nicht sagen, dass der IP Layer problematisch ist, nur ich habe mich gefragt warum es den Layer überhaupt gibt und warum man es nicht ohne macht. Also implementiert der IP Layer im Endeffekt nur die Transportlogik und Layer 1/2 transportieren dann? Wofür gibt es dann Layer 2? Warum wurde das so gelöst? Das ist mein Hauptproblem. Haben sich der Vint Cerf und andere das alles schon bei der Entwicklung von TCP/IP überlegt oder hat sich das erst später so ergeben da man einige Probleme im Design erkannt hat?

Was sind das denn für Netze? Und fehlt bei den Netzen der Layer 3? Also direkt TCP/UDP in Ethernet Frames?

Ja, das ist genau die Definition von Layer 3 und Layer 2.

Layer 3 = Vermittlung zwischen Netzen. Die Nahtstelle ist der Router.

Layer 2 = Zustellung innerhalb des Netzes. Inklusive Kollisionserkennung (bei komplett geswitchten Ethernet-Netzen mit Full Duplex irrelevant) und ARQ.

In einem Internet fließen die Pakete von Router zu Router. Die Zustellung zwischen zwei Routern erfolgt immer per Layer 2. Am Start stellt das Endgerät per Layer 2 sein Paket als Frame an das Gateway zu, am Ziel stellt der Zielrouter das Paket per Layer 2 an das Endgerät zu.

Weiß nicht, wie du das meinst. Ganz normale Netze halt. Bei uns im Wohnheim haben wir einfach ein geswitchtes /22. Das sind also bis zu 1022 Geräte in einem Layer 2.

Achsoo! Ich glaube jetzt hat es klick gemacht.
Layer 2 ist, wenn man es ganz banal ausgedrückt, verbildlicht das Transportmittel, z.B. ein Zug oder ein Flugzeug und Layer 3 ist die Person die den Weg kennt. Und die Person trägt das Paket mit dem Inhalt mit sich zum Ziel. Die Person steigt dann unterwegs um von Zug zu Flugzeug zu Bus, etc… richtig?
Mir helfen solche Verbildlichungen immer ganz gut.

Danke für die Erklärung!

IP (auf Layer 3) ist der kleine gemeinsame Nenner im Internetz. Wenn du über IP sprechen willst sind dir die unteren Schichten egal, du musst also weder ein Flugzeug fliegen noch einen Bus fahren können.

Du verwendest Ethernet und Layer 2 äquivalent. Ethernet ist eine (sehr verbreitete) Technologie neben vielen anderen. Im Mobilfunk kann das schon wieder anders aussehen. Oder bei Brieftauben erst recht. Möglicherweise hast du auf dem Weg zum Ziel sogar mehrere Technologie-Wechsel.

Wenn du eine große Reise antrittst, setzt du dich in ein Gefährt und brauchst weder auf die STvO noch auf den Flugraum achten. Deine Aufgabe ist lediglich am Flughafen/Bahnhof umzusteigen. Letztendlich ist das Reisen mit Zug, Bus oder Flugzeug ja gleich: du sitzt auf deinem Sitz.

Selbstverständlich könntest du dich auch selbst auf eine Weltreise aufmachen. Aber wenn du überall hin kommen willst, dann brauchst du ein Gefährt, das fahren, schwimmen und fliegen kann. Stell dir das mal bildlich vor. Kann man machen, ist aber in der Stadt ziemlich uncool. Und: Kannst du den Treibstoff den du brauchst auch überall auf der Welt bekommen? Oder brauchst du mehrere Antriebstechniken?

Kurzum: Die Auftrennung in mehrere Layer, die auf den ersten Blick etwas sehr ähnliches machen (Analogie: sich fortbewegen) schafft Abstraktion und Flexibilität: Ticket lösen und einsteigen vs. fliegendes Amphibienfahrzeug.

1 „Gefällt mir“

und zur Vollständigkeit: Layer 3 muss bleiben - Layer 2 kann weg :wink: genauso passiert bei IPv6… :wink:

1 „Gefällt mir“

Noch mal eine Ergänzung aus der Historie heraus: Es gab in der Anfangszeit des Internet (Kurzform von INTERconnection NETwork) eben auch andere Netze als nur Ehternet. Alle diese Netze waren reich inkompatibel zu einander. Daher wurde das IP geschaffen, um ein einheitliches Protokoll zu haben. Nur so konnte man verschiedenen Netze, die teilweise nur 7 bittig arbeiteten, mit anderen koppeln.

Um den Vergleich mit der Reise aufzugreifen: IP im Layer ist der Bahnwaggon, in dem man sitzt. Und wenn nun während der Reise von A nach B die Gleispurbreite gewechselt werden muss, dann geschieht das „Umspuren“ im Layer 2. Der Reisende, der im Waggon (Layer 3) sitzt, bekommt davon nichts mit.

1 „Gefällt mir“

Super, vielen Dank für die Erklärungen. Ich denke ich habe nun die Unterschiede verstanden und vor allem die Gründe warum es so gemach wird. Ich habe mir anfangs nur immer gedacht, dass Layer 3 das ganze etwas zu kompliziert macht. Wenn man aber das Problem besser versteht aus dem das ganze entstanden ist, dann leuchtet es besser ein. Vielen Dank nochmals.