端口tag和untag简单理解_浅谈对OSI模型的理解

548666e90b2740eb158c9dfecfe6bf1a.png

开放系统互联(Open System Interconnection,缩写:OSI)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。

1984年,ISO(国际标准组织)发布了著名的ISO/IEC 7498标准,它定义了网络互联的7层框架,也就是开放式系统互联参考模型。

为什么要发布这个标准呢?

其实就是推荐所有公司使用这个标准,生产硬件、软件都按照这个来,这样大家的通信方式是一样的,能够互相发送、接收信息等操作,有利于各不同制造厂家的设备互联。比如大家通常都使用两头或三头的插座,而你偏偏制作了四头的插头,结果谁也用不了,那你还怎么跟大家玩 。

OSI到底是什么呢?

OSI模型是一个具有七层结构的模型,它将计算机网络体系结构划分为 7应用层、6表示层、5会话层、4传输层、3网络层、2数据链路层、1物理层。每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规格和约定。说白了,OSI就是一套用文字定义的协议规范集。它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务,作为一个框架来协调和组织各层所提供的服务。

每层的定义,所起的作用是什么,进行了什么操作?

OSI参考模型中,最基本的一个知识点:每一层都是向其上一层提供服务的。

1.物理层(Physical Layer)

它直接面向原始比特流(0、1)的传输,需要解决好包括传输介质、信道类型、数据与信号之间的转换、信号传输中的衰减和噪声等在内的一些列问题。大家可以理解为在网线、光纤中传输的由0和1组成的一长串数据,而物理层保证的就是使这些数据能完整的从发送端传送到接收端。

2.数据链路层(Data Link Layer)

它在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将发送端网络层发送的数据可靠的传输到接收端的网络层。刚才说到物理层仅仅负责传输比特流,不保证数据的完整性。在实际环境中,难免会受到干扰,导致信息丢失、顺序不正确等问题。在该层必须用纠错码来检错与纠错,是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。

3.网络层(Network Layer)

互联网,大家可以想象成一张巨大的蜘蛛网,综合交错,节点众多。而网络层的任务就是在这个网络中选择一条合适的路径,使发送端传输层所传下来的数据能够通过所选择的路径到接收端。它提供的功能主要是寻址(一般见到的IP)和路由选择,使传输层不需要了解网络中的数据传输和交换技术。

4.传输层(Transport Layer)

传输层是OSI参考模型中承上启下的层,它的下3层,主要面向网络通信,确保信息被准确有效地传输;他的上3层,主要面向用户主机,进行数据处理,为用户提供各种服务。网络层只是根据网络地址(IP地址)将发送端发出的数据传送到接收端,而传输层则负责将数据可靠地传送到相应的端口(端口大家可以理解为不同的服务或者不同的软件,一般的web服务是80端口,ftp服务是21端口等等。如果你想用浏览器访问网页,就是请求了服务器的web服务,默认访问的是80端口)。

传输层通过弥补网络层服务质量的不足,为会话层提供端到端的可靠数据传输服务。它为会话层屏蔽了传输层一下的数据通信的细节,使会话层不受到下3层的技术变化的影响。

5.会话层(Session Layer)

会话字面意思就是“对话和交谈”,建立一个逻辑上的连接。它的主要功能使在两个结点间建立、维护和释放面向用户的连接,并对会话进行管理和控制( 允许信息同时双向传输或任一时刻只能单向传输 ),保证会话数据可靠传输。会话层还提供了同步服务, 例如,正在下载一个100MB的文件,当下载到95MB时,网络断线了, 为了解决这个问题,便用到了会话层的同步服务,通过在数据流中定义检查点(Checkpoint)来把会话分割成明显的会话单元。当网络故障出现时,将仅重传最后一个检查点以后的数据即可。

6.表示层(Presentation Layer)

表示层负责在不同的数据格式之间进行转换操作,以实现不同计算机系统间的信息交换。每台计算机可能有它自己的表示数据的内部方法,例如,IBM主机使用EBCDIC编码,而大部分PC机使用的ASCII码。在这种情况下,便需要表示层来完成这种转换,简单的理解就是“一种通用的数据格式”。

表示层还负责数据的加密,以在数据的传输过程中对其进行保护。数据在发送端被加密,在接收端被解密。使用加密密钥来对数据进行加密和解密。同时还负责文件的压缩,通过算法来压缩文件的大小,降低传输费用。

7.应用层(Application Layer)

应用层是OSI参考模型中最靠近用户的一层,负责为用户的应用程序提供网络服务。比如常见的文件传输服务(ftp)、电子邮件服务(SMTP)、超文本传输服务(HTTP)

如何具象的理解这7层呢?是否有实物存在?可以先看下图了解一下。

4d814975052b207a2b86250a49c99816.png

尽管OSI参考模型得到了全世界的认同,但是它并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间的通信。它仅仅是在指定标准是所使用的概念型的框架。在互联网历史上和技术上的事实开发标准则是TCP/IP(传输控制协议/因特网协议)模型。TCP/IP模型及其协议簇使得世界上任意两台计算机间的通信成为可能,并且通信速度接近光速。