计算机网络

本文整理计算机网络的基本概念、协议与重点知识。

计算机网络相关概念

计算机网络

  • 定义:由若干 结点node 和连接结点的链路(link) 组成,结点可以是计算机、集线器、交换机、路由器等设备。
  • 核心功能:数据通信(信息传递)、资源共享。

互连网(internet,小写 i)

  • 定义:多个计算机网络通过路由器互相连接而成的网络集合。
  • 关键特点:可使用任意通信协议,是泛指的 “网络的网络”。

互联网(Internet,大写 I,即因特网)

  • 定义:特指全世界最大的计算机网络,由各大 ISP 和国际机构组建,是世界上最大规模的互连网。
  • 关键特点:以TCP/IP 协议族作为统一通信规则。

其他

  • ISP:互联网服务提供商(Internet Service Provider),为用户提供互联网接入服务的机构。
  • 网络设备分工:
    • 集线器、交换机:用于连接同一网络内的不同结点。
    • 路由器:用于连接不同的网络,实现网络间的通信。
  • 家用路由器:本质是 “路由器 + 交换机 + 其他功能(如 Wi-Fi)” 的集成设备。

计算机网络组成

组成:硬件、软件、协议边缘部分、核心部分资源子网、通信子网

1. 从组成部分看

  • 硬件

    • 主机(端系统):电脑、手机、物联网设备
    • 通信设备:集线器、交换机、路由器、调制解调器、无线基站
    • 通信链路:网线、光纤、同轴电缆
    • 网络适配器(网卡):收发网络数据
  • 软件:Email、聊天、网盘等,实现资源共享

  • 协议:网络通信规则,由硬件 + 软件共同实现

  1. 从工作方式看
  • 边缘部分:直接为用户服务(通信、资源共享),由主机 + 软件组成
  • 核心部分:为边缘提供连通与交换服务,由网络 + 路由器组成
  1. 从逻辑功能看
  • 资源子网:提供共享软硬件与信息资源,由主机组成
  • 通信子网:负责信息传输,由通信链路 + 通信设备 + 协议组成(含网卡、底层协议)

计算机网络功能

功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡、其他

  1. 数据通信:最基本、最重要功能,实现计算机间数据传输
  2. 资源共享:硬件、软件、数据资源共享
  3. 分布式处理:复杂任务分给多台计算机(如大矩阵运算、MapReduce)
  4. 提高可靠性:设备互为备份,冗余保障
  5. 负载均衡:多机分担繁重任务
  6. 其他:远程办公、远程教育、娱乐等

电路交换,报文交换,分组交换

电路交换

建立过程:

  • 建立链接(占用通信资源)
  • 通信(一直占用–期间两者链接的线路不可被再用)
  • 释放链接(归还通信资源)

中间节点还会提供端到端的物理链接,如同管道传输;故只适用于,次数少,连续,大量的数据传输。

电路交换技术优点:

  • 通信前建立专用物理通路:主叫端到被叫端建立一条专用的物理通路,通信全程双方始终占用端到端的线路资源。
  • 数据直送,传输速率高:通路建立后数据直接传输,无额外转发延迟,传输效率高。
  • 适用场景:更适合低频次、大量传输数据的场景(如长时间通话)。

缺点:

  • 建立 / 释放连接的额外开销:需要专门的时间来建立和释放连接,耗时较长(如打电话的拨号等待)。
  • 线路独占,利用率低:通信双方全程独占线路,即使不传输数据也无法被其他用户使用,资源浪费严重。
  • 线路分配灵活性差:通路一旦建立,无法动态调整线路资源,难以适配突发传输需求。
  • 无差错控制能力:交换节点不支持差错控制,无法发现和纠正传输过程中的数据错误。

不适合计算机数据传输:计算机数据多为突发式、高频次、少量传输的模式,电路交换的线路独占和连接开销会导致体验极差(如等 2 分钟通话,仅讲 5 秒的场景)。

典型例子:传统电话网络,通话期间全程占用一条物理线路。

报文交换

报文:源地址,目的地址,数据。使用存储转发技术,一次一次转发到目标地址。每个报文可以独立选择通往目的端的路径。

报文交换的优点

  1. 无需建立连接:通信前不需要预先建立专用物理通路,属于无连接的通信方式。
  2. 存储转发机制:数据以报文为单位,在交换节点间采用 “存储转发” 方式传输,通信线路可灵活分配。
  3. 线路利用率高:通信双方无需独占整条物理线路,相比电路交换,资源利用率显著提升。
  4. 支持差错控制:交换节点可通过校验技术实现差错控制,能发现传输过程中的数据错误。

报文交换的缺点

  1. 报文管理不便:报文长度不固定,不利于存储转发过程中的管理与调度。
  2. 开销较大:长报文的存储转发会带来较大的时间延迟和缓存资源开销。
  3. 重传成本高:长报文传输过程中容易出错,一旦出错需要重传整个报文,代价较高。

分组交换

分组交换是一种无连接的存储转发交换方式,它将用户的完整报文分割为多个固定长度的 “分组”(Packet),以分组为单位在网络中传输,每个分组独立路由,最终在目的地重组为完整报文。

分组交换的优点

  1. 无需建立连接:通信前无需预先建立专用物理通路,随时可发送数据。
  2. 存储转发机制:数据以 “分组” 为单位,在交换节点间存储转发,通信线路可灵活分配。
  3. 线路利用率高:通信双方无需独占整条物理线路,相比电路交换,资源利用率大幅提升。
  4. 支持差错控制:交换节点可通过校验技术实现差错控制,能发现传输错误。
  5. 对比报文交换的改进:
    • 分组长度固定,方便存储转发的管理与调度;
    • 单个分组的存储转发时间开销、缓存开销更小;
    • 单个分组出错概率低,重传仅需重发出错分组,代价远低于重传整个报文。

分组交换的缺点

  1. 控制信息占比增加:每个分组都需要携带首部控制信息(如地址、序号),相比报文交换,额外开销比例上升。
  2. 存在存储转发时延:相比电路交换的直通传输,分组在每个节点都需要存储、转发,存在额外时延。
  3. 传输复杂度高:报文被拆分为多个分组后,传输过程中可能出现失序、丢失、重复等问题,目的地需要额外的重组、排序、差错恢复处理,增加了协议复杂度。

分组交换是目前互联网的主流交换方式,它在电路交换和报文交换之间做了折中,既解决了电路交换资源浪费的问题,又解决了报文交换开销大、重传成本高的问题,同时也引入了额外的控制开销和传输复杂度。

计算机网络分类

按分布范围

  • 广域网 WAN:几十~几千公里,跨省 / 跨国
  • 城域网 MAN:几~几十公里,城市级
  • 局域网 LAN:几十米~几公里,校园 / 公司 / 家庭
  • 个域网 PAN:几十米内,个人设备互联

局域网通过路由器链接广域网

按传输技术

  • 广播式网络:一发全收,按目的地址筛选
  • 点对点网络:一对一精准传输

按拓扑结构

  • 总线型:广播,争用总线
  • 环形:广播,令牌控制
  • 星型:点对点,无争用
  • 网状:点对点,高可靠,广域网常用

按使用者

  • 公用网:公众可用
  • 专用网:内部专用

按传输介质

  • 有线:网线、光纤
  • 无线:Wi‑Fi、5G、蓝牙

计算机网络性能指标

信道:表示向某一方向传送信息的通道(信道≠通信线路)一条通信线路在逻辑上往往对应一条发送信道和一条接收信道

速率(Speed):指连接到网络上的节点在信道上传输数据的速率。也称数据率或比特率、数据传输速率

速率单位: bit/s,或 b/s,或 bps(真题最常用)

⚠️注意:有时也会用 B/s(1B = 8b,B=Byte 字节,b=bit 比特)

1
2
3
4
5
1 bps = 1 bit/s = 1/8 B/s ≈ 0.125 B/s
1 B/s = 8 bit/s = 8 bps
10 Mbps 宽带:≈ 1.25 MB/s
300 Mbps 宽带:≈ 37.5 MB/s
1000 Mbps(千兆)宽带:≈ 125 MB/s

带宽

  • 信道最高数据率,单位 bps
  • 通信原理:频带宽度,单位 Hz

本质一样:信道带宽越大,传输数据的能力越强

在《计算机网络》中:带宽(bandwidth):表示某信道所能通过的 “最高数据率”。单位:bps(或记为 b/s、bit/s;可加上数量前缀 k、M、G、T)。

在《通信原理》(通信领域的一门基础学科)中:带宽(bandwidth):表示某信道允许通过的信号频带范围。单位:Hz(读作 “赫 / 赫兹”;可加上数量前缀 k、M、G、T)。

吞吐量

  • 单位时间实际通过的数据量

时延

  • 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

  • 发送时延 = 数据长度 / 发送速率

  • 传播时延 = 信道长度 / 电磁波速度

时延带宽积

  • 时延带宽积 = 传播时延 × 带宽
  • 表示链路中最多能容纳的比特数

往返时延 RTT

  • 发数据 → 收确认 的总时间

信道利用率

  • 有数据时间 / 总时间
  • 太低浪费,太高易拥塞

计算机网络分层结构

一、分层的设计思想

  1. 核心:将庞大复杂的网络问题,拆解为若干较小的局部问题,简化设计与实现。
  2. 计算机网络分层需实现的核心功能:差错控制、流量控制、分段和重装、复用和分用、连接建立和释放。
  3. 特点:分层设计不唯一,可按需增减层次;同一功能可在多层重复出现。

二、三种常见网络体系结构

体系结构 层数 定位 层次划分
OSI 参考模型 7 层 法律上的国际标准 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP 模型 4 层 事实上的工业标准 应用层、传输层、网际层(IP 层)、网络接口层
五层模型 5 层 考研教学标准 应用层、传输层、网络层、数据链路层、物理层

三、核心基础概念

  1. 网络体系结构:计算机网络各层及其协议的集合,是抽象的功能定义,不涉及具体硬件 / 软件实现。
  2. 实现:遵循体系结构,用硬件 / 软件完成功能的具体过程,是具体的。

四、PDU、SDU、PCI 核心关系

  1. 协议数据单元(PDU):对等层次之间传送的数据单位,记为n-PDU
  2. 服务数据单元(SDU):为完成上层功能传送的数据,记为n-SDU
  3. 协议控制信息(PCI):控制协议操作的信息,记为n-PCI
  4. 核心公式n-SDU + n-PCI = n-PDU = (n-1)-SDU

五、协议三要素

六、数据传输核心视角

  1. 水平视角:对等层通过协议直接通信,用户感知不到底层封装 / 解封装。
  2. 垂直视角:数据从上层到下层逐层加首部 / 尾部封装,物理层转为比特流传输;接收方反向逐层解封装。

OSI参考模型-物联网叔会使用

物联网叔会使用

物理层

任务:比特传输

数据链路层

任务:帧为单位,差错检测,流量控制

网络层

任务:分组为单位,路由选择,分组转发,拥塞控制,网际互联

其他:差错控制,流量控制,链接建立与释放(确保分组有序),可靠传输管理(接收方需要返回分组确认消息)。

传输层

任务:报文段为单位,复用和分用

其他:差错控制,流量控制,链接建立与释放,可靠传输管理。

会话层

任务:会话管理,采用检查点机制

表示层

任务:数据格式转换,解决两台主机信息不一致

应用层

任务:特定网络功能HTTP

TCP/IP模型-接网输用

接网输用

第二章物理层

通信基础

  1. 信源(信息源)
  • 定义:产生并发送信息(数据)的设备 / 实体,是通信的 “发送端”。
  • 作用:将待传输的原始信息(文字、语音、图像等)转换为可传输的信号形式。
  1. 信宿(收信者)
  • 定义:接收并还原信息的设备 / 实体,是通信的 “接收端”。
  • 作用:将收到的信号还原为原始信息,完成信息的接收与处理。
  1. 信号
  • 定义:数据的电气 / 电磁表现形式,是信息传输的载体。
  • 分类:
    • 模拟信号:连续变化的信号(如传统电话线上的语音信号);
    • 数字信号:离散的、取值有限的信号(如计算机传输的二进制比特流)。
  1. 信道
  • 定义:传输信号的物理 / 逻辑通道,是信号从信源到信宿的传输媒介。

  • 分类:

    • 按传输介质:有线信道(双绞线、光纤、同轴电缆)、无线信道(无线电波、微波);
    • 按传输信号类型:模拟信道(传输模拟信号)、数字信道(传输数字信号)。
  1. 码元(Symbol)
  • 定义:在数字通信中,用固定时长的离散信号波形表示数字信号的基本单元,这个基本信号单元就叫码元
  • 关键细节:
    • 这个固定时长称为 “码元长度”,单位时间内传输的码元数量就是 “码元传输速率”;
    • 一个码元可携带多个比特信息:若一个码元有N种不同的离散状态(电平 / 波形),则它能携带的比特数为 log₂N
    • 例:用 4 种不同的电压波形表示码元,每个码元可携带log₂4=2bit的信息
  1. 波特(Baud)
  • 定义:是 码元传输速率(波特率) 的单位,符号为B
  • 波特率(R_B):单位时间内传输的码元数目,单位是波特(Baud)
  • 关键细节:波特率只和码元的传输速度有关,与每个码元携带多少比特无关。
    • 例:1 秒内传输了 1000 个码元,波特率就是1000 Baud

信道的极限容量

带宽

噪声

编码和调制

常用调制方法

传输介质

双绞线,同轴电缆,光纤与无线传输介质。

物理层设备

中继器

集线器

第三章数据链路层

数据链路层的功能-封帧、透传、差检

三个基本问题:封装成帧,透明传输,差错检测

点对点,广播通信两种

组帧

字符计数法

字节填充法

零比特填充法

HDLC,PPP协议就是使用的这种方法。

违规编码

差错控制

码距特性

码距(海明距离)

两个合法码字之间,二进制对应位不相同的位数,就是这两个码字的码距。

最小码距 *(d_0)*

一组编码中,所有两两合法码字码距的最小值,决定了编码的检错、纠错能力。

列出所有合法码字;

逐对对比两个码字,统计二进制位不同的个数,即为两两码距;

从所有两两码距中取最小值,就是最小码距 (d_0)。

编码集合:0000、0011、1100

  • 0000 与 0011:2 位不同 → 码距 = 2

  • 0000 与 1100:2 位不同 → 码距 = 2

  • 0011 与 1100:4 位不同 → 码距 = 4

    最小码距:d_0=2

src=”image-20260505164916135.webp” alt=”image-20260505164916135” style=”zoom: 67%;” />

检错编码-奇校验、偶校验

检错编码-CRC循环冗余码

检错编码-海明校验

流量控制和可靠传输机制

两个都要靠“滑动窗口机制”来实现

滑动窗口机制

发送窗口WT

接受窗口WR

停止等待协议(S-W)

正常工作

帧丢失

1.数据帧丢失

发送方设置计时器,时间到了,没有收到确认帧就重传。

2.确认帧丢失

发送方设置计时器,时间到了,没有收到确认帧就重传。

接收方收到后,根据重传的数据帧,返回对应的确认帧。

3.为什么要给帧编号?

如果不编号,超时重传出的帧,在接受方看来可能是新的帧,也可能是刚刚确认帧丢失之后,重新传送的帧。同理之前的所有数据可能都是重传帧。

所有根据滑动距离1,设置1bit的位置编号即可判断是否出现重传现象。也能根据编号重现发送确认帧,让发送方下一步。

帧出错

接受方在检测到帧的信息出现错误的时候,直接丢弃帧,不会发送确认帧。等待发送方开始重新发送。

多滑动窗口&后退N帧协议GBN

正常

帧丢失

1.数据帧丢失/检测数据帧i出错

发送方:数据帧i发送后启动计时器,到时间(如果数据帧丢失,或者数据帧出错,接收方都不会返回该数据帧的确认帧) 就会根据当前返回的数据帧编号K,选择K之后的Wt帧发送。

接受方:检测帧i是否出错,等待接受下一帧,一帧一帧滑动向右,如果数据帧丢失,或者数据帧出错,接收方都不会返回该数据帧的确认帧。开始等待计时器耗尽。

2.确认帧丢失

发送方:数据帧i发送后启动计时器,到时间没收到确认帧,直接重传刚才发送的帧。

接收方:已经受到一次,检测到是重复的帧直接丢弃,并返回最后一帧的确认帧。

3.为什么要满足Wt+Wr<=2^n?

保证相邻的Wt+1帧内不含重复的接受方(Wr=1)最后所在帧编号.

如果Wt=4,Wr=1,n=4.发送4帧后,确认帧丢失,重传过程,接收方接收到的是从0开始的4帧,接收方看到帧编号和当前最后一个帧一致,直接滑动的话就会出现数据错乱。

多滑动窗口&选择重传协议SR

1.数据帧丢失

发送方:发送后开启计时器,开启等待,接受方的确认帧。等不到就不滑动,如果等到就划过当前帧。再次重传。

接受方:受不到,则不返回确认帧。开启等待计时器耗尽重发。窗口不会划过当前帧。

2.数据帧出错

接收方检测到帧i出错,返回否认帧NAKi。发送方接受到直接开始重传,并暂停滑动在当前帧,检测窗口内其他未发送帧继续发送。

3.确认帧丢失

接收方:不管接收方,受到直接滑动窗口;检测接受到的帧是否重复,返回重复帧ACK,等待新帧,没有新帧不滑动窗口。

接收方:收不到确认帧就一直发,不滑动窗口;受到之后,滑动。

4.为什么要满足Wt+Wr<=2^n?

保证相邻的Wt+Wr帧内不含重复的接受方(Wr)最后所在帧编号.

在接受方:也就是一个满编号队列当中,不会检测到出重复编号。

信道利用率

停止等待协议(S-W)

情况一

情况二

例题

GBN、SR协议信道利用率

例题1

信道利用率80%,100Mps*80%=80Mps。

例题2

介质访问控制

信道划分介质访问控制-静态划分信道

时分复用TDM(Time Division Multiplexing)
统计时分复用STDM
频分复用FDM
波分复用WDM
码分复用CDM

随机访问介质访问控制-动态划分

ALOHA协议
  1. 纯ALOHA协议
  1. 时隙ALOHA协议
CSMA协议

节点的网络适配器,需要搭载载波监听装置。

区别ALOHA,在发送数据之前会先监听信道,信道空闲才会发送数据。

  1. 1-坚持CSMA协议
  1. 非坚持CSMA协议
  1. p-坚持CSMA协议
CSMA/CD-总线型(Collision Detection)

先听后发:具备1-坚持CSMA的特性,检测到空闲会立即发送;

边听边发:发送自己数据帧的同时,持续监听有无其他数据帧;

冲突停发:发送监听过程中,如果有其他的就是检测到冲突,放弃传输并等待,记录冲突次数。如果次数等于16时放弃传出,直接报告传输失败。

随机重发:随机等待r倍争用期

随机数r:

争用期:两倍最大单向传播时延。

注意: 其他接受到小于最短帧长的帧,直接丢弃当前帧。

最短帧长:争用期X信道带宽;

没有ACK机制,发送过程没有检测到冲突,就视为发送成功。

最长帧长:规定最长帧长防止某些节点一直占用信道。

以太网规定:最短64B,最长1518B

IP数据报的长度是:46–1500B

CSMA/CA(Collision Avoidance)

模式一。

时间长度:DIFS>PIFS>SIFS

设置DIFS>SIFS+ACK最远传播时延

模式二。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
问:CSMA/CA协议有没有冲突检测能力,可以用于有线网络吗?
答:CSMA/CA 没有冲突检测能力
CSMA/CA 是冲突避免,不是冲突检测。
它只在发送前做载波监听、随机等待避让来减少冲突概率,发送过程中不会监听信道、无法实时检测是否发生冲突,没有冲突检测功能。
而 CSMA/CD 才具备边发送边监听的冲突检测能力。
可以用于有线网络,但实际不使用
从协议原理上,CSMA/CA 理论上可以部署在有线网络;
但有线网络不用它:有线信道信号质量好、传输时延小,适合用CSMA/CD 冲突检测,效率更高;
CSMA/CA 专为无线网络设计,解决无线不能同时收发、存在隐藏终端无法做冲突检测的问题。
------------------------------------------------------------------
问:如果使用CSMA/CA协议通信站点A和AP之间有一连串的数据帧要发送,每个数据帧之前都得等待DIFS时长进行信道征用吗?这样效率不是很低吗?现实是如何实现的呢?
1. 连续发帧不需要每帧都等待完整 DIFS
如果站点 A 和 AP 连续传输一串数据帧,只有第一个数据帧需要等待 DIFS + 随机退避 来竞争征用信道;
后面连续的所有数据帧,都不用再等 DIFS、也不用重新随机退避。
2. 为什么不会效率很低?靠 SIFS 短间隔机制
802.11 定义了两种关键时间间隔:
DIFS:长间隔,用于信道竞争、抢占信道
SIFS:极短间隔,远小于 DIFS,不参与信道竞争
流程:
首帧:信道空闲 → 等 DIFS + 随机退避 → 抢占成功发数据帧;
AP 收到后,只间隔SIFS就回复 ACK 确认帧;
站点收到 ACK 后,只需间隔 SIFS 立刻发下一帧;
SIFS 时间极短,其他站点来不及检测信道、发起竞争,信道被当前通信双方临时独占。
3. 现实进一步优化:帧突发 + 块确认
为了再提升效率,802.11 实际还做了两层优化:
帧突发:一次抢占信道后,连续多发多个数据帧,全程只用一次 DIFS 竞争;
块确认 Block ACK:不用每发一帧就等一个 ACK,连续发完一批帧后,AP 只用一个块 ACK统一确认所有帧,大幅减少确认帧的开销。
------------------------------------------------------------------
问:发送站如果没有收到ACK呢?
答:CSMA/CA 发送站未收到 ACK 的处理机制
超时判定失败
发送站发出数据帧后,会启动ACK 超时计时器。若规定时间内没收到 AP 返回的 ACK 帧,直接判定帧传输失败,原因可能是无线干扰、冲突、信号衰减、AP 未正确接收。
执行二进制指数退避
不会重新等待 DIFS 去竞争信道,而是直接执行随机退避算法,随机等待若干时隙。
退避结束后重传
退避时间结束,检测信道空闲,立刻重新发送同一个数据帧。
重传次数限制
不会无限重传,达到最大重传次数仍收不到 ACK,就直接丢弃该帧,向上层协议上报传输错误。
核心特点
不用重新走 DIFS 信道竞争流程,靠超时计时 + 退避重传解决丢帧 / 冲突问题;无线无法边发边检测冲突,只能依靠ACK 确认 + 超时重传做差错恢复。
------------------------------------------------------------------
问:多个站点同时向AP发送DIFS会导致冲突吗?谁会拿到信道控制权
1. 多个站点同时等待完 DIFS,不会立刻直接冲突
所有站点监听到信道空闲,都会先静默等待DIFS 时长;
但DIFS 结束后,所有站点不能立即发帧,必须进入随机退避时隙竞争,不是马上发包,所以不会直接撞包冲突。
2. 谁拿到信道控制权
DIFS 结束后,每个站点在竞争窗口 CW里随机选一个退避时隙值,开始倒数:
谁的退避时隙先倒数到 0,谁就优先抢占信道、立即发送数据;
其他站点一旦监听到信道被占用,立刻冻结自己的退避计时器,暂停倒计时,等信道空闲后继续接着剩余时间倒数。
3. 什么情况下才会真正冲突
只有两个或多个站点刚好随机选出相同的退避时隙,同时倒数到 0、同时发帧,才会发生无线帧冲突;
冲突后都收不到 AP 的 ACK,各自执行二进制指数退避,放大竞争窗口、重新随机选时隙,再次竞争信道。

轮询访问介质访问控制-令牌传递协议-动态划分

生成令牌帧->如果有数据要发送就将令牌帧转化为数据帧->循环发送对比目标节点->回到原点检测将令牌交给下一个节点

局域网

局域网体系

IEEE 802.11-无线 与 802.3-有线

src=”image-20260508203226548.webp” alt=”image-20260508203226548” style=”zoom:200%;” />

IEEE 802.3以太网标准

做题默认交换机连接的终端都可以全双工。

用集线器连接的节点,仅支持半双工模式。

同轴电缆网段只支持半双工通信。

以太网MAC帧

广播域-单播域

注意:以太网交换机隔离冲突域,但是不隔离广播域;

路由器隔离广播域也隔离冲突域;

集线器不隔离广播域也不隔离冲突域

VLAN基本概念和原理

提取的 VLAN 技术要点

  • 可将一个大型局域网分割成若干个较小的 VLAN,每个 VLAN 是一个广播域
  • 需要使用支持 VLAN 功能的以太网交换机来实现
  • 每个 VLAN 对应一个VID(VLAN ID,VLAN 标识)

VLAN(虚拟局域网)的核心作用是通过逻辑分段,隔离广播域、提升网络安全性与带宽利用率;

VID是 VLAN 的唯一标识,取值范围通常为 1-4094,其中 1 为默认 VLAN,用户可自定义 2-4094 的 VLAN;

只有支持 VLAN 功能的交换机,才能识别和处理带 VLAN 标签的帧,实现跨交换机的 VLAN 通信。

  1. 基于端口划分(静态 VLAN,最常用)
  • 原理:手动将交换机的物理端口 / 逻辑端口(如 Eth0/1、Trunk 口)固定分配到不同 VLAN 中,端口属于哪个 VLAN,接入的设备就属于哪个 VLAN。
  • 配置示例:在交换机上执行 switchport access vlan 10,将端口 10 加入 VLAN 10。
  • 优点:配置简单、稳定可靠,广播域隔离效果明确,无额外开销。
  • 缺点:用户设备移动(换端口)时,需要手动修改端口的 VLAN 配置,灵活性差。
  • 适用场景:工位固定的企业办公网络、机房设备接入等场景。
  1. 基于 MAC 地址划分(动态 VLAN)
  • 原理:交换机维护一张MAC地址-VLAN映射表,主机接入端口时,交换机会读取主机的 MAC 地址,根据映射表自动将端口划分到对应 VLAN。
  • 配置示例:在交换机上绑定 MAC 地址00-11-22-33-44-55到 VLAN 20,主机接入后自动分配到 VLAN 20。
  • 优点:用户设备移动(换端口)时无需重新配置 VLAN,适合移动办公场景。
  • 缺点:初始化配置工作量大,且 MAC 地址可被伪造,存在安全风险。
  • 适用场景:企业内部笔记本、移动终端较多的环境,或对用户物理位置不固定的场景。
  1. 基于 IP 地址 / 子网划分(三层 VLAN)
  • 原理:根据主机的IP 地址 / IP 子网划分 VLAN,交换机(或三层设备)通过解析 IP 数据包的源 IP,将流量分配到对应 VLAN(需三层交换机支持)。
  • 示例:192.168.1.0/24 网段的主机自动划分到 VLAN 10,192.168.2.0/24 网段的主机划分到 VLAN 20。
  • 优点:与 IP 子网天然绑定,适合按部门网段规划的网络,用户更换端口无需修改配置,只需 IP 在对应网段即可。
  • 缺点:依赖三层协议解析,配置复杂度高,且 IP 地址可手动修改,易导致 VLAN 划分混乱。
  • 适用场景:企业按业务部门网段划分的网络,或需要跨网段动态分配 VLAN 的场景。

802.1Q帧-交换机之间的传输

无线局域网

  1. 有固定基础设施无线局域网-802.11无线局域网(WIFI)
  2. 无固定基础设施的移动自组织网络-隔空投送

基本概念:

门户(Portal):将两类局域网(无线802.11和有线802.3)链接变成更大的局域网。

802.11帧:

例题

广域网

广域网的组成

PPP协议

提供无差错,不可靠服务

链路控制协议LCP-网络控制协议NCP

PPP 链路永久连通,LCP/NCP 一次协商完成就长期保持,没有反复建链的开销。

节点交换机基于分组交换转发,PPP 只是帧格式,不影响转发速度。

PPP不是电路交换不需要建立 “独占物理链路”

数据链路层设备

以太网交换机P118

自学习算法

表项有时间期限过期自动作废。

第四章网络层

网络层的功能

IPv4

各协议之间服务关系

IP数据报的格式

IP数据报中-源地址与目的地址(IP地址分类方案)

若主机号占 N bit,则一个网络中可指派的主机/路由器接口数最多为 2^N - 2(去掉全0网络地址和全1广播地址)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
IP 数据报在主机之间的转发流程
假设主机 A 要向主机 B 发送 IP 数据报,两者可能在同一网络,也可能跨网络(通过路由器)。

1. 主机 A 的处理
检查目的 IP 地址。
用子网掩码判断 B 是否与自己在同一网络(网络号是否相同)。
是:直接调用 ARP 获取 B 的 MAC 地址,封装成帧发送。
否:将数据报发给默认网关(路由器),同样用 ARP 获取网关 MAC。
2. 路由器转发
路由器收到帧,剥去链路层头,检查 IP 数据报的目的地址。
查询路由表:
若找到匹配的网络(最长前缀匹配),将数据报转发到对应出口接口。
若无匹配且无默认路由,丢弃并返回 ICMP 错误。
修改链路层源/目的 MAC 地址(逐跳变化),但 IP 首部的源/目的 IP 保持不变(除非 NAT)。
若数据报长度 > 下一跳链路 MTU,进行分片(置标志位,生成多个 IP 片)。
3. 目的主机 B 的处理
接收所有到达的 IP 分片。
根据 IP 头部的标识、标志、片偏移重组完整数据报。
检查目的 IP 是否为本机(或广播 / 组播地址)。
去除 IP 头,将负载交给上层协议(如 TCP 或 UDP)。

  • DHCP 请求:主机未获 IP 时,用 0.0.0.0 作为源地址,255.255.255.255 作为目的地址发送发现报文。
  • 环回测试:发往 127.0.0.1 的数据报不离开本机,直接由协议栈环回,用于测试网络协议栈是否工作正常。
  • 网络地址 / 广播地址:不会出现在普通数据报的目的地址中,但可用于路由表条目或网络配置。

子网划分-子网掩码

[4.2.3 子网划分与和子网掩码(纯净版).pdf](4.2.3 子网划分与和子网掩码(纯净版).pdf)

无分类编址CIDR

路由聚合

[4.2.5 路由聚合.pdf](4.2.5 路由聚合.pdf)

NAT地址转换

[4.2.6 网络地址转换 NAT(纯净版无手稿).pdf](4.2.6 网络地址转换 NAT(纯净版无手稿).pdf)

ARP协议-地址解析协议

动态主机配置协议-DHCP

[4.2.6 动态主机配置协议DHCP.pdf](4.2.6 动态主机配置协议DHCP.pdf)

ICMP网际控制报文

问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
为什么说互联网当中路由器对目的地址为私有地址的数据一律不转发?
1. 私有地址不具备全球唯一性(最核心)
私有地址可以被全世界所有局域网重复使用;
全球有无数个设备用192.168.1.110.0.0.1
公网路由器若转发,完全不知道该发给哪一台主机,必然造成地址冲突、全网路由混乱。
2. 标准明确禁止:RFC 1918 强制规定
私有地址的设计初衷就是仅用于内网通信,禁止在公网骨干网中路由;
全球运营商、核心路由器都按此标准配置:默认过滤 / 丢弃私有地址数据包。
3. 公网路由表没有私有地址的路由条目
公网路由器只存储全球唯一的公网 IP 路由;
收到目的地址是私有 IP 的包,查表无匹配路由,直接按 “不可达” 丢弃。
4. 安全与地址资源保护
隔离内网与公网,避免内网设备直接暴露,提升内网安全;
缓解 IPv4 公网地址枯竭,让大量内网设备共享少量公网 IP。

使用樱花映射实现我的世界联机的计算机网络层面的原理是什么?为什么只要设置好隧道的的本地IP和默认端口号25565就可以实现不同主机的通信,甚至都不是同一局域网。
一、先搞懂:直连为什么连不上(对应你学的公网 / 私有地址)
你的 MC 服务器主机在家用局域网里,只有私有 IP(如 192.168.1.100),而公网路由器对私有地址一律不转发,且家用 NAT 网关有两个铁律:
只允许内网主动出站的连接,拒绝外网主动入站的连接;
外网玩家的数据包,目的 IP 是你的私有 IP,公网会直接丢弃,根本到不了你家。
这就是跨局域网无法直连的根本原因。
二、樱花映射的核心网络原理(基于 FRP 反向隧道 + 公网中继)
樱花映射是内网穿透(NAT 穿透),本质是:用一台公网服务器做 “中间人”,建立反向隧道,绕过 NAT 与私有地址限制SakuraFrp。
核心角色
MC 服主机(内网):运行樱花客户端,开 MC 服务,监听本地IP:25565
樱花公网节点(中继服务器):有公网 IP,所有人都能访问,负责转发流量
外网玩家主机:连接樱花公网节点的 IP + 端口
核心机制(考试级总结)
不走 “外网→内网” 的禁止路径,而是内网主动连公网,建立永久隧道;
所有流量都经公网服务器中转转发,完美避开 “公网不转发私有地址” 的规则;
这是反向代理 + 隧道转发,不是传统端口映射,不需要你有公网 IP。
三、为什么只填「本地 IP」和「端口 25565」就够了?
1. MC 默认端口是25565
这是 MC Java 版固定监听的 TCP 端口,用来识别 “这是 MC 服务器的通信流量”。
2. 两个参数的唯一作用(极简)
本地 IP:你局域网里 MC 服务器电脑的私有 IP(如 192.168.1.100
→ 告诉樱花客户端:流量要转发给局域网里的哪台电脑
本地端口 25565:MC 服务器进程监听的端口
→ 告诉樱花客户端:流量要交给这台电脑上的哪个 MC 服务
樱花客户端只需要这两个信息,就能把公网隧道的流量,精准转发到你的 MC 服务器,不需要公网 IP、不需要路由器设置、不需要同局域网。


DHCP服务器只能给在同一个子网内的主机分配IP吗?
DHCP 服务器并非只能给同一子网的主机分配 IP,默认情况下跨子网无法分配,但借助DHCP 中继代理(DHCP Relay),就可以跨子网、跨网段为不同子网的主机统一分配 IP。
一、为什么默认只能同一子网?
DHCP 客户端获取 IP 的第一步是发送DHCP Discover 广播包(目的地址:255.255.255.255),而路由器的核心规则:默认不转发广播包。
广播包被路由器隔离在本地子网内,无法传到其他子网;
跨子网的 DHCP 服务器收不到广播请求,自然无法分配 IP。
二、跨子网分配 IP 的关键:DHCP 中继代理
这是解决跨子网 DHCP 分配的唯一标准方案,通常由路由器 / 三层交换机开启 DHCP Relay 功能实现。
工作原理(极简流程)
跨子网主机发送DHCP Discover 广播,被本地子网的DHCP 中继代理接收;
中继代理把广播包转换成单播包,直接发给远端的 DHCP 服务器;
DHCP 服务器根据中继代理的信息,识别主机所在子网,从对应地址池分配 IP;
服务器把分配结果(DHCP Offer)单播发给中继代理,再由代理转发给主机。
关键要求
DHCP 服务器必须提前配置多个子网的地址池(如宿舍子网、教学楼子网),中继代理会告知服务器主机属于哪个子网,服务器分配对应网段的 IP


片偏移为100的IP分组意味着什么?
IP 分组的片偏移 = 100,表示:该分片的数据部分,在原始未分片的 IP 数据报数据区中,从第 800 字节的位置开始。


ping 命令使用的是:网络层 ICMP 协议的 回送请求(Echo Request)与 回送应答(Echo Reply)报文

IPv4 首部校验和的计算方法:只对 IPv4 首部按 16 位分组,反码求和后取反,不计算数据部分。
一、标准计算步骤(5 步,考试直接套用)
1.确定范围
只计算IPv4 首部(不含数据部分),首部长度必须是4 字节的整数倍。
2.字段置零
先把首部中的校验和字段置为 0
3.16 位分组
将整个首部按每16位(2字节)为一组,切分成多个 16 位二进制数。
4.反码加法
对所有 16 位组做反码求和(相加后若有进位,循环加到最低位,即回卷)。
5.按位取反
将求和结果每一位取反,最终得到的就是IPv4 首部校验和。

接收方把 ** 整个首部(含校验和)再做 16 位反码求和,结果为全 10xFFFF)** 则首部无差错。


判断对错:若网络层发现检验和错误,就丢弃该IP分组并发送ICMP差错报告报文?
正确规则
当网络层发现IP 首部校验和错误时:
直接丢弃该 IP 数据报,且 不发送任何 ICMP 差错报告报文。
为什么不发 ICMP?(关键原因)
校验和出错 → IP 首部已损坏,源 IP 地址可能无效 / 伪造;
向错误的源地址发 ICMP,浪费网络资源,还可能被利用做攻击;
协议规定:仅首部正确的情况下,出现目的不可达、超时、参数问题等,才发送 ICMP 差错报文。


并非所有结尾是0的IP都代表本地地址。
结尾是 0 的 IP ≠ 网络地址(本地地址)
判断是不是网络地址,只看 “主机位是否全 0”,不看十进制最后一位是不是 0;只有主机位刚好是最后 8 位时,结尾 0 才是网络地址,其他情况结尾 0 的 IP 完全可以是正常主机地址。
例子 1:结尾 0 = 网络地址(仅主机位 = 8 位时)
IP:192.168.1.0
子网掩码:255.255.255.0(/24,主机位 = 8 位)
主机位:最后 8 位 → 全 0
结论:网络地址,不能分配主机
例子 2:结尾 0 ≠ 网络地址(主机位 > 8 位时)
IP:10.1.0.0
子网掩码:255.0.0.0(/8,主机位 = 24 位)
主机位:中间 8 位 + 最后 8 位 → 1.0.0(不全 0
结论:普通主机地址,可以分配给主机


一台主机有两个IP意味着什么?
一台主机配置两个 IP 地址,表示该主机可以同时隶属于两个不同的 IP 子网;既可以通过任意一个 IP 与对应网络中的主机通信,也可利用多 IP 实现多服务部署与网络路由冗余;主机对目的地址为本机任意一个 IP 的 IP 分组,都会接收并处理。


IPv6

IPv6格式

128bit

冒号十六进制、压缩记法

例题:

IPv6地址分类

IPv6支持即插即用:可以使用MAC地址拼接网络前缀

路由算法和协议算法

路由算法

距离-向量路由算法(RIP基于此)

链路状态路由算法(OSPF基于此)

本质是dj斯特拉算法,路由器需要知道完整的拓扑结构

路径向量路由算法(BGP基于此)

分层次的路由协议

每一个自治系统AS拥有唯一的自治系统编号ASN,自治系统之间都是独立平行的,一个自治系统通常包含一个或者多个CIDR地址块。

内部网关协议IGP:用于AS内部路由选择:RIP,OSPF

外部网关协议BGP:用于AS之间的路由选择:BGP

RIP路由协议

—本质上是图的最短路径问题

RIP属于应用层,使用UDP传输数据,端口号:520

RIP的两种报文:Request报文,Responde报文

RIP的规定
路由器之间如何交换必要信息?

路由器怎么知道发送给的是自己的邻居,而不是伪装的或者主机?

RIP的工作过程

为什么RIP要发送自己路由表给相邻节点,由相邻节点修改;而不是直接发送对应修改后的路由表给相邻节点呢?

全部建立在 “发送原始路由、接收方处理” 的逻辑上

RIP优缺点

OSPF协议

OSPF特点
OSPF工作

LSDB:链路状态数据库-AS当中所有路由的链路状态有向邻接表(链表)的集合。

OSPF分组类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
RIP,OSPF的信息传递都需要依赖IP数据报吗?


都依赖 IP 数据报封装传输,但协议号、端口号、封装层级不一样
1. RIP
传输层:UDP
端口:520
流程:RIP 报文 → UDP 头部 → IP 头部 → 帧
必须靠IP 寻址找到邻居路由器
2. OSPF
传输层:不使用 TCP/UDP,直接封装在IP 报文里
IP 协议号:89
流程:OSPF 报文 → IP 头部 → 帧
依然依靠 IP 路由、IP 地址通信
一句话总结
RIP:UDP + IP
OSPF:直接裸装在 IP 里(协议号 89
二者全都必须依赖 IP 数据报转发,没有 IP 就传不了路由信息
易混区分
只有BGP是:TCP(179) + IP
路由协议底层全都离不开 IP

BGP协议-外部网关协议

BGP特点

(1)、 力求找到一条自治系统之间比较好的路由,而不是最佳路由。

(2)、 AS之间的路由选择必须考虑政治、安全或经济等因素。

(3)、 BGP采用路径向量路由算法–路由器之间通告BGP路由信息时,不仅要告知目的地,还要告知到达该目的的完整路径。(需要告知经过哪些自治系统)

(4)、 BGP是应用层协议,基于TCP(端口号:179)

BGP相关概念

在一个自治系统中,边界路由器一定要运行BGP协议,内部的一些核心路由器也要运行BGP协议。 为简化理解,姑且认为自治系统内所有路由器都要运行 BGP协议,与此同时,也要运行 RIP 或 OSPF 协议。

BGP 邻居

  • BGP 协议的通信双方称为 BGP 对等方(BGP peers),也常译为 “BGP 邻居”
  • BGP 邻居之间先建立 TCP 连接,然后在该连接上交换 BGP 报文,从而建立 BGP 会话
BGP路由信息格式
BGP路由选择策略

IP多播

IP 数据报协议字段 (Protocol) 取值对照表
作用:标识 IP 数据包上层承载的是什么协议,8位字段,十进制编号为 IANA 标准协议号。
十进制值 协议名称
1 ICMP 网际控制报文协议
2 IGMP 网际组管理协议
6 TCP 传输控制协议
17 UDP 用户数据报协议
41 IPv6
47 GRE 隧道协议
50 ESP 加密安全协议
51 AH 认证头协议
88 EIGRP 路由协议
89 OSPF 路由协议
132 SCTP 流控传输协议

移动IP

移动设备在本地归属代理还是采用传统的TCP/IP通信。

网络层设备

第五章传输层

传输层功能

注意:应用层传给传输层的数据可以不使用H5包装,而是直接交给传输层

网络层实现主机到主机的通信,传输层实现了’端到端‘的通信。

两台主机的端口号是独立的,TCP和UDP的端口号也是独立的。

两个进程之间的通信需要指明:那种协议,本地进程绑定端口号,对方IP和端口号(套接字Socket是IP:端口号)。

**端口号分类 **

**端口号:16bit,0-65535 **

UDP数据报

TCP和UDP报文结构

支持一对多,设置广播IP地址255.255.255.255,符合UDP端口的所有进程都会接受。

TCP的一对一指的是进程和进程之间的一对一。

UDP数据报格式-UDP检验

理论上的最大长度是65535,实际封装到IP数据报中还要减去20IP数据报首部,也就是65515B

TCP报文段

TCP建立链接的过程

MSS并不包括TCP首部

TCP数据报格式

ack具有累计确认的特点,ACK和ack不一样

数据偏移字段用于指出TCP首部长度

TCP链接建立与释放

只有握手1,的ACK=0,其他为1;只有握手1,2的SYN=1,其他为0;只有挥手1,3的FIN=1,其他为0;

每次发送的seq是发送方自定义的序列号,ack是确认对方的序列号;两个主机之间交换会不断更新ack和seq

握手1,2都要消耗1个seq,不携带数据,但是握手3如果没有数据就不消耗seq,seq维持不变。

如果客户在TIME-WAIT,1600ms,2MSL后才会释放链接,如果服务器没有受到挥手4,就重发挥手3,这样客户收到挥手三就重置计时器并发送挥手4。

TCP-可靠传输、流量控制

连续受到1+3个序号相同的ACK才会立即重传,第一个ACK不属于冗余ACK。

TCP拥塞控制

流量控制和拥塞控制的区别

流量控制:端到端,防止接收方缓存被撑爆
拥塞控制:全网链路,防止中间路由器网络拥堵

对比项 流量控制 拥塞控制
核心目的 不让接收方收不下数据 不让整个网络堵车、丢包、时延暴涨
瓶颈位置 瓶颈在接收主机缓冲区 瓶颈在路由器、链路带宽
作用范围 一对一 发送方 ↔ 接收方 全局整个传输网络
控制依据 接收方返回的接收窗口 rwnd 发送方探测网络得到拥塞窗口 cwnd
控制主体 接收方说了算 发送方自己探测判断
解决问题 接收缓存溢出 网络拥塞、大量丢包
核心窗口 接收窗口 rwnd 拥塞窗口 cwnd
发送上限 受对方缓存限制 受网络路况限制

区别于:

ICMP 源点抑制(Source Quench)

属于网络层ICMP 协议的早期拥塞反馈机制,ICMP 报文类型号 = 4

路由器本地缓存队列爆满、不得不丢弃数据包时,主动向数据源发送主机回发该报文,要求源主机降低发包速率,以此缓解网络拥塞。

协议层级:网络层,封装在 IP 分组里传输

报文标识:类型4,代码固定0

通信方向路由器 → 源主机,只通知发送端,不通知接收端

核心用途:早期简易缓解链路拥塞

如何判断网络拥塞程度?

核心判断依据:丢包、时延、队列缓存、带宽利用率、协议反馈信号五大维度,分为主机端判定、路由器端判定、量化指标判定三类,考试高频考点集中在 TCP 侧判断逻辑。

1. 主机:

  1. 超时重传触发报文超时未收到确认 ACK,判定重度拥塞,大概率链路拥堵、路由排队爆满。
  2. 收到 3 次重复冗余 ACK仅单个报文丢失,整体链路未完全瘫痪,判定轻度局部拥塞
  3. 往返时延 RTT 异常变大数据来回耗时远超正常基准值,时延持续攀升,拥塞逐步加重。
  4. 报文重传比例上升重传报文占比越高,网络拥塞程度越高。
  5. 拥塞窗口 cwnd 剧烈收缩窗口突然变小,说明发送方检测到网络拥塞并主动降速。

2. 路由器

从转发节点视角判断链路拥堵

  1. 输出队列长度

    队列排队报文越多,排队延迟越大,拥塞越严重;队列塞满直接丢弃数据包,属于严重拥塞。

  2. 设备缓冲区占用率

    缓存占用接近满载,达到拥塞临界状态。

  3. 单位时间丢包数量

    丢包频次越高、丢包量越大,拥塞程度越高。

  4. 收到 / 发出 ICMP 源点抑制报文

    路由器主动下发类型 4 抑制报文,代表当前链路已经拥堵。

横轴x倍RTT,纵轴y倍MSS

如果指数增长会超过阈值,那直接以阈值发送。8+8>12,cwnd=12,之后匀速增加,如果超时就将:阈值=当前窗口/2,然后从1开始增加。

第iRTT时刻发送的数据A和第i时刻cwnd大小B只有在阈值时刻相等,阈值之前2^A=B,阈值之后,A+1=B。

阈值不能小于2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TCP 四大计时器
4 种计时器,各自启动时机、作用、超时行为清晰区分
1. 重传计时器(超时计时器)
启动时刻:发送报文段,收到对应 ACK 前立刻启动
作用:报文丢失、ACK 丢失时重传
超时动作:重传报文,拥塞窗口重置,进入慢启动
2. 坚持计时器(保活窗口计时器)
启动时刻:收到窗口 = 0的 ACK 时启动
作用:防止接收方窗口更新报文丢失,发送方一直等待
超时动作:发送窗口探测报文,询问最新接收窗口
3. 保活计时器
启动时刻:双方长时间无数据交互,连接空闲时启动
作用:检测对方主机异常宕机、断网
超时动作:反复探测,多次无回应则断开 TCP 连接
4. 时间等待计时器(TIME-WAIT 计时器)
启动时刻:主动关闭方收到 FIN、回复最后一个 ACK 后立刻启动
作用:确保最后 ACK 被对方收到,避免残留报文干扰新连接
固定时长:2MSL,期满后彻底释放连接

第六章应用层

网络应用层模型

客户服务器模型

  1. 核心模型结构
    服务器:图中的百度网盘服务器,本质是一台性能强悍的主机,长期运行,被动等待请求
    客户:客户 A/B/C/D,也就是我们使用百度网盘的电脑 / 设备,主动发起请求
    通信关系:所有客户都直接和服务器交互,客户之间不直接通信。
  2. C/S 模型的工作流程
    服务器长期运行,监听端口,等待客户发来请求。
    客户主动向服务器发起服务请求,必须提前知道服务器的 IP 和端口号。
    服务器被动处理请求,并将结果返回给客户,服务器无需提前知道客户端的地址。
  3. C/S 模型的特点
    客户与服务器地位不平等,服务器处于中心位置。
    客户进程之间不直接通信,所有交互都经过服务器中转。
    ✅ 优点
    便于集中管理:数据、带宽、用户权限都可以在服务器端统一管控,安全性和可控性更强。
    ⚠️ 缺点
    单点故障风险:如果服务器损坏,整个系统的服务都会受影响。
    性能瓶颈:服务器处于中心位置,负载压力极大,服务器性能直接决定了整个系统的性能上限。
  4. 常见的 C/S 模型应用
    课件中提到的例子:
    DNS、电子邮件、FTP、Web 应用(早期架构)、百度网盘等,都是典型的 C/S 模型。

P2P模型

1.P2P 模型中,网络里的每一台主机(称为 “对等方 / 节点”)既是客户端,也是服务器

  • 可以主动向其他节点请求资源(像客户端)
  • 也可以向其他节点提供资源(像服务器)
  • 节点之间可以直接通信,不需要经过中心服务器中转

2.核心特点

  1. 无中心节点:没有专门的服务器,节点地位完全平等
  2. 分布式存储与传输:资源分散在各个节点上,而非集中存储
  3. 自组织网络:节点可以随时加入 / 退出,网络自动适配
  4. 节点动态变化:节点可以随时上线、下线,网络具有很强的容错性

3.工作流程(以文件下载为例)

  1. 用户节点加入网络,通过索引 / 追踪服务找到拥有目标文件的其他节点
  2. 节点之间直接建立连接,互相传输文件片段
  3. 下载中的节点,也会把已下载的片段分享给其他需要的节点
  4. 所有节点共同完成资源的分发与共享
维度 优点 缺点
性能与扩展性 节点越多,整体带宽 / 资源越强,越不容易出现瓶颈 节点不稳定,下载速度受在线节点数量影响
容错性 无单点故障,部分节点下线不影响整体网络 节点不可控,难以统一管理和维护
成本 无需昂贵的中心服务器,建设成本低 资源分散,难以监管,易出现版权 / 安全问题
资源获取 热门资源下载速度快(多节点同时传输) 冷门资源可能因节点下线而无法获取

4.典型应用场景

文件共享 / 下载:早期的 BitTorrent、电驴、迅雷(P2P 加速模式)

流媒体 / 直播:部分直播平台用 P2P 技术降低服务器带宽压力

区块链网络:比特币、以太坊等基于 P2P 节点网络运行

即时通信:部分端到端加密聊天工具(部分采用 P2P 直连)

C/S vs P2P 核心对比(考点版)

对比项 C/S 模型(百度网盘) P2P 模型(BT 下载)
节点地位 客户端和服务器地位不平等 所有节点地位平等
通信方式 客户端→服务器→客户端,间接通信 节点之间直接通信
中心节点 必须有中心服务器 无中心节点(部分有索引服务器)
性能瓶颈 服务器性能决定上限 节点越多,整体性能越强
单点故障 服务器故障则服务中断 单个节点故障不影响整体
资源存储 集中存储在服务器 分布式存储在各个节点

域名系统DNS

DNS采用CS工作方式,有NDS查询报文,DNS响应报文。在查找不到域名IP时,会向其他DNS查找。通常采用使用UDP报文,段口号53。DNS采用的是分布式系统。

DNS层次域名空间

递归查询、迭代查询

本地域名服务器通常采用递归查询

文件传输协议FTP-应用层TCP: 21(C/S)

数据传送的两种模式:主动模式和被动模式

主动模式

被动模式

电子邮件-TCP(C/S)

三大组成用户代理邮件服务器电子邮件协议

SMTP基于TCP发送邮件,熟知端口号25.

POP3基于TCP接收邮件,熟知端口号110.

IMAP也是接受邮件、读取邮件,现实常用。

浏览器登陆邮箱则是使用的HTTP(发送)/HTTPS(发送+接收)

电子邮件格式:信封+内容(首部+主体)

信封是给SMTP协议使用的数据结构,(源+目的),由用户代理根据”首部“自动生成。SMTP规定只能发送7bit ASCII码(只支持英文,不支持中文,文件)

MIME不是协议,只是规范格式

万维网

并行建立多个TCP链接提升传输速度。

HTTP报文格式