segunda-feira, 30 de janeiro de 2012

Propósito da Camada de Transporte

A camada de Transporte proporciona a segmentação de dados e o controle necessário para reagrupar esses segmentos em fluxos de comunicação. Suas responsabilidades primárias para realizar isto são:
  • Rastrear a comunicação individual entre as aplicações nos hosts de origem e destino.
  • Segmentar dados e gerenciar cada segmento
  • Reagrupar os segmentos em fluxos de dados de aplicação
  • 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

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.


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.


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.

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.


Um comentário: