Na gura 5.6 esta representado o formato da unidade de dados do protocolo CPCS (CPCS-PDU). A CPCS-PDU possui seja um cabecalho que uma \cauda" (trailer). Note que agora estamos numa subcamada acima do SAR e que, portanto, temos uma PDU que podera vir a ser segmentada e includa no campo de informac~oes de diversas celulas ATM.
Carga da CPCS-PDU (máximo de 65.535 octetos) BASize 2 Btag 1 CPI 1 PAD 0-3 AL 1 ETag 1 Length 2 CPCS-PDU Cabeçalho da CPCS-PDU Cauda da CPCS-PDU
Figura 5.6: Formato da CPCS-PDU do AAL 3/4.
No cabecalho, o primeiro campo, de um octeto, corresponde ao indicador de parte comum (CPI |Common Part Indicator) que tem como nalidade indicar o uso dos campos subsequentes. Atualmente esta padronizado apenas o valor zero especicando que os valores dos camposBASize
eLengthest~ao expressos em octetos. Outros usos est~ao para ser denidos em estudos posteriores. Pode vir a ser usado, por exemplo, para identicar mensagens de gerenciamento da camada AAL. O segundo campo corresponde a uma identicac~ao da mensagem. Esta identicac~ao de um octeto aparece seja no cabecalho, campo de marca de incio (BTag | Begin Tag), que na cau- da, marca de m (ETag { End Tag), para detectar um possvel erro de remontagem da PDU. Obviamente esta identicac~ao deve ser diferente em CPCS-PDUs consecutivas.
O terceiro campo (BASize | Buer Allocation Size), que ocupa dois octetos, indica qual e o tamanho maximo de buer necessario para armazenar a CPCS-SDU. A seguir, temos o campo de informac~oes que pode ser de no maximo 65.535 octetos.
66 Captulo 5. A Camada de Adaptac~ao
Antes dos campos da cauda, podemos ter um campo de enchimento (PAD | Padding), de ate tr^es octetos que serve para garantir o alinhamento de 32 bits do campo de informac~ao. Isto e, teremos tantos octetos de enchimento quantos forem necessarios para que o comprimento do campo de informac~ao mais o de PAD seja multiplo de 32 bits (quatro octetos).
Da mesma forma, o campo de alinhamento (AL | Alignment), de um octeto, foi introduzido para que tambem a cauda ocupe 32 bits.
O campo ETag, traz um numero de identicac~ao que deve ser id^entico ao do campo BTag. Finalmente, o campo de comprimento do conteudo do campo de informac~oes (Length), de ate dois octetos, indica o comprimento real do conteudo da CPCS-PDU, excluindo os octetos de enchimento.
5.3.4 Protocolo AAL Tipo 5 (AAL5)
O AAL5 surgiu como uma proposta da industria de computadores em reac~ao a complexidade do AAL3/4. De fato, este protocolo teve como base o SEAL (Simple and Ecient Adaptation Layer) [AA93]. O AAL5 foi proposto pelo Forum ATM e atualmente encontra-se em fase de padronizac~ao pelo ITU-T [ITU93i].
Portanto, a ideia basica e o da simplicidade e reduc~ao de overheads como o calculo de CRC para cada segmento da mensagem e a multiplexac~ao de conex~oes da camada de adaptac~ao em uma unica conex~ao ATM (isto n~ao probe a multiplexac~ao efetuada por camadas acima do AAL5). Ele tambem descarta a pre-alocac~ao de buers de remontagem (campo BAsize do AAL3/4). A estrutura geral do AAL5 e id^entica a do AAL3/4 (gura 5.3). Do mesmo modo, as primitivas de servico tambem s~ao as mesmas no caso de SSCS nula.
Procedimentos
Uma AAL-PDU e segmentada a cada 48 octetos, para caber no campo de informac~ao de uma celula, mas n~ao s~ao utilizados nem cabecalho nem cauda por segmento. Ou seja, a unica estrutura existente e o da AAL-PDU (vide gura 5.7). Para a delimitac~ao de incio/m da PDU e utilizado o bit de indicac~ao entre usuarios da camada ATM (AUU) do campo de tipo de conteudo (PT) do cabecalho da celula. O AUU=1 e usado para marcar o ultimo ou o unico segmento (SAR- PDU) de uma CPCS-PDU. Enquanto que o AUU=0 e utilizado para o primeiro segmento e os de continuac~ao no caso de uma CPCS-PDU que seja dividida em diversos segmentos.
A unidade de dados do protocolo CPCS
Na gura 5.8 esta representado o formato da unidade de dados proposta para o protocolo AAL5. O campo de dados do usuario pode ser de no maximo 65.535 octetos. Este campo e seguido de
5.3. Protocolos AAL 67
Parte comum da subcamada de convergência
Carga da CPCS-PDU Cauda da
CPCS-PDU
Subcamada de segmentação e remontagem
SAR-PDU
Para a camada de transporte de células ATM Cabeçalho
da célula Carga da célula ATM Carga
AAL5 Padding
AAL-SDU
Figura 5.7: Vis~ao simplicada do processo de transmiss~ao do AAL5.
um campo de enchimento(PAD |User Data Padding), de 0 a 47 octetos, que tem como nalidade garantir que sejam transmitidas celulas cheias. Isto e, que a PDU tenha um comprimento que seja multiplo de 48 octetos.
O campo de indicac~ao usuario a usuario do CPCS (CPCS-UU) permite que um octeto seja transferido transparentemente (sem ser interpretado) entre entidades usuarias da CPCS.
O campo CPI (Common Part Indicator) ainda n~ao tem nalidade denida, mas deve ser setado para 0, pois valores diferentes est~ao reservados para transportar mensagens de controle de gerenciamento.
O campo LI (Length Indicator) de dois octetos, indica o comprimento efetivo dos dados de usuario, sem o PAD, em numero de octetos. O comprimento zero e usado pela func~ao de aborto. Finalmente, o campo de CRC, de quatro octetos, carrega o resultado do calculo do CRC baseado no polin^omio geradorG32(x) = x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7+
68 Captulo 5. A Camada de Adaptac~ao
Carga da CPCS_PDU Cauda da
CPCS_PDU
CPCS
-UU CPI Length CRC
PAD 0-47
1 1 2 4
Figura 5.8: Formato da CPCS-PDU do AAL 5.
5.4 Recuperac~ao de Erros
Um dos aspectos que podem trazer impacto para os mecanismos de prioridade e de policiamento, e o tratamento que os protocolos da camada de adaptac~ao (AAL) e os de alto-nvel d~ao as unidades de dados (PDUs) que chegam com erro.
Em particular, se as PDUs de alto-nvel forem aceitas apenas completas, a perda de uma unica celula implica na perda total da PDU. Neste caso, uma vez descartada uma celula por problemas de congestionamento, o UPC poderia descartar todas as demais celulas que comp~oem a mesma PDU, aliviando assim a carga na rede.
Esta ideia aparentemente simples, n~ao e assim t~ao simples de ser implementada pois requer que o UPC (atuando a nvel da camada ATM) tome decis~oes baseadas em informac~oes obtidas nos campos de controle de PDUs de camadas superiores, violando o princpio de independ^encia entre as camadas.
Dado que o trafego de dados e o mais sensvel a perda de informac~oes nesta sec~ao tratamos do efeito da perda de celulas na remontagem de pacotes pelas subcamadas AAL3/4 e AAL5.
Em trabalhos correlatos, Ayanoglu et al. [AGJL90] tratam de protocolos para recuperac~ao de erros e/ou perdas; Dravida e Damodaram [DD91] tratam de opc~oes para a detecc~ao e correc~ao de erros, enquanto que Biersack [Bie93] e Ohta e Kitami [OK91] tratam de um destes metodos: o FEC (Forward Error Correction).
5.4.1 Causas de perdas de celulas
As principais causas de perdas de celulas s~ao: bits comerro, congestionamento e erro de roteamento [AA93].
5.4. Recuperac~ao de Erros 69