OSI模型是一个描述了一个网络中各个协议层的常用方法,即计算机通信开放系统互连模型。 这是一个七层模型,图中给出了他与网际协议族的近似映射。
1、物理层和数据链路层
一般情况下,我们不必关心物理层和数据链路层,他们是随着系统提供的设备驱动程序和网络硬件, 负责将数据转换为可通过物理介质传送的电子信号和决定网络介质的传输方式,相当于邮局中的搬运工人和拆箱工人。
2、网络层
网络层使用权数据路由经过大型网络,相当于邮局中的排序工人,由IPv4和IPv6两个协议处理。
3、传输层
传输层提供终端到终端的可靠连接,相当于公司中跑邮局的送信职员,可以选择的协议有TCP、UDP等,TCP、UDP之间留有间隙,表明网络应用绕过传输层直接使用IPv4或IPv6是可能的,这就是所谓的“原始套接字”。
4、会话层
会话层允许用户使用简单易记的名称建立连接,相当于公司中收寄信、写信封与拆信封的秘书。
5、表示层
表示层协商数据交换格式,相当于公司中简报老板、替老板写信的助理。
6、应用层
应用层就是用户的应用程序和网络之间的接口
会话层、表示层、应用层三层就是网际协议的应用层,我们使用套接字编程接口从这三层进入传输层的接口,为什么套接字提供这个进入传输层的接口呢?理由之一是顶上的三层处理具体的网络应用(如HTTP、FTP或Telnet)的所有细节,却对通信细节了解很少,底下四层却对具体网络应用了解不多,他们只处理通信的细节。另外,顶上的三层构成了所谓的用户进程,底下四层却通常作为操作系统内核的一部分提供,因此,第四层和第五层之间的接口是构建API的自然位置。