自互联网诞生以来,随着网络飞速发展,用户迫切要求能在不同体系结构的网络空间交换信息,使得不同的网络能够互联起来。

国际化标准组织(International Organization for Standardization,即ISO)从1977年开始研究这个问题,并于1979年提出了一个互联的标准框架,即著名的开放系统互连参考模型(Open System Interconnection /Reference Model,OSI/RM),简称OSI模型。

  开放系统互连参考模型分为七层,从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

下面给大家简单介绍一下各层的概念及功能:

1.物理层

  物理层位于osi参考模型的最底层,为数据链路层实体提供建立、传输、释放所必须的物理连接,并且提供透明的比特流传输。

  连接可以是全双工或者半双工;传输方式可以是异步传输或者同步传输;传输单位是比特

  物理层通过各类协议定义了网络的四种特性:机械特性、电气特性、功能特性、规程特性

  机械特性:规定接口的外形、大小、引脚数和排列、固定位置

  电气特性:规定接口电缆上各条线路出现的电压范围

  功能特性:指明某条线上出现某一电平的电压表示何种意义

  规程特性:指明各种可能事件出现的顺序

2.数据链路层

  数据链路层将原始的传输线路转变成一条逻辑的传输线路,实现实体间二进制信息块的正确传输,为网络层提供可靠的数据信息。

  数据链路可以理解为数据的通道,是物理链路加上必要的通信协议而组成的逻辑链路,具有流量控制功能。

  数据链路层的数据单位是

  数据链路层功能:

  链路连接的建立、拆除和分离:数据传输所依赖的介质是长期的,但传输数据的实体间的连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或者多次数据通   信,每次通信都要经过建立通信联络、数据通信、拆除通信联络这三个过程。

  帧定界和帧同步:数据链路层的数据传输单元是帧,由于数据链路层的协议不同,帧的长短和界面也不同,所以必须对帧进行定界和同步。

  顺序控制:对帧的收发顺序进行控制。

  差错检测、恢复:差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测。各种错误的恢复则常靠反馈重发技术来完成。

  链路标识、流量/拥塞控制

3.网络层

  网络层控制子网的通信,其主要的功能是提供路由选择,即选择到达目的主机的最优路径,并沿着该路径传输数据包。网络层还应具备的功能:路由选择和中继;激活和终止网  络连接;链路复用;差错检测和恢复;流量/拥塞控制;网络层的数据传输单元是:数据分组或数据报

4.传输层

  传输层利用实现可靠的端到端的数据传输能实现数据分段、传输和组装,还提供差错控制和流量/拥塞控制等功能。传输层的数据传输单元是报文或段

5.会话层

  会话层允许不同的机器上的用户之间建立会话。会话就是指各种服务,包括对话控制(记录该由谁来传递数据)、令牌管理(防止多方同时执行同一关键操作)、同步功能(在  传输过程中设置检查点,以便在系统崩溃后还能在检查点上继续运行)。

  建立和释放会话连接还应该做一下工作:

    将会话地址映射为传输层地址。

    进行数据传输。

    释放连接

6.表示层

  表示层提供一种通用的数据描述格式,便于不同的操作系统间的机器进行信息交换和相互操作。表示层主要功能有:数据语法转换、语法表示、数据加密和解密、数据压缩和解  压。

7.应用层

  应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。

osi参考模型(开放系统互连参考模型)的更多相关文章

  1. TCP/IP协议,,OSI的七层参考模型,HTTP请求响应机制

    一.TCP/IP协议 TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是In ...

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

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

  3. OSI和TCP/IP参考模型

    分层思想: 分层模型是一种开发网络协议的设计方法. 把节点之间的通讯这个复杂的问题,分成了若干个简单的小问题逐一解决. 把网络相邻节点之间通过接口进行通信,下层为上层提供服务.当网络发生故障,很容易确 ...

  4. TCP/IP参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/104597450 学习课程:<2019王道考研计算机网络> 学习目的 ...

  5. 网络OSI和TCP/IP参考模型详解

    网络模型 对应协议 转载自: https://www.2cto.com/kf/201612/576253.html

  6. 慕课学习--OSI与TCP/IP网络协议

    **OSI:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放 ...

  7. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...

  8. Java - 网络编程完全总结

    本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程. 一.概述 ...

  9. 【转载】Java 网络编程

      本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程. 一. ...

随机推荐

  1. Spring Cloud Eureka Server高可用注册服务中心的配置

    前言 Eureka 作为一个云端负载均衡,本身是一个基于REST的服务,在 Spring Cloud 中用于发现和注册服务. 那么当成千上万个微服务注册到Eureka Server中的时候,Eurek ...

  2. Redis 5种主要数据类型和命令

    redis是键值对的数据库,有5中主要数据类型: 字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset) 几个基本的命令: KEYS * ...

  3. linux安装vsftpd服务器

    最近看到python的网络编程,看到用python写ftp客户端的小项目,打算着手连连.为了模仿真实环境,我并没有在本机上开个ftp服务器,选择了在虚拟机中的linux中做ftp服务器,我选择了vsf ...

  4. Python实现批量新建SecureCRT Session

    最近因为工作需要,我需要在ssh的时候保存几千台网关的session,工作量相当大(也就是ssh的时候需要记住用户名和密码,然后还要再session选项中录入enable密码,相当繁琐),而且设备的用 ...

  5. YII框架视图模块化

    在实际项目开发中,有很多地方我们在不同页面我们会重复利用它,如菜单栏... 下面是将这类型进行模块化处理,使其能在不同页面中重复利用... 案例: 效果图如下: 1.在YII中的路径如下: 2.在le ...

  6. sql server 高可用故障转移(4)

    二台sql服务器配置ISCSI虚拟磁盘 在上篇我们利用ISCSI Target软件在DC-ISCSCI上创建了三个ISCSI虚拟磁盘,在下面我们将为大家介绍SQL-CL01(hsr1 50)和SQL- ...

  7. client,server,nginx 在使用keepAlive 专题

    2. TCP keepalive overview In order to understand what TCP keepalive (which we will just call keepali ...

  8. ASP.NET CORE Linux发布工具(文件对比 只上传差异文件;自动启停WebServer命令;上传完成自动预热WebServer)

    最近这几日在搞一个小网站:教你啊 :(感兴趣的朋友可以来捧场,在这个网站上有任何消费我都可以退还) 由于更新频繁,手动更新特别麻烦,于是开发了这个小工具 用了一段时间,还是挺顺手的,同时.NET Co ...

  9. node npm --save,不同JS解析器的内置全局变量,PROMISE,CONST---ES6

    npm  --save 当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件packa ...

  10. goroutine背后的系统知识

    http://www.sizeofvoid.net/goroutine-under-the-hood/ o语言从诞生到普及已经三年了,先行者大都是Web开发的背景,也有了一些普及型的书籍,可系统开发背 ...