OSI七层模型与TCP/IP四层模型:两个网络参考架构的对比解析

OSI七层模型与TCP/IP四层模型:两个网络参考架构的对比解析
一、两个模型的基本定位在网络技术学习中OSI七层模型和TCP/IP四层模型是两个绕不开的概念。很多人容易混淆它们甚至认为它们是“二选一”的关系——两者都对只是各自的设计目标和应用领域不同。OSI七层模型开放系统互联参考模型是国际标准化组织ISO在1984年发布的理论参考框架。它的目标是构建一个“理想的”网络通信模型让不同厂商的设备能够按照统一标准互联。TCP/IP四层模型是在互联网实际发展过程中形成的事实标准。它源于美国国防部高级研究计划局ARPA资助的研究项目随着互联网的普及而成为全球通用的网络协议体系。对比维度OSI七层模型TCP/IP四层模型开发机构国际标准化组织ISO美国国防部DoD发布年份1984年1970年代开始形成1980年代逐步成熟设计目标构建通用的网络通信理论框架解决异构网络互联的实际问题协议与模型关系先有模型后有协议先有协议后归纳模型实际应用教学参考为主互联网实际运行的协议栈二、两者的层次结构对比OSI七层模型的层次划分层级名称主要职责7应用层为用户应用程序提供网络服务接口6表示层数据格式转换、加密解密、压缩解压5会话层建立、管理和终止通信会话4传输层端到端的数据传输控制可靠/不可靠3网络层跨网络的数据包路由与寻址IP2数据链路层相邻节点之间的可靠数据传输帧1物理层物理介质上的原始比特流传输TCP/IP四层模型的层次划分层级名称主要职责对应OSI层级4应用层用户网络应用与协议支持OSI第5/6/7层会话层、表示层、应用层3传输层端到端的数据传输控制OSI第4层传输层2网际层数据包路由与寻址OSI第3层网络层1网络接口层物理传输与链路访问OSI第1/2层物理层、数据链路层三、核心区别3.1 层数不同分合逻辑不同OSI将通信过程拆分为七层TCP/IP只分四层。关键在于哪些层被合并了OSI中的会话层和表示层在TCP/IP中被归入应用层。OSI之所以单独划分会话层和表示层源于ISO希望建立一套“完美”的通信模型——涵盖从物理信号到人机交互的所有细节。但在实际的互联网设计中会话管理和数据格式转换的功能被交由应用程序自行处理因此TCP/IP直接将这两层合并到应用层。OSI中的物理层和数据链路层在TCP/IP中被合并为网络接口层。TCP/IP的设计者认为网络通信需要关注的核心问题是“如何让数据在不同网络之间传递”而非“如何实现具体物理传输”。物理层和数据链路层的具体实现方式以太网、WiFi、光纤等对上层是透明的因此无需在模型中单独展开。3.2 设计顺序不同这是两者最根本的区别之一。OSI先有模型后有协议。ISO先定义了“网络通信应该分几层、每层做什么”然后再依据这个框架开发相应的协议。这是一种从理论到实践的“自上而下”的设计方式。理论上很完备但实际推进中协议的开发和标准化速度较慢。TCP/IP先有协议后有模型。TCP/IP协议栈在实际应用中逐渐成熟人们回头总结出“它大致可以分为四层”。这是一种从实践到理论的“自下而上”的归纳方式。设计时并不追求理论上的完美而是围绕“如何让不同网络互联互通”这个核心问题展开。3.3 OSI第5层和第6层的去向OSI的会话层和表示层在实际应用中要么被整合到应用层要么由应用程序自己处理。会话层第5层理论上负责建立、管理和终止会话。实际中TCP连接本身已经提供了会话管理功能无需单独再设一层。应用程序如果需要更复杂的会话控制可以在应用层自行实现。表示层第6层理论上负责数据格式转换、加密、压缩。实际中这些功能要么由操作系统提供要么由应用程序自己处理。例如HTTPS的加密是在应用层实现的图片压缩也是在应用层完成的。3.4 OSI第1层和第2层的去向物理层和链路层的明确分工在TCP/IP中被弱化。物理层负责处理网线、光纤、WiFi信号等具体物理介质。数据链路层负责在同一网络段内传输数据帧。两者之间有一层明确的边界。但TCP/IP模型将这两层合并为“网络接口层”因为TCP/IP本身不关心物理传输方式——“以太网、WiFi、光纤对IP协议来说是一样的。”3.5 各层协议集的差异OSI模型的各层均有相应的协议配套但许多协议并未被广泛采用。TCP/IP体系则拥有明确的协议栈TCP/IP层级核心协议对应OSI层级应用层HTTP、HTTPS、FTP、SMTP、DNS、Telnet、SSH应用层、表示层、会话层传输层TCP、UDP传输层网际层IP、ICMP、ARP、IGMP网络层网络接口层以太网、WiFi、PPP、SLIP数据链路层、物理层TCP/IP的应用层实际承载了OSI三层应用层、表示层、会话层的功能这也是两者对照时常被混淆的原因之一。四、对比总结表对比维度OSI七层模型TCP/IP四层模型开发机构ISO国际标准化组织DARPA美国国防部设计思路理论驱动先定义模型再开发协议实践驱动先有协议后归纳模型层次数量7层4层分层方式细粒度分层层间界限清晰粗粒度分层高层合并应用层7层只负责用户接口和协议支持涵盖了OSI的应用层、表示层、会话层三层功能网络接口层物理层和数据链路层分开合并为一层设计目标建立通用理论模型解决异构网络互联的实际问题实际应用主要用于教学参考互联网实际运行的标准协议与模型模型独立于协议先有模型协议早于模型是归纳的结果五、为什么会有两个模型它们分别用在哪儿OSI七层模型和TCP/IP四层模型的存在反映了“理论”和“实践”之间的关系。OSI模型的初衷是建立一个能被所有厂商共同采纳的全球通信标准但其推进速度慢于互联网的实际发展。当TCP/IP已经在实际网络中大规模运行并验证了其可行性时OSI协议仍未完全成熟。最终互联网选择了已经过验证的方案而非仍在标准流程中的方案。OSI七层模型的价值在于它为学习网络通信提供了完整的知识框架。初次接触网络原理的人可以从OSI模型入手理解“通信需要解决哪些问题、每一层负责什么”。当建立了整体认知后再对照TCP/IP模型理解“实际运行的互联网是怎么做的”就能更清晰地理解两个模型各自的定位和适用范围。