Introdução

Bem-vindo ao nosso estudo da camada de transporte. Este estudo auxiliará você a compreender a ordenação dos pacotes que chegam fora de ordem e o que é um serviço orientado a conexão. Entender a comunicação fim a fim é outro aspecto importante. Vamos começar a estudar o transporte de dados.

Transporte de Dados

Papéis e Função

Os aplicativos e programas da camada de aplicação tratam os dados que são trafegados entre os hosts de origem e de destino. A camada de transporte  realiza a comunicação lógica entre aplicativos executados em hosts diferentes. Isso inclui serviços, tais como o estabelecimento da sessão temporária entre dois hosts e a transmissão confiável de informações para um aplicativo. A camada de transporte não conhece o tipo de host de destino, o tipo de meio pelo qual os dados viajam, o caminho percorrido pelos dados, o congestionamento em um enlace ou o tamanho da rede.

Rastreio de Conversas Individuais

Na camada de transporte um conjunto de dados que flui entre um aplicativo na origem e um aplicativo no destino é conhecido como uma conversação e é rastreado separadamente. A camada de transporte é responsável por manter e rastrear essas diversas conversações. Em um host pode haver vários aplicativos que se comunicam simultaneamente pela rede. Grande parte das redes tem uma limitação na quantidade de dados que são transportados em um único pacote. Por isso os dados são divididos em partes gerenciáveis.

Segmentação de Dados

Uma das responsabilidades da camada de transporte é dividir os dados da aplicação em blocos de tamanhos apropriados. Depende do protocolo utilizado na camada de transporte como tais blocos são chamados: segmentos (TCP) ou datagramas (UDP). A camada de transporte divide os dados em blocos menores (segmentos ou datagramas) que facilitam o gerenciamento e o transporte (KUROSE e ROSS, 2016).

Adição de Informação no cabeçalho

O protocolo da camada de transporte também adiciona cabeçalho que contém informações organizadas em vários campos para cada bloco de dados. São os valores desses campos que possibilitam que vários protocolos da camada de transporte executem diferentes funções no gerenciamento da comunicação. A camada de transporte garante que vários aplicativos em execução em um dispositivo recebam os dados corretos. Os segmentos enviados têm cabeçalhos de camada de transporte com informações de controle.

Identificação de Aplicações

A camada de transporte consegue separar e gerenciar várias comunicações com necessidades diferentes de requisitos de transporte. Para passar os fluxos de dados para os aplicativos adequados, a camada de transporte identifica o aplicativo de destino ao usar um identificador denominado número de porta. Cada processo de software que necessita acessar a rede recebe um número de porta exclusivo para o host.

Multiplexação

O envio de certos tipos de dados, por exemplo, um streaming de vídeo através de uma rede como um fluxo de comunicação completo pode consumir toda a banda disponível. Tal fato impediria que outras comunicações ocorressem ao mesmo tempo. A camada de transporte usa segmentação e multiplexação que permitem que diferentes conversações se intercalem na mesma rede. A verificação de erros pode ser feita nos dados do segmento para saber se o segmento foi alterado durante a transmissão.

TCP

Visão Geral

O protocolo TCP da camada de transporte é confiável e completo que garante que os dados cheguem ao destino.  O TCP possui campos que garantem a entrega dos dados do aplicativo. Tais campos implicam em processamento adicional pelos hosts de envio e de recepção. O TCP provê confiabilidade e controle de fluxo. O TCP primeiro estabelece uma conexão entre o remetente (origem) e o destinatário para manter o estado de uma conversação e rastrear as informações. Desta forma, o TCP é um protocolo orientado a conexão.

Funcionalidades

O TCP é orientado a conexão, pois negocia e estabelece uma conexão permanente (ou sessão) entre os dispositivos de origem e de destino antes de encaminhar qualquer tráfego. Através do estabelecimento da sessão os dispositivos negociam a quantidade de tráfego que pode ser encaminhada em um certo momento e os dados de comunicação entre os dois são gerenciados.