当前位置: 首页 > 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、点到点、端到端

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 用uniapp 及socket.io做一个简单聊天app 撤回聊天及保留聊天记录 6
  • 基于RHEL7的服务器批量安装
  • Vue前端面试基础(一)
  • ptrade排坑笔记——执行k_start.sh脚本发现没有生成日志?
  • html+css+js+jquery实现一个 飘零的树叶
  • 将元组类型的日期时间转换为字符串格式time.asctime([t])
  • RuoYi-Vue源码阅读(一):验证码模块
  • Kylin系列(二)使用
  • 缓存常见问题优化
  • 树莓派边缘计算网关搭建:集成MQTT、SQLite与Flask的完整解决方案
  • 数据结构初阶最终讲:排序
  • 使用python-pptx代码添加幻灯片:向PPT中插入新的幻灯片页面
  • Openwrt配置ZeroTier,实现公网访问内网中服务器
  • Windows下,C# 通过FastDDS高效通信
  • 碳化硅陶瓷膜过滤设备优异的过滤性能
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular数据绑定机制
  • ES6--对象的扩展
  • Flannel解读
  • mysql innodb 索引使用指南
  • mysql常用命令汇总
  • vue 配置sass、scss全局变量
  • vue总结
  • 爬虫模拟登陆 SegmentFault
  • 配置 PM2 实现代码自动发布
  • 前嗅ForeSpider中数据浏览界面介绍
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (35)远程识别(又称无人机识别)(二)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (k8s中)docker netty OOM问题记录
  • (二)原生js案例之数码时钟计时
  • (回溯) LeetCode 40. 组合总和II
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (实战篇)如何缓存数据
  • (未解决)macOS matplotlib 中文是方框
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .gitignore文件忽略的内容不生效问题解决
  • .Mobi域名介绍
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .Net Core 笔试1
  • .net core 控制台应用程序读取配置文件app.config
  • .NET单元测试
  • .NET框架设计—常被忽视的C#设计技巧
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [2023年]-hadoop面试真题(一)
  • [AIGC] Java List接口详解
  • [Android]使用Android打包Unity工程
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]