Transporte OSI
Liane Tarouco
TSAPs
• As operações entre entidades de camadas
adjacentes dentro de um mesmo sistema
aberto ocorrem nos pontos de acesso de
serviço (SAP - Service Acess Point), que
estão localizados na interface entre duas
camadas.
• No caso da camada transporte esses pontos
são denominados TSAP (Transport Service
Acess Point).
Primitivas de serviço
• Estas primitivas estão definidas em 4 tipos:
– request (pedido): iniciada por uma camada (N+1)
para pedir algum serviço à camada (N);
– indication (indicação): emitida pela camada (N) à
camada (N+1) para indicar a ocorrência de algum
evento;
– response (resposta): enviada à camada (N) - pela
camada (N+1), em resposta à indicaç&atildeo
recebida da camada
– (N); - confirmation (confirmação): emitida pela
camada (N) para indicar ao originador do pedido do
serviço que o serviço foi completado.
Serviços confirmado e não
confirmados
• Um serviço que utiliza as quatro primitivas
chama-se serviço confirmado.
• Um serviço não-confirmado utiliza-se
apenas das duas primeiras: pedido e
indicação.
TSDUs e TPDUs
TSDU
• O serviço de transporte recebe do nível
superior a ele os dados a serem enviados, na
forma de unidade de dados de serviço de
transporte - TSDU (Transport Service Data
Unit).
• Estas TSDUs são passadas ao serviço de
transporte como parâmetros de primitivas
de serviço usadas para transferir dados.
TPDU
• As entidades pares (entidades de mesma
camada residentes em sistemas abertos
diferentes) trocam elementos de protocolo
denominados unidades de dados do
protocolo de transporte - TPDU (Transport
Protocol Date Unit).
Conexão de transporte
• Uma conexão de transporte é definida como uma
associação estabelecida entre entidades de sessão
com o objetivo de transferir dados.
• Cada conexão de transporte é associada a uma
conexão de rede - no caso das duas camadas
estarem operando em modo orientado à conexão.
• Nessa situação, se a conexão de rede falhar, a
conexão de transporte pode ser associada à outra
conexão de rede; e as TPDU perdidas podem ser
retransmitidas. Tal procedimento é conhecido
como reassociação após falha.
Segmentação e remontagem
• Normalmente o tamanho de uma TSDU não
é fixo, podendo exceder o tamanho que a
TPDU pode transportar.
• Quando isso acorre, o protocolo de
transporte segmenta a TSDU e a transporta
em várias TPDU, remontando-a novamente
no destino.
Concatenação e separação
• Para minimizar as interações entre camadas, um
usuário da camada de transporte pode entregar de
uma só vez à camada de transporte, várias TSDUs
que serão transportadas em uma única TPDU.
• Este procedimento é chamado de concatenação.
• Na recepção, o usuário da camada de transporte
deve ser capaz de identificar e separar as diversas
TSDUs entregues em uma única interação por
essa.
• Este procedimento é chamado de separação.
Multiplexação
• Nem sempre o mapeamento das conexões é
de um-para-um, podendo ocorrer no
transmissor uma multiplexação de mais de
uma conexão de transporte em uma conexão
de rede.
• O inverso ocorre no receptor, a
demultiplexação da conexão de rede nas
várias conexões de transporte.
Splitting e recombinação
• Além disso, pode acontecer de termos uma
conexão de transporte associada a mais de
uma conexão de rede.
• Este processo é denominado, no
transmissor, de splitting. No receptor,
acontece o processo inverso, chamado de
recombinação.
Numeração
• A camada de transporte transmissora faz a
numeração das TPDU enviadas, para que a
camada de transporte receptora possa fazer
a resseqüênciação das mesmas, garantindo
que o receptor receba as TPDU na mesma
ordem que o transmissor as enviou.
• Existem dois tipos de numerações
– normal
– extendida
Ressincronização
• A numeração extendida é utilizada em redes de
alto throughput, exigindo poucos reconhecimentos
de recebimentos de dados
• Até que tal reconhecimento chegue, ocorre a
retenção das TPDU correspondentes pela a
entidade de transporte transmissora, permitindo
assim uma retransmissão se necessário.
• A retransmissão feita pela camada de transporte
por ocorrência de erros na camada de rede é
conhecida como ressincronização da conexão de
transporte.
Controle de erros e de fluxo
• A camada de transporte pode realizar um
controle de erros através de uma checksum
inserida como um parâmetro das TPDU.
• Ela também realiza um controle de fluxo
denominado janela deslizante com alocação
de crédito.
Dados expressos
• Levando em consideração que estes
artifícios podem provocar um retardo no
fluxo de dados para transmitir dados com
urgência, foi definido prioridades para os
chamados dados expressos sobre os dados
normais.
Referências congeladas
• A camada de transporte provê um mecanismo de
prevenção a erros após a liberação da conexão.
• O mecanismo implica em não permitir que sejam
reutilizadas referências de transporte durante um
período de tempo grande o bastante para que não
apareçam mais TPDU com tais referências
circulando pela rede.
• Tais referências são ditas referências congeladas.
Liberação da conexão
• Terminada a transmissão de dados, a
conexão é liberada normalmente.
• Quando a conexão é liberada por ocasião de
uma reinicialização ou por falha da conexão
de rede, diz-se que houve uma liberação
com erro.
Protocolos de transporte
• Orientado a conexão
– classes de serviço
• Não orientado a conexão
Protocolo de transporte orientado
a conexão
•
•
•
•
•
•
mapeamento de endereços de transporte em endereços de rede
estabelecimento de conexão;
multiplexação de conexões de transporte em conexões de rede;
segmentação e concatenação de unidades de dados;
recuperação de erros fim-a-fim;
controle de seqüência fim-a-fim sobre cada conexão de
transporte;
• controle de fluxo fim-a-fim sobre cada conexão;
• monitoração da qualidade de serviço prestada;
• transferência de dados expressos.
Tipos de serviços prestados pela
camada de rede
• TIPO A: serviço de rede orientado à conexão; taxa
de erro residual e de erros sinalizados aceitável.
Detecta perda, duplicação, corrupcção e seqüência,
não ocorrendo quase perda de dados.
• TIPO B: serviço de rede orientado à conexão.
Oferece uma taxa de erro residual aceitável; porém,
uma taxa de erros sinalizados inaceitável.
• TIPO C: serviço de rede orientado ou não à
conexão. A taxa de erro residual é inaceitável e não
são detectados erros de perda, duplicação, corrupção
e seqüência.
Classes de serviço
•
•
•
•
Classe 0: classe simples
Classe 1: classe com recuperação básica de erros
Classe 2: classe com multiplexação
Classe 3: classe com recuperação de erros e
multiplexação
• Classe 4: classe com detecção e recuperação de
erros
Classe 0: Simples
• Compatível com a Recomendação CCITT T.70 para
terminais teletext.
• Serviço de rede prestado é do tipo A, totalmente confiável.
• O mapeamento entre as conexões de transporte e de rede é
de uma-para-uma, tornando desnecessária a
implementação de mecanismos de controle de seqüência,
de fluxo e de erro - tratados na camada de rede.
• Proporciona apenas as funções necessárias para
estabelecimento de conexão com negociação, transferência
de dados com segmentação e detecção de erros de
protocolo.
Classe 0
• O estabelecimento da conexão utiliza um mecanismo
chamado two-way handshake. Este mecanismo basea-se
na troca de duas (2) mensagens - pedido de conexão e
confirmação do pedido.
• Não é permitida a transferência de dados durante o
estabelecimento da conexão.
• Nas TPDU CR e CC, somente são permitidos os
parâmetros de identificação do ponto de acesso e tamanho
máximo da TPDU.
• O tamanho padrão dos dados é de 128 octetos, podendo
ser negociados valores de 256, 512, 1024 e 2048 octetos.
• Na classe 0, a entidade de transporte libera a conexão de
transporte solicitando a liberação da conexão de rede.
Classe 1: Recuperação Básica de
Erro
• Serviço de rede tipo B
• Recuperar-se de erros sinalizados pelo serviço de
rede (desconexão da rede ou reset)
• Conexão utiliza-se do mecanismo two-way
handshake
• Pode haver troca de dados na fase de conexão
Classe 1
• Cada TPDU de dados transmitida é
seqüencialmente numerada, e a entidade emissora
mantém uma cópia delas até que ela receba uma
mensagem da entidade receptora confirmando que
as mesmas chegaram perfeitamente.
• Facilidade de segmentação de TSDU
• Concatenar de TPDU em uma única NSDU
Classe 2: Classe com
Multiplexação
• Multiplexação de várias conexões de transporte numa
conexão de rede
• Cada TPDU possui uma referência de destino que
identifica cada conexão de transporte.
• Ela foi projetada para utilizar serviço de rede tipo A,
não utilizando de nenhum mecanismo para detecção e
recuperação de erros.
• Se a conexão de rede é desconectada ou ressetada, a
conexão de transporte é descontinuada.
Classe 2
• Estabelecimento da conexão com two-way
handshake
• Possibilidade de haver um controle de fluxo
explícito
• Mecanismo de crédito permitindo ao receptor
informar ao emissor a exata quantidade de dados que
deseja receber
Classe 2
• A entidade de transporte que recebe um ACK
(confirmação de TPDU) considera o campo YRTU-NR (da TPDU-ACK) como sendo o limiar
inferior da janela e a soma deste valor mais o valor
do campo CDT, como o limiar superior da janela.
• AS TPDU são numeradas seqüencialmente para
cada sentido da transmissão.
Classe 2
• Quando existe alguma mensagem de urgência, ela
pode ser enviada como um dado expresso, tendo
prioridade sobre as outras.
• Cada mensagem de dado expresso deve ser
confirmada antes da transmissão de outra TPDU
• Procedimento explícito para finalizar a conexão
Classe 3: Recuperação de erros e
multiplexação
• Reúne as funcionalidades das classes 1 e 2, mais a
capacidade de recuperação após uma falha
sinalizada pelo nível de rede (não envolvendo o
usuário do nível de transporte)
• Opera sobre serviço de rede do tipo B.
Classe 3
• A entidade emissora mantém cópias das TPDUDT e TPDU-ED até que ela receba uma
confirmação que elas chegaram com perfeição.
• O recebimento de uma TPDU-RJ indica quais
TPDU devem ser retransmitidas
• Através da TPDU-RJ pode-se diminuir o limite
superior da janela, diminuindo assim o crédito.
• A desconexão é feita explicitamente através da
TPDU-DR e da TPDU-DC.
Classe 4: Classe de detecção e
recuperação de erros
• Incorpora as funcionalidades da classe 3, mais a
capacidade de detecção de erros não-sinalizados
pela camada de rede
• Implementa mecanismos de tratamento de erros de
perda, duplicação e de seqüência.
• Foi projetada para atuar sobre um serviço de rede
não confiável, orientado ou não à conexão.
• Essa classe foi projetada para ser utilizada com
conexões de rede do tipo C.
Classe 4
• Estabelecimento da conexão através de um
mecanismo denominado three-way handshake
• Confirmação da confirmação da conexão
• TPDU possuem um tempo de vida limitado (timeout)
Classe 4
• As TPDU são mantidas em seqüência e o tamanho
da janela pode ser alterado com o envio de uma
TPDU-AK com um crédito menor
• Os dados expressos também são numerados, e são
entregues imediatamente ao nível de sessão
Classe 4
• Mecanismo de splitting, que associa uma conexão
de transporte a várias conexões de
rede.
• Quando não há nenhuma transmissão de TPDU, é
disparado um temporizador que, quando termina,
provoca o término da conexão.
• Na fase de desconexão, a referência (TSAP) é
congelada, não podendo ser reusada por um
determinado período de tempo
TPDU
•
•
•
•
•
•
•
•
•
CC - Conection Confirm
EA - Expedited Acknowledgement
CR - Connection Request
ED - Expedited Data
DC - Disconnect Confirm
ER - ERror
DR - Disconnect Request
RJ - Reject
DT - Data TPDU
Estabelecimento da conexão
Estabelecimento da conexão
na classe 4
Rejeição do pedido de conexão
Rejeição do pedido de
desconexão
Transporte de dados
Acknowledgement com
piggyback
Formato das TPDUs
Cabeçalho fixo e variável
LI - Lenght indicator
LI corresponde ao tamanho do cabeçalho em
octetos, excluindo ele mesmo
A parte fixa do cabeçalho contem parâmetros
de uso freqüente
Parâmetros do TPDU
• O primeiro parâmetro da parte fixa é o
código da TPDU, e a partir dele que são
definidos o tamanho e a estrutura da TPDU.
Em certos casos, a classe do protocolo e o
formato (normal ou extendido) também
influenciam no tamanho e na estrutura da
TPDU
Parte variável do TPDU
• A parte variável, se existir, deve conter um
ou mais parâmetros.
• Seu tamanho é definido pelo LI menos o
tamanho da parte fixa.
• Estrutura dos parâmetros da parte variável
TPDUs de estabelecimento e
encerramento de conexão
Campos do cabeçalho do TPDU
•
•
•
•
•
•
•
•
TDU = unidade de dados do protocolo de transporte
LI = indicador de tamanho
CDT = crédito
TSAP-ID = ponto de acesso do serviço de transporte
YR-TU-NR = número da seqüência
AK TIME = tempo de acknowledgement
DST-REF = referência no destino
SRC-REF = referência na fonte
Parâmetro usados nos TPDUs
* : parâmetro presente na TPDU correspondente
2,3,4 : parâmetro presente nas classes 2, 3 e 4
TPDUs de troca de dados
TPDU de erro
TPDUs de acknowledgement e
rejeição
Protocolo de transporte não
orientado à conexão
• Não garante a entrega nem a ordenação das
TPDU ao usuário de transporte de destino
• Ele não é capaz de segmentar as TPDU e
não possue controle de fluxo algum
• Primitivas de serviço
T-UNIDATA-request
T-UNIDATA-indication.
Serviço de transporte não
orientado à conexão
• O parâmetro de qualidade de serviço está
relacionado ao controle de erro realizado
por uma checksum.
Protocolo de transporte não
orientado á conexão
Formato do UD-TPDU
Download

Transporte OSI