Il documento descrive i principi del trasporto affidabile nei protocolli di comunicazione, evidenziando la complessità dovuta alle caratteristiche del canale e alle gestioni degli errori tramite meccanismi come acknowledgement e negative acknowledgement. Vengono presentati vari protocolli di trasferimento dati come rdt1.0, rdt2.0, e tcp, con le loro funzionalità e limitazioni, in particolare sui problemi di perdita e duplicazione dei pacchetti. Infine, viene affrontato il controllo della congestione in tcp, delineando fasi come slow start e congestion avoidance in risposta alle sue sfide.