ISO/OSI 网络体系结构

计算机网络是相当复杂的系统,相互通信的两个计算机系统必须高度协调才能正常工作。为了设计这样复杂的计算机网络,人们提出了将网络分层的方法。分层可将庞大而复杂的问题转换为若干较小的局部问题进行处理,从而使问题简单化。

国际标准化组织在 1997 年成立了一个分委员会专门研究网络通信的体系结构问题,并提出了开放系统互联参考模型,它是一个定义异种计算机连接标准的框架结构。OSI 为连接分布式应用的“开放”系统提供了基础。所谓“开放”,是指任何两个系统只要遵循参考模型和有关标准就能够进行互连。OSI 采用了层次化结构的构造技术。

一、ISO/OSI 参考模型

ISO/OSI 的参考模型共有7层,如下图所示。由底层至高层分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

OSI 参考模型具有以下特性。

  • 它是一种将异构系统互联的分层结构。
  • 提供了控制互联系统交互规则的标准框架。
  • 定义了一种抽象结构,而并非具体实现的描述。
  • 不同系统上相同层的实体曾为同等层实体。
  • 同等层实体之间的通信由该层的协议管理。
  • 相邻层间的接口定义了原语操作和低层向高层提供的服务。
  • 所提供的公共服务是面向连接或无连接的数据服务。
  • 直接的数据传送仅在最低层实现。
  • 每层完成所定义的功能,修改本层的功能并不影响其他层。

OSI/RM 中的 1~3 层主要负责通信功能,一般称为通信子网层。上三层属于资源子网的功能范畴,称为资源子网层。传输层起衔接上、下三层的作用。对各层的说明如下。

物理层(Physical Layer)

物理层解决如何在连接个各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。

物理层的主要腾武描述为:确定传输媒体的接口的一些特性,即:

  • 机械特性:例接口形状,大小,引线数目
  • 电气特性:例规定电压范围(-5V 到 +5V)
  • 功能特性:例规定 -5V 表示 0,+5 V 表示 1
  • 过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤。

在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是位。

数据链路层(Data Link Layer)

数据链路层负责两个相邻节点间的线路上无差错地传送以帧位单位的数据,并进行流量控制。每一帧包括一定数量的数据和一些必要的控制信息。和物理层相似,数据链路层要负责建立、维持和释放数据链路层的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发送方重发这一帧。

网络层(Network Layer)

网络层位传输层实体提供端到端的交换网络数据功能,使得传输层摆脱路由选择、交换方式和拥挤控制等网络传输细节;可以为传输层实体建立、维持和拆除一条或多条通信路径;对网络传输中发生的不可恢复的差错予以报告。

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换节点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息,即源站点和目的站点的网络地址。

传输层(Transport Layer)

传输层为会话层实体提供透明、可靠的数据传输服务,保证端到端的数据完整性;选择网络层能提供最适宜的服务;提供建立、维护和拆除传输连接功能。传输层根据通信子网的特性最佳地利用网络资源,为两个端系统(也就是源站和目的站)的会话层之间提供建立、维护和取消传输连接的功能,并以可靠的经济的方式传输数据。在这一层,信息的传送单位是报文。

会话层(Session Layer)

会话层为彼此合作的表示层实体提供建立、维护和结束会话的功能;完成通信进程的逻辑名字与物理名字间的对应;提供会话管理服务。

这一层也可以称为会话层或对话层,在会话层及以上的高层中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。力图服务器验证用户登录便是由会话层完成的。

表示层(Presentation Layer)

表示层为应用层进程提供能解释所交换信息含义的一组服务,即将要交换的数据从适合某一用户的抽象语法转换为适合于 OSI 系统内部使用的传送语法;提供格式化的表示和转换数据服务。(数据的压缩、解压缩、加密和解密等工作都由表示层负责)。

应用层(Application Layer)

应用层提供 OSI 用户服务,即确定进程之间通信的性质,以满足用户需要以及提供网络与用户应用软件之间的接口服务,例如,事务处理程序、电子邮件和网络管理程序等。

二、参考模型的信息流向

如下图所示,设 A 系统的用户要向 B 系统的用户传送数据。A 系统用户的数据先送入应用层,该层给它附加控制信息 AH (头标)后,送入表示层。表示层对数据进行必要的变换并加头标 PH 后送入会话层。会话层也加头标 SH 送入传输层。传输层将长报文分段并加头标 TH 送至网络层。网络层将信息变成报文分组,并加组号 NH 送数据链路层。数据链路层将信息加上头标和尾标(DH 及 DT)变成帧,经物理层按位发送到对方(B 系统)。B 系统接收到信息后,按照与 A 系统相反的动作,层层剥去控制信息,最后把原数据传送给 B 系统的用户。可见,两系统中只有物理层是实通信,其余各层均为虚通信。因此,下图中只有两物理层之间有物理连接,其余各层均无连接。

文章来源

《软件设计师教程》

【计算机网络】ISO/OSI 网络体系结构的更多相关文章

  1. ISO/OSI网络体系结构和TCP/IP协议模型

    1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层.数据链路层.网络层.传输层.会话层.表示层.     应用层.各层功能分别为: (1)物理层          提供建立.维护和拆除 ...

  2. OSI网络体系结构

    为把在一个网络结构下开发的系统与在另一个网络结构下开发的系统互连起来,以实现更高一级的应用,使异种机之间的通信成为可能,便于网络结构标准化,国际标准化组织(ISO)于1983年形成了开放系统互连基本参 ...

  3. 温故知新--计算机网络 iso/osi七层模型 tcp/ip四层模型

    ISO七层模型由下至上为1至7层,分别为: 应用层(Application layer) 表示层(Presentation layer) 会话层(Session layer) 传输层(Transpor ...

  4. 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

    以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数 ...

  5. ISO/OSI七层网络参考模型、TCP/IP四层网络模型和教学五层网络模型

    一.说明 直接的原因是昨晚<计算机网络(自顶向下方法)>到货了,以为能讲得有些不一样,但看完整本也就是老调地讲过来讲应用层.传输层.网络层.网络接口层.感觉比之谢希仁的<计算机网络& ...

  6. 网络通信协议二之ISO/OSI参考模型

    OSI介绍 >>Open System Interconnection,简称ISO/OSI RM >>是一个逻辑结构,并非一个具体的计算机设备或网络 >>任何两个遵 ...

  7. 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P

    网络体系结构的分类 现代网络应用程序有两种主流的体系结构: 客户机/服务器体系结构和P2P体系结构(peer to peer “对等”)   一 . 客户机/服务器体系结构     客户机/服务器体系 ...

  8. 网络结构----ISO/OSI七层网络模型和TCP/IP四层网络模型

    对等实体在一次交互作用中传送的信息单位称为协议数据单元.它包含控制信息和用户数据两部分. 上下层实体之间的接口称为服务訪问点. ISO/OSI參考模型分为:物理层.数据链路层.网络层.传输层.会话层. ...

  9. python(十二):网络编程之ISO/OSI模型

    互联网(Internet)是依据操作系统,在计算机硬件的基础上建立起的通讯机制.它依赖于TCP/IP协议栈. 一.ISO/OSI模型 1.ISO七层模型与OSI五层模型 它们将计算机抽象成了具有层级关 ...

随机推荐

  1. 开发中遇到的一些bug及解决方案

    一.在使用UIStackView时报“UIStackView before iOS 9.0”.

  2. Xcode 10 Error: Multiple commands produce

    目录 Xcode 9.4.1运行react-native 可以,但是在Xcode 10运行报错,报错信息如下: 解决方法 1. 选择 File > Project Settings (或者 Fi ...

  3. 踩坑了!使用 @Autowired 注入成功,GetBean 方法却获取不到?!

    本文首发于个人微信公众号:Coder小黑 踩坑了?! 之前推文已经讲过 当@Transactional遇到@CacheEvict,你的代码是不是有bug! 现在要在事务提交之后清除缓存.在Spring ...

  4. [vue]初探vue生态核心插件Vuex

    为什么会有 Vuex 这个东西 ? 一个应用内部运行的机制,事件 -> 状态 -> UI,我们的前端常常会因为这两个过程而产生大量代码,从而变得难以维护. vue的声明式渲染,解决了从 状 ...

  5. 《Android项目实战--手机安全卫士》读后感

    上学期在学校图书馆看到此书,觉得比较贴近实践,于是寒假研究了一番,也算是体会了一把社会培训机构的模式. 由于时间关系,最后两章还没弄完,但感觉每章节的流程相似,加之马上要回学校了,所以打算在家的最后一 ...

  6. C++生成完全二叉树

    C++生成完全二叉树 2019-12-20 By Gauss 1.背景介绍 完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的.对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都 ...

  7. 使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

    更多内容,关注公众号:来学云计算 场景: 某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functi ...

  8. 一起学Vue之计算属性和侦听器

    概述 在Vue开发中,模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.当你想要在模板中多次引用相同表达式时,就会更加难以处理.所以,对于任何复 ...

  9. Wiki语法大全

    原文链接:wiki语法大全  编辑一个维客页面十分容易.只要点击页面上方的“编辑本页”或右侧的[编辑]链接即可修改该页,或点击“讨论本页”然后再点击“编辑页面”来讨论该页面.点击后您就会看到一个包含那 ...

  10. Python—脚本程序生成exe可执行程序(pyinstaller)

    一.pyinstaller的简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的 ...