Camada de transporte - Transport layer
Suíte de protocolo de Internet |
---|
Camada de aplicação |
Camada de transporte |
Camada de Internet |
Camada de link |
Em redes de computadores , a camada de transporte é uma divisão conceitual de métodos na arquitetura em camadas de protocolos na pilha de rede no conjunto de protocolos da Internet e no modelo OSI . Os protocolos dessa camada fornecem serviços de comunicação host a host para aplicativos. Ele fornece serviços como comunicação orientada a conexão , confiabilidade , controle de fluxo e multiplexação .
Os detalhes de implementação e semântica da camada de transporte do conjunto de protocolos da Internet , que é a base da Internet , e o modelo OSI de rede geral são diferentes. Todos os protocolos em uso hoje nesta camada para a Internet se originaram no desenvolvimento do TCP / IP. No modelo OSI, a camada de transporte é freqüentemente referida como Camada 4 ou L4 , enquanto as camadas numeradas não são usadas no TCP / IP.
O protocolo de transporte mais conhecido do conjunto de protocolos da Internet é o Transmission Control Protocol (TCP). Ele é usado para transmissões orientadas por conexão, enquanto o User Datagram Protocol (UDP) sem conexão é usado para transmissões de mensagens mais simples. O TCP é o protocolo mais complexo, devido ao seu design stateful que incorpora transmissão confiável e serviços de fluxo de dados. Juntos, TCP e UDP abrangem essencialmente todo o tráfego na Internet e são os únicos protocolos implementados em todos os principais sistemas operacionais. Os protocolos de camada de transporte adicionais que foram definidos e implementados incluem o Datagram Congestion Control Protocol (DCCP) e o Stream Control Transmission Protocol (SCTP).
Modelo OSI por camada |
---|
Serviços
Os serviços da camada de transporte são transmitidos a um aplicativo por meio de uma interface de programação para os protocolos da camada de transporte. Os serviços podem incluir os seguintes recursos:
- Comunicação orientada a conexão : normalmente é mais fácil para um aplicativo interpretar uma conexão como um fluxo de dados em vez de ter que lidar com os modelos subjacentes sem conexão, como o modelo de datagrama do User Datagram Protocol (UDP) e da Internet Protocolo (IP).
- Entrega na mesma ordem: a camada de rede geralmente não garante que os pacotes de dados cheguem na mesma ordem em que foram enviados, mas geralmente esse é um recurso desejável. Isso geralmente é feito por meio do uso de numeração de segmento, com o receptor passando-os para o aplicativo em ordem. Isso pode causar bloqueio frontal .
- Confiabilidade : os pacotes podem ser perdidos durante o transporte devido ao congestionamento da rede e erros. Por meio de um código de detecção de erro , como uma soma de verificação , o protocolo de transporte pode verificar se os dados não estão corrompidos e verificar o recebimento correto enviando uma mensagem ACK ou NACK ao remetente. Os esquemas de solicitação de repetição automática podem ser usados para retransmitir dados perdidos ou corrompidos.
- Controle de fluxo : a taxa de transmissão de dados entre dois nós deve, às vezes, ser gerenciada para evitar que um remetente rápido transmita mais dados do que o buffer de recepção de dados suporta , causando uma saturação do buffer. Isso também pode ser usado para melhorar a eficiência, reduzindo a insuficiência de buffer .
- Prevenção de congestionamento : o controle de congestionamento pode controlar a entrada do tráfego em uma rede de telecomunicações, de modo a evitar o colapso congestivo , tentando evitar a superinscrição de qualquer um dos recursos de processamento ou link dos nós e redes intermediários e tomando medidas de redução de recursos, como reduzir a taxa de envio de pacotes . Por exemplo, solicitações de repetição automática podem manter a rede em um estado congestionado; esta situação pode ser evitada adicionando prevenção de congestionamento ao controle de fluxo, incluindo partida lenta . Isso mantém o consumo de largura de banda em um nível baixo no início da transmissão ou após a retransmissão do pacote.
- Multiplexação : as portas podem fornecer vários pontos de extremidade em um único nó. Por exemplo, o nome em um endereço postal é uma espécie de multiplexação e distingue entre diferentes destinatários do mesmo local. Cada aplicativo de computador ouvirá informações em suas próprias portas, o que permite o uso de mais de um serviço de rede ao mesmo tempo. Faz parte da camada de transporte no modelo TCP / IP , mas da camada de sessão no modelo OSI.
Análise
A camada de transporte é responsável por entregar dados ao processo de aplicativo apropriado nos computadores host. Isso envolve a multiplexação estatística de dados de diferentes processos de aplicação, ou seja, a formação de segmentos de dados e a adição de números de porta de origem e destino no cabeçalho de cada segmento de dados da camada de transporte. Junto com o endereço IP de origem e destino, os números das portas constituem um soquete de rede , ou seja, um endereço de identificação da comunicação processo a processo. No modelo OSI, esta função é suportada pela camada de sessão .
Alguns protocolos da camada de transporte, por exemplo TCP, mas não UDP, oferecem suporte a circuitos virtuais , ou seja, fornecem comunicação orientada à conexão por meio de uma rede de datagramas orientada a pacotes subjacente . Um fluxo de bytes é entregue enquanto oculta a comunicação do modo de pacote para os processos do aplicativo. Isso envolve o estabelecimento da conexão, a divisão do fluxo de dados em pacotes chamados de segmentos, a numeração do segmento e o reordenamento dos dados fora de ordem.
Finalmente, alguns protocolos da camada de transporte, por exemplo TCP, mas não UDP, fornecem comunicação confiável de ponta a ponta, ou seja, recuperação de erro por meio de código de detecção de erro e protocolo de solicitação de repetição automática (ARQ). O protocolo ARQ também fornece controle de fluxo , que pode ser combinado com prevenção de congestionamento .
O UDP é um protocolo muito simples, e não fornece circuitos virtuais, nem comunicação confiável, delegando essas funções ao programa aplicativo . Os pacotes UDP são chamados de datagramas , em vez de segmentos.
O TCP é usado para muitos protocolos, incluindo navegação na web HTTP e transferência de e-mail. UDP pode ser usado para multicast e broadcast , uma vez que as retransmissões não são possíveis para uma grande quantidade de hosts. O UDP normalmente oferece maior rendimento e menor latência e, portanto, é frequentemente usado para comunicação multimídia em tempo real, onde a perda de pacotes pode ser aceita ocasionalmente, por exemplo IP-TV e IP-telefonia, e para jogos de computador online.
Muitas redes não baseadas em IP, como X.25 , Frame Relay e ATM , implementam a comunicação orientada à conexão na rede ou na camada de enlace de dados em vez da camada de transporte. No X.25, em modems de rede telefônica e em sistemas de comunicação sem fio, a comunicação nó a nó confiável é implementada em camadas de protocolo inferiores.
A especificação do protocolo da camada de transporte do modo de conexão OSI define cinco classes de protocolos de transporte: TP0 , fornecendo a menor recuperação de erro, para TP4 , que é projetado para redes menos confiáveis.
Protocolos
Esta lista mostra alguns protocolos que são comumente colocados nas camadas de transporte do conjunto de protocolos Internet , o conjunto de protocolos OSI , NetWare 's IPX / SPX , AppleTalk , e Fibre Channel .
- ATP, protocolo de transação AppleTalk
- CUDP, UDP cíclico
- DCCP, protocolo de controle de congestionamento de datagrama
- FCP, protocolo de canal de fibra
- Protocolo IL , IL
- MPTCP, Multipath TCP
- NORM, multicast confiável orientado para NACK
- RDP, protocolo de dados confiáveis
- RUDP, protocolo de datagrama de usuário confiável
- SCTP, protocolo de transmissão de controle de fluxo
- SPX, Sequenced Packet Exchange
- SST, Transporte de Fluxo Estruturado
- TCP, protocolo de controle de transmissão
- UDP, protocolo de datagrama do usuário
- UDP-Lite
- µTP, Protocolo de Micro Transporte
Comparação de protocolos da camada de transporte
Característica | UDP | UDP-Lite | TCP | Multipath TCP | SCTP | DCCP | RUDP |
---|---|---|---|---|---|---|---|
Tamanho do cabeçalho do pacote | 8 bytes | 8 bytes | 20-60 bytes | 50-90 bytes | 12 bytes | 12 ou 16 bytes | 14+ bytes |
Sobrecarga típica de pacote de dados | 8 bytes | 8 bytes | 20 bytes | ?? bytes | 44-48 + bytes | 12 ou 16 bytes | 14 bytes |
Entidade de pacote de camada de transporte | Datagrama | Datagrama | Segmento | Segmento | Datagrama | Datagrama | Datagrama |
Conexão orientada | Não | Não | sim | sim | sim | sim | sim |
Transporte confiável | Não | Não | sim | sim | sim | Não | sim |
Transporte não confiável | sim | sim | Não | Não | sim | sim | sim |
Preservar o limite da mensagem | sim | sim | Não | Não | sim | sim | sim |
Entrega | Não ordenado | Não ordenado | Ordenado | Ordenado | Ordenado / Não ordenado | Não ordenado | Não ordenado |
Soma de verificação de dados | Opcional | sim | sim | sim | sim | sim | Opcional |
Tamanho do checksum | 16 bits | 16 bits | 16 bits | 16 bits | 32 bits | 16 bits | 16 bits |
Checksum parcial | Não | sim | Não | Não | Não | sim | Não |
Path MTU | Não | Não | sim | sim | sim | sim | ? |
Controle de fluxo | Não | Não | sim | sim | sim | Não | sim |
Controle de congestão | Não | Não | sim | sim | sim | sim | ? |
Notificação explícita de congestionamento | Não | Não | sim | sim | sim | sim | ? |
Múltiplos streams | Não | Não | Não | Não | sim | Não | Não |
Multi-homing | Não | Não | Não | sim | sim | Não | Não |
Pacote / Nagle | Não | Não | sim | sim | sim | Não | ? |
Comparação de protocolos de transporte OSI
ISO / IEC 8073 / ITU-T Recomendação X.224, "Tecnologia da Informação - Interconexão de Sistemas Abertos - Protocolo para fornecer o serviço de transporte em modo de conexão", define cinco classes de protocolos de transporte em modo de conexão designados de classe 0 (TP0) a classe 4 (TP4). A classe 0 não contém recuperação de erros e foi projetada para uso em camadas de rede que fornecem conexões sem erros. A classe 4 é a mais próxima do TCP, embora o TCP contenha funções, como o fechamento normal, que o OSI atribui à camada de sessão. Todas as classes de protocolo de modo de conexão OSI fornecem dados acelerados e preservação de limites de registro. As características detalhadas das classes são mostradas na tabela a seguir:
Serviço | TP0 | TP1 | TP2 | TP3 | TP4 |
---|---|---|---|---|---|
Rede orientada para conexão | sim | sim | sim | sim | sim |
Rede sem conexão | Não | Não | Não | Não | sim |
Concatenação e separação | Não | sim | sim | sim | sim |
Segmentação e remontagem | sim | sim | sim | sim | sim |
Recuperação de erro | Não | sim | Não | sim | sim |
Reinicie a conexão (se um número excessivo de PDUs não for confirmado) | Não | sim | Não | sim | Não |
Multiplexação e demultiplexação em um único circuito virtual | Não | Não | sim | sim | sim |
Controle de fluxo explícito | Não | Não | sim | sim | sim |
Retransmissão no tempo limite | Não | Não | Não | Não | sim |
Serviço de transporte confiável | Não | sim | Não | sim | sim |
Há também um protocolo de transporte sem conexão, especificado pela ISO / IEC 8602 / ITU-T Recomendação X.234.