🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# OSI七层模型 > 七层模型,也称之为OSI(Open Systenm Interconnection)。是参考国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 ![](https://img.kancloud.cn/48/40/4840f9ef1af9fff7ee2645b685581170_986x574.png) ## 物理层 OSI模型第一层,是数据最终的传输通道,是最靠近物理传输设备的一层。主要是用来实现相邻计算机间的比特流传输,并尽可能的屏蔽具体传输介质和物理设备间的差异。 * 主要功能:屏蔽物理媒介差异,为数据链路层提供统一的比特流传输能力。简单点来说,**就是利用物理媒介以比特的形式传输数据**。 * 数据单元:比特 * 媒介/设备:光纤、网线、集线器、中继器、调制解调器等 > 举个例子:早期的电话机之间可以通话,是因为什么?可以简单的理解为,是因为中间有根电话线。物理层也可以简单的这么理解。 ## 数据链路层 该层主要负责建立和管理不同计算机节点间的数据链路,并提供差错检测、封装成帧、透明传输的能力。简单点来说,**就是将网络层交下来的IP数据报组装成帧,并在两个相邻节点的链路上传送**。 * 主要功能:将不可靠的物理信道变成无差错的、能可靠传输数据帧的数据链路。即:数据的差错校验、封装成帧、透明传输 * 数据单元:帧 * 实例:网卡、MAC地址、交换机、以太网 > 数据链路层又可以分为2层:媒体访问控制子层(MAC)和逻辑链路控制子层(LLC) 1. 媒体访问控制子层(MAC) 每台计算机都有自己的全网唯一的MAC地址;主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制。 ![](https://img.kancloud.cn/0b/17/0b17cf477e4b7bac509cc67ee880a364_1312x292.jpg) 2. 逻辑链路控制子层(LLC) 主要是建立和维护网络连接和链路控制。 ## 网络层 该层通过IP将大大小小的局域网组成一个互联互通的互联网。主要任务是为2台通信的计算机之间选择合适的路由和交换节点,确保数据及时传送。简单点说,**把传输层提供的报文段或用户数据报封装成包进行传送** * 主要功能:通过IP地址,实现网络寻址;即IP寻址,通过路由算法进行最优的网络路由 * 数据单元:数据包 * 实例:IP协议 ## 传输层 该层负责建立主机端到端的连接。上述三层实现了互联网,也就是主机间的通信,但是一台主机上往往有很多应用程序,端口就是用来区分不同应用程序的。主要是用来**为上层协议提供可靠的透明的端到端的数据传输协服务,包括差错控制和流量控制**。常见的TCP/IP协议,TCP就作用在这一层。 * 主要功能:为上层协议提供可靠的透明的端到端的服务,并提供差错控制和流量控制功能 * 数据单元:packets。在TCP协议下是段,在UDP协议下是数据报 * 实例:TCP协议、UDP协议 > 一个简单的例子:QQ能够给微信发送消息吗?答案显然是不能的,因为这两个应用程序的端口号不一样,这就是传输层的作用。 ## 会话层 该层负责建立、管理和终止表示层实体之间的通话信息。一个通俗的理解,常说的session+cookie机制就是作用在会话层。 ## 表示层 该层主要是用来数据格式的编码和转换。HTTP请求头/响应头 `Content-Type:application/json; charset=utf-8` 。这就是规定双方协商的数据格式: `application/json`; 和编码格式: `charset=utf-8`; ## 应用层 这一层就是将通信模型定制化成一个协议,比如适合于超文本传输的协议HTTP,具备安全性传输的HTTPS,还有一些比如FTP,POP3,SMTP等。这一层可以这样理解,将下面几层根据场景具象,形成的一个提供给上层开发者应用的协议层。 ## 数据封装过程 ![](https://img.kancloud.cn/16/ce/16ce482aac4f2a2c8d96529782bc8ca8_803x330.png) # TCP/IP 协议 OSI参考模型既不是标准也不是协议,而是一个制定标准时所使用的概念框架。TCP/IP 协议才是OSI参考模型的实现,所以说TCP/IP才是协议。 TCP/IP协议分为四层:应用层(应用层、表示层、会话层)、传输层、网络层、网络接口层(数据链路层、物理层) > TCP/IP协议就是单纯的TCP + IP 协议吗?并不是的,它表示一个协议族,其中包含常见的http,https,ftp,udp等等。 <table> <tr> <th>OSI七层模型</th> <th>TCP/IP概念层模型</th> <th>功能</th> <th>TCP/IP协议簇</th> </tr> <tr> <td>应用层</td> <td rowspan="3">应用层</td> <td>文件传输、文件服务、电子邮件、虚拟终端</td> <td>HTTP、SMTP、FTP、Telnet</td> </tr> <tr> <td>表示层</td> <td>数据格式化、编码、加密</td> <td>没有协议</td> </tr> <tr> <td>会话层</td> <td>建立和终止与别的点之间的联系</td> <td>没有协议</td> </tr> <tr> <td>传输层</td> <td>传输层</td> <td>提供端到端可靠传输</td> <td>TCP、UDP</td> </tr> <tr> <td>网络层</td> <td>网络层</td> <td>为数据包选择合适的路由</td> <td>IP、RIP、ICMP等</td> </tr> <tr> <td>数据链路层</td> <td rowspan="2">网络接口层</td> <td>将数据组装成帧传输以及差错校验</td> <td>PPP、ARP、RARP等</td> </tr> <tr> <td>物理层</td> <td>在物理媒介上以比特流的形式传输数据</td> <td>IEEE802.12等</td> </tr> </table>