计算机网络面试题—TCP/IP模型和OSI模型分别是什么?它们之间有什么区别?

209 阅读4分钟

Author : Cyan_RA9
Source : 【卡码笔记】网站
Question : TCP/IP模型和OSI模型分别是什么?它们之间有什么区别?

【简要回答】

TCP/IP模型 和 OSI模型的概念

  • OSI模型:OSI模型(开放系统互连模型)由国际标准化组织(ISO)提出,由7层组成,自上而下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层;OSI模型更多的是一个理论模型,用于标准化网络通信。
  • TCP/IP模型:TCP/IP模型是互联网的基础架构模型,它由4层组成,自上而下分别是应用层、传输层、网络层和网络接口层,是互联网的实际标准

TCP/IP模型 和 OSI模型的区别

  • TCP/IP模型 和 OSI模型的对比,如下表所示:

    特性TCP/IP模型OSI模型
    层数4层7层
    设计目的为实际应用设计,互联网的基础模型为理论标准化设计,通用性更强
    协议支持直接对应互联网协议(如TCP、IP)不直接对应具体协议,更通用
    应用场景更适用于实际网络通信(如互联网)更适用于理论研究和教学
    层次划分更简洁,适合实际应用更细致,适合理论分析

【详细回答】

TCP/IP模型 和 OSI模型的概念

  • OSI模型:ISO/OSI模型,是由国际标准化组织(ISO)提出的,全称为“开放系统互联(Open Systems Interconnection)体系结构参考模型”,它将网络按功能划分为了七层,自上而下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层;
  • TCP/IP模型:TCP/IP模型是互联网的基础架构模型,由美国国防部在20世纪70年代开发,主要用于描述互联网协议栈的分层结构,它将网络模型分为了四层,自上而下分别是应用层、传输层、网络层和网络接口层,TCP/IP模型可以看作是ISO/OSI参考模型的一个浓缩版本。

TCP/IP模型 和 OSI模型的区别

  1. TCP/IP模型将 表示层和会话层 合并到了 应用层,这是因为实际应用中所涉及的表示层和会话层功能较弱。
  2. TCP/IP模型将 数据链路层和物理层 合并为了 网络接口层,这是因为TCP/IP模型建立的首要目标是实现异构网络的互连,通过网络接口层可以屏蔽底层网络之间的差异,向上层提供统一的IP报文格式,以支持不同物理网络之间的互连。
  3. TCP/IP模型中的网络层只向上层提供无连接、尽最大努力交付的数据报服务,但其传输层既提供面向连接的服务,也提供无连接的服务。而ISO/OSI参考模型中的网络层既提供面向连接的服务,也提供无连接的服务,但其传输层只提供面向连接的服务。
  4. OSI参考模型的七层协议体系结构较为清楚,理论也更完整,但是它既复杂又不实用。TCP/IP体系结构虽然简单,但是它现在却得到非常广泛的应用。

【知识拓展】

  • 网络各层的服务与功能
    1. 物理层(Physical Layer):网络体系结构的最底层,负责完成计算机网络中最基础的任务,即在传输媒体上透明地传输比特流。
    2. 数据链路层(Data Link Layer):负责在相邻节点之间(主机和路由器之间 或 两个路由器之间)的链路上传送数据,提供链路管理,封装成帧,透明传输,差错检测,流量控制等功能。
    3. 网络层(Network Layer):为分组交换网上的不同主机提供点对点的通信服务,实现差错控制、流量控制、拥塞控制和路由选择等功能。
    4. 传输层(Transport Layer):为不同主机的应用进程提供端到端的通用数据传输服务,实现差错控制、流量控制、拥塞控制和复用分用等功能。
    5. 会话层(Session Layer):负责建立、管理和终止应用程序之间的会话,管理并协调不同主机上各进程之间的会话。
    6. 表示层(Presentation Layer):根据应用层的要求处理数据格式及加密解密,压缩解压缩等。
    7. 应用层(Application Layer):离用户最近的一层,也是模型中的最高层,通过应用程序来完成网络用户的应用需求。
  • 网络各层的传输数据单位
    1. 物理层(Physical Layer):比特(bit)。
    2. 数据链路层(Data Link Layer):帧(Frame)。
    3. 网络层(Network Layer):数据报分组(Packet)。
    4. 传输层(Transport Layer):TCP:报文段(Segment);UDP:用户数据报(Datagram)。
    5. 会话层(Session Layer):报文(Message)。
    6. 表示层(Presentation Layer):报文(Message)。
    7. 应用层(Application Layer):报文(Message)。