这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

计算机网络体系结构

可能在选择题中考察,需要掌握 TCP/IO 模型和 ISO/OSI 模型的不同,并且能够从一个宏观的角度看待网络不同层次之间的联系。

学习思维导图:

# 计算机网络概述

## 基本概念

- 定义、组成和功能
- 分类
- 主要性能指标

## 体系结构

- 分层结构
- 网络协议、接口、服务等概念
- ISO/OSI参考模型和TCP/IP模型

1 - 分层结构

掌握 ISO/OSI 模型和 TCP/IP 的每一层功能,以及两个模型的对应关系,可能在选择题中考察。

ISO/OSI 模型

OSI 参考模型有 7 层,自下而上依次为【物理层、数据链路层、网络层、传输层、会话层、表示层、应用层】(记忆:物链网输会示用)。低三层统称为 通信子网,它是为了联网而附加的通信设备,完成数据的传输功能;高三层统称为 资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。

OSI 参考模型的层次结构如下图所示:

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
网络层
数据链路层
物理层
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
应用层协议
表示层协议
会话层协议
传输层协议
端系统
中继系统
中继系统
中继系统
端系统

物理层

物理层的传输单位是比特,功能是在物理媒体上为数据端设备透明地传输原始比特流,不用参与数据封装工作。 为了实现该功能,物理层需要定义硬件设备标准,如电缆类型、接口类型、电压标准等。

数据链路层

数据链路层的传输单位是帧,两台主机之间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。

数据链路层将网络层交来的 IP 分组封装成帧,并且可靠地传输到相邻结点的网络层。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为尽可能可靠的数据链路。数据链路层的功能可以概括为:物理寻址、组帧、差错控制、点对点流量控制、数据重发和传输管理等。

网络层

网络层(Netweork Layer)的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现整个网络的流量控制。

传输层

传输层(Transport Layer)的传输单位是报文段或用户数据报,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制(端到端)、差错控制、服务质量、数据传输管理等服务。

数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。点到点可以理解为主机到主机之间的通信;端到端的通信是指运行在不同主机内的两个进程之间的通信,只有传输层及以上各层的通信才能称为端到端。

会话层

会话层(Session Layer)允许不同主机上的各个进程之间进行会话。这种服务主要为用户进程建立连接,并在连接上有序地传输数据,这就是会话。

会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。

表示层

表示层主要处理在两个通信系统中交换信息的表示方式。 不同机器采用的编码和表示方法不同,使用的数据结构也不同。 为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密 也是表示层的功能。

应用层

应用层是 OSI 参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问 OSI 参考模型环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多

TCP/IP 模型

TCP/IP 模型从低到高依次为【网络接口层(对应 OSI 参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI 参考模型中的会话层、表示层和应用层)】。TCP/IP 由于得到广泛应用而成为事实上的国际标准。TCP/IP 模型的层次结构如下图所示:

网络接口层
网络层
传输层
应用层
网络接口层
网络层
主机 A
路由器
网络接口层
网络层
传输层
应用层
主机 B
网络 1
网络 2

TCP/IP 模型与 OSI 模型的不同点在于 网络接口层 和 应用层,可以理解为 TCP/IP 模型中这两层涵盖了 OSI 协议中多层的功能:

物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
OSI 的体系结构
物理层
网际层 IP
传输层 (TCP 或 UDP)
应用层

(各种应用层协议
比如 TELNET, FTP,
SMTP 等)
TCP/IP 体系结构
物理层
数据链路层
网络层
传输层
应用层

(各种应用层协议
比如 TELNET, FTP,
SMTP 等)
五层协议的体系结构

学习计算机网络时,我们往往采取折中的办法,即综合 OSI 参考模型和 TCP/IP 模型的优点,采用一种如下图所示的只有 5 层协议的体系结构,即我们所熟知的【物理层、数据链路层、网络层、传输层和应用层】。

协议数据单元

在网络中,协议数据单元(PDU,Protocol Data Unit)是指在某一层协议中传输的数据单元。每一层在接收来自上一层的数据时,都会在其头部添加控制信息(称为首部 Header),然后将其当作一个新的 PDU 交给下一层处理。这就是所谓的“封装”过程。

OSI 层级PDU 名称
7 应用层Data(数据)
6 表示层Data(数据)
5 会话层Data(数据)
4 传输层UDP Datagram(UDP 数据报)
TCP Segment(TCP 数据段、TCP 分段)
3 网络层IP Packet(IP 分组,IP 数据包,IP 报文)
2 数据链路层帧(Frame)
1 物理层比特(Bit)
注意

对于上表,首要的是掌握英文的名词表述,相比中文,这些表述更加统一和精准,中文翻译良莠不齐,常常有多种表述方式,但是表述的都是一个概念,能见词闻义即可。

2 - 网络设备总结

掌握不同网络层次设备的功能,以及能否隔离冲突域和广播域,可能在选择题中考察,也会在大题中作为知识点进行考察。

设备功能

📊 下表给出了不同设备的层次以及是否能够隔离冲突域和广播域:

设备功能描述设备位于哪一层隔离冲突域?隔离广播域?
中继器放大或再生数字信号物理层
集线器多个设备的连接,广播所有传入的数据物理层
网桥连接并分隔局域网的段落,减少冲突数据链路层
交换机连接多个设备,仅向目标设备转发数据数据链路层
路由器连接不同的网络并路由数据网络层

冲突域

冲突域是指在以太网中,当两个设备同时发送数据时,可能发生冲突的一组网络设备所组成的区域

在这个区域内,如果两个或多个设备同时发送帧,由于共享介质,就会产生数据冲突,导致通信失败,需要重新发送。

📌 冲突发生的根本原因:

以太网(尤其是早期使用共享总线或集线器的方式)采用了 CSMA/CD(载波监听多路访问/冲突检测) 协议:

  1. 每个设备发送前先监听是否有信号;
  2. 如果发现没人发,就开始发;
  3. 如果两个设备几乎同时监听到空闲并发送,就会发生冲突。

🔍 接下来举几个实际的设备例子来说明一下:

情形 1:用 集线器(Hub)连接 4 台主机

→ 所有主机 共享一个冲突域,因为 Hub 是广播式的,不智能转发。

情形 2:用 交换机(Switch)连接 4 台主机

每个主机连接的端口形成独立的冲突域,不会互相影响(除非广播)。

广播域

广播域 是指通过广播方式发送的数据包可以到达的所有主机所组成的网络范围。

当试题中提到广播域,一般指的都是 IP 协议的广播域(ARP 协议也会涉及到广播)。IP 的广播域 是指在同一个网络层中,可以接收到彼此广播消息的所有设备的集合。

🔍 举个实际例子,假设你有一台电脑 A,要通过 IP 层发送一个广播报文(比如 192.168.1.255),凡是处于相同广播域的设备(比如电脑 B 和电脑 C)都可以收到这个广播消息。

所以 IP 广播域取决于 三层设备(如路由器) 的边界:

  • 交换机(Switch):不会阻止广播,会将广播帧发送到所有端口(除来源端口)。
  • 路由器(Router):会阻止广播,因此一个路由器接口划分出一个新的广播域。

3 - 各层协议总结

了解各层所包含的网络协议,以及应用层协议使用的端口号、是依赖 UDP 还是 TCP。

网络协议要素

网络协议规定了通信双方交互的规则,主要包括以下三要素:

  • 语法:定义信息的格式和结构(如报文结构、编码方式等)
  • 语义:规定控制信息的含义和需要完成的操作
  • 时序:定义事件的发生顺序和通信双方的协同工作方式(如请求与响应的先后顺序)

应用层协议

应用层协议直接面向用户,为应用程序之间的通信提供服务:

协议端口号依赖协议简要说明
HTTP/HTTPS80 / 443TCP超文本传输协议,用于网页浏览。HTTPS 是加密版本,基于 TLS/SSL。
FTP20 / 21TCP文件传输协议,用于文件上传与下载。20 为数据通道,21 为控制通道。
SMTP25TCP简单邮件传输协议,用于邮件的发送。
POP3110 / 995TCP邮局协议,用于从邮件服务器接收邮件。995 是加密版本(POP3S)。
DNS53UDP(部分 TCP)域名系统,将域名解析为 IP 地址。较大响应或区域传输时使用 TCP。
DHCP67(服务器)/ 68(客户端)UDP动态主机配置协议,用于自动分配 IP 地址及其他网络参数。

传输层协议

传输层为应用进程间提供可靠或不可靠的数据传输服务:

  • TCP(Transmission Control Protocol):面向连接,提供可靠的字节流服务,适用于要求高可靠性的应用(如 HTTP、FTP)。
  • UDP(User Datagram Protocol):无连接,不保证可靠性,但开销小、速度快,适用于实时性要求高的场景(如 DNS、视频流)。

网络层协议

网络层负责实现数据包从源主机到目标主机的传输:

  • IP(Internet Protocol):不可靠的无连接协议,提供数据报服务,是整个互联网的核心协议。
  • ICMP(Internet Control Message Protocol):用于发送错误报告与网络诊断信息(如 ping 命令使用的就是 ICMP 回显请求)。
  • RIP / OSPF / BGP:路由选择协议,主要用于自治系统内部(RIP、OSPF)或之间(BGP)的路由计算
  • NAT:网络地址转换,在私网和公网之间转换 IP 地址

数据链路层协议

数据链路层负责将网络层传来的数据组装成帧,在链路上传输并进行差错控制:

  • ARP(Address Resolution Protocol):地址解析协议,用于将 IP 地址解析为对应的 MAC 地址。
  • PPP(Point-to-Point Protocol):点对点协议,用于点对点链路的数据传输,常用于拨号上网。
  • HDLC(High-Level Data Link Control):高级数据链路控制协议,用于同步链路的帧传输,支持面向比特流的通信。