作为一个前端开发者,与我们打交道最多的除了各种开发工具之外,还有我们的好帮手——浏览器。浏览器对于前端开发的重要性自不必多言,而浏览器能正常的工作离不开一些规范,这些规范就是各种协议,不同的协议是在不同的层次上起作用的,网络互联模型明确的把网络互联分成了不同的框架,以便于详细规定每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。
OSI
OSI(Open System Interconnect Reference Model,开放式系统互联参考模型)是一个具有7层协议结构的开放系统互联模型,是由国际标准化组织在20世纪80年代早期定制的一套普遍适用的规范集合,使全球范围的计算机可进行开放式通信。

-
物理层
主要是为数据链路层提供物理连接,物理层关心的问题是链路的机械,电器,功能和规程特性。在物理层传输的数据额叫比特流。
-
数据链路层
数据链路层是为网络层服务的,解决两个相邻节点之间的通信问题,传输的协议数据单元称为数据帧,其中包括物理地址、控制码、数据及校验码等信息。数据链路层的主要功能是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。使用的协议有ARP、PPP、RARP等。
-
网络层
网络层是为传输层提供服务的,传输的协议数据单元称为数据包或分组。主要作用是解决如何使数据包通过各节点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为了避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。网络层使用的协议主要有IP、ICMP、RIP、OSPF、BGP等。
-
传输层 传输层的作用是为上传协议提供可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。传输层屏蔽了吸层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。传输层传送的协议数据单元称为段或报文。使用的协议有TCP和UDP。
-
会话层 会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。
-
表示层 表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用发出的信息可以被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准形式。数据压缩和加密也是表示层可提供的转换功能之一。
-
应用层 应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,比如文件传输、收发电子邮件等。
这周已经过去一半了,前两天也是复习了一下HTTP相关的知识,在这里稍微回顾一下OSI参考模型,也算是加强记忆吧。当然,OSI模型中还有很多细节,我对其也没有涉猎太深,如有错漏,还请大家指点。