计算机网络主要有 3 种模型:
- ISO/OSI 参考模型 7 层
- TCP/IP 参考模型 5 层
- TCP/IP 参考模型 4 层
OSI是一种理论下的模型,而 TCP/IP(4 层)已被广泛使用,成为网络互联事实上的标准。
参考模型
OSI 七层模型
OSI 模型全称为开放式通信系统互连参考模型,是国际标准化组织 ( ISO ) 提出的一个试图使各种计算机在世界范围内互连为网络的标准框架。
OSI 将计算机网络体系结构划分为七层,每一层实现各自的功能和协议,并完成与相邻层的接口通信。
OSI 的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。

- 应用层:用户与网络的界面,通过应用程序间的交互来完成特定的网络应用
该层协议定义了应用进程之间的交互规则,通过不同的应用层协议为不同的网络应用提供服务。
例如域名系统 DNS,支持万维网应用的 HTTP 协议,电子邮件系统采用的 SMTP 协议等。
在应用层交互的数据单元为报文。
- 表示层:使通信的应用程序能够解释交换数据的含义
- 数据格式变换 翻译官 数据描述
- 数据加密解密 数据加密
- 数据压缩和恢复 数据压缩
这使得应用程序不必担心在各台计算机中表示和存储的内部格式差异。
- 会话层:负责建立、管理和终止表示层实体之间的通信会话。
该层提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法(类似断点续传)。
传输层:负责主机中两个进程的通信,即端到端通信。传输单位是报文段或用户数据报
- 可 * 靠传输、不可靠传输
- 差 * 错控制
- 流 * 量控制
- 复 * 用分用(记忆:可差的也能流用?)
- 复用:多个应用层进程可同时使用下面传输层的服务
- 分用:传输层把收到的信息分别交付给上面应用层相应的进程
- 复 * 用分用(记忆:可差的也能流用?)
网络层:选择合适的网间路由和交换节点,确保数据按时成功传送。传输单位是数据报
路由选择与分组转发 最佳路径
在发送数据时,网络层把传输层产生的报文或用户数据报封装成分组和包向下传输到数据链路层。
流量控制 发送速度
差错控制
拥塞控制 总体速度
数据链路层:把网络层传下来的数据报组装成帧。传输单位是帧
- 成帧(定义帧的开始和结束)
- 差错控制 帧错 + 位错
- 流量控制
- 访问(接入)控制 控制对信道的访问
物理层:在物理媒体上实现比特流的透明传输。传输单位是比特
尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么
- 定义接口特性(机械特性、电气特性、功能特性,过程特性)
- 定义传输模式 (单工、半双工、双工)
- 定义传输速率
- 比特同步
- 比特编码
TCP/IP 四层模型
由于会话层、表示层、应用层都是在应用程序内部实现的,最终产出的是一个应用数据包,而应用程序之间是几乎无法实现代码的抽象共享的,这也就造成 OSI 设想中的应用程序维度的分层是无法实现的。
三层都在应用程序内实现,程序间无法共享,合三为一就形成了 TCP/IP 模型。

应用层
TCP/IP 模型将 OSI 参考模型中的会话层、表示层和应用层的功能合并到一个应用层实现,通过不同的应用层协议为不同的应用提供服务。例如:FTP、Telnet、DNS、SMTP 等。
传输层
该层对应于 OSI 参考模型的传输层,为上层实体提供源端到对端主机的通信功能。
传输层定义了两个主要协议:传输控制协议(TCP)和用户数据报协议(UDP)。
其中面向连接的 TCP 协议保证了数据的传输可靠性,面向无连接的 UDP 协议能够实现数据包简单、快速地传输。
网际互联层
网际互联层对应 OSI 参考模型的网络层,主要负责相同或不同网络中计算机之间的通信。
在网际互联层, IP 协议提供的是一个不可靠、无连接的数据报传递服务。该协议实现两个基本功能:寻址和分段。
根据数据报报头中的目的地址将数据传送到目的地址,在这个过程中 IP 负责选择传送路线。
除了 IP 协议外,该层另外两个主要协议是互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
网络接口层
网络接入层的功能对应于 OSI 参考模型中的物理层和数据链路层,它负责监视数据在主机和网络之间的交换。
事实上,TCP/IP 并未真正描述这一层的实现,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与 TCP/IP 的网络接入层进行连接,因此具体的实现方法将随着网络类型的不同而有所差异。
TCP/IP 五层模型
五层体系的协议结构是综合了 OSI 和 TCP/IP 优点的一种协议,包括应用层、传输层、网络层、数据链路层和物理层。其中应用层对应 OSI 的上三层,下四层和 OSI 相同。
五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。

模型异同
相同点
- OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。
- 都能够提供面向连接和无连接两种通信服务机制。
不同点
- OSI 采用的七层模型; TCP/IP 是四层结构。
- TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。
- OSI 先有模型,后有协议规范,适合于描述各种网络;TCP/IP 是先有协议集然后建立模型,不适用于非 TCP/IP 网络。
- TCP/IP 一开始就提出面向连接和无连接服务,而 OSI 一开始只强调面向连接服务,直到很晚才开始制定无连接的服务标准。
- OSI 参考模型虽然被看好,但将网络划分为七层,实现起来较困难;相反,TCP/IP 参考模型虽然有许多不尽人意的地方,但作为一种简化的分层结构还是比较成功的。

各层协议
OSI 七层网络模型 | TCP/IP 四层概念模型 | 对应的网络协议 |
---|---|---|
应用层(Application) | 应用层 | HTTP, FTP, DNS, SMTP,TFTP,NFS, WAIS, Telnet, SNMP |
表示层(Presentation) | TIFF, GIF, JPEG, PICT | |
会话层(Session) | RPC, SQL, NFS, NetBIOS, names, AppleTalk | |
传输层(Transport) | 传输层 | TCP, UDP |
网络层(Network) | 网际层 | IP, ICMP, ARP, RARP, RIP, IPX |
数据链路层(Data Link) | 网络接口层 | FDDI, Frame Relay, HDLC, SLIP, PPP |
物理层(Physical) | EIA/TIA-232, EIA/TIA-499, V.35, 802.3 |