Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol Características da sub rede - perca de pacotes - pacotes fora de ordem - pacotes duplicados - pacotes atrasos Vitor Vaz da Silva 1 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol OFERECE: - stream orientation - corrente de informação - virtual circuit connection - “tipo telefone” - buffered transfer - dados guardados de diverso modo - unstructured stream - corrente sem estrutura - full duplex - um sentido é independente do outro. Vitor Vaz da Silva 2 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol SOURCE IP ADDRESS DESTINATION IP ADDRESS ZERO PROTO TCP LENGTH TCP SOURCE PORT TCP DESTINATION SEQUENCE PORT NUMBER ACKNOWLEDGEMENT NUMBER HLEN RESERVED CODE WINDOW URGENT POINTER CHECKSUM OPTIONS (if any) PADDING DATA Vitor Vaz da Silva 3 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol HLEN 0 4 offset CODE 10 Múltiplo de 32 bits 16 UAPRSF URG - Urgent pointer field valid ACK - Acknowledge field is valid PSH - This segment requires a push RST - Reset the connection SYN - Synchronize sequence numbers (SEQ) FIN - Sender has reached end of its byte field Vitor Vaz da Silva 4 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol CODE URG - O apontador “Urgent Pointer” indica a informação urgente. O valor máximo por norma é de 536 bytes, porque pressupõe o transito por possíveis WAN. O valor pode ser aumentado numa rede local. (Através das opções) ACK - O conteúdo de “Acknowledgment Number” é válido PSH - Este segmento tem de ser entregue à Aplicação RST - Aborta a ligação abruptamente. A ligação termina. SYN - (SEQ) Indica que o campo de “Sequence Number” é válido FIN - Fim da comunicação. A ligação termina. Vitor Vaz da Silva 5 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol SEQUENCE NUMBER – Equivalente ao número de sequência no HDLC N(s) A posição dos dados relativamente ao começo ACKNOWLEDG – Equivalente ao N(r) – número de sequencia recebido O próximo byte que se espera receber Ambos referem a posição dos bytes nos dados ( não o número da frame ) Vitor Vaz da Silva 6 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol WINDOW Janela É a janela deslizante. Indica o número de bytes relativamente ao número de acknowledg que podem ser recebidos. O número varia de acordo com a quantidade de memória disponível na recepção “Funciona a créditos!” Vitor Vaz da Silva 7 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol listen connect SYN (x) SYN (y ) ACK (x+1) ACK (y+1) Vitor Vaz da Silva 8 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol close FIN (x) ACK (x+1) ? FIN (y ) ACK (x+1) ? ACK (y+1) Vitor Vaz da Silva 9 Redes de Comunicação de Dados TCP SOCKET - Identificador de serviço num nó de uma rede - Dois tipos - Stream - bidirecional - Datagram Vitor Vaz da Silva 10 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol • Podem existir várias aplicações a comunicar sobre o mesmo porto TCP desde que em ligações diferentes • Uma ligação TCP é identificada por um par de endpoints ou sockets • As ligações são distintas se a combinação dos sockets for distinta Vitor Vaz da Silva 11 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol socket bind socket listen connect accept read write close Vitor Vaz da Silva 12 Redes de Comunicação de Dados TCP TCP - Transmission Control Protocol socket socket recvfrom sendto Vitor Vaz da Silva 13