什么是OSI模型?
OSI模型是开放式系统互联通信参考模型的缩写。英文:(Open System Interconnection Reference Model)由国际标准组织(ISO)制定。
简单来说就是,当时不同公司用的网络标准不同,总是会有兼容性问题发生,然后这个组织就定义了一套层次化结构的网络模型,希望大家都按照这个标准来。
OSI模型的7层模型
图片感觉太高度概括了,我来举个例子: ######A想发给B一个word文档。
应用层说:你可以用微信,QQ或者邮箱等应用程序,我负责提供服务
表示层说:如果B电脑没有安装办公软件,我无法解码,B的电脑打不开这个word文档。
会话层说:我负责A和B的会话,假如A点击发送时,我会创建连接,但要是发送到一半时,A的电脑要是死机,网线断了,我会终止连接。若没 有,那我就保持连接。
传输层说:我负责A的电脑和B的电脑的连接方式,没有我哪里来的会话。 我是用tcp连接呢还是udp连接呢?
网络层说:你们知道B的电脑在哪吗?还不是我找到的,并且找到了一条到达B电脑的最佳路径。
链路层说:我效验下网络层发过来的数据有没有毛病。看下B电脑用的协议是不是一样,然后物理寻址。
物理层说:我把封装的数据变成二进制的形式,然后通过一些物理设备传输。
######然后呢,word文档就是这样一层一层封装最后变成了比特流。然后在物理层通过转换信号发送出去到了B电脑。
顺便了解下,数据在不同层传输时,有不同名字: 对物理层:PDU叫做比特流; 对数据链路层:PDU叫做帧(frame); 对网络层:叫数据包(packet); 对传输层:叫报文段(sagment); 对对话层,表示层,应用层:叫数据(data)。
B电脑收到比特流了,就像下面这个图。 物理层:把电信号转换成比特流发送给链路层。 链路层:效验数据,拆掉头部和尾部,发送给网络层。 网络层:知道了是A的电脑,拆掉头部发送给传输层。 传输层:建立连接方式,拆掉头部发送给表达层。 表达层:进行编码转换等,发送给应用层。 应用层:B收到了A发送的最原始的数据。
######这样B就收到了A发送的word文档了。
ISO模型并没有得到广大用户和产商的支持,反而TCP/IP参考模型得到了发展。
最后附上一张很好的图: 参考文章: https://wenku.baidu.com/view/8ae83c30af1ffc4fff47ac2e.html