This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| network_stuff:tcpnotes [2023/08/24 16:35] – jotasandoku | network_stuff:tcpnotes [2024/10/14 12:44] (current) – jotasandoku | ||
|---|---|---|---|
| Line 43: | Line 43: | ||
| \\ | \\ | ||
| (Reno, Cubic, Tahoe, more recently, BBR + Vegas, , Westwood) | (Reno, Cubic, Tahoe, more recently, BBR + Vegas, , Westwood) | ||
| - | [[https:// | + | \\ |
| + | * BBR (Bottleneck Bandwidth and RTT). Used in QUIC and HTTP/3 protocols. More modern and **doesn' | ||
| + | * CUBIC (cubic function) is default in Linux. It relies on packet loss and a cubic window growth, making it less aggressive than BBR but well-optimized for traditional networks. | ||
| + | * BBR offers more efficient bandwidth usage and lower latency, especially in unpredictable networks, while CUBIC is robust in traditional high-speed environments. | ||
| + | | ||
| * sysctl net.ipv4.tcp_congestion_control | * sysctl net.ipv4.tcp_congestion_control | ||
| * sysctl net.ipv4.tcp_available_congestion_control | * sysctl net.ipv4.tcp_available_congestion_control | ||
| Line 75: | Line 78: | ||
| * An attacker in the middle can disrupt the communication between 2 peers. | * An attacker in the middle can disrupt the communication between 2 peers. | ||
| * PUSH: is a flag that informs the receiver that all data has been sent. When we disable Nagle with TCP_NODELAY it also sends the push flag but is not exactly the same. [[http:// | * PUSH: is a flag that informs the receiver that all data has been sent. When we disable Nagle with TCP_NODELAY it also sends the push flag but is not exactly the same. [[http:// | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | QUIC NOTES | ||
| + | |||
| + | * You need decryption keys or won't see much [[https:// | ||
| + | * 1 or 0 handshake modes | ||
| + | * Multiplexes hundreds of flows over single connection | ||
| + | * It has a long connection index (each side chooses its counterpart index). | ||
| + | * ^^ allows reuse connection independently underlying protocol (ie IP changes when moving WiFi to 5G) | ||