Quem sou eu

Minha foto
Salvador, BA, Brazil
Analista de sistemas, expert em telecom, formado em Eng. Elétrica e nerd assumido

domingo, 31 de julho de 2011

Redes de telecomunicação (2) - Multiplexação e digitalização: parte 1

Um dos problemas causados pelo aumento do tráfego telefônico é o esgotamento da capacidade dos recursos de interconexão entre centrais. Inicialmente esta interconexão era feita com cabos multipar, e nem sempre é possível, ou economicamente viável, lançar cabos adicionais ou substituir os cabos existentes para ampliar a capacidade. O exemplo mais comum disso são os cabos submarinos. Caro demais substituir ou lançar mais um cabo paralelo ao existente, então como aumentar a capacidade?

A saída é a multiplexação. Multiplexar é apenas outra forma de dizer compartilhar. A idéia é: em vez de limitar a utilização de um par de fios para um chamada de cada vez, vamos usar o mesmo par de fios (ou outros meios de transmissão) para várias chamadas simultâneas.

Aqui temos que fazer um parêntese matemático. Nada muito complicado, e nenhuma conta pra fazer. Appenas o entendimento de alguns conceitos. Mas se você não entender isto aqui, muita coisa mais tarde vai parecer bruxaria.

O sinal elétrico analógico (tensão ou corrente) que representa a voz do usuário participante de uma chamada telefônica pode ser descrito como uma função do tempo. Em 1807 Joseph Fourier demonstrou que qualquer função pode ser decomposta na forma de uma série infinita de funções seno e cosseno (isto também pode ser visto como funções exponenciais complexas, mas deixa isso pra lá...). Este tipo de série foi batizada série de Fourier, em sua homenagem. A figura abaixo dá alguns exemplos (parciais) da decomposição de algumas funções em série de Fourier.



Com isto temos uma forma alternativa para representar funções no tempo. Podemos representá-las através da amplitude de cada um dos termos da sua decomposição em série de Fourier. Ou seja: uma função tensão (ou corrente) x tempo pode ser expressa por uma função equivalente amplitude x frequência. Exemplo: a figura abaixo é o gráfico de um sinal elétrico em função do tempo medido na saída de um microfone (repare que a tensão é proporcional à pressão do ar gerada pelas ondas sonoras captadas pelo microfone).



Quando obtemos a sua decomposição em série de Fourier, através de um processo chamado de transformada de Fourier, obtemos o seguinte gráfico de amplitude em função da frequência.



Então observamos que o nosso sinal originl é possui apenas duas componentes, uma com frequência de 4 Hz e amplitude 1 V (no caso) e outra com frequência de 12 Hz e amplitude aproximada de 0,3 V. O primeiro gráfico é conhecido como a representação do sinal no domínio tempo, e o segundo como a representação do sinal no domínio frequência. O segundo gráfico também é conhecido como o espectro de frequências do sinal representado no primeiro gráfico. Fim do parêntese (outros virão mais tarde).

Suponha agora que nós temos um sinal arbitrário s(t) cuja rpresentação no domínio frequência seja algo parecido com a figura abaixo.



A conversão entre a frequência f (expressa em Hertz) e a frequência angular w (ômega minúsculo, expressa em radianos/segundo) é dada pela fórmula:


Agora vamos considerar um sinal C(t), puramente senoidal, que, só por conveniência, vamos representar por uma função cosseno. Vamos tomar a nossa origem no temo de tal forma que a fase deste sinal seja igual a zero. Então, no domínio frequência, temos o seguinte:



Vamos agora fazer que a amplitude do sinal C(t) (portadora ou carrier) varie em função do sinal s(t). Desta forma obtemos um sinal modulado em amplitude (amplitude modulated ou AM). No domínio tempo temos algo parecido com o mostrado na figura abaixo (onde s(t) é um sinal senoidal puro)



O nosso sinal AM tem a seguinte aparência no domínio frequência:



Reparem que o nosso sinal original teve seu espectro de frequência trasladado da origem para a frequência da portadora. Então podemos fazer o seguinte esquema:



Este é o auge da tecnologia analógica para a transmissão de sinais entre as centrais de comutação. FDM significa frequency division multiplexing, e como pode ser visto na figura, a multiplexação é feita pela modulação AM dos vários sinais de entrada, cada um deles modulando portadoras separadas em frequência de tal forma que os espectros individuais não se sobreponham após a translação. Na outra ponta do circuito cada sinal individual pode ser separado do sinal multiplexado M(t) usando filtros passa-faixa centrados na frequência de cada portadora.

Daqui em diante os avanços tecnológicos ocorreram na digitalização da comutação e da transmissão de sinais entre as centrais de comutação. Trataremos disto na parte 2 deste artigo.

sábado, 30 de julho de 2011

Redes de telecomunicação (1) - Os primórdios

Pessoal, tenho observado que muita gente boa que atua na área de telecom tem uma estranha deficiência de entendimento quanto ao que são, como funcionavam, como funcionam e como funcionarão as redes de telecomunicação. Para dar uma ajudinha a este povo que acha que quem ferve a 90 graus é o ângulo reto, decidi iniciar esta série de artigos.

Vamos começar pela evolução da "mãe de todas as redes": a rede telefônica.

Depois que Alexander Graham Bell inventou o telefone, os construtores de redes telefônicas como um negócio notaram que não era prático conectar todos os usuários entre si, porque o número de enlaces necessários cresce muito rápido à medida que o número de nós conectados aumenta.


Já que uma topologia totalmente ligada (full mesh) não é viável economicamente, a alternativa natural foi recorrer a uma topologia estrela (hub and spokes).



Neste caso, o nó central da rede, chamado nó de comutação (exchange node), utilizava um painel de conexões (switchboard), e as conexões eram completadas ligando os pares de usuários via cabos de interconexão (patch cables). Lembrem-se de que ainda estamos falando dos primórdios da rede telefônica.


A fotografia abaixo mostra um modelo de switchboard fabricado em 1924.


Mas isso só adiantou por pouco tempo. Com o crescimento do número de usuários do serviço telefônico, bem como seu espalhamento geográfico, as operadoras rapidamente tiveram que adotar uma hierarquia de switchboards, os locais, responsáveis pela conexão entre um grupo geograficamente restrito de usuários, e os de trânsito (tandem), responsáveis pela conexão entre grupos locais.


Neste ponto da história entra em cena Agner Krarup Erlang, engenheiro, matemático e estatístico dinamarquês. Com seus livros A Teoria das Probabilidades e as Conversações Telefônicas (1908) e Solução de Alguns Problemas da Teoria das Probabilidades Significativos Para as Centrais Telefônicas Automáticas (1917) ele foi o pioneiro no estudo da teoria do tráfego telefônico e da teoria das filas, usadas como ferramentas para o dimensionamento racional da rede. Antigamente o uso das fórmulas de Erlang era simplificado pelo uso de tabelas padronizadas. Hoje existem sites e softwares para efetuar o cálculo das fórmulas quando necessário.

O elemento principal que permitiu o desenvolvimento de centrais telefônicas automáticas foi a invenção do relé de passo (ou relé Strowger) por Almon Brown Strowger em 1891. Eles são o bloco básico de construção das chamadass centrais de passo ou centrais Strowger (step-by step exchange ou stepper exchange).

As centrais automáticas substituiram inicialmente as telefonistas que operavam os switchboards locais, e, mais tarde, também as telefonistas dos switchboards de trânsito. Mantendo a nomenclatura, elas passaram a ser denominadas centrais locais ou centrais de trânsito (tandem) conforme a sua forma de atuar no estabelecimento das chamadas (call setup).

Outra novidade com a introdução de centrais automáticas foi o surgimento de protocolos de sinalização central-assinante e central-central.

A sinalização central-assinante envolve a geração automática de sons pela central para indicar a disponibilidade para receber informação do usuário (tom de discar - dial tone), o início do toque da campainha no destino (tom de chamada - ringback tone), a indisponibilidade do destino para receber a chamada (tom de ocupado - busy tone), e a ocorrência de erros no encaminhamento da chamada (tom de erro - reorder tone).

A primeira forma de sinalização assinante-central foi a sinalização decádica, feita com o uso de um disco rotatório que gera trens de pulsos elétricos para representar os dígitos de 0 a 9 (um pulso = dígito 1, dois pulsos = dígito 2, ... , nove pulsos = dígito 9, dez pulsos  =  dígito 0). Posteriormente a sinalização central-assinante e assinante-central foram padronizadas na sinalização DTMF (Dual-Tone Multi-Frequency). Para os dígitos da sinalização assinante-central o padrão internacional é definido na recomendação Q.23 da ITU-T. Cada dígito corresponde à geração simultânea de dois tons, conforme a tabela abaixo.


A sinalização central-assinante está aberta para padronização local em cada país. O padrão adotado nos Estados Unidos é:
  • Tom de discar - 350 Hz + 440 Hz, -13 dBm, contínuo;
  • Tom de chamada - 440 Hz + 480 Hz, -19 dBm, intermitente (duração de 2 segundos e intervalo de 4 segundos);
  • Tom de ocupado - 480 Hz + 620 Hz, -24 dBm, intermitente (duração de 0,5 segundos e intervalo de 0,5 segundos);
  • Tom de erro - 480 Hz + 620 Hz, -24 dBm, intermitente (duração de 0,25 segundos e intervalo de 0,25 segundos)
A sinalização central-central inicialmente era feita usando parte da banda dos próprios canais utilizados para cursar o tráfego dos usuários (in-band signaling ou channel-associated signaling - CAS). Os padrões mais difundidos para in-band signaling são o SS5 (Signaling Sistem #5) e o R2. Posteriormente o sistema de sinalização central-central evoluiu para o uso de canais dedicados apenas para sinalização (out-of-band signaling ou common channel signaling - CCS), sendo o SS7 (Signaling System #7) o mais representativo desta categoria.

A tecnologia de construção das centrais evoluiu para as centrais de painel (panel switches) e centrais crossbar. Depois disso começou a onda da digitalização da rede. Mas isto já é assunto para o próximo artigo desta série.

    terça-feira, 12 de julho de 2011

    Controle Estatístico de Processos

    No segundo post sobre disponibilidade eu mencionei, assim meio que de passagem, que a forma correta de avaliar a capacidade de uma determinada topologia do edge site para cumprir as exigências de disponibilidade era usar as estatísticas reais, ou pelo menos aproximadas em laboratório, dos tempos de reconvergência das rotas após algum evento.

    Isto nos leva à pergunta: como fazer para, usando as estatísticas de comportamento de algum processo, garantir que ele consiga, consistentemente, produzir resultados de acordo com o esperado?

    A resposta para esta pergunta começa pelo reconhecimento que, inevitavelmente, qualquer processo sempre apresenta alguma variabilidade nos seus resultados. O primeiro segredo do negócio é reconhecer se a forma como esta variabilidade está ocorrendo, na prática, é puramente aleatória (o que é natural e esperado) ou se existem fatores externos influenciando e introduzindo tendências anormais de variablidade nos resultados. Chamamos de causas naturais de variabilidade aquelas que são inerentes à natureza do processo, enquanto os fatores externos de variablidade são chamados causas especiais.

    Não vou me alongar sobre como reconhecer se existem causas especiais para a variabilidade exibida pelos resultados do processo (dica: estudem o trabalho de Walter Shewhart). Entretanto não existe possibilidade de controle estatístico do processo enquanto este tipo de causa de variabilidade existir no processo. Elas tem que ser devidamente identificadas e bloqueadas (dica: use o MASP). A partir do ponto onde existem somente as causas naturais para a variabilidade do resultado do processo, então podemos seguir adiante.

    A questão agora é: qual é o comportamento da distribuição de frequência dos resultados do processo? Existem várias possibilidades, a depender da natureza do processo em estudo, mas vou explicar aqui o caso mais simples, onde o processa apresenta uma variabilidade com distribuição de frequência normal, ou gaussiana. Neste caso a variável (ou variáveis) medidas como resultado do processo tem um gráfico da sua distribuição de frequência na forma abaixo.




    Em um distribuição deste tipo existem dois valores importantes: o valor médio da variável cuja frequência foi medida, normalmente representado pela letra x encimada por um traço (x barra), e o desvio padrão da distribuição, representado pela letra grega sigma minúscula.

    O valor de x barra representa o valor mais frequente apresentado pela variável do resultado do processo que estamos estudando, e o valor do desvio padrão indica o grau de dispersão dos resultados observados em torno do valor médio. Quanto maior o valor de sigma mais "achatada" é a forma da curva da distribuição de frequências, e quanto menor o valor de sigma mais "pontuda" é a forma da curva da distribuição de frequências, conforme exemplo abaixo.


    Outro fator importante a observar é a probabilidade de ocorrência de um determinado resultado para a variável medida. Podemos associar esta probabilidade com o número de desvios padrão de afastamento entre o valor procurado e o valor médio. Observe a figura abaixo.


    Vemos que existe 0,13% de probabilidade de ocorrência de um valor que seja menor que x barra menos três sigmas, assim como também existe 0,13% de probabilidade de ocorrência de um valor que seja maior que x barra menos três sigmas. No geral dizemos que existe probabilidade de 0,26% de ocorrência de um valor que esteja mais afastado do valor médio que três desvios padrão, para mais ou para menos. Ou, inversamente, existe 99,84% de probabilidade de um resultado qualquer observado encontrar-se na faixa definida pelo valor médio mais ou menos três desvios padrão.

    Próximo passo: identificar quais são os limites aceitáveis, de acordo com os requisitos do processo, para o valor da nossa variável medida. Estes limites de tolerância podem ser especificados como uma faixa de valores aceitáveis (ex.: diâmetro de 5 mm mais ou menos 0,01 mm) ou como um único valor limite que não deve ser excedido, para mais ou para menos (ex.: tempo de resposta não superior a 3 segundos, temperatura não inferior a  20 °C). O segredo para ter nosso processo sob controle estatístico é garantir que a sua faixa de variablidade de, por exemplo, mais ou menos três desvios padrão em torno do valor médio, caiba inteiramente dentro da faixa de valores de tolerância para a variável do processo que está sendo avaliada.


    Ou, expressando algebicamente, o que queremos é que seja satisfeito o seguinte sistema de inequações:


    Em que LST significa limite superior de tolerância, e LIT significa limite inferior de tolerância. Obviamente, se os requisitos do processo para a nossa variável for do tipo "não superior a..." ou "não inferior a...", então somente uma das equações acima deverá ser satisfeita.

    O resultado disto é que podemos afirmar que existe 99,8% de probabilidade do resultado do nosso processo estar em conformidade com os requisitos. Porém, apesar disso parecer genial (e é...), existem algumas outras coisinhas com as quais se preocupar:
    • Para que este método de gestão da qualidade dos processos funcione é importante escolher com cuidado quais variáveis decontrole serão observadas. Isto é especialmente verdade em processos com várias fases. E isto levanta outro problema estatístico delicado: como avaliar a forma e o grau de correlação entre o comportamento da variável de controle escolhida e a aderência do resultado do processo aos limites de tolerância;
    • Toda a discussão acima assume que a distribuição de frequência da variável de controle é normal. Se isto não for verdade, então a idéia básica ainda funciona, mas são necessárias adaptações;
    • Nunca assuma que causas especiais de variabilidade estão ausentes só porque você já passou o pente fino no seu processo. Elas tem o hábito de entrar insidiosamente e quando menos se espera. Vigilância sempre.
    Auf wiedersehen!

    sexta-feira, 1 de julho de 2011

    Disponibilidade (2)

    No artigo anterior revisamos os aspectos básicos do cálculo da disponibilidade. Mas, e se o conjunto de elementos que tivermos que considerar for mais complicado que somente um conjunto de elementos ligados em série ou em paralelo?

    Nada como um exemplo concreto para tornar palpáveis conceitos abstratos. Então vamos imaginar a seguinte situação. Uma rede IP/MPLS de alta disponibilidade, configurada em uma topologia de double hub'n'spoke, tem a topologia típica dos seus edge sites da seguinte forma:

    Topologia típica do edge site
    Cada uma das VLANs separa logicamente o tráfego de uma VRF defiida na rede MPLS. Em cada VLAN (que pode ou não estar associada a outras L2 switches do edge site) o par de interfaces (fisicas ou virtuais) das L3 switches forma um par redundante VRRP (ou HSRP se o ambiente for puro Cisco Systems). As L3 switches atuam como roteadores PE da rede MPLS, e a redundância de rotas entre elas (cursando pelos roteadores P de concentração local e dos hubs) é garantida pelos mecanismos normais do MPLS - possivelente, mas não obrigatoriamente, usando recursos de MPLS-TE e FRR.

    Como vimos no artigo anterior deste tópico (só planejo escrever mais este artigo sobre este assunto, então é muito pouco para chamar de "série"), o MTTR é fundamental para determinar o número de "noves" de disponibilidade. Nestas situações, quem define o MTTR é o tempo de reconvergência das rotas após algum evento. Para ser mais preciso, o tempo que, na análise da distribuição estatística dos tempos de reconvergência para um determinado evento (supostamente normal) corresponda à média mais dois (ou três) desvios-padrão. Então muita atenção deve ser dada à configuração dos intervalos de tempo entre mensagens de keepalive e os timeouts para iniciar o recálculo de rotas do VRRP/HSRP e do MPLS. Na verdade a maneira correta de determinar a disponibilidade para todo o edge site deveria levar em conta as probabilidades de ocorrência de cada modo de falha do site (como veremos abaixo) e seus respectivos MTTRs.

    Como eu nunca vi ninguém fazer isto na vida real, nem mesmo com aproximações verificadas em bancada de laboratório, a alternativa é trabalhar a partir da disponibilidade esperada para cada elemento individual. Fazendo um diagrame esquemático dos elementos relevantes para a disponibilidade do edge site temos o seguinte:

    Elementos críticos para a disponibilidade do edge site
    Como suposição inicial, vamos admitir que a disponibilidade dos elementos de hardware (VLAN de acesso, L3 switches e roteadores P) é de quatro "noves" - 99,99% ou 0,9999; que a disponibilidade das conexões PE-P é de três "noves" - 99,9% ou 0,999 (não estranhe isso, porque muitos eventos de alteração topológica ocorrem por erros operacionais nas manobras do cabeamento); e que a disponibilidade dos links WAN também seja de três "noves" (não está muito diferente do observado na prática).

    Cada um destes elementos pode, em um determinado instante, estar funcionando ou não. Temos, então, uma situação onde 11 elementos podem, individualmente, assumir um entre dois estados possíveis. Quantas configurações diferentes (modos de falha) podem ocorrer? Simples: cada estado operacional do edge site pode ser representado como um número binário com 11 dígitos, portanto existem 2^11 = 2048 estados diferentes.

    Fazemos uma tabulação destes estados (uma medalha para os inventores das planilhas eletrônicas!) conforme mostrada abaixo (visão somente de primeiras 8 das 2048 colunas de estado do sistema).

    Planilha de estados do sistema


    Em cada coluna de estado o valor zero representa que aquele elemento encontra-se em funcionamento, e o valor 1 significa que o elemento está fora de serviço. Calcula-se a probabilidade de ocorrência do estado fazendo o produtório dos valores da disponibilidade (A) dos elementos que estiverem com estado operacional igual a zero e dos valores da indisponibilidade (1 - A) dos elementos que estiverem com estado operacional igual a um. Agora é necessário avaliar se cada estado individual causa ou não a interrupção da comunicação do edge site. Os estados que interrompem a comunicação satisfazem à seguinte expressão lógica:
    • [VLAN de acesso = 1] OU;
    • [ [L3 switch (1) = 1] E [L3 switch (2) =1] ] OU;
    • [ [Conexão PE-P (1) =1] E [Conexão PE-P (2) =1] E [Conexão PE-P (3) =1] E [Conexão PE-P (4) =1] ] OU;
    •  [ [Link WAN (1) = 1] E [Link WAN (2) =1] ]
     Os estados que satisfizerem esta condição recebem o valor 1 na linha de causa de interrupção, e a probabilidade de falha total (1 - A) do sistema é o somatório dos produtos do indicador de causa de interrupção pela probabilidade de ocorrência de cada estado. Obviamente a disponibilidade (A) do sistema será o complemento para um da probabilidade de falha total.

    Muito bem. Os valores que estão na planilha são típicos dos equipamentos e serviços de comunicação que encontramos na praça. E vemos que esta combinação nos dá uma disponibilidade total de apenas três "noves", bem perto de chegar a quatro "noves".

    Só que isto é empurrado goela abaixo das operadoras de rede como sendo uma configuração de cinco "noves"! E isto não é verdade. Sendo otimista, a disponibilidade real é cerca de dez vezes menor que a desejada como parâmetro de projeto.

    Brincando ainda mais com a planilha observ-se que o elemento dominante da disponibilidade total do edge site são os links WAN. Melhorar os "noves" de todo o resto influencia muito pouco no resultado total. Por exemplo, se todos os outros elementos tiverem cinco "noves" de disponibilidade, mantida a situação dos links WAN com três "noves", não altera o valor global para A (as mudanças ocorrem pralá da sexta casa decimal).

    Porém se os links WAN passarem a quatro "noves", mantendo os demais elementos na forma inicial, a disponibilidade global passa a quatro "noves" redondinhos. Conclusão: se quisermos um ambiente de rede que atenda ao critério de cinco "noves" de disponibilidade, que é propalado como típico de redes de telecom, todos os elementos da rede devem ter cinco "noves" de disponibilidade, porque o elo mais fraco atrai a disponibilidade de todo o conjunto em direção a ele.

    O que eu concluo disto tudo? Duas coisas:
    1. Ninguém está, de fato, construindo redes de altíssima disponibilidade, e;
    2. As redes de telecom nunca tiveram, realmente, uma disponibilidade tão alta quanto anunciado.
    Espero que vocês aprovitem este método de análise para as suas situações concretas. Inté.