Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT0008 – REDES DE COMPUTADORES Aula 12: Protocolos de Transporte AULA 12: Protocolos de Transporte Redes de Computadores Objetivos O aluno deverá ser capaz de: • Explicar a importância do uso dos protocolos TCP e UDP para a comunicação de dados; • Comparar e confrontar recursos e serviços oferecidos pelos protocolos TCP e UDP; • Descrever como os dados são transmitidos através dos protocolos TCP e UDP AULA 12: Protocolos de Transporte Redes de Computadores Camada de transporte • Fornece: - Serviços de comunicação direta entre os processos de aplicação que rodam em máquinas diferentes. - Comunicação lógica entre estes processos. • Permite que processos de aplicação utilizem a comunicação lógica sem preocupação com os detalhes da infraestrutura utilizada para transportar as mensagens AULA 12: Protocolos de Transporte Redes de Computadores Camada de transporte • Mensagens > divididas em segmentos > passados com o endereço de destino para a camada de rede. • Comunicação lógica entre os processos do aplicativo em execução entre hosts diferentes - orientada à conexão ou não orientada à conexão. - confiável ou não confiável - com informações de estado ou sem informações de estado • Porta - identificação dos processos de aplicação AULA 12: Protocolos de Transporte Redes de Computadores Camada de transporte • Protocolos - TCP (Transmission Control Protocol) ou - UDP (User Datagram Protocol) • A utilização de um ou outro depende da aplicação AULA 12: Protocolos de Transporte Redes de Computadores Segmento TCP Porta de Origem Porta de Destino Número de Sequência Número de Reconhecimento HLen janela Checksum Urgent Pointer Opções (se existir) DATA 0 16 31 Code BitsReservad o Padding . . . AULA 12: Protocolos de Transporte Redes de Computadores TCP – Transmission Control Protocol • Orientado a conexão • Entrega confiável > destinatário confirma o recebimento do segmento AULA 12: Protocolos de Transporte Redes de Computadores Segmento UDP • Sem conexão Porta de Origem UDP Porta de Destino UDP UDP Checksum DATA . . . Tamanho do Segmento UDP AULA 12: Protocolos de Transporte Redes de Computadores Udp – user datagram protocol • Não orientado a conexão • Entrega não confiável > destinatário não confirma o recebimento do segmento AULA 12: Protocolos de Transporte Redes de Computadores Portas • Números identificadores das conexões lógicas (origem e destino) • Comunicação fim-a-fim. • Cada conexão lógica - novo processo do SO - novo par (portas origem e destino) AULA 12: Protocolos de Transporte Redes de Computadores Portas – RFC 6335 Reservadas ou de Sistema • Servidores, padronizadas na RFC 1070 • Valores de 0 a 1023 Liberadas • Definidas pelo SO para serviços em teste ou não padronizados • Valores de 1024 a 49151 Dinâmicas ou Privadas • Cliente • Valores de 49152 a 65535 AULA 12: Protocolos de Transporte Redes de Computadores Portas padrão - TCP AULA 12: Protocolos de Transporte Redes de Computadores Portas padrão - UDP AULA 12: Protocolos de Transporte Redes de Computadores Socket • Cada conexão lógica é identificada por um Socket - Porta de Origem - Porta de Destino - IP de Origem - IP de Destino • Um Socket é único num Host AULA 12: Protocolos de Transporte Redes de Computadores Conexão: Three Way Handshake • TCP – conexão em 3 fases - estabelecimento da ligação - transferência - término de ligação AULA 12: Protocolos de Transporte Redes de Computadores Estabelecimento da ligação • Cliente-Servidor - Servidor ligado em “wait” - Cliente inicia a ligação enviando um pacote TCP com a flag SYN - Aguarda o servidor aceitar ou rejeitar a ligação com pacote SYN+ACK. - Após espaço de tempo sem resposta timeout e outro pacote SYN é reenviado. • O estabelecimento da ligação é concluído por parte do cliente, confirmando a aceitação do servidor respondendo-lhe com um pacote ACK. AULA 12: Protocolos de Transporte Redes de Computadores Estabelecimento da ligação • São trocados números de sequência iniciais (ISN) - para identificar os dados e - para servir de contador de bytes transmitidos durante a fase de transferência de dados (sessão). • Fim da fase > o servidor inscreve o Socket numa tabela de backlog. • Se o socket estiver no backlog novo SYN é rejeitado • Evita reconectar cliente que reenviou SYN após supor timeout. AULA 12: Protocolos de Transporte Redes de Computadores Transferência de dados (sessão) • TCP – mecanismos para assegurar a confiabilidade e robustez - números de sequência para entrega ordenada, - código detector de erros (checksum) - confirmação de recepção e - temporizadores (ajuste e contorno de eventuais atrasos e perdas de segmentos). AULA 12: Protocolos de Transporte Redes de Computadores Transferência de dados (sessão) TCP – Controle de sequência • Par de números para controle de sequência - número de sequência e - número de confirmação (ACKnowledgement). • Emissor determina o seu próprio número de sequência e o receptor confirma o segmento usando, como número ACK, o número de sequência do emissor. • Confiabilidade > receptor confirma os segmentos indicando que recebeu um determinado número de bytes contíguos. • Melhorias no TCP - Possibilidade do receptor confirmar blocos fora da ordem esperada. - Selective ACK ou SACK. AULA 12: Protocolos de Transporte Redes de Computadores Transferência de dados (sessão) • A remontagem ordenada dos segmentos é feita usando os números de sequência, de 32 bit, que reiniciam a zero quando ultrapassam o valor máximo. AULA 12: Protocolos de Transporte Redes de Computadores Transferência de dados (sessão) • As confirmações de recepção (ACK) servem ao emissor para determinar as condições da rede. • Os temporizadores dos emissores e receptores podem - alterar o fluxo dos dados, - contornar eventuais problemas de congestão e - prevenir o congestionamento da rede. • Os mecanismos servem para obter o máximo de performance da rede sem a congestionar • O envio de quadros mais rápido que qualquer os nós intermediários ou do receptor pode inundar os segmentos de rede. AULA 12: Protocolos de Transporte Redes de Computadores Adequação de parâmetros • O parâmetro janela indica o espaço livre atual do receptor • o emissor só poderá ter em trânsito aquela quantidade de informação até esperar pela confirmação (ACK) • Cada ACK pode conter novo valor de atualização da. Cabeçalho TCP AULA 12: Protocolos de Transporte Redes de Computadores Término da ligação No encerramento da sessão TCP • Cada um encerra do seu lado da ligação. • Cada lado envia um FIN e é respondido com ACK. Cliente Servidor FIN ACK ACK FIN • Se um dos lados não encerra temos uma sessão semi-aberta. • O lado que não encerrou a sessão poderá continuar enviando, mas não será respondido e vai encerrar por timeout. AULA 12: Protocolos de Transporte Redes de Computadores Entrega com informação de estado ou sem informação de estado Entrega com informações de estado • Conceito de “sessão • Um lote de solicitações é enviado e respostas são recebidas • As informações divulgadas em uma solicitação podem ser utilizadas para modificar as solicitações futuras. Entrega de dados sem informação de estado • Cada solicitação é independente • Não há informação associada a qualquer outra solicitação. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25
Compartilhar