什么是OSI模型?
用百科的话来说:
开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。
用我自己的话来说:
存在于世界范围内的、计算机和各种设备之间互相通信的标准,也就是说他们之间通信得按照OSI模型来传输数据。
它长什么样?
它长得很简单,从上至下只有七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
无论是面试还是笔试,OSI七层模型都是最为基础的基础,但本人刚开始学习的时候总是会记混这七层的顺序且容易漏记= = 。所以个人推荐这么背:应-表-会-传-网-数-物
各层简单的自我介绍
-
物理层
我是物理层,主要是完成相邻节点之间原始比特流的传输。也就是说我是电光信号的搬运工噢!
物理层接口的机械、电气、功能和过程特性,以及物理层接口连接的传输介质等问题,就是我来决定的! -
数据链路层
我是数据链路层,负责将上层数据封装成固定格式的帧(数据帧)
你知道mac地址吗?mac地址是每张网卡上烧录的物理地址,而我会在数据帧中封装源mac地址和目的mac地址来完成数据传输过程中物理地址的寻址噢!我还会在帧的尾部加上校验信息,发现数据错误时可以重传数据帧。 -
网络层
天下的路这么多,我来决定哪条路最好走!
我的主要作用是在数据包的头部封装源目IP地址,然后根据源目IP地址来选出最佳路径来送达数据。
噢对了对了,到我这里为止,1~3层的协议都叫做点到点的协议噢。那我上面几层的兄弟是什么呢?听他们介绍吧! -
传输层
我是传输层。你用QQ给我发信息,我能在微信上收到吗?当然不能。为什么呢?因为我在控制着啊(因为端口号不同啊)!
我的作用就是实现网络中不同主机上用户进程之间的数据通信,另外我还负责流量控制和差错校验。 -
会话层
咳咳,我是会话层。我来建立不同机器上的用户之间的会话关系。另外,我还提供会话控制服务昂! -
表示层
我嘛,我就是用户和协议之间的翻译啦。主要是实现数据转换和加解密、压缩解压缩,所传送信息的语法和语义,都必须经过我的翻译和检查噢! -
应用层
用户通过我来和计算机交互,是用户应用程序访问网络的地方。比如QQ、微信就是在我这一层啦。从我应用层一直到传输层,都是端到端的协议。
怎么理解这七层?
下层是上层的基础,上层基于下层的支持提供更加高级的服务。
举例来说,我从应用层的QQ程序中向我的好友陆仁佳发送“吃了没?”,那么“吃了没?”通过表示层将语法语义进行转换、格式化。这里表示层为应用层的信息转换提供了支持,而应用层有了表示层的支持,得以让用户享受到更高级的服务。