C++

OSI七层模型和TCP-IP四层模型的关系

"OSI七层模型和TCP-IP四层模型的关系"

Posted by Simon on September 14, 2020

“Better code, better life. ”

OSI七层模型和TCP-IP四层模型的区别与联系

这是一个困扰我一段时间的高频面试题,今天彻底给他搞明白

OSI七层模型

所谓OSI即开放式系统互联(Open System Interconnect),是ISO(国际标准化组织)组织在1985年研究的网络互连模型。

OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。

OSI参考模型 各层的解释 对应网络协议
应用层 为应用程序提供服务 HTTP、TFTP, FTP, NFS, WAIS、SMTP
表示层 数据格式转化、数据加密 Telnet, Rlogin, SNMP, Gopher
会话层 建立、管理和维护会话 SMTP, DNS
传输层 建立、管理和维护端到端的连接 TCP, UDP
网络层 IP选址及路由选择 IP, ICMP, ARP, RARP, AKP, UUCP
链路层 提供介质访问和链路管理 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP
物理层 基础设置 IEEE 802.1A, IEEE 802.2到IEEE 802.11

每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。

OSI七层和TCP/IP四层的关系

OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。

OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。

OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。

TCP/IP四层概念模型主要可以分为:

  1. 应用层,对应OSI中的应用层、表示层、会话层
  2. 传输层,对应OSI中的传输层
  3. 网络层,对应OSI中的网络层
  4. 数据链路层,对应OSI中的链路层和物理层