OSI是Open System Interconnect的缩写,意为开放式系统互联。
其基本结构以及功能如下所示:
OSI七层参考模型的各个层次的划分遵循下列原则:
1、同一层中的各网络节点都有相同的层次结构,具有同样的功能;
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信;
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务;
4、不同节点的同等层按照协议实现对等层之间的通信。
但是我们理解起来还是有些费力,尤其是不知其所以然。其实我们用现在我们生活中常见的物流系统来对应起来就理解了很多细节。
我们将其对应起来就能了解:
1,物理层类似现实世界的物流方式,譬如空运、海运、陆运等等
2,数据链路层类似将物流方式分类,譬如成立运输公司,颁发物流牌照,规范公司制度等
3,网络层类似规划航线、修建高速公路等硬设施,保证快捷可靠等
4,传输层类似货运飞机、货船、卡车等交通工具,确保按时按点达到等
5,会话层类似在各个站点进行确认物流单据,譬如SF站点,单号,联系人信息等存档确认等
6,表示层类似生成表单,分配给各个站点快递小哥(他需要派送的包裹列表)
7,应用层类似具体的包裹,需要派送到各个收货人
这样理解后,就能比较好的理解各个OSI网络层的派生的那么多的协议了。(都是为了提升效率降低成本(物流公司为了尽可能多赚钱,或者开源,或者节流)
举例来说最新的websocket 协议。
WebSocket是HTML5中新协议、新API。 WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。WebSocket 同 HTTP 一样也是应用层的协议,但是它是一种双向通信协议,是建立在 TCP 之上的。
我是这么理解的。譬如我是网上卖茅台的,我的货物很贵重,我希望能安全可靠发货到客户手中。虽然说SF这套物流系统也能完成任务,但是我更希望能有更好的物流体验,譬如能实时传递给我酒箱的经纬度位置,酒箱有没有被拆分,或者被碰撞等。而SF物流系统可能做不了这么好的服务,那我就要新建一套我的物流方式。为了节约成本,我不可能再搭建一套新的物流系统,还是选用SF这套系统,只是其基础上做一些新的功能来达到我的目的。接下来我就这么规划:
1,货物只能选陆运,类似websocket也只能建立在1、2、3、4的基础上;
2,在酒箱中怎么定位器,甚至远程摄像头,我可以实时传回位置和图像。甚至设置启用频率。类似ws是实时双向传输;
这样一来就基本上能推导出了websocket的由来,ws的特点,要实现的目的,以及可以预见后面可能新增的网络协议。
譬如说后面咱开始卖钻石了,这东西很小又很贵,一起打包丢了就赔不起,只能分开发放。这时就不仅需要我的物流专线专用,连我的包装盒都要设计得很复杂很精密,甚至做一个包装盒的工作量都远现有的包材了。这个时候就要开发新的物流方式了,类似于新的pack协议了。