In jedem Tutorial, das ich lese, wird darüber gesprochen, wie die Schichten miteinander „kommunizieren“. Es wird jedoch nie erwähnt, welche Hardware/Software die einzelnen Schichten von Steuerdaten empfängt, hinzufügt und sendet.
Welche Hardware und Software empfängt/kapselt/sendet die Daten der einzelnen IP/TCP-Schicht?
Auf welcher Schicht arbeitet beispielsweise mein Router? Welche Software übersetzt eine Textdatei in SMTP? Was/wo auf meinem Computer befindet sich die Software für die Flusssteuerung/den Transport?
Antwort1
Layer 1 - Physical - Signaling
Layer 2 - Data Link - Switching (Ethernet frames)
Layer 3 - Network - Routing (IP packets)
Layer 4 - Transport - Multiplexing (TCP segments)
Layer 5 - Session
Layer 6 - Presentation
Layer 7 - Application
Der Grund, warum spezifische Software-/Hardwareimplementierungen nicht erwähnt werden, liegt darin, dass dies der ganze Sinn der Entwicklung des Standards ist. Jede Schicht kümmert sich nicht darum, wie die Schicht darüber und darunter ihre Funktion erfüllt, solange die Daten gemäß dem Standard präsentiert werden. Dies kann in Software, Hardware, Firmware, über ein mechanisches, nicht elektronisches Gerät oder sogar manuell durch Menschen geschehen (googlen Sie „TCP über Brieftaube“ für ein nicht ernst gemeintes Beispiel).
Auch die jeweilige Software und Hardware kann in der Praxis sehr unterschiedlich sein. Es ist durchaus möglich, alle Funktionen per Software auszuführen (billig, aber langsam). Es ist auch durchaus möglich, alle Funktionen per Hardware auszuführen (schnell, aber teuer). Dedizierte Netzwerkgeräte wie Cisco-Router usw. führen mehr Funktionen per Hardware aus als beispielsweise ein PC mit Linux, der als Router konfiguriert ist.
Im Allgemeinen wird Layer 1 und größtenteils Layer 2 garantiert in Hardware ausgeführt. Layer 3 wird größtenteils in Hardware auf einem Router auf Unternehmensebene wie denen von Cisco ausgeführt. Viele Netzwerkkarten verfügen über eine Funktion namens „TCP Offload Engine“, die den Großteil von Layer 3 und 4 über Hardware auf der Netzwerkkarte beschleunigen kann. Ihre Router auf Verbraucherebene von Wal-Mart führen die Routing-Funktion normalerweise vollständig in Software aus. Layer 5, 6 und 7 werden normalerweise nicht in Hardware ausgeführt, und wenn doch, werden die Geräte, die dies tun, als „Beschleuniger“ bezeichnet.
Antwort2
Welche Hardware und Software empfängt/kapselt/sendet die Daten der einzelnen IP/TCP-Schicht?
Ethernet-Hardware wird normalerweise nur auf den untersten Schichten verwendet, der physischen Schicht und der Verbindungsschicht. Basierend auf ihrer MAC-Adresse akzeptiert die Hardware nur Unicast-Frames, die übereinstimmen. Der Ethernet-Gerätetreiber ist normalerweise dafür verantwortlich, die Softwareschnittstelle zu diesem Gerät bereitzustellen. Das Gerät kann normalerweise vollständige Ethernet-Frames von und in Puffer lesen und schreiben, die in einem verknüpften (kreisförmigen) Ring angeordnet sind, und der Treiber bearbeitet entweder Interrupts oder fragt den Status ab, wenn sich der Pufferringstatus ändert (d. h. Lese- oder Schreibvorgang für Frames abgeschlossen ist).
Die Software wird allgemein alsProtokollstapel. Es handelt sich um eine Sammlung von Prozeduren und Funktionen, die in den Kernel integriert sind. Sie werden wie jede andere Softwarehierarchie aufgerufen. Wenn das Benutzerprogramm einen Socket R/W-Systemaufruf durchführt, wird eine Anwendungsroutine der obersten Ebene aufgerufen. Diese Subroutinen-/Prozedurhierarchie ist wie bei jeder anderen gut aufgebauten Software, die Modularität, lose Kopplung und hohe Kohäsion erzwingt.
Jede Schicht im Protokoll wird durch einen oder mehrere (verschachtelte) Prozeduraufrufe ausgeführt, bis das Datenpaket in einem Frame-Puffer gespeichert und zur Ausgabe durch die Hardware bereit ist. Nach erfolgreichem Abschluss des Schreibvorgangs wird der Status an den Aufruf des Benutzers zurückgegeben.
Auf welcher Schicht arbeitet beispielsweise mein Router?
Das Internet wird beschrieben durch dieTCP/IP-Modell:
- Anwendungsschicht
- Transportschicht
- Internetschicht
- Verbindungsschicht
- Physikalische Schicht
Ihr Router leitet Pakete basierend auf der IP-Adresse weiter, was die Internetschicht darstellt. Der Router verfügt jedoch über einen eigenen Protokollstapel, um andere Dienste wie sein webbasiertes Konfigurationsprogramm auszuführen. Jeder Host im Netzwerk verfügt wahrscheinlich über einen vollständigen Protokollstapel. Die Schichten sind nicht auf Netzwerkhosts/-geräte verteilt.
Welche Software übersetzt eine Textdatei in SMTP?
Ihr E-Mail-Programm kommuniziert mit der Anwendungsschicht.
Was/Wo auf meinem Computer befindet sich die Software zur Flusssteuerung/zum Transport?
Wahrscheinlich die Transportschicht, auf der TCP ausgeführt wird.