180 likes | 547 Views
TCP 和 UDP 基本原理. 引入. TCP/IP 协议族的传输层协议主要包括 TCP 和 UDP TCP 是面向连接的可靠的传输层协议。它支持在并不可靠的网络上实现面向连接的可靠的数据传输 UDP 是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用. 课程目标. 学习完本课程,您应该能够:. 了解 TCP/UDP 协议所提供的服务 了解 TCP/UDP 的报文结构 掌握 TCP 建立和拆除的过程 掌握 TCP 的滑动窗口机制 掌握 TCP 的可靠性技术. 目录. TCP/IP 传输层的作用 TCP 基本原理
E N D
引入 • TCP/IP协议族的传输层协议主要包括TCP和UDP • TCP是面向连接的可靠的传输层协议。它支持在并不可靠的网络上实现面向连接的可靠的数据传输 • UDP是无连接的传输协议,主要用于支持在较可靠的链路上的数据传输,或用于对延迟较敏感的应用
课程目标 学习完本课程,您应该能够: • 了解TCP/UDP协议所提供的服务 • 了解TCP/UDP的报文结构 • 掌握TCP建立和拆除的过程 • 掌握TCP的滑动窗口机制 • 掌握TCP的可靠性技术
目录 • TCP/IP传输层的作用 • TCP基本原理 • UDP基本原理
传输层的作用 • 提供面向连接或无连接的服务 • 维护连接状态 • 对应用层数据进行分段和封装 • 实现多路复用 • 可靠地传输数据 • 执行流量控制
目录 • TCP/IP传输层的作用 • TCP基本原理 • UDP基本原理
三次握手 建立可靠连接 端口号 多路复用 完整性校验 差错检测 确认机制 应答接收 序列号 丢失检测、乱序重排 窗口机制 流量控制 TCP的特点
TCP封装 TCP封装 IP包 TCP段 TCP头格式 0 24 31 16 8 Source Port Destination Port Sequence Number ACK PSH RST Reserved FIN Window SYN Data Offset Checksum Urgent Pointer Padding Options data
Telnet FTP HTTP SMTP DNS TFTP SNMP BootP 23 80 25 53 69 161 67/68 20/21 TCP UDP 协议号6 协议号17 IP 网络接口层 TCP/UDP端口号
TCP连接的建立 HostA HostB IP网络 SYN (seq=a) SYN (seq=b, ack=a+1) SYN (seq=a+1, ack=b+1)
TCP连接的拆除 HostA HostB IP网络 FIN (seq=p) ACK (ack=p+1) FIN (seq=q) ACK (ack=q+1)
DATA (seq=1, len=1024) DATA (seq=1025, len=1024) DATA (seq=2049, len=1024) DATA (seq=3073, len=1024) ACK (ack=4097) DATA (seq=4097, len=1024) DATA (seq=5121, len=1024) DATA (seq=6145, len=1024) DATA (seq=7169, len=1024) 传输确认 HostA HostB
DATA (seq=1, len=1024) DATA (seq=1025, len=1024) DATA (seq=1025, len=1024) DATA (seq=2049, len=1024) DATA (seq=3073, len=1024) ACK (ack=1025) ACK (ack=4097) DATA (seq=4097, len=1024) DATA (seq=5121, len=1024) DATA (seq=6145, len=1024) DATA (seq=7169, len=1024) 超时重传 HostA HostB RTT
DATA (seq=1, len=1024) DATA (seq=1025, len=1024) DATA (seq=2049, len=1024) DATA (seq=3073, len=1024) ACK (ack=4097, win=2048) ACK (ack=6145, win=2048) DATA (seq=4097, len=1024) DATA (seq=5121, len=1024) DATA (seq=6145, len=1024) DATA (seq=7169, len=1024) 滑动窗口 HostA HostB 要求减小窗口
目录 • TCP/IP传输层的作用 • TCP基本原理 • UDP基本原理
UDP封装 UDP封装 IP包 UDP数据报 UDP头格式 0 24 31 16 8 Source Port Destination Port Length Checksum Data
本章总结 • TCP和UDP通过端口号标识上层应用和服务 • TCP通过三次握手建立可靠连接 • TCP通过校验和进行差错校验,通过序列号、确认和超时重传机制实现可靠传输,通过滑动窗口实现流量控制 • UDP实现简单,资源占用少,实时性强,适用于可靠性高的网络和延迟敏感的应用