2013-01-03 101 views
11

我想知道它是否爲websocket的第7層,因爲應用程序實際上是瀏覽器。WebSocket協議在哪個OSI層上?

+2

OSI模型在#4以上並不真正起作用。它更多的是什麼協議可以堆疊在一起,以及什麼協議提供什麼。請注意,Osi#6(字符集編碼,數據編碼...)通常建立在HTTP(通常被認爲屬於OSI#7。 –

+0

)之上。我的Web套接字和HTTP實際上應該是OSI#4(傳輸層)但是它依賴於一個傳輸層協議本身。 –

+0

OSI#6(表示層)應該負責數據加密,但維基百科把SSL/TLS引入到OSI#5(會話層),因爲保持會話是什麼 –

回答

5

Websocket依賴TCP(OSI#4),並且只有握手階段由HTTP(OSI#7)1初始化。儘管它只使用TCP端口80。

根據運行時行爲,我不得不說,WebSocket應該是一個特殊的OSI#7協議。然後我們可以將SSL/TLS放入OSI#6(參見維基百科),並將瀏覽器內部的實現放入OSI#5。

2

最好是使用TCP/IP模型而不是OSI模型來理解層。在TCP之上的WebSocket層,被認爲是TCP/IP模型中的傳輸層,並且可以在WebSocket之上分層應用層協議。

1

HTTP,SSL,HTTPS,WebSockets等都是應用層協議。

但是,OSI協議棧不適用於TCP/IP,它有自己的層模型:相同的名稱,不同的功能。繼續使用過時的OSI堆棧是沒有用的,因爲它實際上反映了任何現實。它沒有。