2013-01-03 16 views
11

Uygulama aslında tarayıcı olduğu için websocket için katman 7 olup olmadığını merak ediyordum.WebSocket Protocol hangi OSI katmanında yatıyor?

+2

OSI modeli gerçekten # 4'ün üzerinde çalışmıyor. Protokollerin nasıl bir araya getirilebileceği ve hangi protokollerin neler sunabileceği daha fazladır. Osi # 6 (charset kodlama, veri kodlama ...) normalde HTTP'nin üzerine kurulduğunu unutmayın (genellikle OSI # 7'ye ait olarak kabul edilir. –

+0

Web yuvaları ve HTTP gerçekten OSI # 4 (aktarım katmanı) görüş, ancak bir taşıma katmanı protokolü (TCP) kendisinden kaynaklanmaktadır. –

+0

OSI # 6 (sunum katmanı) veri şifrelemesinden sorumlu olmalıdır, ancak wikipedia, bir oturumu saklamak için SSL/TLS'yi OSI # 5'e (oturum katmanı) atar SSL _also_ yapar. –

cevap

5

Websocket TCP'ye (OSI # 4) bağlıdır ve yalnızca el sıkışma fazı HTTP (OSI # 7) 1 tarafından başlatılır. Sadece TCP bağlantı noktası 80'i kullanmasına rağmen.

Çalışma zamanı davranışına göre, WebSocket'ın özel bir OSI # 7 protokolü olması gerektiğini söylemeliyim. Sonra, SSL/TLS'yi OSI # 6'ya (wikipedia'ya bakın) ve tarayıcı içerisindeki uygulamayı OSI # 5'e koyabiliriz.

2

Katmanı, OSI modeli yerine TCP/IP modeli kullanarak anlamak daha iyidir. TCP/IP modelinde aktarım katmanı olarak düşünülen TCP'nin üstündeki WebSocket katmanları ve WebSocket'ın üzerine uygulama katmanı protokolü katılabilir.

1

HTTP, SSL, HTTPS, WebSockets vb. Tüm uygulama katmanı protokolleridir.

Ancak, OSI iletişim kuralı yığını kendi katman modeline sahip olan TCP/IP'ye uygulanmaz: aynı adlar, farklı işlevler. Eskimiş OSI yığınını gerçekte herhangi bir gerçeği yansıtıyormuş gibi kullanmaya devam etmek faydalı olmaz. Olmaz.

1

Yalnızca El Sıkıştırma, yükseltme isteği ile https sunucusu tarafından yorumlanır. Bu Websocket dışında bağımsız TCP tabanlı bir protokoldür. Yani ev sahibi katman # 4 ve # 7 derdim. https://tools.ietf.org/html/rfc6455#page-11