4. Camada DQDB

A camada DQDB fornece o interface entre a camada física e os serviços de dados da sub-rede DQDB. É responsável pelas funções de ligações de dados típicas das LANs incluíndo endereçamento, encapsulamento, sequenciamento, detecção de erros e controlo do acesso ao meio. Corresponde à sub-camada MAC da camada de ligação de dados do modelo ISO.OSI. A camada DQDB suporta três tipos de serviços de dados ilustrados na figura 4.1:

- Serviços MAC para o controle de ligação lógica (LLC-Logical Link Control). Fornece um serviço de pacotes connectionless à sub-camada de controle de ligação lógica, entre dois sistemas abertos suportando o padrão 802.2.
- Conexão orientada para o serviço de dados. Transferência de pacotes de dados entre dois sistemas sobre um circuito virtual. Este serviço é assíncrono e não temos garantia da manutenção de uma velocidade constante na chegada das unidades de dados.
- Serviço de octetos isócrono suportando serviço de troca de circuítos para aplicações sensíveis no tempo.

Fig. 4.1 - Tipos de dados suportados pela camada DQDB.

As funções de convergência MAC e o serviço de dados de conecção orientadas são entregues usando uma fila arbitrária, logo são encaminhados para as funções de fila arbitrária. O serviço constante no tempo é pré-arbitrado desde que o sistema tenha que reservar um número suficiente de slots pré-arbitrados para garantir a taxa de entrega de dados pretendida.

O slot de 53 octetos ilustrado na figura 4.2, é a unidade básica de transmissão, ou a unidade de protocolos de dados (PDU-Protocol Data Unit), na sub-rede DQDB. Estes slots são continuamente gerados pelos HOB, logo nunca haverá períodos de silêncio nos buses. O slots consistem em 1 octeto (8 bits) de controlo de acesso ao campo (ACF-Acess Control Field) e um segmento de 52 octetos. A figura 4.2 mostra também os vários componentes do slot ACF. Os valores contidos neste campo indicam se a fila é arbitrada (QA-queue arbitrated) ou pré-arbitrada (PA-pre-arbitrated) e se está ocupada ou não. O índice das funções do octeto é:

- Bit de ocupação. Indica se o slot está vazio (0), ou contém informação (1).
- Tipo de slot. PA (1), ou QA (0).
- PSR. Não definido.
- Bits reservados. Colocados sempre a (00). Para uso futuro.
- Bits de pedido. Usados por nodos que desejam reservar slots no bus oposto. Proporciona três níveis de prioridade.

Fig. 4.2 - A unidade de dados na sub-rede DQDB.

Obviamente, o segmento de um slot QA carrega dados QA, enquanto o do slot PA carrega dados PA. O segmento compreende 4 octetos que são o campo de cabeçalho do segmento (SHF-Segment Header Field) e 48 octetos que são o campo de carga, os dados que efectivamente pretendemos enviar. Isto está ilustrado na figura 4.3 que mostra também os vários componentes do SHF. O identificador de canal virtual (VCI-Virtual Channel Identifier) tem um campo de 20 bits que pode ser usado para identificar o endereço do canal virtual. O endereço com todos os bits a 1 é usado para o serviço connectionless MAC e não pode ser usado por um slot PA ou um serviço de slots QA conectado. Qualquer outro endereço pode ser usado para um circuíto virtual, excepto tudo a 0 porque está reservado. O campo de carga está reservado para uso futuro em ponte multi-porto e deverá estar sempre colocado a (00). O campo de prioridade de segmento, que deverá estar a (00), também é para uso das futuras pontes multi-porto.

Fig. 4.3 - Componentes do Segmento.

A cabeça de sequência de teste (HCS-Header Check Sequence) é usada para detecção de erros, conseguindo mesmo detectar erros de apenas um bit no SHF. O DQDB usa a técnica CRC - polinómios em que a função geradora é G(X)=x8+x2+x+1. No cabeçalho de um segmento QA o HCS é fornecido pela fonte do segmento QA, enquanto que o valor num segmento PA será dado pelo HOB. Para todos os destinos é requerido o uso do HCS para detecção de erros, de qualquer forma, a correcção de erros usando o HCS é descricionária.

Finalmente o campo de carga do segmento transporta 48 octetos de dados. Em segmentos QA esse conteúdo é determinado pelo utilizador sem qualquer tipo de problemas. Não obstante, num segmento PA a capacidade de carga tem de compreender os 48 octetos em serviço isócrono. O conceito de cheio ou vazio não se aplica aos slots PA dado que eles estão sempre cheios. Um nodo que suporte o serviço isócrono examina o VCI de qualquer slot PA. Se for pedido poderá aceder a qualquer parte do campo de carga, quer para leitura quer para escrita. Os slots PA não são pertença de nenhum nodo, mas podem ser partilhados entre nodos que forneçam o serviço isócrono.

Actualmente, o único serviço proporcionado pelo serviço DQDB é o serviço de dados MAC connectionless para LLC. O DQDB adiciona a sua própria cabeça e a sua informação adicional à cerca do LLC para transporte na rede pública. Apesar disso, a camada DQDB consegue enviar 44 octetos de dados em cada slot QA. Por essa razão o LLC é fragmentado em múltiplos slots QA que incluem suficiente informação sobre eles para serem correctamente corrigidos no destino. A unidade de serviço de dados MAC é carregada na unidade de dados protocolares MAC inicial. Um IMPDU (Initial MAC Protocol Data Unit) é fragmentado em uma ou mais unidades de dados, chamadas DMPDUs (Derived MAC Protocol Data Unit).

Fig. 4.4 - Hierarquia do serviço MAC PDU.

Um IMPDU é constituído por um cabeçalho (24 octetos), uma extensão do cabeçalho (0-20 octetos), informação (0-9188 octetos), bloco (0-4 octetos), e campos PDU comuns (4-8 octetos). O IMPDU pode chegar a ter um comprimento de 210 (*44 octetos) DMPDUs. Dado que a IMPDU é tipicamente tão larga para poder ser enviada apenas num slot numa sub-rede, é fragmentada em unidades de segmentação tal como as ilustradas na figura 4.5. A cada unidade de segmento é associada com o cabeçalho e dois octetos auxiliares formando um DMPDU de 48 octetos. A figura 11 dá uma visão global de um DMPDU.

FIg. 4.5 - DMPDU - Visão expandida de uma unidade de segmento de uma IMPDU.

Acima de tudo, pode ser observado que o processo de fragmentação enquanto é necessário para colocar os dados no bus proporciona um elevado nível de redundância de dados com a inclusão de cabeçalhos e dados auxiliares no DMPDU junto com os múltiplos níveis dos testes CRC. A eficiência máxima do bus nunca consegue ultrapassar os 83%.


Página seguinte ...


Voltar à p&aacutegina inicial ...