Slide 3 - Transport Part 1 Flashcards
TCP vs UDP Multiplexing/Demultiplexing
With UDP there is no listening side each datagram has 2-tuple with dest IP and a dest port. So you can have UDP socket that receives data from many clients.
With TCP it is connection-oriented, each socket is identified by 4-tuple and so we can have in the same port many sockets connected each to a different client.
Why is there UDP ?
- No connection needed;
- Small Segment header, 8 bytes;
- No congestion control, UDP can “blast away” as fast as desired.
RDT 1.0
O Reliable Data Transfer 1.0 nesta versão apenas assume que o canal é fiável.
RDT 2.0
Considera-se que é possível o canal trocar bits num segmento. Para identificar esse problema usa-se o checksum, já apresentado no protocolo UDP.
O recetor avisa o emissor que o pacote foi todo ele bem recebido, enviando um pacote ACK, ou que o pacote tinha erros, enviando um pacote NAK, no caso do pacote não ter sido bem recebido, o emissor reenvia o pacote, após ter recebido o NAK.
Utiliza-se a lógica Stop and Wait.
RDT 2.1
A versão RDT 2.1 apenas difere da 2.0 no sentido em que inclui um número de sequência para confirmar se é um segmento repetido ou se é a continuação de uma mensagem.
RDT 3.0
E se os pacotes nunca chegarem?
O RDT 3.0 resolve isso, através de Timeout, o emissor de um pacote aguarda a resposta de envio de um pacote (ou seja, por um ACK) se tiver passado o tempo pre-determinado sem resposta o pacote é novamente enviado.