网络ISO模型
网络模型
在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构。
OSI体系结构 | TCP/IP体系结构 | 五层体系结构 |
---|---|---|
应用层 | 应用层 | 应用层 |
表示层 | ||
会话层 | ||
传输层 | 传输层 | 传输层 |
网络层 | 网络层 | 网络层 |
数据链路层 | 数据链路层 | 数据链路层 |
物理层 | 物理层 |
解释
有两张图瞅一眼:
应用层
应用层的任务是通过应用进程间的交互来完成特定的网络应用。
应用层协议定义的是应用进程间通信和交互的规则。
应用层是app访问网络、向用户显示接收到的信息的窗口。
表示层
表示层也称为转换层,在表示层提取应用层的数据,并根据需要转换格式,以便通过网络传输。
这一层可以做一些数据格式转换,加密解密,压缩等操作。
会话层
会话层负责建立连接,维护会话、认证,并确保安全。
传输层
为两个主机进程间的通信提供通用的数据传输服务。
传输层从网络层获取服务,向应用层提供服务。
只有主机的协议栈才有传输层,网络传输中的一些设备没有传输层,比如路由器。
传输层提供应用进程间的逻辑通信,通信的真正端点是应用进程。
传输层会将源端口号和目的端口号写入header中。
上面客户端与服务端之间的每一次的数据传输(这里指信息传递,包括三次握手与四次挥手)都要完整的走一遍下面的流程。
传输层主要使用两种协议:
- TCP:传输控制协议,提供面向连接的,可靠的数据传输服务。
- UDP:用户数据报协议,提供面向无连接的,尽最大努力交付。
网络层
网络层为分组交换网上不同主机提供通信服务,网络层将传输层的报文封装成包和分组发送。
将数据从一台主机传输到位于不同网络中的另一台主机。还负责分组路由,即从多条路线中选取路径最短的。
网络层会将发送者,接收者的ip地址放入header中。
基本功能
- 路由
- 逻辑寻址
数据链路层
两台主机间的数据传输,总是一段一段在数据链路上传送的,这就需要使用专门的链路层协议。在两个相邻节点间的链路上传送帧,每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。
数据链路层负责的是节点到节点的数据传输,负责确保在物理层上从一个节点到一个节点正确的传输数据。
基本功能:
封装成帧
物理寻址
错误控制
流控制
访问控制
三个基本问题:封装成帧,透明传输,差错控制。
通过ARP协议,可以获取拥有指定ip地址目标主机的mac地址。
物理层
在物理层以比特流传输数据,其实就是二进制流,物理实现可能不同。
OSI 参考模型最底层是物理层,物理层负责在设备和物理传输介质之间传输、接收非结构化数据。
基本功能:
- 比特同步
- 比特率控制
- 物理拓补
- 传输模式
- 单工
- 半双工
- 全双工
数据流转
我们在网络中发送传输数据的时候,数据总是从一台主机的应用层传输到了,另一条台主机的应用层,这其中会包含有很多过程。
再分层结构中,数据总是在应用层产生(也有可能其他地方),在物理介质上传输。
数据在层与层之间传递的时候总是会添加上特有的首部,比如传输层会将端口号写入TCP首部,网络层会将IP地址写入IP首部。