Escolar Documentos
Profissional Documentos
Cultura Documentos
A camada de transporte desempenha o papel de fundamental de fornecer serviços de
comunicação diretamente aos processos de aplicação que rodam em hospedeiros diferentes.
Se encontra entre a camada de rede e a camada de aplicação.
Um protocolo da camada de transporte fornece comunicação lógica entre processos de
aplicação que rodam em hospedeiros diferentes. Comunicação lógica nesse contexto significa
que, do ponto de vista de uma aplicação, tudo se passa como se os hospedeiros que rodam os
processos estivessem conectados diretamente;
Processos de aplicação usam a comunicação lógica fornecida pela camada de transporte para
enviar mensagens entre si, livres da preocupação dos detalhes da infraestrutura física utilizada
para transportá-las.
Como vemos na Figura 3.1, protocolos da camada de transporte são implementados nos
sistemas finais, mas não em roteadores de rede. No lado remetente, a camada de transporte
converte as mensagens que recebe de um processo de aplicação remetente em pacotes de
camada de transporte, denominados segmentos de camada de transporte
Fonte: Livro Kurose - Rede de Computadores e Internet, pag. 136
Relação entre as camadas de transporte e de rede
- Enquanto um protocolo de camada de transporte fornece comunicação lógica entre
processos que rodam em hospedeiros diferentes.
- Um protocolo de camada de rede fornece comunicação lógica entre hospedeiros.
Os dados enviados na camada de transporte são chamados de segmentos.
TCP:
- Confiável garante ordem de entrega (TCP)
- Controle de congestionamento
- Controle de fluxo
- Orientado à conexão
UDP:
- Não confiável, não garante ordem na entrega
- Extensão do “melhor esforço” do IP
Serviços não disponíveis:
- Garantia a atrasos
- Garantia de banda
Multiplexação e demultiplexação
Um processo (como parte de uma aplicação de rede) pode ter um ou mais sockets, portas pelas
quais dados passam da rede para o processo e do processo para a rede. Assim, como mostra a
Figura, a camada de transporte do hospedeiro destinatário na verdade não entrega dados
diretamente a um processo, mas a um socket intermediário.
A tarefa de entregar os dados contidos em um segmento da camada de transporte ao socket
correto é denominada demultiplexação.
O trabalho de reunir, no hospedeiro de origem, partes de dados provenientes de diferentes
sockets, encapsular cada parte de dados com informações de cabeçalho para criar segmentos,
e passar esses segmentos para a camada de rede é denominada multiplexação.
Estrutura de um Segmento
Detecção de Erros
Checksum para detectar erros de bits
Reconhecimentos (ACKs): receptor avisa explicitamente ao transmissor que o pacote foi
recebido corretamente
Reconhecimentos negativos (NACKs): receptor avisa explicitamente ao transmissor que o
pacote tem erros
Transmissor reenvia o pacote quando da recepção de um NACK
Canal de transmissão pode também perder pacotes (dados ou ACKs)
- Transmissor espera um tempo “razoável” (i.e., timeout) pelo ACK
- Caso não seja recebido, é feita uma rétransmissão.
Requisitos em ARQ
Transmissões ACK’s e retransmissões enviadas com um valor sequencial.
ARQ do tipo Stop-and-Wait
Sender:
Rule 2) Send next packet only after receiving acknowledgement for previous.
Receiver:
Problems :
1. Lost Data
2. Lost Acknowledgement:
3. Delayed Acknowledgement/Data: After timeout on sender side, a long delayed
recent packet.