Ethernet 系列(6)-- 基础学习::OSI Model

(写在前面:最近在学习车载以太网的知识,顺便记录一下知识点。)

OSI(Open System Interconnect )模型是一种网络通信框架,由国际标准化组织(‌ISO)在1985年提出,旨在为不同制造商和技术提供商的网络设备和软件提供一个通用的兼容和通信标准。这个模型将复杂的网络通信过程分解为七个独立的层次,使得网络交互更加清晰和易于管理。OSI模型的主要目的是提供一个通用的框架,确保不同系统之间的互操作性和应用的可移植性。

目录

1.OSI Model每层的功能:

 1.1 Physical layer(物理层)

1.2 Data link layer(数据链路层)

1.3 Network layer(网络层)

1.4 Transport layer(传输层)

1.5 Session, Presentation, Application Layer(会话,展示,应用层)

2. 封装和去封装过程:

2.1 封装过程

2.2 去封装过程

3. 结论:


1.OSI Model每层的功能:

OSI模型包含7层:

 1.1 Physical layer(物理层)

  • 计算机数据以位(1和0)的形式存在。必须有东西在计算机之间传输这些比特。这个东西是物理层。换句话说,物理层的目标是传输比特。
  • 任何有助于在计算机之间移动这些比特的东西都被称为第1层技术。示例:电缆、Wifi、中继器、集线器。

1.2 Data link layer(数据链路层)

  • 该层将与物理层交互,这意味着它将在线路上放置比特并从线路中检索比特。 
  • 无论计算机中的电线连接到什么,它都被认为是第2层技术。示例:NIC(网络接口卡)、Wifi接入卡、交换机。 
  • 数据链路层的目标是跳到跳,这意味着它将从这个NIC获取比特流并将其放入另一个NIC。为了实现这一目标,第2层将使用寻址方案,称为MAC地址。

1.3 Network layer(网络层)

  • 这一层的目标是端到端交付。为了实现这一目标,第3层将使用称为IP地址的寻址方案。 
  • 第3层技术包括:路由器、主机或任何具有IP地址的设备都可以被视为第3层的技术。 
  • 到目前为止,问题是为什么我们需要MAC地址和IP地址?要回答这个问题,让我们看一下这个插图:

假设我们有以下组件: 

  • 主机A的IP地址为10.1.1.11,MAC地址为a1a1。 
  • 主机B的IP地址为10.8.8.88,MAC地址为e8e8。 
  • 具有MAC地址b2b2和b3b3的路由器1。 
  • 路由器2的MAC地址为c4c4和c5c5。 
  • 路由器3的MAC地址为d6d6和d7d7
  • 我们希望将数据(0和1位的流)从主机a传递到主机B。此时,层2和层3不知道这些数据意味着什么,它只知道需要将这些位从主机a传输到主机B即可。步骤如下:
  • Step 1: 由于主机A知道数据需要到达主机B,它将向该数据添加第3层信息,以便从一端到另一端获取信息。

  • Step 2: 主机A知道它首先需要将数据传输到路由器1。为此,主机A需要向该数据添加第2层信息,以便跳到路由器1。

当添加第2层信息时,数据可以被传递到路由器1。

  • Step 3: 一旦数据到达路由器1,第2层信息就会被删除。记住,第2层信息的全部目的只是逐跳传递。

  • 重复步骤2和3,调整MAC地址,直到数据可以到达主机B。一旦数据到达主机B,就可以删除第2层和第3层信息。第2层信息可以被删除,因为它已经完成了将数据从路由器3带到主机B的任务。

这就是为什么我们需要MAC和IP地址的原因,因为它服务于不同的目的。IP地址和MAC地址作为独立的功能工作,有一个协议将这两个功能联系在一起,称为ARP(地址解析协议)。

1.4 Transport layer(传输层)

这一层的目标是服务到服务的交付,这意味着正确的程序接收正确的数据包。换句话说,这一层的目标是区分数据流。

与第2层和第3层一样,第4层也使用称为Port的寻址方案来实现其目标。有2组端口:

  • 0-65535 for TCP.
  • 0-65535 for UDP.
  • TCP和UDP是区分数据流的两种不同策略。TCP有利于可靠性,UDP有利于效率。

每个预期接收或向线路发送数据的程序都与特定的端口号相关联。因此,当数据到达线路时,它将包括第4层信息以及第3层和第2层信息。第4层信息指示应该接收哪个特定程序的数据。

还有一件更重要的事情应该记住:客户端为每个连接随机选择端口。在下图中,这意味着在端口8888上返回的任何内容都将被提供给服务bank.com,在端口7777上返回的所有内容都将提供给服务聊天服务器。

此外,当客户端使用同一程序打开多个选项卡时,会相应地建立随机端口。

1.5 Session, Presentation, Application Layer(会话,展示,应用层)

  • OSI模型中的其他层具有不同的功能,但当涉及到第5、6、7层时,这种区别有些不清楚。这三层通常被认为是一个通用应用层。 
  • 这一层的目标是赋予数据意义。

2. 封装和去封装过程:

2.1 封装过程

  • 主机A有一个正在生成数据以发送到主机B的应用程序。这些数据将经过封装过程。

  • 这些数据将首先发送到第4层。此层将向数据添加一个标头,以促进第4层:服务到服务交付的目标。特别是,TCP标头将包含此数据的源端口和目标端口。第4层标头+数据的构造称为Segment。

  • 该段将传递到第3层。此层将为此数据添加另一个标头,以促进第3层:端到端交付的目标。特别是,IP报头将包含此数据的源IP地址和目标IP地址。第3层标头+数据的构造称为Packet。

请注意,在Packet的数据内部是一个第4层标头和应用层的数据,但在第3层,它不在乎数据内部是什么,它只知道数据是一堆需要传递到另一端的0和1。

  • 该数据包将再次向下传递到第2层。此层将向此数据添加另一个标头,以促进第2层的目标:跳到跳交付。特别地,第2层报头将包含此数据的源MAC地址和目的MAC地址。第2层标头+数据的构造称为Frame。

  • 该帧最终将转换为1和0,并放置在导线上。

2.2 去封装过程

  • 另一端,接收主机将执行去封装过程。这意味着,它将把这些1和0从线上取下,并转换为Frame。接下来,第2层将查看第2层标头,以确保这是此主机NIC的MAC地址。如果地址正确,它将丢弃第2层标头并将其传递给第3层。

  • 在第3层,它将查看IP标头,以确保它是此主机IP地址的IP地址。如果IP地址正确,它将丢弃IP报头并将其传递到第4层。

  • 在第4层,它将查看TCP标头,以确定将此数据发送到哪个端口,然后将数据传递给正确的应用程序。

  • 应用程序最终可以处理数据。

3. 结论:

  • 网络设备在特定层上运行,这意味着例如第2层设备只会查看数据报直到第2层报头才能做出决定。 
  • 例如,交换机仅查看第2层标头以做出决定,它将忽略查看有效载荷内部(第3层和第4层标头)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

day15:shell基础

一,编程语法分类(了解) 编程范式: 面向过程:程序通过按步骤执行函数或过程完成任务,强调流程控制和函数调用,适合流程明确的任务,如 C。面向对象:通过“类”和“对象”封…

无人机测绘遥感技术算法概述!

一、数据采集算法 航线规划算法 根据测绘任务需求,利用地理信息系统(GIS)和遥感技术,对无人机进行航线规划。 考虑地形、气候、障碍物等因素,优化飞行路径,确保数据采集的完整性和准确性。 传感器控制算…

Pytest-Bdd-Playwright 系列教程(6):在测试步骤函数中设置别名数据共享

Pytest-Bdd-Playwright 系列教程(6):在测试步骤函数中设置别名&数据共享 前言一、步骤别名二、特性文件三、测试脚本四、运行测试五、小测验总结 前言 有的时候,为了提高可读性,我们需要使用不同的名称来声明相同的…

HTML 分组标签与语义化应用:合理使用 <div>、<span> 和基础语义容器

文章目录 1. `<div>` 标签特点用途示例2. `<span>` 标签特点用途示例3. `<fieldset>` 标签特点用途示例4. `<section>` 标签特点用途示例5. `<article>` 标签特点用途示例总结HTML中的分组(容器)标签用于结构化内容,将页面元素组织成逻辑区域…

关于武汉芯景科技有限公司的马达驱动芯片AT6237开发指南(兼容DRV8837)

一、芯片引脚介绍 1.芯片引脚 二、系统结构图 三、功能描述 逻辑功能

Android View

前面我们了解了Android四大组件的工作流程&#xff0c;Android中还存在一个和四大组件地位相同的概念&#xff1a;View&#xff0c;用于向用户页面展示内容。我们经常使用的TextView、Button、ImageView控件等都继承于它&#xff0c;也会自定义View实现自定义效果。View类源码内…

谷歌插件开发学习指南

什么是谷歌插件 谷歌插件&#xff08;Chrome Extension&#xff09;是为谷歌浏览器&#xff08;Chrome&#xff09;开发的小程序&#xff0c;旨在增强浏览器的功能或用户体验。它们可以通过添加工具栏按钮、修改网页内容、集成其他服务等方式&#xff0c;实现各种功能&#xf…

linux命令行的艺术

文章目录 前言基础日常使用文件及数据处理系统调试单行脚本冷门但有用仅限 OS X 系统仅限 Windows 系统在 Windows 下获取 Unix 工具实用 Windows 命令行工具Cygwin 技巧 更多资源免责声明 熟练使用命令行是一种常常被忽视&#xff0c;或被认为难以掌握的技能&#xff0c;但实际…

Puppeteer 与浏览器版本兼容性:自动化测试的最佳实践

Puppeteer 支持的浏览器版本映射&#xff1a;从 v20.0.0 到 v23.6.0 自 Puppeteer v20.0.0 起&#xff0c;这个强大的自动化库开始支持与 Chrome 浏览器的无头模式和有头模式共享相同代码路径&#xff0c;为自动化测试带来了更多便利。从 v23.0.0 开始&#xff0c;Puppeteer 进…

知识管理新选择!本地大模型助手“知我AI”全功能解析

抖知书老师推荐&#xff1a; 随着人工智能技术的飞速发展&#xff0c;本地大模型知识管理工具逐渐成为提高工作效率的利器。今天&#xff0c;我要向大家介绍一款名为**“知我AI”**的本地知识管理助手&#xff0c;它以其独特的功能和优势&#xff0c;正在成为众多专业人士的新…

Banana Pi BPI-R3路由器开发板运行 OrayOS物联网系统

近日&#xff0c;Banana PI开发板宣布与贝锐达成战略合作&#xff0c;贝锐OrayOS现已成功适配Banana PI的BPI-R3型号&#xff0c;并计划进一步扩展硬件支持&#xff0c;包括目前Banana PI热销的BPI-R4、BPI-R3 Mini等更多型号。这一合作为用户提供了更广泛的开发板选择&#xf…

No.24 笔记 | WEB安全 - 任意文件包含漏洞 part 6

在 Web 安全领域中&#xff0c;任意文件包含漏洞是一种较为常见且具有潜在危险性的漏洞类型。本文将详细介绍任意文件包含漏洞的概念、原理、分类、利用方法以及防护措施&#xff0c;帮助新手小白更好地理解和防范这一漏洞。&#x1f603; 一、概念 包含的定义 开发人员为了提…

森利威尔SL2516D 耐压60V内置5V功率MOS 支持PWM LED恒流驱动器芯片

一、基本特性 型号&#xff1a;SL2516D封装&#xff1a;ESOP8工作频率&#xff1a;140kHz驱动MOS管&#xff1a;内置 二、电气特性 输入电压范围&#xff1a;8V~100V&#xff08;注意&#xff0c;虽然问题中提到耐压60V&#xff0c;但根据官方信息&#xff0c;其实际耐压范围…

Vscode配置CC++编程环境的使用体验优化和补充说明

文章目录 快速编译运行&#x1f47a;code runner插件方案Code Runner Configuration 直接配置 相关指令和快捷键默认task配置和取消默认 配置文件补充介绍(可选 推荐阅读)&#x1f60a;使用vscode预置变量和环境变量环境变量的使用使用环境变量的好处环境变量可能引起的问题 检…

Linux中rpm包和yum仓库介绍及入门配置

rpm包概述 RPM Package Manager,RPM包管理器 由红帽公司提出&#xff0c;适用于Rocky Linux、Redhat、SUSE等系列操作系统 建立集中数据库&#xff0c;记录软件包安装/卸载等变化信息&#xff0c;分析软件包依赖关系 RPM包 文件名特征 软件名-版本信息.操作系统.硬件架/构.r…

L 波段射频信号采集回放系统

L 波段采集回放系统是一套便携式模拟数字采集系统&#xff0c;该系统主要由射频输入模块、中频接收回放模块、FPGA 信号处理单元、服务器系统和存储单元等组成。 L 波段采集回放系统的功能主要用于对 950MHz〜2150MHz 模拟量射频信号的采集、存储记录与回放&#xff1b;采集与…

百度如何打造AI原生研发新范式?

&#x1f449;点击即可下载《百度AI原生研发新范式实践》资料 2024年10月23-25日&#xff0c;2024 NJSD技术盛典暨第十届NJSD软件开发者大会、第八届IAS互联网架构大会在南京召开。本届大会邀请了工业界和学术界的专家&#xff0c;优秀的工程师和产品经理&#xff0c;以及其它行…

Unity3D 开发教程:从入门到精通

Unity3D 开发教程&#xff1a;从入门到精通 Unity3D 是一款强大的跨平台游戏引擎&#xff0c;广泛应用于游戏开发、虚拟现实、增强现实等领域。本文将详细介绍 Unity3D 的基本概念、开发流程以及一些高级技巧&#xff0c;帮助你从零基础到掌握 Unity3D 开发。 目录 Unity3D…

Vue3和Springboot前后端简单部署

一、Vue3Springboot 的前后端简单部署 (在win下面部署) 1、前端实现部署 思想: 前端打包项目后、放到nginx中进行部署 1、nginx 安装 和 解压 1、下载 nginx.zip win版本 解压就可以 2、解压后、启动程序 3、访问 nginx 欢迎页面 http://localhost/ 80 端口 可以省略 直接访…

中仕公考:2025四川省考今日报名!

2025年四川省考今日开始报名啦&#xff01;准备参加考试的广大考生们不要错过报名时间哦&#xff01; 报名时间&#xff1a; 2024年11月1日至7日上午8:00 资格审查&#xff1a; 2024年11月1日至8日上午8:00 确认缴费&#xff1a; 2024年11月9日上午8:00 准考证打印&#xff…