OSI网络分层模型

news2025/1/18 20:11:03

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 协议》。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通讯协议学习之路:IIC协议理论

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374) 序&…

PyCharm运行python测试,报错“没有发现测试”/“空套件”

问题描述:没有发现测试/空套件 当时没截图,可惜了! 解决办法 把python测试文件的文件名改为非test开头的! (虽然pytest的官方说要以test开头,但是他这样会有错误,就很…

节流防抖

节流:wait时间内只能执行一次func 防抖:触发后延迟wait秒调用func 代码对比:(建议自己手敲一遍,不要养成直接cv的坏习惯) 节流: 其中的apply函数是 apply() 是 JavaScript 函数的一个方法…

Python 编程基础 | 第六章-包与模块管理 | 1、包与模块简介

一、模块 在程序开发过程中,文件代码越来越长,维护越来越不容易。可以把很多不同的功能编写成函数,放到不同的文件里,方便管理和调用。在Python中,一个.py文件就称之为一个模块(Module)。 1、简…

Acwing 3306.装珠饰(十一届蓝桥java/py组J题)

分析: 6件装备作为一个整体去看待!!!加的效果是看总的装备数目 分组背包的一个特点:每一个组里面只能取出一个物品,这里是把抽象成不同的方案数(有点多重背包的二进制处理方法的感觉。) 代码实现&#xff1…

vue-cli脚手架创建项目时报错Error: command failed: npm install --loglevel error

项目背景 环境:vue-cli 5.x 在工程文件中,后端模块wms已经创建完成,现在想新建一个名为vue-web的前端模块 执行命令vue create vue-web时, 报错Error: command failed: npm install --loglevel error 问题分析及解决 排查过程…

2023各版本JDK下载链接

Java Archive | Oracle Java Archive | Oraclehttps://www.oracle.com/java/technologies/downloads/archive/

音乐播放器蜂鸣器AX301开发板verilog,视频/代码

名称:音乐播放器蜂鸣器播放音乐按键切歌 软件:Quartus 语言:Verilog 代码功能: 设计一个音乐播放器,使用板子上的蜂鸣器播放歌曲,可以播放三首歌(歌曲任选),通过按键控…

ESP RainMaker 客户案例 #2|PitPat

PitPat 是美国领先的健身品牌,致力于通过游戏化的方式改变人们的锻炼习惯,增强健康。该品牌通过智能设备和相关的移动应用程序为从事家庭锻炼的个人提供虚拟跑步体验。目前,PitPat 针对不同受众群体,开发了Superun,Dee…

JMM-多线程先行发生原则happens-before

5.6 JMM规范下多线程先行发生原则之happens-before 在JVM中,如果一个操作执行的结果需要对另一个操作可见或者代码重排序,那么这两个操作之间 必须存在happens-before(先行发生)原则,逻辑上的先后关系。 5.6.2 先行并…

9章【同余】

蒙特卡罗算法【和一个模型联系起来】 舍伍德算法【】 拉斯维加斯算法【最不靠谱,思路:把该算法和固有算法相结合】 随机数 学习目标: 利用数据序列的随机性和概率 分布等点,设计解决问题的算法或提高 已有算法的效率。 随机性…

swagger报错Illegal DefaultValue null for parameter type integer

文章目录 报错:作者说这只是一个警告并不是个错误,并且有点烦躁的说已经是提的1000个issues了解决给Integer类型或者long类型的example设置值,不设置也不行(不建议)有时候参数很多,很麻烦.或者不用处理方法一:修改AbstractSerializableParameter类的日志级别为Error方法二:修改…

【数据结构】线性表(二)单链表及其基本操作(创建、插入、删除、修改、遍历打印)

目录 前文、线性表的定义及其基本操作(顺序表插入、删除、查找、修改) 四、线性表的链接存储结构 1. 单链表(C语言) a. 链表节点结构 b. 创建新节点 c. 在链表末尾插入新节点 d. 删除指定节点 e. 修改指定节点的数据 f. …

循环日程安排问题(分治法)

函数接口定义&#xff1a; void Plan(int a[][N],int k); 裁判测试程序样例&#xff1a; #include #include <math.h> #include using namespace std; #define N 100 void Plan(int a[][N],int k); int main() { int i,j,a[N][N],k,size; cin>>k; sizepow(2,k)…

“滑动窗口”算法专项训练

目录 题目链接&#xff1a;长度最小的子数组 题目描述 思路分析&#xff1a;滑动窗口(利用单调性&#xff0c;使用"同向双指针来优化) 细节处理 画图解析 代码 题目链接&#xff1a;最大连续1的个数 III 题目描述 思路分析&#xff1a;滑动窗口(同向双指针) 细节…

面对纷繁复杂的低代码和无代码产品,开发者该如何选择?

凭借着革命性的生产力优势&#xff0c;低代码技术火爆了整个IT圈。面对纷繁复杂的低代码和无代码产品&#xff0c;开发者该如何选择&#xff1f; 在研究低代码平台的年数上&#xff0c;本人已有3年&#xff0c;也算是个低代码资深用户了&#xff0c;很多企业面临低代码选型上的…

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包

一 实验二&#xff1a;TCP 第二次握手 SYN、ACK 丢包 重点&#xff1a; 通过设置 tcp_synack_retries 和 tcp_syn_retries内核参数,观察丢包的现象 ① 实验环境 iptables -t filter -I INPUT -s 172.25.2.100 -j DROPtcpdump -nni ens3 tcp and host 172.25.2.100 and por…

【算法 | 位运算No.1】leetcode268. 丢失的数字

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【Leetcode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

打造一个开箱即用的超级丝滑的漂亮hexo博客网站

打造一个开箱即用的超级丝滑的漂亮hexo博客网站 目录 文章目录 打造一个开箱即用的超级丝滑的漂亮hexo博客网站目录文章持续更新地址鸣谢hexo简介hexo优缺点优点缺点&#x1f44e; 没有后台管理 博客效果主题特性版本迭代1.原版版本迭代2.自己版本迭代 贡献者主题下载&#x1f…

Python中if __name__ == ‘__main__‘

1. 在Python中&#xff0c;凡是以两个下划线开头&#xff0c;两个下划线结尾的变量叫做“魔法变量”。瓦特&#xff1f;魔法变量&#xff1f;对&#xff0c;你没有听错&#xff0c;就是魔法变量。所谓魔法变量就是Python对象内置天生就有的属性变量&#xff0c;你使用这些变量前…