Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 17/01/2010 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais. O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente. Bibliografia básica: KUROSE, James F.; ROSS, Keith. Redes de Computadores e a INTERNET - Uma nova abordagem. Pearson. : , 2004. 3 Camada de Transporte Fornece comunicação lógica entre processos de aplicação em diferentes hospedeiros. Os protocolos de transporte são executados nos sistemas finais: Lado emissor: quebra a mensagem da aplicação em segmentos que serão transformados em pacotes a enviar para a camada de rede. Lado receptor: remonta os segmentos reconstituindo a mensagem original e passa para a camada de aplicação. Protocolos de transporte disponível para as aplicações Internet: TCP UDP aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física Protocolos da Camada de Transporte da Internet 4 TCP: Orientado à conexão. Confiável: garante ordem de entrega dos pacotes. Pacotes de dados trocados pertencem a uma mesma sessão. Controle de congestionamento. Controle de fluxo. Orientado à conexão. Sem garantia a atrasos. Sem garantia de banda. UDP: Não orientado à conexão (datagrama). Não confiável, sem ordem de entrega. Mesmo comportamento do “melhor esforço” do IP (“Best Effort”). Sem garantia a atrasos. Sem garantia de banda. aplicação transpor te rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transpor te rede enlace física 5 Multiplexação & Demultiplexação Multiplexação no hospedeiro emissor: Coleta dados de múltiplos sockets, envelopa os dados com cabeçalho (usado depois para demultiplexação no destino). Host Host Demultiplexação no hospedeiro receptor: Recebe os pacotes, extrai os segmentos e entrega ao socket correto. Host 6 Como funciona a demultiplexação Computador recebe datagramas IP: Cada datagrama possui endereço IP de origem e IP de destino. Cada datagrama carrega 1 segmento da camada de transporte. Cada segmento possui números de porta de origem e destino. O host usa o endereço IP e o número de porta para direcionar o segmento ao socket destino apropriado. 32 bits Porta da fonte Porta do destino outros campos do cabeçalho dados da aplicação (mensagem) Exemplo: TCP 7 Demultiplexação não orientada à conexão Socket UDP é identificado por 2 valores: Endereço IP de destino. Número da porta de destino. Quando o host recebe o segmento UDP: Verifica o número da porta de destino no segmento. Direciona o segmento UDP para o socket com este número de porta no host destino. Datagramas com IP de origem diferentes e/ou portas de origem diferentes, desde que tenham a mesma porta de destino, são direcionados para o mesmo socket. 8 Demultiplexação não orientada à conexão DatagramSocket serverSocket = new DatagramSocket (6428). SP = Source port (porta origem). DP = Destination port (porta destino). SP fornece o “endereço de retorno” 0. 9157 P2 6428 5775 P3 P1 P1 SP: 6428 DP: 9157 Cliente IP: A SP: 9157 DP: 6428 SP: 6428 DP: 5775 Servidor IP: C SP: 5775 DP: 6428 Cliente IP:B 9 Demultiplexação orientada à conexão Socket TCP é identificado por 4 valores: Endereço IP de origem. Endereço da porta de origem. Endereço IP de destino. Endereço da porta de destino. Hospedeiro receptor usa os quatro valores para direcionar o segmento ao socket apropriado. Hospedeiro servidor pode suportar vários sockets TCP simultâneos. Cada socket é identificado pelos seus próprios 4 valores. 10 Demultiplexação orientada à conexão 9157 80 80 80 5775 P1 P4 P5 P6 P2 9157 P1P3 SP: 5775 DP: 80 S-IP: B D-IP:C Cliente IP: A SP: 9157 DP: 80 S-IP: A D-IP:C Servidor IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Obs: • A numeração das portas é de controle do host local. • Podem existir portas de mesmo número em hosts diferentes. Cliente IP:B 11 Demultiplexação orientada à conexão servidor web “threaded” O processo P4 (multithread) trata múltiplos sockets. Eles se diferenciam pela Porta + IP de origem. 9157 80 5775 P1 P4 P2 9157 P1P3 SP: 5775 DP: 80 S-IP: B D-IP:C Cliente IP: A SP: 9157 DP: 80 S-IP: A D-IP:C Servidor IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Cliente IP:B