【408计网笔记】传输层与应用层高频考点:TCP/UDP特性、端口映射与交互逻辑


在 408 计算机网络的复习中,传输层和应用层是各种选择题和大题的"重灾区"。今天整理了自己在复习过程中的手写笔记,重点串联了 TCP/UDP 的核心差异、常见协议的端口映射,以及最经典的 TCP 三次握手/四次挥手机制。


一、 核心概念:网络层 vs 传输层

很多同学在初期容易混淆这两层的定位,一句话总结:

  • 网络层: 负责主机与主机之间的通信。
  • 传输层: 负责进程与进程(端到端)之间的通信。

传输层的差错检测策略差异

传输层在遇到数据出错时,两种核心协议的处理方式截然不同,这也决定了它们的应用场景:

  • TCP: 出错 →\rightarrow→ 重传(保证可靠交付)。
  • UDP: 出错 →\rightarrow→ 丢弃 (不保证可靠交付,但实时性高,具备复用、分用和差错检测的基础功能)。

二、 记忆阵地:端口号划分与应用层协议映射

这是 408 选择题的"必争之地",必须刻在脑子里。

1. 端口号的范围划分

  • 熟知端口: 0∼10230 \sim 10230∼1023(系统保留给重要应用)
  • 登记端口: 1024∼491511024 \sim 491511024∼49151
  • 短暂端口(动态端口): 49152∼6553549152 \sim 6553549152∼65535(客户端经常使用的临时端口)

2. 高频协议与端口号映射

我将常考的协议按照其底层的传输层协议进行了分类:

应用层协议 常用端口号 底层支撑协议 核心功能速记
FTP 21 TCP 文件传输(可靠性要求高)
TELNET 23 TCP 远程登录
SMTP 25 TCP 电子邮件发送
HTTP 80 TCP 万维网超文本传输
HTTPS 443 TCP 安全超文本传输
DNS 53 UDP 域名解析(追求响应速度)
TFTP 69 UDP 简单文件传输
SNMP 161 UDP 简单网络管理
RIP 520 (补充) UDP 路由信息协议
DHCP 67/68 (补充) UDP 动态主机配置

三、 TCP 首部核心字段拆解

TCP 之所以能做到可靠传输,全靠它复杂的首部设计。笔记中提取了以下几个最关键的字段:

  • 序号 (seq):标记当前发送的数据字节流位置。
  • 确认号 (ack)累计确认机制的核心!表示期望收到对方下一个报文段的第一个数据字节的序号。
  • 数据偏移 :指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。 💡 考点补充: 数据偏移的单位是 4B(字节) 。如果该字段值为 15,则 TCP 首部长度为 15×4B=60B15 \times 4B = 60B15×4B=60B(这也是 TCP 首部的最大长度)。
  • 关键标志位:
    • ACK = 1:确认位有效。
    • SYN = 1:请求建立连接。
    • PSH = 1接收方快交付(催促接收方赶紧将数据上交应用层,别在缓存里压着了)。
    • URG = 1发送方快发(紧急指针有效,数据直接插队到发送缓存最前方)。

四、 灵魂机制:TCP 的连接与释放

1. 三次握手(Connection Establishment)

标准的交互流程如下:

  1. Client: SYN=1, seq=x
  2. Server: SYN=1, ACK=1, seq=y, ack=x+1
  3. Client: ACK=1, seq=x+1, ack=y+1

🌟 博主独家"拟人化"记忆法:

理解三次握手不要死记硬背!我的理解是:

Client 发出 xxx,Server 回应 SYN=1 同意连接,并发出自己的序列号 yyy;与此同时,Server 要表扬 Client 刚才的 xxx 发送得不错(于是令确认号 ack=x+1,表示"x我收到了,期待你的x+1")。第三次握手 Client 也是同理,表扬 Server 的 yyy。
用这个"表扬"模型,做题时绝不会把 seqack 搞混!

2. 四次挥手(Connection Termination)

释放连接的关键在于数据的传输完毕状态的等待

  1. Client: FIN=1, seq=u(请求断开)
  2. Server: ACK=1, seq=v, ack=u+1(同意断开客户端到服务端的连接)
  3. Server →\rightarrow→ Client:传输剩余数据(此阶段 Server 可能还有数据没发完,处于 CLOSE-WAIT 状态)
  4. Server: FIN=1, ACK=1, seq=w, ack=u+1(Server 数据发完,请求断开服务端到客户端的连接)
  5. Client: ACK=1, seq=u+1, ack=w+1(Client 最后确认)

⚠️ 核心重点:Time-wait 状态

Client 发送完最后的 ACK 后,必须等待 2MSL (最长报文段寿命的两倍)才能关闭。
原因补充:

  1. 保证 Client 发送的最后一个 ACK 能够到达 Server(如果丢包,Server 会超时重传 FIN,Client 在 2MSL 内还能补发 ACK)。
  2. 防止"已失效的连接请求报文段"出现在本连接中。

五、 应用层:网络体系与 DNS

1. 网络架构模型

  • C/S 架构(Client/Server): 传统的客户端-服务器模型(如 Web 访问)。
  • P2P 架构(Peer-to-Peer): 点对点模型,分为集中式和分布式结构。

2. DNS 域名系统

DNS 是将人类可读的域名转化为 IP 地址的核心系统。

  • 层级结构: 根域名服务器 →\rightarrow→ 顶级域名服务器 →\rightarrow→ 二级域名服务器 →\rightarrow→ 本地域名服务器。

  • 查询方式:

    • 递归查询: 靠别人(我问本地,本地去帮我问到底,最后把结果给我)。
    • 迭代查询: 靠自己(本地 DNS 依次去问根、顶级、二级,别人只指路不代劳)。

    补充: 实际应用中,主机到本地域名服务器通常是递归查询 ,而本地域名服务器向外查询通常是迭代查询


小结:

计网的知识点比较繁杂,但只要理清了协议的交互逻辑,很多参数和标志位都能推导出来。祝大家 408 备考顺利,一起加油!


相关推荐
GDAL16 小时前
Nginx TCP/UDP四层转发(Stream模块)完整深入教程
tcp/ip·nginx·udp
2401_8653825020 小时前
密评与等保的关系:不是替代,而是互补
网络·信息化造价
GlueNa2SiO320 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
xian_wwq21 小时前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context
白狐_79821 小时前
408计算机网络第3章:PPP协议——帧格式、LCP/NCP、状态机与真题精讲
网络·计算机网络·智能路由器
MIXLLRED1 天前
解决——Ubuntu远程桌面指令更换网络
linux·网络·ubuntu
疯狂打码的少年1 天前
【数据结构】队列:定义、顺序队列与链式队列
数据结构·笔记
zt1985q1 天前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
LeoZY_1 天前
LinkScope 使用笔记:基于 OpenOCD 的通用硬件芯片调试助手
笔记·单片机·嵌入式硬件·开源软件
不会代码的小猴1 天前
标准模板库(STL)
开发语言·c++·笔记·算法