Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tecnologia em Análise e Desenvolvimento de Sistemas Rede de Computadores Cap. 4 CISCO Introdução ao Capítulo Neste capítulo aprenderemos: - Explicar a necessidade da camada de Transporte. - Identificar o papel da camada de Transporte, visto que, ela proporciona a transferência fim-a-fim de dados entre aplicações. - Descrever o papel de dois protocolos TCP/IP da camada de Transporte: TCP e UDP. - Explicar as funções principais da camada de Transporte, incluindo confiabilidade, endereçamento de porta e segmentação. - Explicar como o TCP e o UDP gerenciam funções-chave. - Identificar quando é apropriado usar o TCP ou o UDP e apresentar exemplos de aplicações que usam cada um desses protocolos. Propósito da Camada de Transporte As responsabilidades primárias da camada de transporte são: - Rastrear a comunicação individual entre as aplicações nos hosts de origem e destino. Cada aplicação em um host pode fazer uma com outros hosts remotos, a camada de transporte deve manter estes fluxos multiplos. - Segmentar dados e gerenciar cada segmento A camada de transporte segmenta os dados de aplicação, encapsulando-os e adicionando o cabeçalho de transporte. De forma que seja possível reagrupar os dados posteriormente - Reagrupar os segmentos em fluxos de dados de aplicação Cada segmento que chega em um host destinatário deve ser direcionado para a aplicação correta. O cabeçalho de transporte é uso para reagrupar a mensagem na ordem correta. Propósito da Camada de Transporte - Identificar as diferentes aplicações Para identificar qual software esta recebendo o segmento, na camada de transporte usa um identificador: número da porta. Para cada software que faz acesso a rede é designada uma porta para ele. A camada de transporte movimenta dados entre aplicativos nos dispositivos de rede. Propósito da Camada de Transporte Controle das Conversações Segmentação e Reagrupamento: Devido a limitação da quantidade de dados que pode ser colocado em cada PDU a camada de transporte divide os dados em blocos de tamanho apropriado. Estes blocos são reagrupados no destino. Multiplexação de Conversação: Cada aplicação ou serviço são designados a uma porta desta forma quando os dados são enviados ou são recebidos são destinados as respectivas portas. Outros serviços providos por esta camada são: - Conversações orientadas à conexão - Entrega Confiável - Reconstrução de dados ordenados - Controle de Fluxo Controle das Conversações Controle das Conversações Suporte a Comunicação Confiável A camada de transporte tem a função de gerenciar os dados da camada de aplicação. As três operações básicas de confiabilidade da camada de transporte: - Rastreamento de dados transmitidos - Confirmação de dados recebidos - Retransmissão de quaisquer dados não confirmados É criada uma sobrecarga adicional sobre a rede devido ao uso de recursos como: confirmação, rastreamento e retransmissão Dados Confiáveis: Páginas web, e-mail Não confiáveis: Vídeos e telefones IP TCP e UDP Protocolo UDP (User Datagram Protocol) Simples e sem conexão. Entrega de dados com baixa sobrecarga. Os segmentos são chamados de Datagramas e são enviados como “melhor esforço” Aplicação: Video, DNS, VOIP TCP e UDP Protocolo TCP Causa sobrecarga, as funções são: - entrega ordenada - entrega confiável - controle de fluxo Endereçamento de Porta Endereçamento de Porta A identificação das portas pelos protocolos UDP e TCP é pelo cabeçalho do segmento. Há campos chamados porta de origem e porta de destino. Os processos servidores conversão em portas estáticas, enquanto que os processos clientes escolhem dinamicamente a sua porta de conversação. Número de porta + endereço IP = Identifica o host e o processo que esta enviando ou recebendo o segmento(Soquete). Endereçamento de Porta Os diferentes tipos de portas: Portas conhecidas(Número 0 a 1023): Reservados para serviços e aplicações definidos. Portas Registradas(Números 1024 a 49151): Portas designadas para processos ou aplicações de usuários. Portas Dinâmicas ou Privadas(Número 19152 a 65535): São designadas dinamicamente a aplicações do cliente quando se inicia uma conexão. Normalmente usada por clientes P2P. Endereçamento de Porta Endereçamento de Porta Endereçamento de Porta Endereçamento de Porta Netstat: Lista as conexões TCP ativas: protocolo, endereço local e o número da porta, endereço externo, número da porta e estado da conexão. Segmentação e Reagrupamento Segmentação e Reagrupamento A camada de transporte divide os dados da aplicação, de forma a assegurar que os dados sejam enviados nos limites do meio e que os dados de diferentes aplicações possam ser multiplexadas no meio. No TCP, cada segmento contém um número sequencial usado para reagrupar os segmentos na ordem correta. UDP não há marcação de ordem – não importa a ordem que os segmentos chegam. Resulta em uma transferência mais rápida de dados. TCP – Conversação Confiável A confiabilidade do TCP é realizada com o uso de sessões orientadas a conexão. Antes de enviar algum dado, a camada de transporte inicia um processo para criar a conexão. O destino envia confirmação do recebimento dos segmentos da origem. A medida que a origem recebe os dados pode enviar os próximos segmentos. TCP TCP A confiabilidade da comunicação TCP é realizada com o uso de sessões orientadas à conexão. Antes que um host usando o TCP envie dados para outro host, a camada de Transporte inicia um processo para criar uma conexão com o destino. Esta conexão habilita o rastreamento de uma sessão, ou um fluxo de comunicação entre os hosts. Este processo assegura que cada host está ciente e preparado para a comunicação. Uma conversação TCP completa exige o estabelecimento de uma sessão entre os hosts em ambas as direções. Processos TCP em Servidores Um servidor individual não pode ter dois serviços designados ao mesmo número de porta dentro dos mesmos serviços da camada de Transporte. Estabelecimento de Conexão Processo de apresentação com handshake triplo: 1. Cliente inicia a comunicação enviando um segmento, com o valor inicial da sequencia e o bit SYN ativado. 2. Servidor responde com um ACK com valor de sequencia recebido mais 1, um próprio valor de sequencia(maior do que o recebido) e SYN ativado. 3. O cliente confirma com o valor de sequencia recebido mais 1, completa o estabelecimento da comunicação. TCP Bits do TCP: URG - Indicador urgente de campo significativo ACK - Campo significativo de confirmação PSH - função Push RST - Restabelecer a conexão SYN - Sincronizar números de sequência FIN - Não há mais dados do remetente Quando estão com valor 1 indicam que são informações de controle e devem ser obedecidos. TCP – Fechamento de Conexão TCP – Fechamento de Conexão 1. Quando o cliente não tem mais dados para enviar no fluxo, ele envia um segmento com uma flag FIN definida. 2. O servidor envia uma ACK para confirmar o recebimento do FIN para encerrar a sessão do cliente para o servidor. 3. O servidor envia um FIN para o cliente, para encerrar a sessão do servidor para o cliente. 4. O cliente responde com um ACK para confirmar o FIN do servidor. Reagrupamento de Segmentos TCP Quando os serviços enviam dados usando o TCP, os segmentos podem chegar no seu destino fora de ordem. Para a mensagem original ser entendida pelo receptor, os dados desses segmentos são reagrupadosna sua ordem original. Os números de sequência são designados no cabeçalho de cada pacote para alcançar essa meta. Reagrupamento de Segmentos TCP Confirmando TCP com janelamento Um host vai enviar um segmento de 10 bytes para outro host. - O primeiro host envia o segmento com o número de sequencia 1; - receptor recebe o número de sequencia 1 e verificou que tem 10 bytes, envia uma confirmação ao primeiro host definindo o número da sequencia 11. Indicando que espera receber o byte número 11; - O remetente recebe a confirmação e envia o próximo segmento iniciando no byte 11. Tamanho da janela: É a quantidade de dados que a origem pode transmitir antes de uma confirmação. Confirmando TCP com janelamento Retransmissão TCP Independente da rede, sempre haverá perda de dados. TCP fornece métodos para gerenciar as perdas de segmentos. O host de destino reconhece os dados e os confirma, apenas se estes dados completarem o fluxo de dados continuo esperado. Exemplo: Segmentos com o número de sequencia 1500 a 3000 e 3400 a 3500 são enviados. O host de destino apenas confirma com 3001, Só foram confirmados os segmentos de 1500 a 3000, os outros segmentos não faziam parte dos dados contínuos esperados. Retransmissão TCP Se o host de origem não receber a confirmação, ele aguardará um período pré-determinado de tempo. Fará a retransmissão começando com um mais o último número de sequencia confirmado. Animação 4.3.3.1 Confirmação Seletiva → Aceita confirmações não contínuas. Controle de Congestionamento TCP Controle de fluxo: O TCP faz um ajuste na taxa de transmissão, este ajuste é adaptado com a quantidade de dados que o destino pode receber. No TCP há o campo tamanho da janela que especifica a quantidade de dados que podem ser transmitidos antes que precise de uma confirmação. O TCP ajusta a taxa efetiva máxima de forma a ocorrer o mínimo possível de retransmissões. Controle de Congestionamento TCP Controle de Congestionamento TCP O TCP também pode usar janelas de tamanho dinâmico, quando há uma rede de tamanho restrito. Se o destino quiser diminuir a velocidade de transmissão de dados, pode enviar um valor de tamanho de janela menor. Havendo alguma perda de pacote o remetente tenderá a diminuir a sua janela, de forma a se adaptar ao receptor. Entretanto quando houver estabilidade o remetente tenderá a aumentar sua velocidade de transmissão até ocorrer uma nova perda. Controle de Congestionamento TCP UDP – Baixo Overhead vs Confiabilidade Possui um overhead mais baixo que o TCP – não tem os controles do TCP. Protocolos de aplicação que usam a camada de transporte: - Domain Name System (DNS) - Simple Network Management Protocol (SNMP) - Protocolo de Configuração Dinâmica de Host (DHCP) - Routing Information Protocol (RIP) - Trivial File Transfer Protocol (TFTP) - Jogos On-line Há algumas aplicações que podem tolerar perda de dados, se estas aplicações usassem TCP teriam que suportar grandes atrasos, devido a verificação de erros e controles do TCP. Reagrupamento de Datagramas UDP Não há conexão, podemos dizer que o UDP é baseado em transação, Se há dados para enviar simplesmente são enviados. PDU da UDP é um datagrama. Porém também podemos usar segmento UDP não rastreia número de sequencia, logo não reordena os datagramas. Reagrupa os dados na ordem recebida. Se a sequencia dos dados é importante para a aplicação, ela terá que fazer esta ordenação. Reagrupamento de Datagramas UDP Solicitações UDP e Processos de Servidores Da mesma forma que o TCP, aplicações designam número de portas conhecidas ou registradas. Processos de Cliente UDP Resumo
Compartilhar