TCP/IP Stack & Congestion Control

Stack TCP/IP, handshake, controle de congestionamento, e comparação com QUIC

TCP/IP Model📱ApplicationHTTP, DNS, SMTP🔀TransportTCP / UDP🌐InternetIP (v4/v6)🔌Network AccessEthernet, WiFiEncapsulationData → Application (HTTP payload)Segment → Transport (TCP header + data)Packet → Internet (IP header + segment)Frame → Link (ETH header + packet + CRC)PDU3-Way HandshakeClientServerSYN seq=100SYN-ACK seq=300 ack=101ACK ack=3011 RTTSliding WindowWindow Size = min(cwnd, rwnd)cwnd: congestion window (sender)rwnd: receive window (receiver)Throughput ≈ window_size / RTTCongestion Control🚀Slow StartExponentialcwnd × 2/RTT📈Cong. AvoidanceLinearssthreshcwnd + 1/RTTFast Retransmit3 dup ACKsloss!Congestion AlgorithmsRenoAIMDCubicLinux defaultBBRGoogleQUIC CCCustom4-Way TeardownClient → FIN (quero fechar)Server → ACK (ok, recebi)Server → FIN (eu também)Client → ACK (ok, TIME_WAIT 2×MSL)TIME_WAIT 60sQUIC (HTTP/3)0-RTTResumption🔀MultiplexingNo HoL blocking🔐Built-in TLSTLS 1.3📡UDP BasedUser-spaceTCP vs QUIC TCP+TLS QUICHandshake: 2-3 RTT 0-1 RTTHoL Block: yes noEncryption: optional alwaysMigration: no yes

TCP/IP: 4 camadas — Application, Transport, Internet, Network Access (vs 7 do OSI)

0/9