SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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 para




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 Variam




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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
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 segmentos




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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
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 visual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 visual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 uma




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 os




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 qual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 1




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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
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á o




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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
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
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
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 visual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 de




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 visual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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 visual




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011
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. Sobre




http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011

Mais conteúdo relacionado

Mais procurados

Protocolos e interconectividade
Protocolos e interconectividadeProtocolos e interconectividade
Protocolos e interconectividaderedesinforma
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...veruzkavaz
 
Redes windows e linux conceitos básicos sobre endereçamento
Redes windows e linux   conceitos básicos sobre endereçamentoRedes windows e linux   conceitos básicos sobre endereçamento
Redes windows e linux conceitos básicos sobre endereçamentoTalita Travassos
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteUFPB
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuaisFaculdade Mater Christi
 
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration   fundamentos de rede - 2 comunicando-se pela redeCcna exploration   fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration fundamentos de rede - 2 comunicando-se pela redeveruzkavaz
 
2ª Unidade Modelo OSI
2ª Unidade Modelo OSI2ª Unidade Modelo OSI
2ª Unidade Modelo OSICleiton Cunha
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocolFaculdade Mater Christi
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processosFaculdade Mater Christi
 
As camadas do modelo OSI
As camadas do modelo OSIAs camadas do modelo OSI
As camadas do modelo OSIBruno David
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transportewab030
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDPAndré Nobre
 
Modelo OSI - Camada de Rede
Modelo OSI - Camada de RedeModelo OSI - Camada de Rede
Modelo OSI - Camada de RedeWalyson Vëras
 

Mais procurados (17)

Protocolos e interconectividade
Protocolos e interconectividadeProtocolos e interconectividade
Protocolos e interconectividade
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
 
Redes windows e linux conceitos básicos sobre endereçamento
Redes windows e linux   conceitos básicos sobre endereçamentoRedes windows e linux   conceitos básicos sobre endereçamento
Redes windows e linux conceitos básicos sobre endereçamento
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de Transporte
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
 
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration   fundamentos de rede - 2 comunicando-se pela redeCcna exploration   fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
 
2ª Unidade Modelo OSI
2ª Unidade Modelo OSI2ª Unidade Modelo OSI
2ª Unidade Modelo OSI
 
Camadas osi redes
Camadas osi   redesCamadas osi   redes
Camadas osi redes
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocol
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Pilha de protocolos
Pilha de protocolosPilha de protocolos
Pilha de protocolos
 
As camadas do modelo OSI
As camadas do modelo OSIAs camadas do modelo OSI
As camadas do modelo OSI
 
Modelo de Referência OSI
Modelo de Referência OSIModelo de Referência OSI
Modelo de Referência OSI
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transporte
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDP
 
Modelo OSI - Camada de Rede
Modelo OSI - Camada de RedeModelo OSI - Camada de Rede
Modelo OSI - Camada de Rede
 
Cap2
Cap2Cap2
Cap2
 

Semelhante a Camada de Transporte e suas funções

Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...veruzkavaz
 
Capítulo 3 funcionalidades e protocolos da camada de aplicação
Capítulo 3   funcionalidades e protocolos da camada de aplicaçãoCapítulo 3   funcionalidades e protocolos da camada de aplicação
Capítulo 3 funcionalidades e protocolos da camada de aplicaçãoSimba Samuel
 
Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
Rct   4 - modelos e arquiteturas de rede - internet e tcp ipRct   4 - modelos e arquiteturas de rede - internet e tcp ip
Rct 4 - modelos e arquiteturas de rede - internet e tcp ipUniversal.org.mx
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadoresdeisiweg
 
Icc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºhIcc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºhFrogFAT
 
Segurança na Interoperabilidade de Redes TCP IP
Segurança na  Interoperabilidade de Redes TCP IPSegurança na  Interoperabilidade de Redes TCP IP
Segurança na Interoperabilidade de Redes TCP IPBruno Milani
 
Lista exerc conceitos-mod-ref
Lista exerc conceitos-mod-refLista exerc conceitos-mod-ref
Lista exerc conceitos-mod-refredesinforma
 

Semelhante a Camada de Transporte e suas funções (20)

Exercicio parte1
Exercicio parte1Exercicio parte1
Exercicio parte1
 
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...Ccna exploration   fundamentos de rede - 3 funcionalidade e protocolos da cam...
Ccna exploration fundamentos de rede - 3 funcionalidade e protocolos da cam...
 
Capítulo 3 funcionalidades e protocolos da camada de aplicação
Capítulo 3   funcionalidades e protocolos da camada de aplicaçãoCapítulo 3   funcionalidades e protocolos da camada de aplicação
Capítulo 3 funcionalidades e protocolos da camada de aplicação
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
Rct   4 - modelos e arquiteturas de rede - internet e tcp ipRct   4 - modelos e arquiteturas de rede - internet e tcp ip
Rct 4 - modelos e arquiteturas de rede - internet e tcp ip
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Apostilaredes
ApostilaredesApostilaredes
Apostilaredes
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Camadasrede
CamadasredeCamadasrede
Camadasrede
 
Internet
InternetInternet
Internet
 
Icc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºhIcc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºh
 
Segurança na Interoperabilidade de Redes TCP IP
Segurança na  Interoperabilidade de Redes TCP IPSegurança na  Interoperabilidade de Redes TCP IP
Segurança na Interoperabilidade de Redes TCP IP
 
Lista exerc conceitos-mod-ref
Lista exerc conceitos-mod-refLista exerc conceitos-mod-ref
Lista exerc conceitos-mod-ref
 
ICC:
ICC:ICC:
ICC:
 
Modelo TCP-IP
Modelo TCP-IPModelo TCP-IP
Modelo TCP-IP
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSI
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Palestra Tecredes
Palestra TecredesPalestra Tecredes
Palestra Tecredes
 
121 redes
121 redes121 redes
121 redes
 

Camada de Transporte e suas funções

  • 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 para http://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 Variam http://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 segmentos http://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 visual http://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 visual http://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 uma http://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 os http://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 qual http://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 1 http://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á o http://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 visual http://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 de http://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 visual http://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 visual http://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. Sobre http://curriculum.netacad.net/virtuoso/servlet/org.cli.delivery.rendering.servlet.CCSer... 06/10/2011