[408考研笔记] 传输层与网络层核心辨析:从逻辑通信到滑动窗口计算


一、 网络层与传输层基础概念

1. 路由基础:默认路由

  • 子网掩码: 0.0.0.0
  • 目的地址: 0.0.0.0
  • 逻辑补充: 默认路由是路由表中掩码最短(匹配位数最少)的项。当路由表中所有特定条目都无法匹配时,数据包将根据默认路由转发。

2. 逻辑通信层次对比

在 408 考研中,区分"谁与谁通信"是理解协议栈的关键:

协议 通信层级 通信类型 备注
IP 网络层 主机到主机 (Host-to-Host) 提供点到点的物理路径选择
UDP 传输层 端到端 / 端口到端口 不可靠,无连接
TCP 传输层 端到端 (End-to-End) 可靠,面向连接,进程对进程

关键辨析:

  • 点到点 (Point-to-Point): 通常指数据链路层,相邻节点间的通信。
  • 端到端 (End-to-End): 指传输层,源主机进程与目的主机进程间的通信。

二、 TCP 协议核心机制

1. 序号与确认号

  • seq (Sequence Number): 发送方告诉对方,本报文段所发送数据的第一个字节的序号。
  • ack (Acknowledgment Number): 累计确认 。表示期望收到对方下一个报文段的第一个数据字节的序号。
    • 公式: 若收到 ack=nack = nack=n,说明到 n−1n-1n−1 为止的所有字节已正确接收。

2. 窗口控制 (重点)

TCP 的发送能力受限于三个窗口的协同:

  1. 发送窗口 (swnd): 发送方当前允许发送的数据量。
  2. 拥塞窗口 (cwnd): 发送方根据网络拥塞程度维护的窗口。
  3. 接收窗口 (rwnd): 接收方根据缓存大小反馈的窗口(流量控制)。

三、 方法总结:发送窗口计算逻辑演练

核心公式

发送窗口的实际大小由拥塞窗口和接收窗口的最小值 决定:
swnd=min⁡(cwnd,rwnd)swnd = \min(cwnd, rwnd)swnd=min(cwnd,rwnd)

真题模拟演练

题目:

主机甲和主机乙已建立 TCP 连接,乙的 rwnd=4000rwnd = 4000rwnd=4000 字节。甲当前 cwnd=2000cwnd = 2000cwnd=2000 字节。甲已发送了 1000 字节数据(序号 100∼1099100 \sim 1099100∼1099),且尚未收到确认。此时主机甲还可以发送多少字节?

解题步骤:

  1. 确定当前发送窗口上限:
    swnd=min⁡(cwnd,rwnd)=min⁡(2000,4000)=2000 字节swnd = \min(cwnd, rwnd) = \min(2000, 4000) = 2000 \text{ 字节}swnd=min(cwnd,rwnd)=min(2000,4000)=2000 字节

  2. 计算已占用窗口:

    甲已发送但未收到确认的数据量 = 1099−100+1=10001099 - 100 + 1 = 10001099−100+1=1000 字节。

  3. 计算剩余可发送量:
    剩余量=swnd−已发送未确认量\text{剩余量} = swnd - \text{已发送未确认量}剩余量=swnd−已发送未确认量
    剩余量=2000−1000=1000 字节\text{剩余量} = 2000 - 1000 = 1000 \text{ 字节}剩余量=2000−1000=1000 字节

结论: 主机甲还可以发送 1000 字节。


四、 408 复习心得

  1. 不要混淆点对点与端到端: 笔记中划掉"点对点"改写"端到端"是非常关键的提分点。
  2. 累计确认的理解: ackackack 是"期待"而非"已收",计算时注意序号的偏移量。
  3. 动态变化: 在大题中,cwndcwndcwnd 会随 RTTRTTRTT 呈指数或线性增长,而 rwndrwndrwnd 往往由题目直接给出。

考研复习是一场苦修,但脚踏实地走过的每一步,都是你最坚固的护城河。

如果今天的复盘对你有启发,欢迎 一键三连(点赞、收藏、评论) 支持一下!

相关推荐
酿情师2 小时前
网络攻防技术:Windows操作系统的攻防
网络·windows
w2018002 小时前
一至六年级数学下册第二单元测试卷(人教版+北师版+西师版+苏教版+青岛版)2026
笔记
minji...2 小时前
Linux 网络套接字编程(八)自定义实现 HTTP 服务器,HTTP 的工作模式
linux·服务器·网络·http·udp·tcp
bitbrowser2 小时前
Gemini Advanced 订阅共享排坑方案,车队共享稳定策略
运维·服务器·网络·ai
1104.北光c°2 小时前
Leetcode215 三种写法完成数组中的第K个最大元素 【hot100算法个人笔记】【java写法】
java·笔记·程序人生·算法·leetcode·排序算法·快速选择
SZUWelclose2 小时前
论文格式——如何设置目录,目录右侧怎么对齐
经验分享·笔记·课程设计
Jelena157795857922 小时前
Python 爬虫获取淘宝商品详情(标题、主图、SKU、价格)实战指南
网络·爬虫·python
摘星编程2 小时前
# AI Agent 落地实战:从单Agent到多Agent协作的系统架构与实践
网络·人工智能
sheeta19983 小时前
苍穹外卖Day10笔记
笔记