很多人说“21世纪人类最伟大的发明就是计算机”;正是如此,21世纪的今天,计算机正对我们的社会发展和生活起居产生着不可估量的影响;电脑,手机都能上网随时随地了解多彩的世界。但是有时我们会想:我们人类友好交流时需要使用统一的语言,而计算机之间交流是否也需要一个沟通标准呢?答案是肯定的,osi参考模型(七层模型)也是由此产生的。


什么是OSI参考模型

OSI(Open System Interconnect),即开放式互联,是ISO(国际标准化组织)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

OSI参考模型的划分

OSI为网络开放系统定义了七层结构,

层数 OSI参考模型 各层解释
第七层 应用层 为网络应用程序提供服务
第六层 表示层 处理数据格式和数据加密
第五层 会话层 建立、维护、管理会话
第四层 传输层 建立主机端到端的连接
第三层 网络层 寻址和路由选择
第二层 数据链路层 提供介质访问和链路管理
第一层 物理层 比特流传输

七层详解

物理层

物理层(physical layer):利用传输介质实现比特序列的传输。

物理层是传输的媒介,在线路中将0/1转换成电信号和光信号;就相当于是邮局与邮局之间的搬运工。

数据链路层

数据链路层(data link layer):采用差错控制与流量控制的方法,使得有差错的物理线路变成无差错的数据链路。

数据链路层,又称数链层;相互直连的设备之间需要使用地址实现物理传输,而这个地址就是MAC地址,也叫物理地址(注:任何一个网络设备都有一个唯一的身份识别码,这个识别码就是MAC地址,MAC地址是一串十六进制的12位数字编码);相当于邮局中的拆箱工人。

网络层

网络层(network layer):实现路由选择、分组、转发与拥塞控制等功能,为“分组”传输选择“最佳”的路由。

网络层的作用是寻址(ip地址就在网络层),将数据从发送端主机发送到接收端主机时,虽然两端主机之间有众多数据链路,但能够将数据准确地从发送端主机发送到接收端主机都是网络层的功劳;相当于邮局中集散中心的分拨排序工人,例如:邮件从沈阳发到上海,邮件先到沈阳集散中心,再到北京集散中心,再到上海集散中心;每个集散中心都可以看成一个ip地址。

传输层

传输层(transport layer):向高层用户提供可靠的“端——端”的通信服务,向高层屏蔽下层数据通讯的据体细节

传输层的一个重要作用是保证数据传输的可靠性,用于将建立和断开连接的实际行动,传输层为确保所有数据到达目标地址,会在通信两端计算机之间进行确认,如果数据没有到达或已损坏会负责进行重发;相当于公司中跑邮局的送信工人。

会话层

会话层(session layer):两个通信计算机之间的进程通信,管理数据交换。

会话层属于传输层的领导,决定采用何种连接方法以保证两端进行高效的数据交换是会话层的主要责任,管理传输层什么时间建立连接,什么时间断开连接;相当于公司中收寄信、写信封拆信封的秘书。

表示层

表示层(presentation layer):处理两个通信的计算机系统的数据表示方式,完成数据格式的变换,加密与解密,压缩与恢复

表示层是进行“统一的网络数据格式”和“某一台计算机或某一款软件特有的数据格式”之间的相互转换的分成;相当于替老板写信的助理(可以进行内容加密处理)。

应用层

应用层(application):为应用软件提供多种网络服务,例如:万维网,文件传输,电子邮件等其他服务

每一个网络应用都对应不同的协议,这些协议就属于应用层。

工作流程

数据在发送时由第七层至第一层依次封装,接收端在收到数据包后从第一层至第七层依次拆包,如图:


TCP/IP协议栈

浅谈OSI参考模型(七层模型)的更多相关文章

  1. OSI 网络七层模型(笔记)

    一直以来我们都在使用着互联网,每天聊着qq,上着淘宝,但是却不了解怎么运行的呢,充满了好奇.今天同过了解来总结一下OSI网络七层模型: 上一张图 OSI (open system interconne ...

  2. OSI 的七层模型

    一.概念 概念:开放系统互联参考模型,是由 ISO(国际标准化组织)定义的.目的:规范不同系统的互联标准,使两个不同的系统能够较容易的通讯. 网络刚面世时,通常只有同一家厂商的计算机才能彼此通讯.OS ...

  3. OSI网络七层模型、TCP/IP 模型(四)

    OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”. OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层.数据链路层.网络层.传输层.会话层 ...

  4. OSI的七层模型介绍

    应用层: 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层: 数据格式化,代码转换,数据加密 没有协议. (信息的语法语义以及它们的 ...

  5. 浅谈OSI七层模型及ICP/IP四层模型

    1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...

  6. 浅谈OSI七层网络模型和TCP/IP四层模型

    OSI七层网络模型 OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. OSI七层模型 功能 ...

  7. 简谈OSI七层模型(网络层)

    七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. 它是一个七层的.抽象的模型 ...

  8. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  9. python网络编程-OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

随机推荐

  1. Hbase之过滤器的使用

    一.过滤器概念 基础API中的查询操作在面对大量数据的时候是非常物无力的,这里Hbase提供了高级的查询方法:Filter(过滤器).过滤器可以根据簇.列.版本等更多的条件来对数据进行过滤,基于Hba ...

  2. 解决github下载速度慢问题

    众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,包括我之前推荐的诸多优秀的开源项目全部都是位于GitHub上.但是每当我们看到优秀的开源项目,准备去 下(bai)载(pia ...

  3. System类常用方法

    System类常用方法 public static long currentTimeMills() 获取当前系统时间,以毫秒值为单位的当前时间. public static void arraycop ...

  4. 杭电OJ2005---第几天?(c++)

    Problem Description 给定一个日期,输出这个日期是该年的第几天. Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外 ...

  5. C#扫盲篇(三):Action和Func委托--实话实说

    一.基础定义 老王想找老张的老婆出去耍,但是一看,老张还在厨房煮饭.于是老王就对老张隔壁的淑芬说:"等下老张吃完饭出去喝茶,你就把前门晒的苞谷收了,老张从左门出,你就收右边的苞谷,我就知道从 ...

  6. 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)

    关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...

  7. 创建一个简单MyBatis程序

    文章目录 MyBatis基础 MyBatis 简介 创建一个MyBatis程序 1. 创建Java项目 2. 加载MyBatis包 3. 编写POJO类和映射文件 4.创建mybatis-config ...

  8. Nacos使用和注册部分源码介绍

    Nacos简单介绍 Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理.Nacos帮助您更敏捷和容易地构建. ...

  9. LeetCode700. 二叉搜索树中的搜索

    题目 简单递归 1 class Solution { 2 public: 3 TreeNode* searchBST(TreeNode* root, int val) { 4 if(!root) re ...

  10. spring boot项目问题汇总

    spring遇到的问题汇总 有关日志的打印和日志如何使用 在实际项目中,我们的程序都是运行在linux上,有错误时也不能在本地的控制台上直观看到,所有合理打印日志对于程序员迅速定位到错误. 打印日志时 ...