万字详文:TCP 拥塞控制详解 |
您所在的位置:网站首页 › tcp拥塞控制算法常常被称为 › 万字详文:TCP 拥塞控制详解 |
本文主要介绍 TCP 拥塞控制算法,内容多来自网上各个大佬的博客及《TCP/IP 详解》一书,在此基础上进行梳理总结,与大家分享。因水平有限,内容多有不足之处, 敬请谅解。 一、TCP 首部格式 在了解 TCP 的拥塞控制之前,先来看看 TCP 的首部格式和一些基本概念。 TCP 头部标准长度是 20 字节。包含源端口、目的端口、序列号、确认号、数据偏移、保留位、控制位、窗口大小、校验和、紧急指针、选项等。 1.1 数据偏移(Data Offset)该字段长 4 位,单位为 4 字节。表示为 TCP 首部的长度。所以 TCP 首部长度最多为 60 字节。 1.2 控制位目前的 TCP 控制位如下,其中 CWR 和 ECE 用于拥塞控制,ACK、RST、SYN、FIN 用于连接管理及数据传输。 CWR:用于 IP 首部的 ECN 字段。ECE 为 1 时,则通知对方已将拥塞窗口缩小。 ECE:在收到数据包的 IP 首部中 ECN 为 1 时将 TCP 首部中的 ECE 设置为 1,表示从对方到这边的网络有拥塞。 URG:紧急模式 ACK:确认 PSH:推送,接收方应尽快给应用程序传送这个数据。没用到 RST:该位为 1 表示 TCP 连接中出现异常必须强制断开连接。 SYN:初始化一个连接的同步序列号 FIN:该位为 1 表示今后不会有数据发送,希望断开连接。1.3 窗口大小(Window)该字段长度位 16 位,即 TCP 数据包长度位 64KB。可以通过 Options 字段的 WSOPT 选项扩展到 1GB。 1.4 选项(Options)受 Data Offset 控制,长度最大为 40 字节。一般 Option 的格式为 TLV 结构: 常见的 TCP Options 有,SACK 字段就位于该选项中。: 1.5 SACK 选项SACK 包括了两个 TCP 选项 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |