TCP和UDP基本原理
引入 TCP/IP协议族的传输层协议主要包括TCP和UDP
课程目标 学习完本课程,您应该能够: 了解TCP/UDP协议所提供的服务 了解TCP/UDP的报文结构 掌握TCP建立和拆除的过程
目录 TCP/IP传输层的作用 TCP基本原理 UDP基本原理
传输层的作用 提供面向连接或无连接的服务 维护连接状态 对应用层数据进行分段和封装 实现多路复用 可靠地传输数据 执行流量控制
目录 TCP/IP传输层的作用 TCP基本原理 UDP基本原理
TCP的特点 三次握手 端口号 完整性校验 确认机制 序列号 窗口机制 建立可靠连接 多路复用 差错检测 应答接收 丢失检测、乱序重排 流量控制
TCP封装 TCP封装 IP头 TCP头 载荷数据 TCP头格式 IP包 TCP段 8 16 24 31 Source Port 8 16 24 31 Source Port Destination Port Sequence Number Reserved ACK Data Offset PSH RST SYN FIN Window Checksum Urgent Pointer Options Padding data
TCP/UDP端口号 TCP UDP IP 网络接口层 FTP HTTP DNS TFTP SMTP SNMP Telnet BootP 协议号6 协议号17 FTP HTTP DNS TFTP SMTP SNMP 20/21 80 25 53 69 161 Telnet 23 BootP 67/68
TCP连接的建立 IP网络 HostA HostB SYN (seq=a) SYN (seq=b, ack=a+1) SYN (seq=a+1, ack=b+1)
TCP连接的拆除 IP网络 HostA HostB FIN (seq=p) ACK (ack=p+1) FIN (seq=q) ACK (ack=q+1)
传输确认 HostA HostB DATA (seq=1, len=1024) DATA (seq=1025, 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 RTT DATA (seq=1, len=1024) DATA (seq=1025, len=1024) ACK (ack=1025) DATA (seq=1025, 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) ACK (ack=4097, win=2048) DATA (seq=4097, len=1024) DATA (seq=5121, len=1024) ACK (ack=6145, win=2048) DATA (seq=6145, len=1024) DATA (seq=7169, len=1024)
目录 TCP/IP传输层的作用 TCP基本原理 UDP基本原理
UDP封装 UDP封装 IP头 UDP头 载荷数据 UDP头格式 IP包 UDP数据报 8 16 24 31 Source Port 8 16 24 31 Source Port Destination Port Length Checksum Data
TCP与UDP的对比 功能项 TCP UDP 连接服务的类型 面向连接 无连接 维护连接状态 维持端到端的连接状态 不维护连接状态 对应用层数据的封装 对应用层数据进行分段和封装,用端口号标识应用层程序 与TCP相同 数据传输 通过序列号和应答机制确保可靠传输 不确保可靠传输 流量控制 使用滑动窗口机制控制流量 无流量控制机制
本章总结 TCP和UDP通过端口号标识上层应用和服务 TCP通过三次握手建立可靠连接