OSI七层模型、TCP/IP五层模型理解(个人解读,如何理解网络模型)

news2024/11/17 2:38:25

OSI七层模型

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

  1. 应用层:网络服务与用户的接口
  2. 表示层:数据的表示、安全、压缩
  3. 会话层:会话的建立、管理、断开
  4. 传输层:通过协议端口号定义对方上层服务,流量控制、差错校验
  5. 网络层:通过IP地址进行逻辑寻址
  6. 数据链路层:通过物理地址(MAC)进行寻址,差错校验
  7. 物理层:通过物理信号传输比特流,维护物理连接

TCP/IP五层模型

TCP/IP通讯协议采用了5层的层级结构,每一层都传输到它的下一层所提供的网络来完成自己的需求。

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层 

我们可以理解为TCP/IP模型把OSI的前三层(应用层、表示层、会话层)统一归为应用层。

大致过程(个人解读)

发送端

0. 用户

       用户通过应用程序发送完整数据

1. 应用层 

        应用层接收数据,将数据分组,各分组数据加上报文头AH,组成应用层报文,将数据交给传输层

2. 传输层

        传输层接收到应用层报文数据,在该报文基础上再加上TH报文头(数据发送和目的地端口信息),组成传输层报文,将数据交给网络层

3. 网络层

        网络层接收到传输层报文,在该报文基础上加上IP报文头(发送方和接收方IP等信息),组成网络层报文

4. 数据链路层

        数据链路层接收到网络层数据,在该报文基础上加上FH报文头和FCS报文尾(网卡MAC地址等信息),组成帧数据

5. 物理层

        帧数据根据报文的相关信息IP、MAC地址等信息,选择适合自己的路线,在路由器、交换机、光纤/双绞线 等介质中传输

接收方

5. 物理层

        帧数据根据报文的相关信息IP、MAC地址等信息,在路由器、交换机、光纤/双绞线 等介质中传输,根据MAC地址,交给接收方的数据链路层

4. 数据链路层

        接收方数据链路层获取数据,去除帧数据的报文头FH和报文尾FCS,就是网络层能解读的数据,交给网络层

3. 网络层

        网络层接收数据,去除报文的的头IH,就是传输层数据,交给传输层

2. 传输层

        传输层接收数据,去除报文头TH,就是分组的应用层数据,交给应用层

1. 应用层

        应用层接收到数据,进行数据的校验和差错控制等,对数据进行重组,就是用户能理解的完整的用户数据

0. 用户

        用户读取数据。

理解为寄快递的过程

0 用户寄快递交给快递员  (用户)

1 快递员根据用户寄东西的数量,选择适当的包裹数量分组寄 (快递员——应用层)

2 快递员将包裹交给服务网点,并写上包裹发件方和寄件方地址(街道网点——传输层)

3 服务网点对包裹初步分拣打包,按市区划分(分拨中心——网络层)

4 服务网点将打包好的包裹交给中转中心继续打包,中转中心继续按省划分(中转中心——数据链路层)

5 中转中心交按目的区将或交给货运(铁路、公路、航空),选择合适路线派发送货(发往上海——物理层)

5 货物在根据包裹发送到目的地(到达上海),货运司机将或交给上海中转中心(物理层)

4 中转中心收到货对货物按市区进行拆包(如浦东新区包裹),发往浦东分拨中心(数据链路层)

3 浦东分拨中心将货物再次拆包(XX街道包裹),根据地址,交给指定街道网点(网络层)

2 街道网点将快递继续拆包(单个包裹),交给快递员 (传输层)

1 快递员将包裹派发给用户 (应用层)

0 用户收件

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

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

相关文章

react 安装教程

1、安装脚手架 脚手架主要分为三个部分: react:顶级库。 react-dom:运行环境。 react-scripts:运行和打包react应用程序的脚本和配置。 npm install -g create-react-app 2、创建项目 #查看版本号 create-react-app -V #创建项目 creat…

Linux磁盘及读写数据原理/Raid技术/硬软raid及企业案例/磁盘分区环境搭建/格式化磁盘系列-12213字

高薪思维: 怎么才能一直去坚持下去? 1.做这件事情的好处,对自己一直去放大。 2.不做的坏处,并放大 3.学习痛苦?还是去上班(餐饮、外卖痛苦?) 用比学习更痛苦的事情,去对抗…

记一次普通的单表查询sql优化,去掉文件排序

一现象: 有空观察了线上某个sql语句执行计划,发现在500多毫秒左右,打算进行下优化。 二步骤: 对查询列assessment_periodic_id、assessment_user_id、create_time添加了组合索引并指定了倒叙。加入create_time 使查询结果不需要在…

【华为OD笔试】2024D卷机考套题汇总【不断更新,限时免费】

有LeetCode算法/华为OD考试扣扣交流群可加 948025485 可上全网独家的 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 2024年4月17日(2024D卷)2024年4月18日&#xff…

15.C++常用的算法_拷贝和替换算法

文章目录 遍历算法1. copy()代码工程运行结果 2. replace()代码工程运行结果 3. replace_if()代码工程运行结果 4. swap()代码工程运行结果 遍历算法 1. copy() 代码工程 copy()函数不要因为使用而使用#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include&l…

Java代码基础算法练习-分段函数求值-2024.04.21

任务描述&#xff1a; 有一个函数&#xff0c;写一段程序&#xff0c;输入x&#xff0c;输出y。 任务要求&#xff1a; 代码示例&#xff1a; package April_2024;import java.util.Scanner;public class a240421 {public static void main(String[] args) {Scanner sc new S…

根文件系统的构建

文章目录 一、根文件系统是什么&#xff1f;二、根文件目录1.bin目录2.etc3.lib4.mnt5.proc6.sys7.usr8.dev9.opt10.var 三.使用工具Busybox构建根文件系统1.rootfs文件夹创建2.在makefile中添加交叉编译器3.busybox 中文字符支持4.配置 默认busybox5.使用图形界面配置busybox6…

Mysql 、Redis 数据双写一致性 更新策略与应用

零、important point 1. 缓存双写一致性问题 2. java实现逻辑&#xff08;对于 QPS < 1000 可以使用&#xff09; public class UserService {public static final String CACHE_KEY_USER "user:";Resourceprivate UserMapper userMapper;Resourceprivate Re…

部署Hyperledger Fabric测试区块链网络

一. 快速启动区块链测试网络 启动Fabric虚拟机 将 fabric-samples.zip 拷贝进虚拟机 ubzip fabric-samples.zip 解压并重命名为fabric-samples mv fabric-samples-main fabric-samples 拷贝bin和config目录 cd fabric-samples cp ~/fabric/bin bin -r cp ~/fabric/config …

企业如何走出“费控”迷雾,打造逆势增长“新引擎”?

“你先自己垫一下&#xff0c;回头再报销。”职场中人或多或少都听到过这句话&#xff0c;这一等可能就是猴年马月。 报销数字化仅仅是企业费控管理的一方面&#xff0c;随着企业对费用的认知从“管控”到“管理”的升级&#xff0c;企业对于费用管理的期望也向全流程、精细化&…

报错The chromedriver version cannot be discovered以及下载chromedriver.exe和查看其版本的命令

python3.8.10&#xff0c;win10。 谷歌浏览器版本&#xff08;我写代码的时候还是123.0.x.x&#xff0c;没几天就自动更新到124.0.x.x了&#xff09;&#xff1a; 在使用selenium的时候&#xff0c;出现报错&#xff0c;The chromedriver version cannot be discovered。 &am…

C语言中字符串函数以及内存函数的使用和注意事项

目录 0. 前言 1、求字符串长度函数 1.1、strlen 模拟实现 2.长度不受限制的字符串函数 2.1 strcpy 模拟实现 2.2strcat 模拟实现 2.3strcmp 模拟实现 3.长度受限制的字符串函数 3.1strncpy 3.2strncat 3.3strncmp 4、字符串查找函数 4.1strstr 模拟实现 3.2strt…

使用51单片机控制T0和T1分别间隔1秒2秒亮灭逻辑

#include <reg51.h>sbit LED1 P1^0; // 设置LED1灯的接口 sbit LED2 P1^1; // 设置LED2灯的接口unsigned int cnt1 0; // 设置LED1灯的定时器溢出次数 unsigned int cnt2 0; // 设置LED2灯的定时器溢出次数// 定时器T0 void Init_Timer0() {TMOD | 0x01;; // 定时器…

HarmonyOS ArkUI实战开发-页面跳转(Router、Ability)

页面跳转可以分为页面内跳转和页面间跳转&#xff0c;页面内跳转是指所跳转的页面在同一个 Ability 内部&#xff0c;它们之间的跳转可以使用 Router 或者 Navigator 的方式&#xff1b;页面间跳转是指所跳转的页面属与不同的 Ability &#xff0c;这种跳转需要借助 featureAbi…

Java中的对象

什么是类和对象 在Java中类是物以类聚&#xff0c;分类的思维模式&#xff0c;思考问题首先会解决问题需要哪些分类&#xff0c;然后对这些类进行单独思考&#xff0c;最后才是对某分类下的细节进行单独思考 面向对象适合处理复杂问题适合处理需要多人协作的问题 在Java中面向…

二维前缀和与差分

前言 延续前面所讲的一维前缀和以及差分&#xff0c;现在来写写二维前缀和与差分 主要这个画图就比前面的一维前缀和与差分复杂一点&#xff0c;不过大体思路是一样的 一维和二维的主要思路在于一维是只针对对一行一列&#xff0c;而二维是针对与一个矩阵的 好吧&#xff0…

可视化大屏在政务领域应用非常普遍,带你看看

可视化大屏在政务领域的应用非常普遍&#xff0c;政务领域需要处理大量的数据和信息&#xff0c;通过可视化大屏可以将这些数据以直观、易懂的方式展示出来&#xff0c;帮助政府决策者和工作人员更好地了解和分析数据&#xff0c;从而做出更准确、科学的决策。 在政务领域&…

java学习之路-抽象类和接口

目录 前言 1.抽象类 1.2抽象类语法 1.3抽象类特性 1.4抽象类的作用 2.接口 2.1接口概念 2.2接口的定义 2.3接口的使用 接口使用栗子 2.4接口特性 2.5 实现多个接口 请看栗子 2.6接口间的继承 2.7接口使用实例 2.8Clonable 接口和深浅拷贝 2.9 抽象类和接口的区别…

Qt图片等资源管理

Qt的图片等资源管理通常有两种方式 1&#xff0c;直接将图标和一些配置文件打包在可执行程序中 添加qrc文件&#xff0c;可使用qtcreator直接添加 右键选中工程 点击选择即可。 然后添加文件。我这个例子是添加了Image文件夹下的图片资源 使用的时候&#xff0c;可以在代码…

MySQL学习笔记1(MySQL基础)

1.MySQL基础 1.数据库相关概念 ​ *数据库&#xff1a;存储数据的仓库&#xff0c;数据是有组织的进行存储 DtaBase(DB) ​ *数据管理系统&#xff1a;操纵和管理数据库的大型软件 DataBase Management System (DBMS) ​ *SQL&#xff1a;操作关系型数据库的编程语言&#…