Baixe o app para aproveitar ainda mais
Prévia do material em texto
* * CAMADA DE TRANSPORTE Prof. Aminadabe Redes de Computadores CAMADA DE TRANSPORTE Protocolos de transporte Fornecem comunicação entre processos de aplicação que rodam em hospedeiros (hosts) diferentes Implementados nos sistemas finais Protocolos de rede Fornecem comunicação entre hospedeiros diferentes CAMADA DE TRANSPORTE Principais protocolos UDP (User Datagram Protocol) TCP (Transmission Control Protocol) CAMADA DE TRANSPORTE PDUs possuem diferentes nomes Segmentos (TCP ) Datagrama (UDP) CAMADA DE REDE CAMADA DE REDE IP (Internet Protocol) Provê comunicação lógica entre hosts É um serviço de entrega de melhor esforço Não garante a entrega de segmentos Serviço não confiável Responsabilidade do TCP e UDP é ampliar o serviço de entrega do protocolo IP CAMADA DE TRANSPORTE Serviços Multiplexação/demultiplexação Transferência de dados (confiável ou não) Controle de fluxo Controle de congestionamento Detecção de erros MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO Multiplexação/demultiplexação Utilizam conceitos de portas (sockets) Multiplexação Reunir porções de dados de diferentes portas, criar segmentos e passar para camada de rede Demultiplexação Receber segmentos da camada de rede e entregar os dados de um segmento à porta correta, ao processo apropriado de aplicação MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO Exemplo de Multiplexação/demultiplexação (fonte: Kurose) MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO � � � � � Texto� � � � � TRANSPORTE TRANSPORTE REDE ENLACE FÍSICA APLICAÇÃO REDE ENLACE FÍSICA APLICAÇÃO MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO Multiplexação/demultiplexação portas (sockets) são identificadores exclusivos número de 16 bits (cada porta) 0 – 65535 portas MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO Formato geral de um segmento TCP e UDP UDP UDP Protocolo de datagrama do usuário (User Datagram protocol) Definido na RFC 768 Serviços Transferência de dados não confiável Multiplexação/demultiplexação Detecção de erros Não orientado a conexão Sem controle de congestionamento Sem controle de fluxo UDP � � � � Texto� UDP Principais características Melhor controle no nível da aplicação sobre quais dados são enviados e quando Não possui controle de congestionamento Não há estabelecimento de conexão Não introduz atraso dessa fase Não há estados de conexão Pode ter um número maior de clientes ativos Pequena sobrecarga de cabeçalho de pacote TCP 20 Bytes UDP 8 Bytes UDP – TRANSFERÊNCIA NÃO CONFIÁVEL Transferência confiável pode ser implementada na camada de aplicação Confiabilidade embutida na própria aplicação Mecanismos de reconhecimento e retransmissão UDP – TRANSFERÊNCIA NÃO CONFIÁVEL Aplicações populares que usam UDP UDP – USER DATAGRAM PROTOCOL Socket é identificado por somente Porta de origem Porta de destino MULTIPLEXAÇÃO/DEMULTIPLEXAÇÃO Multiplexação/demultiplexação no UDP (fonte: Kurose) UDP – DETECÇÃO DE ERROS Usada pois nem sempre a camada de enlace utiliza verificação de erros Realiza detecção através de uma soma de verificação (checksum) de 16 bits UDP – FORMATO DATAGRAMA Formato datagrama UDP (fonte: tanembaum) UDP – FORMATO DATAGRAMA Porta de origem (16 bits) Porta de destino (16 bits) Comprimento (16bits) TCP TCP Protocolo de controle de transmissão (Transmission Control Protocol) Definido nas RFCs (793, 1122, 1323, 2018 e 2581) Serviços Multiplexação/Demultiplexação Detecção de erros Transferência de dados confiável Controle de Fluxo Orientado a conexão Controle de Congestionamento TCP – Multiplexação/Demultiplexação Multiplexação/Demultiplexação no TCP (fonte: Kurose) TCP – DETECÇÃO DE ERROS Análoga ao UDP Uso do checksum TCP – FORMATO DO SEGMENTO Formato do segmento TCP (fonte:Kurose) TCP – FORMATO DO SEGMENTO Porta de origem (16 bits) Porta de destino (16 bits) Número de sequencia (32 bits) Usado na implementação do serviço confiável Cadeia de dados são numerados para transmissão na rede Número de reconhecimento Usado na implementação do serviço confiável Permite o tratamento de segmentos fora de ordem Comprimento do cabeçalho (4 bits) Especifica o comprimento do cabeçalho TCP Flags (6 bits) TCP – FORMATO DO SEGMENTO Flags (6 bits) URG – segmento que contém dados urgentes ACK – indica se o segmento contém um reconhecimento p/ o segmento recebido PSH – destinatário deve passar os dados para camada de aplicação imediatamente RST – usado no estabelecimento da conexão SYN - usado no estabelecimento da conexão FIN - usado no fechamento da conexão TCP – FORMATO DO SEGMENTO Janela de recepção (16 bits) Usado no controle de fluxo Número de bytes que o receptor está pronto para aceitar Soma de verificação (16 bits) Ponteiro para dados urgentes (16 bits) Usado com a flag URG Indica o fim dos dados urgentes Aplicação determina o ínicio Opções Negociação de MSS Dados TCP – ENVIO DE DADOS Apresentação de três vias (3-way handshake) Cliente envia segmento TCP (s/ dados) Servidor responde com outro segmento TCP (s/ dados) Cliente responde novamente, podendo carregar dados (carga útil) Conexão TCP estabelecida, os processos de aplicação enviam dados O TCP faz uso de buffers de envio alocados no estabelecimento da conexão TCP deve enviar dados no buffer segundo a sua conveniência TCP – ENVIO DE DADOS Buffers do TCP TCP – ESTABELECIMENTO DA CONEXÃO Three way handshake 1 – cliente envia TCP SYN ao servidor, especifica número de sequencia inicial 2 – servidor que recebe SYN, responde com o segmento SYNACK, reconhece o SYN recebido, aloca buffers, especifica o número de sequencia inicial do servidor 3 – sistema final cliente reconhece o ACK TCP – FECHAMENTO DA CONEXÃO Cliente fecha socket; clientsocket.close(); 1 – cliente envia TCP FIN ao servidor. 2 – servidor recebe FIN, responde com o segmento ACK, Fecha a conexão, envia FIN. 3 – cliente recebe FIN, responde com ACK. Entra “espera temporizada” – vai responder com ACK a FINS recebidos 4 – servidor, recebe ACK Conexão fechada. TCP – RETRANSMISSÃO A técnica de retransmissão do TCP é o reconhecimento positivo com temporizadores Se o ACK não chegar no transmissor num tempo pré-determinado, o segmento é retransmitido O receptor pode enviar pacotes sem dados, apenas com confirmação, quando não tem nada para transmitir TCP – TRANSFERÊNCIA CONFIÁVEL Retransmissão devido a um ACK perdido (fonte: kurose) TCP – TRANSFERÊNCIA CONFIÁVEL O TCP cria um serviço confiável sobre o IP IP não garante a entrega de datagramas na ordem correta IP não garante a integridade dos dados O serviço confiável do TCP garante dados não corrompidos sem lacunas sem duplicações Dados entregues em sequencia Para uma transferência confiável o TCP usa Reconhecimentos positivos Temporizadores Números de sequência TCP – CONTROLE DE FLUXO/CONGESTIONAMENTO O TCP provê um serviço de controle de fluxo para eliminar a possibilidade de o remetente saturar o buffer do destinatário Baseado em janelas Remetente mantém uma variável chamada janela de recepção (RcvWindow) A janela de recepção serve para dar ao emissor uma idéia sobre como está o buffer do receptor O receptor informa ao emissor o seu espaço livre em buffer preenchendo o campo janela de recepção do cabeçalho de todos os segmentos enviados para o emissor TCP – CONTROLE DE FLUXO/CONGESTIONAMENTO � � � Texto�
Compartilhar