13
O nível Transporte nas redes ATM Introdução Estrutura da camada de adaptação ATM (AAL) AAL 1 AAL 2 AAL 5 Comparação entre protocolos AAL

O nível Transporte nas redes ATMtele1.dee.fct.unl.pt/rit1_2006_2007/teo/2_trans_atm.pdfsegmentação do feixe de dados ou mensagens em unidades de 44 a 48 bytes no emissor. Dependendo

Embed Size (px)

Citation preview

O nível Transporte nas redes ATM Introdução Estrutura da camada de adaptação ATM (AAL) AAL 1 AAL 2 AAL 5 Comparação entre protocolos AAL

© Luis Bernardo AAL-2

Introdução A camada AAL (ATM Adaptation Layer) da rede ATM corresponde a um nível transporte, que oferece um serviço destino-a-destino às aplicações usando os serviços da camada ATM. O nível ATM suporta o transporte da sequência de células de 53 bytes (48 bytes de dados) em circuitos virtuais, sem controlo de erros, de fluxo ou outro controlo. O nível AAL visa adaptar as características da rede aos requisitos das aplicações. A sua principal funcionalidade é suportar a segmentação das mensagens das aplicações em células no emissor, e reconstruir a mensagem original no receptor. Existem vários protocolos AAL, destinados a suportar diferentes categorias de serviço: • AAL1 – tráfego CBR • AAL2 – tráfego RT-VBR • AAL3/4 e AAL5 - tráfego de dados sem requisitos de tempo

real O protocolo AAL5 oferece uma funcionalidade semelhante ao UDP, sendo usado para transportar tráfego IP sobre ATM. Não existe nenhum protocolo para dados que ofereça um serviço fiável semelhante ao TCP. Geralmente usa-se um nível transporte adicional sobre o AAL (TCP-IP-ATM) para obter essa funcionalidade.

© Luis Bernardo AAL-3

Estrutura da camada de adaptação ATM (AAL)

CS Subcamada de convergência SAR Subcamada de segmentação e reagrupamento ATM Cada camada AAL está dividida em duas subcamadas:

• CS (subcamada de convergência)

Oferece a interface para a aplicação, realizando a segmentação do feixe de dados ou mensagens em unidades de 44 a 48 bytes no emissor.

Dependendo do protocolo, pode incluir funcionalidades de delimitação de mensagens e detecção de erros.

Lida com MENSAGENS.

• SAR (subcamada de segmentação e reagrupamento)

Na recepção realiza o reagrupar das células em mensagens, podendo acrescentar cabeçalhos (headers) e caudas (trailers).

Dependendo do protocolo, pode lidar com multiplexagem de ligações e detecção de erros.

Lida com CÉLULAS. A subcamada CS (de convergência) pode-se ainda subdividir em duas camadas internas: • Uma parte específica da aplicação; • Uma parte comum para todas as aplicações (para um

protocolo AAL). A comunicação entre a aplicação e a camada AAL usa duas primitivas: uma de pedido (Request) e outra de sinalização (Indication).

AAL

© Luis Bernardo AAL-4

Estrutura da camada de adaptação ATM (AAL) Cada protocolo AAL pode ter protocolos para uma ou para as duas subcamadas AAL, que acrescentam cabeçalhos e caudas à mensagem recebida da aplicação. A subcamada de convergência (CS) segmenta a mensagem por várias células.

CS

A

T

M

S

A

R

S

A

R

A

T

M

S

A

R

S

A

R

CSA

T

M

S

A

R

S

A

R

CS

S

A

R

S

A

R

CS

S

A

R

S

A

R

CS CS

S

A

R

S

A

R

Saída da

Aplicação

Saída da

subcamada

SAR

Saída da

subcamada de

convergência

Saída da

camada

ATM

Não usado44-48

48

53

octetos

© Luis Bernardo AAL-5

AAL 1 Suporta a transmissão de tráfego CBR (Constant Bit Rate). Não recupera erros, mas reporta perdas de células para a aplicação. O AAL1 usa a subcamada de convergência (CS) e a subcamada de segmentação e reagrupamento. Subcamada CS As tarefas da subcamada CS são:

• detectar células perdidas e mal inseridas;

• controlar a entrega das mensagens recebidas da subcamada SAR à aplicação, de forma a manter o ritmo constante;

• segmentar as mensagens da aplicação em unidades de 46 ou 47 bytes entregando-as à sub camada SAR, ou reagrupar as unidades recebidas em mensagens.

A subcamada não tem cabeçalhos nem caudas específicas. Subcamada SAR A subcamada SAR tem dois modos de funcionamento:

• feixe de células

• feixe de mensagens

© Luis Bernardo AAL-6

AAL 1 A subcamada SAR usa mensagens (PDUs) com o seguinte formato:

8

SN0 47 bytes de dados

Paridade par

Bits

48 Bytes

SNP

SN1 46 bytes de dadosSNP Ponteiro

Não P

(feixe)

P

(mensagens)

1 3 3 1

Tem dois modos de funcionamento:

• SN – número de sequência de célula;

• SNP – CRC do SN gerado com o polinómio x3+x+1;

• bit de paridade par que protege os primeiros 7 bits.

No modo feixe é usado o primeiro formato (primeiro bit a 0). No modo mensagem (tipo P com o primeiro bit a 1) a PDU tem um campo adicional (Ponteiro), que define o byte do início da próxima mensagem. Cada mensagem tem entre 0 e 92 bytes. Apenas as PDUs com SN par podem ser do tipo P. As PDUs impares são usadas para realizar a sincronização de relógios. O AAL1 não contém campos para definir o número de bytes preenchidos na célula. Tem de se definir no início de uma transmissão entre as aplicações, não se aproveitando os bits restantes nas células.

© Luis Bernardo AAL-7

AAL 2 O AAL2 foi desenvolvido para suportar tráfego VBR, evitando o envio de células quase vazias (como ocorre em AAL1 com intervalos curtos de recolha de amostras de áudio).

Atraso de empacotamento ATM

Voz com ritmo binário baixo(e.g. CS-ACELP 8Kbps)

Montagem das célula ATM

célula ATM célula ATM

O AAL 2 apenas foi ratificado pelo ITU-T em Setembro de 1997, depois da publicação do livro recomendado. É fornecido um tutorial da General DataComm. O AAL2 define um modelo de protocolos ligeiramente diferente. A CP (Parte comum) equivale à junção da parte comum da subcamada de convergência mais a subcamada SAR.

O AAL2 suporta: • Multiplexagem de ligações através de uma ligação • Ritmo variável para cada ligação

© Luis Bernardo AAL-8

AAL 2 Protocolo CP (parte comum) O protocolo CP pode-se subdividir na subcamada CPCS, que lida com mensagens, e na SAR, que lida com células. A parte comum da subcamada de convergência (CPCS) recebe pacotes da parte específica da subcamada de convergência (SSCS), acrescentando o seguinte cabeçalho:

LICID 1-45/64 Bytes de dados

Bits

48/67 Bytes

UUI

Cabeçalho CPCS

8 6 5 5

HEC

• CID (Channel Identifier) – Identifica o utilizador do canal. • LI (Length) – Comprimento dos dados no pacote. • UUI (User-to-User Indication) – dados da subcamada SSCS

passados transparentemente. • HEC (Header Error Control) – código corrector de erros. A subcamada CPCS reúne pacotes de várias ligações AAL2 enviando-as à subcamada SAR, que os segmenta em várias unidades de 47 bytes.

Comprimento negociado por ligação AAL2

individual (tempo empacotamento limitado)

Pacotes SSCS

Pacotes AAL2(várias ligações

AAL2)

Células ATM

© Luis Bernardo AAL-9

AAL 2 Os pacotes da subcamada SAR correspondem à CPS-PDU e têm a estrutura representada em seguida.

Segmento de pacote AAL2 que

começou numa célula anterior

Aponta para início do

primeiro pacote AAL2 que

inicia transmissão na PDU

Vazio ou

segmento de

pacote CPS

116

1 Byte 47 Bytes

(48 Bytes)

• OSF (Offset Field) – Aponta para o início do primeiro pacote AAL2 contido na PDU.

• SN (Sequence Number) – Bit de sequência.

• P – bit de paridade.

O protocolo tem uma eficiência elevada pois permite utilizar técnicas de compressão de dados que geram um ritmo variável, como supressão de silêncios, reduzindo o espaço não usado nas células com a multiplexagem de vários canais. Protocolo SSCS (parte específica) Foram definidos vários protocolos SSCS para lidar com: • Trunking de ligações (multiplexagem de ligações de tempo

real sobre ATM). • Aplicações de voz sobre redes móveis.

© Luis Bernardo AAL-10

AAL 3/4 Nos trabalhos iniciais a ITU (International Telecommunication Union) previa a definição de dois protocolos AAL para dados sem requisitos temporais: um orientado à ligação (AAL3) e outro para serviços sem ligação (AAL4). Durante a normalização inicial dos protocolos eles foram combinados num único protocolo, que pode operar em dois modos: feixe (orientado à ligação); ou mensagem (sem ligação). No modo mensagem cada invocação envia uma mensagem para a rede, sendo preservadas as fronteiras entre mensagens. No modo feixe as fronteiras entre mensagens não são preservadas. O AAL 3/4 pode funcionar no modo fiável ou não fiável. No primeiro caso, detecta os erros de transmissão de mensagens. O AAL 3/4 suporta a multiplexagem de várias sessões através de um circuito virtual ATM. Cada sessão é identificada por um MID (Multiplexing ID). Todas as sessões partilham a qualidade de serviço definida para o circuito virtual. A vantagem da multiplexagem é a redução de custos, por se abrir uma única ligação entre duas máquinas.

© Luis Bernardo AAL-11

AAL 3/4 O AAL 3/4 tem protocolos nas duas subcamadas: CS e SAR Protocolo CS (Subcamada de convergência) O protocolo CS constrói uma mensagem com a estrutura seguinte e envia-a à subcamada SAR. Protocolo SAR (Subcamada de segmentação e reagrupamento) O protocolo SAR recebe a mensagem da subcamada CS, subdivide-a em blocos de 44 bytes, e acrescenta os seguintes cabeçalho e cauda:

Criticas ao AAL 3/4 O AAL 3/4 é ineficiente porque desperdiça demasiados bytes em cabeçalhos e caudas: • 8 bytes por mensagem na subcamada CS; • 4 bytes por células na subcamada SAR. A melhor utilização possível é 83% da largura de banda. Na realidade é pior pois há bytes acrescentados na subcamada CS e pode haver bytes vazios na última célula. O AAL 3/4 usa um código de detecção de erros fraco (10 bits) apenas ao nível da célula, não oferecendo nenhum código ao nível da mensagem na subcamada CS.

© Luis Bernardo AAL-12

AAL 5 O AAL 3/4 foi proposto pela indústria de telecomunicações. No entanto foi rejeitado pela indústria de computadores, que propôs um novo protocolo para o transporte de dados sem requisitos de tempo real, normalizado como AAL 5. O AAL 5 suporta os dois modos de funcionamento e os dois níveis de fiabilidade suportadas no AAL 3/4 (modo mensagem e modo feixe e envio garantido e de melhor esforço). Apenas não suporta a multiplexagem de sessões. No entanto é mais eficiente. Protocolo CS (Subcamada de convergência) O protocolo CS constrói uma mensagem com a estrutura seguinte e envia-a à subcamada SAR.

UU (User to User) – dados do utilizador.

Length – Comprimento da mensagem.

CRC – resto calculado com um polinómio gerador de 32 bits.

A detecção de erros por mensagem é feita apenas no CRC, com o mesmo polinómio usado no HDLC, que detecta uma percentagem elevada dos erros. Protocolo SAR (Subcamada de segmentação e reagrupamento) O protocolo SAR recebe a mensagem da subcamada CS, subdivide-a em blocos de 48 bytes, não acrescentando nada. A delimitação da mensagem é realizada através do terceiro bit do campo PTI no cabeçalho ATM, que tem o valor 1 na última célula de uma mensagem e 0 nas restantes.

© Luis Bernardo AAL-13

Comparação entre protocolos AAL

Item AAL 1 AAL 2 AAL 3/4 AAL 5 Categoria de serviço ATM CBR VBR ABR/

UBR ABR/ UBR

Multiplexagem Não Sim Sim Não Delimitação de mensagem Não Sim Btag/

Etag Bit em PTI

Alocação antecipada de memória na recepção

Não Não Sim Não

Envia bytes utilizador extra Não Sim Não Sim Campos CS (Bytes) 0 3 8 8 Checksum CS Não Não Não 32 bits Dados na célula SAR (Bytes) 46-47 47 44 48 Campos SAR (Bytes) 1-2 1 4 0 Checksum SAR Não Não 10 bits Não O AAL 3/4 não é usado na prática. SSCOP – Service Specific Connection-Oriented Protocol O AAL 5 e o AAL 3/4 não oferecem um serviço comparável ao TCP, com recuperação de erros. Geralmente usa-se um protocolo adicional sobre o AAL (TCP) para oferecer este serviço às aplicações. O envio de mensagens fiável, com recuperação de erros apenas é suportado para mensagens de controlo, com o protocolo SSCOP. O SSCOP suporta o envio de mensagens de até 64K Bytes, utilizando-se retransmissão com "selective repeat" para recuperar de erros. Periodicamente o emissor pede ao receptor um bitmap com todas as mensagens recebidas. Baseado nesta informação, o emissor descarta as mensagens recebidas do buffer e retransmite as que não foram recebidas.