Vous êtes sur la page 1sur 29

Camada de transporte

Pg. 85 da Apostila

Funes da camada de transporte

Responsvel pela movimentao de dados, de


forma eficiente e confivel, entre processos em
execuo nos equipamentos conectados a uma
rede de computadores, independentemente das
redes fsicas
Deve poder regular o fluxo de dados e garantir
confiabilidade, assegurando que os dados
cheguem em seu destino sem erros e na seqncia
correta

Funes da camada de transporte

Deve tornar transparente para os usurios


possveis variaes da confiabilidade do servio
fornecido pela camada de rede
Camada fim a fim: entidade da camada de
transporte da mquina de origem se comunica
diretamente com a camada de transporte da
mquina de destino
A entidade de transporte pode estar localizada no
ncleo do sistema operacional, em um outro
processo do usurio ou em um pacote de
biblioteca

Relacionamentos da camada de
transporte

Servios oferecidos pela camada


de transporte

Similares aos da camada de enlace de dados: visa


garantir troca de dados entre origem e destino,
tornando transparente o fato de existir redes/subredes abaixo
Oferece servios

No orientados conexo
Orientados conexo

Servio no orientado conexes

Servio de transporte no confivel. A camada de


transporte somente mapeia o pedido de
transmisso de dados em pacotes para a
transmisso pela camada de rede

Servio orientado conexes

Servio de transporte confivel. O transporte


orientado a conexes consiste em ocultar as
imperfeies do servio de rede, de modo que os
processos do usurio possam simplesmente supor
a existncia de um fluxo de bits livre de erros

Primitivas de servio orientado a


conexes

Primitivas para estabelecer, manter e liberar


conexes de transporte atravs de pontos de acesso
ao servio de transporte

TPDU Unidade de Dados do


Protocolo de Transporte

So mensagens enviadas entre duas entidades de


transporte
O cabealho do TPDU que carrega as mensagens
relacionadas com as primitivas da camada de
transporte

Estabelecimento de conexes

Parece um procedimento simples, mas no , pois


a camada de rede pode perder, armazenar ou
duplicar pacotes com mensagens correspondentes
as primitivas para criar conexes
Uma soluo possvel estabelecer um tempo
mximo de vida para cada pacote na rede

Pode ser usado um contador do nmero de saltos na


rede
Pode ser associado a cada pacote a estampa de tempo
(timestamp) do seu nascimento

Estabelecimento de conexes

Mtodo de Tomlinson

Cada TPDU numerada


As numeraes das TPDUs no se repetem dentro de
um perodo de tempo T
Usa-se ento o Tree-Way Handshake para estabelecer a
conexo

Tree-Way Handshake

Procedimento de conexo normal

Host 1 escolhe um nmero de seqncia inicial x e o


envia em uma TPDU CONNECTION REQUEST (CR)
para o host 2.
Host 2 responde com uma TPDU ACK que confirma x
e anuncia seu prprio nmero de seqncia inicial, y
Host 1 confirma o nmero de seqncia inicial
escolhido pelo host 2 na primeira TPDU de dados que
enviar

Tree-Way Handshake

Tree-Way Handshake

Procedimento com duplicata atrasada de CR

Primeira TPDU uma duplicata atrasada da primitiva


CONNECTION REQUEST de uma antiga conexo
Essa TPDU chega ao host 2 sem o conhecimento do
host 1
O host 2 reage a essa TPDU transmitindo uma TPDU
ACK ao host 1, para verificar se o host 1 deseja
realmente estabelecer uma nova conexo
Quando o host 1 rejeita a tentativa de conexo feita
pelo o host 2, este percebe que foi enganado por uma
duplicata atrasada e abandona a conexo

Tree-Way Handshake

Tree-Way Handshake

Procedimento com duplicatas atrasadas de CR e


ACK

Host 2 recebe uma CONNECTION REQUEST (CR)


atrasada e responde a ela, usando y como nmero de
seqncia inicial para o trfego do host 2 ao host 1
Quando a segunda TPDU atrasada chega ao host 2, o
fato de z ter sido confirmado no lugar de y faz com que
o host 2 tambm perceba que se trata de uma duplicata
antiga
no existe nenhuma combinao de TPDUs antigas que
possa fazer o protocolo falhar e configurar uma
conexo por acidente quando ela no for solicitada

Tree-Way Handshake

Controles nas conexes

Controle de Fluxo e de Erros

Similar aos mtodos usados na camada de Enlace,


porm com mais conexes para gerenciar

Qualidade de Servio (QoS)

Parmetros definidos pelo usurio


Retardos mximos para estabelecer/encerrar conexes
Probabilidade de falha no
estabelecimento/encerramento da conexo
Vazo em cada sentido da conexo
Retardo de transferncia mdio e mximo
Taxa de erro
Prioridade e probabilidade da queda de conexo

Encerramento de conexes

Parece mais simples que o estabelecimento, mas


complica quando se deseja evitar que dados sejam
perdidos depois que um dos lados encerrou a sua
conexo
Solues

tree-way handshake para desconexo


um lado encerra apenas depois de um tempo extra de
espera por eventuais mensagens a caminho, outro
encerra por time-out

Protocolos de transporte da
Internet

UDP

Protocolo de transporte no orientado conexo


Datagrama no confivel. Recebe os pedidos de
transmisso de mensagens pelos processos de
aplicao da origem e encaminha ao IP para
transmisso

TCP

Protocolo de transporte orientado conexo

Protocolo TCP

Projetado para funcionar com base em um servio


de rede sem conexo e sem confirmao
Capaz de transmitir uma cadeia contnua (stream)
de octetos (bytes) nas duas direes, entre seus
usurios
Normalmente o TCP decide o momento de parar
de agrupar os octetos e transmitir o segmento
formado

Protocolo TCP

Cada octeto transmitido associado a um nmero


de seqncia. O nmero de seqncia do primeiro
octeto contido em um segmento transmitido
junto e chamado de nmero de seqncia do
segmento
Os segmentos carregam de carona um
reconhecimento, que o nmero de seqncia do
prximo octeto que a entidade transmissora espera
receber
Segmentos transmitidos so armazenados para
eventual retransmisso

Protocolo TCP

Receptor pode determinar a janela de transmisso


do transmissor, baseada na sua janela de recepo
Receptor usa os nmeros de seqncia para
ordenar os quadros recebidos
Cada segmento tem um checksum associado
Para permitir vrios processos em um nico host,
o TCP utiliza o conceito de porta
Cada processo de aplicao sendo atendido possue
uma porta associada

Protocolo TCP

Para identificao unvoca um endereo TCP em


um rede, cada identificador de porta deve ser
associado a um endereo IP, e isso define um
socket
Associao de portas a processos pode ser
dinmica, porm processos servidores que so
muito usados (FTP, TELNET, HTTP) possuem
portas fixas
Uma conexo identificada por um par de sockets
em cada uma das suas extremidades

Protocolo TCP

TCP assume que opera como mdulo do sistema


operacional e assume que a interface com a rede
controlada por device drivers
A interface TCP oferecida aos usurios
(aplicaes) baseia-se em funes (open, close,
send, receive, ...)
A mais conhecida a Berkeley Sockets (UNIX)

Protocolo TCP

Quadro TCP

Quadro TCP

Nmero de seqncia e reconhecimento: numerar


quadros e confirmar recebimento
Tamanho do cabealho: indica o nmero de
palavras de 32 bits contidas no cabealho
URG: Ponteiro de urgncia
SYN: Conexes

Pedido: SYN = 1 e ACK = 0


Resposta: SYN = 1 e ACK = 1

Quadro TCP

FIN liberao de conexo


RST reiniciar conexo
EOM fim de mensagem

Controle de Erro = Soma de Verificao

Tamanho da Janela: TCP usa janela deslizante

Opes: Ex. Informar tamanho dos buffers

Vous aimerez peut-être aussi