开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。

各层协议

osi七层和tcp/ip四层对比

七层模型

数据传输过程1

数据传输过程2

OSI将计算机网络体系结构(architecture)划分为以下七层:
物理层: 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。

数据链路层: 决定访问网络介质的方式。

在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。

网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。

传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。

会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。

表示层: 协商数据交换格式 相当公司中简报老板、替老板写信的助理。

应用层: 用户的应用程序和网络之间的接口老板。

OSI网络七层模型-结构图

概念学习理解较为枯燥


层次划分

根据建议X.200,OSI将计算机网络体系结构划分为以下七层,标有1~7,第1层在底部。 现“OSI/RM”是英文“Open Systems Interconnection Reference Model”的缩写。

第7层 应用层

主条目:应用层

应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

应用层(Application Layer):该层为用于通信的应用程序和用于消息传输的底层网络提供接口。 网络应用是计算机网络存在的原因,而应用层正是应用层协议得以存在和网络应用得以实现的地方。应用层(Application layer)是七层OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。

应用层应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。

第6层 表达层

主条目:表达层

表达层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。

表示层位于OSI分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。与第五层提供透明的数据运输不同,表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩。每台计算机可能有它自己的表示数据的内部方法,

例如,ASCII码与EBCDIC码,所以需要表示层协定来保证不同的计算机可以彼此理解。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要表示层来完成这种转换。如果您想要用尽量少的词语来记住这第6层,那就是“一种通用的数据格式”。

表示层为应用层提供的服务有三项内容语法转换:

语法转换涉及代码转换和字符集的转换,数据格式的修改、数据结构操作的适配、数据压缩、数据加密等。

语法选择:语法选择是提供初始选择的一种语法和随后修改这种选择的手段。

联接管理:利用会话层提供的服务建立表示联接,管理在这一联接之上的数据运输和同步控制,以及正常或非正常地终止联接。

工作原理

在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密与加密,如系统口令的处理如果在Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。加密分为链路加密和端到端的加密。对于表示层,参与的加密属于端到端的加密,指信息由发送端自动加密,并进入TCP/IP数据包封装,然后作为不可阅读和不可识别的数据进入互联网。到达目的地后,再自动充足解密,成为可读数据。端到端加密面向网络高层主体,不对下层协议进行信息加密,协议信息以明文进行传送,用户数据在中央节点不需解密。

第5层 会话层

主条目:会话层

会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

⑴为会话实体间建立连接为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作.① 将会话地址映射为运输地址.② 选择需要的运输服务质量参数(QOS).③ 对会话参数进行协商.④ 识别各个会话连接.⑤ 传送有限的透明用户数据.

⑵数据传输阶段这个阶段是在两个会话用户之间实现有组织的,同步的数据传输.用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的.

⑶连接释放连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的。会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。

会话劫持与安全

会话劫持由于会话层传输数据的特点所以在发生会话时可能会出现会话劫持。会话劫持发生在攻击者试图接管两台计算机间所建立的TCP会话的时候。会话劫持的基本步骤包括:寻找会话、猜测序号、迫使用户掉线、接管会话。会话劫持的目的是窃取有效系统的一个授权连接。如果黑客成功了,那么他就可以执行本地命令。如果他劫持了一个特权帐户,那么黑客就拥有了与特权用户一样的访问权限。会话劫持之所以会如此的危险是因为它允许控制现有的帐号,这使得攻击就几乎没有痕迹。两种可用于会话劫持的工具是Ettercap和Hunt。

阻止和检测会话劫持

有两种主要的机制可以解决劫持的问题:阻止和检测。

阻止的方法包括限制到达的连接数,以及配置网络拒绝来自网络但却称来自本地地址的数据包。

加密也会有所帮助。如果你必须允许来自外部的可信任主机的连接,那么要使用Kerberos或IPsec进行加密。FTP和Telnet是相当脆弱的,我们需要使用更安全的协议。SecureShell(SSH)是一个很好的选择。SSH在本地和远程主机上建立一个加密的通道。使用IDS或IPS系统可以改进检测。使用交换机、诸如SSH的安全协议,以及更加随机的初始序列号都将增加会话劫持的难度。

第4层 传输层

主条目:传输层

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP,UDP)等。

传输层(Transport Layer)是ISO OSI协议的第四层协议,实现端到端的数据传输。该层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控、分段/重组和差错控制。一些协议是面向链接的。这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。

第3层 网络层

主条目:网络层

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。网络层为了说明网络层的功能,它是由若干个网络节点按照任意的拓扑结构相互连接而成的。网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式。网络层从物理上来讲一般分布地域宽广,从逻辑上来讲功能复杂,因此是OSI模型中面向数据通信的下三层(也即通信子网)中最为复杂也最关键的一层。

第2层 数据链路层

主条目:数据链路层

数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。

分为两个子层:逻辑链路控制(logic link control,LLC)子层和介质访问控制(media access control,MAC)子层。

数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。移动通信系统中Uu口协议的第二层,也叫层二或L2。

第1层 物理层

主条目:物理层

物理层(Physical Layer)在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。

物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设物理层备。DTE即数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE──DCE,再经过DCE──DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。


对于协议的学习,先从图例入手,然后根据每层逐个进行了解,化繁为简,就使得每层对应的协议和每层的作用及原理显而易见,更加助于记忆.

注:文章如有疑问或错误之处,请留言评论指出,必将学习之.

图说OSI七层网络模型的更多相关文章

  1. 计算机网络基础——OSI七层网络模型

    计算机网络基础——OSI七层网络模型 OSI的是什么: 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称 ...

  2. OSI七层网络模型浅析

    OSI七层网络模型(从下往上): 物理层(Physical):设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的 环境.可以理解为网络传输的物理媒体部分,比如网卡,网线,集线器,中继器,调 ...

  3. OSI七层网络模型与TCP/IP四层模型介绍

    目录 OSI七层网络模型与TCP/IP四层模型介绍 1.OSI七层网络模型介绍 2.TCP/IP四层网络模型介绍 3.各层对应的协议 4.OSI七层和TCP/IP四层的区别 5.交换机工作在OSI的哪 ...

  4. java面试题之osi七层网络模型,五层网络模型,每层分别有哪些协议(阿里面试题)

    OSI七层网络模型 TCP/IP五层网络模型 对应网络协议 应用层 应用层 HTTP.TFTP.FTP.NFS.WAIS.SMTP 表示层 应用层 Telnet.Rlogin.SNMP.Gopher ...

  5. OSI七层网络模型与TCP/IP四层模型

    1.OSI七层结构图: 2.TCP/IP四层结构图: 3.各层对应的协议 4.OSI七层和TCP/IP四层的区别 OSI网络模型和TCP/IP网络模型对应关系: 5.交换机工作在OSI的哪一层 如果有 ...

  6. osi七层网络模型(一)

    在网络中OSI分为七层网络模型,怎么理解七层模型呢?简单理解我们的手机都有手机壳.屏幕.摄像头.电池.芯片等很多原件,每个原件都是由不同的 厂家生产,最终组装成了一部功能完整的手机,同样,在网络中,也 ...

  7. OSI七层网络模型与TCP/IP四层网络模型

    1.OSI网络7层模型 网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的设计.分 ...

  8. 互联网基础知识------OSI七层网络模型梗概

    OSI七层模型 七层网络结构: 应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 一般也作五层 应用层.传输层.网络层.数据链路层.物理层(实体层) 引申问题:TCP/IP协议与http协议 ...

  9. 第一章计算机网络概述---OSI七层网络模型

    局域网和广域网 局域网的简写是LAN,广域网用WAL表示.其实家庭的网络就是一个小型的局域网,一个光猫,一根网线,但是光猫无线信号不太好的话,需要在搞一个路由器. 这时候你的电脑连接到路由器上,路由器 ...

随机推荐

  1. 获得Java中System对应一些属性值

    public static void main(String[] args){ System.out.println("Java运行时环境版本:\n"+System.getProp ...

  2. angular-file-upload 在IE下使用的坑

    如果在控件配置里面设置了queueLimit属性为1,就是队列文件个数为1,并且在<input>标签设置里multiple属性. 在IE浏览器上传附件的时候,浏览器会报错“SCRIPT50 ...

  3. [九省联考2018] IIIDX 线段树+贪心

    题目: 给出 k 和 n 个数,构造一个序列使得 d[i]>=d[i/k] ,并且字典序最大. 分析: 听说,当年省选的时候,这道题挡住了大批的高手,看上去十分简单,实际上那道弯段时间内是转不过 ...

  4. [LUOGU] 3959 宝藏

    https://www.luogu.org/problemnew/show/P3959 注意到n非常小,考虑状压/搜索. 发现状压需要枚举起点,跑n次,一个问题是转移不可以以数字大小为阶段了,考虑用d ...

  5. GIMP的Path用法,快速选区

    1/很多的快捷键,不多就Shift Ctrl Alt可以自由选择,这里自己多试几次可以熟练掌握吧. 2/快速选区作为Path,这里颜色要纯一点好:Selection to Path Step1:选择F ...

  6. 文件的软硬链接& 文件编辑vi和vim

    目录 文件的软硬链接 1.软链接 2.硬链接 文件编辑vi和vim 须先安装vim命令的软件包yum install -y vim 三种模式: 1.普通模式 2.编辑模式 3.末行模式 文件的软硬链接 ...

  7. python基础学习笔记——生成器与推导式

    生成器 首先我们来看看什么是个生成器,生成器本质就是迭代器 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 首先,我们先 ...

  8. Python自动发送邮件(可带附件)

    Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件 ...

  9. mysql条件查询and or使用实例及优先级介绍

    mysql and与or介绍 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 使用OR关键字时: 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 如果不符合这 ...

  10. PHP “引号兄弟”

    PHP的string最大可以达到2GB,不过很少会用到这么大的字符串. 单引号: 定义一个字符串最简单的方式是使用单引号,而在单引号字符串中要想表达一个单引号,需要在她的前面加个反斜线(\)来进行转义 ...