You are on page 1of 19

TCP 和 UDP 基本原理

ISSUE 1.0

日期:

杭州华三通信技术有限公司 版权所有,未经授权不得使用与传播
引入

 TCP/IP 协议族的传输层协议主要包括 TCP 和 UDP

 TCP 是面向连接的可靠的传输层协议。它支持在并
不可靠的网络上实现面向连接的可靠的数据传输

 UDP 是无连接的传输协议,主要用于支持在较可靠
的链路上的数据传输,或用于对延迟较敏感的应用
课程目标
学习完本课程,您应该能够:
 了解 TCP/UDP 协议所提供的服务

 了解 TCP/UDP 的报文结构

 掌握 TCP 建立和拆除的过程

 掌握 TCP 的滑动窗口机制

 掌握 TCP 的可靠性技术
目录
 TCP/IP 传输层的作用

 TCP 基本原理

 UDP 基本原理
传输层的作用

 提供面向连接或无连接的服务
 维护连接状态
 对应用层数据进行分段和封装
 实现多路复用
 可靠地传输数据
 执行流量控制

www.h3c.com
目录
 TCP/IP 传输层的作用

 TCP 基本原理

 UDP 基本原理
TCP 的特点

 三次握手  确认机制
 建立可靠连接  应答接收

 端口号  序列号
 多路复用  丢失检测、乱序重排

 完整性校验  窗口机制
 差错检测  流量控制

www.h3c.com
TCP 封装
TCP 封装

IP 包

TCP

IP 头 TCP 头 载荷数据

TCP 头格式
0 8 16 24 31
Source Port Destination Port
Sequence Number
Acknowledgement Number
URG
ACK
PSH
RST

FIN
SYN

Data Offset Reserved Window


Checksum Urgent Pointer
Options Padding
data

www.h3c.com
TCP/UDP 端口号

Telnet FTP HTTP SMTP DNS TFTP SNMP BootP

23 20/21 80 25 53 69 161 67/68

TCP UDP
协议号 6 协议号 17

IP

网络接口层

www.h3c.com
TCP 连接的建立
HostA HostB

IP 网络

SYN (
seq=a
)

c k = a+1)
Y N (s eq=b, a
S

SYN
(s eq=a
+1, ac
k=b
+ 1)

www.h3c.com
TCP 连接的拆除
HostA HostB

IP 网络

FIN (s
eq=p)

1)
K (a ck = p+
AC
q=q)
FIN (se

ACK (
ack =
q+1)

www.h3c.com
传输确认
HostA HostB

DATA (seq=1,
len=1024)
DATA (seq=10
25, len=1024)
DATA (seq=20
49, len=1024)
DATA (seq=30
73, len=1024)

ACK (ack=4097)

DATA (seq=40
97, len=1024)
DATA (seq=51
21, len=1024)
DATA (seq=61
45, len=1024)
DATA (seq=71
69, len=1024)

www.h3c.com
超时重传
HostA HostB

DATA (seq=1,
len=1024)
DATA (seq=10
25, len=1024)
DATA (seq=20
49, len=1024)
RTT DATA (seq=30
73, len=1024)

ACK (ack=1025)

DATA (seq=10
25, len=1024)

ACK (ack=4097)

DATA (seq=40
97, len=1024)
DATA (seq=51
21, len=1024)
DATA (seq=61
45, len=1024)
DATA (seq=71
69, len=1024)

www.h3c.com
滑动窗口
HostA HostB

DATA (seq=1,
len=1024)
DATA (seq=10
25, len=1024)
DATA (seq=20
49, len=1024)
DATA (seq=30
73, len=1024)

要求减小窗口
ACK (ack=4097, win=2048)

DATA (seq=40
97, len=1024)
DATA (seq=51
21, len=1024)

ACK (ack=6145, win=2048)

DATA (seq=61
45, len=1024)
DATA (seq=71
69, len=1024)

www.h3c.com
目录
 TCP/IP 传输层的作用

 TCP 基本原理

 UDP 基本原理
UDP 封装
UDP 封装

IP 包

UDP 数据报

IP 头 UDP 头 载荷数据

UDP 头格式
0 8 16 24 31
Source Port Destination Port
Length Checksum
Data

www.h3c.com
TCP 与 UDP 的对比

功能项 TCP UDP

连接服务的类型 面向连接 无连接

维护连接状态 维持端到端的连接状态 不维护连接状态

对来自应用层数据直接封装
对应用层数据进行分段和封装,
对应用层数据的封装 为数据报。用端口号表示应
用端口号标识应用层程序
用层程序

通过序列号和应答机制确保可
数据传输 不确保可靠传输
靠传输

流量控制 使用滑动窗口机制控制流量 无流量控制机制

www.h3c.com
本章总结

 TCP 和 UDP 通过端口号标识上层应用和服务

 TCP 通过三次握手建立可靠连接

 TCP 通过校验和进行差错校验,通过序列号、确认和超
时重传机制实现可靠传输,通过滑动窗口实现流量控制

 UDP 实现简单,资源占用少,实时性强,适用于可靠性
高的网络和延迟敏感的应用
杭州华三通信技术有限公司
www.h3c.com

You might also like