面试通关计算机网络–基础网络分层

kayokoi 发布于 2025-09-06 60 次阅读


一、为什么需要网络分层模型?

网络通信涉及众多设备和复杂的流程。为了管理这种复杂性,实现不同厂商设备间的兼容性,并促进技术的模块化发展,计算机网络被设计为分层结构。每一层专注于特定的功能,并为其上层提供服务,同时使用其下层提供的服务。

核心目的:标准化不同设备间的通信,将复杂问题分解为多个可管理的小问题。

二、主流网络分层模型

  1. OSI 七层模型 (Open Systems Interconnection Model):

    • 定位:一个理论上完善的国际标准,用于指导网络协议的设计。

    • 分层:

      1. 应用层:为应用程序提供网络服务 (HTTP, FTP, SMTP, DNS)。
      2. 表示层:数据格式转换、加密、压缩。
      3. 会话层:建立、管理和终止会话。
      4. 传输层:提供端到端的可靠或不可靠数据传输 (TCP, UDP)。
      5. 网络层:数据包的路由和转发,逻辑寻址 (IP, ICMP, IGMP)。
      6. 数据链路层:相邻节点间的数据传输,物理寻址 (MAC地址)。
      7. 物理层:比特流在物理介质上的传输。
  2. TCP/IP 四层模型:

    • 定位:事实上的工业标准,当前互联网运行的基础。

    • 分层:

      1. 应用层:对应OSI的应用层、表示层、会话层 (HTTP, FTP, DNS)。
      2. 传输层:对应OSI的传输层 (TCP, UDP)。
      3. 网际层 (Internet Layer):对应OSI的网络层 (IP)。
      4. 网络接口层 (Link Layer):对应OSI的数据链路层和物理层。
  3. 五层参考模型 (教学常用):

    • 定位:为了便于教学和理解,对OSI和TCP/IP模型进行折中。

    • 分层:

      1. 应用层 (同TCP/IP应用层)
      2. 传输层 (同TCP/IP传输层)
      3. 网络层 (同TCP/IP网际层)
      4. 数据链路层 (对应OSI数据链路层)
      5. 物理层 (对应OSI物理层)

三、核心分层功能详解 (以五层模型为基础)

1. 应用层 (Application Layer)

  • 核心功能:直接为用户的应用程序提供网络通信服务,定义应用程序之间数据交换的格式和规则。
  • 常见协议:HTTP (Web访问), FTP (文件传输), SMTP (邮件发送), DNS (域名解析), Telnet (远程登录)。
  • 特点:运行在用户态,应用程序通过应用层协议进行交互,不关心数据在网络中的具体传输细节。

2. 传输层 (Transport Layer)

  • 核心功能:为不同主机上运行的应用程序进程之间提供端到端的逻辑通信。

  • 关键要素:

    • 端口号 (Port Number):用于区分同一主机上的不同应用程序进程。

    • 主要协议:

      • TCP (Transmission Control Protocol - 传输控制协议):

        • 特点:面向连接、可靠的字节流服务。
        • 机制:通过序列号、确认应答、超时重传、滑动窗口(流量控制)、拥塞控制等机制保证数据按序、无差错、不丢失、不重复地到达。
        • 数据单元:TCP段 (Segment)。
        • 应用:HTTP, FTP, SMTP 等对可靠性要求高的场景。
      • UDP (User Datagram Protocol - 用户数据报协议):

        • 特点:无连接、不可靠的数据报服务,尽力而为。
        • 优势:开销小,传输效率高,实时性较好。
        • 数据单元:UDP数据报 (Datagram)。
        • 应用:DNS, DHCP, 实时音视频等对实时性要求高、能容忍少量丢包的场景。
  • 数据分段:当应用层数据过大时 (如TCP中的MSS - Maximum Segment Size),传输层会将其分割成更小的数据块进行传输。

3. 网络层 (Network Layer / Internet Layer)

  • 核心功能:负责将数据包从源主机跨网络路由转发到目标主机,实现主机到主机的通信。

  • 关键要素:

    • IP协议 (Internet Protocol):网络层的核心协议,提供无连接、不可靠的数据包传输服务。
    • IP地址 (IP Address):全球唯一的逻辑地址,用于标识网络中的一台主机或路由器接口。分为网络号和主机号(通过子网掩码区分)。
    • 路由 (Routing):根据目标IP地址,在复杂的网络中为数据包选择最佳的传输路径。路由器是实现路由的关键设备。
    • 数据分片 (Fragmentation):当IP数据包大小超过链路的最大传输单元 (MTU) 时,IP层会将其分片传输,并在目标主机重组。
  • 数据单元:IP数据包 (Packet / Datagram)。

  • 核心功能:负责在同一物理链路上的相邻节点之间(点到点或广播)传输数据帧。

  • 关键要素:

    • MAC地址 (Media Access Control Address):物理地址或硬件地址,固化在网卡上,用于在局域网内唯一标识网络设备。
    • 帧 (Frame):数据链路层的数据传输单元。IP数据包被封装在帧中传输。
    • ARP (Address Resolution Protocol - 地址解析协议):用于将IP地址解析为对应的MAC地址,以便在局域网内通信。
  • 常见技术:以太网 (Ethernet), Wi-Fi (IEEE 802.11)。

5. 物理层 (Physical Layer)

  • 核心功能:负责在物理传输介质上传输原始的比特流 (0和1)。
  • 关注点:定义接口的机械特性、电气特性、功能特性、过程特性,如电压、线缆规格、数据传输速率、连接器类型等。
  • 传输介质:双绞线、同轴电缆、光纤、无线电波等。

所以说,网络接口层主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备。

四、数据封装与解封装

数据在发送方从上层向下层传递时,每一层都会在数据前部(有时是尾部)添加该层的控制信息(头部/尾部),这个过程称为封装。在接收方,数据从下层向上层传递时,每一层会移除相应的控制信息,称为解封装。

  • 发送过程 (封装):

    网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。

    1. 应用层: 用户数据 (Message)
    2. 传输层: TCP头部 + 用户数据 = TCP段 / UDP头部 + 用户数据 = UDP数据报
    3. 网络层: IP头部 + TCP段/UDP数据报 = IP数据包
    4. 数据链路层: 帧头 + IP数据包 + 帧尾 = 数据帧
    5. 物理层: 将数据帧转换为比特流
  • 接收过程 (解封装): 与上述过程相反。

五、总结

网络分层模型将复杂的网络通信问题模块化,使得不同层级可以独立发展和标准化,极大地促进了互联网的普及和发展。理解这些模型是掌握计算机网络知识的基石。