-Serviço e Protocolo de Transporte Preveem comunicação lógica entre processos, enquanto a camada de rede prevê para hospedeiros. Protocolos de transporte rodam nos sistemas finais. .Lado emissor quebra a mensagem da aplicação em SEGMENTOS, que são passados para a camada de rede. .Remonta segmentos em mensagens e passa para aplicação. *mais de um protocolo disponível na internet: TCP e UDP Esse protocolos podem oferecer confiabilidade e ordenação (via TCP), ou entrega não garantida e possibilidade de ser fora de ordem (UDP). -Multiplexação e Demultiplexação Demultiplexação no Host Receptor: Entrega dos segmetnos recebidos aos sockets corretos. Multiplexação no Host emissor: Coletar dados de vários sockets,adiciona cabeçalho e os envia. como Funciona Isso na camada de rede, cada datagrama possui IP fonte e destino. Cada datagrama carrega um segmento da camada de transporte. Cada segmento possui o numero da porta fonte e destino, mais os outros itens do cabeçalho. *Host usa endereços IP e número de Portas para enviar o segmento ao socket adequado. | Porta Fonte | Porta Destino | | Outros Campos | | Dados... | <-----------------------------> 32 bits Demulti com UDP Cria sockets com endereçosr respectivos. ? ex: new DataGramaSocket(99111); new DataGramaSocket(99222); socket UDP identificado pelo IP destino e número de porta destino. Quando um host recebe um udp: .Verifica o numero de porta destino do segmento .direciona o segmento UDP para o socket com o número de porta especificado. Datagramas IP com endereço IP fonte diferente e/ou número de portas diferentes são direcionados ao mesmo socket. Demulti com TCP Identificado pela tupla quádrupla: Ip fonte Porta Fonte Ip Destino Porta Destino Host usa todos esses valores para enviar ao socket correto. Host servidor pode suportar vários sockets TCP simultaneamente. .lembrando que cada socket é indicado pela sua tupla quádrupla Servidore Web possuem sockets diferentes para cada cliente conectado. IMP: HTTP não persistente terá diferentes sockets para cada requisição. Transporte Não Orientado a Conexão - UDP .Protocolo de transporte da internet sem "ornamentos", apenas incluso o básico .Serviço do melhor esforço, isso porque: .segmentos udp podem ser perdidos .podem ser entregues fora de ordem .Não orientado a conexão .sem hanshake entre emissor e receptor .cada segmento udp é tratado independente dos outros *Existência do UDP .Sem estabelecimento de conexão .simples, sem estado de conexão nem no servidor nem no receptor .cabeçalho pequeno .nenhum controle de congestionamento .Frequentemente usado para aplicações multimídia (em tempo real) tolerante a perdas sensível a taxa de perdas .Outros usos do UDP DNS(Servidor de nomes) .Segmento UDP | Porta Fonte | Porta Destino | | tamanho | CheckSum | | Dados... | | | <-----------------------------> 32 bits Checksum UDP objetivo: Detectar "erros", bits trocados no segmento. Emissor: .Trata o conteúdo de segmentos como uma sequência de inteiros de 16 bits. .Efetua o cálculo, que é a soma desses valores e seu complemento a 1. .Emissor coloca esse valor no campo checksum do UDP Receptor .Computa o checksum do segmento recebido .Verifica se o checksum computado bate com o recebido (Ver como em detalhes!) Princípios da Transferência Confiável de Dados