OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。
它是由国际标准化组织提出的一种概念模型,是一个试图使各种计算机在世界范围内互连为网络的标准框架。
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。

每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。
OSI模型的设计目的是成为一个所有销售商都能是吸纳的开放网路模型,来克服使用众多私有网络模型所带来的困难和低效。
整个过程以公司A和公司B的一次商业报价单发送为例子进行讲解。(该例来自文尾的链接博客)
应用层
为操作系统或网络应用程序提供访问网络服务的接口, 我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
该层包含了大量人们普遍需要的协议。不同的文件系统有不同的文件命名原则和不同的文本行表示方法等,不同的系统之间传输文件还有各种不兼容问题,这些都将由应用层来处理。此外,应用层还有虚拟终端、电子邮件和新闻组等各种通用和专用的功能。
实际公司A的老板就是我们所述的用户,而他要发送的商业报价单,就是应用层提供的一种网络服务,当然,老板也可以选择其他服务,比如说,发一份商业合同,发一份询价单,等等。
表示层
这一层需要解决用户信息的语法表示问题,它将欲交换的数据从适合某一用户的抽象语法,转换为适合于OSI 系统内部使用的传送语法。例如图像格式的显示,就是由位于表示层的协议来支持。这一层的主要功能是定义数据格式以及加密和数据压缩。
由于公司A和公司B是不同国家的公司,他们之间的商定统一用英语作为交流的语言,所以此时表示层(公司的文秘),就是将应用层的传递信息转翻译成英语。同时为了防止别的公司看到,公司A的人也会对这份报价单做一些加密的处理。这就是表示的作用,将应用层的数据转换翻译等。
会话层
会话层负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。,比如两个人打电话,称为一次会话。这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
该层允许不同机器上的用户之间建立会话关系,既可以进行类似传输层的普通数据传输,也可以被用于远程登录到分时系统或在两台机器间传递文件。
该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
会话层的同事拿到表示层的同事转换后资料,(会话层的同事类似公司的外联部),会话层的同事那里可能会掌握本公司与其他好多公司的联系方式,这里公司就是实际传递过程中的实体。他们要管理本公司与外界好多公司的联系会话。当接收到表示层的数据后,会话层将会建立并记录本次会话,他首先要找到公司B的地址信息,然后将整份资料放进信封,并写上地址和联系方式。准备将资料寄出。等到确定公司B接收到此份报价单后,此次会话就算结束了,外联部的同事就会终止此次会话。
传输层
数据层的数据单元称为数据段,这个层负责获取全部信息,它跟踪数据单元碎片、乱序到达的数据包的重排序和其它在传输过程中可能发生的危险。传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。传输层是源端到目的端对数据传送进行控制从低到高的最后一层。
传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型。基本可以满足对传送质量、传送速度、传送费用的各种不同需要.
该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。我们通常说的,TCP UDP就是在这一层。端口号既是这里的“端”。
传输层就相当于公司中的负责快递邮件收发的人,公司自己的投递员,他们负责将上一层的要寄出的资料投递到快递公司或邮局。
网络层
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将解封数据链路层收到的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
我们常说的ip地址,就是说的第三层网络层的问题,IP协议是Internet的基础。这里是数据包的问题,而不是第二层的帧,除了ip,还有一些路由协议和地址解析协议(ARP),有关路由的一切事情都在第三层处理,地址解析和路由是第三层的重要目的,网络层还可以实现拥塞控制、国际互联。在这一层,数据的单位成为数据包(packet)
网络层主要设备:路由器
网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说,从深圳发往北京的顺丰快递(陆运为例啊,空运好像直接就飞到北京了),首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。
数据链路层(DataLinkLayer)
在物理层提供比特流服务的基础上,建立相邻节点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输
数据链路层在不可靠的物理介质上提供可靠的传输,该层的作用:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等,在这层,数据的单位成为帧(frame)
数据链路层主要设备:二层交换机、网桥、网卡
该层分为两个子层:逻辑链路控制(Logic Link Control,LLC)子层和介质访问控制(Media Access Control,MAC)子层。
总的来说,数据链路层是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路,它定义了在单个链路上如何传输数据。
概括:该层的作用为加强物理层的功能,使其对网络层显示为一条无错的线路。
联通各个集散中心的马路, 河道, 航空路线以及路标, 灯塔
物理层
规定通信设备的机械的、电气、功能的和过程的特性,具体讲:机械特性规定了网络连接所需接插件的规格尺寸,和排列情况,电气规定了物理连接上传输bit流时线路上信号电平的大小、主抗匹配、传输速率距离限制等。物理层的功能,为数据端设备提供传送数据的通路,物理层的主要设备:中继器、集线器。水晶头、网线。
快递寄送过程中的交通工具,就相当于我们的物理层,例如汽车,火车,飞机,船。
简单总结
| OSI七层模型 | 功能 | 对应的网络协议 | TCP/IP四层概念模型 |
| 应用层 | 文件传输,文件管理,电子邮件的信息处理——apdu | HTTP、TFTP, FTP, NFS, WAIS、SMTP | 应用层 |
| 表示层 | 确保一个系统的应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据的解密和加密,最小单位——ppdu | Telnet, Rlogin, SNMP, Gopher | |
| 会话层 | 负责在网络中的两节点建立,维持和终止通信,在一层协议中,可以解决节点连接的协调和管理问题。包括通信连接的建立,保持会话过程通信连接的畅通,两节点之间的对话,决定通信是否被终端一斤通信终端是决定从何处重新发送,最小单位——spdu | SMTP, DNS | |
| 传输层 | 定义一些传输数据的协议和端口。传输协议同时进行流量控制,或是根据接收方接收数据的快慢程度,规定适当的发送速率,解决传输效率及能力的问题——tpdu | TCP, UDP | 传输层 |
| 网络层 | 控制子网的运行,如逻辑编址,分组传输,路由选择最小单位——分组(包)报文 | IP, ICMP, ARP, RARP, AKP, UUCP | 网络层 |
| 数据链路层 | 主要是对物理层传输的比特流包装,检测保证数据传输的可靠性,将物理层接收的数据进行MAC(媒体访问控制)地址的封装和解封装,也可以简单的理解为物理寻址。交换机就处在这一层,最小的传输单位——帧 | FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,帧中继 | 数据链路层 |
| 物理层 | 定义物理设备的标准,主要对物理连接方式,电气特性,机械特性等制定统一标准,传输比特流,因此最小的传输单位——位(比特流) | IEEE 802.1A, IEEE 802.2到IEEE 802. |
OSI的影响
OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。它定义了开放系统的层次接口、层次之间的相互关系以及各层所包括的可能的任务,作为一个框架来协调和组织各层所提供的服务。
但是呢,OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。即OSI参考模型不是一个标准,而是一个在制定标准时所使用的框架性框架。
最后祭一张神图供大家参考, 取自一篇没有原文链接的转载博客, 也留给自己看
参考博客 :
https://blog.csdn.net/zhangyi_1027/article/details/
https://www.cnblogs.com/qishui/p/5428938.html
https://blog.csdn.net/Searchin_R/article/details/
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229043.html原文链接:https://javaforall.net
