18
TCP 和 UDP 和和和和

TCP 和 UDP 基本原理

  • Upload
    fay

  • View
    266

  • Download
    13

Embed Size (px)

DESCRIPTION

TCP 和 UDP 基本原理. 引入. TCP/IP 协议族的传输层协议主要包括 TCP 和 UDP TCP 是面向连接的可靠的传输层协议。它支持在并不可靠的网络上实现面向连接的可靠的数据传输 UDP 是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用. 课程目标. 学习完本课程,您应该能够:. 了解 TCP/UDP 协议所提供的服务 了解 TCP/UDP 的报文结构 掌握 TCP 建立和拆除的过程 掌握 TCP 的滑动窗口机制 掌握 TCP 的可靠性技术. 目录. TCP/IP 传输层的作用 TCP 基本原理 - PowerPoint PPT Presentation

Citation preview

Page 1: TCP 和 UDP 基本原理

TCP 和 UDP 基本原理

Page 2: TCP 和 UDP 基本原理

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

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

UDP 是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用

引入

Page 3: TCP 和 UDP 基本原理

了解 TCP/UDP 协议所提供的服务 了解 TCP/UDP 的报文结构 掌握 TCP 建立和拆除的过程 掌握 TCP 的滑动窗口机制 掌握 TCP 的可靠性技术

课程目标学习完本课程,您应该能够:

Page 4: TCP 和 UDP 基本原理

TCP/IP 传输层的作用 TCP 基本原理 UDP 基本原理

目录

Page 5: TCP 和 UDP 基本原理

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

Page 6: TCP 和 UDP 基本原理

TCP/IP 传输层的作用 TCP 基本原理 UDP 基本原理

目录

Page 7: TCP 和 UDP 基本原理

TCP 的特点三次握手

建立可靠连接端口号

多路复用完整性校验

差错检测

确认机制 应答接收

序列号 丢失检测、乱序重排

窗口机制 流量控制

Page 8: TCP 和 UDP 基本原理

TCP 封装

0 8 16 24 31Source Port Destination Port

Sequence NumberAcknowledgment Number

URG ACK PSH RST SYN FIN

Data Offset Reserved Window Checksum Urgent Pointer

Options data

IP 头 TCP 头 载荷数据TCP段

IP 包

TCP 头格式

TCP 封装

Padding

Page 9: TCP 和 UDP 基本原理

TCP/UDP 端口号

TCP

IP

网络接口层

UDP

协议号 6 协议号 17

FTP HTTP DNS TFTPSMTP SNMP

20/21 80 25 53 69 161

Telnet

23

BootP

67/68

Page 10: TCP 和 UDP 基本原理

TCP 连接的建立HostBHostA

SYN (seq=a)

SYN (seq=b, ack = a+1)

SYN (seq=a+1, ack = b+1)

IP 网络

Page 11: TCP 和 UDP 基本原理

TCP 连接的拆除

FIN (seq=p)

ACK (ack = p+1)

ACK (ack = q+1)

HostBHostA

IP 网络

FIN (seq=q)

Page 12: TCP 和 UDP 基本原理

传输确认HostBHostA

DATA (seq=1, len=1024)DATA (seq=1025, len=1024)DATA (seq=2049, len=1024)

DATA (seq=4097, len=1024)DATA (seq=5121, len=1024)DATA (seq=6145, len=1024)DATA (seq=7169, len=1024)

ACK (ack=4097)

DATA (seq=3073, len=1024)

Page 13: TCP 和 UDP 基本原理

超时重传HostBHostA

DATA (seq=1, len=1024)DATA (seq=1025, len=1024)DATA (seq=2049, len=1024)

DATA (seq=4097, len=1024)DATA (seq=5121, len=1024)DATA (seq=6145, len=1024)DATA (seq=7169, len=1024)

ACK (ack=1025)

DATA (seq=3073, len=1024)

DATA (seq=1025, len=1024)

ACK (ack=4097)

RTT

Page 14: TCP 和 UDP 基本原理

滑动窗口HostBHostA

DATA (seq=1, len=1024)DATA (seq=1025, len=1024)DATA (seq=2049, len=1024)

DATA (seq=4097, len=1024)DATA (seq=5121, len=1024)

DATA (seq=6145, len=1024)DATA (seq=7169, len=1024)

ACK (ack=4097, win=2048)

DATA (seq=3073, len=1024)

ACK (ack=6145, win=2048)

要求减小窗口

Page 15: TCP 和 UDP 基本原理

TCP/IP 传输层的作用 TCP 基本原理 UDP 基本原理

目录

Page 16: TCP 和 UDP 基本原理

UDP 封装

0 8 16 24 31Source Port Destination Port

Checksum Data

Length

IP 头 UDP 头 载荷数据UDP 数据报

IP 包

UDP 头格式

UDP 封装

Page 17: TCP 和 UDP 基本原理

TCP 与 UDP 的对比功能项 TCP UDP

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

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

对应用层数据的封装 对应用层数据进行分段和封装,用端口号标识应用层程序 与 TCP 相同

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

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

Page 18: TCP 和 UDP 基本原理

TCP 和 UDP 通过端口号标识上层应用和服务 TCP 通过三次握手建立可靠连接 TCP 通过校验和进行差错校验,通过序列号、确认和超

时重传机制实现可靠传输,通过滑动窗口实现流量控制 UDP 实现简单,资源占用少,实时性强,适用于可靠性

高的网络和延迟敏感的应用

本章总结