TCP NOTES
This is announced during the tcp handshake:


ACK is sent indicating that is has received cumulated data and is ready for the next segment The ACK number for a packet is the packet's sequence number plus the data length. See this for a full explanation of ack and seq numbers: External Link



The three way handshake implies there are two clients and two servers «


TCP TIMERS:


TCP CONGESTION CONTROL ALGORITHMS Slow start (congestion control vs congestion avoidance): External Link


(Reno, Cubic, Tahoe, more recently, BBR + Vegas, , Westwood)

To test performance:

tc qdisc replace dev enp0s20f0 root netem loss 1.5% latency 70ms # introduces some latency and packet loss

WINDOWING:

When a port is not available and the connection is rejected, an ICMP unreachable message is sent and then a RST tcp packet


TCP OPTIMIZATION
https://www.extrahop.com/company/blog/2016/tcp-nodelay-nagle-quickack-best-practices/


FUN FACTS ABOUT TCP:


QUIC NOTES