计算机网络知识点梳理

2026-05-28

按照章节梳理计算机网络课程核心知识点,覆盖体系结构、链路层、网络层、传输层与应用层。

第1章 计算机网络概述

1.1 计算机网络在信息时代中的作用

  • 三大类网络:大众熟悉的网络主要包括电信网络、有线电视网络和计算机网络。
  • 三网融合:电信网络、有线电视网络和计算机网络在现代计算机网络技术基础上逐步融合,业务边界趋于模糊。
  • 互联网+:把互联网创新成果融合到经济社会各领域,形成新的经济形态。
  • Internet 译名Internet 推荐译名是“因特网”,但实际使用中“互联网”更通行;注意区分作为全球公共互联网的 Internet 与一般意义上的互连网络。

1.2 互联网概述

1.2.1 互联网的基本特点

  • 连通性 (Connectivity):使上网用户间可以便捷、经济地交换信息,好像直接连通一样。
  • 资源共享 (Sharing):实现信息、软件、硬件的共享,是互联网提供许多服务的基础。
  • 易混/常考:“互联网”(Internet)是标准译名,区别于“互连网”(局部范围的互联网络)。

1.2.2 计算机网络的定义

  • 定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,这些硬件并非专门用于某一特定目的。这些可编程的硬件能够传送多种类型的数据,并支持广泛的和日益增长的应用。
  • 易混/常考:理解定义中的“可编程的硬件”意味着必须包含CPU。所连接的硬件包括一般计算机、智能手机、电视等。

1.2.3 几种不同类别的计算机网络

  • 按网络作用范围分类
    • 广域网 WAN:作用范围几十到几千公里,是互联网的核心部分。
    • 城域网 MAN:作用范围约一个城市,约5~50公里。
    • 局域网 LAN:作用范围约1公里。
    • 个人区域网 PAN:作用范围约10米。
    • 条件:若中央处理机距离非常近(如1米或更小),则称为多处理机系统,不称为计算机网络。
  • 按网络使用者分类
    • 公用网(公众网):交费即可使用。
    • 专用网:为特殊业务建造。
  • 易混/常考:区分各类网络的典型作用距离。公用网和专用网都可传送多种业务,如计算机数据则对应为公用/专用计算机网络。

1.3 互联网的组成

1.3.1 互联网基础结构发展的三个阶段

  1. 第一阶段(1969-1990):从单个ARPANET向互联网发展。关键时间点:1983年,TCP/IP协议成为ARPANET标准协议,被作为互联网的诞生时间;1990年ARPANET关闭。
  2. 第二阶段(1985-1993):建成三级结构(主干网、地区网、校园网/企业网)的互联网。
  3. 第三阶段(1993-现在):形成全球范围的多层次ISP结构的互联网。
    • 互联网的核心组成部分(第三阶段)
      • 互联网服务提供者 ISP:提供接入服务,收取费用。分为主干ISP、地区ISP、本地ISP。
      • 互联网交换点 IXP:允许两个网络直接相连并快速交换分组,常工作在数据链路层。
      • 内容提供者:向用户提供内容,不提供转接服务。
      • 通信路径示例:主机A → 本地ISP → 地区ISP → 主干ISP → 地区ISP → 本地ISP → 主机B。
    • 易混/常考:理解三个阶段的核心特征与代表网络。区分ISP、IXP和内容提供者的功能。

背景补充:NSFNET 与 WWW

  • NSFNET:第二阶段(1985-1993 年)形成三级结构互联网时,国家科学基金网 NSFNET 是关键代表网络。
  • WWW 问世:20 世纪 90 年代,欧洲原子核研究组织 CERN 开发了万维网 WWW (World Wide Web),推动互联网从科研网络走向大众应用。

1.3.2 互联网的标准化工作

  • 标准RFC(Request For Comments,请求评论)文档形式发表。
  • 所有RFC文档可免费下载,但并非所有RFC都是互联网标准
  • 易混/常考:理解“RFC”是文档形式,并非所有RFC都是标准。

1.3.3 计算机网络在我国的发展

  • 关键节点:1994年4月20日,中国用64 kbit/s专线正式连入互联网,被国际承认为接入互联网的国家。
  • 主要互联网:CHINANET、UNINET、CMNET、CERNET、CSTNET。
  • 重要网络:CERNET是我国第一个IPv4主干网。CERNET2是我国第一个下一代互联网(IPv6)主干网。
  • 重要数据:到2019年底,我国国际出口带宽超过8.8 Tbit/s (1 Tbit/s = 10³ Gbit/s)。CERNET2试验网以2.5~10 Gbit/s速率连接核心节点。
  • CNNIC公布我国互联网发展情况。
  • 易混/常考:识记重要年份和网络名称。

1.4 计算机网络的体系结构

1.4.1 互联网的边缘部分

  • 端系统之间的两种通信方式
    • 客户/服务器方式 (C/S):客户是服务请求方,服务器是服务提供方,存在服务与被服务的关系。
    • 对等方式 (P2P):通信双方不区分服务请求方和提供方,只要运行P2P软件即可平等通信,每个主机既是客户又是服务器。
  • 易混/常考:比较C/S和P2P的核心区别:是否固定角色。

1.4.2 互联网的核心部分

  • 电路交换 (Circuit Switching)
    • 通话的两个用户始终占用端到端的通信资源。
    • 通信前需建立连接(电路),通信后释放连接。
    • 线路传输效率低,因为通信数据具有突发性。
    • 条件:N部电话机两两直接相连,需N(N-1)/2对电线。引入电话交换机解决。
  • 分组交换 (Packet Switching)
    • 原理:采用存储转发技术。发送端将报文划分为更小的等长数据段,加上首部构成分组(包)。分组是互联网中的数据传输单元。路由器根据分组首部的目的地址等信息独立转发分组。
    • 过程:报文 -> 划分数据段 -> 添加首部 -> 分组 -> 发送 -> 路由器转发 -> 接收 -> 去首部 -> 还原报文。
    • 优点:高效(动态分配带宽,逐段占用链路)、灵活(为每个分组独立选路)、迅速(无需建立连接即可发送)、可靠(协议和分布式路由保障)。
    • 缺点:排队延迟(需在路由器排队)、不保证带宽(动态分配)、增加开销(需携带首部信息,路由器需维护转发表)。
  • 易混/常考:理解电路交换资源独占、效率低的原因。分组交换是互联网的核心技术。能够对比电路交换与分组交换的优缺点。理解分组交换的优点正是电路交换的缺点。

1.5 计算机网络的性能指标

1.5.1 速率

  • 最重要的性能指标。
  • 指数据的传送速率,也称为数据率或比特率。
  • 单位是bit/s及其衍生单位(kbit/s, Mbit/s, Gbit/s等)。
  • 通常指额定速率或标称速率,非实际运行速率。
  • 公式
    • 1 Byte = 8 bit。
    • K = 2¹⁰ = 1024, M = 2²⁰ = 1024K, G = 2³⁰ = 1024M。
  • 易混/常考:注意区分速率单位(基于1000或1024)与存储单位的异同;速率通常指理论最大值。

带宽

  • 有两种含义,本质相同。
    • 频域定义:某个信号具有的频带宽度,单位是赫兹(Hz)。
    • 时域定义(网络常用):网络中某通道传送数据的能力,表示单位时间内信道能通过的“最高数据率”,单位是bit/s
  • 易混/常考:区分带宽的两种定义语境。在计算机网络中,通常指时域定义的最高数据率。

1.5.2 计算机网络的非性能特征

  • 费用:包括网络建设、运行、维护和升级成本。
  • 质量:不仅取决于网络性能,也取决于网络可靠性、稳定性和服务水平。
  • 标准化:采用成熟标准有利于互联互通、降低成本并延长设备生命周期。
  • 可靠性:网络连续工作和出现故障后恢复服务的能力,是工程应用中的重要评价因素。
  • 可扩展性和可升级性:网络应便于扩大规模、提升容量和引入新技术。
  • 易于管理和维护:网络越大,管理、配置、故障定位和安全维护越重要。
  • 易混/常考:性能指标回答“快不快、容量多大、时延多少”;非性能特征回答“贵不贵、稳不稳、能否扩展、是否易管”。

1.5.3 吞吐量

  • 单位时间内通过某个网络(或信道、接口)的实际数据量
  • 受网络带宽或额定速率限制,额定速率是绝对上限值。
  • 实际吞吐量可能远小于额定速率。
  • 易混/常考:与带宽(额定速率)的区别:带宽是理论最大值,吞吐量是实际测量值。

1.5.4 时延

  • 指数据从网络一端传送到另一端所需的时间,也称延迟。
  • 总时延公式:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
  • 组成
    1. 发送时延(传输时延):发生在机器内部发送器中。
      • 公式:发送时延 = 数据帧长度(bit) / 发送速率(bit/s)。
    2. 传播时延:发生在机器外部的传输信道媒体上。
      • 公式:传播时延 = 信道长度(m) / 信号在信道上的传播速率(m/s)。
      • 关键数值:电磁波传播速率。自由空间/光速 ≈ 3.0×10⁵ km/s;铜线 ≈ 2.3×10⁵ km/s;光纤 ≈ 2.0×10⁵ km/s。
    3. 处理时延:主机或路由器为处理分组(如分析首部、查找路由等)所花费的时间。
    4. 排队时延:分组在输入/输出队列中排队等待的时间。长度取决于通信量,通信量大时可能发生溢出。
  • 易混/常考
    • 发送时延 vs 传播时延:前者与数据长度和发送速率有关,与信道长度无关;后者与信道长度和传播速率有关,与发送速率无关。这是核心易混淆点。
    • 四种时延产生的位置不同(发送时延在发送器内,其他在链路或路由器中)。
    • 计算总时延是常见考点。

1.5.5 时延带宽积

  • 表示链路的“容量”。链路像一条空心管道,时延带宽积即管道中能容纳的比特数。
  • 又称为以比特为单位的链路长度。
  • 公式:时延带宽积 = 传播时延 × 带宽。
  • 易混/常考:理解其物理意义:已发送但未到达的比特数。

1.5.6 往返时间 RTT

  • 表示从发送方发送完数据到收到接收方确认所经历的总时间。
  • 组成:RTT = 发送方发送时延 + 发送方到接收方的传播时延 + 接收方处理排队时延 + 接收方发送确认的发送时延 + 接收方到发送方的传播时延。
  • 通常简化为:RTT ≈ 2 × 传播时延 + 末端处理时间。
  • 易混/常考:注意RTT不仅包含传播时间,还包括对端的处理和发送时间。

1.5.7 利用率

  • 信道利用率:某信道有百分之几的时间是被利用的(有数据通过)。
  • 网络利用率:全网络信道利用率的加权平均值。
  • 易混/常考:理解“利用率过高反而导致时延增大”的非线性关系。

1.6 计算机网络体系结构

1.6.1 计算机网络体系结构的形成

  • 计算机网络非常复杂,两台计算机通信需解决诸多问题。
  • 引入“两军问题”说明可靠通信的复杂性。
  • 易混/常考:“两军问题”常作为理解网络通信中确认机制与可靠传输难点的背景知识。

1.6.2 协议与划分层次

  • 网络协议
    • 定义:为进行网络中的数据交换而建立的规则、标准或约定。
    • 三要素
      1. 语法:数据与控制信息的结构或格式。
      2. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
      3. 同步:事件实现顺序的详细说明(包括时序)。
  • 分层的优缺点
    • 优点
      1. 各层之间是独立的。
      2. 灵活性好。
      3. 结构上可分割开。
      4. 易于实现和维护。
      5. 能促进标准化工作。
    • 缺点
      1. 有些功能会重复出现,产生额外开销。
    • 注意:每一层的功能应非常明确。
  • 易混/常考:协议三要素是核心考点。优缺点对比是常见简答题。

1.6.3 具有五层协议的体系结构

  • 网络体系结构定义:计算机网络的各层及其协议的集合。
  • 三种模型
    • OSI七层模型:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。
    • TCP/IP四层模型:网络接口层、网际层、运输层、应用层。
    • 五层协议模型(教学模型):物理层、数据链路层、网络层、运输层、应用层。
  • 各层的主要功能(五层模型)
    • 应用层
      • 任务:通过应用进程间的交互完成特定网络应用。
      • 协议数据单元 (PDU):报文。
      • 协议举例:DNS, HTTP, SMTP。
    • 运输层
      • 任务:向两台主机中进程之间的通信提供通用的数据传输服务。
      • 功能:复用和分用。
      • 主要协议
        • TCP:面向连接、可靠传输,数据单位是报文段。
        • UDP:无连接、尽最大努力交付(不可靠),数据单位是用户数据报。
    • 网络层
      • 任务:为分组交换网上的不同主机提供通信服务。
      • 两个具体任务:
        1. 路由选择:在每个路由器上生成转发表。
        2. 转发:路由器根据转发表将分组转发到下一跳。
      • 核心协议:无连接的网际协议IP。
      • 协议数据单元 (PDU):IP数据报(或简称数据报)。
      • 别名:网际层、IP层。
    • 数据链路层
      • 任务:实现两个相邻节点之间的可靠通信。
      • 协议数据单元 (PDU):帧。
      • 处理差错:简单丢弃出错帧;或采用可靠传输协议纠错(使协议复杂)。
    • 物理层
      • 任务:实现比特的传输。
      • 内容:确定物理接口的引脚及连接方式。
      • 注意:物理媒体(如双绞线、光纤)不在物理层协议之内。
  • 数据在各层之间的传递过程
    • OSI参考模型中,对等层次之间传送的数据单位称为协议数据单元 (PDU)
    • 任何两个同样的层次把PDU通过水平虚线直接传递给对方,这是“对等层”之间的通信。
  • 易混/常考
    • 各层功能的精确描述是核心考点。
    • 比较TCP与UDP的服务特点。
    • 区分网络层的“路由选择”和“转发”。
    • 理解物理层与物理媒体的关系。
    • 区分OSI、TCP/IP和五层模型的层次和名称;TCP/IP模型中网络接口层没有具体内容。

1.6.4 实体、协议、服务和服务访问点

  • 实体:任何可发送或接收信息的硬件或软件进程。
  • 协议:控制两个对等实体进行通信的规则的集合。
  • 服务:在协议控制下,对等实体间的通信使得本层能够向上一层提供服务。
  • 服务访问点 (SAP):同一系统中相邻两层的实体进行交互的地方。
  • 关系:协议对上层服务用户是透明的,用户只能看到下层提供的服务。
  • 易混/常考:区分“协议”(对等实体间的规则)与“服务”(下层为上层提供的功能);理解SAP是层间接口。

补充:计算机网络体系结构

三种网络体系结构模型对比

  • OSI的七层协议体系结构:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
  • TCP/IP的四层协议体系结构:应用层(含DNS, HTTP, SMTP等)、运输层(TCP或UDP)、网际层(IP)、网络接口层(无具体内容)。
  • 五层协议的体系结构(原理体系结构):应用层、运输层、网络层、数据链路层、物理层。它融合了OSI和TCP/IP的优点。
    • 易混/常考:考查三种模型的层次名称、数量及对应关系,特别是TCP/IP网络接口层无具体内容,以及五层模型的折中特点。

1.6.5 TCP/IP 的体系结构

  • TCP/IP 体系结构与路由器工作层次:TCP/IP 是四层体系结构。路由器在转发分组时最高只用到网际层,不涉及运输层和应用层。
    • 易混/常考:考查对路由器工作层次的理解,需明确其处理范围。
  • TCP/IP 协议族的“沙漏计时器”形状与设计特点:形状特点是IP层在中间。设计理念是“网络核心部分越简单越好”。核心特点包括:Everything over IP(IP层支持多种运输层协议);IP over Everything(IP协议可在多种网络上运行)。
    • 易混/常考:理解两个英文短语的准确含义及其体现的设计思想是常见考点。

各层的主要功能 > 物理层

  • 物理层的主要任务:实现比特(0或1)的传输。具体任务包括确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
    • 易混/常考:物理层涉及的是比特传输的物理连接和接口规范,不在其协议范围内的是传递信息所利用的物理媒体(如双绞线、同轴电缆、光缆、无线信道等),这是一个关键区分点。

第2章 物理层

2.1 物理层的基本概念

2.1.1 物理层的作用与任务

  • 作用:物理层考虑的是怎样在连接各种计算机的传输媒体上传输数据比特流,不是指具体的传输媒体。其作用是尽可能屏蔽掉不同传输媒体和通信手段的差异。
  • 任务:确定与传输媒体的接口的一些特性。
  • 物理层协议:也常称为物理层规程(procedure)。

2.1.2 物理层接口的四个特性

  1. 机械特性:接口接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。
  2. 电气特性:接口电缆各条线上出现的电压的范围。
  3. 功能特性:某条线上出现的某一电平的电压的意义。
  4. 过程特性:对于不同功能的各种可能事件的出现顺序。
  • 易混/常考:物理层规程与四个特性的对应关系。

2.2 数据通信的基础知识

2.2.1 数据通信系统的模型

  • 系统组成:数据通信系统由三大部分组成:
    1. 源系统(发送端)
    2. 传输系统(传输网络)
    3. 目的系统(接收端)
  • 常用术语
    • 消息 (message):如话音、文字、图像、视频等。
    • 数据 (data):运送消息的实体,有意义的符号序列。
    • 信号 (signal):数据的电气的或电磁的表现。
    • 模拟信号 (analogous signal):代表消息的参数的取值是连续的。
    • 数字信号 (digital signal):代表消息的参数的取值是离散的。
    • 码元:在使用时间域(时域)的波形表示数字信号时,代表不同离散数值的基本波形。

2.2.2 有关信道的几个基本概念

1. 通信方式分类

  • 信道:一般用来表示向某一个方向传送信息的媒体。
  • 三种通信方式
    • 单向通信(单工通信):只能单向通信,无反向交互。
    • 双向交替通信(半双工通信):双方可发送信息,但不能同时进行。
    • 双向同时通信(全双工通信):双方可同时发送和接收信息。
  • 易混/常考:区分单工、半双工、全双工的定义与特点。

2. 基带信号与调制

  • 基带信号:来自信源的信号,包含较多的低频成分,甚至有直流成分。
  • 调制分类
    • 基带调制:仅对基带信号的波形进行变换,将数字信号转换为另一种形式的数字信号,此过程称为编码 (coding)。
    • 带通调制:使用载波 (carrier) 进行调制,将基带信号的频率范围搬移到较高频段,并转换为模拟信号,结果称为带通信号。
  • 易混/常考:区分基带调制(编码)与带通调制。

3. 数字信号常用编码方式

定义了四种编码方式的波形规则:

  1. 不归零制:正电平代表1,负电平代表0。
  2. 归零制:正脉冲代表1,负脉冲代表0。
  3. 曼彻斯特编码:位周期中心的向上跳变代表0,向下跳变代表1(也可反过来定义)。
  4. 差分曼彻斯特编码:位中心处始终有跳变,位开始边界有跳变代表0,无跳变代表1。
  • 编码方式比较
    • 信号频率:曼彻斯特编码和差分曼彻斯特编码产生的信号频率比不归零制高。
    • 自同步能力:不归零制没有自同步能力;曼彻斯特编码和差分曼彻斯特编码具有自同步能力。
  • 易混/常考:各种编码方式的波形规则与自同步能力是常见考点。

4. 基本的带通调制方法与QAM

  • 调制原因:基带信号常有低频/直流成分,许多信道不能传输,需调制。
  • 三种基本调制方法
    • 调幅 (AM):载波的振幅随基带数字信号而变化。
    • 调频 (FM):载波的频率随基带数字信号而变化。
    • 调相 (PM):载波的初始相位随基带数字信号而变化。
  • 正交振幅调制 QAM (Quadrature Amplitude Modulation):一种多元制的振幅相位混合调制方法,以达到更高的信息传输速率。
    • :有12种相位,每相位有1或2种振幅,共16种组合(16个码元)。由于4 bit编码有16种组合,故每个码元对应一种4 bit编码,数据传输率可提高4倍。

2.2.3 信道的极限容量

1. 影响码元传输速率的因素

实际信道不可能以任意高速率传送,波形失真程度取决于码元速率、传输距离、噪声干扰和媒体质量。限制码元传输速率的两个因素:

  1. 信道能够通过的频率范围。
  2. 信噪比。

2. 奈奎斯特定理(理想低通信道的极限数据传输率)

  • 要点:在无噪声情况下,理想低通信道的最大数据传输率。
  • 公式:最大数据传输率 = 2H log₂V (bps)
    • H:信道带宽 (Hz)
    • V:信号电平的级数(信号的状态数)
  • 例题:带宽3kHz,采用4个相位、每相位4种振幅的QAM(即16种状态),最大数据传输速率 = 2 * 3 * log₂16 = 24 kbps。

3. 香农公式(有噪声信道的极限信息传输速率)

  • 要点:在带宽受限且有高斯白噪声干扰的信道中,信息传输速率的理论极限。
  • 信噪比定义:信噪比(dB) = 10 log₁₀ (S/N) (dB)
  • 公式C = W log₂(1 + S/N) (bit/s)
    • W:信道带宽 (Hz)
    • S:信道内所传信号的平均功率
    • N:信道内部的高斯噪声功率
  • 易混/常考:信噪比的分贝(dB)与数值(S/N)的换算。

4. 奈氏准则与香农公式的意义比较

  • 奈氏准则:激励工程人员探索更先进的编码技术,使每个码元携带更多比特的信息量。
  • 香农公式:告诫工程人员,在有噪声的实际信道上,信息传输速率存在绝对极限。
  • 易混/常考:理解两个公式的不同指导意义。

5. 提高信息传输速率的方法

  • 方法:用编码的方法让每一个码元携带更多比特的信息量。
  • :将3个比特编为1组,以相同码元速率发送,信息量提高3倍。

2.3 物理层下面的传输媒体

2.3.1 传输媒体的分类

传输媒体是发送器和接收器之间的物理通路,分为两大类:

  1. 导引型传输媒体:电磁波被导引沿着固体媒体(铜线或光纤)传播。
  2. 非导引型传输媒体:指自由空间,其中的传输常称为无线传输。

2.3.2 电磁波频谱

  • 电信领域电磁波频谱的波段分类:波段包括 LF(低频)、MF(中频)、HF(高频)、VHF(甚高频)、UHF(特高频)、SHF(超高频)、EHF(极高频)、THF(至高频),以及特殊频段如光纤、X射线、γ射线。
  • 频率范围对应:以 10 的幂次表示,从 10^0 Hz 到 10^14 Hz,具体对应关系为:
    • 低频 LF:~10^0 Hz
    • 中频 MF:~10^2 Hz
    • 高频 HF:~10^4 Hz
    • 甚高频 VHF:~10^6 Hz
    • 特高频 UHF:~10^8 Hz
    • 超高频 SHF:~10^10 Hz
    • 极高频 EHF:~10^12 Hz
    • 至高频 THF:~10^14 Hz
  • 电磁波频谱与传输介质的关系:不同波段对应不同传输介质,如光纤用于高频传输。
  • 易混/常考:常见考点为波段名称(如 LF、MF)与频率范围的匹配。

补充:物理层下面的传输媒体

2.3.1 导引型传输媒体

1. 双绞线

  • 结构与分类:最古老但最常用的传输媒体。由两根互相绝缘的铜导线规则绞合而成,绞合度越高,可用数据传输率越高。
  • 分类
    • 按类别:3类线、5类线等。
    • 按屏蔽层
      • 无屏蔽双绞线 (UTP):无屏蔽层,价格便宜。
      • 屏蔽双绞线 (STP):带屏蔽层,必须有接地线。
  • 易混/常考:UTP与STP的结构和用途区别;绞合度与传输率的关系。

2. 同轴电缆

  • 结构与特点:由内导体(单股实心或多股绞合线)、绝缘层、网状外导体屏蔽层、保护塑料外层组成。具有很好的抗干扰特性,广泛用于传输较高速率数据。
  • 易混/常考:与双绞线的结构对比。

3. 光缆

  • 光纤通信系统基本原理:通过传递光脉冲进行通信。发送端需光源(发光二极管或半导体激光器)产生光脉冲;接收端需光检测器(光电二极管)将光脉冲还原为电脉冲。传输带宽远大于其他传输媒体。
  • 光波在光纤中的传播原理:光线在纤芯(高折射率媒体)和包层(低折射率媒体)界面发生全反射,从而被束缚在纤芯中向前传播。
    • 全反射条件:光线从高折射率媒体射向低折射率媒体,入射角大于临界角。
  • 多模光纤与单模光纤的比较
    • 多模光纤:允许多条不同角度入射的光线传输,光脉冲会逐渐展宽造成失真,只适合近距离传输。
    • 单模光纤:直径减小到一个光波长,光线一直向前传播不会产生多次反射,衰耗较小但制造成本
    • 光源要求:单模光纤的光源必须使用昂贵的半导体激光器,不能使用较便宜的发光二极管。
  • 光纤通信常用波段与关键数值:常用三个波段中心波长:850 nm, 1300 nm, 1550 nm。每个波段都具有约25000~30000 GHz的带宽。
    • (表格)展示了不同波长对应的典型衰减,如1.3 μm处衰减约为0.3 dB/km。
  • 光纤的主要优点
    1. 通信容量非常大。
    2. 传输损耗小,中继距离长。
    3. 抗雷电和电磁干扰性能好。
    4. 无串音干扰,保密性好。
    5. 体积小,重量轻。
      • 应用:广泛应用于计算机网络、电信网络、有线电视网络的主干网
  • 易混/常考:光源和光检测器的器件类型;多模与单模光纤的对比(传输模式、适用距离、成本、光源要求);三个常用波长中心值;光纤优点列举。

2.3.2 非导引型传输媒体

1. 无线传输概览

  • 非导引型传输媒体:利用无线电波在自由空间传播,自由空间称为“非导引型传输媒体”。
  • 无线频段:无线传输使用的频段很广:LF ~ THF (30 kHz ~ 3000 GHz)。
    • (表格)展示了LF到THF各波段对应的频率数量级(10^4 ~ 10^13 Hz)。
  • 易混/常考:各波段缩写(如VHF, UHF, SHF)及频率范围。

2. 微波通信

  • 特点与频率:在通信中占有特殊重要地位。微波频率范围:300 MHz ~ 300 GHz (波长1m~1mm),主要使用2~40 GHz。传播方式主要是在空间直线传播(视距传播)
  • 传播距离与多径效应
    • 受地球曲率限制,传播距离一般只有50 km左右;架设100 m高的天线塔,距离可增至100 km
    • 多径效应:信号经多条路径、不同时间到达接收方,叠加后产生严重失真。
  • 误码率、信噪比与调制方式/数据率的关系:对于给定的调制方式和数据率,信噪比越大,误码率越低。对于同样的信噪比,更高数据率的调制技术误码率更高。用户地理位置变化会引起信噪比和误码率变化。
    • (表格/图示)展示了理想无线信道下,误码率、信噪比(dB)、调制方式(如16QAM, BPSK)及数据率之间的关系趋势。
  • 易混/常考:微波频率范围和主要使用频段;视距传播的限制与改善方法;多径效应的定义和影响;误码率、信噪比与调制方式/数据率的定性关系。

3. 微波接力

  • 远距离微波通信:通过中继站放大信号并逐站转发。
  • 主要特点
    1. 信道容量大。
    2. 传输质量高(受工业和天电干扰小)。
    3. 比同等电缆通信投资少、见效快。
  • 主要缺点
    1. 相邻站必须直视(视距LOS),存在多径效应。
    2. 受恶劣气候影响。
    3. 隐蔽性和保密性差。
    4. 维护中继站耗费人力物力。
  • 易混/常考:特点与有线传输(如同轴电缆)的对比;缺点列举。

4. 卫星通信

  • 特点与时延
    • 优点:通信容量大、距离远、稳定、费用与距离无关。
    • 缺点:传播时延较大(在250~300 ms之间)、保密性相对较差、造价高。
    • 关键数值:同步卫星轨道高度约3.6万公里
  • 低轨道卫星通信系统:卫星高度在2000公里以下。大功率、大容量、低轨道宽带卫星开始部署,构成空间高速链路。
  • 易混/常考:“传播时延大”不等于“传送数据时延大”;同步轨道高度和传播时延数值;与同步卫星(高轨道)的特点对比。

5. ISM频段

  • 概念:无线局域网使用无线信道。无线电频段通常需许可证,而ISM频段可自由使用
  • 常用频段:三个常用ISM频带及其频率范围:
    • 902-928 MHz (26 MHz带宽)
    • 2.4 GHz (83.5 MHz带宽)
    • 5.725-5.850 GHz (125 MHz带宽)
  • 易混/常考:ISM频段的具体频率和带宽数值;与需许可频段的区别。

2.4 信道复用技术

2.4.1 频分复用、时分复用和统计时分复用

  • 复用(Multiplexing)的概念:允许用户使用一个共享信道进行通信。
  • 频分复用(FDM)原理:将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。所有用户在同样的时间占用不同的带宽(频带)资源。
  • 时分复用(TDM)原理:将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。TDM信号也称为等时(isochronous)信号。所有用户在不同的时间占用同样的频带宽度
  • 频分多址(FDMA)与时分多址(TDMA)
    • FDMA:N个用户各使用一个频带,或让更多的用户轮流使用这N个频带。
    • TDMA:N个用户各使用一个时隙,或让更多的用户轮流使用这N个时隙。
    • (它们是FDM和TDM在多址接入中的具体应用形式)
  • 复用器(Multiplexer)和分用器(Demultiplexer):成对使用。
  • 时分复用(TDM)的缺点:当用户暂时无数据发送时,分配给该用户的时隙只能处于空闲状态,导致信道利用率不高
  • 统计时分复用(STDM)原理:STDM帧不是固定分配时隙,而是按需动态分配
  • 易混/常考:FDM是“同时间,不同频率”;TDM是“同频率,不同时间”;TDM的缺点及STDM的改进思想。

2.4.2 波分复用

  • 波分复用(WDM)原理光的频分复用。使用一根光纤来同时传输多个光载波信号。
  • 易混/常考:本质是光频段的频分复用。

2.4.3 码分复用

  • 码分复用(CDM)与码分多址(CDMA)概念:每一个用户可以在同样的时间使用同样的频带进行通信。各用户使用经过特殊挑选的不同码型,因此不会造成干扰。当CDM信道为多个不同地址的用户所共享时,就称为CDMA。
    • 特点同时间,同频率,不同码型
  • CDMA工作原理-码片序列与发送规则
    1. 将每一个比特时间划分为m个短的间隔,称为码片(chip)
    2. 为每个站指派一个唯一的m bit码片序列
    3. 发送比特1:发送自己的m bit码片序列。
    4. 发送比特0:发送该码片序列的二进制反码
      • 示例:S站的8 bit码片序列是00011011。1 → 发送 00011011;0 → 发送 11100100。对应的正负表示:(-1 -1 -1 +1 +1 -1 +1 +1)
  • CDMA的扩频特性:要发送信息的数据率 = b bit/s,实际发送的数据率 = mb bit/s,同时,所占用频带宽度也提高到原来的m倍。扩频通常有直接序列扩频(DSSS)跳频扩频(FHSS)两大类。
  • CDMA码片序列的正交性及其重要性质:每个站分配的码片序列必须各不相同,且互相正交(orthogonal)
    • 公式/性质
      1. 正交(规格化内积为0):$\mathbf{S} \bullet \mathbf{T} \equiv \frac{1}{m} \sum_{i=1}^{m} S_{i} T_{i} = 0$
      2. 自身规格化内积为1:$\mathbf{S} \bullet \mathbf{S} = \frac{1}{m} \sum_{i=1}^{m} S_{i}^{2} = \frac{1}{m} \sum_{i=1}^{m} (\pm 1)^{2} = 1$
      3. 与自身反码的规格化内积为-1:$\mathbf{S} \bullet \overline{\mathbf{S}} = -1$
  • CDMA接收原理:接收站使用与发送站相同的码片序列与接收到的混合信号求规格化内积,从而提取出该站发送的原始比特。
    • 过程:涉及发送端数据码元比特、特定站的码片序列、该站发送的信号、其他站发送的信号、总的发送信号,以及分别用该站码片序列与总信号求规格化内积。内积结果为+1表示发送比特1,内积结果为-1表示发送比特0
  • 易混/常考:发送0时发送的是码片序列的二进制反码,而非全0信号;CDM/CDMA的特点;码片序列的三个正交性质公式是CDMA解扩和提取信号的数学基础,是常见考点;规格化内积的计算过程需掌握。

2.5 同步数字系列SONET/SDH

  • 早期数字传输系统的缺点
    1. 速率标准不统一:存在北美和日本的T1速率(1.544 Mbit/s)与欧洲的E1速率(2.048 Mbit/s)两个互不兼容的国际标准。
    2. 不是同步传输:主要采用准同步方式,各支路信号的时钟频率有一定偏差,给时分复用和分用带来麻烦。
  • 同步光纤网(SONET)的定义与基本速率:各级时钟都来自一个非常精确的主时钟。为光纤传输系统定义了同步传输的线路速率等级结构。传输速率以51.84 Mbit/s为基础,称为第1级同步传送信号STS-1或第1级光载波OC-1。
  • 同步数字系列(SDH)的定义与基本速率:ITU-T以美国标准SONET为基础制订的国际标准。与SONET的主要不同:SDH的基本速率为155.52 Mbit/s,称为第1级同步传递模块STM-1,相当于SONET体系中的OC-3速率。
    • 核心对应关系:STM-1 = OC-3。
  • SONET/SDH的速率等级对应关系:(表格)

| 线路速率(Mbit/s) | SONET符号 | ITU-T符号(SDH) | 常用近似值 | |—|—|—|—| | 51.840 | OC-1/STS-1 | — | | | 155.520 | OC-3/STS-3 | STM-1 | 155 Mbit/s | | 622.080 | OC-12/STS-12 | STM-4 | 622 Mbit/s | | 2488.320 | OC-48/STS-48 | STM-16 | 2.5 Gbit/s | | 9953.280 | OC-192/STS-192 | STM-64 | 10 Gbit/s | | 39813.120 | OC-768/STS-768 | STM-256 | 40 Gbit/s |

  • SONET/SDH标准的意义
    1. 定义了标准光信号,规定了波长为1310 nm1550 nm的激光源。
    2. 在物理层定义了帧结构。
    3. 使北美、日本和欧洲这三个地区三种不同的数字传输体制在STM-1等级上获得了统一。
    4. 已成为公认的新一代理想的传输网体制。
    5. SDH标准也适合于微波和卫星传输的技术体制。
  • 易混/常考:早期数字传输系统的缺点;SONET和SDH的基本速率及其对应关系;STM-1=OC-3是核心对应关系;常用近似值是快速识别题中的关键;SONET/SDH规定的重要光波长。

2.6 宽带接入

  • 宽带定义:美国FCC定义宽带下行速率达25 Mbit/s,上行速率达3 Mbit/s。
  • 宽带分类:从接入媒体划分为有线宽带接入和无线宽带接入两大类。
  • 易混/常考:理解宽带的标准定义(关键数值:下行25 Mbit/s,上行3 Mbit/s)和分类方式。

2.6.1 ADSL 技术

  • 技术概述
    • 名称:非对称数字用户线(ADSL)。
    • 原理:用数字技术改造模拟电话用户线以承载宽带业务。
    • 频谱利用:0~4 kHz频段留给传统电话,高端频谱用于上网。
    • 标准:ITU标准G.992.1(G.dmt)。
    • 非对称性:下行带宽远大于上行带宽。
  • 调制解调器
    • 技术:采用离散多音调(DMT)调制技术。
    • 基础:DMT基于频分复用(FDM)。
    • 原理:相当于多个小调制解调器并行传送数据。
    • 特性:ADSL不能保证固定数据率。
  • DMT频谱分布
    • 0~4 kHz:传统电话。
    • 约138 kHz:上行信道。
    • 约1100 kHz:下行信道。
  • ADSL组成
    • 三大组成部分:数字用户线接入复用器(DSLAM)、用户线、用户设施。
    • 最大好处:利用现有电话网用户线(铜线)。
  • DSLAM与ATU
    • DSLAM:数字用户线接入复用器。
    • ATU:接入端接单元(ADSL调制解调器)。
    • 分类
      • ATU-C:位于端局。
      • ATU-R:位于远端(用户侧)。
  • 第二代ADSL
    • 类型:包括ADSL2(G.992.3、G.992.4)和ADSL2+(G.992.5)。
    • 主要改进:更高数据率、无缝速率自适应技术(SRA)、线路质量评测和故障定位。
    • 局限性:ADSL不适合企业,因其上行需求大。
  • xDSL类型
    • SDSL:对称DSL。
    • HDSL:高速DSL。
    • VDSL:甚高速DSL。
    • Giga DSL:超高速DSL(华为2012年研制样机),使用时分双工(TDD)和OFDM技术。
  • 易混/常考
    • ADSL的“非对称”含义,与对称DSL(如SDSL)的区别。
    • DMT与FDM的关系。
    • ADSL数据率不固定的特性。
    • DSLAM、ATU-C、ATU-R的功能与位置。
    • ADSL2/ADSL2+的改进内容。
    • 区分各种xDSL类型及其特性。

2.6.2 光纤同轴混合网(HFC 网)

  • 定义与改造
    • 定义:HFC基于有线电视网(CATV)改造而成。
    • 改造方式:将主干同轴电缆换为光纤。
    • 特性:具有双向传输功能,扩展了频带。
  • 频带划分
    • 我国标准:上行信道65 MHz,下行信道87 MHz。
  • 机顶盒与电缆调制解调器
    • 机顶盒:连接同轴电缆和电视机,使模拟电视能接收数字信号。
    • 电缆调制解调器:将用户计算机接入互联网。
      • 在上行信道传送交互信息。
      • 不需要成对使用。
      • 需解决共享信道冲突问题。
  • 易混/常考
    • HFC网与传统CATV网的区别(双向传输、主干光纤)。
    • 记住我国HFC网的上行(65 MHz)和下行(87 MHz)信道频率范围。
    • 机顶盒(连接电视)与电缆调制解调器(连接计算机)的功能区别。
    • 电缆调制解调器面临的共享信道冲突问题。

2.6.3 FTTx 技术

  • 概念
    • 定义:FTTx表示多种宽带光纤接入方式。
    • 类型
      • FTTH:光纤到户
      • FTTB:光纤到大楼
      • FTTC:光纤到路边
      • FTTZ:光纤到小区
      • FTTO:光纤到办公室
      • FTTD:光纤到桌面
  • 光配线网(ODN)
    • 位置:位于光纤干线和用户之间。
    • 无源特性:无源的常称为无源光网络(PON)。
    • 复用技术:采用波分复用(WDM),上下行使用不同波长。
  • EPON与GPON比较
    • EPON(以太网无源光网络)
      • 特点:链路层使用以太网协议。
      • 优点:兼容性好、成本低、扩展性强、管理方便。
    • GPON(吉比特无源光网络)
      • 特点:采用通用封装方法(GEM)。
      • 优点:可承载多业务,提供QoS保证,性能比EPON好。
      • 缺点:成本稍高。
  • 易混/常考
    • 区分不同FTTx类型及其应用场景。
    • PON与ODN的关系(PON是无源ODN的一种)。
    • WDM的原理(上下行使用不同波长)。
    • EPON与GPON在协议、性能、成本上的差异。

第3章 数据链路层

3.1 数据链路层的基本问题

3.1.1 数据链路和帧

  • 链路 (Link):一条无源的点到点的物理线路段,中间没有交换结点。也称为物理链路
  • 数据链路 (Data Link):在一条链路上传输数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用网络适配器(网卡)来实现这些协议。也称为逻辑链路

易混/常考:区分物理链路与逻辑链路(数据链路)。

3.1.2 三个基本问题

数据链路层协议有许多种,但有三个基本问题是共同的:封装成帧、透明传输和差错控制。

1. 封装成帧

  • 封装成帧 (Framing):就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
  • 帧定界:首部和尾部的一个重要作用就是进行帧定界。
  • 最大传送单元 MTU (Maximum Transfer Unit):规定了所能传送的帧的数据部分长度上限。

易混/常考:理解 MTU 限制的是数据部分而非整个帧的长度。

  • 用控制字符进行帧定界
    • SOH (Start Of Header):放在一帧的最前面,表示帧的首部开始。
    • EOT (End Of Transmission):表示帧的结束。
  • 常用的成帧方法:字符计数法、字符填充的首尾定界法、比特填充的首尾定界法、物理编码违例法。

2. 透明传输

  • 问题:当数据部分恰好出现与帧定界符(如 EOT)一样的二进制代码时,接收方就会错误地认为帧结束,从而导致接收错误。
  • 解决方法:使用“字节填充”或“字符填充”法。

3. 差错控制

  • 比特差错与误码率:传输过程中可能会产生比特差错。误码率 BER (Bit Error Rate) 是在传输错误的比特占所传输比特总数的比率。
  • 循环冗余检验 CRC 原理与计算
    1. 假设待传送的数据 M = 101001 (k = 6 位),除数 P = 1101 (n+1 = 4 位,即冗余码 R 为 n = 3 位)。
    2. 计算 M * 2^n101001 * 2^3 = 101001000
    3. M * 2^n 除以 P,得到余数 R(101001000) 除以 (1101) 得余数 R = 001
    4. 发送的数据为 M + R101001 + 001 = 101001001
  • 帧检验序列 FCS:在数据后面添加的冗余码(如上例中的 001)称为帧检验序列 FCS (Frame Check Sequence)
  • 广泛使用的生成多项式 P(X)
    • CRC-16 = X^16 + X^15 + X^2 + 1
    • CRC-CCITT = X^16 + X^12 + X^5 + 1
    • CRC-32 = X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 + X^8 + X^7 + X^5 + X^4 + X^2 + X + 1
  • CRC 检验的性质与可靠传输:CRC 只能做到“无差错接受”(凡是接收的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错)。但这还不是可靠传输,可靠传输要求:发送什么,接收端就收到什么。传输差错包括比特差错以及帧丢失、帧重复、帧失序等。要实现可靠传输,还需要增加帧编号、确认和重传等机制。
  • 纠错编码:检错码只能发现错误,而纠错编码通过增加冗余信息能定位并纠正错误,也称为前向纠错 FEC (Forward Error Correction)
  • 纠错码例子:海明编码是典型的纠错编码,可通过增加冗余位定位并纠正部分比特差错,属于前向纠错思想的代表例子。

易混/常考

  1. 掌握 CRC 计算步骤;理解 FCS 与 CRC 的关系(CRC 是方法,FCS 是结果)。
  2. 深刻理解“无比特差错”不等于“可靠传输”,明确二者的区别与联系。
  3. 区分检错与纠错。

补充:数据链路层的基本问题

数据链路层(链路层)的主要任务是在相邻节点间可靠地传输帧。若检测到差错,可能直接丢弃出错帧,或采用可靠传输协议进行纠正(会使协议复杂化)。

3.1.1 封装成帧 (framing)

  • 定义:在一段数据的前后分别添加首部和尾部,构成一个帧。首部和尾部用于帧定界(确定帧的界限)。
  • 最大传送单元MTU (Maximum Transfer Unit):规定了帧的数据部分长度上限。
  • 常用的成帧方法
    • 字符计数法:在帧头部字段中指明本帧的字节数。
    • 字符填充的首尾定界法:定义专门的字符作为帧起始/结束标志,使用字符填充将标志字符与数据区分开。
    • 比特填充的首尾定界法:定义专门的比特序列作为帧起始/结束标志,使用比特填充将标志序列与数据区分开。
    • 物理编码违例法:使用无效的物理编码作为帧的开始/结束标志。
  • 易混/常考:MTU是数据部分的长度限制,不是整个帧的长度。

3.1.2 透明传输

  • 问题:如果数据中的某个字节的二进制代码恰好与帧定界控制字符(如SOH或EOT)相同,接收方会错误地“找到帧的边界”。
  • 解决方法:使用“字节填充”或“字符填充”法解决透明传输问题。
  • 易混/常考:透明传输是指数据链路层对传输数据的内容没有限制,无论是什么比特组合都能正确传送。

3.1.3 差错检测

  • 比特差错:传输过程中可能产生比特差错(1变0或0变1)。
  • 误码率BER (Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率。
  • 循环冗余检验CRC (Cyclic Redundancy Check)
    1. 原理:在发送端,将数据划分为每组 k 位的序列 M。在每组 M 后面添加 n 位冗余码,构成 k+n 位的帧发送。
    2. 计算步骤
      • 用二进制模2运算计算 M * 2^n(相当于在 M 后补 n 个0)。
      • 将得到的 k+n 位数除以事先选定的 n+1 位生成多项式 P,得到商 Qn 位余数 R
      • 将余数 R 作为冗余码(称为帧检验序列 FCS)拼接在 M 后面发送。
  • 易混/常考:CRC是一种检错技术,FCS是添加的冗余码名称。CRC只能检错,不能纠错。

3.2 基本数据链路协议

3.2.1 单工停-等协议

  • 无限制的单工协议:理想信道下,发送方总有数据要发,接收方总能处理。但若接收方处理不及,帧可能丢失。
  • 引入流量控制:得到停-等协议:发送方每发送一帧就停止发送,等待接收方发回的确认帧(ACK),收到确认后再发送下一帧。

3.2.2 有噪声信道的单工协议

  • 自动重传请求 ARQ (Automatic Repeat reQuest) 协议:通过以下机制解决帧出错或丢失问题:
    • 校验和:检测错误。
    • 确认帧 (ACK):通知发送方正确接收。
    • 超时重发:发送方超过等待时间未收到确认,则重发该帧。
    • 帧序号:防止接收方收到重复帧。

易混/常考:理解 ARQ 协议解决三种情形(数据帧正确、数据帧出错/丢失、确认帧出错/丢失)的工作流程。

3.2.3 滑动窗口协议

  • 基本思想:允许发送方连续发送多个帧,以提高信道利用率。通过发送窗口(允许发送的帧序列号范围)和接收窗口(允许接收的帧序列号范围)实现流量控制。
  • 后退 N 帧协议 (Go Back N)
    • 当某帧出错或丢失时,发送方会重传该帧及其后续的所有帧
    • 接收窗口宽度为1,即只能按序接收。
    • ACKn 表示序号为 n 以及 n 以前的所有帧都已正确接收。
  • 选择性重传协议 (Selective Repeat)
    • 当某帧出错时,只重传该帧
    • 接收方需缓冲后续正确到达的帧,直到收到正确的重传帧,再按顺序上交网络层。
    • 接收方检测到出错帧时,可发送否定确认 NAK (Negative Acknowledgement)
  • 停-等协议信道利用率计算(例题)
    • 已知帧长度 L,传输速率 C,单向传播时延 t_prop,最大信道利用率 U
    • 公式:U = T_D / (T_D + RTT + T_A),其中 T_D = L/C (发送时延),RTT = 2 * t_prop (往返时延),T_A = L/C (确认帧发送时延)。
    • 例题:L = 1000 BC = 10 kbpst_prop = 200 msT_D = 8000 bits / 10000 bps = 0.8 sU = 0.8 / (0.8 + 0.4 + 0.8) = 0.4 (40%)。

易混/常考:理解窗口的含义及其与流量控制的关系;对比后退 N 帧协议与选择性重传协议的优缺点;信道利用率的计算公式及应用。

3.3 点对点协议 PPP

3.3.1 PPP 协议的特点

  • PPP 协议应满足的需求:简单(首要)、封装成帧、透明性、支持多种网络层协议、支持多种类型链路、差错检测、检测连接状态、最大传送单元 MTU、网络层地址协商、数据压缩协商。
  • PPP 协议的三个组成部分
    1. 一个将 IP 数据报封装到串行链路的方法。
    2. 链路控制协议 LCP (Link Control Protocol):用来建立、配置和测试数据链路连接。
    3. 一套网络控制协议 NCP (Network Control Protocol):用于支持不同的网络层协议(如 IP、IPX 等)。

3.3.2 PPP 协议的帧格式

  • 帧结构:首部(4个字段) + 数据部分 + 尾部(2个字段)。
  • 首部字段
    • 标志字段 F (Flag)0x7E,表示帧的开始或结束。
    • 地址字段 A (Address)0xFF
    • 控制字段 C (Control)0x03
    • 协议字段:指明信息字段的内容。0x0021 为 IP 数据报,0x8021 为网络控制数据,0xC021 为 PPP 链路控制数据,0xC023 为鉴别数据。
  • 尾部字段
    • 帧检验序列 FCS
    • 标志字段 F
  • PPP 帧的透明传输方法
    • 异步传输:使用字节填充法。
    • 同步传输:采用零比特填充法。发送端在数据中出现 5 个连续 “1” 时,立即填充一个 “0”;接收端对收到的数据,删除 5 个连续 “1” 后面的 “0”。

3.3.3 PPP 协议的工作状态

  • PPP 链路初始化过程(状态变迁)
    1. 用户拨号接入 ISP,建立物理连接。
    2. 用户 PC 向 ISP 发送一系列的 LCP 分组(封装成多个 PPP 帧),以便建立 LCP 连接(数据链路层)。
    3. 进行网络层配置,NCP 给新接入的用户 PC 分配一个临时的 IP 地址。
    4. 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放物理层连接。

PPP 协议中的身份认证

  • PPP 的身份认证协议
    1. PAP (Password Authentication Protocol) 验证。
    2. CHAP (Challenge-Handshake Authentication Protocol) 验证。

易混/常考:记忆 PPP 的十大需求;明确 PPP 三个组成部分的功能;掌握各字段的默认值和协议字段的几种取值含义;区分两种传输方式下使用的不同填充方法,并理解零比特填充的具体操作。

补充:点对点协议 PPP

  • PPP协议应满足的需求
    1. 简单:首要要求。
    2. 封装成帧:必须规定特殊的字符作为帧定界符。
    3. 透明性:必须保证数据传输的透明性。
    4. 多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议。
    5. 多种类型链路:能够在多种类型的链路上运行。
    6. 差错检测:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  • 易混/常考:PPP协议是一个面向字节的点对点协议,其透明传输使用字节填充方法。

3.4 局域网

3.4.1 局域网的数据链路层

  • 局域网最主要的特点
    1. 网络为一个单位所拥有。
    2. 地理范围和站点数目均有限。
  • 局域网的主要优点
    1. 具有广播功能,从一个站点可很方便地访问全网。
    2. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    3. 提高了系统的可靠性、可用性和生存性。
  • 局域网拓扑结构:星形网、总线网、环形网。
  • 共享信道带来的问题:若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
  • 媒体共享技术
    • 静态划分信道:频分复用、时分复用、波分复用、码分复用。
    • 动态媒体接入控制(多点接入)
      • 随机接入:所有用户可随机地发送信息,如 CSMA/CD 协议。
      • 受控接入:用户不能随机地发送信息而必须服从一定的控制,如轮询。

3.4.2 CSMA/CD 协议

  • CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 协议
    • 多点接入:说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上。
    • 载波监听:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。(“发送前先听”)
    • 碰撞检测:就是计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。(“边发送边听”)
  • 信号传播时延对载波监听的影响:由于信号在总线上传输需要时间,单纯载波监听不能完全避免碰撞,存在争用期。每一站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
  • 检测到碰撞后的处理
    1. 碰撞强化:发送方检测到碰撞后,立即停止发送,并发送 32 或 48 比特的人为干扰信号 (jamming signal)
    2. 碰撞退避:冲突各方等待一个随机时间后重新发送。
  • 争用期(碰撞窗口)
    • 以太网端到端往返时延 称为争用期
    • 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
    • 10 Mbit/s 以太网的争用期时间 = 51.2 μs
  • 例题(争用期时间计算)
    • 已知:传输率 100 Mb/s,距离 2 km,传播速度 200000 km/s。
    • 计算:单向传输时延 τ = 2 km / 200000 km/s = 10 μs
    • 最短时间:无论冲突点在哪,冲突信号扩散总时间不小于 10 μs
    • 最长时间:甲帧即将到达乙时乙开始发送,甲检测冲突时间 = 20 μs
  • 10 Mbit/s 以太网的最短有效帧长
    • 争用期长度 = 51.2 μs。
    • 在 10 Mbit/s 以太网中,在争用期内可发送 512 bit,即 64 字节
    • 因此,以太网规定最短有效帧长为 64 字节。凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
  • 以太网的最大端到端长度:必须小于 5 km
  • 碰撞后重传时机——截断二进制指数退避算法
    1. 基本退避时间 = 2τ(争用期)。
    2. 从整数集合 [0, 1, ..., (2^k - 1)] 中随机取一个数,记为 r。重传所需时延 = r × 基本退避时间
    3. 参数 k = Min[重传次数, 10]
    4. 当重传达 16 次仍不能成功时,丢弃该帧并向高层报告。
      • 举例
      • 第 1 次冲突重传时:k=1r{0,1} 中任一数。
      • 第 2 次冲突重传时:k=2r{0,1,2,3} 中任一数。
      • 第 3 次冲突重传时:k=3r{0,1,2,3,4,5,6,7} 中任一数。
  • CSMA/CD 协议的优缺点
    • 优点:网络负载较轻时效率高;硬软件实现简单、灵活。
    • 缺点:网络负载较重时,碰撞概率增大,效率较低;数据传输时间无保证,实时性较差。

3.4.3 以太网

  • 以太网两个标准
    • DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。
    • IEEE 802.3:第一个 IEEE 的以太网标准。
    • 两者硬件实现可在同一局域网互操作,差别很小,因此很多人常将 802.3 局域网简称为“以太网”。
  • 以太网数据链路层子层
    • 逻辑链路控制 LLC (Logical Link Control) 子层:与传输媒体无关。
    • 媒体接入控制 MAC (Medium Access Control) 子层:与传输媒体有关。
  • 适配器(网卡)的作用
    1. 进行串行/并行转换。
    2. 对数据进行缓存。
    3. 在计算机操作系统安装设备驱动程序。
    4. 实现以太网协议。
  • 使用集线器的星形拓扑(10BASE-T)
    • 采用双绞线星形拓扑,中心设备为集线器 (hub)
    • 每个站到集线器的距离不超过 100 m
    • 标准:10BASE-T (IEEE 802.3i)
  • 集线器的特点
    1. 用电子器件来模拟实际电缆线的工作,整个系统仍然像一个传统的以太网那样运行。
    2. 使用集线器的以太网在逻辑上仍是一个总线网,各站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
    3. 集线器工作在物理层,它的每个接口仅仅简单地转发比特,不进行碰撞检测。

3.4.4 以太网的信道利用率

  • 参数 a 与利用率
    • 参数 a = 以太网单程端到端时延 τ / 帧的发送时间 T₀
    • 公式:$a = \tau / T_0$。
    • 意义:a -> 0,信道利用率高;a 越大,信道利用率越低。
  • 对以太网参数 a 的要求
    1. 数据率一定时,以太网连线的长度受到限制(否则 τ 的数值会太大)。
    2. 以太网的帧长不能太短(否则 T₀ 的值会太小,使 a 值太大)。
  • 信道利用率的最大值 S_max
    • 公式:$\boxed{S_{\mathrm{max}} = \frac{T_0}{T_0 + \tau} = \frac{1}{1 + a}}$
    • 条件:只有参数 a 远小于 1 才能得到尽可能高的极限信道利用率。
    • 数据:以太网的利用率达到 30% 时就已经处于重载情况。

补充:以太网

3.4.5 以太网的MAC层

MAC地址(硬件地址/物理地址)

  • IEEE 802标准为局域网规定了48位(6字节)全球地址。
  • 地址固化在适配器的ROM中。
  • 地址结构:48位MAC地址(EUI-48) = 24位组织唯一标识符(OUI) + 24位扩展唯一标识符。
  • 地址分配:IEEE注册管理机构RA分配OUI(高24位),厂家自行指派扩展标识符(低24位)。

MAC地址的类型与分类(I/G位与G/L位)

  • 地址字段第1字节的最低位为I/G(Individual/Group)位,用于区分单播和组播。
  • 地址字段第1字节的最低第2位为G/L(Global/Local)位,用于区分全球管理和本地管理。
  • I/G位:0表示单播地址,1表示组播地址。广播地址为全1(48位全为1)。
  • G/L位:0表示全球管理(由IEEE分配的OUI),1表示本地管理(用户可自行分配)。

适配器过滤功能与接收的帧类型

  • 适配器(网卡)通过硬件检查MAC帧的目的地址。
  • 只接收发往本站的帧,否则丢弃。
  • “发往本站的帧”包括:单播(unicast)帧、广播(broadcast)帧、多播(multicast)帧。
  • 以混杂方式(promiscuous mode)工作的适配器会接收所有经过的帧。

以太网V2的MAC帧格式

  • 最常用的MAC帧格式。
  • 数据字段的正式名称是MAC客户数据字段。
  • 帧结构:目的地址(6B) + 源地址(6B) + 类型(2B) + 数据(46~1500B) + FCS(4B)。
  • 关键字段:“类型”字段标识上一层协议。
  • 有效帧长:64 ~ 1518字节(包含首部和尾部)。
  • 最小数据长度:46字节(由帧最小长度64字节 - 首部尾部18字节得出)。
  • 当数据字段小于46字节时,需填充至46字节。

以太网V2 MAC帧的前同步码

  • 由硬件在帧前插入,不属于MAC帧的有效数据部分。
  • 结构:7字节前同步码(用于比特同步) + 1字节帧开始定界符。

无效的MAC帧(丢弃条件)

  • 接收方(或中间设备)根据条件判断并丢弃无效帧。
  • 丢弃条件
    • 数据字段长度与长度字段值不一致。
    • 帧长度不是整数个字节。
    • 用FCS查出差错。
    • 数据字段长度不在46 ~ 1500字节之间(即有效帧长不在64 ~ 1518字节之间)。

IEEE 802.3 MAC帧与以太网V2 MAC帧的区别

  • 主要区别在第二个字段。
  • V2帧:第二个字段为“类型”(2B)。
  • 802.3帧:第二个字段为“长度/类型”(2B)。
  • 当“长度/类型”字段值 > 0x0600时,解释为“类型”;< 0x0600时,解释为“长度”,此时数据字段必须装入LLC子层的LLC帧。
  • 802.3标准文档中的MAC帧格式包括8字节前同步码和帧开始定界符。

易混/常考

  • 考察MAC地址的构成、OUI与扩展标识符的位数和分配方。
  • 根据I/G位和G/L位的值判断地址类型(单播、组播、广播,全球、本地)。
  • 区分正常接收模式和混杂模式;识别三种“发往本站的帧”。
  • 计算帧长度;判断是否需要填充;识别“类型”字段的作用。
  • 明确前同步码的长度和作用,区分其与帧本身。
  • 列举或判断哪些情况会导致帧被丢弃。
  • 比较两种帧格式;根据“长度/类型”字段值判断其含义及对上层数据的要求。

补充:使用广播信道的数据链路层

3.4.1 CSMA/CD 协议

  • 全称:载波监听多点接入/碰撞检测 (Carrier Sense Multiple Access with Collision Detection)。
  • 协议要点
    • 多点接入 (MA):这是总线型网络,许多计算机以多点接入的方式连接在一根总线上。
    • 载波监听 (CS):结点在发送数据之前先检测总线上是否有其他结点正在发送数据。若有,则暂不发送。即 “发送前先听”
    • 碰撞检测 (CD):适配器边发送数据,边检测信道上的信号电压变化。若电压摆动值超过门限值,则认为发生碰撞。即 “边发送边听”
  • 检测到碰撞后的处理
    1. 碰撞强化:发送方检测到碰撞后,立即停止发送,并发送32或48比特的人为干扰信号(jamming signal),以便让所有用户都知道已发生碰撞。
    2. 碰撞退避:等待一段随机时间后再次发送。为避免再次碰撞,使用 截断二进制指数退避算法(truncated binary exponential backoff) 确定等待时间。
  • 易混/常考:理解“边发送边监听”的必要性——由于传播时延,仅靠发送前的监听无法完全避免碰撞。

3.5 扩展的以太网

3.5.1 在物理层扩展以太网

使用集线器在物理层扩展以太网

  • 将多个独立的碰撞域(冲突域)连接成一个更大的碰撞域。
  • 形成一个更大的、共享带宽的以太网。
  • 优点:扩大覆盖范围;允许不同碰撞域的主机通信。
  • 缺点:碰撞域增大,碰撞概率提高,总吞吐量未提高;不能互连不同数据率的以太网。

易混/常考

  • 分析集线器扩展的优缺点;理解碰撞域的概念及其扩展后的变化。

3.5.2 在数据链路层扩展以太网

网桥与以太网交换机

  • 工作在数据链路层。
  • 根据MAC帧目的地址进行转发和过滤。
  • 以太网交换机实质上是多接口网桥。
  • 交换机特点:多接口;接口通常连接单台主机或另一交换机;一般工作在全双工方式;具有并行性,可同时连通多对接口。

以太网交换机的优势与性能

  • 每个端口是一个独立的碰撞域。
  • 用户独享带宽,提高了总容量。
  • 支持即插即用(通过自学习建立交换表)。
  • 使用专用交换结构芯片进行硬件转发,速度快。
  • 带宽对比:集线器下N个用户共享带宽B;交换机下N个用户独享带宽B,总容量达B×N。

以太网交换机的交换方式

  • 存储转发方式:缓存整个帧,处理后转发。
  • 直通(cut-through)方式:接收帧的同时立即根据目的MAC地址转发。
  • 直通方式的缺点:不检查差错,可能转发无效帧。

以太网交换机的自学习功能与交换表

  • 交换表(地址表)通过自学习算法自动建立,存储在CAM中。
  • 支持即插即用,无需人工配置。
  • 自学习和转发帧的步骤
    1. 收到帧,查找交换表中是否有目的MAC地址。
    2. 若有,将帧转发到对应接口;若无,向除源接口外的所有接口广播(泛洪)。
    3. 无论是否转发,都将帧的源MAC地址和进入接口记录到交换表中(如果表中没有)。
    4. 交换表中的每条记录都有有效时间,超时后会删除。

交换机互连带来的回路问题与生成树协议

  • 交换机冗余互连可能形成网络环路,导致帧无限循环。
  • 使用生成树协议(STP)解决。
  • STP要点:通过逻辑上切断某些链路,将网络拓扑变为无环路的树状结构,消除帧“兜圈子”现象。

从总线以太网到星形以太网的演变

  • 早期:无源总线结构,使用CSMA/CD协议,半双工方式。
  • 现在:以交换机为中心的星形结构,无碰撞,不使用CSMA/CD协议,全双工方式。
  • 星形以太网仍采用以太网的帧结构。

易混/常考

  • 明确网桥和交换机工作的层次;理解交换机是多端口网桥。
  • 对比集线器和交换机在带宽、碰撞域、工作方式上的差异。
  • 比较两种交换方式的原理和优缺点。
  • 描述交换机自学习的过程;分析特定通信场景下交换表的内容。
  • 理解为什么需要STP;掌握STP的基本作用(消除环路)。
  • 对比两种拓扑结构下工作方式(CSMA/CD、双工模式)的变化。

3.5.3 虚拟局域网

以太网的主要问题

  • 以太网面临广播风暴、安全问题(无法隔离不同部门通信)、管理困难等问题。
  • 安全问题源于所有设备处于同一个广播域。

广播域的定义

  • 广播域(broadcast domain)指网络的一部分,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收。一个以太网(无论总线形或使用交换机的星形)是一个广播域。交换机之间的冗余链路可能引发广播风暴。

虚拟局域网(VLAN)的定义与优点

  • 定义(IEEE 802.1Q):由一些局域网网段构成的、与物理位置无关的逻辑组,这些网段具有某些共同的需求。每个VLAN的帧有明确的标识符,指明发送帧的计算机属于哪个VLAN。
  • 优点:改善性能(隔离广播域,减少广播风暴影响)、简化管理、降低成本、改善安全性。

划分VLAN的方法

  1. 基于交换机端口:最常用,属于第1层划分。优点:简单。缺点:不允许用户移动。
  2. 基于计算机网卡的MAC地址:属于第2层划分。优点:允许用户移动。缺点:需要输入和管理大量MAC地址,若用户MAC地址改变则需重新配置。
  3. 基于协议类型:根据以太网帧的“类型”字段确定,属于第2层划分。
  4. 基于IP子网地址:根据“类型”字段和IP分组首部的源IP地址字段确定,属于第3层划分。
  5. 基于高层应用或服务:更灵活,但也更复杂。

802.1Q帧格式

  • 在标准以太网MAC帧中插入4字节的VLAN标记,变为802.1Q帧(或带标记的以太网帧)。
  • 帧结构变化:目的地址 (6字节) + 源地址 (6字节) + 802.1Q标记 (4字节) + 长度/类型 (2字节) + 数据 (42~1500字节) + FCS (4字节)。
  • 802.1Q标记字段内容
    • 标记类型:固定为0x8100。
    • TCI (标记控制信息):
      • 用户优先级:3位。
      • 规范格式指示符(CFI):1位。
      • VLAN ID (标识符):12位 (最多允许4096个VLAN)。
  • 关键数值:最大帧长从原来的1518字节变为1522字节。

易混/常考

  • 注意区分“广播域”和“碰撞域(冲突域)”,交换机每个接口属于独立的碰撞域,但所有端口通常属于同一个广播域。
  • VLAN是逻辑组,而非物理组。
  • 各种划分方法对应的OSI层次(第1、2、3层)及其优缺点是常见考点。
  • 802.1Q标记的插入位置及其包含的具体字段(VLAN ID位数)是重要考点。

补充:扩展的以太网

3.5.1 以太网交换机

  • 特点:以太网交换机的每个接口都是一个独立的碰撞域。
  • 自学习功能
    • 交换机工作时,开始其交换表(地址表)是空的。
    • 通过自学习算法,根据收到帧的源MAC地址建立接口与MAC地址的映射关系,并依据目的MAC地址进行转发或过滤(泛洪)。
  • 易混/常考:交换机基于MAC地址表进行转发,能隔离冲突域,但不能隔离广播域(除非使用VLAN)。

3.5.2 虚拟局域网 VLAN

  • 定义 (IEEE 802.1Q):虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。
  • 实现方式:利用以太网交换机可以很方便地实现。
  • 基于交换机端口的方法划分VLAN
    • 最简单、最常用的方法。
    • 属于在数据链路层(第2层)划分虚拟局域网的方法。
    • 缺点:不允许用户移动到不同物理端口。
  • 易混/常考:VLAN可以隔离广播域。802.1Q帧在以太网帧中插入了4字节的VLAN标签(Tag),用于标识VLAN ID。

MAC 地址

  • 结构:48位(6字节)的MAC地址。
    • 前3字节(24位):组织唯一标识符OUI (Organizationally Unique Identifier),由IEEE注册管理机构RA分配给厂家。
    • 后3字节(24位):扩展标识符(extended identifier),由厂家自行指派。
  • 存储:地址被固化在适配器(网卡)的ROM中。
  • 易混/常考:MAC地址是物理地址,用于局域网内寻址。单播地址、广播地址(FF-FF-FF-FF-FF-FF)、多播地址的区分。

3.6 高速以太网

3.6.1 100BASE-T以太网

100BASE-T以太网(快速以太网)特点与标准

  • 特点:在双绞线上传送100 Mbit/s基带信号的星形拓扑以太网。仍使用IEEE 802.3的CSMA/CD协议(全双工时除外)。保持最短帧长不变,但网段最大长度减小到100米。帧间时间间隔从9.6μs改为0.96μs。标准为IEEE 802.3u。
  • 三种物理层标准
    • 100BASE-TX:铜缆(2对UTP 5类线或STP),最大长度100m。
    • 100BASE-T4:铜缆(4对UTP 3类或5类线),最大长度100m。
    • 100BASE-FX:光缆(2根光纤),最大长度2000m。

易混/常考

  • 与传统以太网(10M)在帧长、距离、时间间隔上的对比。

3.6.2 吉比特以太网

吉比特以太网特点与半双工工作方式

  • 特点:允许在1 Gbit/s下以全双工和半双工方式工作。使用IEEE 802.3 MAC帧格式。与10/100BASE-T技术向后兼容。在半双工下使用CSMA/CD协议,全双工下不使用。
  • 半双工方式下的特殊功能(为保持64字节最小帧长和100米网段长度):
    • 载波延伸:将争用时间增大为512字节,短帧用特殊字符填充到512字节。
    • 分组突发:多个短帧连续发送,第一个用载波延伸,后续帧只保留必要帧间间隔,形成突发直到约1500字节。
  • 注意:全双工方式工作的吉比特以太网不使用载波延伸和分组突发。
  • 载波延伸:发送帧长 < 512字节时,需填充至512字节。
  • 分组突发:突发计时器设定为1500字节,争用期为512字节。

吉比特以太网物理层标准

  • 1000BASE-SX:光缆(多模光纤),最大长度550m。
  • 1000BASE-LX:光缆(单模/多模光纤),最大长度5000m。
  • 1000BASE-CX:铜缆(2对STP),最大长度25m。
  • 1000BASE-T:铜缆(4对UTP 5类线),最大长度100m。

易混/常考

  • 全双工与半双工模式下CSMA/CD协议、载波延伸、分组突发的使用关系。
  • 不同标准对应的传输媒体和最大距离。

3.6.3 10吉比特以太网(10GE)和更快的以太网

10GE以太网主要特点

  • 速率万兆比特。帧格式、最小最大帧长与之前以太网相同。只使用光纤。只工作在全双工方式,不使用CSMA/CD协议。

10GE以太网物理层标准

  • 10GBASE-SR:光缆(多模光纤),最大长度300m。
  • 10GBASE-LR:光缆(单模光纤),最大长度10km。
  • 10GBASE-ER:光缆(单模光纤),最大长度40km。
  • 10GBASE-CX4:铜缆(4对双芯同轴电缆),最大长度15m。
  • 10GBASE-T:铜缆(4对6A类UTP双绞线),最大长度100m。

40GE/100GE以太网的物理层标准

  • 40GE
    • 背板传输(>1m):40GBASE-KR4
    • 铜缆传输(>7m):40GBASE-CR4
    • 多模光纤(>=100m):40GBASE-SR4
    • 单模光纤(>=10km):40GBASE-LR4
    • 单模光纤(>=40km):40GBASE-ER
  • 100GE
    • 铜缆传输(>7m):100GBASE-CR10
    • 多模光纤(>=100m):100GBASE-SR10, 100GBASE-SR4
    • 单模光纤(>=10km):100GBASE-LR4
    • 单模光纤(>=40km):100GBASE-ER4

端到端以太网传输的好处

  • 技术成熟;互操作性很好;在广域网中使用时价格便宜;采用统一的以太网帧格式,简化了操作和管理。

易混/常考

  • 与100M、1G以太网在媒体(只用光纤)、工作模式(只用全双工)、CSMA/CD使用(不使用)上的区别。
  • 与100M、1G标准对比,注意10GE已引入铜缆标准。
  • 注意区分40GE和100GE对应的标准名称。

3.6.4 使用以太网进行宽带接入

以太网宽带接入特点与PPPoE

  • 以太网宽带接入特点:提供双向宽带通信;可根据需求灵活升级带宽;可实现端到端以太网传输,无需帧格式转换;不支持用户身份鉴别。
  • PPPoE (PPP over Ethernet):在以太网上运行PPP协议,将PPP帧封装到以太网中传输。现被用于FTTx光纤宽带接入和ADSL宽带上网(用户PC到ADSL调制解调器之间)。

易混/常考

  • PPPoE解决了以太网接入中缺乏用户身份鉴别的问题。

第4章 网络层

4.1 网络层概述

4.1.1 网络层提供的两种服务

  • 争论焦点:网络层应该向运输层提供怎样的服务(面向连接还是无连接);可靠交付应由网络还是端系统负责。
  • 两种服务观点
    1. 面向连接的可靠交付。
    2. 无连接的、尽最大努力交付的数据报服务。
  • 虚电路服务 (Virtual Circuit Service)
    • 模仿电信网络,通信前先建立虚电路(VC)以保证资源。
    • 所有分组沿同一逻辑连接传送。
    • 若配合可靠传输协议,可实现无差错、按序、不丢失、不重复的交付。
    • 过程:连接建立,分配虚电路号;分组按存储转发方式沿同一路由转发。
  • 数据报服务 (Datagram Service) - 互联网的设计思路
    • 网络层设计尽量简单,提供简单灵活、无连接、尽最大努力交付的数据报服务。
    • 发送分组无需建立连接;每个分组独立发送;不提供服务质量承诺(分组可能出错、丢失、重复、失序)。
    • 可靠通信由主机的运输层负责。
    • 分组可能沿不同路径传送。
  • 虚电路服务与数据报服务对比

    | 对比的方面 | 虚电路服务 | 数据报服务 | | :— | :— | :— | | 思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 | | 连接的建立 | 必须有 | 不需要 | | 终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 | | 分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 | | 当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 | | 分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 | | 端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |

    • 易混/常考:是重要考点,需掌握对比表格中的每一项区别。

4.1.2 网络层的两个层面

  • 数据层面 (Data Plane) 与控制层面 (Control Plane)
    • 数据层面:路由器根据本路由器生成的转发表,把收到的分组从查找到的对应接口转发出去。独立工作,采用硬件进行转发,速度快。
    • 控制层面:根据路由选择协议所用的路由算法计算路由,创建出路由表。传统方式中,每个路由器独立运行协议。
    • 易混/常考:数据层面关注单个路由器的“数据转发”,控制层面关注网络范围的“路由计算”。
  • 软件定义网络 SDN (Software Defined Network):一种网络架构,其中数据层面和控制层面是分离的。

补充:网络层的几个重要概念

  • 网络层功能与任务
    • 核心任务:为分组交换网上的不同主机提供通信服务。
      1. 路由选择 (Routing):通过路由算法,在每个路由器上生成用于指导分组转发的转发表
      2. 转发 (Forwarding):路由器根据转发表,将收到的分组从合适的端口转发出去。
    • 互联网网络层:也称为网际层IP层。其设计基于无连接IP协议,传输的数据单元称为IP数据报

4.2 网际协议 IP

4.2.1 虚拟互连网络

  • 网络互连需要解决的问题:不同网络存在多种差异,包括寻址方案、最大分组长度、网络接入机制、超时控制、差错恢复方法等。
  • 实现异构网络互连的方法比较
    • 方法A(都使用相同的网络):不能满足不同用户需求,不适应技术发展。
    • 方法B(使用中间设备):可以满足不同需求,实用。
    • 易混/常考:理解使用中间设备是更优的解决方案。
  • 中间设备的层次

    | 层 | 中间设备 | | :— | :— | | 运输层及以上 | 网关 (gateway) | | 网络层 | 路由器 (router) | | 数据链路层 | 网桥或桥接器 (bridge),交换机 (switch) | | 物理层 | 转发器 (repeater) |

    • 易混/常考:使用转发器或网桥不称为网络互连,它们只是把一个网络扩大了;网络互连特指使用路由器。
  • 虚拟互连网络 (IP 网):通过IP协议,使互连的各具体网络在通信时呈现出一个单一网络的特性,屏蔽了异构细节。在IP网之上使用TCP协议,即构成了互联网 (Internet)。

4.2.2 IP 地址

  • IP 地址的定义与分配:分配给主机或路由器的标识符,IPv4地址为32位。在TCP/IP体系中是基本概念。由ICANN负责分配。
  • IP 地址的表示方法:32位二进制代码,常采用点分十进制记法。将32位分为4组8位二进制数,每组转换为十进制数,用点隔开。例如:二进制 10000000 00001011 00000011 00011111 等价于点分十进制 128.11.3.31
  • IP 地址的二级结构:IP地址由两个字段组成:网络号 (net-id) 和 主机号 (host-id)。格式为 IP 地址 ::= { <网络号>, <主机号> }。IP地址在整个互联网范围内是唯一的。
  • 分类的 IP 地址:根据网络号字段的前几位固定值,将IP地址分为A、B、C、D、E五类。A、B、C类为单播地址,D类为多播地址,E类保留。

    | 类别 | 网络号前缀 (二进制) | 网络号位数 | 主机号位数 | | :— | :— | :— | :— | | A | 0 | 8 | 24 | | B | 10 | 16 | 16 | | C | 110 | 24 | 8 | | D | 1110 | - | - | | E | 1111 | - | - |

    • 各类地址在网络地址空间中的占比大致为:A类50%,B类25%,C类12.5%,D类3%,E类2%。
    • 易混/常考:需要牢记各类地址的前缀、网络号和主机号位数。
  • 一般不使用的特殊 IP 地址

    | 网络号 | 主机号 | 源地址使用 | 目的地址使用 | 代表的意思 | | :— | :— | :— | :— | :— | | 0 | 0 | 可以 | 不可 | 在本网络上的本主机 | | 0 | X | 可以 | 不可 | 在本网络上主机号为X的主机 | | 全1 | 全1 | 不可 | 可以 | 只在本网络上进行广播(各路由器均不转发) | | Y | 全1 | 不可 | 可以 | 对网络号为Y的网络上的所有主机进行广播 | | 127 | 非全0或全1的任何数 | 可以 | 可以 | 用于本地软件环回测试 |

    • 易混/常考:特殊地址的用途是常考内容。
  • 分类 IP 地址的优缺点
    • 优点:管理简单;使用方便;转发分组迅速;划分子网,灵活地使用。
    • 缺点:设计上不合理;大地址块,浪费地址资源;即使采用划分子网的方法,也无法解决IP地址枯竭的问题。
  • 划分子网的动机:分类IP地址无法适应Internet快速发展需要。A、B类地址主机数过多,且一个网络可能由多个小网络构成或使用多块C类地址,需要一种方法对其进行有效寻址。
  • 子网划分与地址掩码(子网掩码)
    • 地址掩码定义:一个32位的二进制数,由一连串1和接着的一连串0组成,目的是让机器从IP地址迅速算出网络地址。1的个数对应网络前缀的长度。
    • 计算方法:网络地址 = (二进制的IP地址) AND (地址掩码)。地址掩码可表示为点分十进制(如255.255.240.0)或CIDR记法(如255.255.240.0/20)。/20地址块对应的地址掩码为11111111 11111111 11110000 00000000
    • 易混/常考:地址掩码与子网掩码是同一概念。常考计算网络地址的例题,如已知IP地址128.14.35.7/20,求网络地址(结果为128.14.32.0)。
  • 默认地址掩码
    • A类地址默认掩码:255.0.0.0
    • B类地址默认掩码:255.255.0.0
    • C类地址默认掩码:255.255.255.0
    • 易混/常考:需记忆不同类别地址的默认掩码。
  • CIDR(无分类域间路由选择)
    • 概念与目的:CIDR消除了传统的A类、B类和C类地址以及划子网的概念,可以更有效地分配IPv4地址空间,但无法解决IP地址枯竭问题。
    • 二级结构与斜线记法:采用二级结构,IP地址由“网络前缀”和“主机号”两部分组成。网络前缀的位数n不固定,可以在0~32之间任意选取。采用斜线记法(Slash Notation),即 a.b.c.d / n,表示IP地址的前n位是网络前缀。格式为 IP地址 ::= {<网络前缀>, <主机号>}。例如,128.14.35.7/20表示前20位是网络前缀。
    • CIDR地址块:把网络前缀都相同的所有连续的IP地址组成一个CIDR地址块。地址块通常用“网络地址/前缀长度”表示。地址块包含的地址总数 = 2^(32-n)。可指派的主机地址数通常是 2^(32-n) - 2(去除全0和全1地址)。
      • 易混/常考:区分一个地址块(如128.14.32.0/20)和该块中的一个具体IP地址(如128.14.35.7/20)。“128.14.32.0/20”既是一个地址块的标识,也是该块中主机号为全0的地址。“128.14.32.0”单独出现时,无法确定其网络地址(因缺少前缀长度)。
    • 常用的CIDR子网掩码及对应地址数

      | 网络前缀长度 | 点分十进制掩码 | 包含地址数 | | :— | :— | :— | | /16 | 255.255.0.0 | 64K (65536) | | /20 | 255.255.240.0 | 4K (4096) | | /24 | 255.255.255.0 | 256 | | /25 | 255.255.255.128 | 128 |

      • 易混/常考:根据前缀长度快速计算地址块大小,或反之。
    • 构造超网与特殊CIDR地址块:每一个CIDR地址块的地址数都是2的整数次幂。除最后几行外,一个CIDR地址块通常包含多个C类网络,因此CIDR也称为“构造超网”。有三个特殊地址块:/32(单个地址,用于主机路由)、/31(两个地址,用于点对点链路)、/0(默认路由)。
      • /32地址掩码:255.255.255.255
      • /31地址掩码:255.255.255.254
      • /0地址掩码:0.0.0.0
  • 路由聚合(超网)
    • 概念与作用:将多个小的CIDR地址块聚合成一个大的CIDR地址块,使得在路由表中可以用一个项目(聚合后的地址块)来表示多个前缀更短的地址块,从而大大减小路由表规模,提高路由效率。
    • 举例:ISP拥有地址块206.0.64.0/18,大学从中分配到206.0.68.0/22,各系再从大学的地址块中划分更小的子块(如/23/24/25)。
      • 易混/常考:考察根据二进制前缀确定地址块归属的能力。网络前缀越短,地址块包含的地址数越多。
  • IP 地址的特点
    1. 每个IP地址都由网络前缀和主机号两部分组成。
    2. IP地址是标志一台主机(或路由器)和一条链路的接口。
    3. 用转发器或交换机连接起来的若干个局域网仍为一个网络(具有相同网络前缀)。
    4. 在IP层,所有分配到网络前缀的网络都是平等的。
      • 易混/常考:理解“一个网络”在IP层的定义是“具有相同网络前缀的主机集合”。路由器不同接口的IP地址必须有不同的网络前缀。
  • 多归属主机与路由器接口IP地址:当一台主机同时连接到两个网络时,该主机必须具有两个不同网络号的IP地址,称为多归属主机。一个路由器至少连接到两个网络,因此至少有两个不同网络前缀的IP地址。
    • 易混/常考:区分主机和路由器在网络连接数量上的最低要求。
  • 特殊网络与直接相连路由器的IP地址:同一个局域网上的主机或路由器的IP地址中的网络前缀必须相同。两个路由器直接相连的接口,可以指明IP地址也可以不指明。如指明,这段连线就构成一种特殊的只包含一段线路的“网络”,通常使用/31地址块(主机号可为0或1)。
    • 易混/常考:理解点对点链路使用/31地址块以节省IP地址的原理。

补充:IP协议

4.2.3 IP地址与MAC地址

  • IP地址与MAC地址的基本定义与区别
    • IP地址:虚拟地址、软件地址、逻辑地址。用于网络层及以上,放在IP数据报首部。
    • MAC地址:固化在网卡ROM中,是硬件地址、物理地址。用于数据链路层,放在MAC帧首部。
    • 总结:两者在不同层次使用。
    • 易混/常考:IP地址和MAC地址的本质、所属层次、存放位置是基本区分点。
  • IP地址与MAC地址在不同网络区间通信中的变化
    • 在数据从源主机传输到目的主机的过程中,IP数据报首部的源IP地址和目的IP地址始终不变
    • MAC帧首部的源MAC地址和目的MAC地址在每一跳都会变化,以适配当前链路的物理地址。
    • 示例:H1 -> R1 -> R2 -> H2 路径中地址变化

      阶段 源IP地址 目的IP地址 源MAC地址 目的MAC地址
      H1到R1 IP1 IP2 MAC1 MAC3
      R1到R2 IP1 IP2 MAC4 MAC5
      R2到H2 IP1 IP2 MAC6 MAC2
    • 易混/常考:理解在转发过程中,IP地址是端到端的逻辑标识,MAC地址是逐跳的物理标识。MAC地址的变化是为了在不同物理网络中交付数据帧。
  • IP层抽象网络的作用
    • IP层抽象屏蔽了底层物理网络MAC地址体系的复杂细节。在网络层使用统一的IP地址进行通信,使得主机间的通信像在同一网络上一样简单。
    • 易混/常考:理解网络分层设计带来的好处。

4.2.4 地址解析协议 ARP

  • ARP协议的作用
    • ARP(地址解析协议)的作用是实现IP地址到MAC地址的映射。已知一台主机或路由器的IP地址,ARP能找出其对应的MAC地址。
    • 易混/常考:ARP解决的是网络层地址(IP)到数据链路层地址(MAC)的解析问题。
  • ARP高速缓存
    • ARP高速缓存(ARP cache)是一个存储IP地址到MAC地址映射的表。映射项包含IP地址、MAC地址、生存时间(Age)和类型(如Dynamic)。
    • 它动态更新,超过生存时间的条目会被删除,以适应网络适配器(如更换网卡)的变化。
    • 高速缓存的作用是减少ARP广播的通信量。
    • ARP缓存表示例

      IP地址 MAC地址 生存时间(Age) 类型
      10.4.9.2 0030.7131.abfc 00:08:55 Dynamic
      10.4.9.1 0000.0c07.ac24 00:02:55 Dynamic
      10.4.9.99 0007.ebea.44d0 00:06:12 Dynamic
    • 易混/常考:ARP缓存的作用和更新机制。
  • ARP的工作过程
    1. 当主机A要向本局域网上的主机B发送IP数据报时,它首先检查ARP高速缓存。
    2. 如果没有B的映射,A会广播发送一个ARP请求分组。该分组包含发送方(A)的硬件地址和IP地址,以及目标方(B)的IP地址(目标硬件地址填0)。
    3. 局域网上所有主机都会收到该请求,但只有IP地址与请求中目标IP地址匹配的主机B会单播回复一个ARP响应分组,其中包含自己的硬件地址。
    4. A收到响应后,将B的IP-MAC映射存入自己的ARP缓存,并进行后续通信。
      • 关键点:ARP请求不会被路由器转发。
      • ARP分组字段
        • 请求分组:发送方硬件地址、发送方IP地址、目标方硬件地址(未知时填0)、目标方IP地址。
        • 响应分组:发送方硬件地址(此时为B)、发送方IP地址(B)、目标方硬件地址(A)、目标方IP地址(A)。
      • 封装:ARP分组封装在以太网帧中传输。
      • 易混/常考:ARP请求是广播,响应是单播;请求和响应分组包含的字段;ARP请求在局域网内传播,不跨越路由器。
  • 跨网段通信中的ARP
    • ARP只能解析同一个局域网上的主机或路由器的IP地址和MAC地址。当两台主机不在同一个局域网上时,源主机需要使用ARP来解析出通往目标网络的路由器接口的MAC地址,然后将IP数据报发送给该路由器,由路由器负责后续转发。
    • 易混/常考:理解ARP的适用范围和在路由过程中的角色。
  • 使用ARP的四种典型情况 根据发送方(主机或路由器)和目标位置(本网络或另一个网络),ARP有以下四种应用:
    1. 发送方是主机,要把IP数据报发送到本网络上的另一个主机。用ARP找到目的主机的硬件地址。
    2. 发送方是主机,要把IP数据报发送到另一个网络上的一个主机。用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由路由器完成。
    3. 发送方是路由器,要把IP数据报转发到本网络上的一个主机。用ARP找到目的主机的硬件地址。
    4. 发送方是路由器,要把IP数据报转发到另一个网络上的一个主机。用ARP找到本网络上另一个路由器的硬件地址,剩下的工作由该路由器完成。
      • 易混/常考:这是ARP功能和应用场景的核心分类,是重要考点。
  • 使用两种地址(IP和MAC)的原因
    • 因为不同的物理网络使用不同的、复杂的MAC地址体系,在异构网络间进行MAC地址转换和寻址极其困难。IP编址解决了这个问题,使得连接到互联网的主机只需拥有唯一的IP地址,它们之间的通信就像在同一网络上一样方便。尽管通信过程中可能需要多次调用ARP来获取MAC地址,但这个过程由软件自动完成,对用户透明。
    • 易混/常考:理解IP地址作为逻辑地址在屏蔽底层网络差异方面的核心价值。

4.2.5 IP数据报的格式

  • IP数据报的组成与首部结构
    • IP数据报由首部数据两部分组成。
    • 首部分为固定部分(20字节,所有IP数据报必需)和可变部分(可选字段和填充)。
    • 发送时高位在前(发送在前)。
  • IP数据报首部固定部分关键字段
    1. 版本(4位):标识IP协议版本,如IPv4的值为4。
    2. 首部长度(4位):单位为4字节。最大值15,因此IP首部最大长度为60字节。
    3. 区分服务(8位):用于区分服务(DiffServ),一般不使用。
    4. 总长度(16位):单位为字节,指首部和数据之和,最大长度为65535字节。总长度必须不超过MTU。
    5. 标识(16位):用于在数据报分片时标识属于同一个原始数据报的各分片。
    6. 标志(3位):目前只有前两位有意义。
      • MF (More Fragment):最低位。MF=1表示后面还有分片,MF=0表示是最后一个分片。
      • DF (Don‘t Fragment):中间位。只有当DF=0时才允许分片。
    7. 片偏移(13位):指出分片在原数据报中的相对位置,以8字节为偏移单位。
    8. 生存时间 (TTL)(8位):指明数据报在网络中可通过的路由器的最大数量。
    9. 协议(8位):指明数据部分所使用的协议,以便上交给相应处理进程。
      • 协议字段常用值

        协议名 ICMP IGMP IP TCP EGP IGP UDP IPv6 ESP AH ICMP-IPv6 OSPF
        协议字段值 1 2 4 6 8 9 17 41 50 51 58 89
    10. 首部检验和(16位):只检验数据报首部,不检验数据部分。采用简单计算方法,非CRC。
    11. 源地址和目的地址(各32位)。
      • 易混/常考:常考字段的位数、单位(如首部长度以4字节为单位,片偏移以8字节为单位)、关键最大值(如总长度65535字节)。区分服务字段“一般情况不使用”是一个条件。
  • IP数据报首部可变部分
    • IP首部的可变部分是一个选项字段,长度可变(1-40字节),用于支持排错、测量及安全等。它增加了IP数据报的功能,但也增加了路由器处理开销,且实际很少使用。
  • 【例4-1】IP数据报分片
    • 通过具体数值演示IP数据报在MTU限制下如何进行分片,以及分片后相关首部字段(总长度、标识、MF、DF、片偏移)的变化。
    • 原始数据报:总长度=3820字节,标识=12345,MF=0,DF=0,片偏移=0。
    • 分片条件:DF=0,允许分片。
    • 分片结果
      • 数据报片1:总长度=1420,MF=1,片偏移=0。
      • 数据报片2:总长度=1420,MF=1,片偏移=175 (1400字节/8字节)。
      • 数据报片3:总长度=1020,MF=0,片偏移=350 (2800字节/8字节)。
    • 关键点:所有分片的标识字段相同,均为12345。
    • 易混/常考:片偏移的计算单位是8字节,计算时需将字节数除以8。MF和DF标志位的含义是常考点。

4.3 IP层转发与 CIDR

4.3.1 基于终点的转发

最长前缀匹配

  • 基于终点的转发
    • 分组在互联网中逐跳转发。路由器基于分组首部中的目的地址,通过查找转发表来决定下一跳。为压缩转发表,表中存储的是(目的网络地址,下一跳地址),查找过程是逐行进行前缀匹配。
    • 转发过程
      1. 源主机判断目的地址是否在本网络。判断方法:(目的地址 AND 本网络掩码) ?= 本网络地址
      2. 若不在,将分组发送给默认网关(路由器)。
      3. 路由器收到分组,遍历转发表,逐行进行:目的地址 AND 表项子网掩码,检查结果是否等于表项中的目的网络地址。
      4. 找到匹配项,则按对应的下一跳接口转发。
    • 示例:主机H1发送目的地址为128.1.2.132的分组。经过AND运算,发现不在本地网络(128.1.2.192/26),故交给路由器R1。R1查找转发表,逐行匹配,最终匹配到第2行(128.1.2.128/25),通过接口1进行直接交付。
  • 最长前缀匹配
    • 使用CIDR时,转发表中可能有多个表项与目的地址匹配。此时,选择前缀最长的那个作为匹配项。因为网络前缀越长,地址块越小,路由越具体。
    • 原则:在多个匹配的前缀中,选择长度最长的那一个。
    • 应用:可将前缀最长的路由表项排在转发表的前面,以提高查找效率。
    • 示例:路由器R1转发目的地址为128.1.2.196的分组。查找转发表时,第2行(128.1.2.128/25)和第3行(128.1.2.192/26)均匹配,但第3行的前缀长度(/26)比第2行(/25)更长,因此选择第3行进行转发。
    • 易混/常考:最长前缀匹配是CIDR和现代路由器转发的核心算法,是必考知识点。在实际考题中,常给出一个转发表和一个目的IP,要求选择正确的下一跳。

子网划分与CIDR(计算题)

  • 子网划分计算
    • 根据给定的IP地址空间和子网掩码,计算最大子网个数和每个子网内最大可分配主机地址个数。
    • 例1:IP地址空间192.168.5.0/24,子网掩码255.255.255.248。
      1. 掩码255.255.255.248对应/29
      2. 最大子网个数 = 2^(新子网位数) = 2^(29-24) = 2^5 = 32。
      3. 每个子网最大可分配地址个数 = 2^(主机位数) - 2 = 2^(32-29) - 2 = 8 - 2 = 6。
    • 例2:子网192.168.4.0/30。
      1. /30掩码下,每个子网只有4个地址:网络地址、两个可用主机地址、广播地址。
      2. 目的地址192.168.4.3是子网192.168.4.0/30的广播地址。
      3. 能接收该广播地址分组的主机:只有作为广播目的地址的主机(即代表该子网的广播地址)会接收,因此最大主机数是1。
    • 易混/常考:务必区分子网总数和每个子网可用主机数(需减去网络地址和广播地址)。/30子网常用于点对点链路,只有2个可用地址。

4.3.2 最长前缀匹配

  • 原则:当分组在转发表中有多条路由匹配时,选择网络前缀最长的那条路由进行转发。因为网络前缀越长,其地址块就越小,路由就越具体。
  • 转发表中的特殊路由
    • 主机路由:对特定目的主机IP地址的路由,网络前缀为 a.b.c.d/32,在转发表中优先级最高
    • 默认路由:处理所有未匹配到其他路由的分组,用特殊前缀 0.0.0.0/0 表示。
  • 计算示例:对于目的IP地址(如128.1.2.196),需判断其是否落在不同前缀(如128.1.2.192/26128.1.2.128/25)的地址范围内,并选择前缀长度更长(/26)的匹配路由。
  • 易混/常考:在选择题中给出多个网络前缀和目的IP,考察判断哪个是正确的转发接口。

4.3.3 使用二叉线索查找转发表

  • 二叉线索:一种特殊的树结构,用于快速在转发表中查找匹配的路由。它基于网络前缀的唯一前缀构造,从根节点自顶向下,每一层对应IP地址中的一位(左0右1)。
  • 查找算法步骤
    1. 根据目的IP地址的位序列在二叉线索中查找,直到一个叶节点
    2. 将目的IP地址与该叶节点存储的子网掩码进行按位AND运算
    3. 若运算结果与叶节点的网络前缀匹配,则按该叶节点的下一跳转发;否则,丢弃分组并检查是否存在默认路由
  • 易混/常考:理解二叉线索结构(如根据唯一前缀绘制二叉线索)及查找算法的具体步骤(特别是掩码AND运算)。

4.4 网际控制报文协议ICMP

4.4.1 ICMP报文的种类

  • 协议概述:ICMP (Internet Control Message Protocol) 是IP层的协议,用于主机或路由器报告差错和提供异常情况报告。
  • 报文分类
    1. 差错报告报文
      • 类型3:终点不可达。
      • 类型11:时间超过(例如TTL为0)。
      • 类型12:参数问题。
      • 类型5:改变路由(重定向)。
      • 源点抑制(因拥塞丢弃)。
    2. 询问报文
      • 类型8/0:回送请求或回答(用于测试可达性)。
      • 类型13/14:时间戳请求或回答。
  • 不应发送ICMP差错报告报文的四种情况
    1. 对ICMP差错报告报文本身。
    2. 对第一个分片报文的所有后续分片。
    3. 对多播地址的数据报。
    4. 对特殊地址(如127.0.0.00.0.0.0)的数据报。
  • 询问报文详解
    • 回送请求/回答:测试目的站是否可达及状态。
    • 时间戳请求/回答:用于请主机或路由器回答当前时间,时间戳回答报文中有一个32位字段,表示从1900年1月1日起至今的秒数,可用于时钟同步和时间测量。
  • 易混/常考:记忆ICMP报文类型值与具体类型的对应关系;理解各种差错报文产生的条件及“不应发送”的例外情况。

4.4.2 ICMP的应用举例

  • PING:利用ICMP回送请求与回送回答报文测试主机间连通性。是应用层直接使用网络层ICMP的例子(不经过运输层)。
  • Traceroute:利用IP数据报中的TTL字段、ICMP时间超过差错报告报文和终点不可达差错报告报文来跟踪从源点到终点的路径。通过逐步增加TTL值,根据返回的“时间超过”报文获得路径上各路由器信息。
  • 易混/常考:理解PING和Traceroute分别使用了哪些ICMP报文类型及工作原理。

4.5 IPv6

4.5.1 IPv6 的基本首部

  • IPv6 提出的背景与核心目标
    • IPv4 地址耗尽是根本问题。2011年2月,IANA 的 IPv4 32位地址已经耗尽,我国在2014-2015年也停止向新用户分配 IPv4 地址。
    • 根本解决措施是采用具有更大地址空间的 IPv6。
  • IPv6 相较于 IPv4 的主要变化
    1. 更大的地址空间(128位)。
    2. 扩展的地址层次结构。
    3. 灵活的首部格式(有可选的扩展首部)。
    4. 改进的选项(选项放在有效载荷中)。
    5. 允许协议继续扩充。
    6. 支持即插即用(自动配置,不使用 DHCP)。
    7. 支持资源的预分配(支持实时视像等应用)。
    8. IPv6 首部改为 8 字节对齐。
      • 易混/常考:与 IPv4 对比,这些变化是常见考点。
  • IPv6 数据报的构成
    • 基本首部(base header)和有效载荷(payload,也称净负荷)两大部分组成。
    • 有效载荷允许有零个或多个扩展首部(extension header),再后面是数据部分。
    • 基本首部固定为 40字节,包含 8 个字段
  • IPv6 基本首部结构与 IPv4 的主要更改
    • 取消了 IPv4 的首部长度、服务类型、总长度、协议、检验和、选项字段。
    • 将 TTL 字段改称为跳数限制字段。
    • 将协议字段改用下一个首部字段。
    • 改用有效载荷长度字段。
    • IPv6 基本首部的 8 个字段
      1. 版本(4位):值为 6。
      2. 通信量类(8位)。
      3. 流标号(20位)。
      4. 有效载荷长度(16位):指明 IPv6 数据报除基本首部以外的字节数。
      5. 下一个首部(8位)。
      6. 跳数限制(8位):类似 IPv4 的 TTL。
      7. 源地址(128位)。
      8. 目的地址(128位)。
    • 易混/常考:与 IPv4 首部对比是经典考法,需清晰掌握哪些字段被取消、替换或重命名。
  • IPv6 的六种扩展首部
    1. 逐跳选项
    2. 路由选择
    3. 分片
    4. 鉴别
    5. 封装安全有效载荷(ESP)
    6. 目的站选项
      • 功能:逐跳选项需逐跳处理,目的站选项仅由目的节点处理。
      • 易混/常考:每种扩展首部的名称和用途是考点。

4.5.2 IPv6 的地址

  • IPv6 地址的三种基本类型
    1. 单播(unicast):点对点通信。
    2. 多播(multicast):一点对多点。
    3. 任播(anycast):IPv6 新增类型,终点是一组计算机,数据报只交付其中距离最近的一个。
      • 易混/常考:任播是 IPv6 特有,其定义是重点。
  • 节点、接口与地址的关系
    • IPv6 将主机和路由器均称为节点
    • 地址分配给节点上的接口
    • 一个节点可以有多个接口和多个单播地址,任何一个地址都可作为到达该节点的目的地址。
  • 冒号十六进制记法与地址表示
    • 128 位地址用冒号十六进制记法(colon hex)表示。
    • 地址空间大于 $3.4 \times 10^{38}$。
    • 示例68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
  • 零压缩规则
    • 一串连续的零可以用一对冒号(::)取代。
    • 规则:在任一地址中,只能使用一次零压缩。
    • 示例FF05:0:0:0:0:0:0:B3 可压缩为 FF05::B3
    • 特殊地址:环回地址 ::1,未指明地址 ::
    • 易混/常考:“只能使用一次”是易错点。
  • 点分十进制记法后缀与 CIDR 表示法
    • 在 IPv4 向 IPv6 过渡阶段,地址后部可用点分十进制表示。
    • CIDR 的斜线表示法仍然可用,但取消了子网掩码
    • 点分十进制后缀示例::128.10.2.1
    • CIDR 表示法示例12AB:0:0:CD30::/60
  • IPv6 特殊地址类型
    1. 未指明地址::/128
    2. 环回地址::1/128
    3. 多播地址:前缀 FF00::/8
    4. 本地链路单播地址:前缀 FE80::/10,仅用于同一链路,未连接互联网。
    5. 全球单播地址:除上述四种外的所有其他地址。
      • 易混/常考:各类地址的二进制前缀和 IPv6 记法是关键考点。
  • IPv6 单播地址的划分结构
    • 单播地址由子网前缀接口标识符构成。
    • 其中子网前缀又可划分为全球路由选择前缀子网标识符
    • 结构[全球路由选择前缀 (n位)] [子网标识符 (m位)] [接口标识符 (128-n-m位)]

4.5.3 从 IPv4 向 IPv6 过渡

  • 过渡策略
    • 采用逐步演进、向后兼容的方法。
    • 两种主要过渡策略:
      1. 使用双协议栈:主机或路由器同时运行 IPv4 和 IPv6 协议栈。
      2. 使用隧道技术:将 IPv6 数据报封装在 IPv4 数据报中传输。
    • 易混/常考:区分双协议栈和隧道技术的工作原理是难点。

4.5.4 ICMPv6

  • ICMPv6 的定义与功能合并
    • ICMPv6 是 IPv6 网络层使用的 ICMP 新版本。
    • 合并了 IPv4 中 ARPIGMP 协议的功能。
    • 易混/常考:IPv4 网络层包括 IP、ICMP、ARP、IGMP;IPv6 网络层包括 IPv6、ICMPv6(含 ARP 和 IGMP 功能),此对比是重要考点。
  • ICMPv6 包含的子协议
    1. ND (Neighbor-Discovery):邻居发现,替代了 ARP 的功能。
    2. MLD (Multicast Listener Discovery):组播侦听发现,替代了 IGMP 的功能。

4.6 路由选择协议

4.6.1 有关路由选择协议的几个基本概念

  • 理想路由算法的特点:不存在绝对的最佳路由算法,“最佳”是相对于特定要求的合理选择。路由选择需要所有节点协调工作,且网络环境动态变化。
  • 路由选择策略分类
    • 静态路由选择策略:非自适应,简单开销小。
    • 动态路由选择策略:自适应,能适应变化但复杂开销大。
  • 分层次的路由选择协议:互联网采用分层次的路由选择协议。
    • 自治系统 (AS):在单一技术管理下的许多网络、IP地址以及路由器,使用统一的内部路由选择协议和度量,并向外部表现出单一的路由选择策略。
    • 路由选择层次
      • 域间路由选择:AS之间的路由选择,使用外部网关协议EGP(如BGP-4)。
      • 域内路由选择:AS内部的路由选择,使用内部网关协议IGP(如RIP, OSPF)。
  • 易混/常考:对比静态路由和动态路由的优缺点;区分IGP和EGP的概念、作用范围及典型协议。

4.6.2 内部网关协议 RIP

  • 基本概念:RIP (Routing Information Protocol) 是一种分布式的、基于距离向量的路由选择协议,最大优点是简单。
  • “距离”定义与限制
    • 度量:使用“距离”或“跳数”作为路由度量。到直接连接的网络距离为1;到非直接连接的网络,距离等于所经过的路由器数量加1。
    • 限制:一条路径最多包含15个路由器。距离的最大值为16,表示不可达。RIP只选择距离最短的路由。
  • 协议特点
    1. 仅和相邻路由器交换信息。
    2. 交换的信息是当前本路由器所知道的全部信息(即完整的路由表)。
    3. 按固定时间间隔(30秒)交换路由信息;网络拓扑变化时也会及时通告。
  • 路由表建立与收敛
    • 路由器启动时路由表为空,先获得直连网络信息(距离1)。
    • 经过与相邻路由器的若干次信息交换后,所有路由器最终都知道到本AS内任何网络的最短距离和下一跳地址。
    • 此过程称为“收敛”。
  • 路由表更新规则(距离向量算法)
    1. 对于相邻路由器X发来的每个项目(目的网络N, 距离d, 下一跳),将“下一跳”改为X,距离d加1。
    2. 对修改后的每个项目:
      • 若本地路由表没有网络N,则添加该项目。
      • 若本地路由表有网络N,且下一跳就是X,则用该项目替换旧项目。
      • 若本地路由表有网络N,但下一跳不是X,且收到的距离小于本地记录的距离,则用该项目更新
      • 否则,什么都不做
    3. 3分钟未收到相邻路由器的更新,则将其标记为不可达(距离置为16)。
  • RIP2报文格式
    • 使用UDP传送,目的端口为520
    • 报文由首部和路由部分组成,路由部分包含若干路由信息(每个20字节)。
    • 关键字段:地址族标识符、路由标记、目的网络地址、子网掩码、下一跳路由器地址、距离。
    • 一个RIP报文最多可包含25个路由信息(最大长度504字节),超过需使用多个报文。
  • “坏消息传播得慢”问题
    • 现象:好消息传播得快,坏消息传播得慢。
    • 机制:当网络出现故障时,由于路由器可能基于过期的邻居信息进行更新,导致错误路由信息在网络中反复传递,直至距离值逐渐增大到16(不可达),收敛时间很长。
  • 优缺点
    • 优点:实现简单,开销较小。
    • 缺点
      1. 网络规模有限(最大距离15, 16不可达)。
      2. 交换的路由信息为完整路由表,开销较大。
      3. 坏消息传播得慢,收敛时间过长。
  • 易混/常考
    • 距离16的特殊含义。
    • 距离向量算法的具体步骤及不同情况下的更新决策。
    • RIP协议的三个特点(特别是交换“全部信息”)。
    • “慢收敛”的机制和过程。
    • RIP的优缺点及其与OSPF等协议的对比。
    • 典型例题:若收到<net1, 16>,则表示不可达,不能经过该邻居到达net1。

补充:路由选择协议

4.6.3 内部网关协议 OSPF

1. OSPF协议概述

  • OSPF (Open Shortest Path First) 是为克服RIP的缺点在1989年开发出的内部网关协议(IGP)。
  • 原理简单,但实现复杂。
  • 使用Dijkstra提出的最短路径算法(SPF算法)。
  • 采用分布式的链路状态协议(link state protocol)。
  • 当前主要使用OSPFv2版本。

易混/常考:常与RIP协议对比,突出OSPF在收敛速度、规模适应性、支持CIDR等方面的优势。

2. OSPF的三个主要特点

  • 采用洪泛法(flooding),向本自治系统中所有路由器发送信息。
  • 发送的信息是与本路由器相邻的所有路由器的链路状态(LinkState),这只是路由器所知道的部分信息
    • 链路状态(LinkState)定义:说明本路由器都和哪些路由器相邻,以及该链路的度量(metric)
  • 链路状态发生变化每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。

易混/常考:“部分信息”指每台路由器只广播自己邻居的信息,最终通过洪泛使全网收敛。

3. 链路状态数据库(LSDB)

  • 每个路由器通过洪泛法最终都能建立全网的拓扑结构图,即链路状态数据库(LSDB)
  • 全网范围内的LSDB是一致的,这称为链路状态数据库的同步
  • 每个路由器使用LSDB中的数据,通过Dijkstra的最短路径路由算法构造自己的路由表。
  • OSPF的更新过程收敛速度快。

易混/常考:理解“同步”的含义是不同路由器的LSDB内容一致。同步的路由器称为“完全邻接”。

4. OSPF的区域划分

  • OSPF将自治系统划分为两种不同的区域(area)
  • 主干区域(backbone area) 标识符为0.0.0.0,作用是用来连通其他下层区域。
  • 分层次划分区域的好处:使每一个区域内部交换路由信息的通信量大大减小,因而使OSPF协议能够用于规模很大的自治系统中。

易混/常考:主干区域是特殊区域,用于连接其他区域。

5. OSPF中的路由器类型

  • 区域边界路由器ABR (Area Border Router):连接多个区域的路由器。
  • 主干路由器BR (Backbone Router):位于主干区域的路由器。
  • 自治系统边界路由器ASBR (AS Border Router):连接外部自治系统的路由器。

易混/常考:区分ABR和ASBR的作用,ABR连接OSPF区域,ASBR连接外部网络。

6. OSPF划分区域的优缺点

  • 优点
    1. 减少了整个网络上的通信量。
    2. 减少了需要维护的状态数量。
  • 缺点
    1. 交换信息的种类增多了。
    2. 使OSPF协议更加复杂了。

易混/常考:优点是权衡的结果,通过增加协议复杂性换取网络扩展性和通信量减少。

7. OSPF的其他特点

  • 对于不同类型的业务可计算出不同的路由。
  • 可实现多路径间的负载均衡(load balancing)
  • 所有在OSPF路由器之间交换的分组都具有鉴别的功能。
  • 支持可变长度的子网划分和无分类编址CIDR。
  • 使用32位的序号,序号越大状态就越新。全部序号空间在600年内不会产生重复号。

易混/常考:序号机制用于确保LSA(链路状态通告)的新鲜度。

8. OSPF的五种报文类型

  1. 问候(Hello)报文:发现及维持邻居关系,选举DR,BDR。
  2. 数据库描述(Database Description)报文:本地LSDB的摘要。
  3. 链路状态请求(Link State Request)报文:向对端请求本端没有或对端的更新的LSA。
  4. 链路状态更新(Link State Update)报文:向对方发送其需要的LSA。
  5. 链路状态确认(Link State Acknowledgment)报文:收到LSU之后,进行确认。

易混/常考:掌握五种报文的功能和交互顺序,是理解OSPF工作过程的基础。

9. OSPF的分组封装

  • OSPF分组直接用IP数据报传送,协议字段值为89

易混/常考:与RIP(使用UDP)不同,OSPF直接封装在IP层。

10. OSPF工作过程

  • 确定邻站可达:相邻路由器每隔10秒钟要交换一次问候分组。若有40秒钟没有收到某个相邻路由器发来的问候分组,则可认为该相邻路由器是不可达的。
  • 同步链路状态数据库:同步指不同路由器的LSDB的内容一样。两个同步的路由器叫做完全邻接(fully adjacent)路由器。不是完全邻接的路由器:它们虽然在物理上是相邻的,但其LSDB并没有达到一致。
  • 更新链路状态:只要链路状态发生变化,路由器就使用链路状态更新分组,采用可靠的洪泛法向全网更新链路状态。为确保LSDB与全网的状态保持一致,OSPF还规定:每隔一段时间(如30分钟),要刷新一次数据库中的链路状态。

易混/常考:“完全邻接”与“邻居”状态的区别是关键考点。

11. 指定的路由器DR (Designated Router)

  • 在多点接入的局域网(如以太网)中采用了指定的路由器DR的方法。
  • 作用:使广播的信息量大大减少。
  • 机制:DR代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息。

易混/常考:DR的选举机制及其在减少网络流量中的作用。

12. LSA(链路状态通告)的分类

  1. Router-LSA(第1类):由每个路由器生成,描述了路由器的链路状态和花费,传递到整个区域。
  2. Network-LSA(第2类):由DR生成,描述了本网段的链路状态,传递到整个区域。
  3. Net-Summary-LSA(第3类):由ABR生成,描述了到区域内某一网段的路由,传递到相关区域。
  4. Asbr-Summary-LSA(第4类):由ABR生成,描述了到ASBR的路由,传递到相关区域。
  5. AS-External-LSA(第5类):由ASBR生成,描述了到AS外部的路由,传递到整个AS(STUB区域除外)。

易混/常考:区分不同LSA的生成者(路由器、DR、ABR、ASBR)和传播范围(本区域、相关区域、整个AS)。

13. OSPF中的网络类型

OSPF定义的网络类型包括:

  1. Broadcast(广播型,如以太网)
  2. NBMA(非广播多路访问,如ATM、X.25)
  3. Point-to-Multipoint(点到多点)
  4. Point-to-Point(点到点,如PPP链路)

易混/常考:不同的网络类型影响邻居关系的建立和DR/BDR的选举。

14. OSPF的邻居状态机与SPF计算

  • OSPF的邻居状态机:这是OSPF协议实现中更深入的状态转换机制,用于描述邻居关系的建立过程。
  • SPF计算:即最短路径优先计算,是OSPF路由计算的核心算法。

易混/常考:邻居状态机(如Down, Init, 2-Way, ExStart, Exchange, Loading, Full)是理解OSPF建立邻居过程的难点。

4.6.4 BGP协议

1. BGP协议概述

  • BGP是不同自治系统(AS)的路由器之间交换路由信息的协议。
  • 较新版本是2006年1月发表的BGP-4(RFC 4271~4278),可简写为BGP。

易混/常考:易与IGP(内部网关协议)混淆。BGP是用于AS间的外部网关协议

2. BGP协议的主要特点

  1. 用于自治系统(AS)之间的路由选择。
  2. 设计目标是力求选择一条能够到达目的网络且比较好的路由(避免兜圈子),而并非计算一条最佳路由
  3. 选择“较好路由”而非“最佳路由”的原因:
    • 互联网规模太大,使得AS间路由选择非常困难。
    • 不同AS对路径的度量标准各不相同。
    • AS之间的路由选择必须考虑有关策略(例如政治、经济因素)。
  4. BGP采用了路径向量(path vector) 路由选择协议。

易混/常考:理解BGP不追求技术上的“最佳”,而是“策略上可行的较好路由”。易考选择题或简答题解释原因。

3. BGP发言人与连接类型

  • 每个AS要选择至少一个路由器作为“BGP发言者”。
  • 两个BGP发言者通过一个共享网络连接在一起,对等BGP发言者(边界路由器)在AS之间交换信息。
  • eBGP连接:在AS之间,BGP发言者在半永久性TCP连接(端口号179)上建立BGP会话,用于在不同AS之间交换路由信息。
  • iBGP连接:在AS内部,任何相互通信的两个路由器之间必须有一个逻辑连接(也使用TCP连接),内部所有路由器之间的通信是全连通的,用于在AS内部的路由器之间交换BGP路由信息。
  • IGP、iBGP和eBGP的关系
    • AS内部运行:内部网关协议IGP(如OSPF或RIP)和iBGP协议。
    • AS之间运行:eBGP协议。

易混/常考:eBGP和iBGP是BGP协议在AS间和AS内应用的两种场景,使用相同协议但连接范围和作用不同。

4. eBGP与iBGP前缀信息通报规则

  • eBGP和iBGP是同一个BGP协议(报文类型、属性、状态机等完全一样),但通报前缀信息时规则不同
  • 规则
    • eBGP连接对等端得知的前缀信息,可以通报给一个iBGP连接的对等端(反之亦可)。
    • 但从iBGP连接对等端得知的前缀信息,不能够通报给另一个iBGP连接的对等端。

易混/常考:核心规则是“iBGP学到的路由不反射给另一个iBGP对等体”。常以拓扑图为例,判断路由是否可以被传递。

5. BGP路由信息结构与关键属性

  • BGP路由信息结构BGP 路由 = [ 前缀, BGP属性 ]
  • 最重要的两个BGP属性是:
    • 自治系统路径 AS-PATH:记录路由所经过的AS序列。
    • 下一跳 NEXT-HOP:指明到达该路由的下一跳路由器的IP地址。
  • 前缀指明目标网络(用CIDR记法表示)。

易混/常考:AS-PATH属性用于路径选择和防止路由环路;NEXT-HOP属性指明具体出接口的下一跳地址。

6. 三种不同的自治系统(AS)类型

  1. 末梢AS (Stub AS):不会把来自其他AS的分组再转发到另一个AS。
  2. 多归属AS (Multihomed AS):同时连接到两个或两个以上的AS,以增加连接的可靠性。
  3. 穿越AS (Transit AS):为其他AS有偿转发分组。
  4. (补充)对等AS (Peering AS):经过事先协商的两个AS,彼此之间发送或接收分组。

易混/常考:根据AS的功能和连接关系进行分类,是常见选择题考点。

7. BGP路由避免环路机制

  • BGP路由通过检查收到的路由的AS-PATH属性。如果在AS-PATH中发现了本AS的号码,则立即删除这条路由,从而避免出现兜圈子(环路)的路由。
  • 规则:在AS-PATH属性中,不允许出现相同的AS号。

易混/常考:这是BGP基于路径向量的环路检测机制,与距离向量协议的“水平分割”不同。

8. BGP路由选择算法(决策过程)

BGP选择路由按以下优先级顺序(数值越小优先级越高):

  1. 本地偏好 (Local Preference) 值最高的路由。(默认值=100)
  2. AS跳数最小的路由。
  3. 使用热土豆路由选择算法:选择分组在本AS内转发次数最少(即尽快离开本AS)的路由。
  4. 路由器BGP ID数值最小的路由。(BGP ID取该路由器所有IP地址中数值最大的一个)

易混/常考:决策过程有严格顺序,前一步即可选出最佳路由则不再进行后续步骤。热土豆算法是常见考点,需理解其“尽快甩出AS”的策略。

9. BGP-4的四种报文类型及其作用

  1. OPEN (打开)报文:用来与相邻的另一个BGP发言者建立关系,使通信初始化。
  2. UPDATE (更新)报文:用来通告某一路由的信息,以及列出要撤销的多条路由。
  3. KEEPALIVE (保活)报文:用来周期性地证实邻站的连通性。
  4. NOTIFICATION (通知)报文:用来发送检测到的差错。

易混/常考:四种报文的功能是基础考点,常以连线或选择题形式出现。

补充:路由选择协议

BGP(边界网关协议)

  • 连接建立与报文类型
    • BGP通过TCP建立连接。
    • 连接生命周期内使用四种报文通信:
      1. OPEN消息:TCP连接建立后发送,用于建立BGP会话。
      2. UPDATE消息:当有路由信息需要发送或变化时发送,用于通告路由。
      3. KEEPALIVE消息:连接稳定后定时发送,以保持连接有效性。
      4. NOTIFICATION消息:发现错误时发送,用于通告对端错误。
  • 协议特点
    1. 交换路由信息的结点数量级与自治系统个数相当,大大少于这些自治系统中的网络数。
    2. 每个自治系统中BGP发言人(或边界路由器)的数目很少,使得自治系统间的路由选择不致过分复杂。
    3. BGP支持CIDR,因此BGP路由表包括目的网络前缀、下一跳路由器,以及到达该目的网络要经过的各个自治系统序列。
    4. 在BGP刚运行时,邻站交换完整的BGP路由表,以后只需要在发生变化时更新变动部分(增量更新),有利于节省网络带宽和减少处理开销。
  • 会话类型与路由选择(综合示例)
    • eBGP(外部BGP):用于自治系统之间交换路由信息。
    • iBGP(内部BGP):用于自治系统内部传播从外部学到的路由信息。
    • BGP路由选择步骤(按顺序): a. 本地偏好(Local Preference)。 b. 选择AS跳数最小的路由。 c. 使用热土豆路由选择算法(选择最近的IGP下一跳)。 d. 选择路由器BGP ID数值最小的路由。
    • 易混/常考
      • eBGPiBGP会话的区别。
      • BGP路由选择算法的多步骤顺序。
      • “热土豆”算法的含义(尽快将分组送出本AS)。

RIP协议收敛时间计算(距离向量算法)

  • 收敛过程计算
    • 假设所有路由器同一时刻启动,立即交换初始距离向量,之后每隔30s交换一次。
    • 示例计算
      • 对于目的网络,根据拓扑确定各路由器的最短跳数。
      • 第1次交换(0s)后,距离为1跳的路由器可获知正确路由。
      • 第2次交换(30s)后,距离为2跳的路由器可获知正确路由。
      • 依此类推,所有路由器获得正确路由所需时间为 (最大跳数 - 1) * 30s
    • 易混/常考
      • 理解距离向量算法的收敛过程,即路由信息如何逐步传播。
      • 计算时间时,注意“交换时刻”与“获得路由时刻”的关系(交换后立即可用)。

OSPF协议适用场景

  • OSPF适用于规模较大、路径跳数可能超过15的自治系统。
  • RIP协议最大跳数限制为15,无法满足需求。
  • 易混/常考
    • RIP(最大跳数15)与OSPF(无此限制)在适用网络规模上的区别。

补充:ICMP TTL 计算

IP分组初始TTL值的设定

  • 设定原则:为确保分组在AS内能被正常接收,初始TTL值应至少设置为“源到目的的最大路由器跳数 + 1”。
  • 计算:已知AS内最大路由器跳数为H,则初始TTL值应至少为 H + 1
  • 易混/常考
    • 理解TTL字段的作用(防止分组无限循环)和递减规则(每经过一个路由器减1)。
    • 分组能被接收要求TTL在到达目的主机时仍大于0,因此初始TTL需大于跳数。

综合例题:4 个自治系统互连拓扑

  • 题型背景:AS1 运行 RIP;AS3 内任意两主机通信经过的路由器数量不超过 15 个;AS4 规模较大,经过路由器数量可能超过 20 个;AS 间通过 BGP 通告前缀 136.5.16.0/20
  • IGP 选择:AS4 应选择 OSPF。原因是 RIP 最大有效跳数为 15,超过 15 视为不可达;OSPF 更适合规模较大、拓扑较复杂的自治系统。
  • TTL 设定:AS3 内最大经过 15 个路由器时,为确保 IP 分组能被正常接收,初始 TTL 至少为 15 + 1 = 16
  • RIP 收敛时间:若所有路由器同时启动并立即交换初始距离向量,以后每 30 s 交换一次,则距离为 2 跳的路由通常在 30 s 后获知正确路由,距离为 3 跳的路由通常在 60 s 后获知正确路由;一般按 (最大跳数 - 1) * 30 s 估算。
  • BGP 会话与报文:不同 AS 边界路由器之间通告可达性信息使用 eBGP 会话;路由通告使用 UPDATE 报文;同一 AS 内部向其他 BGP 路由器传播外部可达性信息使用 iBGP 会话。
  • 下一跳判断:BGP 路由表项通常包含目的网络前缀、AS-PATH 和 NEXT-HOP。多条可达性信息到达时,先按 BGP 路由选择规则比较;若其他条件相同,可继续比较热土豆路由、BGP ID 等因素。

4.6.5 路由器的构成

路由器的功能与核心工作

  • 路由器工作在网络层(第三层设备)。
  • 主要工作是转发分组:将从输入端口收到的分组,按照目的网络,从合适的输出端口转发给下一跳路由器。

“转发”与“路由选择”的区别

| | 转发 | 路由选择 | | :— | :— | :— | | 定义 | 根据转发表将用户的IP数据报从合适的端口转发出去。 | 按照路由选择算法,根据网络拓扑变化,动态改变所选择的路由,并构造整个路由表。 | | 涉及范围 | 仅涉及到一个路由器。 | 涉及到很多路由器。 | | 表项内容 | 转发表是从路由表得出的,必须包含从目的网络到输出端口和某些MAC地址信息(如下一跳的以太网地址)的映射。 | 路由表一般仅包含从目的网络到下一跳(用IP地址表示)的映射。 |

  • 易混/常考
    • “转发表”和“路由表”的区别与联系。

路由器交换结构的三种类型及特点

  1. 通过存储器
    • 步骤:(1) 输入端口收到分组,用中断方式通知路由选择处理机,分组从输入端口复制到存储器。(2) 处理机从分组首部提取目的地址,查找路由表,再将分组复制到合适的输出端口缓存中。
    • 限制:若存储器的带宽为每秒M个分组,则路由器的交换速率一定小于M/2
  2. 通过总线
    • 步骤:数据报从输入端口通过共享的总线直接传送到合适的输出端口,不需要路由选择处理机的干预。
    • 限制:当分组到达输入端口时若发现总线忙,则被阻塞。路由器的转发带宽受总线速率的限制。
  3. 通过纵横交换结构 (交叉开关网络)
    • 步骤:(1) 有2N条总线,控制交叉节点可使N个输入端口和N个输出端口相连接。(2) 输入端口收到分组,将其发送到水平总线。(3) 若通向输出端口的垂直总线空闲,则接通垂直总线与水平总线,转发分组;若输出端口被占用,分组在输入端口排队。
    • 特点:是一种无阻塞的交换结构,只要输出端口空闲,分组就可以转发。 - 易混/常考
    • 三种交换结构的工作原理、优缺点(如是否阻塞、带宽限制)。
    • 通过存储器的交换速率上限公式M/2

4.7 IP 多播

4.7.2 IP 多播的基本概念

  • 多播(组播):旨在更好地支持一对多通信(一个源点发送到许多个终点)。
  • 核心优势:与单播相比,能显著减少网络中的重复数据包,节约带宽和设备资源。

4.7.1 在局域网上进行硬件多播

  • IANA拥有的以太网地址块高24位为00-00-5E
  • 用于以太网多播的地址范围:01-00-5E-00-00-0001-00-5E-7F-FF-FF
  • 地址映射:将IP D类地址的后23位,直接填入以太网多播MAC地址的后23位。前25位固定为01-00-5E加上D类地址倒数第二字节的前半字节(最高位为0)。
  • 易混/常考
    • 以太网多播地址的范围(特别是前25位固定)。
    • IP D类地址到以太网多播地址的映射规则(取后23位)。

IP多播的组件构成与协议体系

  1. 组成:主机、路由器(支持多播的称为多播路由器)。
  2. 协议分工
    • 组成员关系协议(如IGMP):管理主机与本地多播路由器之间的成员关系。
    • 多播路由协议:在多播路由器之间运行,用以构建多播转发树。 - 易混/常考
    • 区分IGMP(管理本地成员关系)和多播路由协议(路由器间构建多播树)的不同作用。

多播IP地址与多播数据报

  1. 多播IP地址:使用D类地址,范围224.0.0.0 ~ 239.255.255.255。每一个D类地址标志一个多播组。多播地址只能用于目的地址,不能用于源地址。
  2. 多播数据报特点
    • 目的地址使用D类IP地址。
    • IP首部的协议字段 = 2,表明使用IGMP协议。
    • 尽最大努力交付,不保证一定能够交付多播组内的所有成员。
    • 对多播数据报不产生ICMP差错报文(如对多播地址ping无响应)。
  3. 接收过滤:收到多播数据报的主机,还要在IP层对IP地址进行过滤,把不是本主机要接收的数据报丢弃。
    • 易混/常考
    • D类地址范围及用途。
    • 多播数据报“尽最大努力交付”和“不产生ICMP差错”这两个特性。

4.7.3 网际组管理协议 IGMP 和多播路由选择协议

网际组管理协议 IGMP

  • 地位与版本:使用IP数据报传递报文,是整个IP协议的一个组成部分。有IGMPv1,v2,v3版本。
  • 工作两个阶段
    1. 加入阶段:主机向多播地址发送IGMP报文声明加入;本地多播路由器收到后将组成员关系转发给其他多播路由器。
    2. 探询阶段:多播路由器周期性探询本地主机;只要有一个主机响应,该组就被视为活跃;若多次探询无响应,则停止转发该组的成员关系。
  • 为避免开销采取的措施
    1. 尽可能使用硬件多播传送IGMP报文。
    2. 对所有组只发送一个询问报文,默认询问速率每125秒一次。
    3. 当同一网络有多个多播路由器时,能迅速选择其中一个来探询。
    4. 询问报文包含最大响应时间(默认10秒),主机在0到该值之间随机选择响应时延(分散响应)。
    5. 同组主机监听响应,若有其他主机先响应,则自己不再发送(抑制机制)。
  • 易混/常考
    • “分散响应”和“抑制机制”是减少网络中IGMP响应报文数量的关键。

多播路由选择协议

  • 目标:找出以源主机为根节点的多播转发树。不同多播组或同一组的不同源点对应不同的树。
  • 三种转发方法
    1. 洪泛与剪除:适合较小且相邻的多播组。使用反向路径广播(RPB)策略避免兜圈子。包括“剪枝”(移除无成员的下游树枝)和“嫁接”(接入新增成员的树枝)操作。
    2. 隧道技术(tunneling):在不支持多播的网络中,将多播数据报封装在单播数据报中传输。
    3. 基于核心的发现技术:适合规模变化范围大的多播组。为每个多播组G指定一个核心路由器并以其为根创建转发树。
  • 常见协议:DVMRP, CBT, MOSPF, PIM-SM (协议无关多播-稀疏方式)(互联网标准协议), PIM-DM。
  • 易混/常考
    • 三种多播路由方法的适用场景和核心思想。
    • PIM-SM是互联网标准协议。

4.8 多协议标签交换 MPLS

4.8.1 MPLS 的工作原理

  • 基本概念:MPLS是一种IP增强技术,给IP数据报打上固定长度的“标签”,在第二层用硬件进行转发,称为标签交换
  • 特点:支持面向连接的服务质量;支持流量工程,平衡网络负载;有效支持VPN。
  • 基本工作过程
    1. 使用标签分配协议(LDP)找出标签交换路径(LSP)。
    2. 入口节点给IP数据报打标签并转发(称为分类)。
    3. 中间标签交换路由器(LSR)进行标签对换(更换入标签为出标签)并转发。
    4. 出口节点去除标签,将IP数据报交付给非MPLS设备。
  • 相关术语
    • MPLS域(MPLS domain):由支持MPLS的标签交换路由器(LSR)组成的域。
    • LSR:同时具备标签交换和路由选择功能。

转发等价类 (FEC)

  • 定义:路由器按照同样方式对待的分组集合(如从同一接口转发到同一下一跳、具有相同服务类别和丢弃优先级)。
  • 与标签的关系:入口节点将属于同一个FEC的IP数据报指派相同的标签。
  • 分类层次:可基于第三层(IP地址)、第四层(端口号)或第五层(有效载荷)进行分类。
  • 应用:用于负载平衡(流量工程TE),通过自定义FEC可以更灵活地管理网络资源。
  • 易混/常考
    • FEC是MPLS转发的核心抽象,理解其与标签的对应关系是关键。
    • 利用FEC进行流量工程是重要考点。

4.8.2 MPLS 首部的位置与格式

  • 位置:采用封装技术,在IP数据报封装成链路层帧之前插入MPLS首部,位于第二层和第三层之间。
  • 格式:共4字节,包含以下字段:
    • 标签值 (20位):可容纳2^20个流。
    • 试验 (3位):保留用作试验。
    • 栈S (1位):在有标签栈时使用。
    • 生存时间TTL (8位):防止分组在MPLS域中兜圈子。
  • 易混/常考
    • 准确记忆MPLS首部的四个字段及其位数和作用。

4.8.3 新一代的 MPLS

  • 传统MPLS的问题:LDP协议复杂、扩展性差;LDP不支持基于时延或带宽的流量调度;为支持流量调度需额外使用复杂的RSVP协议,且RSVP不支持等价多路径路由(ECMP)。
  • 新一代MPLS:段路由(SR)
    • 基于标签交换,但不需要LDP协议
    • 源节点指定路径,并将路径转换成有序的段列表(即MPLS标签栈),封装在分组首部。
    • 其他节点按首部中的指令(标签)进行转发。
  • SR的演进SRv6,直接利用IPv6扩展报头作为标签寻址。
  • 易混/常考
    • 理解SR相对于传统MPLS(LDP+RSVP)在架构和协议复杂性上的改进。
    • SRv6是向IPv6演进的重要方向。

4.9 网络地址转换与VPN

4.9.1 虚拟专用网VPN

  • 本地地址与全球地址
    • 本地地址 (Local Address):仅在机构内部使用的IP地址,可自行分配,无需向互联网管理机构申请。
    • 全球地址 (Global Address):在互联网中全球唯一的IP地址,必须向互联网管理机构申请。
    • 专用IP地址块 (RFC 1918):用于区分本地地址与全球地址。这些专用地址在互联网中不被转发
      • A类:10.0.0.0/8
      • B类:172.16.0.0/12
      • C类:192.168.0.0/16
    • 易混/常考:三个专用IP地址块的具体范围是常考点。
  • 专用网与虚拟专用网 (VPN)
    • 专用网 (Private Network):采用专用IP地址的互连网络,其地址在互联网中可重用。
    • 虚拟专用网 (VPN, Virtual Private Network):利用公用互联网作为载体,连接不同场所的专用网,实现与专线相同效果的“虚拟”专用网。其“虚拟”性体现在未使用通信专线,而是通过互联网实现。
    • 易混/常考:区分“专用网”与“VPN”。VPN是建立在公用互联网上的专用网。
  • VPN的类型
    • 内联网 (Intranet) VPN:同一机构内部网络构成的VPN。
    • 外联网 (Extranet) VPN:一个机构与某些外部机构(如合作伙伴、供应商)共同建立的VPN。
    • 远程接入 (Remote Access) VPN:允许外部流动员工或分支机构通过隧道访问公司内部网络。
    • 易混/常考:根据应用场景判断VPN类型。
  • VPN的构建与设备
    • 构建要求:需要对数据进行加密,并配置每个场所的VPN系统(如硬件和软件)。
    • 设备角色
      • CE (Customer Edge Router):用户边缘设备,直接与服务提供商相连。
      • PE (Provider Edge Router):提供商边缘路由器,负责VPN业务接入。
      • P (Provider Router):提供商核心路由器,完成路由和快速转发。
    • 易混/常考:理解CE、PE、P在VPN中的角色分工。
  • VRF(VPN路由转发实例)
    • 定义:VRF (VPN Routing and Forwarding) 可看作一个虚拟路由器,包含独立的路由表、地址空间、接口集合和路由协议。每个PE可维护多个VRF和一个公网全局路由表,各VRF相互独立。
    • 关键字段
      • RD (Route Distinguisher, 路由标识符):64位唯一标识符,格式为ASN:编号IP地址:编号。其作用是将可能重叠的IPv4地址路由,转变为全局唯一的VPNv4地址,以解决地址重叠问题。
      • RT (Route Target, 路由目标):BGP的扩展属性,分为:
        • Export RT (ERT, 导出标签):在路由从VRF导出到BGP时附加的标签。
        • Import RT (IRT, 导入条件):在VRF从BGP导入路由时进行匹配的条件。RT控制了路由在不同VRF间的发布与接收
    • 易混/常考:区分RD和RT的作用。RD解决地址重叠,RT控制路由发布与接收。
  • 用隧道技术实现VPN
    1. 基于CE的VPN:在CE之间建立隧道传递路由信息。服务提供商对客户网络的内部路由不知情。典型技术:GRE、IPSec。
    2. 基于PE的VPN (MPLS VPN):在PE之间建立隧道。客户的路由信息在PE之间传递,公网中的P设备不知私网路由。不同VPN用户的地址空间一般不共享。
      • 易混/常考:对比两种VPN实现方式的架构特点和典型代表(CE vs PE, 隧道建立位置)。
  • MPLS VPN与其他隧道技术比较
    • MPLS:属于2.5层技术,采用标签交换,开销小,本身不提供加密,即为一种隧道技术。
    • 传统隧道技术 (如IPSec):通常位于3层及以上,采用封装,开销相对较大,支持加密。
    • 比较维度:工作层次、交换/封装机制、开销、加密特性。
    • 易混/常考:MPLS VPN与IPSec等隧道技术的特性对比。

4.9.2 网络地址转换NAT

  • NAT的背景与定义
    • 背景:解决专用网内使用本地地址的主机与互联网上使用全球地址的主机通信的问题。
    • 定义NAT (Network Address Translation) 于1994年提出,需要在专用网和互联网之间的路由器上安装NAT软件。该路由器至少拥有一个有效的外部全球IP地址。所有使用本地地址的主机在与外界通信时,必须在NAT路由器上将本地地址转换成全球IP地址。
    • 易混/常考:理解NAT在网络中的位置(专用网边界路由器)和基本功能。
  • 网络地址转换过程
    • 在内部主机与外部主机通信时,NAT路由器上发生两次地址转换。
      1. 数据离开专用网时:替换源IP地址(将内部私有地址替换为NAT路由器的全球地址)。
      2. 数据进入专用网时:替换目的IP地址(将全球地址替换为对应的内部私有地址)。
    • 易混/常考:根据数据流向(出/入)判断转换的是源地址还是目的地址。
  • NAT地址转换表与地址数量限制
    • 地址转换表:NAT路由器通过该表记录转换关系。表项字段通常包括:方向(出/入)、被替换的字段(源/目的IP)、旧地址、新地址。
    • 数量限制:当NAT路由器有n个全球IP地址时,专用网内最多可有n台主机同时接入互联网。
    • 易混/常考:注意是“同时”接入的数量受全球IP地址数量限制。
  • NAT与NAPT(网络地址与端口号转换)
    • 传统NAT:不使用端口号,不能节省IP地址。
    • NAPT (Network Address and Port Translation):使用运输层端口号,可以使多台拥有本地地址的主机共用一个全球IP地址,同时与不同外部主机通信。其转换表除了IP地址,还包含端口号,通过端口号映射实现多对一(或一对多)的地址转换。
    • 易混/常考:区分传统NAT和NAPT,理解NAPT如何通过端口号实现地址复用。

4.10 软件定义网络SDN简介

  • SDN概述与核心思想
    • 定义:SDN (Software Defined Network) 由斯坦福大学N. McKeown于2009年首先提出,是一种设计、构建和管理网络的新体系结构/概念
    • 核心思想:将控制层面数据层面分离,让控制层面利用软件来控制数据层面中的众多设备。
    • 主要优点
      1. 提高网络带宽利用率。
      2. 网络运行更加稳定。
      3. 管理更加高效简化。
      4. 运行费用明显降低。
    • 易混/常考:SDN ≠ OpenFlow。SDN未规定必须使用OpenFlow协议。

4.10.1 SDN 与 OpenFlow

  • OpenFlow协议
    • 定义:OpenFlow是SDN体系结构中控制层面和数据层面之间的通信接口。它使SDN控制器能够对数据层面中的物理或虚拟设备进行直接访问和操纵。其在逻辑上是集中式的、基于流的
    • 版本演进(示例):OpenFlow 1.0 (2009), OpenFlow 1.3.x (2012-04), OpenFlow 1.5.1 (2015-03)。
    • 易混/常考:OpenFlow是实现SDN的一种关键协议接口,但SDN的实现不依赖于OpenFlow。
  • 数据层面:“匹配 + 动作”机制
    • OpenFlow交换机(数据层面设备)完成“匹配 + 动作”操作,这是一种广义转发
      • 匹配:对不同层次(链路层、网络层、运输层)首部中的字段进行匹配。
      • 动作:包括转发、重写首部字段、丢弃等。
  • 流表 (Flow Table)
    • 定义:流表规定了“匹配 + 动作”的规则。是指共享分组首部某些字段值的分组序列。
    • 管理:流表由远程的SDN控制器通过安全信道,使用OpenFlow协议进行管理。
  • 流表项结构 每个流表项包含三个字段:
    1. 首部字段值 (匹配字段):用于对入分组的首部字段进行匹配。
    2. 计数器:用于收集统计信息(如匹配分组数量、上次更新时间)。
    3. 动作:定义对匹配分组的处理。
  • 匹配字段详解
    • 包含一组(如12个)字段,使入分组的对应首部与之匹配。字段涵盖:
      • 链路层:入端口、以太网源地址、目的地址、类型、VLAN ID、优先级。
      • 网络层:IP源地址、目的地址、协议、服务类型。
      • 运输层:TCP/UDP源端口、目的端口。
    • 匹配不上的分组可能被丢弃或发送到控制器处理。
    • 易混/常考:匹配字段是多层首部字段的组合,体现了基于流的转发特性。
  • 动作的类型
    • 动作定义了对匹配分组的处理。具体动作包括:转发到指定端口、丢弃分组、复制分组并从多个端口转发、重写分组的二/三/四层首部字段等。
  • 流表示例 通过具体例子展示流表的配置与应用:
    • 简单转发:为特定源IP、目的IP的数据流指定转发端口,实现路径控制。
    • 负载均衡:根据入端口的不同,将发往同一目的IP的数据流转发至不同路径。
    • 防火墙:仅允许来自特定源IP的数据流进行转发。
    • 易混/常考:广义转发(匹配+动作)可实现传统转发、负载均衡、防火墙等多种网络功能。

4.10.2 SDN 体系结构

  • SDN体系结构的四个关键特征
    1. 基于流的转发
    2. 数据层面与控制层面分离
    3. 网络控制功能(SDN控制器和应用程序)位于数据层面交换机之外,用软件实现。
    4. 可编程的网络
  • SDN与传统网络的差别
    • SDN:功能分散(交换机、控制器、应用程序可为不同实体),可由不同厂商/机构提供。
    • 传统网络:控制层面、数据层面、协议垂直集成在一个设备中,通常由单一厂商提供。

4.10.3 SDN 控制器

  • 核心作用:SDN 控制器位于控制层面,集中维护网络状态,向下通过南向接口(如 OpenFlow)控制数据层面设备,向上为网络控制应用提供可编程接口。
  • 易混/常考:控制器逻辑集中,但实现上可以采用分布式部署。

第5章 运输层

5.1 运输层协议概述

5.1.1 进程之间的通信

  • 运输层的屏蔽作用
    • 运输层向高层用户屏蔽了网络核心的细节(如网络拓扑、路由选择协议等),为应用进程提供了一条端到端的逻辑通信信道
  • 易混/常考:理解“逻辑通信信道”的概念。

5.1.2 运输层的两个主要协议

  • 互联网运输层协议及运输协议数据单元
    • 两个主要协议:用户数据报协议 UDP 和传输控制协议 TCP
    • 运输协议数据单元 TPDU:对等运输实体通信时传送的数据单位。
      • TCP 的协议数据单元是 TCP 报文段 (segment)
      • UDP 的协议数据单元是 UDP 用户数据报
  • 易混/常考:区分 TPDU、TCP 报文段、UDP 用户数据报三个术语。

  • UDP 与 TCP 的区别
    • UDP:无连接、不需要确认、不提供可靠交付、开销小、效率高。
    • TCP:面向连接、提供可靠交付、开销较多。
  • 易混/常考:对比两者的核心特性,这是基础考点。

  • 典型应用与运输层协议的对应关系
    • 常见应用层协议使用的运输层协议:
      • DNS, TFTP -> UDP
      • HTTP, SMTP, FTP, TELNET -> TCP
      • (源文表格中有其他例子,如DHCP/RIP使用UDP等,需对照记忆)
  • 易混/常考:常以选择题形式考查具体协议(如DNS、HTTP)使用TCP还是UDP。

5.1.3 运输层的端口

  • 复用与分用
    • 复用:发送方不同的应用进程都可以通过运输层再传送到IP层。
    • 分用:接收方运输层从IP层收到数据后,必须分别交付给指明的应用进程。
  • 易混/常考:理解复用和分用在运输层通信中的作用。

  • 使用端口号的原因
    • 进程标识符(PID)在不同系统中无法直接用于网络通信。
    • 利用目的主机的功能(端口)来识别终点,无需关心具体进程。
    • 可以更换接收进程而不通知所有发送方。
  • 易混/常考:理解为什么不能直接用进程号,而要用端口号。

  • 端口号的特性
    • 端口用16位端口号标志,允许有65,535个不同的端口号。
    • 端口号只具有本地意义(在本计算机中唯一)。
    • 在互联网中,不同计算机的相同端口号没有联系。
    • 两个进程通信必须知道对方的IP地址和端口号。
  • 易混/常考:理解“本地意义”和通信需要(IP地址, 端口号)这对组合。

  • 软件端口与硬件端口的区别
    • 软件端口:协议栈层间的抽象协议端口,是应用进程与运输实体交互的地点。
    • 硬件端口:不同硬件设备进行交互的物理接口。
  • 易混/常考:区分概念,软件端口是逻辑概念,硬件端口是物理概念。

  • 端口的分类及常用熟知端口
    • 两大类、三种类型:
      • 熟知端口(0~1023):IANA分配,供系统进程使用。
      • 登记端口(1024~49151):用户进程在IANA登记使用。
      • 短暂端口/客户端使用的端口(49152~65535):客户进程动态选择,通信结束后回收。
    • 常用熟知端口:需记忆,如FTP(21), Telnet(23), SMTP(25), DNS(53), HTTP(80), HTTPS(443), TFTP(69), SNMP(161/162), RPC(111)。
  • 公式/字段/步骤/条件
    • 熟知端口号范围:0~1023
    • 登记端口号范围:1024~49151
    • 短暂端口号范围:49152~65535
  • 易混/常考:端口号范围划分和具体协议对应的熟知端口号是高频考点。

5.2 用户数据报协议 UDP

5.2.1 UDP 概述

  • UDP的主要特点
    1. 无连接。
    2. 尽最大努力交付(不可靠)。
    3. 面向报文(应用层交下多大就发多大,既不合并也不拆分)。
    4. 没有拥塞控制(适合实时多媒体通信)。
    5. 支持一对一、一对多、多对一、多对多通信。
    6. 首部开销小(8字节)。
  • 易混/常考:重点掌握“面向报文”和“没有拥塞控制”的含义及其影响。

  • UDP面向报文带来的问题
    • 应用程序必须选择合适大小的报文。
      1. 报文太长:IP层可能需要分片,降低效率。
      2. 报文太短:IP数据报首部相对长度太大,降低效率。
  • 易混/常考:理解报文大小对网络效率的影响。

  • UDP的复用、分用及与端口号的关系
    • 复用:发送方不同应用进程的数据通过UDP端口组装成不同的IP数据报发送。
    • 分用:接收方根据UDP数据报目的端口号,将数据交付给相应端口的应用进程。
    • 运输层之间的逻辑通道是虚连接。
  • 易混/常考:理解端口号在UDP复用/分用过程中的具体作用。

5.2.2 UDP 的首部格式

  • UDP首部格式
    • 首部共8个字节,分为4个字段,每个字段2个字节。
      1. 源端口:需要对方回信时选用,不需要时全0。
      2. 目的端口:终点交付报文时必须使用。
      3. 长度:UDP用户数据报的长度,最小值为8(仅有首部)。
      4. 检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃。
  • 易混/常考:首部四个字段的名称、大小和作用是必须掌握的知识点。

  • UDP基于端口的分用及错误处理
    • 接收方UDP根据目的端口号,将报文通过相应端口上交给应用进程。
    • 若目的端口号不存在对应进程,则丢弃报文,并由ICMP发送“端口不可达”差错报文。
  • 易混/常考:了解端口不可达时的处理机制。

  • UDP检验和的计算方法
    • UDP检验和检验范围包括首部和数据部分。
    • 计算时,在UDP用户数据报前临时添加一个12字节的“伪首部”。
    • 伪首部仅用于计算检验和,不发送。
    • 计算方法:按二进制反码求和,再取反码。
  • 公式/字段/步骤/条件
    • 伪首部结构:源IP地址(4B)、目的IP地址(4B)、全0(1B)、协议号17(1B)、UDP长度(2B)。
    • 步骤:将伪首部、UDP首部、数据(若数据字节数为奇数,需补0)划分为16位字,进行二进制反码求和,结果再取反码。
  • 易混/常考:理解伪首部的作用和计算过程是难点和考点。

5.3 传输控制协议 TCP

5.3.1 TCP 最主要的特点

  • TCP的主要特点
    1. 面向连接。
    2. 每一条TCP连接只能是点对点的(一对一)。
    3. 提供可靠交付服务。
    4. 提供全双工通信。
    5. 面向字节流
  • 易混/常考:与UDP特点对比记忆,特别是“面向连接”和“可靠交付”。

  • TCP面向字节流的概念
    • TCP把应用程序交下的数据看作一连串无结构的字节流。
    • TCP不保证接收方收到的数据块与发送方发出的数据块具有对应大小关系。
    • 但接收方收到的字节流必须和发送方发出的字节流完全一样。
  • 易混/常考:理解“字节流”与“报文”的本质区别,以及字节流的可靠性含义。

5.3.2 TCP 的连接

  • TCP连接的端点——套接字(Socket)
    • TCP连接是逻辑连接,其端点是抽象的“套接字”。
    • 套接字 socket = (IP地址: 端口号)
    • 每一条TCP连接唯一地被通信两端的两个套接字确定。
  • 公式/字段/步骤/条件
    • 公式 (5-1)socket = (IP地址: 端口号)
    • 公式 (5-2)TCP连接::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}
  • 易混/常考:掌握套接字的定义和TCP连接的确定方式,这是核心概念。

  • “Socket”一词的多重含义
    • Socket在不同上下文中含义不同:
      1. 指应用编程接口API(Socket API)。
      2. 指Socket API中的一个函数名。
      3. 指调用该函数的端点。
      4. 指函数调用返回的描述符。
      5. 指操作系统内核中的连网协议实现(Socket实现)。
  • 易混/常考:这是典型的易混淆点,需根据上下文区分“Socket”的具体所指。

5.4 可靠传输的工作原理

  • 理想传输条件的特点及引入可靠传输协议的原因
    • 理想传输条件:传输信道不产生差错;接收方总能来得及处理数据。
    • 在此条件下,无需措施即可实现可靠传输。
    • 实际网络不具备理想条件,因此必须使用可靠传输协议在不可靠信道上实现可靠传输。
  • 易混/常考:理解可靠传输协议存在的必要性。

5.4.1 停止等待协议

  • 停止等待协议基本机制
    • 发送方每发送一个分组就暂停,等待确认后再发下一个。在仅考虑单向数据传输时,发送方称为A,接收方称为B。
  • 易混/常考:理解全双工通信下双方既是发送方也是接收方,但协议常简化讨论单向情况。

  • 无差错情况下的传输流程
    • A发送分组M1 -> B收到并发送确认ACK -> A收到ACK后发送下一个分组M2。
  • 易混/常考:基本流程,作为后续讨论差错处理的基础。

  • 出现差错的情况(分组错误或丢失)
    • 若B接收分组时检测出差错或分组在传输中丢失,B都不会发送任何信息。
    • 问题:A如何知道B是否正确收到?解决方法:超时重传。
  • 易混/常考:明确差错处理的责任方在发送方A,依赖超时重传机制。

  • 超时重传机制
    • 发送方为每个已发送分组设置超时计时器。若在计时器到期前收到确认,则撤销计时器并发送下一分组;若计时器超时,则重传该分组。
  • 公式/字段/步骤/条件:步骤:1. 设置超时计时器;2. 适时收到确认则撤销并继续;3. 超时未收到确认则重传。
  • 易混/常考:超时计时器的设置是关键,其重传时间应比数据平均往返时间稍长。

  • 确认丢失和确认迟到的处理
    • 无论确认丢失还是迟到,发送方A都会在超时后重传分组。接收方B对于重复到达的分组,会丢弃该重复分组,并重传确认。发送方A收到重复确认则丢弃。
  • 易混/常考:重点考察接收方如何通过丢弃重复分组来保证数据不重复提交给上层。

  • 停止等待协议的信道利用率
    • 信道利用率U定义为发送数据分组时间与整个发送周期(发送+往返+确认)时间的比值。当RTT远大于T_D时,信道利用率非常低。该协议优点是简单,缺点是信道利用率太低。
  • 公式/字段/步骤/条件:公式:信道利用率 U = T_D / (T_D + RTT + T_A)
  • 易混/常考:公式推导和含义是常考点;理解RTT和T_D对利用率的影响。

  • 停止等待协议的要点总结与改进
    • 核心要点包括:停止等待、暂存副本、分组编号、超时重传、重传时间设定。为提高效率,可采用流水线传输方式(如连续ARQ和滑动窗口协议),在收到确认前连续发送多个分组。
  • 公式/字段/步骤/条件:流水线传输:在收到确认前,发送方连续发出多个分组,使信道上数据不间断传送,提高信道利用率。
  • 易混/常考:理解“编号”和“暂存”是保证可靠传输和重传的基础;流水线传输是为解决信道利用率低而提出的。

5.4.2 连续 ARQ 协议

  • 发送窗口机制
    • 发送方维护一个发送窗口,窗口内的分组可连续发送而无需等待确认。每收到一个确认,发送窗口就向前滑动一个分组位置。
  • 易混/常考:理解发送窗口大小如何控制发送行为;滑动窗口与确认的关系。

  • 累积确认
    • 接收方对按序到达的最后一个分组发送确认,表示该分组及之前的所有分组都已正确收到。
    • 例如,ACK5表示M5及之前的M2、M3、M4都正确。
  • 易混/常考:与选择确认SACK区分;优点是实现简单,确认丢失不一定导致重传;缺点是不能精确反映接收方正确收到的所有分组信息(例如,M2丢失,M3到达,则无法确认M3)。

  • Go-back-N(回退N)策略
    • 连续 ARQ 协议常采用Go-back-N策略。当需要重传时,需要退回来重传从出错点开始的N个分组。
  • 易混/常考:在通信线路质量不好时,会导致大量不必要的重传,影响效率。

5.5 TCP报文段的首部格式

  • TCP报文段结构
    • TCP传送的数据单元是报文段,分为首部和数据两部分。TCP的全部功能体现在首部各字段的作用中。
    • 首部前20字节固定,后面可有40字节的选项,故最小长度为20字节
  • 易混/常考:区分面向字节流的TCP与面向报文的UDP;牢记首部最小长度。

补充:TCP 报文段的首部格式

5.5.1 TCP 首部基本结构

  • TCP 首部长度是 4n 字节(n 为整数),最小为 20 字节(固定首部)。
  • 易混/常考:数据偏移字段的值与首部实际字节数的换算。

5.5.2 各字段详解

  • 源端口和目的端口:各占 2 字节。端口是运输层与应用层的服务接口,运输层的复用和分用功能通过端口实现。
  • 序号:占 4 字节。序号字段的值指的是本报文段所发送的数据的第一个字节的序号。TCP 连接中传送的数据流中的每一个字节都有一个序号。
  • 确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。若确认号 = N,则表明到序号 N – 1 为止的所有数据都已正确收到。
  • 数据偏移(首部长度):占 4 位,指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。单位是 32 位字(即以 4 字节为计算单位)。该字段的值乘以 4 才是首部的实际字节数。最小值为 5(20字节),最大值为 15(60字节)。
  • 保留:占 6 位,保留为今后使用,但目前应置为 0。
  • 控制位:共 6 个,每个占 1 位。
    1. URG (紧急):当 URG = 1 时,表明紧急指针字段有效,此报文段中有紧急数据,应尽快传送。
    2. ACK (确认):只有当 ACK = 1 时,确认号字段才有效。当 ACK = 0 时,确认号无效。
    3. PSH (推送):接收 TCP 收到 PSH = 1 的报文段后,就尽快交付接收应用进程,而不再等到整个缓存都填满后再交付。
    4. RST (复位):当 RST = 1 时,表明 TCP 连接中出现严重差错,必须释放连接,然后再重新建立运输连接。
    5. SYN (同步):SYN = 1 表示这是一个连接请求或连接接受报文。
      • 当 SYN = 1, ACK = 0 时,表明这是一个连接请求报文段。
      • 当 SYN = 1, ACK = 1 时,表明这是一个连接接受报文段。
    6. FIN (终止):用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
  • 窗口:占 2 字节。窗口值告诉对方,从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(以字节为单位)。窗口值经常在动态变化。
  • 检验和:占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
  • 紧急指针:占 2 字节。在 URG = 1 时有效,指出本报文段中紧急数据的字节数(紧急数据结束后就是普通数据),指出了紧急数据的末尾在报文段中的位置。
  • 选项:长度可变,最长可达 40 字节。
    • 最大报文段长度 MSS (Maximum Segment Size):是每个 TCP 报文段中的数据字段的最大长度。MSS 与接收窗口值没有关系。
      • 关系:TCP 报文段长度 = 数据字段长度 + TCP 首部长度,因此 MSS = 数据字段最大长度 = TCP 报文段长度 - TCP 首部长度
      • 设置原则:
        • 不能太小:否则网络利用率降低(例如 MSS=1 字节,利用率不超过 1/41)。
        • 不能太大:否则开销增大,且在 IP 层可能需要分片,分片出错会导致整个数据报重传。
        • 应尽可能大:只要在 IP 层传输时不再分片即可。
      • 默认值:MSS 默认值通常为 536 字节。此时报文段长度 = 536 + 20 = 556 字节,IP 数据报长度 = 576 字节。
    • 窗口扩大选项:用于在传播时延和带宽都很大的网络中获得高吞吐率,允许使用更大的窗口。TCP 标准窗口字段为 16 位,最大窗口大小 64KB。
      • 格式:占 3 字节,其中一个字节表示移位值 S。
      • 作用:新的窗口值位数从 16 增大到 (16 + S),相当于把窗口值向左移动 S 位。
      • 限制:移位值允许使用的最大值是 14,窗口最大值增大到 2^(16+14) - 1 = 2^30 - 1 字节。
      • 协商时机:可以在双方初始建立 TCP 连接时进行协商。
    • 时间戳选项:占 10 字节。最主要的 2 个字段:时间戳值字段(4字节)和时间戳回送回答字段(4字节)。
      • 主要功能:
        1. 计算往返时间 RTT。
        2. 防止序号绕回 PAWS (Protect Against Wrapped Sequence numbers):序号重复时,为了使接收方能够把新报文段和迟到很久的旧报文段区分开,可以在报文段中加上时间戳。
  • 填充:使整个 TCP 首部长度是 4 字节的整数倍。

5.5.3 例题

  • 知识点:TCP 序列号与确认号计算
  • 要点:基于给定初始序号和报文段大小计算确认号。
  • 公式/字段/步骤/条件
    • 题目条件:主机甲向主机乙发送两个连续的TCP段,包含300字节和500字节有效载荷,第一个段的序列号为200。
    • 计算过程:
      • 第一个段:序号=200,数据范围为200到200+300-1=499。接收方期望下一个字节的序号为500。
      • 第二个段:序号=500,数据范围为500到500+500-1=999。接收方期望下一个字节的序号为1000。
      • 主机乙正确接收两个段后,发送的确认序列号是它期望收到的下一个数据字节的序号,即1000。
  • 易混/常考:考查“确认号是期望收到的下一个序号”这一核心概念。

5.6 TCP 可靠传输的实现

5.6.1 以字节为单位的滑动窗口

  • 基本概念:TCP使用滑动窗口协议实现高效可靠传输,窗口以字节为单位。
  • 发送方:维持发送窗口,允许在未收到确认前连续发送窗口内数据,已发送数据需保留至确认。
  • 接收方:维持接收窗口,只接收落入窗口内的数据。
  • 窗口指针关系
    • 发送窗口(通知窗口):P3 - P1
    • 已发送未确认字节数:P2 - P1
    • 可用窗口(允许发送未发送字节数):P3 - P2
    • 其中 P1 为后沿,P2 为当前已发送位置,P3 为前沿。
  • 窗口滑动与可靠传输
    1. 发送方未收到确认的可能原因:接收方未发送确认或确认丢失。
    2. 为保证可靠,发送方超时重传未确认数据,直到收到确认。
    3. 发送方收到对窗口内数据的确认后,发送窗口向前滑动并可发送新数据。
  • 缓存与窗口关系
    1. 发送窗口基于接收窗口设置,但不一定时刻相等。
    2. 对于不按序到达的数据,通常先存放在接收窗口中,收齐后再按序交付。
    3. 接收方必须有累积确认功能,可在合适时发送确认或捎带确认,但不应过分推迟。
  • 易混/常考:窗口指针 P1、P2、P3 的定义及其与窗口大小、已发送未确认数据、可用窗口的关系计算是常见考点。

5.6.2 超时重传时间的选择

  • 基本要求:RTO设置不能太短(导致网络负荷增大)也不能过长(降低效率)。
  • 自适应算法
    • 加权平均往返时间(RTTs)更新公式:新的 RTTs = (1 - α) * 旧的RTTs + α * 新的RTT样本,α 推荐值为 1/8。
    • RTT偏差(RTTD)更新公式:新的 RTTD = (1 - β) * 旧的RTTD + β * |RTTs - 新的RTT样本|,β 推荐值为 1/4。
    • 超时重传时间 RTO 计算公式RTO = RTTs + 4 * RTTD
  • Karn 算法及其修正
    • Karn算法:在计算平均往返时间RTT时,排除重传报文段的往返时间样本。
    • 修正的Karn算法:报文段每重传一次,将RTO增大为原来的 γ 倍(典型值 γ=2);当不再重传时,才根据正常报文段更新RTT和RTO。
  • 易混/常考:α 和 β 的值及其物理意义(α 越小RTT更新越慢,反之越快),RTO 的计算公式是核心考点。Karn 算法解决了重传确认歧义问题,但可能导致RTT无法更新;修正算法通过增大RTO来应对。

5.6.3 选择确认 SACK

  • 概念:SACK用于只重传缺失的数据段,而非全部。
  • 启用:使用SACK需在TCP连接建立时协商,并在首部选项中声明。
  • 与累积确认关系:原有确认号字段仍用于累积确认,SACK选项额外报告不连续字节块边界。
  • SACK 选项格式
    • 允许SACK选项(类别=4,长度=2)。
    • SACK选项(类别=5,长度可变,报告最多4个字节块,每个块包含左边界和右边界)。
    • 左边界=块第一个字节序号;右边界=块最后一个字节序号+1。
  • 易混/常考:SACK的启用条件、与累积确认的关系、SACK选项中左右边界的准确定义(右边界是最后序号+1)。

5.7 TCP 的流量控制与拥塞控制

5.7.1 利用滑动窗口实现流量控制

  • 目的:使发送方发送速率不超过接收方的接收能力。
  • 实现机制:通过接收方通告的接收窗口(rwnd)动态调整发送方的发送窗口,从而控制发送速率。
  • 死锁与持续计时器
    1. 死锁:接收方通告零窗口,发送方等待非零窗口通知,而该通知可能丢失。
    2. 持续计时器:收到零窗口通知后启动,超时后发送零窗口探测报文(携带1字节数据),接收方回应当前窗口值以打破死锁。
  • 发送窗口计算例题
    • 题目条件:主机甲当前发送窗口4000字节,发送两个最大段(各1000字节)后,收到第一个段的确认,确认中通告接收窗口2000字节。计算此时甲还可发送的最大字节数。
    • 解题步骤:
      1. 发送前窗口4000。
      2. 发送2000后,已发送未确认2000,剩余可用2000。
      3. 收到第一个1000字节确认,发送窗口前移1000,已发送未确认变为1000。
      4. 收到的新 rwnd=2000,此时发送窗口=min(cwnd, 2000)=2000(本例未提及拥塞窗口cwnd,默认主要考虑接收窗口rwnd)。
      5. 还可发送数据量 = 新发送窗口 - 已发送未确认数据 = 2000 - 1000 = 1000字节。
  • 易混/常考:区分流量控制(接收方控制发送方)与拥塞控制(网络全局控制)。通过具体序号变化过程理解窗口通告是典型计算题型。持续计时器的工作原理是解决死锁的关键机制。

5.7.2 TCP的传输效率

  • 控制TCP发送报文段的时机
    1. 缓存数据达到MSS即发送。
    2. 应用进程使用PUSH操作。
    3. 发送计时器到期。
  • 糊涂窗口综合症
    • 定义:每次仅发送极少数据(如1字节),导致协议开销极大(有效数据传输效率极低)。例如,发送1字节数据,封装成IP数据报的效率约为 1/(20+20+1)=1/41≈2.44%
    • 解决方法
      • 发送方解决:Nagle算法(收集足够数据或等到最大段长度MSS再发送)。
      • 接收方解决:延迟发送确认,直到有足够缓存空间容纳一个最大段或缓存空间半满。
  • 易混/常考:糊涂窗口综合症的成因(发送方和接收方)、Nagle算法的核心思想、接收方延迟确认的策略,是提高传输效率的重点。

5.8 拥塞控制

5.8.1 拥塞控制的一般原理

  • 拥塞的定义与后果
    • 当对网络中某资源的需求超过该资源所能提供的可用部分时,网络性能变坏,整个网络的吞吐量随输入负荷增大而下降。
    • 拥塞的最坏结果是系统崩溃。
    • 拥塞发生条件:∑ 对资源需求 > 可用资源 (5-7)。
  • 拥塞产生的原因
    • 节点缓存容量太小。
    • 链路容量不足。
    • 处理机处理速率太慢。
    • 拥塞本身会进一步加剧拥塞。
  • 增加资源不能解决拥塞
    • 单纯增加资源可能使网络性能更坏。
    • 易混/常考:例如,增大缓存但不提高输出链路和处理机速度,会导致排队时间增加、超时重传增多,无法解决拥塞;提高处理机速度会转移瓶颈;拥塞引起的重传会加剧拥塞。
  • 拥塞控制与流量控制的区别
    • 拥塞控制:防止过多的数据注入网络,避免路由器或链路过载,是一个全局性过程
    • 流量控制:抑制发送端发送速率以使接收端来得及接收,是点对点(端到端) 的控制。
  • 拥塞控制的一般原理与难点
    • 前提:网络能够承受现有的网络负荷。
    • 难点:拥塞控制是一个动态问题。
    • 关系:分组的丢失是网络发生拥塞的征兆,而不是原因。
    • 风险:在许多情况下,拥塞控制本身可能成为引起网络性能恶化甚至死锁的原因。
  • 开环控制与闭环控制
    • 开环控制:在设计网络时事先考虑周全,力求工作时不发生拥塞,运行后不再中途改正。
    • 闭环控制:基于反馈环路,根据网络当前运行状态采取相应控制措施,思路是在发生拥塞后采取措施进行控制以消除拥塞。
  • 闭环控制的三个措施步骤
    • 监测:检测拥塞在何时、何处发生。
    • 传送:将拥塞发生的信息传送到可采取行动的地方。
    • 调整:调整网络系统的运行以解决出现的问题。
    • 易混/常考
      • 监测的主要指标包括:由于缺少缓存空间而被丢弃的分组百分数、平均队列长度、超时重传的分组数、平均分组时延、分组时延的标准差等,这些指标的上升都标志着拥塞的增长。
      • 调整措施的三种方式:1) 将信息传送到源站;2) 在分组中保留比特或字段表示拥塞状况;3) 周期性发出探测分组。
      • 调整的难点:过于频繁会使系统产生不稳定的振荡;过于迟缓则不具有实用价值;选择正确的时间常数相当困难。

5.8.2 TCP 的拥塞控制方法

TCP 拥塞控制概述与窗口

  • TCP 采用基于滑动窗口的方法进行拥塞控制,属于闭环控制方法
  • 发送方维持一个动态变化的拥塞窗口 cwnd (Congestion Window),其大小取决于网络的拥塞程度。
  • 真正的发送窗口值由接收方通知窗口和拥塞窗口共同决定。
    • 公式/字段真正的发送窗口值 = Min (接收方通知的窗口值,拥塞窗口值)
  • 易混/常考:发送窗口(通知窗口)的构成:设后沿P1,当前P2,前沿P3,则 P3 - P1 为发送窗口大小;P2 - P1 为已发送但未确认的字节数;P3 - P2 为允许发送但尚未发送的字节数(可用窗口)。

控制拥塞窗口变化的原则

  1. 只要网络没有出现拥塞,拥塞窗口就可以增大,以提高网络利用率。
  2. 只要网络出现拥塞或有可能出现拥塞,就必须把拥塞窗口减小,以缓解拥塞。

发送方判断拥塞的方法(隐式反馈)

  • 超时重传计时器超时:表明网络已经出现了拥塞。
  • 收到3个重复的ACK:预示网络可能会出现拥塞。
  • 原因:因传输出差错而丢弃分组的概率很小(远小于1%)。
  • 判断:发送方在超时重传计时器启动时,就判断网络出现了拥塞。

TCP 拥塞控制算法(RFC 5681)

包括四种算法:慢开始 (slow-start)拥塞避免 (congestion avoidance)快重传 (fast retransmit)快恢复 (fast recovery)

1. 慢开始 (Slow-Start) 算法
  • 目的:探测网络的负载能力或拥塞程度。
  • 算法:由小到大逐渐增大拥塞窗口 cwnd 的数值。
  • 两个关键变量:拥塞窗口 cwnd 和慢开始门限 ssthresh
  • cwnd 增长规则
    • 每收到一个对新的报文段的确认(重传的不算在内),cwnd 增加 min(N, SMSS),其中 N 是原先未被确认、但现被该确认报文段所确认的字节数,SMSS 是发送方最大报文段大小。简化描述为:每收到一个对新报文段的确认,cwnd 加 1
    • 因此,cwnd 随往返时延 RTT 按指数规律增长。
  • 传输轮次 (transmission round):一个传输轮次所经历的时间就是一个往返时间 RTT,强调把 cwnd 所允许发送的报文段都连续发送出去,并收到了对已发送的最后一个字节的确认。例如,cwnd=4 时,一个 RTT 就是连续发送 4 个报文段并收到其确认的时间。
2. 慢开始门限 ssthresh 的作用与使用规则
  • ssthresh 用于防止拥塞窗口增长过大引起网络拥塞。
  • 使用规则
    • cwnd < ssthresh 时,使用慢开始算法
    • cwnd > ssthresh 时,停止使用慢开始算法,改用拥塞避免算法
    • cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。
3. 拥塞避免 (Congestion Avoidance) 算法
  • 目的:让拥塞窗口 cwnd 缓慢地增大,避免出现拥塞。
  • 特点:具有加法增大 AI (Additive Increase) 特点,cwnd线性规律缓慢增长。
  • cwnd 增长规则:每经过一个往返时间 RTT(不管在此期间收到了多少确认),发送方的 cwnd = cwnd + 1
  • 注意:拥塞避免并非完全避免拥塞,而是让 cwnd 增长得缓慢些,使网络不容易出现拥塞。
4. 网络出现拥塞(超时)后的处理
  • 无论在慢开始阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞(重传定时器超时),执行以下操作:
    1. ssthresh = max(cwnd / 2, 2)
    2. cwnd = 1
    3. 执行慢开始算法
  • 目的:迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕。
5. 快重传 (Fast Retransmit) 算法
  • 目的:让发送方尽早知道发生了个别报文段的丢失。
  • 触发条件:发送方只要连续收到三个重复的确认(3-ACK),就立即进行重传,这样就不会出现超时。
  • 要求:接收方应立即发送确认,即使收到了失序的报文段,也要立即发出对已收到的报文段的重复确认。
  • 效果:使用快重传可以使整个网络的吞吐量提高约20%。
6. 快恢复 (Fast Recovery) 算法
  • 触发:当发送端收到三个重复的确认时,不执行慢开始算法,而是执行快恢复算法。
  • 算法步骤
    1. 计算新门限值 ssthresh = 当前cwnd / 2
    2. 设置新拥塞窗口 cwnd = ssthresh
    3. 开始执行拥塞避免算法(拥塞窗口缓慢线性增大)。
  • 策略:此过程体现了 AIMD(加法增大,乘法减小)策略。
  • 易混/常考:与超时后的“慢开始”流程对比。核心区别在于cwnd不是重置为1,而是直接设为新的ssthresh

发送窗口的决定因素

  • 公式/字段发送窗口上限 = min(rwnd, cwnd)
    • rwnd:接收方窗口。
    • cwnd:拥塞窗口。
  • rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。
  • cwnd < rwnd 时,是网络拥塞限制发送窗口的最大值。
  • 易混/常考:理解流量控制(由rwnd决定)与拥塞控制(由cwnd决定)如何共同限制发送速率。

慢开始和拥塞避免算法的实现举例

  • 初始化cwnd = 1ssthresh = 16(报文段为单位)。
  • 过程
    1. 开始执行慢开始算法cwnd 按指数规律增长(每收到一个 ACK,cwnd 加 1)。
    2. cwnd 增长到 ssthresh (16) 时,转入拥塞避免阶段cwnd 按线性规律增长(每经过一个 RTT,cwnd 加 1)。
    3. 当检测到拥塞(假设在 cwnd=24 时超时),则执行:
      • ssthresh = max(24/2, 2) = 12
      • cwnd = 1
      • 重新开始慢开始过程。
  • 易混/常考:该例题是理解慢开始指数增长和拥塞避免线性增长,以及拥塞发生后窗口变化过程的关键。

TCP拥塞控制综合应用例题

  • 题目:假设主机甲和主机乙已建立一个TCP连接,最大段长MSS=1 KB,甲一直有数据向乙发送,当甲的拥塞窗口为16 KB时,计时器发生了超时,则甲的拥塞窗口再次增长到16 KB所需要的时间至少是( )。A. 4RTT B. 5RTT C. 11RTT D. 16RTT。
  • 公式/字段/步骤/条件:需要根据超时后的算法流程(ssthresh = cwnd/2cwnd=1,然后经历慢开始和拥塞避免阶段)计算从cwnd=1增长回16KB所需的RTT数。
  • 易混/常考:此题是典型的拥塞控制过程计算题,考察对慢开始指数增长和拥塞避免线性增长阶段的理解与计算能力。注意单位换算(1KB)和增长起始点的计算。

补充:TCP的拥塞控制

5.8.3 主动队列管理 AQM

  • TCP拥塞控制与网络层策略的联系
    • 路由器的网络层分组丢弃策略对TCP拥塞控制影响最大。若路由器因某些分组处理时间长导致TCP发送方超时,会错误触发重传并认为网络拥塞。
    • 易混/常考:区分真拥塞与因处理延迟导致的“假”拥塞。
  • 先进先出(FIFO)处理规则与尾部丢弃策略
    • FIFO:最简单的队列处理规则,按到达顺序处理。
    • 尾部丢弃策略:当队列已满时,丢弃所有新到达的分组。
    • 易混/常考:理解尾部丢弃是导致全局同步问题的直接原因。
  • 尾部丢弃策略引发的问题
    • 尾部丢弃会导致一连串分组丢失,使发送方超时重传,TCP连接进入慢开始状态,发送速率骤降。
  • 全局同步
    • 当路由器进行尾部丢弃时,会丢弃所有到达的分组(不分连接)。这会导致多个TCP连接同时因超时而进入慢开始状态,造成网络吞吐量突然下降的现象,称为全局同步
    • 易混/常考:理解全局同步的定义及其对网络整体性能的影响。
  • 主动队列管理(AQM)的概念
    • 提出于1998年。
    • “主动”:不要等到队列满才丢弃分组,而是在队列长度达到某个警惕值(拥塞征兆)时,就主动丢弃分组。
    • 目的:避免尾部丢弃带来的问题。
    • 易混/常考:对比AQM与被动的尾部丢弃策略的核心区别。
  • 随机早期检测(RED)算法
    • 曾是流行的一种AQM实现方法。
    • RED路由器维护两个参数:最小门限Th_min,最大门限Th_max
    • 将队列分为三个区域,并对每个到达的分组计算平均队列长度L_AV
    • 易混/常考:记住RED的两个关键门限参数和平均队列长度的概念。
  • RED的工作机制与丢弃概率
    • L_AV < Th_min 时,丢弃概率 p = 0 (全部接纳)。
    • L_AV > Th_max 时,丢弃概率 p = 1 (全部丢弃)。
    • Th_min <= L_AV <= Th_max 时,丢弃概率 p01 之间 (如线性变化)。
    • 易混/常考:根据L_AV与门限值的关系,判断分组的处理方式。这是RED的核心考点。
  • RED的现状与AQM的必要性
    • 多年实践证明RED效果不太理想。RFC 7567 (2015) 不再推荐使用RED。
    • 但对路由器进行主动队列管理(AQM)仍是必要的,即智能管理排队,而非简单尾部丢弃。
    • 已有几种算法在实验阶段以替代RED。
    • 易混/常考:了解RED已被淘汰的趋势,但AQM思想的重要性不变。

5.9 TCP 的运输连接管理

  • TCP运输连接的三个阶段
    • TCP面向连接,其连接管理包括三个阶段:1. 连接建立,2. 数据传送,3. 连接释放。

5.9.1 TCP 的连接建立

  • TCP连接建立需解决的三个问题
    1. 确知对方存在。
    2. 协商参数(如最大窗口值、选项、服务质量等)。
    3. 分配运输实体资源(如缓存、连接表项)。
  • TCP连接建立的方式与三报文握手
    • 采用客户-服务器方式。主动发起方为客户(client),被动方为服务器(server)。
    • 采用三报文握手建立连接,目的是防止已失效的连接请求报文段突然到达导致错误。
    • 易混/常考:理解为什么是“三次握手”而不是两次。
  • TCP连接建立的三报文握手详细过程及报文段规则
    1. 第一次握手:客户发送连接请求报文段,SYN=1seq=x该报文段不能携带数据,但消耗一个序号。
    2. 第二次握手:服务器发回确认报文段,SYN=1, ACK=1, ack=x+1, seq=y该报文段同样不能携带数据,但消耗一个序号。
    3. 第三次握手:客户发送确认报文段,ACK=1, ack=y+1, seq=x+1此报文段可以携带数据。若不携带数据,则不消耗序号,下一个数据报文段序号仍是seq=x+1
      • 报文段关键字段:SYN, ACK, seq, ack
      • 易混/常考:牢记三次握手中每个报文段的标志位和序号/确认号变化规则,以及它们是否消耗序号。这是高频考点。

5.9.2 TCP 的连接释放

  • TCP连接释放过程与四报文握手
    • 数据传输结束后,通信双方都可释放连接。
    • TCP连接释放过程是四报文握手
  • FIN报文段与半关闭状态
    • FIN报文段即使不携带数据,也消耗掉一个序号。
    • 释放过程(以A先发起为例): a. A发送连接释放报文段,FIN=1, seq=u。 b. B收到后发回确认,ACK=1, ack=u+1, seq=v。此时A->B方向连接释放,TCP连接进入半关闭(half-close)状态。B仍可向A发送数据。 c. 若B也没有数据要发送,其应用进程通知TCP释放连接。B发送连接释放报文段,FIN=1, ACK=1, ack=u+1, seq=w。 d. A收到后必须发出确认,ACK=1, ack=w+1, seq=u+1
    • 报文段关键字段:FIN, ACK, seq, ack
    • 易混/常考:理解“半关闭”状态的含义,并掌握四次挥手过程中报文段字段的准确值。
  • 等待2MSL时间的原因
    • MSL (Maximum Segment Lifetime):最大报文段寿命,TCP报文段在网络中允许存在的最长时间。
    • A在发送完最后一个ACK报文段后,必须等待2MSL的时间,原因:
      • 第一:保证A发送的最后一个ACK报文段能够到达B。
      • 第二:防止“已失效的连接请求报文段”出现在本连接中。
    • 等待时间 = 2 * MSL。
    • 易混/常考:这是必考概念,需准确记住两个原因。
  • TCP连接释放例题结论
    • 假设RTT=50ms,MSL=800ms,C主动释放连接。从C发出FIN时刻算起,C进入CLOSED状态至少需(2MSL + 0.5 RTT) = 1650ms,S进入CLOSED状态至少需(0.5 RTT + 2MSL) = 1650ms,但选项中S的时间计算更依赖于最后一个ACK是否丢失及等待时间,需根据具体选项分析。该例题结论在选项D:C需1650ms,S需75ms。
    • 计算需考虑RTT和MSL。
    • 易混/常考:结合定量参数分析连接释放各阶段的时序和耗时。
  • 保活计时器
    • 用于防止TCP连接长时间空闲。
    • 通常设置为2小时
    • 若服务器2小时内未收到客户信息,则发送探测报文段。
    • 若连续发送10个探测报文段(每个相隔75秒)后仍无响应,则终止连接。
    • 易混/常考:记住保活计时器的作用和关键参数值(2小时,10个,75秒)。

5.9.3 TCP 的有限状态机

第6章 应用层

6.1 域名系统DNS

6.1.1 概述

  • 功能:互联网使用的命名系统,用于将域名转换为IP地址。
  • 性质:是互联网各种网络应用的核心服务,是一个联机分布式数据库系统,采用客户-服务器方式工作。

6.1.2 域名结构

  • 命名规则:采用层次树状结构命名。域名由标号序列组成,标号间用点隔开,代表不同级别(例如 mail.cctv.com, 三级.二级.顶级)。
  • 格式三级域名.二级域名.顶级域名
  • 字符限制
    • 每个标号不超过63个字符。
    • 不区分大小写。
    • 完整域名不超过255个字符。
  • 性质:域名是逻辑概念,不代表物理位置。

易混/常考:域名长度限制(63字符/标号,255字符/总长),是逻辑概念。

6.1.3 顶级域名(TLD)

  1. 国家顶级域名(nTLD, ccTLD):采用ISO 3166规定,共316个。
  2. 通用顶级域名(gTLD):如 .com, .net, .org 等,共20个。
  3. 基础结构域名:仅有 .arpa,用于反向解析。
  4. 新顶级域名(New gTLD):由机构向ICANN申请。

易混/常考:区分各类顶级域名,特别是 .arpa 的特殊用途。

6.1.4 二级域名划分

在国家顶级域名(如 .cn)下的二级域名由该国自行确定。我国划分为:

  • “类别域名”
  • “行政区域名”

6.1.5 域名服务器

(1) “区”与权限域名服务器

  • 区(Zone):一个服务器所负责管辖(或有权限)的范围。
  • 划分原则:各单位根据具体情况划分“区”,区内的节点必须能连通。
  • 权限域名服务器:每个区设置相应的权限域名服务器,保存该区内所有主机域名到IP地址的映射。

易混/常考:“区”与“域”的关系(区可以等于域,也可以是域的一部分)。

(2) 域名服务器类型

根据作用分为:

  1. 根域名服务器
  2. 顶级域名服务器(TLD服务器)
  3. 权限域名服务器
  4. 本地域名服务器(默认域名服务器)

(3) 根域名服务器

  • 重要性:最高层次、最重要。
  • 特点
    • 所有根域名服务器都知道所有顶级域名服务器的域名和IP地址。
    • 任何本地域名服务器无法解析时,首先求助于根服务器。
    • 若所有根服务器瘫痪,整个DNS系统无法工作。
  • 数量:共有13个不同IP地址的根域名服务器(域名从a到m),它们对应的是逻辑组,每组由多台机器组成,采用任播技术(例如,截至2020年9月全球共有1098个实例运行)。

易混/常考:根服务器数量(13个逻辑组,而非13台物理机器),及其瘫痪的影响。

(4) 其他域名服务器职能

  1. 顶级域名服务器:管理在该顶级域名下注册的所有二级域名,响应查询(可能直接给出结果或下一步服务器地址)。
  2. 权限域名服务器:负责一个“区”,当不能给出最终结果时,告知下一步应查找的权限服务器。
  3. 本地域名服务器:主机DNS查询请求的第一站,能解析同本地ISP内主机,也称为默认域名服务器。
  • 查询路径示例:主机 -> 本地域名服务器 -> (可能)根域名服务器 -> … -> 权限域名服务器。

易混/常考:区分顶级域名服务器和权限域名服务器的管辖范围(顶级域名 vs. 区)。

(5) 可靠性措施

通过数据复制提高可靠性。

  • DNS服务器数据复制到多个辅助域名服务器
  • 主服务器定期向辅助服务器复制数据。
  • 数据更改只能在主服务器进行,保证一致性。
  • 主服务器故障时,辅助服务器可保证查询不中断。

6.1.6 域名解析过程

  1. 递归查询
    • 使用场景:主机向本地域名服务器查询时使用。
    • 过程:若本地服务器不知道,它就以DNS客户身份,向根域名服务器发出查询请求(替主机完成后续查询)。
  2. 迭代查询
    • 使用场景:本地域名服务器向根域名服务器查询时常用。
    • 过程:根服务器要么给出IP地址,要么告诉下一个应查询的域名服务器IP地址,本地服务器继续后续查询。

易混/常考:两种查询方式的发起方和主要使用场景是核心考点。常见混合查询模式:主机到本地用递归,本地向根及以后用迭代。

6.1.7 高速缓存

  • 作用:存放最近用过的域名映射记录。
  • 目的:减轻根服务器负荷,减少DNS报文数量。
  • 管理机制:每项内容有计时器,超过合理时间删除。响应中指明绑定的有效时间值,增大可减少网络开销,减小可提高转换准确性。

易混/常考:高速缓存的作用(减轻根服务器负担)和缓存项过期管理机制。

6.2 文件传送协议

6.2.1 FTP概述

  • FTP是互联网上使用最广泛的文件传送协议。
  • 提供交互式访问,允许指明文件类型、格式和存取权限。
  • 能屏蔽计算机系统细节,适合异构网络间文件传送。
  • 属于文件共享协议中的“复制整个文件”一类。

易混/常考:FTP的主要特性(交互式、异构兼容、复制整个文件)。

6.2.2 文件共享协议对比

  1. 文件传送协议(如FTP, TFTP):复制整个文件。要访问文件需先获得本地副本;修改需在本地副本进行后再传回。
  2. 联机访问协议(如NFS):允许同时对一个文件进行存取,实现远地透明存取,由操作系统负责。

易混/常考:对比FTP(复制整个文件)和NFS(联机访问,实时共享)的根本区别。

6.2.3 FTP的基本工作原理

(1) 网络环境下复制文件的复杂性

面临四个主要问题:

  1. 计算机存储数据的格式不同。
  2. 文件的目录结构和文件命名的规定不同。
  3. 对于相同的文件存取功能,操作系统使用的命令不同。
  4. 访问控制方法不同。

(2) FTP的特点

  • 基于TCP的可靠运输服务。
  • 使用客户-服务器方式
  • 主要功能:减少或消除在不同操作系统下处理文件的不兼容性。
  • 一个FTP服务器进程可同时为多个客户进程提供服务。

(3) 服务器进程组成

由一个主进程和多个从属进程组成:

  • 主进程:负责接受新请求。
  • 从属进程:负责处理单个请求。
  • 主进程工作步骤
    1. 打开熟知端口(端口号为21)。
    2. 等待客户进程发出连接请求。
    3. 启动从属进程处理请求。从属进程处理完毕后终止,运行期间可能创建其他子进程。
    4. 回到等待状态,继续接受其他请求。主进程与从属进程并发进行。

(4) 控制连接与数据连接

FTP使用两个独立的TCP连接:

  1. 控制连接
    • 整个会话期间一直保持打开。
    • 传输FTP客户发出的传送请求(命令)。
    • 服务器端使用熟知端口21
  2. 数据连接
    • 动态创建,传输文件,传送完毕后释放。
    • 服务器端使用临时端口

易混/常考:区分控制连接(持久)和数据连接(临时);理解两者的功能差异。

(5) NFS与FTP的比较

  • FTP的局限:仅能访问副本(整个文件)。
  • NFS的特点
    1. 允许应用进程把远程文件夹挂载到本地,像本地硬盘一样使用。
    2. 可以直接打开、编辑、保存、删除远程文件。
    3. 只复制大文件中的一个很小片段,而不复制整个文件。
    4. 在网络上传送的只是少量的修改数据。

易混/常考:理解NFS相对于FTP的核心优势是“按需访问”和“减少网络流量”。

6.2.4 简单文件传送协议TFTP

(1) 主要特点

  • 简单,基于UDP的文件传输协议。
  • 使用客户-服务器方式,使用UDP数据报,因此需要有自己的差错改正措施。
  • 功能限制:只支持文件传输,不支持交互。没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
  • 优点:可用于UDP环境;代码所占的内存较小。
  • 传送特点
    1. 每次传送的数据报文中有512字节的数据,但最后一次可不足512字节。
    2. 数据报文按序编号,从1开始。
    3. 支持ASCII码或二进制传送。
    4. 可对文件进行读或写。
    5. 使用很简单的首部。

(2) 工作原理(类似停止等待协议)

  • 发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。
  • 发完数据后在规定时间内收不到确认就要重发数据PDU。
  • 发送确认PDU的一方若在规定时间内未收到下一个文件块,需重发确认PDU,以保证传送不致因某一个数据报的丢失而告失败。

(3) 工作过程

  1. TFTP客户进程发送一个读请求或写请求报文给TFTP服务器进程,其UDP熟知端口号码为69
  2. TFTP服务器进程选择一个新的端口和TFTP客户进程进行通信。
  3. 文件结束标志
    • 若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据报文(作为结束标志)。
    • 若文件长度不是512字节的整数倍,则最后传送数据报文的数据字段一定不满512字节,作为文件结束的标志。

易混/常考:与FTP对比(基于TCP vs UDP;功能复杂 vs 简单);记忆TFTP数据块大小(512字节)和序号起始值(1);记忆起始端口号(69);理解文件传输结束的两种情况及如何区分。

6.3 远程终端协议TELNET

6.3.1 协议概述

  • 一个基于TCP的远程终端协议,允许用户透明地登录和操作远地主机。
  • 功能:允许用户通过TCP连接登录到远地的另一个主机上(使用主机名或IP地址)。能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。服务是透明的
  • 又称为终端仿真协议
  • 使用客户-服务器方式:本地系统运行客户进程,远地主机运行服务器进程。
  • 服务器中的主进程等待新的请求,产生从属进程来处理每一个连接。

6.3.2 网络虚拟终端NVT格式

  • 定义:TELNET协议定义的一种标准格式,用于在不同系统间转换数据和命令。
  • 两个字符集
    1. 数据字符(标识为0):使用标准ASCII字符。
    2. 控制字符(标识为1):用于控制功能。
  • 工作流程
    1. 客户端把用户的击键和命令转换成NVT格式,并送交服务器。
    2. 服务器端把收到的数据和命令,从NVT格式转换成远地系统所需的格式。
    3. 向客户返回数据时,服务器把远地系统的格式转换为NVT格式。
    4. 本地客户再从NVT格式转换到本地系统所需的格式。
  • 选项协商:使客户和服务器可商定使用更多的终端功能,协商的双方是平等的。

易混/常考:理解NVT作为“中间语言”的作用;掌握数据流向和格式转换过程。

6.4 万维网

6.4.1 万维网概述

  • 性质:万维网是一个分布式超媒体信息存储系统,其核心是超文本链接机制。
  • 定义:并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所。
  • 核心技术:“链接”,使从一个站点到另一个站点的访问非常方便。
  • 超文本与超媒体
    • 超文本:文档仅包含文本信息。
    • 超媒体:文档还包含其他信息,如图形、图像、声音、动画,甚至活动视频图像等。万维网是超文本系统的扩充。
  • 分布式系统:信息分布在整个互联网上,每台主机上的文档都独立进行管理。
  • 工作方式:以客户-服务器方式工作。客户程序是浏览器;服务器程序运行在万维网服务器上。
  • 页面:在一个客户程序主窗口上显示出的万维网文档称为页面(page)。

6.4.2 万维网必须解决的四个问题

  1. 怎样标志分布在整个互联网上的万维网文档?
    • 使用统一资源定位符URL(Uniform Resource Locator),使每个文档具有唯一标识。
  2. 用什么协议来实现万维网上的各种链接?
    • 使用超文本传送协议HTTP(HyperText Transfer Protocol),它是一个应用层协议,使用TCP连接进行可靠的传送。
  3. 怎样使不同作者创作的不同风格的万维网文档都能显示出来,同时使用户清楚地知道在什么地方存在着链接?
    • 使用超文本标记语言HTML(HyperText Markup Language)。
  4. 怎样使用户能够很方便地找到所需的信息?
    • 使用各种搜索工具(即搜索引擎)

易混/常考:记忆并对应这四个问题及其解决方案(URL, HTTP, HTML, 搜索引擎)。

6.4.3 统一资源定位符URL

  • 定义:对互联网上资源位置和访问方法的简洁表示。
  • 格式:由以冒号(:)隔开的两大部分组成,对字符大写或小写没有要求。
  • 一般形式<协议>://<主机>:<端口>/<路径>
  • 各组成部分说明
    • 协议:规定了访问资源的方法(如http, ftp)。
    • 主机:资源所在主机的域名或IP地址。
    • 端口(可选):省略时使用该协议的默认端口号(如http的默认端口是80)。
    • 路径(可选):资源在主机上的具体位置(目录或文件)。区分大小写。省略时使用所定义的默认路径。后面可能还有一些选项。
  • 示例(使用HTTP的URL):http://www.tsinghua.edu.cn/publish/newthu/newthu_cnt/faculties/index.html

易混/常考:掌握URL各部分的含义和可选性;能够解析给定的URL。

补充:万维网

6.4.3 超文本传送协议 HTTP

  • HTTP协议基础
    • HTTP是面向事务的应用层协议,使用TCP进行可靠传送。
    • 定义了浏览器与服务器间的通信格式和规则,是万维网可靠交换文件的基础。
    • 易混/常考:注意“面向事务”与“面向连接”的区别。HTTP本身是“无连接”的(指HTTP协议不维护连接状态),但依赖于TCP提供的“面向连接”服务。
  • HTTP的主要特点
    1. 使用面向连接的TCP作为运输层协议,保证数据可靠传输。
    2. HTTP协议本身是无连接的。
    3. HTTP是无状态的,简化了服务器设计,便于支持大量并发请求。
      • 易混/常考:区分“HTTP无连接”与“HTTP无状态”。“无连接”是指通信双方在交换HTTP报文前不需要先建立HTTP连接(尽管底层TCP连接是需要的)。“无状态”是指同一个客户的多次请求之间,服务器并不记得之前的请求。
  • HTTP/1.0的主要缺点
    1. 非持续连接:每请求一个文档就需要两倍RTT的开销。
    2. 客户和服务器每次建立新的TCP连接都要分配缓存和变量,加重服务器负担。
      • 公式/字段/步骤/条件:请求一个主页(含10个链接图片)所需时间 ≥ 22 RTT + 11个文档的传输时间。
      • 易混/常考:计算非持续连接下获取含多个对象的页面所需的时间开销。
  • HTTP/1.1的持续连接
    1. 持续连接:服务器发送响应后一段时间内保持连接不释放,后续请求响应可继续使用该连接。
    2. 两种工作方式:非流水线方式和流水线方式。
      • 易混/常考:比较HTTP/1.0的非持续连接与HTTP/1.1的持续连接。
  • 持续连接的两种工作方式
    1. 非流水线方式:客户收到前一个响应后才能发出下一个请求,存在TCP连接空闲状态。
    2. 流水线方式:客户收到响应报文前就能接着发送新的请求报文,服务器可连续发回响应,下载效率高。
      • 公式/字段/步骤/条件:使用流水线方式获取包含10个链接图片的主页,所需时间 ≥ 1 RTT + 11个文档的传输时间。
      • 易混/常考:比较流水线与非流水线方式在时间和连接利用率上的差异。
  • HTTP/2协议
    1. 是HTTP/1.1的升级版本,向后兼容。
    2. 服务器可以并行发回响应(使用同一个TCP连接)。
    3. 允许客户复用TCP连接进行多个请求。
    4. 把报文划分为许多较小的二进制编码的帧,采用新的压缩算法,不发送重复的首部字段,减小首部开销,提高传输效率。
      • 易混/常考:掌握HTTP/2相对于HTTP/1.1的主要改进点(多路复用、二进制分帧、头部压缩)。
  • 代理服务器(Web缓存)
    • 代理服务器(万维网高速缓存)代表浏览器发出HTTP请求,使用高速缓存可减少访问互联网服务器的时延。
    • 易混/常考:理解代理服务器作为中间人,缓存资源以加速后续访问的机制。
  • HTTP报文结构概述
    1. HTTP报文分为请求报文和响应报文两类。
    2. 由于HTTP是面向正文的,字段值均为ASCII码串,长度不确定。
    3. 每类报文由三部分组成:开始行、首部行、实体主体。
      • 易混/常考:区分请求报文和响应报文的开始行名称(请求行 vs 状态行)。
  • 请求报文结构
    1. 开始行是请求行。
    2. 请求行格式:方法 URL 版本 CRLF
    3. 首部行格式:首部字段名 : 值 CRLF
    4. 实体主体通常不使用。
      • 公式/字段/步骤/条件方法 URL 版本 CRLF
      • 易混/常考:记忆请求行的三个字段及顺序。
  • HTTP请求方法
    • 请求报文的类型由所采用的方法(命令)决定。
    • 公式/字段/步骤/条件:常见方法包括:OPTION(请求选项信息)、GET(请求读取URL标志的信息)、HEAD(请求读取信息的首部)、POST(给服务器添加信息)、PUT(在URL下存储文档)、DELETE(删除URL标志的资源)、TRACE(环回测试)、CONNECT(用于代理服务器)。
    • 易混/常考:理解不同方法(尤其是GET、POST、PUT、DELETE)的功能和语义。
  • 响应报文结构
    1. 开始行是状态行。
    2. 状态行格式:版本 状态码 短语 CRLF
    3. 实体主体可选。
      • 公式/字段/步骤/条件版本 状态码 短语 CRLF
      • 易混/常考:记忆状态行的三个字段及顺序。
  • HTTP状态码
    • 状态码是三位数字,分为5大类:1xx(通知信息)、2xx(成功)、3xx(重定向)、4xx(客户的差错)、5xx(服务器的差错)。
    • 公式/字段/步骤/条件:常见状态行示例:HTTP/1.1 202 Accepted(接受)、HTTP/1.1 400 Bad Request(错误的请求)、HTTP/1.1 404 Not Found(找不到)。
    • 易混/常考:牢记5类状态码的首位数字及其含义,特别是2xx(成功)、4xx(客户端错误)、5xx(服务器错误)类。
  • Cookie机制
    • 万维网使用Cookie在HTTP服务器和客户之间传递状态信息,用于跟踪用户。
    • 易混/常考:理解Cookie如何实现HTTP协议的“有状态”特性,以及其在用户识别和会话管理中的应用。

6.4.4 万维网的文档

  • 万维网文档分类 万维网文档分为三类:
    1. 静态文档:内容固定不变。
    2. 动态文档:内容由应用程序在服务器端动态创建。
    3. 活动文档:由服务器将程序副本发送到浏览器端运行,内容可在客户端改变。
      • 易混/常考:区分三种文档的生成位置和特点:静态(服务器端预先生成)、动态(服务器端按需生成)、活动(客户端运行生成)。
  • HTML语言
    1. HTML是制作万维网页面的标准语言。
    2. HTML文档是包含标签(如<HTML>, <HEAD>, <BODY>等)的ASCII码文件,后缀为.html.htm
    3. HTML 5.0增加了对音频(<audio>)和视频(<video>)的支持。
      • 易混/常考:理解HTML标签的嵌套结构(如文档结构标签、格式化标签)。
  • HTML中的图像与链接标签
    1. <img>标签用于插入内含图像(如GIF, JPEG格式)。
    2. <a>标签定义链接,包含起点(页面中的触发点)和终点(URL或本地路径),分为远程链接和本地链接。
      • 易混/常考:区分远程链接和本地链接的终点指定方式。
  • XML、XHTML与CSS
    1. XML:可扩展标记语言,设计宗旨是传输和存储数据,允许用户自定义标签。
    2. XHTML:更严格、更纯净的HTML版本,是XML的应用。
    3. CSS:层叠样式表,用于定义HTML文档的布局和外观(如字体、颜色、间距)。
      • 易混/常考:理解三者定位不同:HTML/XHTML用于结构化内容,CSS用于格式化内容,XML用于描述数据
  • 动态文档与CGI
    1. 动态文档内容在浏览器访问时由服务器端的应用程序动态生成。
    2. 通用网关接口CGI:定义了动态文档如何创建、输入数据如何提供、输出结果如何使用的标准。CGI程序(脚本)像网关一样连接Web服务器与外部程序。
      • 公式/字段/步骤/条件:万维网服务器扩充功能:1. 增加应用程序处理浏览器数据并创建动态文档。2. 增加机制使服务器能将浏览器数据传给该程序,并能解释程序的输出。
      • 易混/常考:理解CGI在Web服务器与生成动态内容的外部程序之间所起的“接口”和“网关”作用。
  • 活动文档
    • 活动文档技术将屏幕更新工作转移到浏览器端。服务器返回一段程序副本在浏览器运行,可与用户交互并动态改变显示,减少了服务器和网络带宽的压力。
    • 易混/常考:比较活动文档与动态文档的核心区别:动态文档的“动”发生在服务器端,活动文档的“动”发生在客户端浏览器端。

6.4.5 万维网的信息检索系统

  • 万维网搜索引擎的分类与特点 搜索引擎是万维网中用来进行搜索的程序,主要分为:
    1. 全文检索搜索引擎
      • 纯技术型检索工具。
      • 通过“蜘蛛”(Spider)程序自动收集各网站信息,建立在线索引数据库。
      • 查询时基于已建立的索引数据库(非实时)。
      • 需要定期更新维护数据库。
      • 举例:Google、必应、百度。
    2. 分类目录搜索引擎
      • 不采集网站信息,依赖网站主动提交的关键词和描述。
      • 经人工审核编辑后,形成分类目录数据库。
      • 查询时按分类浏览,准确性较好。
      • 结果返回被收录网站主页的URL地址。
      • 也称为分类网站搜索。
      • 举例:雅虎、雅虎中国、新浪、搜狐、网易。
    3. 垂直搜索引擎
      • 针对特定领域、人群或需求提供搜索服务。
      • 使用关键词搜索,但基于行业知识上下文。
      • 结果更倾向于信息、消息、条目。
      • 热门领域:购物、旅游、汽车、求职、房产、交友等。
    4. 元搜索引擎
      • 将用户请求发送到多个独立搜索引擎,并将结果集中处理后统一格式返回。
      • 是“搜索引擎之上的搜索引擎”。
      • 重点在提高搜索速度、智能化处理结果、个性化搜索功能及友好界面。
      • 查全率和查准率都比较高。

6.5 电子邮件系统

6.5.1 电子邮件概述

  • 电子邮件系统基本概念与组成
    1. 定义:电子邮件指使用电子设备交换的邮件及其方法。
    2. 优点:使用方便,传递迅速,费用低廉,可传送多种类型信息(文字、声音、图像等)。
    3. 重要标准:简单邮件发送协议(SMTP)、互联网文本报文格式、通用互联网邮件扩充(MIME)、邮件读取协议(POP3, IMAP)。
    4. 系统组成:三个主要构件。 a. 用户代理 (UA): - 用户与电子邮件系统的接口,即电子邮件客户端软件。 - 基本功能:撰写、显示、处理、通信。 b. 邮件服务器: - 又称为邮件传输代理。 - 功能:发送和接收邮件,并向发信人报告邮件传送情况。 - 按客户-服务器方式工作。 - 必须能够同时充当客户和服务器。 c. 邮件发送和读取协议: - 发送和读取使用不同协议。 - SMTP:用于用户代理向邮件服务器或邮件服务器之间发送邮件。 - POP3/IMAP:用于用户代理从邮件服务器读取邮件。 - 均基于TCP连接,确保可靠传送。
    5. 电子邮件的组成:由信封(envelope)和内容(content)两部分组成。传输程序根据信封信息传送邮件;用户在读取时才能见到内容。
    6. 电子邮件地址格式
      • 公式/格式:收件人邮箱名@邮箱所在主机的域名 (6-1)
      • 举例:xiexiren@tsinghua.org.cn
      • 条件:用户名在该域名范围内唯一;邮箱所在主机的域名在全世界必须唯一。 - 易混/常考:邮件服务器不会在互联网中间落地存储;UA、邮件服务器、协议三者的角色区分。

6.5.2 简单邮件传送协议 SMTP

  • SMTP协议工作原理
    1. 定义:SMTP规定了两个相互通信的SMTP进程之间交换信息的方法。
    2. 工作模式:基于文本(ASCII码)的客户-服务器协议,采用命令-响应方式交互。
    3. 基础:基于TCP实现,使用熟知端口25进行通信。
    4. 通信过程(三个阶段): a. 连接建立:SMTP客户使用端口25与SMTP服务器建立TCP连接。不使用中间的邮件服务器。 b. 邮件传送 c. 连接释放:邮件发送完毕后,释放TCP连接。
      • 公式/字段/步骤/条件:SMTP通信三阶段(连接建立、邮件传送、连接释放)。
      • 易混/常考:SMTP用于发送邮件,不用于读取邮件;连接建立时直接使用端口25。

6.5.3 电子邮件的信息格式

  • 电子邮件信息格式标准
    1. 电子邮件分为信封和内容两大部分。
    2. RFC 5322 只规定了邮件内容中首部(header)的格式。
    3. 邮件的主体(body)部分由用户自由撰写。

6.5.4 邮件读取协议 POP3 和 IMAP

  • POP3与IMAP协议特点及比较
    1. 两个主要邮件读取协议: a. POP3 (邮局协议版本3): - 基于TCP的客户-服务器协议。 - 支持用户鉴别。 - 服务器删除已被用户读取的邮件。 b. IMAP (网际报文存取协议): - 基于TCP的客户-服务器协议,是一个联机协议。 - 连接后只下载邮件首部(部分下载)。 - 用户直接在IMAP服务器上创建和管理文件夹。 - 支持搜索邮件内容。 - 支持在不同地方使用不同计算机随时上网处理邮件。 - 允许收信人只读取邮件中的某一部分。 - 缺点:查阅邮件必须联网。
    2. IMAP与POP3比较(关键差异):

      操作位置/内容 IMAP POP3
      阅读、标记、移动、删除邮件 客户端与邮箱同步更新 仅在客户端内操作
      保存到已发送 客户端与邮箱同步更新 仅在客户端内操作
      创建文件夹 客户端与邮箱同步更新 仅在客户端内操作
      保存草稿 客户端与邮箱同步更新 仅在客户端内操作
      垃圾文件夹/广告邮件夹 支持 不支持
    3. 协议角色澄清
      • POP3或IMAP与SMTP完全不同。
      • SMTP:用于发信人UA向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件。
      • POP3/IMAP:用于用户从目的邮件服务器读取邮件。 - 易混/常考:POP3是下载邮件并删除服务器副本;IMAP是联机管理,邮件保留在服务器上;两者与SMTP的应用阶段不同。

6.5.5 基于万维网的电子邮件

  • 基于万维网的电子邮件特点与协议使用
    1. 传统UA缺点:需安装客户端软件,收发不方便。
    2. 万维网电子邮件优点:不需安装额外客户端软件,能联网即可方便收发,界面友好。
    3. 协议使用
      • 用户(发件人)与邮件服务器之间:使用HTTP协议(如POST方法发送,GET方法读取)。
      • 两个邮件服务器之间:仍然使用SMTP协议传送邮件。

6.5.6 通用互联网邮件扩充 MIME

  • MIME的作用、组成及编码类型
    1. 背景(SMTP缺点)
      • 不能传送可执行文件或其他二进制对象。
      • 限于传送7位ASCII码,无法传送非ASCII编码信息。
      • 服务器会拒绝超过一定长度的邮件。
      • 某些SMTP实现未完全遵从RFC 821标准。
    2. MIME概述
      • 目的:继续使用现有RFC 822格式,但增加邮件主体结构,并定义传送非ASCII码的编码规则。
      • 与SMTP关系:MIME没有改动或取代SMTP,而是对其功能的补充和扩展。
    3. MIME主要包括三个部分: a. 定义了5个新的邮件首部字段: - MIME-Version:MIME版本,若无则视为英文文本。 - Content-Description:可读字符串,邮件说明。 - Content-Id:邮件唯一标识符。 - Content-Transfer-Encoding:邮件主体传送时使用的编码方法。 - Content-Type:邮件内容类型/子类型。 b. 定义了许多邮件内容的格式,对多媒体电子邮件表示方法进行了标准化。 c. 定义了传送编码,可对任何内容格式进行转换,避免被邮件系统改变。
    4. 内容传送编码 (Content-Transfer-Encoding)

      编码方法 说明
      7bit 默认。7位ASCII编码,每行≤1000字符(含回车换行)。
      8bit 8位非ASCII编码,每行≤1000字节(含回车换行)。
      Binary 8位非ASCII编码,任意长度字节串。
      Base64 将任意字节串转换为7位ASCII字符串。用于二进制和非文本数据。
      Quoted-printable 将任意字节串转换为ASCII字符串。用于非文本数据,特别是大部分为ASCII字符时。
    5. 内容类型 (Content-Type)
      • 格式:必须含有两个标识符:类型(type)/子类型(subtype)
      • MIME标准原先定义了7个基本内容类型和15种子类型。
      • 允许定义专用类型,但需以X-开头以避免冲突。
      • 主要类型及子类型举例:

        | 内容类型 | 子类型举例 | 说明 | |————–|———————————-|————————–| | text | plain, html, xml, css | 不同格式的文本 | | image | gif, jpeg, tiff | 静止图像 | | audio | basic, mpeg, mp4 | 声音 | | video | mpeg, mp4, quicktime | 影片 | | model | vrml | 3D模型 | | application | octet-stream, pdf, javascript, zip | 应用程序数据 | | message | http, rfc822 | 封装的报文 | | multipart | mixed, alternative, parallel, digest | 多种类型的组合(非常有用) | - 公式/字段/步骤/条件:MIME五个新首部字段的定义;Content-Type的格式要求;多种编码方法的适用场景。 - 易混/常考:MIME是SMTP的增强而非替代;Base64编码用于二进制数据;Multipart类型使邮件内容组合更灵活。

6.6 动态主机配置协议 DHCP

6.6.1 协议配置与DHCP概述

  • 协议配置:在协议软件中给协议参数赋值的动作。连接到互联网的计算机协议软件需配置的参数包括:IP地址、子网掩码、默认路由器的IP地址、域名服务器的IP地址。
  • DHCP概述:提供了即插即用连网机制,允许计算机加入网络自动获取IP地址,无需手工配置。
  • 地址分配:为位置固定的服务器指派永久地址,为客户端分配临时地址。
  • 易混/常考:DHCP提供的是临时(租用)地址,但可为服务器指派永久地址。

6.6.2 DHCP工作方式与端口

  • 工作方式:采用客户/服务器方式,请求/应答方式工作。
  • 传输层协议:基于UDP协议。
  • 端口号:DHCP服务器运行在67号UDP端口,DHCP客户运行在68号UDP端口。

6.6.3 DHCP基本报文交互

  • 发现报文(DHCPDISCOVER):主机启动时广播发送。本地网络所有主机能收到,但只有DHCP服务器回应。
  • 提供报文(DHCPOFFER):服务器在数据库中查找配置,若找不到则从IP地址池分配一个地址,返回提供报文。
  • 易混/常考:发现报文是广播,提供报文是单播。

6.6.4 DHCP中继代理

  • 目的:解决每个网络都需要DHCP服务器导致数量过多的问题。
  • 部署:每个网络至少有一个DHCP中继代理,并配置了DHCP服务器的IP地址。
  • 工作流程
    1. 中继代理收到主机的广播发现报文。
    2. 以单播方式向DHCP服务器转发。
    3. 收到服务器的提供报文后,再发回给主机。

6.6.5 租用期

  • 概念:DHCP服务器分配的IP地址是临时的,DHCP客户只能在一段有限时间内使用,这段时间称为租用期。
  • 决定因素:租用期的数值由服务器决定;客户也可在报文中提出对租用期的要求。

6.6.6 DHCP协议工作过程(详细步骤)

  1. UDP被动打开:服务器打开端口67,客户打开端口68。
  2. 发现:客户从端口68广播发送 DHCPDISCOVER
  3. 提供:各服务器发送 DHCPOFFER(单播)。
  4. 请求:客户从多个提供中选择一个,向该服务器发送 DHCPREQUEST
  5. 确认:被选中的服务器发送确认报文 DHCPACK,客户进入已绑定状态,开始使用临时IP地址。
  6. 租用期更新计时:客户根据服务器提供的租用期T设置两个计时器T1和T2,超时时间分别是0.5T和0.875T。
  7. 租用期过一半(T1到期):客户发送 DHCPREQUEST 要求更新租用期。
  8. 服务器同意更新:回复 DHCPACK,客户得到新租用期并重置计时器。
  9. 服务器不同意更新:回复 DHCPNACK,客户必须立即停止使用原IP地址,重新申请。
  10. 若服务器不响应步骤7的请求:在租用期过了87.5%(T2到期)时,客户必须重新发送 DHCPREQUEST,然后继续后续步骤。
  11. 提前终止:客户可随时向服务器发送释放报文 DHCPRELEASE,提前终止租用期。
    • 易混/常考
    • 计时器T1(0.5T)和T2(0.875T)的触发事件。
    • 收到NACK后必须立即停止使用原IP地址。
    • RELEASE报文的作用。

6.7 简单网络管理协议 SNMP

6.7.1 网络管理基本概念与功能

  • 定义:网络管理是对硬件、软件和人力的协调,以对网络资源进行监视、测试、配置、分析、评价和控制。
  • 五大功能
    1. 故障管理(检测、隔离、纠正)。
    2. 配置管理(初始化、配置)。
    3. 计费管理(记录资源使用)。
    4. 性能管理(估价运行状况及效率)。
    5. 网络安全管理(授权、访问控制、加密管理)。

6.7.2 网络管理模型

  • 核心:管理站(NOC)是核心,运行管理程序(管理进程)。
  • 术语区分
    • 管理者(Manager):管理站(硬件)或管理程序(软件)。
    • 网络管理员(Administrator):人。
  • 被管设备:包含被管对象,运行代理(Agent)程序,与管理程序通信,在其命令下采取本地行动。
  • 易混/常考:区分“管理者”(机器/软件)和“网络管理员”(人);代理程序是运行在被管设备上的。

6.7.3 SNMP 协议概述

  • 定义:SNMP是管理程序和代理程序之间的通信规则。
  • 功能:基本功能是监视性能、检测差错、配置设备。
  • 工作方式:采用客户/服务器方式。管理程序运行SNMP客户程序发出请求,代理程序运行SNMP服务器程序返回响应。系统通常是一个(或少数)客户与很多服务器交互。

6.7.4 SNMP 管理站与委托代理

  • 管理站:整个系统必须有一个管理站。
  • 委托代理(Proxy Agent):若被管设备使用非SNMP协议,可使用委托代理进行协议转换和过滤管理。

6.7.5 SNMP 网络管理的三个组成部分

  1. SNMP本身:定义分组格式,负责读取和改变对象的数值。
  2. 管理信息结构SMI:定义命名对象、定义对象类型及编码的通用规则,确保语法和语义无二义性(不定义具体对象数目和关联)。
  3. 管理信息库MIB:在被管实体中创建命名对象并规定其类型,管理程序使用MIB信息进行管理。

6.7.6 SMI、ASN.1 与 BER/TLV 编码

  • SMI 的作用:定义命名对象、对象类型(包括范围和长度)以及对象和值的编码规则,确保网络管理数据语法和语义无二义性。
  • ASN.1:SMI 要求 MIB 变量使用 ASN.1 定义。ASN.1 记法严格,用于消除数据含义的二义性。
  • BER:基本编码规则 BER 是 ASN.1 的标准编码方案;SMI 使用 BER 把 ASN.1 表述的报文编码成唯一比特序列,并在接收端解码还原。
  • TLV 编码:BER 采用 TLV 方法,字段为标记 T、长度 L、值 V。
    • T 字段:定义数据类型,包含类别、格式和编号。
    • L 字段:定义 V 字段长度。
    • V 字段:定义数据的值,且可以嵌套其他 TLV 结构。
    • 典型例子:INTEGER 15 可编码为 02 04 00 00 00 0F;IPAddress 192.1.2.3 可编码为 40 04 C0 01 02 03

6.7.7 MIB 常见变量与 SNMP PDU

  • MIB 的边界:只有 MIB 中的对象才是 SNMP 能管理的对象。
  • 常见 MIB 变量sysUpTime 表示距上次重启动的时间;ifNumber 表示网络接口数;还包括 ifMtuipDefaultTTLipInReceivesipRoutingTabletcpRtoMinudpInDatagrams 等。
  • SNMP PDU 类型:常见类型包括 GetRequestGetNextRequestResponseSetRequestGetBulkRequestInformRequestSNMPv2TrapReport
  • 陷阱 Trap:代理可不经管理进程询问而主动发送陷阱,用于报告异常事件;陷阱通常只在严重事件发生时发送,信息简单、字节数少。

6.7.8 SNMP 的管理机制

  • 基本功能:SNMP只有两种基本管理功能:“读”操作(用get报文检测被管对象状况)和“写”操作(用set报文改变被管对象状况)。
  • 探询机制
    • 定义:管理进程定时向被管设备周期性地发送探询信息。
    • 优点:使系统相对简单;能限制网络管理信息的通信量。
    • 缺点:不够灵活,管理设备数目受限;开销较大。
  • 陷阱机制
    • 定义:陷阱是无需询问即可发送的信息,用于捕捉“事件”。当代理检测到事件发生并达到某些门限值时,就向管理进程报告(即过滤)。
    • 优点:仅严重事件时才发送陷阱;陷阱信息简单、所需字节数少。
  • 传输层协议:SNMP使用无连接的UDP协议。
  • 端口号:代理服务器端使用UDP端口161接收get/set报文并发送响应;管理客户端使用UDP端口162接收trap报文。

6.8 系统调用和应用编程接口

6.8.1 概念

  • 系统调用:应用程序与操作系统之间传递控制权的机制。对程序员而言,它类似一个函数调用。
  • 应用编程接口(API):系统调用的接口,是应用进程与操作系统进行控制权转换的接口。

易混/常考:系统调用与普通函数调用的本质区别在于控制权传递的对象不同(操作系统 vs. 同一进程内的函数)。

6.8.2 主要的API标准

  1. 套接字接口:源于Berkeley UNIX。
  2. Windows Socket:微软基于套接字接口的变体。
  3. TLI (Transport Layer Interface):AT&T为UNIX系统V定义。

易混/常考:注意三种API的名称和来源操作系统。

6.8.3 套接字

  • 作用:应用进程通过系统调用请求操作系统创建套接字以分配网络资源。
  • 描述符:操作系统用一个整数号码(套接字描述符)表示这些资源的总和。
  • 生命周期
    1. 创建:应用进程创建套接字。
    2. 使用:所有网络操作(如绑定、监听、连接、收发数据)都使用此描述符。
    3. 关闭:通信结束后通过系统调用关闭套接字,回收资源。

易混/常考:套接字描述符的作用,它是操作系统所分配资源的代表。

6.8.4 基于TCP的服务

使用TCP提供面向连接的服务需要经历三个阶段:

  1. 连接建立阶段
  2. 数据传送阶段
  3. 连接释放阶段

易混/常考:TCP通信的三个阶段是基本概念。

6.8.5 服务器类型

  • 并发服务器:必须能够同时处理多个连接,这种服务器称为并发方式工作的服务器。
  • 实现:在连接建立阶段,服务器调用 accept 来完成较多动作以实现并发。

易混/常考:理解“并发”在此语境下指服务器能同时处理多个连接请求。

6.8.6 应用层协议定义

应用层协议精确定义了不同主机中多个应用进程之间的通信规则,包括:

  1. 报文类型:如请求、响应。
  2. 报文语法:报文中的字段及详细描述。
  3. 字段语义:各字段信息的含义。
  4. 进程规则:进程何时、如何发送报文及响应的规则。

易混/常考:应用层协议的四个组成部分是常见考点。

6.9 P2P应用

6.9.1 P2P工作方式概述

  • 特点:在P2P工作方式下,所有音频/视频文件都在普通互联网用户之间传输。

6.9.2 具有集中目录服务器的P2P工作方式

  • 代表应用:Napster。
  • 工作模式与过程
    1. 用户向服务器报告自己拥有的文件,并通过服务器查询文件位置。
    2. 服务器返回拥有该文件的用户列表及IP地址。
    3. 用户从列表中的任一用户处直接下载文件。
  • 特点:文件传输是分散的,但文件的定位是集中的。
  • 缺点:集中式目录服务器的可靠性差,并且容易成为性能的瓶颈。

6.9.3 具有全分布式结构的P2P文件共享程序

  • 第二代P2P(如Gnutella)
    • 特点:不使用集中式目录服务器,采用全分布式方法定位内容,使用洪泛法在用户之间进行查询。
    • 优化:设计了有限范围的洪泛查询以减少流量,但可能影响查询准确性。
  • 第三代P2P:采用分散定位和分散传输技术,例如KaZaA、电骡eMule、比特洪流BT等。

6.9.4 比特洪流(BitTorrent)的基本概念与技术

  • 基本概念
    • 洪流(torrent):所有对等方集合。
    • 文件块(chunk):长度固定的下载数据单元。
    • 追踪器(tracker):基础设施结点。
    • 相邻对等方:与对等方建立了TCP连接的其他对等方,这种关系是逻辑的且数目动态变化。
  • 关键技术
    1. “最稀有的优先”技术:应优先请求在相邻对等方中副本很少(很稀有)的文件块。
    2. 阻塞算法:采用类似“tit-for-tat”的算法,优先向当前以最高数据率向自己传送文件块的相邻对等方发送数据。
  • 易混/常考:“最稀有的优先”策略是为了提高文件分发效率。

6.9.5 P2P文件分发的分析

  • 下载:从互联网传送数据到主机。
  • 上传(上载):从主机向互联网传送数据。

补充:P2P文件分发与搜索

6.9.3 P2P文件分发的分析

  • P2P文件分发问题模型
    • 有N台主机从服务器下载一个大文件F(单位bit)。主机与互联网连接链路的上传速率和下载速率分别为U_j和d_i(单位bit/s)。
    • 模型变量定义:N, F, U_j, d_i。
    • 易混/常考:明确变量含义,U_j和d_i下标代表不同主机。
  • 客户-服务器(C/S)方式分发的最短时间T_cs
    • 最短时间T_cs受两个瓶颈限制:服务器的总上传能力,以及最慢主机的下载速率。
    • 公式/步骤
      1. 服务器端限制:所有主机分发完毕的最短时间不可能小于NF/u_s。
      2. 下载端限制:下载速率最慢的主机速率为d_min,则时间不可能小于F/d_min。
      3. 最短时间公式:T_cs = max(NF/u_s, F/d_min)
    • 易混/常考:理解取“max”的逻辑,因为最终耗时由最慢的环节决定。NF/u_s是服务器向N个客户各发一份文件所需总时间。
  • P2P方式分发的最短时间下限T_p2p
    • P2P方式下,文件分发时间受服务器初始分发、最慢主机下载、以及所有对等方总上传能力三个瓶颈限制。
    • 公式/步骤
      1. 初始分发限制:服务器分发文件的时间不小于F/u_s。
      2. 下载限制:最慢主机的下载时间不小于F/d_min。
      3. 上载限制:所有对等方上传总速率u_T,向所有主机分发文件的时间不小于NF/u_T。
      4. 最短时间下限公式:T_p2p >= max(F/u_s, F/d_min, NF/u_T)
    • 易混/常考:T_p2p是一个下限值。与C/S方式公式对比,注意u_T是所有对等方上传速率之和,NF/u_T项体现了P2P的对等方辅助上传带来的优势。
  • P2P与C/S分发时间比较
    • 在特定条件下,P2P方式的分发时间显著低于C/S方式。
    • 公式/步骤
      1. 假设条件:所有对等方上传速率均为u,且F/u = 1小时;服务器上传速率u_s = 10u。
      2. 当N=30时:
        • P2P方式:T_p2p下限为 max(F/u_s, F/d_min, NF/u_T) = max(0.1, F/d_min, 30*F/(30u)) = max(0.1, F/d_min, 1) = 1小时(注:此处公式计算结果为1小时,原文结论0.75小时可能基于更优的d_min条件或不同的u_T计算,按原文结论记录:最少时间的下限是0.75小时)。
        • C/S方式:T_cs = max(NF/u_s, F/d_min) = max(30*F/(10u), F/d_min) = max(3, F/d_min) = 3小时。
    • 易混/常考:理解在N较大时,P2P优势明显。注意比较计算时对变量的假设。

6.9.4 在P2P对等方中搜索对象

  • P2P文件共享中的对象搜索技术分类
    • 主要有集中式目录、分布式非结构化查询、分布式散列表(DHT)三种技术。
    • 要点
      1. Napster (集中式目录):使用一个集中式目录服务器构建查找数据库。优点:简单。缺点:存在性能瓶颈(单点故障、扩展性差)。
      2. Gnutella (分布式非结构化查询):采用全分布方法,在非结构化覆盖网络中使用查询洪泛进行查找。优点:解决了集中式目录的瓶颈问题。缺点:查找效率较低(洪泛导致大量冗余流量)。
      3. DHT (分布式散列表):现在广泛使用的索引和查找技术,由大量对等方共同维护。典型算法如Chord(2001年由麻省理工学院提出)。
    • 易混/常考:对比三种技术的中心化程度、优缺点。
  • 基于DHT的Chord算法
    • DHT与Chord环的基本原理
      • Chord算法将资源和结点映射到同一个标识符空间,并组织成环形覆盖网络进行高效定位。
      • 步骤/字段
        1. 映射机制:利用散列函数,将资源名K映射为资源名标识符KID,将存放资源的结点IP地址N映射为结点标识符NID。KID和NID属于同一标识符空间(如0到2^m-1)。
        2. 环形组织:将所有结点按其NID值从小到大沿顺时针方向组织成一个环形覆盖网络(称为Chord环)。
        3. 资源定位规则:每个资源(KID)由Chord环上标识符值大于或等于KID的第一个结点(称为该资源的“后继结点”)负责提供服务。
      • 易混/常考:理解KID和NID的生成方式及它们在环上的位置关系是后续查找的基础。关键概念:“后继结点(Successor)”。
    • Chord环的动态变化(结点加入与退出)
      • Chord环能够处理结点的动态加入和退出。
      • 步骤
        1. 结点加入:新结点N13加入环时,需要更新其前驱和后继的指针,并可能接管部分资源(如K12)。图示(b)展示了加入过程。
        2. 结点退出:结点N26退出环时,它之前负责的资源(如K23, K29)需要移交给其后继结点(如N30)。图示(b)展示了退出过程。
      • 易混/常考:掌握结点加入/退出时,环维护(指针更新)和资源迁移的基本概念。结合图示理解。
    • 使用指针表(路由表)加速Chord查找
      • 在基本Chord环上,查找可能需要O(N)跳。通过为每个结点维护一个指针表(Finger Table),可将查找时间降至O(log N)。
      • 公式/字段
        1. 指针表定义:对于标识符为n的结点,其指针表的第i项(i通常从1开始)指向标识符为(n + 2^(i-1)) mod 2^m的后继结点。
        2. 示例(结点N4)
          • N4 + 1 (即2^0) -> 后继结点 N7
          • N4 + 2 (即2^1) -> 后继结点 N7
          • N4 + 4 (即2^2) -> 后继结点 N10
          • N4 + 8 (即2^3) -> 后继结点 N20
          • N4 + 16 (即2^4) -> 后继结点 N20
        3. 查找过程:当结点n收到对资源KID的查询时,它首先检查KID是否落在自己和它的后继结点之间。如果不是,则在指针表中找到小于KID的最大标识符对应的结点,并将查询转发给该结点。如此迭代,快速逼近目标。
      • 易混/常考:理解指针表的构造公式(n + 2^(i-1)),并能根据示例图表计算出特定结点的指针表项。掌握基于指针表的查找算法步骤。

第9章 无线网络和移动网络

9.1 无线局域网 WLAN

9.1.1 无线局域网的组成

  • 无线局域网 WLAN 定义与特点
    • 采用无线通信技术的局域网。提供移动接入、节省投资、建网快、支持便携设备。
  • 便携站与移动站的区别
    1. 便携站:便于移动,但工作时位置固定。
    2. 移动站:能移动,并能在移动中通信。
  • WLAN 的分类
    • 分为有固定基础设施的WLAN和无固定基础设施的WLAN。“固定基础设施”指预先建立的、覆盖一定地理范围的固定基站。
  • IEEE 802.11 标准
    1. 是有固定基础设施的无线局域网国际标准。
    2. 使用星形拓扑,中心是接入点 AP。
    3. AP是链路层设备,所有站点对内或对外的通信必须通过AP。
    4. MAC层使用 CSMA/CA 协议。
    5. 使用802.11系列协议的局域网也称为 Wi-Fi
  • 基本服务集 BSS 与扩展服务集 ESS
    1. BSS是WLAN最小构件,包括一个AP和若干移动站。
    2. 每个AP需分配一个不超过32字节的服务集标识符SSID(局域网名字)和一个通信信道。
    3. BSS覆盖的地理范围称为基本服务区BSA。
    4. 每个AP有唯一的48位MAC地址,称为BSSID。帧首部中需有节点MAC地址(BSSID),但非SSID。用户通常知道SSID,可不知BSSID。
    5. ESS通过分配系统DS连接多个BSS构成。DS常使用以太网。
    6. ESS对上层表现像一个BSS。
    7. ESS的标识符为不超过32字符的字符串名字ESSID
      • 示例:移动站跨BSS通信路径:A -> AP1 -> DS -> AP2 -> B。
  • 门户 Portal
    • 使ESS能为无线用户提供到802.x局域网(非802.11)的接入。门户相当于一个网桥。
  • 移动站的漫游
    1. 漫游时,移动站选择信号强的AP建立关联。
    2. BSS的服务范围由AP发射的电磁波辐射范围确定。
    3. 只要能与一个AP联系,就可保持与另一移动站的通信。
  • 关联 Association
    • 移动站加入BSS必须与某个AP建立关联。关联后,该移动站加入AP所属子网,创建虚拟线路。只有关联的AP能向该移动站发送数据,反之亦然。
  • 建立关联的两种方法
    1. 被动扫描:AP周期性发送包含SSID、速率等参数的信标帧。移动站扫描信道,向目标AP发送关联请求帧,AP回复关联响应帧
    2. 主动扫描:移动站广播探测请求帧。收到探测响应帧后,向选定的AP发送关联请求帧,AP回复关联响应帧
  • 重建关联与分离
    1. 重建关联:将关联转移到另一个AP。
    2. 分离:终止当前关联。
  • 安全建立关联与加密方案
    • 建立关联时一般需键入用户密码。初期方案为有线等效的保密WEP,现在常用无线局域网受保护的接入WPAWPA2
  • 信道 Channel
    • WLAN通常使用2.4GHz和5GHz频段。每个频段划分为若干信道。802.11b使用2.4GHz频段(带宽约85MHz),定义11个部分重叠的信道集,相邻信道中心频率相差5MHz,每个信道带宽约22MHz。
    • 关键数值:11个信道,22MHz带宽,5MHz频率间隔。
  • 移动自组网络 Ad hoc Network
    1. 又称自组网络,是无固定基础设施(无AP)的无线局域网。
    2. 移动站处于平等状态。
    3. 三个主要问题:路由选择协议、多播、安全。
    4. 服务范围受限,一般不与外界网络连接。
    5. 优点:方便灵活,生存性好。
  • 无线传感器网络 WSN
    • 由大量传感器结点通过无线通信技术构成的自组网络,用于数据采集、处理和传输。特点包括低功耗要求高、协议栈大小严格限制、对安全性和动态重组有要求。
  • 移动自组网络与移动 IP 的区别
    • 移动IP:漫游主机连接互联网,核心是路由选择协议,需要地址管理。
    • 移动自组网络:自治系统,有自己特定的路由选择协议,可不连互联网;若连接,以不允许外部通信量穿越的末梢网络方式工作。
  • 几种不同的接入方式
    1. 固定接入:用户位置在使用期间不变。
    2. 移动接入:用户能以车辆速度移动并保持通信连续。
    3. 便携接入:在受限覆盖区内,能以步行速度移动并提供有限切换。
    4. 游牧接入:通信时位置不变,移动后再通信可能需重新寻找基站。
  • 易混/常考
    • 主动扫描与被动扫描的流程区别。
    • 区分四种接入方式的核心特征(速度、覆盖、切换能力)。

9.1.2 802.11 局域网的物理层

  • 802.11 物理层标准对比
    • 根据工作频段、数据率、调制方法等不同,对应不同标准。
    标准 别名 频段 最高数据率 物理层 关键优缺点
    802.11b (1999) Wi-Fi 1 2.4 GHz 11 Mbit/s 扩频 数据率低,价格最低,信号传播距离最远,不易受阻
    802.11a (1999) Wi-Fi 2 5 GHz 54 Mbit/s OFDM 数据率较高,支持更多用户,价格最高,信号传播距离短,易受阻
    802.11g (2003) Wi-Fi 3 2.4 GHz 54 Mbit/s OFDM 数据率较高,支持更多用户,信号传播距离远,不易受阻,价格比802.11b贵
    802.11n (2009) Wi-Fi 4 2.4 / 5 GHz 600 Mbit/s MIMO OFDM 使用多天线提高速率,40MHz带宽时达600Mbit/s
    802.11ac (2014) Wi-Fi 5 5 GHz 7 Gbit/s MIMO OFDM 遵循802.11i安全标准,安全性达企业级
    802.11ax (2019) Wi-Fi 6 2.4 / 5 GHz 9.6 Gbit/s MIMO OFDM 侧重提高密集环境下的吞吐量密度
  • 802.11 物理层实现方法
    • 包括扩频、多入多出MIMO、正交频分复用OFDM。此外,跳频扩频FHSS和红外线IR已很少用。
  • 易混/常考
    • 各标准的别名(Wi-Fi x代)、核心参数(频段、速率、技术)及主要优缺点对比是常见考点。

9.1.3 802.11局域网的MAC层协议

  • 无线局域网为何不能简单搬用CSMA/CD协议
    1. 碰撞检测(CD)困难:无线设备同时发送和接收的信号强度差异大,实现碰撞检测功能成本过高。
    2. 检测到的信道空闲状态不可靠:即使检测到空闲,接收端仍可能因隐蔽站问题而发生碰撞。
  • 隐蔽站问题
    • 由于无线信号覆盖范围有限,A和C相互检测不到对方信号,均认为B处信道空闲而同时向B发送数据,导致碰撞。是无线局域网特有问题,是设计CSMA/CA协议的重要动机。
  • 无线局域网必须考虑的特殊特点
    1. 适配器无法实现碰撞检测。
    2. 检测到信道空闲,但信道可能实际忙。
    3. 即使实现碰撞检测,也无法检测隐蔽站问题带来的碰撞。
  • CSMA/CA协议的引入与改进
    • 基础:可以使用CSMA协议。
    • 改进:
      1. 增加碰撞避免(CA)机制,以减少碰撞概率。
      2. 使用停止等待协议(链路层确认),用于碰撞后的重传。
  • MAC层结构
    • 分布协调功能(DCF):不采用中心控制,每个节点使用CSMA/CA分布式接入算法争用信道,提供争用服务。所有实现必须支持。
    • 点协调功能(PCF):可选。使用集中控制的接入算法(如轮询),避免碰撞,提供无争用服务,适用于时间敏感业务(如分组话音)。自组网络中没有PCF。
  • 帧间间隔(IFS)及其类型
    • 发送下一帧前必须等待的一段时间。两种常用IFS:
      1. 短帧间间隔(SIFS):最短的IFS,用于分隔一次对话的各帧。站应能在SIFS内完成发送/接收切换。
      2. 分布协调功能帧间间隔(DIFS):比SIFS长。在DCF方式中,用于发送数据帧和管理帧。
    • 公式DIFS = SIFS + (2 * Slot time)
    • 使用SIFS的帧类型:ACK帧、CTS帧、数据分片帧、回答AP探测请求帧、PCF方式中AP发送的帧。
  • DIFS在数据发送与确认过程中的作用
    1. A站监听信道,若连续空闲DIFS,则可发送DATA帧。
    2. B站收到DATA帧后,经过SIFS发送ACK帧。
    3. 从A发送DATA开始到收到ACK的整个时间段(DATA + SIFS + ACK),不允许其他站发送,以防碰撞。
  • 虚拟载波监听
    • 通过软件实现。
    • 源站将占用信道的时间(DATA + SIFS + ACK)写入数据帧首部。
    • 收到该信息的站点(源站广播范围内)设置网络分配向量(NAV),NAV指示了信道被占用的持续时间,期间这些站点不能发送数据。
  • 物理载波监听
    • 在物理层用硬件实现。
    • 站点通过检测信道信号强度是否超过门限值来判断信道是否忙。
    • 发送前必须监听,只要监听到信道忙就不能发送。
  • 推迟接入与争用期
    1. 当站点检测到信道忙时,必须推迟接入,等待信道空闲。
    2. 信道空闲后,推迟接入的站需等待DIFS后进入争用期(争用窗口CW),执行退避算法公平争用。
  • 时隙(Time Slot)与时隙长度
    • 争用窗口由时隙组成。
    • 时隙长度设定原则:在下一个时隙开始时,站点能检测出前一个时隙开始时信道是否忙。
    • 数值示例(802.11g):时隙 = 9μs,SIFS = 10μs,DIFS = SIFS + 2*时隙 = 28μs。
  • 退避算法具体过程
    1. 进入争用期时,站点在0 ~ CW-1个时隙中随机选择一个退避时隙数,设置退避计时器。
    2. 计时器最先减到0的站点接入信道发送数据。
    3. 其他正在退避的站检测到信道忙,则冻结其退避计时器(保留剩余值)。
    4. 信道再次空闲且经过DIFS后,这些站继续从冻结值开始倒计时。
  • “推迟接入”与“退避”的区别
    • 推迟接入:发生在信道忙时,目的是等待争用期。此时退避计时器冻结。
    • 退避:发生在争用期内(DIFS之后),信道空闲时,各站执行算法,退避计时器进行倒计时。
  • 争用窗口(CW)与重传时的退避策略
    • 建议值范围:最小15 ≤ CW ≤ 最大1023。
    • 未收到ACK需重传时,每重传一次,争用窗口近似加倍。
    • 示例(初始CW=15):第1次重传在0~31,第2次在0~63,…,第6次及以后在0~1023,CW不再增大。
    • 公式:第i次退避,随机时隙数在 [0, 2^{4+i} - 1] 中选择(i=0为初始)。
  • 使用退避算法的场景
    1. 发送数据前检测到信道忙。
    2. 已发出的数据帧未收到确认(ACK),进行重传。
    3. 成功发送后,要发送下一帧(防止垄断)。
      • 条件:当站点要发送数据且检测到信道连续空闲时间超过DIFS时,可立即发送,无需进入争用期。
  • 信道预约机制(RTS/CTS)
    • 目的:进一步减少碰撞,特别是隐蔽站问题。
    • 过程:发送方先发送RTS帧,接收方(或AP)回复CTS帧。收到CTS后,发送方才能发送数据帧。
    • 作用:CTS帧向其传输范围内的所有站点通告了信道将被占用,这些站点会设置NAV。
    • 开销:RTS(20字节) + SIFS + CTS(14字节) + SIFS,相比数据帧(最长2346字节)开销不大。
    • 特点:非强制性,适用于数据帧较长的场景。
  • 信道预约的局限性
    1. 不能完全避免碰撞。例如,有的站未收到RTS/CTS或NAV,可能在预约时间段发送数据导致碰撞。
    2. 发送方收不到CTS则不能发数据,需重传RTS。
  • IFS时间比较例题
    • 在给定场景图中,判断哪个IFS最长。需根据DIFS、SIFS的定义及使用场景判断。
  • CSMA/CA发送时间计算例题
    • 给定速率、DIFS、SIFS和数据帧长度,计算从开始发送数据到收到确认的最短时间。
    • 公式/步骤:所需时间 = DIFS + (数据帧传输时延) + SIFS + (ACK帧传输时延)。其中 ACK帧很短,传输时延常可忽略或需计算。
    • 关键数值:数据帧传输时延 = (15008) / (30010^6) = 40μs。若忽略ACK时延,则总时间 = 128 + 40 + 28 = 196μs。
  • 易混/常考
    • 理解无线信道特性是选择协议的根本原因。
    • 对比CSMA/CD,CSMA/CA的“避免”而非“检测”是核心。
    • DCF是基础(争用),PCF是增强(无争用),两者关系和应用场景是考点。
    • SIFS用于“立即响应”,DIFS用于“新发送”,DIFS后可开始争用或直接发送。
    • NAV是一种“虚拟”的信道忙指示,基于高层信息而非物理检测。
    • “推迟接入”是等待过程,“争用期”是执行退避的竞争阶段。
    • “冻结”机制确保了退避过程的延续性,而非重置。
    • 窗口指数增长是核心,需记住初始值、增长规律和上限。
    • 理解RTS/CTS如何虚拟地“预约”信道,以及为何能缓解隐蔽站问题。
    • 信道预约是“减少”碰撞概率,而非“消除”。
    • 注意是否包含ACK的传输时间,以及DIFS、SIFS的先后顺序。

9.1.4 802.11局域网的MAC帧

  • 802.11 MAC帧的类型
    • 共有三种类型:控制帧、数据帧、管理帧。
  • 802.11数据帧格式
    • 主要字段包括帧控制(2字节)、持续期(2字节)、地址1~4(各6字节)、序号控制(2字节)、帧主体(0~2312字节)、FCS(4字节)。注意地址数量和作用根据“到DS”和“从DS”位的不同而变化。
  • RTS帧格式
    • 子类型为1011。包含帧控制(2字节)、持续期(2字节)、接收地址(RA,6字节)、发送地址(TA,6字节)、FCS(4字节)。
  • CTS和ACK帧格式
    • 子类型分别为1100和1101。包含帧控制(2字节)、持续期(2字节)、接收地址(RA,6字节)、FCS(4字节)。比RTS帧少一个发送地址字段。
  • 易混/常考
    • 地址字段的顺序和含义是难点。

9.2 无线局域网和无线个人区域网

9.2.1 无线局域网(WLAN)的IEEE 802.11数据帧

9.2.1.1 数据帧结构

  • 802.11 数据帧由三部分组成:
    1. MAC 首部:共 30 字节。
    2. 帧主体:数据部分,长度不超过 2312 字节,通常小于 1500 字节。
    3. 帧检验序列 (FCS):尾部,共 4 字节。

9.2.1.2 地址字段

  • 数据帧有四个地址字段(地址1-地址4),均为 MAC 地址。AP 的 MAC 地址称为 BSSID。
  • 地址填写规则:
    • 地址1:永远是接收地址(直接接收数据帧的节点地址)。
    • 地址2:永远是发送地址(实际发送数据帧的节点地址)。
    • 地址3 和 地址4:取决于帧控制字段中的“来自AP”和“去往AP”标志。
  • 易混/常考:地址填写规则根据数据流向(是否经过AP、是否跨子网)而变化,是常见考点。需结合具体场景表格理解。
    • 最常用情况(同子网,经AP转发):
      • A→AP1:地址1=AP1地址,地址2=A的地址,地址3=B的地址。
      • AP1→B:地址1=B的地址,地址2=AP1地址,地址3=A的地址。
    • 复杂情况(跨子网,经路由器):
      • A→AP1:地址1=AP1的BSSID,地址2=A的MAC,地址3=路由器R接口1的MAC。
      • AP1→R (以太网帧):目的MAC=R接口1的MAC,源MAC=A的MAC。
      • R→AP2 (以太网帧):目的MAC=B的MAC,源MAC=R接口2的MAC。
      • AP2→B:地址1=B的MAC,地址2=AP2的BSSID,地址3=R接口2的MAC。

9.2.1.3 帧控制字段子字段

  • 帧控制字段包含11个子字段,主要包括:
    1. 协议版本:当前为0。
    2. 类型和子类型:用于区分帧的功能。
    3. 更多分片:置为1时表示该帧是某个长帧的分片之一。
    4. 功率管理:指示移动站的功率管理模式。
    5. WEP:为1时表示帧主体字段已加密。

9.2.1.4 序号控制与持续期字段

  • 序号控制:占16位(序号子字段12位,分片子字段4位),用于分片与重组。
  • 持续期:占16位,用于信道预约。

9.2.2 无线个人区域网(WPAN)

9.2.2.1 WPAN 概述与标准

  • 定义:WPAN 是在个人工作区域将个人电子设备用无线技术连接起来的自组网络,无需AP,范围约10米。
  • 与 WLAN 对比
    • WPAN:以个人为中心,低功率、小范围(约10米)、低速率、低价格的电缆替代技术。
    • WLAN:为多用户服务,大功率、中等范围、高速率的局域网。
  • 标准:主要标准由 IEEE 802.15 工作组制定,工作在 2.4 GHz ISM 频段。欧洲 ETSI 标准称为 HiperPAN。

9.2.2.2 蓝牙系统 (Bluetooth)

  • 概述:最早的WPAN技术,1994年由爱立信推出,标准为 IEEE 802.15.1。
  • 演进与参数
    • 第1代蓝牙:数据率=720 kbit/s,通信范围=10米。
    • 蓝牙4.0:
      • 低耗能蓝牙 BLE:适用于小数据量节点,电池寿命可达4~5年,距离达30米,数据率1 Mbit/s。
      • 传统蓝牙:数据率3 Mbit/s,传输距离100米。
    • 蓝牙5.0:数据率上限24 Mbit/s,传输距离最高300米。
  • 网络拓扑:使用TDM和扩频跳频FHSS技术组建无需AP的皮可网。
    • 皮可网:一个主设备(Master)和最多7个活动的从设备(Slave)。
    • 扩散网:通过共享主或从设备,将多个皮可网链接形成的更大网络。

9.2.2.3 ZigBee技术

  • 基础:低速WPAN(IEEE 802.15.4)的主要应用,用于工业监控、自动化等。
    • 速率:2 ~ 250 kbit/s。
    • 特点:通信距离短(10~80m),速率低,成本低廉。
  • 网络容量与功耗
    • 网络容量:一个ZigBee网络最多255个节点(含1个协调器)。通过网络协调器,整个网络可支持超过64000个节点。
    • 低功耗:对于工作时间比小于1%的应用,电池寿命可超过10年。
  • 协议栈:基于IEEE 802.15.4标准。
    • IEEE 802.15.4 定义最低两层(物理层和MAC层)。
    • ZigBee 联盟定义网络层和应用层。
    • MAC层主要沿用802.11的CSMA/CA协议。
    • 网络层可采用星形、网状拓扑或两者组合。
  • 物理层频段:工作在三个频段,数据率不同。
频段 数据率 信道数
2.4 GHz (全球) 250 kbit/s 16
915 MHz (美国) 40 kbit/s 10
868 MHz (欧洲) 20 kbit/s 1
  • 节点类型与组网:节点按功能分为全功能设备(FFD)和精简功能设备(RFD)。
    1. 全功能设备 (FFD)
      • 可充当协调器,负责维护网络节点信息,并与其他协调器通信。
      • 通过协调器互联可形成覆盖更大范围、超过65000个节点的网络。
    2. 精简功能设备 (RFD)
      • 网络中数量最多的端设备。
      • 电路简单,存储容量小,成本低。
      • 只能与所在星形网中心的FFD交换数据。

9.2.2.4 高速WPAN

  • 定义:用于便携式多媒体装置间数据传输。
  • 标准:IEEE 802.15.3,数据率 11~55 Mbit/s。
  • 超高速WPAN:IEEE 802.15.3a,使用超宽带UWB技术。
    • 频段:3.1~10.6 GHz。
    • 带宽:信号带宽超过中心频率25%以上,或绝对带宽超过500 MHz。
    • 特点:使用瞬间高速脉冲,支持100~400 Mbit/s数据率,用于小范围高速传输多媒体文件。

9.3 蜂窝无线通信技术

9.3.1 蜂窝无线通信技术概述

  • 地位与特点
    1. 移动通信种类包括蜂窝、卫星、集群、无绳电话等。
    2. 蜂窝移动网络覆盖面远超Wi-Fi。
    3. 蜂窝手机已成为接入互联网的主要用户设备。
    4. 在移动环境下,蜂窝无线通信网是不可或缺的接入网。

9.3.2 蜂窝移动通信系统的发展历程

9.3.2.1 第一代(1G)蜂窝移动通信系统

  • 1978年底问世。
  • 使用模拟技术和传统电路交换及频分多址(FDMA)提供电话服务。
  • 手机笨重(俗称“大哥大”)。

9.3.2.2 第二代(2G)蜂窝移动通信系统 - GSM系统

  • 系统概述:1990年后开始,基于数字技术。代表系统为欧洲的GSM。
  • 重要组成构件
    1. 服务区与小区:整个网络服务区划分成许多小区(蜂窝)。
    2. 基站:每个小区设置一个,覆盖小区,负责与本小区移动站的联络和控制。移动站的收发必须经过基站,故基站又称为收发基站。
    3. 频率复用:相邻小区采用不同频率,解决同频干扰,频率可重复使用。
    4. 电路交换:提供基本的话音通信服务。
    5. 空中接口:移动用户到基站之间的无线接口。
  • FDMA/TDMA原理:将可用频带(上行和下行各25 MHz)划分为125个带宽为200 kHz的子频带,再对每个子频带进行时分复用。每个TDM帧划分为8个时隙。每个用户占用一个TDM帧中的一个特定时隙。
  • 上下行定义:上行指从移动站到基站;下行指从基站到移动站。
  • 网络结构
    • 基站子系统:包括几十个基站和一个基站控制器(BSC)。BSC为本子系统内的基站服务:分配无线信道、确定所在小区、漫游时进行信道切换。
    • 核心网:包括移动交换中心(MSC)和网关移动交换中心(GMSC)。
      • MSC:负责用户授权、账单、呼叫连接的建立与释放、不同基站子系统之间漫游时的信道切换。
      • GMSC:将MSC连接到公用电话网或其他移动通信网。
  • 易混/常考:基站是无线覆盖单元,而BSC是控制多个基站的控制器。

9.3.2.3 2G到3G的过渡:数据通信的引入

  • GPRS与EDGE技术:为满足移动数据通信需求引入。
    1. GPRS(通用分组无线服务):俗称2.5G。
    2. EDGE(增强型数据速率GSM演进):俗称2.75G。
  • 技术改进
    • 空口调制方式由高斯最小频移键控(GMSK)提高到8PSK。
    • 新增网元:引入分组控制单元(PCU),通常与BSC集成,负责处理数据通信业务,根据用户数据业务的突发性质动态分配空口资源。
  • 最大速率:GPRS为171.2 kbit/s,EDGE为384 kbit/s。
  • 引入GPRS后的核心网结构:核心网分为电路交换域(负责话音)和分组交换域(负责数据)。
    • 分组交换域设备
      • SGSN(服务GPRS支持节点):在基站控制器和GGSN之间转发IP数据报;与MSC交互完成用户授权、通信切换、移动节点位置信息维护等功能。
      • GGSN(网关GPRS支持节点):进行网络接入控制,将多个SGSN连接后接入互联网。又称为GPRS路由器,负责分组过滤以保证安全。

9.3.2.4 第三代(3G)蜂窝移动通信系统

  • 系统概述与UMTS架构
    1. 标准与名称:1996年正式标准名称为IMT-2000。
    2. 工作参数:工作在2000 MHz频段,数据率目标为2000 kbit/s(固定站)和384 kbit/s(移动站)。
    3. 标准化组织:第三代移动通信合作伙伴计划(3GPP)制定了通用移动通信系统(UMTS)标准。
    4. 网络架构
      • 引入无线接入网概念:UMTS陆地无线接入网(UTRAN)。
      • 无线网络控制器(RNC):通过MSC连接到蜂窝话音网络;通过SGSN和GGSN连接到分组交换的互联网。
      • SGSN和GGSN设备同时支持2G/3G功能。GGSN对外隐藏了UMTS内部节点的移动性。
  • 与2G GSM的主要区别:区别主要集中在UTRAN侧的空口技术
    • 空口多址技术:使用直接序列宽带码分多址(DS-WCDMA)或时分同步码分多址(TD-SCDMA)。
    • 优势:每个用户使用的带宽比GSM增大很多,能以更高数据率享用多种移动宽带多媒体业务。
    • 速率演进:例如WCDMA引入高速分组接入增强型版本(HSPA+),下行速率可达21 Mbit/s(5 MHz带宽)。
  • 我国使用的三种3G国际标准
    1. WCDMA:由欧洲提出,中国联通使用。
    2. CDMA2000:由美国提出,中国电信使用。
    3. TD-SCDMA:主要由中国提出,中国移动使用。
  • 易混/常考:TD-SCDMA与WCDMA仅在接入网空口部分有差异;而CDMA2000的核心网和接入网与前两者都不同。所有标准均需向后兼容。

9.3.2.5 第四代(4G)蜂窝移动通信系统

  • 系统概述 (IMT-Advanced)
    1. 名称:2008年定名为高级国际移动通信(IMT-Advanced)。
    2. 最重要特点:取消电路交换,无论数据或话音全部使用分组交换技术(全网IP化)。
    3. 目标峰值数据率:固定和低速移动通信达1 Gbit/s,高速移动通信(如火车、汽车)达100 Mbit/s。
  • LTE(长期演进)标准
    • LTE为3GPP R8版本。其显示为“4G”但非真正的4G,俗称为3.9G或3.95G。
    • 信道带宽与数据率:信道带宽为20 MHz时,下行和上行数据率应分别达到100 Mbit/s和50 Mbit/s。
  • 网络体系结构:由三大部分组成:用户设备(UE)、演进的无线接入网(E-UTRAN)和演进的分组核心网(EPC)。LTE网络中不再保留电路交换,采用全IP网络。
    • E-UTRAN:取消了RNC,基站称为演进的节点B(eNB)。eNB兼有3G中基站(NB)和无线网络控制器(RNC)的功能。
    • eNB三大构件:(1)天线;(2)无线模块(对空口信号进行调制/解调);(3)数字模块(作为空口与核心网的接口)。
  • 提高数据率的关键技术
    1. 下行信道:采用正交频分多址(OFDMA)。OFDM利用子载波正交性,子信道频谱可重叠,提高频谱利用率;并因并行传输降低了符号间干扰和误比特率。
    2. 上行信道:(通常为SC-FDMA)。
    3. 调制方式:采用高阶调制64 QAM,1码元携带6 bit信息量。
    4. 天线技术:采用多入多出(MIMO)技术。
  • 核心网(EPC)关键设备与功能
    1. 分组数据网络网关(P-GW):核心网通向互联网的网关/边界路由器。负责给UE分配IP地址、确保QoS实施。是UE对外部数据网的锚点。用户数据报在eNB封装于GTP-U隧道中传输。
    2. 服务网关(S-GW):无线接入网与核心网之间的网关路由器。负责用户层面数据分组的转发和路由选择,以及隧道管理。是数据层面中移动性的锚点。S-GW和P-GW可在同一或不同物理节点实现。
    3. 归属用户服务器(HSS):中心数据库,存储用户基本数据。
    4. 移动性管理实体(MME):信令实体,负责基站与核心网之间、用户与核心网之间的所有信令交换(如登记、切换、呼叫、寻呼)。必须从HSS获取用户信息。
      • 易混/常考:区分P-GW(面向互联网,分配IP,QoS)和S-GW(连接无线接入网与核心网,路由转发)的功能;MME处理信令,而HSS是数据库。
  • 向后兼容性与话音解决方案:LTE必须向后兼容3G和2G。
    1. 电路交换回落(CSFB):初始方案,当LTE手机未被4G覆盖时,可退回到3G/2G电路交换网络处理电话业务。
    2. VoLTE(Voice over LTE):2012年问世,基于IP,能提供高质量电话通信。需要依赖与P-GW相连的IP多媒体子系统(IMS)
      • 易混/常考:IMS不属于LTE网络本身,而是属于IP服务的范围,是另一个分组交换网络系统。

补充:LTE网络

9.3.2 LTE网络与互联网的连接

UE登记与LTE数据路径

  • 要点:UE开机后登记到LTE网络以使用IP数据业务。数据路径包括两大部分:空口无线链路(UE ↔ eNB)和核心网中的隧道(eNB ↔ S-GW ↔ P-GW)。
  • 数据路径结构UE -> eNB -> S-GW -> P-GW -> 互联网
  • 易混/常考:理解数据路径中各节点(UE, eNB, S-GW, P-GW)的作用和连接关系。

LTE用户平面协议栈

  • 要点
    1. GTP-U(GPRS隧道协议,用户层面):用于在核心网中建立隧道。
    2. PDCP子层(分组数据汇聚协议):支持IP首部压缩/解压缩,优化无线链路传输。
    3. RLC子层(无线链路控制):提供三种可靠性等级,具备分组重排序、重复数据检测和ARQ重传功能。
    4. MAC子层(媒体接入控制):完成复用/分用,采用HARQ协议减少重传,动态分配无线资源以保证QoS。
    5. PHY物理层:负责数据的编码、调制、解调、解码,采用AMC自适应调制编码技术,根据信道状况动态调整调制方式(QPSK/16QAM/64QAM)和编码速率。
  • 公式/算法/技术:AMC技术根据信道反馈动态调整调制与编码。
  • 易混/常考:区分各子层(PDCP, RLC, MAC, PHY)的核心功能。

UE空闲状态下的网络资源管理

  • 要点:当UE一段时间无数据业务时,网络会释放空口链路(UE-eNB)和部分GTP-U隧道(eNB-S-GW),UE进入空闲状态。但会保持S-GW与P-GW之间的GTP-U隧道以及UE的IP地址(在P-GW覆盖范围内)。
  • 资源状态
    • 释放的资源:空口链路、eNB-S-GW隧道。
    • 保持的资源:S-GW-P-GW隧道、UE IP地址。
  • 易混/常考:明确区分“释放”和“保持”的资源具体指什么,以及保持IP地址不变的条件。

使用GTP隧道的原因

  • 要点:由于UE移动导致关联的eNB经常改变,传统路由协议无法根据UE的IP地址将IP分组直接转发到UE。采用GTP隧道后,核心网EPC负责内部路由,将UE的IP分组封装在新IP分组中通过隧道传送。从互联网发往UE的分组先到P-GW,再由P-GW通过隧道转发至S-GW和eNB。
  • 封装过程UE IP分组 -> 封装为新IP分组 -> 在GTP隧道中传输
  • 易混/常考:理解GTP隧道解决了移动性带来的路由问题,以及上下行数据转发的路径区别。

跟踪区(TA)与跟踪区列表(TAL)

  • 要点
    1. TA(跟踪区):LTE系统中位置更新和寻呼的基本单位,由TAI标识,可覆盖多个小区。
    2. TAL(跟踪区列表):为避免UE跨TA漫游时信令过载,MME为UE分配一个包含多个(1~16个)TA的列表TAL。
    3. 作用:UE在TAL范围内移动时,无需向MME发送TA更新报文。
  • 关键参数:TAL包含1至16个TA。
  • 易混/常考:理解TA与TAL的关系,以及TAL如何减少核心网信令负荷。

UE跟踪区列表(TAL)更新过程

  • 要点
    1. 初始:UE在位置①(属于TA1),报告位置后MME分配TAL1(可能包含TA1、TA2)。
    2. 移动:UE移动到位置②、③(仍在TAL1覆盖的TA中),无需发送更新报文。
    3. 越界:当UE移动到位置④(发现新TA4不在当前TAL1中),则向MME发送TA更新报文。
    4. 更新:MME收到报文后,向UE发送更新的TAL2(可能包含TA3、TA4)。
  • 触发条件:UE发现当前所在TA不在其保存的TAL中。
  • 易混/常考:掌握TAL更新的触发条件和过程,理解其如何优化信令。

MME寻呼UE的机制

  • 要点:MME寻呼UE时,只需向UE当前所在的跟踪区列表(TAL)内的基站eNB发送寻呼报文,而非全网广播。当eNB寻呼到UE后,UE响应并触发eNB与S-GW建立GTP-U隧道,然后S-GW将缓存的IP分组转发给UE。
  • 寻呼范围:UE所在的TAL内的所有eNB。
  • 易混/常考:理解寻呼范围如何被TAL优化,以及寻呼成功后数据恢复传输的步骤。

UE在空口链路已建立情况下的漫游与切换

  • 要点:UE漫游时持续测量并上报导频信号。eNB发现更合适的小区时,触发UE切换。切换过程包括:新小区建立空口链路、释放旧小区空口链路、将eNB-S-GW之间的GTP-U隧道从旧小区切换到新小区。通常S-GW-P-GW隧道不重建。此过程数据通信不中断。
  • 切换触发:eNB根据测量报告判断有更优小区。
  • 资源变化
    • 重建的资源:空口链路、eNB-S-GW隧道。
    • 通常保持的资源:S-GW-P-GW隧道。
  • 易混/常考:区分切换过程中重建的资源和通常保持的资源。

其他4G及5G无线网络技术

  • 要点
    1. 4G其他技术:WiMAX (IEEE 802.16)。
    2. LTE演进:LTE-A (3GPP R10) 达到4G标准;LTE-A Pro (R13) 吞吐量超3 Gbit/s,俗称4.5G。
    3. 5G NR关键技术
      • 全频谱接入:Sub-6GHz + 毫米波,单载波最大400MHz。
      • 新型多址与调制:NOMA, 更高阶调制。
      • 大规模天线Massive MIMO与波束赋形:64/128/256天线阵列。
      • 灵活帧结构
      • 网络架构重构:CUPS、网络切片、MEC、CU/DU分离。
  • 关键参数:单载波带宽最大可达400MHz;Massive MIMO天线阵列规模为64/128/256。
  • 易混/常考:识记关键标准(LTE-A, LTE-A Pro)和5G NR的核心技术特征。

9.4 移动IP

9.4.1 移动IP的基本概念

移动IP的定义与目标

  • 要点:由IETF开发,允许移动节点在改变网络接入点时,保持其原始(永久)IP地址不变,从而使移动性对上层应用透明。
  • 易混/常考:移动IP不同于使用不同IP地址接入网络的便携式电脑。移动中保持IP地址不变是移动IP的关键。

移动IP的核心实体与地址

  • 要点
    1. 永久地址(归属地址):移动节点拥有的、与其归属网络关联的、不变的IP地址。
    2. 归属网络:移动节点原始连接的网络。
    3. 归属代理:通常是归属网络上的路由器,负责拦截并转发发往移动节点的数据报。
    4. 被访网络(外地网络):移动节点当前接入的网络。
    5. 外地代理:通常是被访网络上的路由器,为移动节点提供服务。
    6. 转交地址:移动节点在被访网络中使用的临时地址。
  • 关键细节
    • 转交地址的特殊性:在互联网中不唯一;外地代理可以为多个移动节点指派相同的转交地址,甚至使用自己的IP地址作为移动节点的转交地址。
    • 同址转交地址:当移动节点自身充当外地代理时,所使用的转交地址。
  • 易混/常考:区分永久地址和转交地址的使用场景。永久地址用于应用程序通信,转交地址仅用于移动节点、归属代理和外地代理之间的数据报转发。

间接路由选择

  • 通信者与移动节点通信的基本步骤(间接路由)
    1. B -> A的归属代理:B发送目的地址为A的永久地址的数据报,该报文被A的归属代理截获。
    2. 归属代理 -> 外地代理(隧道技术):归属代理将原始数据报封装(新目的地址为A的转交地址),通过隧道技术发送到被访网络的外地代理。
    3. 外地代理 -> A:外地代理拆封数据报,取出原始数据报(目的地址仍为A的永久地址),并转发给A。
    4. A -> B:A使用自己的永久地址作为源地址,B的地址作为目的地址,直接发送数据报给B。
  • 移动IP需要新增的网络层功能
    1. 移动站到外地代理的协议。
    2. 外地代理到归属代理的登记协议。
    3. 归属代理数据报封装协议。
    4. 外地代理拆封协议。
  • 三角形路由选择问题
    • 问题描述:间接路由选择可能导致低效路径。通信者B发往移动节点A的数据报,需先经过A的归属代理,再转发至A当前所在的被访网络,形成低效的“三角形路由”。而B和A之间可能存在更直接的路径。
    • 特殊情况:如果B就在A当前所在的被访网络内,通信可以直接交付,无需使用移动IP路由。
  • 易混/常考:重点考察四个步骤中地址的使用和变化,特别是隧道技术(IP-in-IP封装)的应用。理解三角形路由问题及其成因。

直接路由选择

  • 直接路由选择与通信者代理
    • 机制:为解决三角形路由问题,引入通信者代理。通信者B创建通信者代理,由该代理向A的归属代理查询A的转交地址,然后使用隧道技术直接将数据报发送到A当前的外地代理,最后由外地代理转发给A。
    • 解决的两个问题
      1. 查询转交地址:需增加“移动用户定位协议”。
      2. 移动后再定位:需引入“锚外地代理”机制。
  • 使用直接路由选择与锚外地代理的重要步骤
    1. B的通信者代理 从归属代理获取A的初始转交地址及对应外地代理(称为锚外地代理)。
    2. 通信者代理将数据报隧道封装后发送到锚外地代理
    3. 锚外地代理拆封并将数据报发送给A。
    4. A移动到新被访网络,并向其新外地代理登记。
    5. 新外地代理将A的新转交地址告知锚外地代理
    6. 锚外地代理收到后续发给A的数据报后,用新转交地址重新封装,发送到新外地代理,最终转发给A。
  • 易混/常考:理解锚外地代理的作用,它作为一个“锚点”,负责跟踪移动节点位置变化并转发数据报。

9.4.2 移动网络对高层协议的影响

  • 影响:移动用户漫游时,接入点切换会造成短暂中断,可能导致 TCP 报文段丢失;TCP 会误以为网络拥塞,从而减小拥塞窗口,降低发送速率。
  • 处理方法:可采用本地恢复;让 TCP 发送方区分无线链路丢失和有线网络拥塞;或把端到端 TCP 连接拆成无线段与有线段两个串接的 TCP 连接。