This document summarizes key topics related to TCP friendliness, congestion control, DCCP, NATs, and STUN. It discusses how TCP dynamically adapts its rate in response to congestion using AIMD. It then covers Chiu-Jain phase plots and how TCP responds to loss by cutting its congestion window. The document analyzes a simple TCP model and derives its goodput equation. It discusses the importance of protocols being "TCP friendly" and introduces DCCP as a connection-oriented protocol providing congestion control for unreliable datagrams. The remainder summarizes Network Address Translation (NAT), including types of NATs and problems they cause. It introduces STUN for determining public IP/port behind