"Asynchronous Transfer Mode" (ATM)

Andr� Moreira ([email protected])
Professor Adjunto do Departamento de Engenharia Inform�tica do ISEP

A introdu��o da fibra �ptica veio revolucionar a tecnologia de transmiss�o. A fibra �ptica permite comunica��es a longa dist�ncia com taxas de erros muito inferiores �s cablagens de cobre a curta dist�ncia.

Este avan�o provocou necessariamente uma inadequa��o da tecnologia de n�vel superior existente. Tradicionalmente uma das grandes preocupa��es era lidar de uma forma eficiente com taxas de erros relativamente elevadas. A defini��o do ATM teve em considera��o este facto adoptando a t�cnica Cell Relay.

A designa��o "Modo de Transfer�ncia Ass�ncrono" prov�m do facto de se utilizar comuta��o de pacotes e n�o comuta��o de circuitos. Isto n�o � novidade, o �standard� X.25 j� utiliza esta t�cnica � muito tempo, contudo em termos de performance est� totalmente esgotado. Sob este ponto de vista o ATM pode ser visto como o seu sucessor.

Devido � facilidade de transportar qualquer tipo de dados, o ATM foi adoptado pelo ITU como tecnologia base para a implementa��o da B-ISDN ("Broadband Integrated Services Digital Network").

O ATM utiliza "Cell Relay" que envolve diversas simplifica��es, nomeadamente relativamente ao X.25, as suas principais caracter�sticas s�o as seguintes:

  • N�o h� controlo de erros ou fluxo, tudo isto � deixado a cargo dos n�veis superiores.
  • Tal como o X.25 opera normalmente em modo �CO� (orientado � conex�o) segundo o modelo de circuitos virtuais.
  • Pode ser usado para o transporte de virtualmente qualquer tipo de dados inclu�do som e imagem podendo tamb�m operar em modo �CL� (n�o orientado � conex�o).
  • Os pacotes que tomam a designa��o de c�lulas s�o de dimens�o reduzida e fixa, com um cabe�alho tamb�m reduzido.

Alguns deste factores s�o preponderantes na efici�ncia geral:

  • Com c�lulas de comprimento fixo, a aloca��o de �buffers� nas interfaces e comutadores torna-se muito mais eficiente.
  • Como as fun��es implementadas se limitam ao encaminhamento por circuitos virtuais, a dimens�o do cabe�alho � muito reduzida (5 octetos), mesmo assim, como as c�lulas s�o muito pequenas (55 octetos) o �overhead� � superior a 9,4 %.
  • A pequena dimens�o das c�lulas (tempo de transmiss�o) e a aus�ncia de controlo de erros e fluxo (tempo de processamento) reduz significativamente os atrasos nos comutadores.

Uma rede ATM implementa a sua funcionalidade segundo o j� habitual modelo de camadas. Os servi�os disponibilizados pela camada mais elevada n�o atingem os requesitos do n�vel 2 do MR-OSI j� que proporcionam um servi�o n�o fi�vel.

O esquema seguinte apresenta a estrutura de camadas das redes ATM:

N�vel AAL
N�vel ATM
N�vel F�sico

O n�vel AAL ("ATM Adaptation Layer") tem por miss�o proceder a adapta

N�vel F�sico

O n�vel f�sico ATM � constituido por dois sub-n�veis:

"Transmission Convergence" (TC)
"Physical Medium" (PM)

"Physical Medium" (PM)

O sub-n�vel "Physical Medium" (Meio F�sico) define as caracteristicas da transmiss�o de sequ�ncias de bits, nomeadamente a taxa de transmiss�o, e o tipo de cablagem e conectores usados.

A defini��o do PM, baseada em c�lulas, refere tr�s modos para as taxas de transmiss�o:

  • 155 Mbps Sim�trico "Full-Duplex" dispon�vel tamb�m sobre cobre
  • 622/155 Mbps Assim�trico (155 Mbps do n� para a rede e 622 Mbps da rede para o n�)
  • 622 Mps Sim�trico "Full-Duplex"

Foram previstas diversas outras implementa��es do meio f�sico de modo a respeitar a diversidade tecnol�gica dispon�vel atrav�s do conceito de UNI ("User-Network Interface"). O sub-n�vel "Transmission Convergence" (TC) tem de adaptar as c�lulas que s�o regra no n�vel ATM �s estruturas particulares usadas neste sub-n�vel.

Os principais UNI previstos s�o:

  • 155 Mbps (STS-3)
  • 100 Mbps
  • 45 Mbps (DS-3)
  • 25 Mbps

As implementa��es UNI a 155 Mbps (STS-3) s�o v�rias:

  • Uma hip�tese � a utiliza��o de fibra-�ptica mon�modo id�ntica � implementa��o SONET, com o formato de "trama" SDH ("Synchronous Digital Hierarchy") no sub-n�vel TC.
  • Uma alternativa mais barata � a utiliza��o de fibra �ptica mult�modo.
  • Finalmente existe ainda a alternativa de pares de cabos de cobre entran�ados e blindados, id�ntico ao CDDI adaptado da FDDI.

A taxa de transmiss�o de 100 Mbps utiliza fibra �ptica mult�modo com o "chip set" TAXI da AMD, o sub-n�vel PM � neste caso id�ntico ao n�vel f�sico das redes FDDI.

A taxa de transmiss�o de 45 Mbps corresponde �s redes publicas de dados nos EUA e Jap�o.

A taxa de transmiss�o de 25 Mbps (25,6 Mbps) pode usar diversos tipos de cablagem incluindo UTP categoria 3 e destina-se a fazer chegar a rede ATM a conjuntos n�merosos de postos de trabalho, de uma forma mais economica.

"Transmission Convergence" (TC)

Este sub-n�vel define uma interface baseada em c�lulas com o n�vel ATM.

O sub-n�vel TC � responsavel pela gest�o do cabe�alho das c�lulas no que diz respeito � detec��o de erros e correc��o de erros em um �nico bit.

Numa implementa��o totalmente baseada em c�lulas, estas s�o transmitidas num fluxo continuo, este sub-n�vel � respons�vel pela inser��o e elimina��o de c�lulas vazias de modo a adaptar o fluxo de c�lulas do n�vel ATM � taxa de transmiss�o praticada.

Quando � usada uma UNI, o sub-n�vel "Transmission Convergence" tem de adaptar o formato de c�lulas da interface com a camada ATM �s estruturas particulares usadas.

Um caso comum � a utiliza��o de uma UNI SONET/SDH a 155 Mbps.

O SONET � um meio f�sico em fibra-�ptica mon�modo e utiliza o formato de trama SDH. Esta t�cnologia � usada em liga��es WAN onde a capacidade de um meio de transmiss�o deve ser dividida por v�rios utilizadores.

O SDH usa TDM ("Time Division Multiplexing"), cada trama SDH transporta informa��o com diversas origens e destinos.

Uma trama SDH � constituida por um total de 2430 bytes que est�o organizados em 9 estruturas id�nticas com um total de 270 bytes cada. Estas 9 estruturas correspondem a dados totalmente independentes, potencialmente com origens e destinos distintos, logo cada uma possui a sua informa��o de controlo independente, contituida por 10 bytes ficando os restantes 260 bytes para dados.

Quando uma rede ATM � implementada sobre SONET/SDH o sub-n�vel "Transmission Convergence" tem por miss�o encaixar as c�lulas ATM de 53 bytes nos 270 bytes disponibilizados pelas tramas SDH, (como 270 n�o � m�ltiplo de 53 uma c�lula pode ser distribu�da por mais do que uma trama SDH).

N�vel ATM

Canais virtuais e caminhos virtuais

O n�vel ATM gere canais virtuais ("Virtual Channel") e caminhos virtuais ("Virtual Path"):

"Virtual Channel"
"Virtual Path"

Um canal virtual � uma liga��o l�gica entre dois n�s finais (utilizadores da rede), em tudo semelhante a um circuito virtual da norma X.25. Um canal virtual fornece uma taxa de transmiss�o vari�vel, em "full-duplex" para c�lulas de comprimento fixo. Para troca de informa��o de controlo entre os n�s finais e a rede s�o tamb�m usados canais virtuais.

O conceito de caminho virtual agrupa todos os canais virtuais que t�m a mesma origem e destino. A defini��o de caminhos virtuais tem a vantagem de simplificar o funcionamento interno da rede, aumentando a efici�ncia e fiabilidade.

As caracteristicas que se esperam dos canais virtuais e caminhos virtuais est�o definidos na recomenda��o I.150, em sintese:

  • Os canais virtuais devem ter uma qualidade de servi�o (QOS - "Quality Of Service") garantida � partida e devidamente quantificada por par�metros tais como a taxa de perda de c�lulas ou o atraso de propaga��o m�dio.
  • Num canal virtual a sequ�ncia das c�lulas � mantida.
  • Dever�o ser proporcionados canais virtuais comutados e semi-permanentes.
  • Num canal virtual, os par�metros relativos � taxa de transmiss�o devem ser negociados: taxa de transmiss�o m�dia, m�xima, dura��o dos m�ximos, etc. A rede deve monitorizar os par�metros negociados para garantir que n�o s�o violados.

Para os canais virtuais as especifica��es s�o exactamente do mesmo tipo, acrescentando-se que a rede pode reservar para uso pr�prio alguns identificadores de canal virtual relativos a um dado caminho virtual.

O n�vel ATM � respons�vel pela cria��o de c�lulas e extrac��o dos dados das mesmas, gerindo nomeadamente os identificadores de canal virtual (VCI - "Virtual Channel Identifier") e os identificadores de caminho virtual (VPI - "Virtual Path Identifier").

Uma c�lula ATM cont�m 53 bytes (o valor 53 bytes � um compromisso entre os 64 bytes pedidos pelos EUA e os 32 bytes pretendidos pela Europa e Jap�o). As c�lulas possuem um cabe�alho de 5 bytes e os restantes 48 para transporte de dados. A estrutura do cabe�alho � a seguinte:

O formato dos cabe�alhos varia ligeiramente conforme se trate de uma transmiss�o entre um n� final (UNI) e um comutador (parte superior da figura) ou se trate de transmiss�es entre comutadores no interior da rede (NNI - "Network Node Interface") (parte inferior da figura).

Os significados dos campos s�o os seguintes:

GFCGeneric Flow ControlApenas existe nos n�s UNI, ser� futuramente usado para implementa��o de controlo de fluxo entre a rede e um n� final.
VPIVirtual Path IdentifierIdentificador de caminho virtual com 8 bits (m�ximo 256 caminhos por n�). Os VPI s�o atribuidos n� a n�, o valor n�o se mant�m ao longo da rede. Nas UNI o VPI n�o � geralmente usado, sendo colocado a zero. Numa c�lula NNI o VPI � de 12 bits (4096 caminhos virtuais)
VCIVirtual Channel IdentifierIdentificador de canal virtual com 16 bits (m�ximo 65536 canais por n�). Os VCI s�o atribuidos n� a n�, o valor n�o se mant�m ao longo da rede.
PTPayload Type� geralmente combinado com o bit seguinte (RES) dando origem a um identificador de 3 bits (PTI - "Payload Type Identifier"). Indica se os 48 bits de dados cont�m informa��o do utilizador ou informa��o de controlo da rede, no primeiro caso o valor para este campo � 0.
RESReservedVer anterior
CLPCell Loss PriorityTrata-se de um campo de um bit que define prioridades na elimina��o de c�lulas. Em caso de satura��o de um n� da rede, algumas c�lulas podem ter de ser eliminadas. As c�lulas com CLP=1 s�o eliminadas em primeiro lugar.
HECHeader Error ControlDetec�ao de erros no cabe�alho, o c�digo � auto-corrector para erros de 1 bit e detecta erros de mais de um bit.

Estabelecimento de canais e caminhos virtuais

A recomenda��o I.150 indica tamb�m m�todos para o estabelecimento de canais virtuais e caminhos virtuais. O grande problema � a necessidade de um canal pr�vio para comunicar com a rede ATM para que esta estable�a o canal pretendido.

Para resolver o problema existe geralmente um canal permanente (assim que o n� � activado est� automaticamente dispon�vel) de baixa capacidade conhecido por "meta-signaling channel".

O canal permanente "meta-signaling" (VPI=0; VCI=1) pode ser usado para establecer um canal virtual de controlo ("signaling virtual cannel") entre o utilizador (n� final) e a rede.

O canal virtual de controlo pode ser ent�o usado para definir canais e caminhos virtuais.

Encaminhamento de c�lulas na rede

O encaminhamento das c�lulas atrav�s dos n�s da rede baseia-se nas combina��es VPI/VCI que cada c�lula possui. Como j� foi referido nem o VPI nem o VCI s�o os mesmos ao longo da rede, este identificadores s�o definidos de modo privado entre dois n�s da rede quando se estabelece o canal ou o caminho.

Isto j� acontecia com os identificadores de circuito virtual das redes X.25 e as raz�es s�o obvias: para arranjar um identificador dispon�vel em todos os n�s pelo qual o canal passa seria necess�rio um algoritmo de negocia��o complexo e moroso.

N�vel AAL ("ATM Adaptation Layer")

O N�vel AAL tem por miss�o adaptar a informa��o dos protocolos de n�vel superior ao formato de c�lulas das redes ATM, devido ao reduzido tamanho das c�lulas a informa��o dos n�veis superiores tem de ser geralmente fragmentada e dividida por v�rias c�lulas, sendo mais tarde reconstituida no receptor, esta fun��o � asseguradas pelo sub-n�vel SAR ("Segmentation and Reassembly Sublayer"). Para permitir a utiliza��o de protocolos de comunica��o mais antigos sobre a camada AAL a sub-camada CS efectua uma convers�o pr�via para um formato interm�dio. A estrutura da camada AAL � a seguinte:

"Convergence Sublayer" (CS)
"Segmentation and Reassembly Sublayer" (SAR)

As implementa��es das sub-camada SAR e CS est�o fortemente relacionadas entre s� e dependem do tipo servi�o disponibilizado pela camada AAL. Os formatos das estruturas usadas pelos protocolos SAR e CS (PDU�s - Protocol Data Unit) dependem do tipo de camada AAL. Est�o definidos quatro tipos de servi�o:

  • Classe A (AAL 1) - servi�o orientado � conex�o com taxa de transmiss�o constante, em tempo real.
  • Classe B (AAL 2) - servi�o orientado � conex�o com taxa de transmiss�o vari�vel, em tempo real.
  • Classe C (AAL 3/4 e 5) - servi�o orientado � conex�o com taxa de transmiss�o vari�vel, sem tempo real.
  • Classe D (AAL 3/4 e 5) - servi�o n�o orientado � conex�o com taxa de transmiss�o vari�vel, sem tempo real.

AAL 1

Fornece um servi�o orientado � conex�o com taxa de transmiss�o constante e rela��o temporal entre emissor e receptor, � por isso adequada para som, imagem e tr�fego similar. A estrutura das unidades do protocolo SAR (SAR PDU) � constituida por um cabe�alho de 8 bits, dividido em dois campos de 4 bits, designados por SN ("Sequence Number") e SNP ("Sequence Number Protection").

O campo SN � usado para detectar perda de c�lulas, o campo SNP � usado para detectar e corrigir erros no campo SN. O campo de dados cont�m portanto 47 octetos.

AAL 2

Difere do AAL 1 pelo facto de fornecer uma taxa de transmiss�o vari�vel. � adquado para o mesmo tipo de aplica��es que o AAL 1, mas devido � taxa vari�vel os dados devem ser previamente comprimidos.

O SAR PDU para o AAL 2 cont�m os seguintes campos:

  • SN - "Sequence Number" id�ntico ao do AAL 1
  • IT - "Information Type", indica se se trata do inicio de uma mensagem (BOM), continua��o de uma mensagem (COM) ou fim de uma mensagem (EOM).
  • LI - "Length Indicator", cont�m o n�mero de octetos de dados transportados pela c�lula.
  • CRC - "Cyclic Redundancy Check" de todo o PDU (48 octetos).
  • DADOS

AAL 3/4

Os servi�os de classe C s�o servi�os de transporte de dados provenientes de protocolos de n�vel superior, por esta raz�o torna-se necess�ria a implementa��o da sub-camada CS.

Na sub-camada CS os pacotes de tamanho vari�vel do n�vel superior s�o transformados na estrutura CS PDU, o comprimento do CS PDU deve ser m�ltiplo de 4, logo pode ser necess�rio acrescentar 1 a 3 octetos ("padding").

A estrutura do CS PDU no AAL 3/4 � a seguinte:

  • CPI (1 byte) - "Common Part Indicator",
  • BTag (1 byte) - "Beginning Tag", trata-se de um contador de PDU�s do protocolo CS, � tamb�m colocado no fim do PDU servindo de controlo relativamente � ordem dos CS PDU.
  • BAsize (2 bytes) - "Buffer Allocation Size Indicator", indica ao receptor o tamanho do "buffer" necess�rio para receber o CS PDU.
  • DADOS (0 a 65535 bytes)
  • PADDING (0 a 3 bytes) - Usado para garantir que o tamanho total do CS PDU � multiplo de 4.
  • AL (1 byte) - "Alignment", o colocado a zero e destina-se a garantir o alinhamento da cauda ("trailer"), constituida pelos campos (AL + ETAG).
  • ETag (1 byte) - "End Tag", � uma c�pia do valor BTag, permite associar o cabe�alho � cauda e controlar perdas de PDU�s do sub-n�vel SAR.

A sub-camada SAR fragmenta os CS PDU para os colocar nos seus pr�prios PDU�s de 48 bytes, com a seguinte estrutura:

  • ST (2 bits) - "Segment Type", indica o tipo de PDU: 01="Beginning Of Message" (BOM); 00="Continuation Of Message" (COM); 01="End Of Message" (EOM); 11="Single Segment Message" (SSM)
  • SN (4 bits) - "Sequence Number", indica o n�mero de sequ�ncia dentro de um CS PDU, � usado para detectar perdas de SAR PDU's e manuten��o da sequ�ncia.
  • MID (10 bits) - "Multiplexing Identification", equivalente a n�meros de porta, no AAL 3 este campo n�o � usado e estes bits s�o reservados.
  • DADOS (44 bytes)
  • LI (6 bits) - "Length Indicator", indica o n�meros de octetos de informa��o �til presentes no campo de DADOS, o m�ximo � 44 bytes. O valor de LI deve ser multiplo de 4, na pr�tica apenas os tipos EOM e SSM podem conter menos do que 44 bytes.
  • CRC (10 bits) - "Cyclic Redundancy Check" sobre todo o SAR PDU.

AAL 5

O nome original desta implementa��o � SEAL ("Simple and Efficient AAL"), trata-se de uma implementa��o parcial do AAL 3/4.

O CS PDU do AAL 5 n�o possui cabe�alho, o formato � o seguinte:

  • DADOS (0 a 65535 bytes)
  • PADDING (0 a 47 bytes), usado para garantir que o comprimento total do CS PDU � multiplo de 48.
  • Control (1 byte), reservado a implementa��es futuras, por agora � colocado a zero.
  • Length (2 bytes), comprimento dos dados (sem PADDING).
  • CRC-32 (4 bytes), "Cyclic Redundancy Check" sobre todo o CS PDU.

O SAR PDU do AAL 5 apenas cont�m dados, todas as fun��es foram transferidas para a sub-camada CS, note-se que n�o h� multiplexagem com o AAL 5.

Servi�os de Classe D