Transporte, TCP e congestionamento
Portas, UDP, sequência TCP, ACK, temporizadores, janelas e controlo de congestionamento.
UDP e TCP
- UDP: cabeçalho de 8 bytes, sem ligação, sem garantias, preserva datagramas.
- TCP: fluxo de bytes fiável e ordenado; não preserva fronteiras de
send.recv(4096)pode devolver menos. - Portas entregam ao socket do terminal. SYN e FIN consomem 1 número; ACK puro não.
Sequência e ACK
- Numera bytes. Segmento em 1000 com 300 bytes: seguinte em 1300. ACK 1300 confirma tudo antes e pede o próximo.
- SYN 500, 300 bytes após abertura: ACK 801.
- Lacuna 1200–1399 com 1400–1599 guardado: ACK fica em 1200. SACK indica blocos sem mudar o cumulativo.
Janelas
- Fluxo protege o recetor com
rwnd; congestionamento protege a rede comcwnd. Novos bytes: . - Janela bytes, RTT : bit/s. 100000 bytes e 0,1 s dão 8 Mbit/s.
Slow start, AIMD, perdas
- Slow start duplica por RTT; congestion avoidance soma ~1 MSS por RTT. Limiar
ssthreshsepara as fases. - 3 ACKs duplicados (Reno):
ssthresh=max(FlightSize/2,2MSS),cwndpassa porssthresh+3MSSe volta assthresh. Timeout:cwnd=1MSS,ssthreshmantém-se, recomeça slow start. - 12 MSS em voo: limiar 6; duplicados levam a 9 e depois 6; timeout leva a 1.
- Perda não prova congestionamento; ECN sinaliza sem descartar.
RTO
- Amostras de RTT alimentam SRTT e RTTVAR; primeiro RTTVAR com a média antiga, depois SRTT. , mínimo recomendado 1 s.
- Retransmitidos seguem Karn: ignora amostras ambíguas.