TCP/IP 五层协议簇期末一天速成复习概要

你需要在一天内 0 基础掌握这些内容,核心策略是抓核心概念 + 记关键算法 + 背核心流程,放弃复杂推导,只记考试必考点。以下是按五层结构整理的极简复习笔记,完全对应你老师给出的考点:

五层结构(从下到上):链路层 → 网络层 → 运输层 → 应用层(注意:这里的五层是把 TCP/IP 的网际层分为网络层,链路层对应数据链路层 + 物理层功能,部分教材会合并为五层)

  • 每层核心功能
    1. 链路层:相邻节点间的帧传输,负一、TCP/IP 五层协议簇基本概念(必考选择题 / 填空题)责透明传输、差错检测、MAC 地址寻址(以太网)。
    2. 网络层:跨网络的分组传输,负责 IP 地址寻址、路由选择、分片。
    3. 传输层:端到端的进程通信,负责可靠传输、流量控制、拥塞控制(TCP/UDP)。
    4. 应用层:为应用程序提供网络服务,负责具体应用协议(DNS、HTTP 等)。
  • 每层数据单元
    • 链路层:帧(Frame)
    • 网络层:分组(Packet)(IP 数据报)
    • 传输层:报文段(Segment,TCP)/ 用户数据报(Datagram,UDP)
    • 应用层:报文(Message)

二、链路层(核心考点:CSMA/CD、CRC、透明网桥、VLAN)

透明传输是指,数据链路层对上层交付的传输数据并没有任何限制,就好像数据链路层不存在一样。

1. 透明传输:字节填充与比特填充(解决帧定界问题)

  • 核心问题:帧的开始和结束用标志字段(FLAG) 表示(通常为 01111110),若数据部分出现 FLAG,会导致接收方误判帧边界,需要填充。
  • 字节填充(面向字节的协议,如 PPP)
    • 发送方:在数据中出现的 0x7E(FLAG)前插入 0x7D,并将 0x7E 替换为 0x7D 0x5E;若出现 0x7D,替换为 0x7D 0x5D
    • 接收方:收到 0x7D 后,删除 0x7D,并将后续的 0x5E 恢复为 0x7E,0x5D 恢复为 0x7D。
  • 比特填充(面向比特的协议,如 HDLC)
    • 发送方:在数据部分的连续 5 个 1 后插入 1 个 0
    • 接收方:收到连续 5 个 1 后,删除后面的 0。

2. 以太网 CSMA/CD 算法(载波监听多点接入 / 碰撞检测,必考简答题)

CSMA 载波监听多路访问

基本原理:发送数据前先监听信道上是否有人在发送,若有,说明信道正忙,否则信道空闲,然后根据定的策略决定

       若信道空闲:是否立即发送

        若信道正忙:是否继续监听

  • 核心思想:先听后发,边发边听,碰撞停发,随机重发。
  • 完整步骤
    1. 载波监听:发送前监听总线,若总线空闲,立即发送;若忙,等待。
    2. 碰撞检测:发送过程中继续监听,若检测到碰撞(总线上的信号电平变化),立即停止发送,并发送干扰信号(强化碰撞,让所有节点知道)。
    3. 退避算法:等待一个随机时间(采用二进制指数退避算法,重传次数越多,随机范围越大),然后重新执行载波监听。
  • 关键参数
    • 最小帧长:以太网规定最小帧长为 64 字节,目的是保证发送方在发送完一帧前能检测到碰撞(即碰撞检测的时间≥信号在总线中往返的时间)。

3. 差错检测:CRC 循环冗余校验(必考计算题 / 概念题)

  • 核心功能:检测帧在传输过程中的比特错误(无法纠错)。
  • 基本原理
    1. 发送方:将数据比特序列视为一个多项式 M (x),选择一个生成多项式 G (x)(双方约定,如 CRC-32),计算 M (x) × x^r(r 为 G (x) 的阶数)除以 G (x) 的余数,余数即为CRC 校验码,将校验码附加在数据后发送。
    2. 接收方:将收到的比特序列(数据 + 校验码)除以 G (x),若余数为 0,则认为无错误;否则,认为有错误,丢弃该帧。
  • 考试技巧:记住生成多项式的二进制表示(如 G (x)=x^3 + x + 1 对应二进制 1011),会做简单的模 2 除法(无进位、无借位,异或运算)。

被除数:发送的数据 最高次幂的位数,比如说最高次幂是3那就在后面补三个0

除数:多项式的系数,比如该多项式的系数为1011

做除法,满四位商1,不满四位商0

判断是否正确:收到的数据做除法余数为0就合适,否则错误,但是不能检测出哪里出错了,就是验错不检错

4. 以太网交换机:透明网桥算法(必考简答题)

  • 透明网桥:交换机的核心是透明网桥,“透明” 指主机不需要知道网桥的存在。
  • 核心算法(三大功能)
    1. 学习功能:通过接收帧的源 MAC 地址,建立端口 - MAC 地址映射表(转发表),并设置老化时间(防止 MAC 地址移动)。
    2. 转发功能:收到帧后,查找转发表:
      • 若目的 MAC 地址在转发表中,且对应的端口不是入端口,转发到该端口;
      • 若目的 MAC 地址在转发表中,且对应的端口是入端口,丢弃(避免环路);
      • 若目的 MAC 地址不在转发表中,泛洪(除入端口外的所有端口转发)。
    3. 过滤功能:若帧的源和目的 MAC 地址在同一端口,丢弃该帧,不转发。

1.假设主机D给A发送单播帧(D-A)

2.与主机D处于同一网段的主机E和F,以及网桥的接口2都会收到该单播帧

主机E和F中的网卡,根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧,而将其丢弃

网桥从接口2收到该单播帧后首先进行自学习(也就是登记),登记的内容为帧的原MAC地址D,和该帧进入网桥的接口2

之后网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址A,可以找到相应的记录,应从接口已转发该帧,这属于明确的转发

该单播帧从网桥的接口1转发到另一个网段,该网段中的主机A收到并接受该单播帧,而主机B和C收到该单播帧后将其丢弃

5. 最小生成树协议(STP,必考概念题)

  • 核心问题:以太网交换机之间的冗余连接会导致广播风暴MAC 地址表不稳定帧重复,STP 的目的是在冗余拓扑中生成一棵无环的最小生成树

E1和E2是两个独立的共享总线型以太网

  • 核心原理
    1. 选举根网桥(整个网络的根,通过网桥 ID 最小的网桥当选,网桥 ID = 优先级 + MAC 地址)。
    2. 每个非根网桥选举根端口(距离根网桥最近的端口,通过路径成本计算)。
    3. 每个网段选举指定端口(距离根网桥最近的端口,负责转发该网段的流量)。
    4. 阻塞非根端口和非指定端口,形成无环拓扑。

6. 虚拟局域网(VLAN,必考概念题 / 简答题)

  • 核心概念VLAN(Virtual Local Area Network) 是一种网络划分技术,它可以将一个局域网中的设备根据逻辑需求划分为若干个子网(不同的广播域),同一 VLAN 内的主机可以直接通信,不同 VLAN 间的主机必须通过路由器或三层交换机通信。
  • 不同 VLAN 之间的设备彼此隔离
  • 即使连接在同一个交换机上,也无法直接通信。

 VLAN 的逻辑组成
        在 VLAN 中,交换机端口拥有两个关键属性:

属性名    说明
VLAN ID    指定该端口所属的 VLAN 编号(例如 VLAN 10、VLAN 20)
VLAN TAG    VLAN 帧中的标签字段,用于标记数据帧属于哪个 VLAN
🛠 VLAN 的工作机制简述

  1. 当数据帧经过交换机端口时,交换机会查看该端口的 VLAN 属性;
  2. 若数据帧没有携带 VLAN Tag,交换机会打上默认的 PVID(Port VLAN ID);
  3. 若数据帧带有 VLAN Tag,交换机会检查该端口是否允许该 VLAN 通过;
  4. 不同 VLAN 的设备之间不能直接通信,除非通过三层设备进行路由。
  • 核心原理
    1. VLAN 的划分方式:基于端口(最常用)、基于 MAC 地址、基于 IP 地址。
    2. VLAN 的标识:VLAN ID 范围为 0-4095,其中 1-4094 为可用 VLAN ID,0 和 4095 保留。
    3. Trunk 端口:用于连接交换机之间的链路,可以传输多个 VLAN 的帧,通过802.1Q 标签标识帧所属的 VLAN。
  • 核心作用隔离广播域、提高网络安全性、提高网络带宽利用率。
小结:为什么 VLAN 能实现广播隔离?

VLAN 的本质是在报文中加入 VLAN ID 信息,使得交换机:

  • 根据 VLAN ID 判断该数据帧应该转发到哪些端口;
  • 控制不同 VLAN 的通信路径,实现逻辑隔离;
  • 帮助网络管理员构建更灵活、安全、可控的网络结构

三、网络层(核心考点:IP 协议与分片、子网划分、ARP、路由协议)

1. IP 协议与分片(必考简答题 / 计算题)

  • IP 数据报格式:核心字段包括版本(IPv4/IPv6)首部长度总长度标识标志(DF:不分片,MF:还有分片)、片偏移生存时间(TTL)协议(TCP=6,UDP=17)、源 IP 地址目的 IP 地址
  • IP 分片的原因:网络层的 IP 数据报长度超过链路层的MTU(最大传输单元)(以太网 MTU 为 1500 字节)。
  • 分片的规则
    1. 分片由发送方的路由器进行,接收方的主机重组。
    2. 分片后的每个分片都有独立的 IP 首部,标识字段相同(用于接收方重组),片偏移字段表示该分片在原数据报中的位置(单位为 8 字节)。
    3. DF 标志为 1 时,禁止分片,若超过 MTU,路由器丢弃该数据报,并发送 ICMP 差错报文。

2. 划分子网(子网划分,必考计算题,核心中的核心)

  • 核心概念:将一个大的网络(如 A 类、B 类、C 类)划分为多个小的子网,通过子网掩码区分网络位、子网位和主机位。
  • 子网掩码的格式:与 IP 地址长度相同,网络位和子网位为 1,主机位为 0(如 255.255.255.0)。
  • 子网划分的步骤(以 C 类网络 192.168.1.0 为例):
    1. 确定子网数量,计算需要的子网位 n(子网数量 = 2^n)。
    2. 确定每个子网的主机数量,计算需要的主机位 m(主机数量 = 2^m - 2,减 2 是因为网络地址和广播地址不能分配给主机)。
    3. 子网掩码为:原网络掩码的基础上,将 n 位主机位变为 1(如 C 类网络原掩码为 255.255.255.0,子网位为 2 位时,掩码为 255.255.255.192)。
    4. 计算每个子网的网络地址、广播地址和可用主机地址范围。
  • 考试技巧:记住子网掩码与 CIDR 的转换(如 255.255.255.192 = /26),会计算给定 IP 地址和子网掩码的网络地址(IP 地址 & 子网掩码)。

3. 静态路由配置(必考概念题 / 简答题)

  • 路由表的核心字段目的网络地址子网掩码下一跳地址出端口
  • 静态路由:由网络管理员手动配置的路由,适用于小型网络。
  • 默认路由:当路由表中没有匹配的目的网络时,使用默认路由(目的网络为 0.0.0.0,子网掩码为 0.0.0.0),适用于边缘网络。

4. ARP 协议与 ARP 高速缓存(必考简答题)

  • 核心功能:将IP 地址转换为MAC 地址(因为链路层使用 MAC 地址寻址,网络层使用 IP 地址寻址)。
  • ARP 的工作过程(主机 A 要发送数据给主机 B):
    1. 主机 A 检查本地ARP 高速缓存,若有主机 B 的 IP-MAC 映射,直接使用。
    2. 若没有,主机 A 发送ARP 请求报文(广播帧,目的 MAC 地址为 FF:FF:FF:FF:FF:FF),包含自己的 IP-MAC 映射和主机 B 的 IP 地址。
    3. 网络中所有主机接收 ARP 请求,只有主机 B 发送ARP 响应报文(单播帧),包含自己的 IP-MAC 映射。
    4. 主机 A 收到 ARP 响应后,更新 ARP 高速缓存,并发送数据。
  • ARP 高速缓存:存储最近的 IP-MAC 映射,有老化时间(通常为 20 分钟),避免缓存过期。

5. 路由协议基本原理(RIP、OSPF、BGP,必考选择题 / 简答题)

路由协议 类型 核心算法 适用范围 度量值 特点
RIP 内部网关协议(IGP) 距离矢量算法 小型自治系统(AS) 跳数(最大跳数为 15,16 表示不可达) 简单,收敛慢,易产生路由环路(通过水平分割、毒性逆转等解决)
OSPF 内部网关协议(IGP) 链路状态算法 中大型自治系统(AS) 路径成本(基于带宽) 收敛快,无路由环路,支持分层结构(区域)
BGP 外部网关协议(EGP) 路径矢量算法 自治系统之间(互联网) 路径属性(如 AS 路径、本地优先级) 支持策略路由,不追求最优路径,而是可行路径

四、运输层(核心考点:TCP 连接管理、流量控制、可靠传输、拥塞控制)

1. 连接管理(TCP 的三次握手和四次挥手,必考简答题,核心中的核心)

  • TCP 三次握手(建立连接)
    1. 客户端→服务器:SYN=1,seq=x(客户端初始序列号)。
    2. 服务器→客户端:SYN=1,ACK=1,seq=y(服务器初始序列号),ack=x+1。
    3. 客户端→服务器:ACK=1,seq=x+1,ack=y+1。
  • 三次握手的目的同步双方的序列号,并确保双方的发送和接收能力正常。
  • TCP 四次挥手(释放连接)
    1. 客户端→服务器:FIN=1,seq=u(客户端数据发送完毕,请求释放连接)。
    2. 服务器→客户端:ACK=1,seq=v,ack=u+1(服务器确认客户端的 FIN)。
    3. 服务器→客户端:FIN=1,ACK=1,seq=w,ack=u+1(服务器数据发送完毕,请求释放连接)。
    4. 客户端→服务器:ACK=1,seq=u+1,ack=w+1(客户端确认服务器的 FIN,等待 2MSL 后关闭连接)。
  • 四次挥手的原因:TCP 是全双工通信,服务器收到客户端的 FIN 后,可能还有数据要发送,因此需要先确认 FIN,再发送自己的 FIN。

2. 流量控制(必考概念题 / 简答题)

  • 核心目的:让发送方的发送速率不超过接收方的接收能力,防止接收方缓冲区溢出。
  • 实现机制滑动窗口协议(接收方通过 TCP 首部的窗口大小字段告诉发送方自己的接收缓冲区剩余空间)。
  • 关键点:窗口大小是动态变化的,接收方根据自己的缓冲区使用情况调整窗口大小,发送方的发送窗口不能超过接收方的接收窗口。

3. 可靠数据传输(必考概念题)

  • TCP 的可靠传输机制
    1. 序列号:对每个字节进行编号,确保数据的有序性。
    2. 确认机制:接收方收到数据后,发送确认报文(ack 表示期望收到的下一个字节的序列号)。
    3. 重传机制:发送方设置超时重传定时器,若超时未收到确认,重传数据;也可以通过快速重传(收到 3 个重复的确认报文,立即重传)。
    4. 校验和:检测数据在传输过程中的错误。

4. 拥塞控制(必考简答题,核心中的核心)

  • 核心目的:让发送方的发送速率不超过网络的承载能力,防止网络拥塞。
  • TCP 的拥塞控制算法(四个阶段)
    1. 慢开始:发送方的拥塞窗口(cwnd)从 1 开始,每经过一个 RTT(往返时间),cwnd 加倍,直到 cwnd 达到慢启动阈值(ssthresh)。
    2. 拥塞避免:cwnd 达到 ssthresh 后,每经过一个 RTT,cwnd 增加 1,线性增长。
    3. 快重传:收到 3 个重复的确认报文,立即重传丢失的报文段,不等待超时。
    4. 快恢复:将 ssthresh 设置为当前 cwnd 的一半,cwnd 设置为 ssthresh,进入拥塞避免阶段(不再进入慢启动)。
  • 关键点:流量控制是端到端的(接收方→发送方),拥塞控制是网络到端的(发送方根据网络状况调整)。

五、应用层(核心考点:DNS、Web 服务,常见应用层协议)

1. 常见应用层协议基本概念(必考选择题)

协议 功能 运输层协议 端口号
HTTP 超文本传输协议,用于 Web 服务 TCP 80
HTTPS 安全的超文本传输协议(HTTP+SSL/TLS) TCP 443
DNS 域名系统,用于域名到 IP 地址的解析 UDP(首选)/TCP 53
FTP 文件传输协议,用于文件上传和下载 TCP 20(数据)/21(控制)
SMTP 简单邮件传输协议,用于发送邮件 TCP 25
POP3 邮局协议版本 3,用于接收邮件 TCP 110
IMAP 互联网消息访问协议,用于接收邮件 TCP 143

2. DNS(域名系统,必考简答题)

  • 核心功能:将域名(如www.baidu.com)转换为IP 地址(如 180.101.50.188),也可以进行反向解析(IP 地址→域名)。
  • DNS 的层次结构:根域名服务器 → 顶级域名服务器(如.com、.cn) → 权威域名服务器(如baidu.com的域名服务器) → 本地域名服务器。
  • DNS 的解析过程(递归查询 + 迭代查询):
    1. 主机向本地域名服务器发送递归查询请求。
    2. 本地域名服务器向根域名服务器发送迭代查询请求。
    3. 根域名服务器返回顶级域名服务器的地址。
    4. 本地域名服务器向顶级域名服务器发送迭代查询请求,返回权威域名服务器的地址。
    5. 本地域名服务器向权威域名服务器发送迭代查询请求,返回域名对应的 IP 地址。
    6. 本地域名服务器将 IP 地址返回给主机,并缓存该结果。
  • DNS 的缓存机制:本地域名服务器和主机都会缓存 DNS 解析结果,减少查询次数。

3. Web 服务的实现(HTTP 协议,必考简答题)

  • Web 服务的组成Web 客户端(浏览器) + Web 服务器(如 Apache、Nginx) + HTTP 协议
  • HTTP 的请求 - 响应模型
    1. 客户端向服务器发送HTTP 请求报文(包括请求行、请求头、请求体)。
      • 请求行:方法(GET/POST)、URL、HTTP 版本(如 GET /index.html HTTP/1.1)。
      • GET 方法:请求获取资源,参数在 URL 中,长度有限,不安全。
      • POST 方法:提交数据,参数在请求体中,长度不限,安全。
    2. 服务器向客户端发送HTTP 响应报文(包括状态行、响应头、响应体)。
      • 状态行:HTTP 版本、状态码、状态描述(如 HTTP/1.1 200 OK)。
      • 常见状态码:200(成功)、301(永久重定向)、404(未找到资源)、500(服务器内部错误)。
  • HTTP 的特点:无连接(每次请求 - 响应后关闭连接,HTTP/1.1 支持持久连接)、无状态(服务器不保存客户端的状态,通过 Cookie/Session 解决)。

六、一天复习计划(0 基础专用)

  1. 上午(3 小时):链路层 + 网络层
    • 重点:CSMA/CD 算法、CRC 校验、子网划分、ARP 协议、路由协议对比。
    • 任务:背会子网划分的计算方法,做 2 道子网划分真题;背会 CSMA/CD 和 ARP 的工作过程。
  2. 下午(3 小时):运输层
    • 重点:TCP 三次握手和四次挥手、流量控制、拥塞控制。
    • 任务:画三次握手和四次挥手的流程图,背会拥塞控制的四个阶段。
  3. 晚上(2 小时):应用层 + 五层协议簇基本概念
    • 重点:DNS 解析过程、HTTP 请求 - 响应模型、常见应用层协议的端口号。
    • 任务:背会 DNS 的层次结构和解析过程,背会 HTTP 的请求行和状态码。
  4. 最后 2 小时:整体回顾,重点背简答题的核心要点(如 CSMA/CD、TCP 三次握手、子网划分、DNS 解析),放弃复杂计算题(如 CRC 的模 2 除法),只记概念。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐