当前位置: 首页 > news >正文

【计算机网络---OSI七层模型】

一、OSI的基本概念及原则

OSI是Open System Interconnect的缩写,意为开放式系统互联。各个层次的划分遵循以下原则:

 1. 同一层的各网络节点都有相同的层次结构,具有同样的功能;
 2. 同一节点的内相邻层之间通过接口进行通信;
 3. 七层结构的每一层使用下一层提供的服务,并且向上一层提供服务;
 4. 不同节点的同等层按照协议实现对等层之间的通信。

二、OSI七层模型各层功能概述

OSI七层网络模型TCP/IP四层概念模型对应网络协议
应用层(Application)应用层HTTP、TFTP、FTP、NFS、WAIS、SMIP
表示层(Presentation)Telnet、Rlogin、SNMP、Gopher
会话层(Session)SMTP、DNS
传输层(Transport)传输层TCP、UDP
网络层(Network)网络层IP、ICMP、ARP、RARP、AKP、UUCP
数据链路层(Data Link)数据链路层FDDI、Ethernet、Arpanet、PDN、SLIP、PPP
物理层(Physical)IEEE 802.1A、IEEE 802.2到IEEE 802.11

 第一层:物理层

在OSI参考模型中,物理层是参考模型的最低层,也是OSI模型的第一层。

物理层的主要功能:

利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。

 第二层:数据链路层

数据链路层是OSI模型的第二层,负责建立和管理节点间的链路。在计算机网络中,由于各种干扰的存在,物理链路是不可靠的。

数据链路层的主要功能:

在物理层提供的比特流的基础上,通过差错控制、流量控制等方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。

 第三层:网络层

网络层是OSI模型的第三层,是其中最复杂的一层,也是通信子网的最高一层,在下两层的基础上向资源子网提供服务。

网络层的主要功能:

在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。具体来说,数据链路层的数据在网络层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。数据链路层和网络层的区别为:数据链路层的目的是解决同一网络内节点之间的通信,而网络层主要解决不同子网之间的通信。

 第四层:传输层

 OSI模型下面三层的任务是数据通信,上面三层的任务是数据处理,而传输层作为OSI的第四层,提供建立、维护和拆除传输连接的功能,起到了承上启下的作用。

传输层的主要功能:

向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。

第五层:会话层 

 会话层是OSI模型的第五层,是用户应用程序和网络之间的接口。

会话层的主要功能:

组织和协调两个会话进程之间的通信,并对数据交换进行管理。当建立会话时,用户必须提供他们想要连接的远程地址,而这些地址与MAC地址或网络层的逻辑地址不同,它们是为用户专门设计得,更便于用户记忆。域名就是一种网络上使用的远程地址。会话层的具体功能如下:

  1. 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换;
  2. 会话流量控制:提供会话流量控制和交叉会话的功能;
  3. 寻址:使用远程地址建立会话;
  4. 出错控制:从逻辑上将会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并纠正错误。 

第六层:表示层

表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。

表示层的主要功能:

处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:

  1.  数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异;
  2. 数据的编码:处理字符集和数字的转换;
  3. 压缩和解压缩:为了减少数据的传输量,表示层还负责数据的压缩与恢复;
  4. 数据的加密与解密:可以提高网络的安全性。

 第七层:应用层

应用层是OSI模型的最高层,是计算机用户,以及各种应用程序和网络之间的接口。

应用层的主要功能:

直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,应用层还负责协调各个应用程序间的工作,其具体功能如下:

  1. 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系;
  2. 实现各种服务:应用层具有的各种应用程序可以完成和实现用户请求的各种服务。 

三、OSI七层模型举例

 举例:以A公司向B公司发送一次商业报价单为例。

分析如下

  • 应用层:A公司相当于实际的电脑用户,要发送的商业报价单相当于应用层提供的一种网络服务,当然,A公司也可以选择其他服务,比如发送一份商业合同、发送一份询价单等;
  • 表示层:由于A公司和B公司是不同国家的公司,他们之间协商统一用英语作为交流语言,所以此时A公司的文秘(表示层)将从上级(应用层)获取到的商业报价单的语言翻译为英语,同时为了防止被别的公司盗取机密信息,A公司的文秘还会对这份报价单进行一些加密处理。这就是表示层的作用,将应用层的数据转换翻译。
  • 会话层:A公司外联部同事(会话层)掌握着其他许多公司的联系方式,他们负责管理本公司与外界许多公司的联系会话。当外联部同事拿到文秘(表示层)转换为英文的商业报价单后,首先要找到所要联系的B公司的地址信息,并附上自己的地址和联系方式,然后将报价单放进信封准备寄出。等B公司确认接收到报价单后,外联部的同事才去办其他事情,继而终止此次会话。
  • 传输层:传输层就相当于A公司中负责收发邮件的人,A公司自己的投递员负责将上一层(会话层)要寄出的资料投递到快递公司或邮局。
  • 网络层:网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说深圳发往北京的顺丰快递,首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。其中每个集散中心都相当于网络中的一个IP节点。
  • 数据链路层:相当于顺丰快递内部为了保证效率和质量的一种内部操作。
  • 物理层:快递寄送过程中的交通工具就相当于物理层,例如飞机、火车、汽车等。

 
四、OSI七层模型总结

OSI七层模型关键词
应用层产生网络流量的程序
表示层传输之前是否进行加密或压缩处理
会话层查看会话、查木马netstat-n
传输层可靠传输、流量控制、不可靠传输
网络层负责选择最佳路径、规划IP地址
数据链路层数据帧的开始和结束、透明传输、差错校验
物理层接口标准、电器标准、如何更快传输数据

五、相关概念解释

5.1、比特流

比特流是指由比特(bit,即二进制位)组成的数据流,它是计算机中处理和传输数据的最基本形式。比特流由0和1两种二进制数字组成,用来表示数据、指令或控制信息。比特流通常是以电信号或电磁波的形式在计算机网络中传输,以便在不同的计算机和设备之间进行数据交换。

比特流的底层原理:

  • 信号传输:在计算机中,比特流通常是以电信号或电磁波的形式进行传输。例如:通过网线传输的比特流就是通过电信号的形式进行传输的。在信号传输的过程中,需要考虑电磁干扰、传输距离等因素,以保证信号的质量和可靠性。
  • 数据表示:计算机中的数据是以二进制形式进行表示的,比特流是由0和1组成的二进制数字序列。每8位二进制数字组成一个字节,不同的字节可以表示不同的数据类型,如整数、字符、浮点数等。
  • 码制:为了提高数据的传输效率和可靠性,比特流通常需要进行码制转换。例如:在数字通信中,可以使用调制技术将比特流转换为模拟信号进行传输,以便在不同的信号媒介上进行传输。另外,还以使用压缩算法对比特流进行压缩,以减少数据传输的时间和宽带需求。

 5.2、点到点、端到端

点到点服务端到端服务
主要使用层数据链路层传输层
概念数据链路层只负责直接相连的两个节点之间的通信,一个节点的数据链路层接受网络层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个节点端到端,即为发送端到接收端。端到端通信建立在点到点通信的基础上,是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信
优点发送端设备送出数据后,它的任务就已经完成了,不需要参与整个传输过程,不会浪费发送端设备的资源;即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时不需要进行存储转发,因此传输延迟小
缺点发送端送出数据后,不知道接收端能否收到或者何时收到数据直到接收端收到数据为止,发送端的设备要全程参与,如果整个传输过程的延迟很长,那么对发送端的设备会造成很大的浪费;且若接收设备关机或故障,端到端传输不可能实现

相关文章:

【计算机网络---OSI七层模型】

一、OSI的基本概念及原则 OSI是Open System Interconnect的缩写,意为开放式系统互联。各个层次的划分遵循以下原则: 1. 同一层的各网络节点都有相同的层次结构,具有同样的功能; 2. 同一节点的内相邻层之间通过接口进行通信&…...

Error updating database. Cause: org.apache.shiro.UnavailableSecurity

mybtisplus查看MetaObjectHandler是否有自定义获取用户信息填充用户的方法...

【网络安全】本地文件包含及远程文件包含漏洞详解

一、文件包含漏洞概述 1.1 什么是文件包含 开发人员将需要重复调用的函数写入一个文件,对该文件进行包含时产生的操作。这样编写代码能减少冗余,降低代码后期维护难度。 保证网站整体风格统一:导航栏、底部footer栏等,把这些不…...

redis启动的三种方式

默认启动: # 默认的启动指令 redis-server 默认启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL C则Redis停止。不推荐使用。 //查看云服务器是否安装过redis redis-server -v//检查安装目录 which redis-server//查看redis进…...

手机怎么远程控制电脑屏幕?手机远程控制电脑方法分享

手机与电脑之间的互联互通变得越来越便捷。 无论是工作还是学习,有时我们需要在手机上远程控制电脑屏幕,以完成一些复杂的操作或查看电脑上的文件。 本文将详细介绍几种实用的手机远程控制电脑屏幕的方法,帮助读者轻松实现这一目标。 一、使…...

NET的全称、主要功能以及在计算机网络中的作用?

.NET是一个广泛的、全方位的平台,应用于开发网站、应用程式、网页应用程式和网络服务。以下是.NET的全称、主要功能以及在计算机网络中的作用: .NET的全称 .NET的全称实际上是Microsoft .NET Framework。它是微软公司推出的一种面向网络的开发框架&…...

LLM - 使用 HuggingFace + Ollama 部署最新大模型 (GGUF 格式 与 Llama 3.1)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/141028040 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Ollama…...

如何实现Redis和Mysql中数据双写一致性

在我们的实际开发中,我们用到了redis缓存一些常用的数据(如热点数据)用来提高系统的吞吐量。 但是不可以避免的出现了数据的修改场景,这就导致了数据库中的数据和Redis中出现不一致性的情况。如何保证数据一致性就显得非常重要了&…...

three.js 模型高亮效果实现说明(结合react)

three.js react 实现鼠标移入模型高亮选中效果 使用EffectComposer和其附加的渲染效果Passes(如RenderPass和OutlinePass)来实现高级渲染效果。首先创建EffectComposer实例,并添加RenderPass和OutlinePass,最后在渲染循环中调用…...

入营测评题解

第一题&#xff1a;first 第二题&#xff1a;chengji 打擂台&#xff0c;每个数跟当前最大、最小值比较&#xff0c;维护当前最值即可。 #include<bits/stdc.h> using lllong long; using namespace std;const int N1e610;int n; int x;//1e9, ll最大9e18 ll maxn0,minn…...

制造知识普及(十)-- 常见的工业软件介绍

「 1. ERP」 企业资源计划&#xff08;enterprise resource planning&#xff0c;ERP&#xff09;是制造企业的核心管理软件。ERP系统的基本思想是以销定产&#xff0c;协同管控企业的产、供、销、人、财、物等资源&#xff0c;帮助企业按照销售订单&#xff0c;基于产品的制造…...

Windows系统设置网络IPv4和IPv6优先访问级

Windows系统设置网络IPv4和IPv6优先访问级 资源宝整理分享&#xff1a;www.httple.net 在数字化的世界中&#xff0c;我们离不开互联网&#xff0c;而互联网协议&#xff08;IP协议&#xff09;则扮演着至关重要的角色。IPv4曾是互联网的主要标准&#xff0c;但随着IP地址枯竭问…...

yolov8 剪枝 - DepGraph

2024年8月5 5000张图片&#xff0c;2个类别。 yolov8n 初始&#xff1a; 185 layers, 3151904 parameters, 31936 gradients, 8.7 GFLOPs 经过三次finetune后&#xff1a; 185 layers, 2327024 parameters, 31936 gradients, 6.6 GFLOPs 经过第四次fintune后&#xff1a; …...

【网络】套接字socket编程预备知识

1.源IP地址和目的IP 计算机网络中的源地址和目的地址是用来标识网络中的不同主机的。 源地址是指发送数据包的主机的地址&#xff0c;而目的地址则是指接收数据包的主机的地址&#xff0c;在数据包传输过程中&#xff0c;每经过一个路中器感交换机&#xff0c;都会根据目的地址…...

【学习笔记】Day 8

写在开头&#xff1a; 最近老板突然提出一个全新的组会主题&#xff0c;是关于 “最近我犯的傻”&#xff0c;其目的在于提供乐子的同时引以为戒。本来我还在愁到底去哪里找干的啥事儿&#xff0c;结果今天直接拉了个大的。什么叫无心插柳柳成荫啊&#xff0c;悲。 一…...

springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice

一、 背景 因为项目中需要使用word转pdf功能&#xff0c;因为转换速度原因&#xff0c;最后选用了libreoffice&#xff0c;原因及部署请参考 linux ubuntu环境安装libreoffice&#xff0c;word转pdf 远程调用的话可选docker部署&#xff0c;请看2.3.1 二、springboot整合libr…...

从入门到精通:大学生编程技能提升全攻略

文章目录 每日一句正能量前言编程语言选择编程语言选择&#xff1a;为新手导航Python&#xff1a;初学者的友好伙伴JavaScript&#xff1a;Web开发的核心Java&#xff1a;企业级应用的经典C&#xff1a;系统编程的基石Ruby&#xff1a;优雅高效的编程Swift&#xff1a;iOS开发的…...

C# .NET Framework的特殊委托

C# .NET Framework的特殊委托 .NET Framework中定义了几种特殊的委托类型&#xff0c;以简化委托的使用。以下是一些常用的特殊委托类型&#xff1a; Predicate<T> 这是一个返回布尔值的委托&#xff0c;接受一个类型为T的参数。常用于定义过滤条件。 using System; …...

C# 判断电脑是否联网

项目中连接webAPI需要判断是否联网&#xff0c;故找到这个方法&#xff0c;不需要引用任何dll&#xff0c;代码复制一下&#xff0c;直接使用。wininet.dll是系统自带的 public void Initial(){try{ if (IsNetworkConnected){SvMaster.Log.WriteInfo("网络…...

爬虫解析代码结构

在设计中加入一个顶层接口是有益的&#xff0c;特别是当您希望实现统一的接口来处理所有类型的排行榜数据时。这样做可以提供更好的灵活性和扩展性&#xff0c;同时保持代码的整洁和易于维护。 设计概述 接口: 定义一个 RankingDataCollector 接口&#xff0c;它定义了所有数…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...