OSI参考模型将通信协议中的必要功能分为了7层。通过这些分层,使得那些复杂的网络协议更加简单化。
每个分层都接受有它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。
上下层之间所遵循的约定叫做“接口”。同一层之间所遵循的约定叫做“协议”。
对于分层之一概念,还可以借助一个简单的例子来理解
假设两个人正在使用电话交谈。那么这个场景就可以分解为连个层——“语言层”和“通信设备层”。人和电话机之间存在“人机接口”,两个人之间存在“汉语协议”,两个电话机之间存在“电话机通信协议”。
OSI参考模型各层的作用
OSI参考模型终究只是一个“模型”,它只是对各层的作用做了一个粗略的界定,并没有对协议和接口做详细的定义。但许多通信协议都对应了OSI参考模型中的某一层,通过这一点,可以导致了解该协议在整个通信功能中的位置和作用。
- 应用层:为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录、虚拟终端等协议。
- 表示层:将设备固有的数据格式转换为网络标准传输格式。
- 会话层:负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等传输相关的管理。
- 传输层:管理通信双方节点之间的数据传输。负责可靠传输。
- 网络层:地址管理与路由选择,将数据传输到目标地址。
- 数据链路层:负责物理层面上互连的节点之间的通信传输。将0、1序列划分为有意义的数据帧传送给对方。
- 物理层:负责0、1比特流与电压高低、光的闪灭之间的互换。
需要注意的有一下几点:
会话层只对何时建立连接、何时发送数据进行管理,并不具有实际传输数据的功能。真正负责在网络上传输具体数据的是会话层以下的部分。
会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开连接。
传输层为确保所传输的数据到达目标地址,会在两端计算机之间进行确认,如果数据没有到达,它会负责进行重发。
网络层无法保证数据可达性,需要与传输层相互协作。
数据链路层负责实现每个区间内的通信;网络层负责将数据发送到最终目标地址。(端对端)
物理层的传输基于MAC地址。