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层标头)。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 字符流详解

在 Java 的 I/O 体系中,字符流(Reader 和 Writer)是专门用于处理文本数据的输入输出流。与字节流不同,字符流以字符为单位进行读取和写入,能够更好地处理文本信息,尤其是包含多字节字符(如中文&…

Linux 多线程编程

韦东山的例程所谓线程,就是操作系统所能调度的最小单位。普通的进程,只有一个线程在执行对应的逻辑。我们可以通过多线程编程,使一个进程可以去执行多个不同的任务。相比多进程编程而言,线程享有共享资源,即在进程中出…

后端:Spring-1

文章目录 1. 了解 spring(Spring Framework)2. 基于maven搭建Spring框架2.1 纯xml配置方式来实现Spring2.2 注解方式来实现Spring3. Java Config类来实现Spring 2.4 总结 1. 了解 spring(Spring Framework) 传统方式构建spring(指的是Spring Framework)项目,导入依…

【C++动态规划 01背包】2787. 将一个数字表示成幂的和的方案数

本文涉及知识点 C动态规划 C背包问题 LeetCode2787. 将一个数字表示成幂的和的方案数 给你两个 正 整数 n 和 x 。 请你返回将 n 表示成一些 互不相同 正整数的 x 次幂之和的方案数。换句话说,你需要返回互不相同整数 [n1, n2, …, nk] 的集合数目,满…

Python爬虫的京东大冒险:如何高效获取商品详情的秘籍

在这个由代码编织的电商世界里,京东商品详情就像是被锁在高塔中的公主,等待着勇敢的Python爬虫骑士去解救。今天,我们要讲述的是如何成为一名Python爬虫骑士,携带你的代码长矛,穿梭在API的数据森林中,高效获…

SpringBoot【实用篇】- 测试

文章目录 目标:1.加载测试专用属性3.Web环境模拟测试2.加载测试专用配置4.数据层测试回滚5.测试用例数据设定 目标: 加载测试专用属性加载测试专用配置Web环境模拟测试数据层测试回滚测试用例数据设定 1.加载测试专用属性 我们在前面讲配置高级的时候…

vfx特效有多烧钱?云渲染农场减少vfx特效成本

特效制作一直是电影制作中的烧钱大户,尤其是视觉特效(VFX)的高昂成本让许多项目望而却步。但随着云渲染农场技术的发展,VFX特效的成本得到了有效控制,为电影工业带来了革命性的变化。 在电影工业中,VFX特效…

任何python安装gdal出现的问题

Releases cgohlke/geospatial-wheels GitHubGeospatial library wheels for Python on Windows. Contribute to cgohlke/geospatial-wheels development by creating an account on GitHub.https://github.com/cgohlke/geospatial-wheels/releases 各种乱七八糟的gdal库问题…

tensorflow案例4--人脸识别(损失函数选取,调用VGG16模型以及改进写法)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 这个模型结构算上之前的pytorch版本的,算是花了不少时间,但是效果一直没有达到理想情况,主要是验证集和训练集准确率…

SPA和SSR

单页面应用程序(SPA) 单页面应用(SPA)全称是:Single-page application, SPA应用是在客户端呈现的(术语称:CRS)。 SPA应用默认只返回一个空HTML页面&#xff0c;如:body只有<div id"app"></div>而整个应用程序的内容都是通过JavaScript动态加载&#xf…

【 纷享销客-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

基于SpringBoot和PostGIS的世界各国邻国可视化实践

目录 前言 一、空间数据查询基础 1、空间数据库基础 2、空间相邻查询 二、SpringBoot后台功能设计 1、后台查询接口的实现 2、业务接口设计 三、Leaflet进行WebGIS开发 1、整体结构介绍 2、相邻国家展示可视化 四、成果展示 1、印度及其邻国 2、乌克兰及其邻国 3、…

Python之groupby()及aggregate()方法

目录 数据准备df.describe()思考1 分组 pd.groupby()思考2 df.aggregate()思考1 现在有一份titanic_train.csv&#xff0c;包含泰坦尼克号乘客信息及获救情况的明细数据&#xff0c;我们需要使用一些聚合函数&#xff0c;统计相关指标。 数据准备 import pandas as pd df pd.…

Unity 二次元三渲二

三渲二 注意&#xff1a;Unity必须是2022.3LTS及以上和URP项目&#xff01;&#xff01;&#xff01; 下载三渲二插件 【如何将原神的角色导入Unity】全网最细致教程&#xff0c;全程干货。不使用任何收费插件&#xff0c;使用Spring Bone对头发和衣服进行物理模拟。_原神 步…

Unity计算二维向量夹角余弦值和正弦值的优化方法参考

如果不考虑优化问题&#xff0c;计算两个向量的余弦值或者正弦值可以直接使用类似的方法&#xff1a; [SerializeField] Vector2 v1, v2;void Start() {float valCos Mathf.Acos(Vector2.SignedAngle(v1, v2));float valSin Mathf.Asin(Vector2.SignedAngle(v1, v2)); } 但是…

深度|谁在为OpenAI和Anthropic的AI编程竞赛提供“军火”?已赚得盆满钵满

图片来源&#xff1a;Unsplash AI 开发者之所以一致认为编程的重要性&#xff0c;是有原因的&#xff1a;大型语言模型编程能力越强&#xff0c;它回答与软件无关的其他类型问题的能力也越强。 去年秋天&#xff0c;几位 Google 人工智能领导者与初创公司 CEO Jonathan Siddh…

2024年北京市安全员-A证证模拟考试题库及北京市安全员-A证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年北京市安全员-A证证模拟考试题库及北京市安全员-A证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;北京市安全员-A证证模拟考试题库是根据北京市安全员-A证最新版教材&#xff0c;北京市安全员-A证大…

[ 问题解决篇 ] win11中本地组策略编辑器gpedit.msc打不开(gpedit.msc缺失)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

前端聊天室页面开发(赛博朋克科技风,内含源码)

肝了一天&#xff0c;经过各种处理美化&#xff0c;肝出来了一个赛博朋克科技风的前端页面&#xff0c;用的原生三件套htmlcssjavascript开发的&#xff0c;本来想是加点功能调用一下gpt接口&#xff0c;但是基本都需要webscoket通信&#xff0c;可惜我js学的不是很深入&#x…

TMDOG的Gin学习笔记_01——初识Gin框架

TMDOG的Gin学习笔记_01——初识Gin框架 博客地址&#xff1a;[TMDOG的博客](https://blog.tmdog114514.icu) 作者自述&#xff1a; 停更太久了&#xff0c;是因为开学了课太多了&#xff0c;并且我一直在准备上篇文章的内容正在coding&#xff0c;就先搁置了更新博客QAQ&…