计算机网络——传输层协议分析
传输层——TCP 协议
TCP 概述
TCP(Transmission Control Protocol) 是 传输层 协议,提供可靠的、面向连接的通信。
特点:
- 可靠性:通过序列号、确认机制和重传确保数据无丢失。
- 流量控制:使用滑动窗口控制发送速率。
- 拥塞控制:避免网络过载。
应用场景:HTTP、FTP、SMTP 等需要可靠传输的场景。
头部格式
TCP 三次握手
TCP 通过 三次握手 建立连接,确保双方准备好通信:
- SYN:客户端发送同步报文(SYN = 1,Seq = x)。
- SYN-ACK:服务器响应同步确认(SYN = 1,ACK = 1,Seq = y,Ack = x+1)。
- ACK:客户端确认(ACK = 1,Seq = x+1,Ack = y+1)。
TCP 四次挥手
[!tip]
挥手断开连接,客服端、服务器均可主动发起。
- FIN: 客户端发送结束报文(FIN = 1,Seq = u),表示客户端无数据发送,请求断开连接。
- ACK: 服务器响应确认(ACK = 1,Seq = v,Ack = u + 1),告知客户端收到结束请求,但连接未立即关闭。
- FIN: 服务器发送结束报文(FIN = 1,ACK = 1,Seq = w,Ack = u + 1),服务器也准备关闭连接。
- ACK: 客户端确认(ACK = 1,Seq = u + 1,Ack = w + 1),客户端确认后,等待一段时间确保服务器收到确认后,连接彻底关闭。
抓包 TCP
- 方式一:kali 上开启监听
nc -lvnp 12345
,Windows 上 nc 连接 kali 的端口nc 192.168.85.99 12345
,随后选定 VMnet8 网卡,过滤器 tcp,开启捕获。 - 方式二:在 Wireshark 开启捕获后,找一个 tcp 流量或基于 tcp 解封装的应用层流量(tls、http、ftp 等),随后追踪流。
传输层——UDP 协议
[!warning]
UDP 协议是没有连接,不可靠的。
概述
UDP(User Datagram Protocol) 是 传输层 协议,提供无连接、不可靠但高效的通信。
特点:
- 无连接:无需建立连接,直接发送数据。
- 不可靠:不保证数据到达或顺序。
- 低开销:适合实时应用。
应用场景:DNS、视频流等。
头部格式
TCP 与 UDP 区别
特性 | TCP | UDP |
---|---|---|
连接性 | 面向连接(三次握手) | 无连接 |
可靠性 | 可靠(确认、重传、流量控制) | 不可靠(无确认、无重传) |
速度 | 较慢(因可靠性机制) | 较快(低开销) |
数据顺序 | 保证顺序 | 不保证顺序 |
应用场景 | HTTP、FTP、SMTP | DNS、视频流 |
TCP 与 UDP 的应用
分类 | 应用场景 | ||
---|---|---|---|
TCP | Web 浏览 | 需可靠传输网页内容 (HTML/CSS/JS) ,确保页面完整加载 | Chrome、Safari (HTTP/HT) |
文件传输 | 不分许数据丢失或乱序 (如大型安装包传输) | FileZilla、WinSCP (FTP/SFT) | |
电子邮件 | 邮件内容及附件必须完整送达 | SMTP/POP3/IMAP | |
数据库操作 | 依赖 TCP 保证 SQL 查询结果的准确性 | MySQL、Oracle | |
远程登录 | 交互命令需按序列达 (如服务器管理) | SSH、Telnet | |
金融交易 | 要求数据 100%可靠 (如转账、证券交易) | 银行系统、证券交易平台 | |
UDP | 实时音视频传输 | 容忍少量丢帧,但要求低延迟 (视频会议、直播) | Zoom、抖音 (RTP 协议) |
DNS 查询 | 短小请求需快速响应,单一请求-回复模式 | DNS 协议 | |
IoT 设备通信 | 传感器数据最小包频率 (如温度度上报) | 智能家居传感器 | |
广播/多播应用 | 需向多个终端同步发送 (如 IPTV、时间同步) | IPTV、NTP 协议 | |
网络电话 | 优先保证实时性,轻微丢包不影响通话 | 微信语音通话 |
KCP
概述
- KCP 是一种基于 UDP 的快速可靠传输协议,旨在结合 UDP 的速度和 TCP 的可靠性。
特点
- 基于 UDP 构建,但通过 ARQ(自动重传请求)实现可靠性。
- 优化拥塞控制,减少延迟。
- 提供可调参数(如重传次数、窗口大小)。
工作原理
- 在 UDP 上实现序列号、确认机制和重传。
- 使用滑动窗口控制流量。
- 优化低延迟场景,如游戏、实时通信。
应用场景
- 游戏服务器(如《王者荣耀》)。
- 实时音视频传输。
- IoT 设备通信。