Ccna exploration fundamentos de rede - 4 camada de transporte osi

  • 2,793 views
Uploaded on

Conteúdo para estudo!! …

Conteúdo para estudo!!

Boa sorte!

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,793
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
108
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CISCO Accessible Theme Página 1 de 21 Mudar idioma para English | Busca | Glossário Índice do Curso: 4 Camada de Transporte OSI Selecione CCNA Exploration - Fundamentos de Rede 4 Camada de Transporte OSI 4.0 Introdução ao Capítulo 4.0.1 Introdução ao Capítulo Página 1: As redes de dados e a Internet suportam a rede humana através do fornecimento de comunicação contínua e confiável entre pessoas localmente e ao redor do mundo. Através de um simples dispositivo, as pessoas podem usar múltiplos serviços como e-mail, web e mensagens instantâneas para enviar mensagens ou recuperar informação. Aplicações como clientes de e- mail, navegadores e clientes de envio de mensagem instantânea permitem às pessoas usarem os computadores e redes para enviar mensagens e encontrar informação. Dados de cada uma dessas aplicações são empacotadas, transportadas e entregues ao servidor daemon apropriado ou aplicação no dispositivo de destino. Os processos descritos na camada de Transporte do modelo OSI aceitam dados da Camada de Aplicação e os preparam para endereçamento na camada de Rede. A camada de Transporte é responsável pela transferência fim-a-fim geral de dados de aplicação. Neste capítulo, nós examinaremos o papel da camada de Transporte no encapsulamento de dados de aplicação para uso pela camada de Rede. A camada de Transporte também abrange estas funções: z Habilita a comunicação de múltiplas aplicações na rede ao mesmo tempo em um único dispositivo z Assegura que, se necessário, todos os dados sejam recebidos confiavelmente e em ordem pela aplicação correta. z Emprega mecanismos de tratamento de erros Objetivos Após o término deste capítulo, você será capaz de: z Explicar a necessidade da camada de Transporte. z Identificar o papel da camada de Transporte, visto que, ela proporciona a transferência fim- a-fim de dados entre aplicações. z Descrever o papel de dois protocolos TCP/IP da camada de Transporte: TCP e UDP. z Explicar as funções principais da camada de Transporte, incluindo confiabilidade, endereçamento de porta e segmentação. z Explicar como o TCP e o UDP gerenciam funções-chave. z Identificar quando é apropriado usar o TCP ou o UDP e apresentar exemplos de aplicações que usam cada um desses protocolos. Mostrar mídia visual 4.1 Funções da Camada de Transporte 4.1.1 Propósito da Camada de Transporte Página 1: A camada de Transporte proporciona a segmentação de dados e o controle necessário parahttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 2. CISCO Accessible Theme Página 2 de 21 reagrupar esses segmentos em fluxos de comunicação. Suas responsabilidades primárias para realizar isto são: z Rastrear a comunicação individual entre as aplicações nos hosts de origem e destino. z Segmentar dados e gerenciar cada segmento z Reagrupar os segmentos em fluxos de dados de aplicação z Identificar as diferentes aplicações Rastreamento de Conversações Individuais Qualquer host pode ter múltiplas aplicações que se comunicam através da rede. Cada uma destas aplicações irá se comunicar com uma ou mais aplicações em hosts remotos. É responsabilidade da camada de Transporte manter fluxos múltiplos de comunicação entre estas aplicações. Segmentação de Dados Como cada aplicação cria um fluxo de dados para ser enviado a uma aplicação remota, estes dados devem ser preparados para serem enviados através do meio em segmentos gerenciáveis. Os protocolos de camada de Transporte descrevem serviços que segmentam estes dados a partir da camada de Aplicação. Isto inclui o encapsulamento necessário em cada lado do segmento. Cada segmento de dados de aplicação requer a adição de cabeçalhos da camada de Transporte para indicar a qual comunicação ele está associado. Reagrupamento de Segmentos No host de destino, cada segmento de dados pode ser direcionado para a aplicação apropriada. Em adição a isso, estes segmentos de dados individuais também precisam ser reconstruídos em um fluxo completo de dados que seja útil para a camada de Aplicação. Os protocolos da camada de Transporte descrevem como a informação do cabeçalho da camada de Transporte é usada para reagrupar os segmentos de dados em fluxos a serem passados para a camada de Aplicação. Identificação das Aplicações Para passar os fluxos de dados para as aplicações apropriadas, a camada de Transporte deve identificar a aplicação de destino. Para realizar isso, a camada de Transporte designa à aplicação um identificador. Os protocolos TCP/IP chamam esse identificador de número de porta. A cada processo de software que precise acessar a rede é designado um número de porta único naquele host. Este número de porta é usado no cabeçalho da camada de transporte para indicar a qual aplicação aquele segmento de dado está associado. A camada de Transporte é o link entre a camada de Aplicação e a camada inferior, que são responsáveis pela transmissão na rede. Esta camada aceita dados de diferentes conversações e os passa para as camadas inferiores como segmentos gerenciáveis que podem ser finalmente multiplexados no meio. As aplicações não precisam saber dos detalhes operacionais da rede em uso. As aplicações geram dados que são enviados de uma aplicação a outra, sem considerar o tipo de host de destino, o tipo de meio sobre o qual o dado deve trafegar, o caminho tomado pelo dado, o congestionamento em um link, ou o tamanho da rede. Adicionalmente, as camadas inferiores não estão a par de que existem múltiplas aplicações enviando dados na rede. Sua responsabilidade é entregar os dados ao dispositivo apropriado. A camada de transporte então organiza esses segmentos antes de entregá-los à aplicação apropriada. As Necessidades de Dados Variamhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 3. CISCO Accessible Theme Página 3 de 21 Devido ao fato de diferentes aplicações terem diferentes necessidades, existem múltiplos protocolos da camada de Transporte. Para algumas aplicações, os segmentos devem chegar em uma sequência específica para serem processados com sucesso. Em alguns casos, todos os dados precisam ser recebidos por qualquer um deles para poder ser usado. Em outros casos, uma aplicação pode tolerar alguma perda de dados durante a transmissão através da rede. Nas redes convergidas atuais, as aplicações com diferentes necessidades de transporte podem se comunicar na mesma rede. Os diferentes protocolos da camada de Transporte têm diferentes regras que permitem aos dispositivos lidar com essas necessidades diversas de dados. Alguns protocolos fornecem apenas as funções básicas para entregar eficientemente os segmentos de dados entre as aplicações apropriadas. Estes tipos de protocolos são úteis para aplicações cujos dados são sensíveis a atrasos. Outros protocolos da camada de Transporte descrevem processos que fornecem características adicionais, tais como assegurar a entrega confiável entre as aplicações. Embora estas funções adicionais proporcionem uma comunicação mais robusta na camada de Transporte entre as aplicações, elas geram uma sobrecarga adicional e fornecem maiores demandas sobre a rede. Mostrar mídia visual Página 2: Separação de Múltiplas Comunicações Considere um computador conectado a uma rede que está simultaneamente recebendo e enviando e-mails e mensagens instantâneas, exibindo websites e conduzindo uma chamada VoIP. Cada uma destas aplicações está enviando e recebendo dados através da rede ao mesmo tempo. No entanto, os dados da chamada telefônica não são direcionados ao navegador web, e o texto de uma mensagem instantânea não aparece em um e-mail. Além disso, os usuários necessitam que um e-mail ou página web sejam completamente recebidos e apresentados para que a informação seja considerada útil. Atrasos leves são considerados aceitáveis para assegurar que a informação completa seja recebida e apresentada. Em contraste, pequenas perdas ocasionada de partes de uma conversa telefônica pode ser considerada aceitável. Uma pessoa pode inferir a perda de áudio a partir do contexto da conversa ou pedir a outra pessoa para repetir o que foi dito. Isto é considerado preferível a atrasos que resultariam de pedido à rede para gerenciar e reenviar os segmentos perdidos. Neste exemplo, o usuário - não a rede - gerencia o reenvio ou substituição da informação perdida. Mostrar mídia visual Página 3: Conforme foi explicado no capítulo anterior, o envio de alguns tipos de dados - um vídeo por exemplo - através da rede com um fluxo de comunicação completa pode impedir que outras comunicações ocorram ao mesmo tempo. Isso também dificulta a recuperação de erro e retransmissão de dados danificados. A divisão de dados em partes pequenas, e o envio dessas partes a partir da origem, habilita muitas comunicações diferentes que podem estar intercaladas (multiplexadas) na mesma rede. A segmentação de dados, de acordo com os protocolos de camada de Transporte, fornece os meios para enviar e receber dados quando se executam múltiplas aplicações concorrentemente em um computador. Sem segmentação, apenas uma aplicação, o vídeo em streaming, por exemplo, seria capaz de receber dados. Você não poderia receber e-mails, conversar em um programa de mensagens instantâneas, ou exibir páginas web enquanto estivesse exibindo o vídeo.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 4. CISCO Accessible Theme Página 4 de 21 Na camada de Transporte, cada conjunto particular de segmentos que flui entre uma aplicação de origem e uma aplicação de destino é conhecido com uma conversação. Para identificar cada segmento de dados, a camada de Transporte adiciona ao segmento um cabeçalho contendo dados binários. Este cabeçalho contém campos de bits. São os valores nesses campos que habilitam que diferentes protocolos de camada de Transporte realizem diferentes funções. Mostrar mídia visual 4.1.2 Controle das Conversações Página 1: As funções principais especificadas por todos os protocolos da camada de Transporte incluem: Segmentação e Reagrupamento - A maioria das redes tem uma limitação da quantidade de dados que podem ser incluídos em uma única PDU. A camada de Transporte divide os dados da aplicação em blocos de dados que estão em um tamanho apropriado. No destino, a camada de Transporte reagrupa os dados antes de enviá-los à aplicação ou serviço de destino. Multiplexação de Conversação - Podem haver muitas aplicações ou serviços sendo executados em cada host na rede. Cada uma destas aplicações ou serviços é designado a um endereço conhecido como uma porta para que a camada de Transporte possa determinar com qual aplicação ou serviço o dado é identificado. Além de usar a informação contida nos cabeçalhos, para as funções básicas de segmentação e reagrupamento de dados, alguns protocolos da camada de Transporte fornecem: z Conversações orientadas à conexão z Entrega Confiável z Reconstrução de dados ordenados z Controle de Fluxo Mostrar mídia visual Página 2: Estabelecimento de uma Sessão A camada de Transporte pode fornecer essa orientação de conexão através da criação de sessões entre as aplicações. Estas conexões preparam as aplicações para se comunicarem entre si antes que qualquer dado seja transmitido. Dentro destas sessões, os dados para uma comunicação entre as duas aplicações podem ser gerenciados de perto. Entrega Confiável Por muitas razões, é possível que um segmento de dados se torne corrompido, ou completamente perdido, quando ele é transmitido através da rede. A camada de Transporte pode assegurar que todorastreiem todas os segmentos atinjam seu destino tendo o dispositivo de origem para retransmitir qualquer dado que seja perdido. Entrega na Mesma Ordem Devido ao fato de que as redes podem fornecer múltiplas rotas que podem ter diferentes tempos de transmissão, os dados podem chegar na ordem errada. Através da numeração e sequenciamento dos segmentos, a camada de Transporte pode assegurar que esses segmentoshttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 5. CISCO Accessible Theme Página 5 de 21 sejam reagrupados na ordem apropriada. Controle de Fluxo Os hosts de rede têm recursos limitados, como memória e largura de banda. Quando a camada de Transporte está ciente de que esses recursos estão sobrecarregados, alguns protocolos podem solicitar que a aplicação de envio reduza a taxa de fluxo de dados. Isto é feito na camada de Transporte regulando a quantidade de dados que a origem transmite como um grupo. O controle de fluxo pode prevenir a perda de segmentos na rede e evitar a necessidade de retransmissão. À medida que os protocolos forem discutidos neste capítulo, estes serviços serão explicados mais detalhadamente. Mostrar mídia visual 4.1.3 Suporte de Comunicação Confiável Página 1: Relembre que a função principal da camada de Transporte é gerenciar os dados da aplicação para as conversações entre os hosts. No entanto, diferentes aplicações têm diferentes necessidades para seus dados e, por isso, diferentes protocolos de Transporte têm sido desenvolvidos para satisfazer estas necessidades. O protocolo da camada de Transporte pode implementar um método para assegurar a entrega confiável dos dados. Em termos de rede, confiabilidade significa assegurar que cada segmento de dado enviado pela origem chegue ao seu destino. Na camada de Transporte, as três operações básicas de confiabilidade são: z rastreamento de dados transmitidos z confirmação de dados recebidos z retransmissão de quaisquer dados não confirmados Isto requer que os processos da camada de Transporte da origem rastreiem todos os segmentos de dados de cada conversação e retransmitam quaisquer dados que realmente não foram confirmados pelo destino. A camada de Transporte do host receptor também deve rastrear o dado à medida que ele é recebido e confirmar o recebimento do dado. Estes processos de confiabilidade colocam uma sobrecarga adicional sobre os recursos de rede devido à confirmação, rastreamento e retransmissão. Para suportar estas operações de confiabilidade, mais dados de controle são trocados entre os hosts de envio e recepção. Esta informação de controle está contida no cabeçalho da Camada 4. Isto cria um dilema entre o valor de confiabilidade e a carga que ela coloca sobre a rede. Os desenvolvedores de aplicações devem escolher que tipo de protocolo de transporte é apropriado com base nas necessidades de suas aplicações. Na camada de Transporte, existem protocolos que especificam métodos que sejam para entrega confiável, entrega garantida ou entrega de melhor esforço. No contexto de rede, a entrega de melhor esforço é referida como não confiável, porque não há confirmação de que o dado foi recebido no seu destino. Determinação da Necessidade de Confiabilidade As aplicações, tais como as bases de dados, páginas web e e-mail, necessitam de que todos os dados enviados cheguem ao destino em seu estado original, em ordem, para que os dados sejam úteis. Quaisquer perdas de dados podem causar uma comunicação corrompida que é incompleta ou ilegível. Portanto, estas aplicações são projetadas para usar um protocolo da camada de Transporte que implemente confiabilidade. A sobrecarga adicional de rede é considerada como uma necessidade para essas aplicações.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 6. CISCO Accessible Theme Página 6 de 21 Outras aplicações são mais tolerantes com a perda de pequenas quantidades de dados. Por exemplo, se um ou dois segmentos de um fluxo de vídeo falharem ao chegar, isso cria apenas uma interrupção momentânea no fluxo. Isto pode parecer como uma distorção na imagem, mas pode até mesmo não ser notado pelo usuário. A imposição de sobrecarga para assegurar a confiabilidade para essa aplicação pode reduzir a utilidade da mesma. A imagem do vídeo em streaming seria muito degradada se o dispositivo de destino tivesse de se responsabilizar pelos dados perdidos e pelo retardo no fluxo quando da espera por sua chegada. É melhor projetar uma boa imagem possível no tempo com os segmentos que chegam e abrir mão da confiabilidade. Se a confiabilidade é necessária por alguma razão, estas aplicações podem apresentar solicitações de verificação de erro e retransmissão. Mostrar mídia visual 4.1.4 TCP e UDP Página 1: Os dois protocolos da camada de Transporte mais comuns da pilha de protocolos TCP/IP são o Protocolo TCP e o Protocolo UDP. Ambos os protocolos gerenciam a comunicação de múltiplas aplicações. As diferenças entre os dois são as funções específicas que cada protocolo implementa. Protocolo UDP (User Datagram Protocol) O UDP é um protocolo simples e sem conexão, descrito na RFC 768. Ele tem a vantagem de fornecer uma entrega de dados de baixa sobrecarga. As segmentos de comunicação em UDP são chamados datagramas. Estes datagramas são enviados como o "melhor esforço" por este protocolo da camada de Transporte. As aplicações que usam UDP incluem: (DNS) Vídeo em Streaming Voz Sobre IP (VOIP) Protocolo TCP O TCP é um protocolo orientado à conexão, descrito na RFC 793. O TCP causa sobrecarga adicional para adicionar funções. As funções adicionais especificadas pelo TCP são as ditas entrega ordenada, entrega confiável e controle de fluxo. Cada segmento TCP tem 20 bytes de overhead no cabeçalho que encapsula o dado da camada de Aplicação, enquanto que o segmento UDP tem apenas 8 bytes. Veja a figura para uma comparação. As aplicações que usam TCP são: Navegadores web E-mail FTP Mostrar mídia visualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 7. CISCO Accessible Theme Página 7 de 21 4.1.5 Endereçamento de Porta Página 1: Identificação de Conversações Considere o exemplo anterior de um computador que simultaneamente recebe e envia e-mail, mensagens instantâneas, páginas web e chamada VOIP. Os serviços baseados em TCP e UDP rastreiam as várias aplicações que estão se comunicando. Para diferenciar os segmentos e datagramas para cada aplicação, o TCP e o UDP têm campos de cabeçalho que podem identificar unicamente essas aplicações. Estes identificadores únicos são os números de porta. No cabeçalho de cada segmento ou datagrama, há uma porta de origem e destino. O número da porta de origem é o número para essa comunicação associado à aplicação originada no host local. O número da porta de origem é o número para essa comunicação associada à aplicação originada no host local. Os números de porta são designados de várias maneiras, dependendo se a mensagem é uma solicitação ou uma resposta. Embora os processos do servidor tenham números de porta estáticos designados a eles, os clientes escolhem dinamicamente um número de porta para cada conversação. Quando uma aplicação cliente envia uma solicitação à aplicação servidor, a porta de destino contida no cabeçalho é o número da porta que é designado ao serviço daemon executado no host remoto. O software cliente deve conhecer qual número de porta está associado ao processo servidor no host remoto. Este número de porta de destino é configurado, seja através do padrão ou manualmente. Por exemplo, quando uma aplicação de navegador web faz uma solicitação a um servidor web, o navegador usa o TCP é número de porta 80, a menos que um outro seja especificado. Isso acontece porque a porta 80 TCP é a porta padrão designada a aplicações web. Muitas aplicações comuns têm designações de porta padrão. A porta de origem em um cabeçalho de segmento ou datagrama de uma solicitação de cliente é gerada aleatoriamente. Contanto que ela não entre em conflito com outras portas em uso no sistema, o cliente pode escolher qualquer número de porta. Este número de porta age com um endereço de retorno para a aplicação que faz a solicitação. A camada de Transporte rastreia esta porta e a aplicação que iniciou a solicitação, de modo que quando uma resposta é retornada, ela pode ser encaminhada para a aplicação correta. O número de porta da aplicação solicitante é usado com o número de porta de destino na resposta que volta do servidor. A combinação do número de porta da camada de Transporte e do endereço IP da camada de Rede designada ao host identifica exclusivamente um processo particular sendo executado em um dispositivo de host específico. Esta combinação é chamada de soquete. Ocasionalmente, você pode encontrar os termos número de porta e soquete sendo usados alternadamente. No contexto deste curso, o termo soquete se refere apenas à combinação única de endereço IP e número de porta. Um par de soquete, que consiste de endereços IP de origem e destino, é também único e identifica a conversação entre os dois hosts. Por exemplo, uma solicitação de página HTTP sendo enviada a um servidor web (porta 80) sendo executado em um host com um endereço de IPv4 Camada 3 192.168.1.20 seria destinado ao soquete 192.168.1.20:80. Se o navegador web que faz a solicitação à web está sendo executado no host 192.168.100.48 e o número Dinâmico de porta designado ao navegador web é 49152, o soquete para a página web seria 192.168.100.48:49152. Mostrar mídia visualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 8. CISCO Accessible Theme Página 8 de 21 Página 2: A Internet Assigned Numbers Authority (IANA) designa números de porta. A IANA é um órgão de padrões responsável pela designação de vários padrões de endereçamento. Existem diferentes tipos de números de portas: Portas Conhecidas (Números 0 a 1023) - Esses números estão reservados para serviços e aplicações. Eles são comumente usados para aplicações como o HTTP (servidor web) POP3/SMTP (servidor de e-mail) e Telnet. Através da definição destas portas conhecidas para aplicações de servidor, aplicações de clientes podem ser programados para solicitar uma conexão com essa porta específica e seu serviço associado. Portas Registradas (Números 1024 a 49151) - Estes números de portas são designados para processos ou aplicações de usuário. Estes processos são principalmente aplicações individuais que um usuário escolheu para instalar em vez de aplicações comuns que receberiam uma Porta Conhecida. Quando não usadas para um recurso de servidor, estas portas também podem ser dinamicamente selecionadas por um cliente como sua porta de origem. Portas Dinâmicas ou Privadas (Números 49152 a 65535) - Elas são geralmente designadas dinamicamente a aplicações de cliente quando se inicia uma conexão. Não é muito comum um cliente se conectar a um serviço usando uma Porta Dinâmica ou Privada (embora alguns programas de compartilhamento de arquivos peer-to-peer o façam). Utilização do TCP e do UDP Algumas aplicações podem usar tanto TCP como UDP. Por exemplo, o baixo overhead (sobrecarga) do UDP habilita ao DNS servir a muitas solicitações de clientes muito rapidamente. As vezes, no entanto, o envio da informação solicitada pode exigir a confiabilidade do TCP. Neste caso, o número 53 de porta conhecida é usado por ambos os protocolos com este serviço. Links Uma lista atual de números de porta pode ser encontrada em http://www.iana.org/assignments/port-numbers. Mostrar mídia visual Página 3: As vezes é necessário conhecer quais conexões TCP ativas estão abertas e sendo executadas em um host de rede. O Netstat é um utilitário de rede importante que pode ser usado para verificar essas conexões. O Netstat lista o protocolo em uso, o endereço local e o número de porta, o endereço externo, o número de porta e o estado da conexão. Conexões TCP inexplicáveis podem ser uma grande ameaça de segurança. Isto acontece porque elas podem indicar que algo ou alguém está conectado ao host local. Adicionalmente, as conexões TCP desnecessárias podem consumir recursos valiosos do sistema, reduzindo a velocidade de desempenho do host. O Netstat deve ser usado para examinar as conexões abertas em um host quando o desempenho parecer comprometido. Muitas opções úteis estão disponíveis para o comando netstat. Mostrar mídia visual 4.1.6 Segmentação e Reagrupamento - Dividir e Conquistar Página 1: O capítulo anterior explicou como as PDUs são construídas para passar os dados de umahttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 9. CISCO Accessible Theme Página 9 de 21 aplicação para os vários protocolos para criar uma PDU que seja então transmitida no meio. No host de destino, este processo é revertido até que os dados possam ser passados até a aplicação. Algumas aplicações transmitem grandes quantidades de dados - em alguns casos, muitos gigabytes. Seria impraticável enviar todos estes dados em um segmento muito grande. Nenhum outro tráfego de rede poderia ser transmitido enquanto estes dados estivessem sendo enviados. Um segmento muito grande de dados pode levar minutos ou mesmo horas para ser enviado. Além disso, se houvesse algum erro, o arquivo inteiro seria perdido ou reenviado. Dispositivos de rede não teriam buffers de memória grandes o suficiente para armazenar estes dados enquanto eles fossem transmitidos ou recebidos. O limite varia dependendo da tecnologia de rede e do meio físico específico que está sendo usado. Dividir os dados da aplicação em segmentos assegura que os dados sejam transmitidos dentro dos limites do meio e que os dados de diferentes aplicações possam ser multiplexadas no meio. O TCP e o UDP Lidam com a Segmentação de Maneira Diferente. No TCP, cada cabeçalho de segmento contém um número sequencial. Este número sequencial confere as funções da camada de Transporte no host de destino para reagrupar segmentos na ordem em que eles foram transmitidos. Isso assegura que as aplicações de destino tenham os dados na forma exata pretendida pelo remetente. Embora os serviços que usam UDP também rastreiem as conversações entre as aplicações, eles não estão preocupados com a ordem que a informação foi transmitida, ou na manutenção de uma conexão. Não existe número sequencial no cabeçalho UDP. O UDP é um esquema mais simples e gera menos overhead do que o TCP, resultando em uma transferência mais rápida de dados. A informação pode chegar em ordem diferente da qual ela foi transmitida porque diferentes pacotes podem tomar diferentes caminhos através da rede. Uma aplicação que usa o UDP precisa tolerar o fato de que os dados podem não chegar na ordem em que foram enviados. Mostrar mídia visual Página 2: Nesta atividade, você "olhará dentro" de pacotes para ver como o DNS e o HTTP usam os números de porta. Clique no ícone do Packet Tracer para iniciar a atividade. Mostrar mídia visual 4.2 O Protocolo TCP - Comunicando com Confiabilidade 4.2.1 TCP - Tornando as Conversações Confiáveis Página 1: A distinção principal entre o TCP e o UDP está na confiabilidade. 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. Após uma sessão ter sido estabelecida, o destino envia confirmações para a origem para oshttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 10. CISCO Accessible Theme Página 10 de 21 segmentos que ele recebe. Estas confirmações formam a base da confiabilidade dentro de uma sessão TCP. À medida que a origem recebe uma confirmação, ela sabe que os dados foram entregues com sucesso e pode parar o rastreamento daqueles dados. Se a origem não recebe uma confirmação dentro de um período pré-determinado de tempo, ela retransmite aqueles dados para o destino. Parte do overhead adicional do uso do TCP é o tráfego de rede gerado por confirmações e retransmissões. O estabelecimento de sessões cria um overhead na forma de segmentos adicionais sendo trocados. Há também um overhead adicional nos hosts individuais criado pela necessidade de rastrear quais segmentos estão esperando pela confirmação e pelo processo de retransmissão. Esta confiabilidade é alcançada tendo campos no segmento TCP, cada um com uma função específica, conforme mostrado na figura. Estes campos serão discutidos mais tarde nesta seção. Mostrar mídia visual 4.2.2 Processos TCP em Servidores Página 1: Conforme discutido anteriormente neste capítulo, os processos de aplicações são executados nos servidores. Estes processos esperam até que um cliente inicie a comunicação com uma solicitação de informação ou outros serviços. Cada processo de aplicação sendo executado no servidor é configurado para usar um número de porta, seja no modo padrão ou manualmente através de um administrador do sistema. 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. Um host executando uma aplicação de servidor web e uma aplicação de transferência de arquivo não pode ter ambos configurados para usar a mesma porta (por exemplo, a porta TCP 8080). Quando uma aplicação de servidor ativo é designada a uma porta específica, essa porta é considerada como estando "aberta" no servidor. Isto significa que a camada de Transporte aceita e processa segmentos endereçados àquela porta. Qualquer solicitação de cliente que chega endereçada ao soquete correto é aceita e os dados são transmitidos à aplicação do servidor. Podem haver muitas portas simultâneas abertas em um servidor, uma para cada aplicação de servidor ativo. É comum para um servidor fornecer mais de um serviço, como um servidor web e um servidor FTP, ao mesmo tempo. Uma maneira de melhorar a segurança em um servidor é restringir o acesso de servidor a apenas essas portas associadas com os serviços e as aplicações que devem ser acessíveis para solicitantes autorizados. A figura mostra a alocação típica de portas de origem e destino em operações cliente/servidor TCP. Mostrar mídia visual 4.2.3 Estabelecimento e Término de conexões TCP Página 1: Quando dois hosts se comunicam usando o TCP, uma conexão é estabelecida antes que os dados possam ser trocados. Depois da comunicação ter sido completada, as sessões são fechadas e a conexão é encerrada. Os mecanismos de conexão e sessão habilitam a função de confiabilidade do TCP. Veja a figura para saber as etapas para estabelecer e terminar uma conexão TCP. O host rastreia cada segmento de dados dentro de uma sessão e troca informação sobre qualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 11. CISCO Accessible Theme Página 11 de 21 dado é recebido por cada host usando a informação no cabeçalho TCP. Cada conexão representa dois fluxos de comunicação, ou sessões. Para estabelecer uma conexão, os hosts realizam um handshake triplo. Bits de controle no cabeçaçho TCP indicam o progresso e o status da conexão. O handshake triplo: z Estabelece que o dispositivo de destino está presente na rede z Verifica se o dispositivo de destino tem um serviço ativo e está aceitando solicitações no número de porta de destino que o cliente pretende usar para a sessão. z Informa o dispositivo de destino que o cliente de origem pretende estabelecer uma sessão de comunicação nessa número de porta Nas conexões TCP, o host que serve como um cliente inicia a sessão para o servidor. Os três passos no estabelecimento da conexão TCP são: 1. O cliente iniciador envia um segmento contendo um valor sequencial inicial, que serve como uma solicitação ao servidor para começar uma sessão de comunicações. 2. O servidor responde com um segmento contendo um valor de confirmação igual ao valor sequencial recebido mais 1, mais seu próprio valor sequencial de sincronização. O valor é maior do que o número sequencial porque o ACK é sempre o próximo Byte ou Octeto esperado. Este valor de confirmação habilita o cliente a submeter à resposta de volta ao segmento original que ele enviou ao servidor. 3. O cliente iniciador responde com um valor de confirmação igual ao valor sequencial que ele recebeu mais um. Isso completa o processo de estabelecimento da conexão. Para entender o processo do handshake triplo, é importante examinar os vários valores que os dois hosts trocam. Dentro do cabeçalho de segmento TCP, existem seis campos de 1 bit que contêm a informação de controle usada para gerenciar os processos TCP. Esses campos são: 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 Estes campos são referidos como flags (flags), porque o valor de um desses campos é apenas 1 bit e, portanto, tem apenas dois valores: 1 ou 0. Quando um valor de bit é definido como 1, ele indica que a informação de controle está contida no segmento. Com o uso de um processo de quatro etapas, as flags são trocadas para encerrar uma conexão TCP. Mostrar mídia visual 4.2.4 Handshake Triplo TCP Página 1: Usando as entradas Wireshark, você pode examinar a operação do handshake triplo TCP: Etapa 1http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 12. CISCO Accessible Theme Página 12 de 21 Um cliente TCP inicia o handshake triplo enviando um segmento com a flag de controle SYN (número sequencial de sincronia) definido, indicando um valor inicial no campo do número de sequência no cabeçalho. Este valor inicial para o número de sequência, conhecido como o Número de Sequência Inicial (ISN), é escolhido aleatoriamente e é usado para iniciar o rastreamento do fluxo de dados do cliente para o servidor para esta sessão. O ISN no cabeçalho de cada segmento é aumentado em um para cada byte de dados enviados do cliente para o servidor à medida que a conversação de dados continua. Conforme mostrado na figura, a saída de um analisador de protocolo mostra a flag de controle SYN e o número de sequência relativo. A flag de controle SYN é definida e o número de sequência relativo é 0. Embora o analisador de protocolo no gráfico indique os valores relativos para os números de sequências e de confirmação, os valores verdadeiros são números binários de 32 bits. Nós podemos determinar os números reais enviados nos cabeçalhos do segmento examinando a tela de Pacote de Bytes. Aqui você pode ver os quatro bytes representados em hexadecimal. Mostrar mídia visual Página 2: Etapa 2 O servidor TCP precisa confirmar o recebimento do segmento SYN do cliente para estabelecer a sessão do cliente para o servidor. Para fazer isso, o servidor envia um segmento de volta para o cliente com a flag ACK indicando que o número de Confirmação é significativo. Com esta flag indicada no segmento, o cliente confirma isto como uma confirmação de que o servidor recebeu o SYN do cliente TCP. O valor do campo de número de confirmação é igual ao número de sequência inicial mais 1. Isto estabelece uma sessão do cliente para o servidor. A flag ACK permanecerá definida para o equilíbrio da sessão. Relembre que a conversação entre o cliente e o servidor é na verdade duas sessões unidirecionais, uma do cliente para o servidor, e outra do servidor para o cliente. Nesta segunda etapa do handshake triplo, o servidor precisa iniciar a resposta do servidor para o cliente. Para iniciar esta sessão, o servidor usa a flag SYN da mesma maneira que o cliente o fez. Ele define a flag de controle SYN no cabeçalho para estabelecer a sessão do servidor para o cliente. A flag SYN indica que o valor inicial do campo de número de sequência está no cabeçalho. Este valor será usado para rastrear o fluxo de dados nesta sessão do servidor de volta para o cliente. Conforme mostrado na figura, a saída do analisador de protocolo mostra que as flags de controle ACK e SYN estão definidas e os números de sequência relativo e de confirmação são mostrados. Mostrar mídia visual Página 3: Etapa 3 Finalmente, o cliente TCP responde com um segmento contendo um ACK que é a resposta para o TCP SYN enviado pelo servidor. Não há dado de usuário neste segmento. O valor do campo de número de confirmação contém um 1 a mais do que o número de sequência inicial recebido do servidor. Já que ambas as sessões estão estabelecidas entre cliente e servidor, todos os segmentos adicionais trocados nesta comunicação terão uma flag ACK definida. Conforme mostrado na figura, a saída do analisador de protocolo mostra a flag de controle ACK definida e os números de confirmação são mostrados.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 13. CISCO Accessible Theme Página 13 de 21 A segurança pode ser adicionada à rede de dados por: z Negação de estabelecimento de sessões TCP z Apenas permitindo sessões que sejam estabelecidas para serviços específicos z Apenas permitindo tráfego como parte de sessões já estabelecidas Esta segurança pode ser implementada para todas as sessões TCP ou apenas para as sessões selecionadas. Mostrar mídia visual 4.2.5 Encerramento de Sessão TCP Página 1: Para fechar uma conexão, a flag de fim de comunicação FIN (Finish) no cabeçalho do segmento precisa ser definida. Para terminar cada sessão TCP unidirecional, um handshake duplo é usado, consistindo de um segmento FIN e um segmento ACK. Portanto, para terminar uma conversação única suportada pelo TCP, quatro trocas são necessárias para finalizar ambas as sessões. Nota: Nesta explicação, os termos cliente e servidor são usados nesta descrição com uma referência visando a simplicidade, mas o processo de encerramento pode ser iniciado por qualquer um dos dois hosts que completarem a sessã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. Quando o cliente final de uma sessão não tem mais dados para transferir, ele define a flag FIN no cabeçalho de um segmento. A seguir, o servidor irá enviar um segmento normal contendo dados com a flag ACK definida usando o número de confirmação, confirmando que todos os bytes de dados foram recebidos. Quando todos os segmentos tiverem sido confirmados, a sessão é fechada. A sessão na outra direção é fechada usando o mesmo processo. O receptor indica que não há mais dados para enviar definindo uma flag FIN no cabeçalho de um segmento enviado à origem. Uma confirmação de retorno confirma que todos os bytes de dados foram recebidos e que a sessão está, por sua vez, fechada. Conforme mostrado na figura, as flags de controle FIN e ACK são definidas no cabeçalho do segmento, fechando com isso a sessão HTTP. É possível encerrar a conexão através de um handshake triplo. Quando o cliente não tem mais dados para enviar, ele envia um FIN ao servidor. Se o servidor também não tem mais dados para enviar, ele pode responder com ambas as flags FIN e ACK definidas, combinando duas etapas em uma. O cliente responde com um ACK. Mostrar mídia visual Página 2: Nesta atividade, você irá estudar o handshake triplo TCP para estabelecimento de sessão e o processo TCP para encerramento. Muitos protocolos de aplicações usam TCP, e visualizar os processos de estabelecimento e encerramento de sessão com o Packet Tracer aprofundará ohttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 14. CISCO Accessible Theme Página 14 de 21 seu entendimento. Clique no ícone do Packet Tracer para iniciar a atividade. Mostrar mídia visual 4.3 Gerenciamento de Sessões TCP 4.3.1 Reagrupamento de Segmentos TCP Página 1: Refazendo o Sequenciamento de Segmentos na Ordem Transmitida 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 reagrupados na sua ordem original. Os números de sequência são designados no cabeçalho de cada pacote para alcançar essa meta. Durante a instalação de uma sessão, um número de sequência inicial (ISN) é definido. Este número de sequência inicial representa o valor de partida para os bytes para esta sessão que será transmitida para a aplicação receptora. À medida que os dados são transmitidos durante a sessão, o número de sequência é incrementado pelo número de bytes que foram transmitidos. Este rastreamento de bytes de dados habilita a cada segmento ser identificado e reconhecido de forma única. Segmentos perdidos podem ser identificados. Os números de sequência do segmento habilitam a confiabilidade, indicando como reagrupar e reordenar segmentos recebidos, conforme mostrado na figura. O processo TCP do receptor coloca os dados de um segmento em um buffer. Os segmentos são colocados na ordem de número de sequência apropriada e passados para a camada de Aplicação quando reagrupados. Quaisquer segmentos que cheguem com números de sequência não contíguos são retidos para processamento posterior. Então, quando os segmentos com os bytes perdidos chegam, esses segmentos são processados. Mostrar mídia visual 4.3.2 Confirmação TCP com Janelamento Página 1: Confirmação de Recebimento de Segmentos Uma das funções do TCP é assegurar que cada segmento atinja o seu destino. Os serviços TCP no host de destino confirmam os dados que ele recebeu para a aplicação de origem. O número de sequência do cabeçalho do segmento e o número de confirmação são usados juntamente para confirmar o recebimento dos bytes de dados contidos nos segmentos. O número de sequência é o número relativo de bytes que foram transmitidos nessa sessão mais 1 (que é o número do primeiro byte de dado no segmento corrente). O TCP usa o número de confirmação em segmentos enviados de volta à origem para indicar o próximo byte que o receptor espera receber nessa sessão. Isto é chamado de confirmação esperada. A origem é informada de que o destino recebeu todos os bytes neste fluxo de dados até, mas não incluindo, o byte indicado pelo número de confirmação. Espera-se que o host de envio envie um segmento que use um número de sequência que é igual ao número de confirmação. Lembre-se, cada conexão é na verdade composta por duas sessões unidirecionais. Os números de sequência e de confirmação estão sendo trocados em ambas as direções.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 15. CISCO Accessible Theme Página 15 de 21 No exemplo da figura, o host da esquerda está enviando dados para o host da direita. Ele envia um segmento contendo 10 bytes de dados para essa sessão e um número de sequência igual a 1 no cabeçalho. O host receptor da direita recebe o segmento na Camada 4 e determina que o número de sequência é 1 e que ele tem 10 bytes de dados. O host então envia um segmento de volta ao host da esquerda para confirmar o recebimento deste dado. Neste segmento, o host define o número de confirmação em 11 para indicar que o próximo byte de dados que ele espera receber nessa sessão é o byte número 11. Quando o host de envio da esquerda recebe essa confirmação, ele pode agora enviar o próximo segmento contendo dados para essa sessão iniciando com o byte número 11. Examinando esse exemplo, se o host de envio tiver que esperar pela confirmação de recebimento de cada 10 bytes, a rede teria muito overhead. Para reduzir o overhead dessas confirmações, múltiplos segmentos de dados podem ser enviados e confirmados com uma única mensagem TCP na direção oposta. Este confirmação contém um número de confirmação baseado no número total de bytes recebidos na sessão. Por exemplo, começando com um número de sequência de 2000, se 10 segmentos de 1000 bytes cada fossem recebidos, o número de confirmação 12001 seria retornado à origem. A quantidade de dados que a origem pode transmitir antes que uma confirmação seja recebida é chamada de tamanho da janela. O Tamanho de Janela é um campo no cabeçalho TCP que habilita o gerenciamento de dados perdidos e controle de fluxo. Mostrar mídia visual 4.3.3 Retransmissão TCP Página 1: Lidando com a Perda de Segmento Não importa quanto uma rede seja bem projetada, a perda de dados ocorrerá ocasionalmente. Portanto, o TCP fornece métodos para gerenciar essas perdas de segmentos. Entre estes métodos há um mecanismo que retransmite segmentos com dados não confirmados. Um serviço de host de destino usando TCP geralmente reconhece os dados apenas para bytes sequenciais contíguos. Se estiver faltando um ou mais segementos, apenas os dados nos segmentos que completam o fluxo serão confirmados. Por exemplo, se os segmentos com números de sequência de 1500 a 3000 e de 3400 a 3500 fossem recebidos, o número de confirmação seria 3001. Isto porque existem segmentos com os números de sequência de 3001 a 3399 que não foram recebidos. Quando o TCP no host de origem não recebeu uma confirmação depois de um período pré- determinado de tempo, ele voltará ao último número de confirmação que recebeu e retransmitirá os dados a partir daquele ponto para frente. O processo de retransmissão não é especificado pela RFC, mas é deixado para a implementação específica do TCP. Para uma implementação de TCP típica, um host pode transmitir um segmento, colocar uma cópia do segmento numa fila de retransmissão e iniciar uma contagem. Quando a confirmação do dado é recebida, o segmento é deletado da fila. Se a confirmação não for recebida antes da contagem expirar, o segmento é retransmitido. A animação demonstra a retransmissão de segmentos perdidos.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 16. CISCO Accessible Theme Página 16 de 21 Os hosts atualmente podem também empregar um atributo adicional chamado de Confirmações Seletivas. Se ambos os hosts suportam Confirmações Seletivas, é possível para o destino confirmar bytes em segmentos não contíguos e o host precisará apenas retransmitir os dados perdidos. Mostrar mídia visual 4.3.4 Controle de Congestionamento TCP - Minimizando a Perda de Segmentos Página 1: Controle de Fluxo O TCP também fornece mecanismos para o controle de fluxo. O controle de fluxo ajuda na confiabilidade de transmissões TCP através do ajuste da taxa de fluxo de dados efetiva entre os dois serviços na sessão. Quando a origem é informada de que uma quantidade especificada de dados nos segmentos é recebida, ela pode continuar a enviar mais dados para essa sessão. O campo Tamanho de Janela no cabeçalho TCP especifica a quantidade de dados que podem ser transmitidos antes que uma confirmação precise ser recebida. O tamanho de janela inicial é determinado durante a inicialização da sessão através do handshake triplo. O mecanismo de feedback do TCP ajusta a taxa efetiva de transmissão de dados até o fluxo máximo que a rede e o dispositivo de destino podem suportar sem perda. O TCP tenta gerenciar a taxa de transmissão de modo que todos os dados sejam recebidos e as retransmissões sejam minimizadas. Veja a figura para uma representação simplificada do tamanho de janela e confirmações. Neste exemplo, o tamanho de janela inicial para uma sessão TCP representada é definido em 3000 bytes. Quando o remetente tiver transmitido 3000 bytes, ele espera por uma confirmação destes bytes antes de transmitir mais segmentos nesta sessão. Quando o remetente tiver recebido esta confirmação do receptor, o remetente poderá transmitir mais 3000 bytes. Durante o atraso no recebimento de uma confirmação, o remetente não enviará quaisquer segmentos adicionais para essa sessão. Em períodos em que a rede está congestionada ou os recursos do host de recebimento estão extenuados, o atraso pode aumentar. À medida que este atraso aumenta, a taxa de transmissão efetiva dos dados para esta sessão diminui. A diminuição da velocidade na taxa de dados ajuda a reduzir a contenção de recursos. Mostrar mídia visual Página 2: Redução do Tamanho de Janela Um outro modo de controlar o fluxo de dados é usar tamanhos de janela dinâmicos. Quando os recursos da rede são restringidos, o TCP pode reduzir o tamanho de janela para exigir que os segmentos recebidos sejam confirmados mais frequentemente. Isto diminui efetivamente a velocidade da taxa de transmissão porque a origem espera que os dados sejam confirmados mais frequentemente. O host de recebimento envia o valor do tamanho de janela ao remetente para indicar o número de bytes que ele está preparado para receber como parte desta sessão. Se o destino precisar diminuir a velocidade da taxa de comunicação por causa de memória de buffer limitada, ele pode enviar um valor de tamanho de janela pequeno para a origem como parte de uma confirmação.http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 17. CISCO Accessible Theme Página 17 de 21 Conforme mostrado na figura, se um host de recebimento tem um congestionamento, ele pode responder ao host de envio com um segmento com tamanho de janela reduzido. Neste gráfico, há uma perda de um dos segmentos. O receptor mudou o campo da janela no cabeçalho TCP de segmentos retornados nesta conversação de 3000 para 1500. Isto levou o remetente a reduzir o tamanho de janela para 1500. Após períodos de transmissão com nenhuma perda de dados ou restrição de recursos, o receptor começará a aumentar o campo da janela. Isto reduz a sobrecarga na rede porque poucas confirmações precisam ser enviadas. O tamanho de janela continuará a aumentar até que haja perda de dados, o que levará à diminuição novamente. Este aumento e diminuição dinâmico no tamanho de janela é um processo contínuo no TCP, que determina o tamanho de janela adequado para cada sessão TCP. Em redes altamente eficientes, os tamanhos de janela podem se tornar muito grandes porque os dados não estão sendo perdidos. Nas redes em que a infra-estrutura subjacente é pressionada, o tamanho de janela provavelmente permanecerá pequeno. Links Detalhes das várias características de gerenciamento de congestionamento do TCP podem ser encontrados na RFC 2581. http://www.ietf.org/rfc/rfc2581.txt Mostrar mídia visual 4.4 O Protocolo UDP - Comunicação com Baixo Overhead 4.4.1 UDP - Baixo Overhead versus Confiabilidade Página 1: O UDP é um protocolo simples que fornece as funções básicas da camada de Transporte. Ele possui overhead muito mais baixo do que o TCP, já que não é orientado à conexão e não fornece mecanismos de retransmissão, sequenciamento e controle de fluxo sofisticados. Isto não significa que as aplicações que usam UDP sejam sempre não confiáveis. Isto simplesmente significa que estas funções não são fornecidas pelo protocolo da camada de Transporte e devem ser implementadas em outros locais se houver necessidade. Embora a quantidade total de tráfego UDP encontrada em uma rede típica geralmente não seja baixo, os principais protocolos da camada de Aplicação que usam UDP incluem: z Domain Name System (DNS) z Simple Network Management Protocol (SNMP) z Protocolo de Configuração Dinâmica de Host (DHCP) z Routing Information Protocol (RIP) z Trivial File Transfer Protocol (TFTP) z Jogos On-line Algumas aplicações, como jogos on-line ou VOIP, podem tolerar alguma perda de dados. Se estas aplicações usarem TCP, elas podem passar por grandes atrasos enquanto o TCP detecta a perda e retransmite dados. Estes atrasos seriam mais prejudiciais para a aplicação do que pequenas perdas de dados. Algumas aplicações, como o DNS, simplesmente irão tentar novamente a solicitação se não receberem resposta e, portanto, eles não precisarão do TCP para garantir a entrega da mensagem. O baixo overhead do UDP o torna muito desejável para tais aplicações. Mostrar mídia visualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 18. CISCO Accessible Theme Página 18 de 21 4.4.2 Reagrupamento de Datagramas UDP Página 1: Por causa do UDP ser sem conexão, as sessões não são estabelecidas antes que a comunicação ocorra enquanto elas estão com TCP. Diz-se que o UDP é baseado em transação. Em outras palavras, quando uma aplicação tem dados para enviar, ele simplesmente envia os dados. Muitas aplicações que usam o UDP enviam pequenas quantidades de dados que podem se ajustar a um segmento. No entanto, algumas aplicações enviarão quantidades maiores de dados que precisam ser divididos em múltiplos segmentos. A PDU UDP é referida como um datagrama, embora os termos segmento e datagrama sejam usados algumas vezes de modo alternado para descrever uma PDU da camada de Transporte. Quando múltiplos datagramas são enviados a um destino, eles podem tomar diferentes caminhos e chegar na ordem errada. O UDP não rastreia os números de sequência da forma que o TCP faz. O UDP não tem um modo para reordenar os datagramas na sua ordem de transmissão. Veja a figura. Portanto, o UDP simplesmente reagrupa os dados na ordem que eles foram recebidos e os encaminha para a aplicação. Se a sequência dos dados é importante para a aplicação, ele terá que identificar a sequência apropriada dos dados e determinar como os dados devem ser processados. Mostrar mídia visual 4.4.3 Solicitações UDP e Processos de Servidores Página 1: Do mesmo modo que com as aplicações baseadas em TCP, aos aplicações de servidores baseados em UDP são designados números de porta Conhecida ou Registrada. Quando estas aplicações ou processos estão sendo executados, eles aceitarão os dados correspondentes ao número de porta designado. Quando o UDP recebe um datagrama destinado a uma destas portas, ele encaminha os dados à aplicação apropriada com base em seu número de porta. Mostrar mídia visual 4.4.4 Processos de Cliente UDP Página 1: Do mesmo modo que o TCP, a comunicação cliente/servidor é iniciada por uma aplicação cliente que está solicitando dados de um processo servidor. O processo cliente UDP seleciona aleatoriamente um número de porta a partir de uma faixa dinâmica de números de porta e o usa como a porta de origem para a conversação. A porta de destino será geralmente o número de porta Conhecida ou Registrada designado ao processo do servidor. Números de porta de origem randomizados também ajudam na segurança. Se há um padrão previsível para seleção da porta de destino, um intruso pode simular um acesso a um cliente mais facilmente tentando conectar-se ao número de porta mais provável de ser aberto. Por não haver sessão a ser criada com o UDP, tão logo os dados estejam prontos para serem enviados e a portas identificadas, o UDP pode formar o datagrama e passá-lo para a camada de Rede para ser endereçado e enviado pela rede. Lembre-se, uma vez que o cliente escolheu as portas de origem e destino, o mesmo par dehttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 19. CISCO Accessible Theme Página 19 de 21 portas é usado no cabeçalho de todos os datagramas da transação. Para dados que retornam para o cliente a partir do servidor, os números de porta de origem e destino no cabeçalho do datagrama são invertidos. Mostrar mídia visual Página 2: Nesta atividade, verifique como o DNS usa o UDP. Clique no ícone do Packet Tracer para iniciar a atividade. Mostrar mídia visual 4.5 Atividades de Laboratório 4.5.1 Observando TCP e UDP usando Netstat Página 1: Nesta sessão de laboratório, você examinará o comando netstat (network statistics utility) em um computador host, e ajustará as opções de saída do netstat para analisar e entender o status do protoloco da camada de Transporte TCP/IP. Clique no ícone do Laboratório para ver mais detalhes. Mostrar mídia visual 4.5.2 Protocolos da Camada de Transporte TCP/IP, TCP e UDP Página 1: Nesta sessão de laboratório, você usará o Wireshark para capturar e identificar os campos do cabeçalho TCP, a operação durante uma sessão FTP, e campos do cabeçalho UDP e operação durante uma sessão TFTP. Clique no ícone do Laboratório para ver mais detalhes. Mostrar mídia visual 4.5.3 Protocolos das Camadas de Aplicação e Transporte Página 1: Nesta sessão de laboratório, você usará o Wireshark para monitorar e analisar as comunicações da aplicação cliente (FTP e HTTP) entre um servidor e clientes. Clique no ícone do Laboratório para ver mais detalhes. Mostrar mídia visual Página 2: Nesta atividade, você usará o modo de Simulação de Packet Tracer para capturar e analisar uma solicitação web usando uma URL. Clique no ícone do Packet Tracer para iniciar a atividade. Mostrar mídia visualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 20. CISCO Accessible Theme Página 20 de 21 4.6 Resumo do Capítulo 4.6.1 Resumo e Revisão Página 1: A camada de Transporte provê as necessidades da rede de dados através de: z Divisão de dados recebidos de uma aplicação em segmentos z Adição de um cabeçalho para identificar e gerenciar cada segmento z Uso da informação do cabeçalho para reagrupar os segmentos de volta nos dados da aplicação z Transmitir os dados agrupados para a aplicação correta O UDP e o TCP são os protocolos da camada de Transporte mais comuns. Os datagramas UDP e os segmentos TCP têm cabeçalhos pré-fixados aos dados que incluem o número de porta de origem e o número de porta de destino. Estes números de porta habilitam os dados a serem redirecionados para a aplicação correta sendo executada no computador de destino. O TCP não passa qualquer dado para a rede até que saiba que o destino está pronto para recebê-lo. O TCP então gerencia o fluxo de dados e reenvia quaisquer segmentos de dados que não são confirmados conforme sejam recebidos no destino. O TCP usa mecanismos de handshake triplo, temporizador e confirmações, e janelamento dinâmico para alcançar estas características confiáveis. Esta confiabilidade, no entanto, impõe uma sobrecarga na rede em termos de cabeçalhos de segmentos muito maior e mais tráfego de rede entre a origem e o destino no gerenciamento do transporte de dados. Se os dados da aplicação precisam ser entregues rapidamente pela rede, ou se a largura de banda da rede não suporta a sobrecarga ou overhead de mensagens de controle sendo trocadas entre os sistemas de origem e destino, o UDP será o protocolo da camada de Transporte preferido pelo programador. Devido ao fato do UDP não rastrear ou confirmar o recebimento de datagramas no destino - ele apenas passa os datagramas recebidos para a camada de Aplicação à medida que eles chegam - e não reenvia datagramas perdidos. No entanto, isto não significa necessariamente que a comunicação em si não seja confiável; pode haver mecanismos nos protocolos e serviços da camada de Aplicação que processam datagramas perdidos ou com atraso se a aplicação tem estas necessidades. A escolha do protocolo da camada de Transporte é feito pelo programador da aplicação para melhor satisfazer as necessidades do usuário. O programador tem em mente que, apesar disso, todas as outras camadas têm um papel nas comunicações de rede de dados e influenciarão o seu desempenho. Mostrar mídia visual Página 2: Mostrar mídia visual Página 3: Nesta atividade, processo que ocorre cada vez que você solicita uma página web da Internet - a interação DNS, HTTP, UDP e TCP - é examinada em profundidade. Instruções de Integração de Habilidades do Packet Tracer (PDF) Clique no ícone do Packet Tracer para iniciar a atividade. Mostrar mídia visualhttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
  • 21. CISCO Accessible Theme Página 21 de 21 Página 4: Para aprender mais Questões para Reflexão Discuta as necessidades de uma aplicação da camada de Aplicação que determine se o programador selecionou o UDP ou o TCP como o protocolo da camada de Transporte a ser usado. Se uma aplicação de rede exigiu que seus dados sejam entregues confiavelmente, discuta como o UDP poderia ser usado como protocolo da camada de Transporte e sob quais circunstâncias isso seria usado. Links Introdução a Conexão de Redes http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/introint.htm Mostrar mídia visual 4.7 Teste do Capítulo 4.7.1 Teste do Capítulo Página 1: Mostrar mídia visual Ir para a próxima Ir para a anterior Rolar Para o Topo All contents copyright © 2007-2009 Cisco Systems, Inc. | Translation courtesy of: Fundação Bradesco & NCE - UFRJ. Sobrehttp://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011