OSI模型全称开放系统互联模型,是一个七层模型。
OSI模型 | 网际协议族 | |||
7 | 应用层 | 应用层 | ||
6 | 表示层 | |||
5 | 会话层 | |||
4 | 传输层 | TCP | UDP | |
3 | 网络层 | IPv4、IPv6 | ||
2 | 数据链路层 | 设备驱动程序和硬件 | ||
1 | 物理层 |
- 一般认为OSI模型的底下两层是随系统提供的设备驱动程序和网络硬件。通常情况下,除了需要知道数据链路的某些特性外,我们不必关心这两层的具体情况。
- 网络层由IPv4、IPv6这两个协议处理。
- 传输层有TCP或UDP,注意TCP和UDP之间理由空隙,表明网络应用绕过传输层直接使用IPv4或IPv6是可能的,这就是所谓的原始套接字。
- OSI模型的顶上三层被合并成一层,称为应用层。这就是Web客户端(浏览器)、Telnet客户、Web服务器、FTP服务器和其他的我们在使用的网络应用所在的层。杜宇网际协议,OSI模型的顶上三层协议几乎没有区别。
套接字编程接口就是从应用层进入传输层的接口,这样设计的原因是:
- 顶上三层处理具体网络应用(如FTP、Telnet和HTTP)的所有细节,却对通信细节了解很少;底下四层对具体网络应用了解不多,却处理所有的通信细节:发送数据,等待确认,给无序到达的数据排序,计算并验证校验和,等等。
- 顶上三层通常构成所谓的用户进程,底下四层却通常作为操作系内核的一部分提供。现代操作系统都提供分隔用户进程和内核的机制。