CAMADA DE TRANSPORTE
Camada de Camada de
transporte transporte
Camada de Camada de
rede rede
Camada de Camada de
enlace enlace
Meio Físico
Principais funções :
A técnica do three-way handshake busca solucionar um problema que pode surgir quando do
estabelecimento de uma conexão: por exemplo, em uma conexão aberta é feita uma
transferência eletrônica de dinheiro e é pedido o encerramento da conexão. Entretanto, por
problemas de congestionamento da rede, foi necessário reenviar o pedido de transferência e
novo pedido de desconexão. Após a máquina de origem ter se desconectado, chega à
máquina de destino o novo pedido de transferência que é aceito, antes da desconexão da
máquina destino, duplicando a transferência, sem que o cliente perceba. A técnica exige que
os pedidos e as confirmações sejam numerados seqüencialmente e que a mesma seqüência
não possa aparecer mais de uma vez na transmissão. Se houver repetição, a máquina
destino rejeitará esta duplicidade. (Ver figura a seguir)
H1 H2
PC (
seq = x)
H1 H2
, ) PC (
CC(seq=y ACK=x seq = x)
, ) , )
D(seq=x ACK=y CC(seq=y ACK=x
)
REJEITA(ACK=y
H1 H2
PC (
seq = x)
, ) PC == confirmação
pedido de conexão
CC(seq=y ACK=x CC de
conexão
, )
D(seq=x ACK=y
) D = dados
REJEITA(ACK=y
Seq = sequência
ACK = confirmação
PORTAS
O acesso das aplicações à camada de transporte é feito através de portas que recebem um
número inteiro para cada tipo de aplicação, podendo também tais portas serem criadas à
medida que novas necessidades vão surgindo com o desenvolvimento de novas aplicações.
As portas mais comumente utilizadas tem números pré-definidos e são chamadas de portas-
bem-conhecidas, como algumas mostradas na tabela abaixo:
A maneira como a camada de transporte transmite dados das várias aplicações simultâneas
é por intermédio da multiplexação, onde várias mensagens são repassadas para a camada
de rede (especificamente ao protocolo IP) que se encarregará de empacotá-las e mandar
para uma ou mais interface de rede. Chegando ao destinatário o protocolo IP repassa os
dados para a camada de transporte que faz a demultiplexação para as portas (aplicações)
específicas.
O cabeçalho do segmento TCP tem um formato inicial fixo de 20 bytes, seguidos ou não por
opções de cabeçalho. Após as opções pode haver até 65.535 - 20 - 20 = 65.495 bytes de
dados, onde o primeiro valor 20 corresponde ao cabeçalho IP e o segundo, ao cabeçalho
TCP. Pode haver segmentos sem quaisquer dados e que são usados para confirmações e
mensagens de controle.
Porta de Origem e Porta de Destino -> Contém os números das portas TCP definidos
para programas aplicativos. Uma porta e o endereço IP de seu host formam um único
ponto terminal de 48 bits, que vai identificar a conexão;
o Portas de 0 a 1023: reservadas para aplicações de domínio público (well known
ports = portas bem conhecidas);
o Portas de 1024 a 49151: reservadas para aplicações comerciais registradas;
o Portas de 49152 a 65535: portas dinâmicas ou privadas.
Número de seqüência -> Corresponde à sequência do segmento anteriormente
transmitido, somado ao nº de bytes transmitidos;
Número de confirmação -> Corresponde à sequência do segmento que está sendo
confirmado, somado ao nº de bytes recebidos;
Offset de dado s-> Tamanho do cabeçalho do TCP (termina onde os dados começam);
Reservado-> Sem utilização;
URG (Urgent) -> Indica envio de dados urgentes;
ACK (Acknowledgement) ->Confirmação dos dados enviados anteriormente;
PSH (Push) ->Envia rapidamente os dados depois que lê o segmento;
O UDP é um protocolo mais rápido do que o TCP, pelo fato de não verificar o
reconhecimento das mensagens enviadas. Por este mesmo motivo, não é confiável como o
TCP. O protocolo é não-orientado à conexão, e não provê muitas funções: não controla o
fluxo, podendo os datagramas chegar fora de seqüência ou até mesmo não chegar ao
destinatário. Contém identificação das portas de origem e destino, iguais às do TCP.
Também contém os campos tamanho (UDP length) e soma de verificação (UDP checksum),
sendo que os datagramas que não consistem estes campos, ao chegar no destino, são
descartados, cabendo à camada de aplicação recuperá-los.
O UDP funciona como uma extensão do protocolo IP, já visto na camada de rede. Os
pedidos de transmissão de mensagens vindos das camadas superiores são encaminhados
ao IP que é o responsável pela transmissão dos datagramas.