Interface Abis
- A interface Abis é a interface entre a BTS e a BSC. Geralmente é realizada por circuitos TDM DS-1, ES-1 ou E1.
- A interface Abis utiliza subcanais TDM para tráfego (TCH), protocolo LAPD/HDLC para supervisão da BTS e sinalização, e carrega sincronização da BSC para a BTS e MS (Mobile Station, ou usuário final).
- Além disso, a interface Abis utiliza multiplexação ou adaptação de taxa nos seus enlaces. A primeira opção significa que quatro enlaces de 16 Kbps são multiplexados em um canal de 64 Kbps. A última opção (adaptação de taxa) significa que não ocorrerá nenhuma multiplexação dos canais de 16 Kbps.
- Contudo, até agora, a interface Abis não foi padronizada por nenhum órgão responsável.
HDLC
- 2.1- Introdução
- O HDCL (High-Level Data Link Control) é um protocolo bit-orientado síncrono de camada de dados desenvolvido pela ISSO (International Organization for Standardization). OS padrões originais ISSO para HDLC são:
- a- ISSO 3309 – Frame Structure
- b- ISSO 4335 – Elements of Procedure
- c- ISSO 6159 – Unbalanced Classes of Procedure
- d- ISSO 6256 – Balanced Classes of Procedure
- O padrão atual ISSO para o HDLC é o ISSO 13239, que substitui todos os anteriores.
- O HDLC pode ser usado para conexões ponto a multiponto ponto, contudo, atualmente, é quase que exclusivamente utilizado para conectar um dispositivo em outro, usando o que é conhecido como Mode Balanceado Assíncrono (ABM). Os modos originais mestre-escravo Normal Response Mode (NRM) e Asynchronous Response Mode (ARM) são raramente usados.
- O protocolo HDLC é baseado no protocolo SDLC da IBM, que é o protocolo de camada 2 dos Sistemas de Arquitetura de Rede (SNA) da IBM. Ele foi extendido e padronizado pelo ITU como LAP.
Derivados têm aparecido em inúmeros padrões. O HDLC foi adotado na pilha de protocolos X.25 como LAPB, no V.42 como LAPM, no Frame Relay como LAPF e na ISDN como LAPD.
- 2.2- Quadros
- Os quadros HDLC podem ser transmitidos por enlaces síncronos ou assíncronos. Esses enlaces não possuem nenhum mecanismo de marcação de início ou fim de quadro, logo, oseu início e fim devem ser identificados pelo protocolo. Isso é feito usando um quadro delimitador, ou flag, que é uma sequência única de bits, onde garante-se que a mesma não será vista dentro de quadros de dados de informação. Essa sequência é a 01111110, ou, em notação hexadecimal, 0x7E. Cada quadro começa e termina com um identificador de quadro. Um identificador de quadro no fim pode também marcar o início de um novo quadro. Uma sequencia de 7 ou mais bits-1 consecutivos fará com que o quadro seja abortado.
- Quando nenhum quadro está sendo transmitido um enlaces síncronos simples ou full-duplex, o quadro delimitador é transmitido continuamente no enlace. Usando o padrão de codificação NRZI (0 = bit transition, 1 = no transition), isso gera uma de duas formas de onda contínuas, dependendo do estado inicial:
- Esse esquema é usado em modens, para sincronizar seus clocks via PLL’s (Phase Locked Loops).
- Para comunicações half-duplex ou multi-drop, onde diversos transmissores dividem a linha, um receptor na linha enxergará vários bits-1 no período entre-quadros, quando nenhum transmissor estiver transmitindo.
- Como a sequencia de flag poderia, por ventura, aparecer em dados de comunicação, tais sequencias devem ser modificadas durante a transmissão para garantir que o receptor não detecte um falso delimitador de quadro. O receptor deve, também, detectar quando isso ocorreu, para que o dado original possa ser restaurado antes que ele seja passado para protocolos de camadas mais altas da pilha. Isso pode ser feito com enchimento de bits, no qual um “0” é adicionado a cada “11111” de dados. O receptor, ao detectar essa sequencia de 1’s, remove o “0” adicionado pelo transmissor.
- 2.1.1- Quadratura Síncrona
- Em enlaces síncronos, a modificação de dados que, por ventura, possuam mesma sequencia de bits do delimitador de quadros, é feito por enchimento de bits. Toda vez que uma sequencia de 5 “1’s” aparecer no dado transmitido, o dado é pausado, e um bit-0 é adicionado. Isso garante que não mais que 5 bits 1 consecutivos serão enviados. O dispositivo receptor conhece esse processo de enchimento de bits, assim como o transmissor, e após detectar uma sequencia de 5 “1’s”, um bit-0 é retirado do dado recebido. Se o próximo bit for um bit-1, o receptor estará recebendo um flag.
- 2.1.2- Quadratura assíncrona
- Quando usando comunicação serial assíncrona, como portas seriais RS-232, bits são enviados em grupos de 8, logo, enchimento de bits não é conveniente. Ao invés disso, usa-se “transparência de controle de octeto”, também chamado de “byte stuffing”, ou enchimento de bytes, ou enchimento de octetos. O quadro limite é 01111110 (7E em notação hexadecimal). Um “octeto de controle de escape” tem a sequencia de bits 01011110, (7D, em hexadecimal). Se algum desses dois octetos aparecerem no dado transmitido, um octeto de escape é enviado, seguido do octeto de dados original com 5 bits invertidos. Por exemplo, a sequencia de dados “01111110” (7D hex) seria transmitida como “01111101 01011110” (7D 5E hex). Outros valores de octetos reservados (como XON ou XOFF) podem ser enviados ao mesmo tempo, se necessário.
- 2.1.1- Quadratura Síncrona
- 2.2- Estrutura
- O conteúdo de um quadro HDLC está mostrado abaixo:
- Note que o flag do fim de um quadro pode (mas não precisa ser_o flag de início de um próximo quadro.
- Dados são usualmente enviados em múltiplos de 8 bits.
- A sequencia de checagem de quadros (FCS) são campos de informação computados sobre o endereço, em 16-bit CRC-CCITT ou 32-bit CRC-32. Ele provê um meio pelo qual o receptor pode detectar erros que possam ter sido induzidos durante a transmissão do quadro, como perda de bits, bits invertidos, e bits não-identificáveis. Contudo, dado o fato de que os algoritmos usados para calcular o FCS são tais que a probabilidade de certos tipos de erros de transmissão passarem despercebidos aumenta com o tamanho do dado sendo checado, o FCS, implicitamente, limita o tamanho prático do quadro.
- Se o cálculo do FCS no receptor não é o mesmo do calculo feito pelo transmissor, indicando que o quadro contem erros, o receptor pode enviar um pacote ACK negativo para o transmissor, ou não enviar nada. Após receber um ACK negativo ou o tempo de time-out para receber um ACK positivo expirar, o transmissor reenvia o quadro.
O FCS foi implementado pelo fato de que muitos dos primeiros enlaces de comunicação tinham uma alta taxa de erro de bit, e o FCS poderia ser computado por circuitos simples e baratos, bem como softwares.
- 2.3- Tipos de estações e Modo de Transferência de Dados
- SDLC (Synchronous Data Link Control ou controle síncrono de dados sobre enlace) foi originalmente desenvolvido para conectar um computador com múltiplos periféricos. O modo original de resposta normal, ou “normal response mode” é um modo mestre-escravo onde o computador (ou terminal primário) dá a cada periférico (terminal secundário) permissão para falar em turnos. Pelo fato de toda a comunicação ser ou “de” ou “para” o terminal primário, quadros incluem apenas um endereço (o do terminal secundário); ao terminal primário não é dado um endereço. Existe também uma forte distinção entre comandos enviados pelo primário ao secundário, e respostas enviadas do secundário para o primário. Comandos e respostas são, de fato, indistinguíveis; a única diferença é a direção na qual elas são transmitidas.
- O modo de resposta normal (normal response) permite operação sobre enlaces de comunicação half-duplex. Enquanto ele retem a distinção primário/secundário, ele permite que o secundário transmita a qualquer momento.
Modo de resposta assíncrono é uma adição ao HDLC para uso sobre enlaces full-duplex. Mesmo mantendo a distinção primário/secundário, ele permite que o secundário transmita a qualquer momento.
- O modo de resposta balanceada assíncrono adicionou o conceito de terminal combinado, que pode ter o papel tanto de primário quanto de secundário. Existem algumas sutilezas sobre esse modo de operação: enquanto várias características do protocolo não precisam saber tanto se eles estão em quadro de comando ou resposta, algumas precisam, e o campo de endereço de um quadro recebido deve ser examinado para determinar se ele contem um comando ou uma resposta.
Alguns variantes do HDLC extendem o campo de endereço para incluir tanto o endereço da fonte quanto do destino, ou um bit explicito de comando/resposta.
- 2.4-Operações HDLC e tipos de quadros
- Existem três tipos fundamentais de quadros HDLC:
- a- Quadros de informação, ou I-frames, que transportam dados de usuários da camada de rede. Além disso, eles podem também incluir informações de controle de erro e fluxo marcados nos dados.
- b- Quadros supervisórios, ou S-frames, que são usados para controle de fluxo e erro sempre que a marcação nos dados é impossibilitada ou inapropriada, como quando uma estação não tem dados a enviar. S-frames não contem campo de informação
- c- Quadros não-numerados (Unumbered Frames), ou U-frames, que são usados para diversos propósitos, incluindo gerenciamento de enlace. Alguns U-frames contem um campo de informação, dependendo do tipo.
- O formato geral do campo de controle é:
- Existe também um formato estendido (2-bytes) dos quadros I e S. Novamente, o ultimo bit menos significativo (mais à direita da tabela) é enviado primeiramente:
- Existem três tipos fundamentais de quadros HDLC:
- 2.4.1- O bit P/F
- Poll/Final é um bit com dois nomes. Ele é chamado de Poll quando é setado pela estação primária para pbter uma resposta de uma estação secundária, e Final quando é setado por uma estação secundária para indicar uma resposta no fim da transmissão. Em todos os outros casos, o bit é 0.
- O bit P/F é usado como um passe (token) que é passado para frente e para trás entre as estações. Apenas um passe pode existir em um dado instante de tempo. O secundário seta o bit-F no seu ultimo quadro de resposta quando ele receber um Poll do primário. O primário envia um Poll apenas quando ele recebe um Final do secundário, ou depois de um timeout, indicando que o bit foi perdido.
- a- Em ARm e ABM, o bit P força uma resposta. Nesses modos, o secundário não precisa esperar um Poll ser transmitido, e não precisa responder com um bit Final.
- b- Se nenhuma resposta é recebida a um bit P em um período de tempo pré-estabelecido, a estação primária envia o bit P novamente
- c- O bit P/F está no coração do esquema básico de retransmissão com ponto de inspeção (checkpoint retransmission) que é requerido para implementar o HDLC; todas as outras variantes (como o quadro REJ-S) são opcionais e apenas servem para aumentar a eficiência.
- 2.4.2- N(R), o número de sequencia recebido
- Ambos os quadros I e S contem um número de sequencia recebida N(R). Ele provê um ACK positivo para a receita de quadros I do outro lado do enlace. Seu valor é sempre o primeiro quadro não recebido; ele reconhece que todos os quadros com N(S) valores até N(R) – 1 (módulo 8 ou 128) foram recebidos e indica que N(S) do próximo quadro que ele espera receber.
N(R) opera da mesma maneira, quer ele seja parte de comando ou resposta. Uma estação combinadapossui apenas um espaço de número de sequencia.
- 2.4.3- N(S), o numero de sequencia do quadro enviado
Este é um incremento para sucessivos quadros I, módulo 8 ou 128. Dependendo do numero de bits em um numero de sequencia, 7 a 127 quadros I podem estar esperando reconhecimento (ACK) em um dado instante de tempo.
- 2.4.4- Receive Ready (RR)
- a- Valor do bit = 00
- b-Indica que o transmissor está pronto para receber mais dados (cancela o efeito de um RNR anterior)
- d- É enviado sempre que precisa-se enviar um pacote, mas não há quadros I a serem enviados
- e- Uma estação primária pode enviar o RR com o bit-P para solicitar dados de uma estação secundária
- f- Um terminal secundário pode usá-lo com o bit-F para responder a um Poll se ela não tem dados a enviar
- 2.4.5- Receive Not Ready (RNR)
- a- Valor de bit = 00
- b- Reconhece alguns pacotes e pede que não sejam enviados mais até segunda ordem
- c- Pode ser usado como RR com bit P para solicitar o estado de uma estação secundária
- d- Pode ser usado como o RR com o bit-F para responder a um Poll se a estação está ocupada
- 2.4.6- Reject
- a- Valor de bit = 01
- b- Requisita retransmissão imediata começando com N(R)
- c- É enviado como resposta c uma falha de número de sequencia. Ex.: Após ver I1/I2/I3/I5, envia REJ4
- d- É opcional; uma implementação funcional pode usar apenas RR
- 2.4.7- Selective Reject
- a- Valor de bit = 11
- b- Requisita retransmissão apenas do quadro N(R)
- c- Não é suportado por todas as variações de HDLC
- d- É opcional; uma implementação funcional pode usar apenas RR, ou apenas RR e REJ
- 2.4.8- Quadros U
- Quadros não-numerados, ou quadros-U são usados para gerenciamento de enlace, podendo também ser usados para transferir dados de usuários. Eles trocam gerenciamento de sessões e informações de controle entre dispositivos conectados. Alguns quadros-U contem um campo de informação, usado para informação de gerenciamento de sistemas ou dados de usuários. Os primeiros 2 bits (11) significam que é um quadro-U. Os 5 tipos de bits (2 antes do bit P/F e 3 depois do bit P/F) podem fazer com que gere-se 32 tipos de quadros-U.
- a- Opções de modo (SNRM, SNRME, SARM, SARME, SABM, SABME, UA, DM, RIM, SIM, RD, DISC)
- b- Transferência de informação (UP, UI)
- c- Recovery (FRMR, RSET)
- 2.4.4- Receive Ready (RR)
- 2.5- Configurações de enlace
- Configurações de enlace podem ser categorizadas como sendo:
- a- Desbalanceada, a qual consiste em um terminal primário e um ou mais terminais secundários
- b- Balanceada, a qual connsiste em apenas dois terminais
- As três configurações de enlace são:
- a- Normal Response Mode, ou modo de resposta normal, que é uma configuração desbalanceada, na qual apenas o terminal primário pode iniciar transmissão de dados. Terminal secundário transmite dados apenas em resposta aos comandos do terminal primário. O terminal primário “Polls” o(s) terminal(is) secundário(s) para determinar se eles tem dados para transmitir, e então, seleciona o dado a ser transmitido
- b- ARM ou Asynchronous Response Mode (Modo de resposta assíncrono), que é uma configuração desbalanceada, na qual terminais secundários podem transmitir sem permissão do terminal primário. Contudo, o terminal primário ainda retem a responsabilidade de inicialização de linha, recuperação de erros e desconexão lógica.
- c- ABM ou Assynchronous Balanced Mode (modo assíncrono balanceado) é uma configuração balanceada, na qual cada estação pode iniciar transmissão.
- Configurações de enlace podem ser categorizadas como sendo:
Uma configuração de enlace adicional é a de modo desconectado (Disconnected mode). Este é o modono qual uma estação secundária encontra-se antes de ser inicializada pela primária, ou qundo ela é explicitamente desconectada. Neste modo, o secundário responde a quase todos os quadros, ao contrário de um comando de modo com uma resposta “Disconnected mode”. O propósito desse modo é permitir que o primário detecte com segurança que um secundário foi desligado ou resetado. <br.
- 2.6- Comandos HDLC e repertório de respostas
- a- Comandos: BALA, I, RR, RNR, (SNRM OU SARM OU SABM) DISC)
- b- Respostas: I, RR, RNR, UA, DM, FRMR
- 2.6.1- Operações básicas
- A inicialização pode ser requisitada de ambos os lados. Quando o comando six-mode é dado, ele:
- a- Sinaliza o outro lado que a inicialização está sendo requisitada
- b- Especifica o modo: NRM, ABM, ARM
- c- Especifica se 3 ou 7 numeros de sequencia de bit estão sendo usados.
- O módulo HDLC no outro fim tranrmite (UA) quadros quando a requisição é aceitada. Caso a requisição seja rejeitada, ele envia um quadro (DM) para modo de desconexão (Disconnect mode).
- 2.6.2- Extensões funcionais (opções)
- 1- Para circuitos comutados:
- a. Comandos: ADD –XID
- b. Respostas: ADD-XID, RD
- 2- Para comandos e respostas simultâneos 2-way: ADD – REJ
- 3- Para comandos e respostas de retransmissão de quadro único: ADD – SREJ
- 4- Para comandos e respostas de informação: ADD – UI
- 5- Para inicialização:
- a. Comandos: ADD – SIM
- b. Respostas: ADD – RIM
- 6- Para polling de grupos:
- a. Comandos: ADD – UP
- 7- Endereçamento estendido
- 8- Quadros de resposta de delete
- 9- Quadros de comando de delete
- 10- Enumeração estendida
- 11- Comandos para Modo reset (Apenas em ABM): ADD- RSET
- 12- Comandos e respostas para teste de enlace: ADD – TEST
- 13- Resposta para pedido de desconexão: ADD – RD
- 14- 32 bits FCS
- 2.7- repertório de Comandos/Respostas
- 2.7.1- Quadros não-enumerados