OSI网络分层模型

OSI英文全文是Open System Interconnection Reference Model,翻译成中文就是开放式系统互联通信参考模型
OSI模型分成了七层,部分层次与 TCP/IP 很像,从下到上分别是:

第一层:物理层,网络的物理形式,例如电缆、光纤、网卡、集线器等等;

第二层:数据链路层,它基本相当于 TCP/IP 的链接层;

第三层:网络层,相当于 TCP/IP 里的网际层;

第四层:传输层,相当于 TCP/IP 里的传输层;

第五层:会话层,维护网络中的连接状态,即保持会话和同步;

第六层:表示层,把数据转换为合适、可理解的语法和语义;

第七层:应用层,面向具体的应用传输数据。

对比一下就可以看出,TCP/IP 是一个纯软件的栈,没有网络应有的最根基的电缆、网卡等物理设备的位置。而 OSI 则补足了这个缺失,在理论层面上描述网络更加完整。

还有一个优点,OSI 为每一层标记了明确了编号,最底层是一层,最上层是七层,而 TCP/IP 的层次从来只有名字而没有编号。显然,在交流的时候说"七层"要比"应用层"更简单快捷,特别是英文,对比一下"Layer seven"与"application layer"。所以,日常交流的时候我们通常使用 OSI 模型,用四层、七层等术语。

但是OSI 的分层模型在四层以上分的太细,而 TCP/IP 实际应用时的会话管理、编码转换、压缩等和具体应用经常联系的很紧密,很难分开。例如,HTTP 协议就同时包含了连接管理和数据格式定义。

所谓的"四层负载均衡"就是指工作在传输层上,基于 TCP/IP 协议的特性,例如 IP 地址、端口号等实现对后端服务器的负载均衡。

所谓的"七层负载均衡"就是指工作在应用层上,看到的是 HTTP 协议,解析 HTTP 报文里的 URI、主机名、资源类型等数据,再用适当的策略转发给后端服务器。

此文章为10月Day 18学习笔记,内容来源于极客时间《透视 HTTP 协议》

相关推荐
一叶飘零_sweeeet32 分钟前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
KookeeyLena734 分钟前
动态IP与静态IP:哪种更适合用户使用?
网络·网络协议·tcp/ip
时之彼岸Φ2 小时前
Web:HTTP包的相关操作
网络·网络协议·http
秋已杰爱2 小时前
HTTP中的Cookie与Session
服务器·网络协议·http
W21552 小时前
LINUX网络编程:http
网络·网络协议·http
DieSnowK5 小时前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
pemper_5 小时前
怎么操作使http变成https访问?
网络·网络协议·http·https·ssl
冷凝女子5 小时前
【QT】基于HTTP协议的网络应用程序
开发语言·qt·http
学java的小菜鸟啊6 小时前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
新手嵌入式学习7 小时前
网络协议头分析
网络·网络协议