Redes de Computadores e Telecomunicações - Camada de Transporte
Objetivos
Motivação Os serviços oferecidos pelo protocolo IP não oferecem garantia de confiabilidade. Problemas como congestionamento, perda de pacotes não são tratados. Aplicações como HTTP necessitam prover serviços de qualidade.
Comunicação esperada Aplicações em qualquer sistema de computação assumem que a transferência de dados é confiável, ou seja, o sistema garante que os dados não serão: perdidos, duplicados, e entregues fora de ordem Uma internet deve prover um serviço idêntico a um sistema convencional
Modelo TCP/IP
Função da camada de Transporte A camada de transporte pode oferecer um serviço confiável de entrega de dados utilizando um serviço não confiável
Função da camada de Transporte Serviços oferecidos pela camada de Transporte: Multiplexação/demultiplexação Transferência de dados confiável Controle de fluxo Controle de congestionamento
Função da camada de Transporte Fornecem comunicação lógica entre processos de aplicação em diferentes hospedeiros. Protocolos de transporte utilizado na internet: TCP UDP
Função da camada de Transporte
Camada de Transporte Vs. Camada de Rede Protocolo da camada de transporte: fornece comunicação lógica entre processos; Protocolo da camada de redes: fornece comunicação lógica entre hospedeiros;
Camada de Transporte Analogia com uma casa familiar: 12 crianças enviam cartas para 12 crianças Processos = crianças Mensagens da aplicação = cartas nos envelopes Hospedeiros = casas Protocolo de transporte = Anna e Bill Protocolo da camada de rede = serviço postal
Camada de Transporte Confiável, garante ordem de entrega (TCP) Controle de congestionamento Controle de fluxo Orientado à conexão Não confiável, sem ordem de entrega (UDP) Serviços não disponíveis: Garantia a atrasos Garantia de banda
Camada de Transporte O pacote da camada de Transporte é chamado: ao TCP: segmento. ao UDP: datagrama.
Camada de Transporte A responsabilidade fundamental do UDP e do TCP é ampliar o serviço de entrega IP entre dois sistemas finais para um serviço de entrega entre dois processos que rodam em sistemas finais. (multiplexação/demultiplexação de camada de transporte)
Multiplexação/Demultiplexação Promove uma ampliação do serviço de entrega; A tarefa de entregar os dados contidos em um segmento da camada de transporte à porta correta é denominado Demultiplexação. A tarefa de reunir na origem, porções de dados de diferentes portas, encapsular com informações de cabeçalho para criar segmentos é chamado Multiplexação.
Multiplexação/Demultiplexação
Portas Os sockets são identificados pelos números de porta e endereço IP; Números de porta : 16 bits (0 65535) Números bem conhecidos : (0-1023) reservados para aplicações bem conhecidas
Multiplexação/Demultiplexação A multiplexação requer: 1. As portas tenham identificadores exclusivos. 2. Cada segmento tenha campos especiais que identifiquem a porta no qual o segmento deve ser entregue: Campo de número de porta fonte Campo de número da porta destino
Multiplexação/Demultiplexação A multiplexação requer: 1. As portas tenham identificadores exclusivos. 2. Cada segmento tenha campos especiais que identifiquem a porta no qual o segmento deve ser entregue: Campo de número de porta fonte Campo de número da porta destino
UDP O UDP pega as mensagem do processo de aplicação, anexa os campos de número de porta origem e destino. Adiciona dois campos e passa o segmento para a camada de rede.
UDP O UDP pega as mensagem do processo de aplicação, anexa os campos de número de porta origem e destino. Adiciona dois campos e passa o segmento para a camada de rede que encapsula o segmento dentro de um datagrama IP. E faz uma tentativa de melhor esforço para entregar o segmento ao host receptor.
UDP Características: Melhor controle no nível da aplicação sobre quais dados são enviados e quando Não há estabelecimento de conexão Não há estados de conexão Pouca sobrecarga de cabeçalho de pacote
Estrutura do segmento UDP
Soma de verificação UDP Serve para detectar erros.
Transferência Confiável de Dados O TCP é um protocolo confiável de transferência de dados que é implementado sobre uma camada de rede fim a fim não confiável (IP).
TCP Orientado para conexão: antes que um processo de aplicação possa começar a enviar dados a outro, os dois precisam se apresentar. Como três segmentos são enviados entre dois hospedeiros, esse procedimento é denominado 3-way handshake
TCP
TCP Em um canal com erros Protocolos ARQ (Automatic Repeat request Solicitação automática de repetição) Detecção de erros ou estouro de tempo Retransmissão
TCP
TCP
TCP
TCP
Bibliografia KUROSE, JAMES. Redes de Computadores e a Internet: Uma nova abordagem, Ed. Pearson, 5 ed. TORRES, Gabriel. Redes de Computadores, Ed. Nova Terra. TANENBAUM, Andrew. S. Redes de computadores, Ed. Campus. 4ª Edição.