Redes de Computadores Jéfer Benedett Dörr prof.jefer@gmail.com
Conteúdo Camada 4 Camada de Transporte
Objetivo Conhecer o funcionamento da camada de transporte; Apresentar os protocolos UDP e TCP; Aprender as características do protocolo UDP e em que situações ele é recomendado;
Introdução A camada de transporte é fundamental para permitir a comunicação entre os processos finais; Dispõe de protocolos UDP (User Datagram Protocol); TCP (Transmission Control Protocol);
Comunicação entre processos finais A camada de enlace é responsável por entregar frames entre nós vizinhos conectados em um link; Comunicação nó a nó(node-to-node); A camada de rede é resposável por entregar pacotes entre hosts; Comunicação entre hosts (host-to-host);
Comunicação entre processos finais Na internet a comunicação real acontece entre dois processos finais(programas aplicativos); Comunicação entre processos finais (process-toprocess); A camada de transporte cuida da entrega das mensagens desses processos;
Paradigma Existem diversas formas de comunicação entre processos finais, o mais comum é o clienteservidor; O processo em que um host local(cliente) precisa de serviços de outro processo localizado em um host remoto(servidor);
Endereçamento Sempre que necessário entregar dados a um destino específico, precisa-se utilizar algum esquema de endereçamento; Camada de enlace Endereço MAC Camada de rede Endereço IP
Endereçamento Na camada de transporte também há um esquema de endereçamento; Número de porta; Descrimina entre os muitos processos que possivelmente estão sendo executados no host; Na internet, os números de porta são números inteiros de 16 bits(em decimal 0 65535)
Endereçamento no cliente No cliente o aplicativo escolhe o número de porta aleatório para representar o software na camada de aplicação; Ele é temporário; O ideal é que não seja um número das portas conhecidas;
Endereçamento no servidor O processo servidor também é definido por um número de porta; Não é escolhido aleatoriamente e são permanentes; Para as aplicações da internet foram definidas, via RFC, números de portas para as aplicações servidoras, ou seja, cada aplicação já possui seu número previamente definido;
Endereçamento no servidor Porta Representação interna do sistema operacional de um ponto de comunicação para envio e recepção de dados;
Endereçamento no servidor Faixas IANA(Internet Assigned Number Authority)
UDP (User Datagram Protocol) Objetivos: Aprender as características do protocolo UDP e em que situações ele é recomendado; Entender a função dos campos que compõe o cabeçalho do protocolo UDP;
UDP (User Datagram Protocol) O UDP (User Datagram Pratocol) é um protocolo da camada de transporte muito simples; Provê o serviço de entrega de datagramas não confiável e sem conexão;
UDP - Funcionamento O protocolo UDP utiliza o protocolo IP para transportar datagramas UDP entre as aplicações origem e destino; Cada mensagem gerada por um processo de aplicação origem é encapsulada em um datagrama UDP, que, por sua vez, é encapsulado em um datagrama IP;
UDP - Funcionamento Em seguida, o protocolo IP encaminha o datagrama IP da estação origem até a estação destino(roteamento); Na estação destino, baseado no campo protocol do cabeçalho IP, o protocolo IP entrega o datagrama UDP ao protocolo UDP, por fim, o protocolo UDP entrega a mensagem ao respectivo processo;
Serviço de Datagramas É bastante simples, sendo caracterizado como um serviço não confiável e sem conexão; Não confiável Não garante que os datagramas enviados pela aplicação origem sejam entregues com sucesso; Não garante a entrega na sequência;
Sem conexão Serviço de Datagramas É assim denominado pois antes do envio dos datagramas, não existe qualquer comunicação prévia entre as aplicações; Cada datagrama é tratado de forma individual e independente, o caminho é fruto do processo de roteamento;
Datagrama UDP Especificação, de forma precisa, do formato da unidade de dados do serviço de datagramas da camada de transporte;
Formato Datagrama UDP Dividido em duas partes: Cabeçalho Contém informações de controle específicas do protocolo UDP; Dados Encapsula informações de protocolos da camada de aplicação;
Formato Datagrama UDP
Formato Datagrama UDP Source Port Identificar a porta associada ao processo de aplicação de origem; Destination Port Usado para identificar a porta associada ao processo de aplicação de destino;
Formato Datagrama UDP Campo lenght Indica o tamanho do datagrama UDP em bytes, incluindo o cabeçalho e os dados; Campo checksum Assegura a integridade dos datagramas UDP; Utilizado na detecção de erros; Seu funcionamento é opcional;
Conclusão UDP O protocolo UDP é interessante para aplicações que não necessitam de controle e possuem um grande fluxo de dados, descartando assim as possibilidade de ordem de chegada e retransmissão;
TCP TCP (Transmission Control Protocol)
TCP - Objetivos Conhecer o funcionamento do protocolo TCP; Aprender as principais características do protocolo e em que situações ele é recomendado;
TCP Fundamentos Define a unidade de dados do serviço de circuito virtual, denominada seguimento TCP Especifica o formato e a função dos campos Multiplexa mensagens geradas pelos processos no serviço da camada de rede Encapsula segmentos em datagramas IP Demultiplexa segmentos para os respectivos processos destino Extrai mensagens dos segmentos
TCP Fundamentos Adota uma abordagem baseada em fluxo de dados (data stream) Trata o fluxo de dados como uma cadeia contínua de bytes Decide como agrupar bytes em segmentos Adota uma abordagem orientada à conexão full-duplex Estabelecimento da conexão Transferência de dados Fechamento da conexão
TCP Fundamentos Define mecanismos integrados de controle de erro e seqüência Asseguram a entrega do fluxo de dados na seqüência correta e sem erros Define mecanismo de controle de fluxo Regula e compatibiliza a taxa de transmissão das unidades envolvidas Evita descarte de segmentos por falta de recursos da estação destino
TCP TCP (Transmission Control Protocol)
TCP Campos do segmento Hlen Tamanho do cabeçalho em unidades de 4 bytes; Reserved Reservado para uso futuro (Não utilizado); Checksum Assegura a integridade do segmento;
TCP Campos do segmento Code bits Indica propósito e conteúdo do segmento URG: Dados urgentes ACK: reconhecimento PSH: mecanismo de push(encaminhar segmento) RST: abordo de conexão (reset) SYN: Abertura de conexão FIN: fechamento de conexão
TCP Campos do segmento Options Lista variável de informações opcionais MSS Maximum Segment Size; Opção sinalizada pelo segmento SYN; Torna o tamanho do cabeçalho variável Padding Bits 0 que tornam o segmento múltiplo de 32 bits Data Dados do segmento
TCP Portas Source port Porta associada ao processo de origem Destination port Porta associada ao processo de destino Endpoint(Socket) Definido pelo par (Endereço IP, porta) Identifica de forma única cada porta ou ponto de comunicação na inter-rede. Também conhecido como Socket
TCP TCP (Transmission Control Protocol)
Referências Comer, Douglas E., Interligação de Redes Com Tcp/ip James F. Kurose, Redes de Computadores e a Internet