文章

计网笔记 05 传输层

传输层负责为应用进程提供端到端通信,核心功能包括复用与分用、差错控制、流量控制和拥塞控制,重点协议是 UDP 和 TCP。

计网笔记 05 传输层

第5章 传输层

一、传输层概述

1. 传输层作用

  • 为应用进程提供端到端通信
  • 实现复用与分用
  • 实现差错控制、流量控制

2. 两大协议

协议特点
UDP无连接、不可靠、快
TCP面向连接、可靠

二、端口号与套接字

1. 端口号

  • 16位
  • 用于标识应用进程

2. 端口分类

类型范围
熟知端口0~1023
登记端口1024~49151
客户端临时端口49152~65535

3. 常见协议端口

协议端口传输层协议
HTTP80TCP
HTTPS443TCP
FTP20/21TCP
SMTP25TCP
DNS53UDP
TFTP69UDP
RIP520UDP
TELNET23TCP

4. 套接字 Socket

  • Socket = (IP地址,端口号)

三、复用与分用

1. 复用

  • 多个应用共享传输层

2. 分用

  • 根据端口号交给对应进程

四、UDP协议

1. UDP特点

  • 无连接
  • 不可靠
  • 面向报文
  • 无流量控制
  • 无拥塞控制
  • 速度快

2. UDP适用场景

  • DNS
  • 直播
  • 语音
  • 视频
  • 游戏

3. UDP首部

字段作用
源端口发送端端口
目的端口接收端端口
长度UDP长度
校验和差错检测
  • UDP首部长度:
    • 8字节

五、UDP校验和

1. 检验方法

  • 16位反码求和

2. 校验范围

  • UDP首部
  • 数据
  • 伪首部

3. 伪首部作用

  • 仅用于校验
  • 不参与传输

六、TCP协议

1. TCP

  • 面向连接
  • 可靠传输
  • 全双工
  • 面向字节流
  • 有流量控制
  • 有拥塞控制

2. TCP如何实现可靠传输

  • 确认ACK
  • 序号Seq
  • 超时重传
  • 滑动窗口

七、TCP报文段结构

1. 重要字段

字段作用
Seq序号
Ack确认号
SYN建立连接
ACK确认
FIN释放连接
Window窗口大小
Checksum校验和

2. TCP首部长度

  • 最小:
    • 20字节

八、TCP连接管理

1. 三次握手

过程:
  1. 客户端发送 SYN
  2. 服务器回复 SYN + ACK
  3. 客户端回复 ACK

2. 为什么三次?

  • 防止失效连接请求
  • 确认双方收发能力正常

九、TCP释放连接

四次挥手

  1. FIN
  2. ACK
  3. FIN
  4. ACK

TIME_WAIT(高频)

  • 等待2MSL

作用

  • 保证最后ACK到达
  • 防止旧连接报文影响新连接

十、TCP流量控制

1. 目的

  • 防止接收方来不及接收

2. 方法

  • 滑动窗口机制

3. 接收窗口

  • RcvWindow

十一、TCP拥塞控制

1. 拥塞原因

  • 网络负载过大

2. 四种算法

算法作用
慢开始指数增长
拥塞避免线性增长
快重传快速发现丢包
快恢复恢复发送

3. 核心规则

  • CongWin < Threshold:
    • 慢开始(指数增长)
  • CongWin ≥ Threshold:
    • 拥塞避免(线性增长)
  • 超时:
    • Threshold = CongWin / 2
    • CongWin = 1 MSS

十二、TCP vs UDP

对比TCPUDP
连接面向连接无连接
可靠性可靠不可靠
速度较慢
流量控制
拥塞控制
首部大小20字节起8字节
应用HTTP/FTPDNS/直播

十三、考试高频题

  • UDP首部长度:
    • 8字节
  • TCP首部最小长度:
    • 20字节
  • TCP最大数据部分:
    • 65535 - 20 - 20
  • 三次握手顺序
  • 四次挥手顺序
  • 拥塞窗口变化图
  • ACK确认号计算
  • Seq序号计算
  • TCP/UDP应用场景判断
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments

评论区

碎片之中

正在加载中...