【计算机网络】ISO/OSI 网络体系结构
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 网络体系结构的更多相关文章
- ISO/OSI网络体系结构和TCP/IP协议模型
1. ISO/OSI的参考模型共有7层,由低层至高层分别为:物理层.数据链路层.网络层.传输层.会话层.表示层. 应用层.各层功能分别为: (1)物理层 提供建立.维护和拆除 ...
- OSI网络体系结构
为把在一个网络结构下开发的系统与在另一个网络结构下开发的系统互连起来,以实现更高一级的应用,使异种机之间的通信成为可能,便于网络结构标准化,国际标准化组织(ISO)于1983年形成了开放系统互连基本参 ...
- 温故知新--计算机网络 iso/osi七层模型 tcp/ip四层模型
ISO七层模型由下至上为1至7层,分别为: 应用层(Application layer) 表示层(Presentation layer) 会话层(Session layer) 传输层(Transpor ...
- 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)
以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型 下四层是为数据传输服务的,物理层是真正的传输数 ...
- ISO/OSI七层网络参考模型、TCP/IP四层网络模型和教学五层网络模型
一.说明 直接的原因是昨晚<计算机网络(自顶向下方法)>到货了,以为能讲得有些不一样,但看完整本也就是老调地讲过来讲应用层.传输层.网络层.网络接口层.感觉比之谢希仁的<计算机网络& ...
- 网络通信协议二之ISO/OSI参考模型
OSI介绍 >>Open System Interconnection,简称ISO/OSI RM >>是一个逻辑结构,并非一个具体的计算机设备或网络 >>任何两个遵 ...
- 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P
网络体系结构的分类 现代网络应用程序有两种主流的体系结构: 客户机/服务器体系结构和P2P体系结构(peer to peer “对等”) 一 . 客户机/服务器体系结构 客户机/服务器体系 ...
- 网络结构----ISO/OSI七层网络模型和TCP/IP四层网络模型
对等实体在一次交互作用中传送的信息单位称为协议数据单元.它包含控制信息和用户数据两部分. 上下层实体之间的接口称为服务訪问点. ISO/OSI參考模型分为:物理层.数据链路层.网络层.传输层.会话层. ...
- python(十二):网络编程之ISO/OSI模型
互联网(Internet)是依据操作系统,在计算机硬件的基础上建立起的通讯机制.它依赖于TCP/IP协议栈. 一.ISO/OSI模型 1.ISO七层模型与OSI五层模型 它们将计算机抽象成了具有层级关 ...
随机推荐
- luogu P1031 均分纸牌
题目很简单,但是可以学一学贪心策略 把纸牌均匀分布,从左往右推掉不用的纸牌 #include <iostream> using namespace std; int main() { in ...
- react-native 相对项目路径导入组件 ___ babel-plugin-root-import
在使用react-native的时候,经常要自定义很多组件,但是只能使用../../../的方式,经常不记得这是多深,有没有一个插件,能自动帮我们解决这样的问题? 使用指南 我们使用的目标要达到以下的 ...
- Java修炼——面向对象_抽象类和抽象方法
抽象类和抽象方法 什么是抽象类? 使用 abstract 修饰的类称为抽象类 public abstract class Person { } 抽象类的特征 1) 抽象类不可以创建对象 2) 抽象类可 ...
- python3如何随机生成大数据存储到指定excel文档里
本次主要采用的是python3的第三方库xlwt,来创建一个excel文件.具体步骤如下: 1.确认存储位置,文件命名跟随时间格式 2.封装写入格式 3.实现随机数列生成 4.定位行和列把随机数写入 ...
- 【原创】005 | 搭上SpringBoot请求处理源码分析专车
前言 如果这是你第二次看到师长,说明你在觊觎我的美色! 点赞+关注再看,养成习惯 没别的意思,就是需要你的窥屏^_^ 专车介绍 该趟专车是开往Spring Boot请求处理源码分析专车,主要用来分析S ...
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型.Array大小是固定的,ArrayList的大小是动态变化的.ArrayLi ...
- 数据库day01
作业: 1. 查看岗位是teacher的员工姓名.年龄 select name,age from staff_info where jobs = 'teacher'; 查看岗位是teacher且年龄大 ...
- Codeforces Round #592 (Div. 2)
A. Pens and Pencils 题目链接:https://codeforces.com/contest/1244/problem/A 题意: 给定五个数 a , b , c , d , k 求 ...
- 1.1 Spring 概述
1.1 Spring 概述 1.1.1 Spring 的简史 第一阶段:xml配置 Spring 1.x时代使用xml配置Bean 第二阶段:注解配置 Spring2.x Spring 提供了声明B ...
- Redis Cluster 的数据分片机制
上一篇<分布式数据缓存中的一致性哈希算法> 文章中讲述了一致性哈希算法的基本原理和实现,今天就以 Redis Cluster 为例,详细讲解一下分布式数据缓存中的数据分片,上线下线时数据迁 ...