Table
OS | NewReno | CTCP | DCTCP | HTCP | CUBIC | BBR | setting |
---|---|---|---|---|---|---|---|
windows xp | ●※ | - | - | - | - | - | - |
windows7/vista | ●※ | ● | - | - | - | - | netsh int tcp set global congestionprovider= |
windows10 | - | ● | ● | - | ●※ | - | netsh interface tcp set supplemental internet congestionprovider= |
windowsSV2012 | - | ● | ●※ | - | ● | - | netsh interface tcp set supplemental internet congestionprovider= |
freebsd8.3 | ●※ | - | - | ● | ● | - | net.inet.tcp.cc.algorithm= |
freebsd9.2 | ●※ | - | - | ● | ● | - | net.inet.tcp.cc.algorithm= |
freebsd11 | ●※ | - | ● | ● | ● | - | net.inet.tcp.cc.algorithm= |
freebsd12 | ●※ | - | ● | ● | ● | ● | net.inet.tcp.cc.algorithm= |
linux | ● | - | - | - | ●※ | ● | net.ipv4.tcp_congestion_control= |
VMWare ESXi | ●※ | - | - | - | ● | - | default tcp stack |
※はデフォルト
NewReno
- 広帯域・高遅延環境には適していない(WIFI/10gbeなどには向かない)
- パケロスがある環境でスループットが落ちにくい
Cubic
- 高速ネットワーク環境に適し、立ち上がりがゆっくりで公平性を保つ(専有しすぎない)
HTCP
- 高速ネットワーク環境に適する
- ネットワークを専有する傾向がある
CTCP
- 高速ネットワーク環境に適し帯域が空いているときに速度を稼ぐ
- 空いている帯域をパケロスするまで試すNewRenoと相性が悪い
freebsd
/boot/loader.conf
- cc_dctcp_load="YES"
- cc_htcp_load="YES"
https://fasterdata.es.net/host-tuning/freebsd/ https://wiki.ninth-nine.com/FreeBSD/%EF%BC%B4%EF%BC%A3%EF%BC%B0%E8%BC%BB%E8%BC%B3%E5%88%B6%E5%BE%A1
HTCP派とDCTCP派に別れてるらしい
https://infonet.cse.kyutech.ac.jp/paper/2008/DaisukeTACHIBANA-200903-IPSJ_hinokuni.pdf
表4 各プロトコルの特徴が詳しい