tl; dr Viele verschiedene Geräte können auf mehrere OSI-Ebenen stoßen. Unabhängig davon, welcher Endpunkt etwas von einem Layer 7-Protokoll (wie HTTP) anfordert, werden alle 7 Layer verwendet, bevor es auf den Draht gelegt wird. Zwischenknoten wie Router und Switches verwenden möglicherweise nur die ersten drei Schichten. Firewalls oder WAN-Beschleuniger können sich auf Schicht 4 auswirken. Load Balancer erledigen ebenfalls interessante Aufgaben.
Wenn Sie an einer detaillierteren Antwort interessiert sind, schauen Sie unten nach - ich habe versucht (?) , Sie ziemlich einfach zu halten und ein Beispiel aus der Praxis zu verwenden.
Als Referenz:
OSI-Modell
Quelle: TCP / IP-Handbuch
Welche Ebenen die Daten kapseln, hängt davon ab, was die Daten generiert. Im Allgemeinen erfolgt die Entkapselung nur für das, was für den aktuellen Speicherort der Daten im Netzwerk relevant ist (auf einem Router, einem Host usw.).
Damit meine ich, wenn ich ein Router bin, ist es mir egal, dass in diesem Paket eine HTTP-Anfrage vergraben ist, wenn ich nur versuche, den Verkehr über Schicht 3 weiterzuleiten - ich werde nur genügend Header entfernen, um Holen Sie sich, was ich brauche, erledigen Sie meine Arbeit und fahren Sie mit dem nächsten Paket fort.
Wir alle nutzen das Internet jeden Tag auf irgendeine Weise. So sieht eine typische HTTP-Anfrage unter Berücksichtigung des OSI-Modells aus. Der Einfachheit halber können wir davon ausgehen, dass das Netzwerk verfügbar ist und es keine Probleme gibt.
- Ich tippe " http://google.com " in einen Browser und drücke die Eingabetaste.
- [Schicht 7] Ihr PC / Server generiert eine HTTP-GET-Anforderung zum Senden an Ihren angegebenen Webserver. In diesem Fall handelt es sich um google.com. Wenn Sie also nach oben schauen, haben wir diese GET-Anfrage, die als "Daten" betrachtet wird. HTTP ist ein Layer 7-Protokoll. Wir werden diesen Header hinzufügen. Da auf dieser Ebene nichts anderes zu tun ist, können Sie es an Ebene 6 weitergeben.
- [Schicht 6] Wir können uns Schicht 6 so vorstellen, wie die Daten formatiert werden sollen. Für eine Website wird hier eigentlich nichts passieren, aber ein Administrator / Entwickler / Ingenieur könnte etwas damit anfangen, wenn er dies wünscht. Unser PC / Server wird weiterhin einen Header über dem Layer 7 (HTTP) -Header hinzufügen und an Layer 5 senden.
- [Schicht 5] An diesem Punkt müssen wir, da unser PC / Server weiß, dass wir versuchen, einen Webserver zu kontaktieren, diese Anfrage in einem Format stellen, das die gesamte Anwendung verstehen kann. Dazu verwenden wir eine Anwendungsprogrammschnittstelle (Application Program Interface, API). . Auf diese Weise wird die Anwendungssitzung verwaltet . Auf diese Weise weiß der Webserver, zu welchem "Stream" die Daten gehören. Fügen wir unseren Layer 5-Header hinzu und geben ihn an Layer 4 weiter.
- [Schicht 4] Netzwerktechniker kümmern sich um alle Daten, aber hier wird es für uns sehr spezifisch. Schicht 4 ist unsere Transportschicht. Hier entscheiden wir, wie unsere Daten dorthin gelangen, nicht der Pfad, sondern wie - dh TCP oder UDP. In diesem Fall muss unser PC / Server eine Verbindung zum Webserver herstellen. Ich werde der Einfachheit halber einige Dinge überspringen, aber hier würde ein typischer TCP-3-Wege-Handshake stattfinden. Wir kapseln das, was wir derzeit in einem TCP-Header haben. Dieser enthält Dinge wie Quell- und Zielportnummern, Sequenz- und Bestätigungsnummern sowie TCP-Fensterinformationen.
- [Schicht 3]Hier ist die andere Schicht, die uns als Ingenieure wirklich am Herzen liegt, die Netzwerkschicht. Hier werden Pakete an ihre Ziele adressiert. Wir benötigen IP-Adressen, um an Orte in einem Netzwerk zu gelangen. Unser PC / Server fügt seine Quell- und Ziel-IP-Adresse hinzu. Die Pakete gelangen nicht nur an das richtige Ziel, sondern dieser Endpunkt verwendet unsere Quell-IP-Adresse, um sie an uns zurückzusenden, wenn er uns Daten jeglicher Art senden muss. Hier ist zu beachten, dass sogar PCs / Server mehrere Schnittstellen haben können, sodass wir die Daten an den richtigen Ort senden müssen. Unser PC / Server verfügt über eine Routing-Tabelle wie Router. Wenn Sie ein Host sind, werden Ihre Pakete normalerweise an Ihr Standard-Gateway weitergeleitet, in der Hoffnung, dass er weiß, wie er das Paket an sein Ziel bringt. Fügen wir diesen IP-Header hinzu und übergeben Sie ihn an die Datenverbindungsschicht.
- [Schicht 2] Die Netzwerkkarte (NIC) unseres PCs / Servers weiß nicht, wie man IP selbst spricht, daher verwendet sie MAC-Adressen (Media Access Control), um diese Daten zu verschieben. Ihr PC / Server verfügt über ARP-Einträge für jede IP, die er erreichen kann. In diesem Fall verfügt er über einen Eintrag für Ihr Standard-Gateway. Die IP-Adresse Ihres Gateways korreliert mit einer Ziel-MAC-Adresse. Fügen wir also unserem L2-Header die Ziel-MAC-Adresse hinzu. Dieser Header enthält auch die MAC-Adresse unserer PC / Server-Netzwerkkarte als Quelle. Jetzt haben wir alles, was wir brauchen, um diese Daten als Bits auf den Draht zu bringen.
- [Schicht 1] Wie Sie in Ihrer Frage erwähnt haben, fließen hier die Daten über den Draht. Hier sehen wir die rohen Einsen und Nullen. Jetzt gibt es per se keinen Layer 1-Header mehr. Wenn Sie sich das Diagramm auf Layer 2 ansehen, werden Sie das sehen. Die bisherigen Daten, die alle Header von L7 bis L2 enthalten, werden in diese Einsen und Nullen konvertiert.
- Jetzt haben wir Bits auf dem Draht, auf dem Weg zu Ihrem Gateway-Router. Bis zu diesem Zeitpunkt hat Ihr PC / Server ALLE Arbeiten ausgeführt, in denen die Daten für den Webserver von google.com zusammengefasst sind.
- [Schicht 1] Jetzt empfängt Ihr Gateway-Router die Einsen und Nullen. Die Netzwerkkarte (Schnittstelle) des Routers erhält diese Daten und sagt im Grunde: "Ich habe keine Ahnung, wie ich das lesen soll!" und bringt es auf Schicht 2, damit es die Daten lesen kann.
- [Schicht 2] Der Gateway-Router überprüft jetzt den L2-Frame und sagt: "Okay, cool, Sie sind von diesem MAC gekommen, ordentlich. Ich sehe, dass Ihr Ziel-MAC auf meine MAC-Adresse eingestellt wurde, also darf ich die Arbeit fortsetzen. Es wird Entkapseln Sie den L2-Header, damit er einen Blick auf den IP-Header werfen kann (Schicht 3).
- [Schicht 3] Ihr Gateway-Router überprüft jetzt die Quell- und Ziel-IP-Adresse. Es heißt "Okay, du bist von dieser Quelle gekommen, cool. Dein Ziel ist diese IP-Adresse. Hmm, ich besitze diese IP-Adresse nicht, aber ich weiß, wer das tut." Es sucht eine Route nach der Ziel-IP-Adresse (google.com) in seiner Routing-Tabelle und verwendet diesen Eintrag.
- Nach all dem wiederholt sich der gleiche allgemeine Vorgang. Es wird überprüft, welche Schnittstelle zum Senden des Pakets erforderlich ist, die MAC-Adresse dieser Schnittstelle verwendet, in Bits umgewandelt und gesendet. Der nächste Router macht dasselbe und so weiter. Im Allgemeinen werden diese Pakete erst dann auf die Schicht 7 zurückgeführt, wenn sie ihr endgültiges Ziel erreichen. Wie ich bereits erwähnt habe, kümmern sich die Router nur darum, die Pakete an ihr Ziel zu bringen, also kümmern sie sich nur um Layer 3, sodass es keinen Grund gibt, sich etwas anderes als das anzuschauen, was es braucht, um es zu erhalten zu diesen Informationen. Es werden also L1 / L2 / L3-Informationen angezeigt, aber sonst nichts.
- Schließlich gelangen die Daten hoffentlich zum Ziel-Webserver, und an diesem Punkt werden die äußeren Schichten der Daten bis zum HTTP-Header entfernt, damit der Webserver sie lesen und alles Notwendige tun kann, um diese Anforderung zu verarbeiten.
HINWEIS: Es ist fair zu erwähnen, dass andere Dinge das typische Verhalten beeinträchtigen können (Firewalls, NAT / PAT, ACLs usw.). Es ist jedoch am besten, ein sehr solides Verständnis dafür zu haben, wo die gesamte Kapselung und Entkapselung stattfindet, um zu verstehen wie sich diese auf das Netzwerk und den Verkehr auswirken.