Tabla de Contenido
Papel da Camada de Transporte
Os programas da camada de aplicação geram dados que devem ser trocados entre os hosts de origem e de destino. A camada de transporte é responsável pela comunicação lógica entre aplicativos executados em hosts diferentes. Isso pode incluir serviços como o estabelecimento de uma sessão temporária entre dois hosts e a transmissão confiável de informações para um aplicativo.
Conforme mostrado na figura, a camada de transporte é o elo entre a camada de aplicação e as camadas inferiores responsáveis pela transmissão da rede.
A camada de transporte não tem conhecimento do tipo de host de destino, o tipo de mídia pela qual os dados devem viajar, o caminho percorrido pelos dados, o congestionamento em um link ou o tamanho da rede.
A camada de transporte inclui dois protocolos:
- Protocolo de controle de transmissão (TCP)
- Protocolo de datagrama do usuário (UDP)
Responsabilidades da Camada de Transporte
A camada de transporte tem muitas responsabilidades.
Clique em cada botão para obter mais informações.
Protocolos da Camada de Transporte
O IP preocupa-se apenas com a estrutura, endereçamento e roteamento de pacotes. O IP não especifica como ocorre a entrega ou transporte dos pacotes.
Os protocolos da camada de transporte especificam como transferir mensagens entre hosts e são responsáveis por gerenciar os requisitos de confiabilidade de uma conversa. A camada de transporte inclui os protocolos TCP e UDP.
Diferentes aplicações têm diferentes requisitos de confiabilidade de transporte. Portanto, o TCP / IP fornece dois protocolos da camada de transporte, conforme mostrado na figura.
Protocolo de controle de transmissão (TCP)
O IP se preocupa apenas com a estrutura, endereçamento e roteamento de pacotes, do remetente original ao destino final. A IP não é responsável por garantir a entrega ou determinar se uma conexão entre o remetente e o destinatário precisa ser estabelecida.
O TCP é considerado um protocolo de camada de transporte confiável e completo, que garante que todos os dados cheguem ao destino. O TCP inclui campos que garantem a entrega dos dados do aplicativo. Esses campos requerem processamento adicional pelos hosts de envio e recebimento.
Nota: O TCP divide os dados em segmentos.
O transporte TCP é análogo ao envio de pacotes que são rastreados da origem ao destino. Se um pedido de remessa for dividido em vários pacotes, um cliente pode verificar online para ver o pedido da entrega.
O TCP fornece confiabilidade e controle de fluxo usando estas operações básicas:
- Numere e rastreie os segmentos de dados transmitidos para um host específico a partir de um aplicativo específico
- Confirmar dados recebidos
- Retransmitir todos os dados não confirmados após um determinado período de tempo
- Dados de sequência que podem chegar na ordem errada
- Envie dados em uma taxa eficiente que seja aceitável pelo receptor
Para manter o estado de uma conversação e rastrear as informações, o TCP deve primeiro estabelecer uma conexão entre o remetente e o destinatário. É por isso que o TCP é conhecido como um protocolo orientado a conexão.
Clique em Reproduzir na figura para ver como os segmentos TCP e as confirmações são transmitidas entre o emissor e o receptor.
Protocolo de datagrama do usuário (UDP)
UDP é um protocolo de camada de transporte mais simples que o TCP. Ele não fornece confiabilidade e controle de fluxo, o que significa que requer menos campos de cabeçalho. Como os processos UDP do emissor e do receptor não precisam gerenciar a confiabilidade e o controle de fluxo, isso significa que os datagramas UDP podem ser processados mais rapidamente do que os segmentos TCP. O UDP fornece as funções básicas para entrega de datagramas entre os aplicativos apropriados, com muito pouca sobrecarga e verificação de dados.
Nota: UDP divide os dados em datagramas que também são chamados de segmentos.
UDP é um protocolo sem conexão. Como o UDP não fornece confiabilidade ou controle de fluxo, ele não requer uma conexão estabelecida. Como o UDP não rastreia as informações enviadas ou recebidas entre o cliente e o servidor, o UDP também é conhecido como protocolo sem estado.
O UDP também é conhecido como protocolo de entrega de melhor esforço porque não há confirmação de que os dados foram recebidos no destino. Com o UDP, não há processos da camada de transporte que informam o remetente de uma entrega bem-sucedida.
UDP é como colocar uma carta normal, não registrada, no correio. O remetente da carta não tem conhecimento da disponibilidade do destinatário para recebê-la. Nem os correios são responsáveis por rastrear a carta ou informar ao remetente se a carta não chegar ao destino final.
Clique em Reproduzir na figura para ver uma animação dos datagramas UDP sendo transmitidos do emissor para o receptor.
O Protocolo de Camada de Transporte Certo para o Aplicativo Certo
Alguns aplicativos podem tolerar alguma perda de dados durante a transmissão pela rede, mas atrasos na transmissão são inaceitáveis. Para esses aplicativos, o UDP é a melhor escolha porque requer menos sobrecarga de rede. UDP é preferível para aplicativos como Voice over IP (VoIP). Agradecimentos e retransmissão retardariam a entrega e tornariam a conversa de voz inaceitável.
O UDP também é usado por aplicativos de solicitação e resposta em que os dados são mínimos e a retransmissão pode ser feita rapidamente. Por exemplo, o serviço de nome de domínio (DNS) usa UDP para esse tipo de transação. O cliente solicita endereços IPv4 e IPv6 para um nome de domínio conhecido de um servidor DNS. Se o cliente não receber uma resposta em um período de tempo predeterminado, ele simplesmente envia a solicitação novamente.
Por exemplo, se um ou dois segmentos de um fluxo de vídeo ao vivo não chegarem, isso criará uma interrupção momentânea no fluxo. Isso pode aparecer como distorção na imagem ou som, mas pode não ser perceptível para o usuário. Se o dispositivo de destino tivesse que levar em conta os dados perdidos, o fluxo poderia ser atrasado enquanto aguardava a retransmissão, fazendo com que a imagem ou o som fossem bastante degradados. Nesse caso, é melhor renderizar a melhor mídia possível com os segmentos recebidos e abrir mão da confiabilidade.
Para outras aplicações, é importante que todos os dados cheguem e que possam ser processados na sequência adequada. Para esses tipos de aplicativos, o TCP é usado como protocolo de transporte. Por exemplo, aplicativos como bancos de dados, navegadores da web e clientes de e-mail exigem que todos os dados enviados cheguem ao destino em sua condição original. Qualquer dado ausente pode corromper uma comunicação, tornando-a incompleta ou ilegível. Por exemplo, é importante, ao acessar informações bancárias pela web, certificar-se de que todas as informações sejam enviadas e recebidas corretamente.
Os desenvolvedores de aplicativos devem escolher qual tipo de protocolo de transporte é apropriado com base nos requisitos dos aplicativos. O vídeo pode ser enviado por TCP ou UDP. Os aplicativos que transmitem áudio e vídeo armazenados geralmente usam TCP. O aplicativo usa TCP para realizar buffering, verificação de largura de banda e controle de congestionamento, a fim de controlar melhor a experiência do usuário.
O vídeo e a voz em tempo real geralmente usam UDP, mas também podem usar TCP, ou UDP e TCP. Um aplicativo de videoconferência pode usar UDP por padrão, mas como muitos firewalls bloqueiam o UDP, o aplicativo também pode ser enviado por TCP.
Os aplicativos que transmitem áudio e vídeo armazenados usam TCP. Por exemplo, se sua rede repentinamente não puder suportar a largura de banda necessária para assistir a um filme sob demanda, o aplicativo pausa a reprodução. Durante a pausa, você pode ver uma mensagem de “buffering …” enquanto o TCP trabalha para restabelecer o fluxo. Quando todos os segmentos estão em ordem e um nível mínimo de largura de banda é restaurado, sua sessão TCP é retomada e a reprodução do filme.
A figura resume as diferenças entre UDP e TCP.