2013-01-03 71 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堆栈是没有用的,因为它实际上反映了任何现实。它没有。