Ich frage mich, ob es Schicht 7 für Websocket ist, da die Anwendung tatsächlich der Browser ist.Auf welcher OSI-Schicht liegt das WebSocket-Protokoll?
Antwort
Websocket ist abhängig von TCP (OSI # 4) und nur die Handshake-Phase wird von HTTP (OSI # 7) 1 initialisiert. Obwohl es nur TCP-Port 80 verwendet.
Entsprechend dem Laufzeitverhalten muss WebSocket ein spezielles OSI # 7 Protokoll sein. Dann können wir SSL/TLS in OSI # 6 (siehe Wikipedia) und die Implementierung im Browser in OSI # 5 einfügen.
Es ist besser, die Schicht mit dem TCP/IP-Modell als mit dem OSI-Modell zu verstehen. WebSocket-Layer über TCP, die im TCP/IP-Modell als Transportschicht betrachtet werden, und Layer Layer können über WebSocket auf dem Layer der Anwendungsschicht protokolliert werden.
HTTP, SSL, HTTPS, WebSockets usw. sind alle Protokolle der Anwendungsebene.
Aber der OSI-Protokollstapel gilt nicht für TCP/IP, das sein eigenes Schichtenmodell hat: gleiche Namen, verschiedene Funktionen. Es ist nicht hilfreich, den veralteten OSI-Stapel so zu verwenden, als ob er tatsächlich irgendeine Realität widerspiegeln würde. Es tut es nicht.
Nur der Handshake wird vom HTTPS-Server durch Upgrade-Anfrage interpretiert. Abgesehen davon ist Websocket ein unabhängiges TCP-basiertes Protokoll. Also ich würde Host-Ebene # 4 und # 7 sagen. https://tools.ietf.org/html/rfc6455#page-11
Das OSI-Modell funktioniert nicht wirklich über # 4. Es geht eher darum, welche Protokolle zusammengelegt werden können und welche Protokolle was bieten. Beachten Sie, dass Osi # 6 (Zeichensatzkodierung, Datenkodierung ...) normalerweise auf HTTP aufgebaut ist (normalerweise als zu OSI # 7 gehörend.) –
Die Web-Sockets und HTTP sollten wirklich OSI # 4 (Transportschicht) in meinem sein Meinung, aber es beruht auf einem Transport-Layer-Protokoll (TCP) selbst. –
OSI # 6 (Präsentationsschicht) sollte für die Datenverschlüsselung verantwortlich sein, aber wikipedia wirft SSL/TLS in OSI # 5 (Sitzungsschicht), weil eine Sitzung was zu halten SSL _also_ tut das. –