一、什么是OSI模型
用专业性强一点的话来说,OSI模型 (Open System Interconnection),即开发系统互联基本参考模型,是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。换句接地气的话来说,OSI就是一门国际语言英语,世界各地的人长得不一样,但是通过学会英语这个标准语言可以相互沟通,产生联系。这个联系就是网络,英语就是这样一套交流标准OSI,而人就是各式各样的计算机。
二、OSI模型分层及作用
在介绍每层功能之前,你得先有个概念,这七层每层都是独立的,耦合度极低,各层有各自的任务,但是不是说层之间没有联系,它们之间有数据传输。
应用层:顾名思义,应用层就是直接向应用程序提供接口的,目的是使应用程序能够使用网络服务。一句话概括就是需要通信的程序有了它才能是个通信程序。常见的应用层协议HTTP、FTP、SMTP、Telnet、DNS、SNMP等,在此就不一一例举。(缩写不知道是什么意思的去问度娘吧)。
表示层:可能很多人一开始接触这个的时候,第一反应会是这样:表示层?就是表示给邻层的数据表现形式么?哈哈,还真是这么一回事。表示层的作用就好比一个翻译官,它将接收到的数据进行加工,把数据变成适合形式进行展示。具体来说,从上往下走数据,表示层的作用就是对数据进行加密、编码、压缩,从下往上走数据,表示层的作用就是对数据进行解密、解码、解压缩。
会话层:这一层可以理解为一个会议室、一部电话、玩游戏的可以理解为一个游戏房间,而这些喻体都存在以下几个共性特点:
- 可以建立两个或者多个人之间的联系,换句话说,会话层是可以建立应用程序之间的会话。
- 这些人之间聊得好的话,这个连接还可以持久,换言之,它有维持会话的作用。
- 而这些会话的建立都是同时的,并且在时间线上是并行的,换言之,它有使会话同步的功能。
传输层:没什么好说的,就是传数据的(严格意义上讲还在内部传输数据,离真正的两台机器之间的传输就差一点了)。不过它负责的是端到端之间的数据传输,而且是识别端口号进行传输。啥意思?就好比你玩电脑的时候,可能会边玩电脑边听音乐吧,说不定高玩还能时不时切出去浏览浏览网页,看看那啥的,对吧。那么这些程序它们用的端口肯定不是同一个(别问我为什么不是同一个,一山不容二虎),而这些数据你不能把它们揉成一块扔给网络层,因为网络层可不管你这数据是干嘛用的,格式是怎么样的,哪个应用的数据。不然你会发现这些程序可能都是一片空白,或者直接崩溃。
网络层:网络层的功能差不多就是一个路由功能,它就像你快递上的收货地址、收件人、发货地址、发件人,有了这些就告诉了这些数据该去哪,要是想把数据传回来的话也知道目的地,这里地址和人对应的就是IP地址、MAC地址之类的唯一识别号了。另外一个功能就是切包功能,打个不恰当的比喻,就好比你的快递在路上的时候,你不知道你的快递在路上经历了什么。可能它在路上就被快递员给大卸八块了(实际生活中基本不会有这种情况peace),但是到你的手里的时候它还是完好的,因为已经被拼装好了。
数据链路层:这一层是干嘛的?它主要决定数据通讯的机制和差错检测。具体来说就是决定数据传输速度及判断数据是否存在错误。
物理层:可能对刚接触的人来说,物理层就是我们现实中的设备,光纤、双绞线那种。哈哈,还真不是你们以为的那样。物理层的作用是将数据转变为机器看得懂的二进制编码(111001101……),它是以比特流的方式传输,而且还有监测数据出错率(就看看,不纠正)和对传输速度做一定的控制功能。
好了,OSI的七层模型介绍差不多就到这里了!以上内容若存在错误或者表意不明的地方,希望各位大佬联系我及时更正,如果有遗漏的地方,不要找我,自己知道就好╮(╯▽╰)╭,本篇博客的目的只是让新手对七层模型有个形象的了解,没了。
拜拜,peace!