计算机网络——传输层协议分析

计算机网络——传输层协议分析

传输层——TCP 协议

TCP 概述

TCP(Transmission Control Protocol) 是 传输层 协议,提供可靠的、面向连接的通信。

  • 特点:

    • 可靠性:通过序列号、确认机制和重传确保数据无丢失。
    • 流量控制:使用滑动窗口控制发送速率。
    • 拥塞控制:避免网络过载。
  • 应用场景:HTTP、FTP、SMTP 等需要可靠传输的场景。

头部格式

image-20250621120641061

TCP 三次握手

TCP 通过 三次握手 建立连接,确保双方准备好通信:

  1. SYN:客户端发送同步报文(SYN = 1,Seq = x)。
  2. SYN-ACK:服务器响应同步确认(SYN = 1,ACK = 1,Seq = y,Ack = x+1)。
  3. ACK:客户端确认(ACK = 1,Seq = x+1,Ack = y+1)。

未命名绘图

TCP 四次挥手

[!tip]

挥手断开连接,客服端、服务器均可主动发起。

  1. FIN: 客户端发送结束报文(FIN = 1,Seq = u),表示客户端无数据发送,请求断开连接。
  2. ACK: 服务器响应确认(ACK = 1,Seq = v,Ack = u + 1),告知客户端收到结束请求,但连接未立即关闭。
  3. FIN: 服务器发送结束报文(FIN = 1,ACK = 1,Seq = w,Ack = u + 1),服务器也准备关闭连接。
  4. 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 等),随后追踪流。

image-20250618211111991

传输层——UDP 协议

[!warning]

UDP 协议是没有连接,不可靠的。

概述

UDP(User Datagram Protocol) 是 传输层 协议,提供无连接、不可靠但高效的通信。

  • 特点:

    • 无连接:无需建立连接,直接发送数据。
    • 不可靠:不保证数据到达或顺序。
    • 低开销:适合实时应用。
  • 应用场景:DNS、视频流等。

头部格式

image-20250619084339888

TCP 与 UDP 区别

特性TCPUDP
连接性面向连接(三次握手)无连接
可靠性可靠(确认、重传、流量控制)不可靠(无确认、无重传)
速度较慢(因可靠性机制)较快(低开销)
数据顺序保证顺序不保证顺序
应用场景HTTP、FTP、SMTPDNS、视频流

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 设备通信。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇