Este documento discute o recurso Comutação de Proteção Automática (APS - Automatic Protection Switching) e fornece um exemplo de como configurar o APS para redundância de Pacote sobre SONET (POS - Packet Over SONET).
Este documento permite que você entenda como o APS funciona e o ajuda a configurar e manter o APS em roteadores Cisco. A topologia de rede na figura 1 é a base deste documento:
Figura 1 - Topologia de rede
A Cisco recomenda que você tenha conhecimento destes tópicos:
SONET (Synchronous Optical Network, Rede Óptica Síncrona) e tecnologias POS.
Conceitos básicos da configuração do roteador Cisco.
As informações neste documento são baseadas nestas versões de software e hardware:
Software Cisco IOS® versão 12.0(10)S.
Plataformas de hardware da série Cisco 12000.
O suporte para o recurso APS está disponível nas plataformas de hardware das séries Cisco 7500 e 12000 e no software Cisco IOS versão 12.2(5) e posterior.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
O recurso APS fornece redundância e permite um switchover de circuitos POS no caso de uma falha de circuito. A implementação do APS permite configurar um par de linhas SONET para redundância de linha. Quando a interface Working (W) falha, a interface Protect (P) assume rapidamente a carga de tráfego. No caso de um corte de fibra, a linha ativa muda automaticamente para a linha de espera em 60 milissegundos (início de 10 milissegundos e switchover de 50 milissegundos). O SONET APS executa switchovers na Camada 1 (L1). Portanto, o switchover é significativamente mais rápido do que na Camada 2 (L2) ou Camada 3 (L3).
O mecanismo de proteção que este recurso usa tem a arquitetura 1+1, conforme descrito na publicação Bellcore TR-TSY-000253, SONET Transport Systems, Common Generic Criteria, Seção 5.3. O SONET APS é compatível com GR-253 e ITU-T G.783. Portanto, o APS SONET permite que os roteadores Cisco se integrem perfeitamente com os ADMs (Add/Drop Multiplexers, multiplexadores de inserção/derivação) SONET. Esse recurso permite a configuração de comutação bidirecional ou unidirecional, mas a comutação bidirecional não-reversiva é o padrão.
Na arquitetura APS 1+1, cada par de linha redundante consiste em uma interface W e uma interface P. As interfaces W e P estão conectadas a um SONET ADM, que envia o mesmo payload de sinal para as interfaces W e P. Os circuitos W e P podem terminar em duas portas do mesmo adaptador, placa de linha ou em dois roteadores diferentes. Quando ocorre uma condição de Falha de sinal (SF) ou Degrade de sinal (SD), o hardware muda da linha W para a linha P. Há uma opção reversível. Após a detecção de uma condição SF, o hardware volta automaticamente para a linha W após o reparo da linha W e decorre de um período configurado. O PGP (In-band Protect Group Protocol) consegue a coordenação entre a linha W e a linha P. Na opção não-revertiva, se ocorrer uma condição SF, o hardware muda para a linha P e não reverte automaticamente para a linha W.
No circuito P, os bytes K1/K2 da Linha suspensa (LOH) do quadro SONET indicam o status atual da conexão APS e transmitem qualquer solicitação de ação. As duas extremidades da conexão usam esse canal de sinalização para manter a sincronização. Os próprios circuitos W e P, dentro do roteador ou roteadores nos quais terminam, são sincronizados através de um canal de comunicação independente (usando o PGP APS), isolado dos circuitos W e P. Esse canal independente pode ser uma conexão SONET diferente, Ethernet ou uma conexão de largura de banda mais baixa. Em um roteador configurado para APS, a configuração para a interface P inclui o endereço IP do roteador (normalmente e recomendado como o endereço de loopback) que tem a interface W.
O APS PGP, que é executado sobre o User Datagram Protocol (UDP), fornece comunicação entre o processo que controla a interface W e o processo que controla a interface P. O processo que controla o circuito P usa esse protocolo para direcionar o processo que contém o circuito W, para ativar ou desativar o circuito W, em caso de degradação, perda de sinal de canal ou intervenção manual. Se os dois processos perderem a comunicação entre si, o roteador W assumirá o controle total do circuito W como se nenhum circuito P existisse.
Aqui estão os acionadores APS categorizados hierarquicamente (da prioridade mais baixa à prioridade mais alta):
Solicitação de Switch manual.
Condição SD (Bit Error Rate (BER) excedendo o limite SD).
Condição SF (Perda de Quadro (LOF), Perda de Sinal (LOS), Linha de Sinal de Indicação de Alarme (AIS-L) e um BER de Linha que excede 10-3/ou é provisionável pelo usuário).
Solicitação de Switch Forçada.
Aqui estão as opções do IOS para configurar o APS:
GSR(config-if)# aps ? authentication Authentication string force Force channel group Group association lockout Lockout protection channel manual Manually switch channel protect Protect specified circuit reflector Configure for reflector mode APS revert Specify revert operation and interval signaling Specify SONET/SDH K1K2 signaling timers APS timers unidirectional Configure for unidirectional mode working Working channel number
Além dos novos comandos IOS para o recurso APS, os comandos de configuração da interface POS limiar POS e relatório POS foram adicionados para suportar a configuração de usuário dos limiares BER e a geração de relatórios de alarmes SONET. Veja um exemplo de saída:
GSR(config-if)# POS threshold ? b1-tca B1 BER threshold crossing alarm b2-tca B2 BER threshold crossing alarm b3-tca B3 BER threshold crossing alarm sd-ber set Signal Degrade BER threshold sf-ber set Signal Fail BER threshold GSR(config-if)# POS report ? all all Alarms/Signals b1-tca B1 BER threshold crossing alarm b2-tca B2 BER threshold crossing alarm b3-tca B3 BER threshold crossing alarm lais Line Alarm Indication Signal lrdi Line Remote Defect Indication pais Path Alarm Indication Signal plop Path Loss of Pointer prdi Path Remote Defect Indication rdool Receive Data Out Of Lock sd-ber LBIP BER in excess of SD threshold sf-ber LBIP BER in excess of SF threshold slof Section Loss of Frame slos Section Loss of Signal
No modo bidirecional, os canais de Recebimento (Rx) e Transmissão (Tx) são comutados como um par. No modo unidirecional, os canais Tx e Rx são comutados independentemente. Por exemplo, no modo bidirecional, se o canal Rx na interface W tiver uma perda de sinal de canal, ambos os canais Rx e Tx serão comutados.
O roteador W reconhece a falha e notifica o roteador P (através do PGP de interconexão local). O roteador P instrui o roteador W a desmarcar a interface W (através do PGP de interconexão local). O roteador P solicita que o ADM comute Tx e Rx para P (através de bytes K1/K2 na interface P que vão para o ADM). O roteador P seleciona a interface P e o ADM está em conformidade com a solicitação do switch e sinaliza a conformidade (através de bytes K1/K2 no ADM para a fibra da interface P).
Quando há um alarme LOS/LOF (falha) no W Rx, o roteador W reconhece a falha e notifica o roteador P (através do PGP de interconexão local). O roteador P instrui o roteador W a desmarcar a interface W (através do PGP de interconexão local). O roteador W garante um Line Alarm Indication Signal (LAIS) enquanto a interface W for desmarcada para forçar o ADM a comutar o Rx para a interface P. O roteador P solicita que o ADM mude para a interface P (por meio de bytes K1/K2 na interface P para a fibra ADM). O roteador P seleciona a interface P e o ADM atende a solicitação do Switch.
No modo unidirecional, o roteador coforça o ADM a comutar. Para fazer isso, o roteador afirma LAIS (persistentemente, se em W; momentaneamente, se em P). Portanto, o unidirecional que você vê é bem real, pois o modo unidirecional está em conformidade com o GR-253. No entanto, o que o unidirecional também faz é forçar um segundo switch unidirecional, que faz o switch parecer bidirecional. Este é o resultado das restrições que são profundamente embutidas em mecanismos de roteamento (IP), os quais assumem, em todos os níveis, que o tráfego deve ter Rx e Tx na mesma interface. Em resumo, o roteador está em conformidade com os protocolos unidirecionais no GR-253, mas força a comutação em um modelo que suporta IP. Portanto, o roteador não suporta Tx e Rx em diferentes pares de fibra.
Observação: um grande desvio do Cisco 12000 Series em relação ao GR-253 é que o Cisco 12000 Series não transmite para W e P, mas mantém uma interface ativa por vez.
O ADM vê a falha de fibra e envia SF SWITCH REQUEST para o roteador P (através de bytes K1/ K2 na fibra da interface P) e solicita um switch para a interface P. O roteador P instrui o roteador W a desmarcar (desativar) a interface W (através da interconexão local). O roteador P seleciona (ativa) a interface P. O roteador P informa ao ADM a conformidade com a solicitação do switch (por meio de bytes K1/ K2 na fibra ADM da interface P).
O roteador W reconhece a falha e notifica o roteador P (através da interconexão local). O roteador P instrui o roteador W a desmarcar a interface W (através da interconexão local). O roteador P solicita que o ADM comute Tx e Rx para P (através de bytes K1/K2 na interface P para a fibra ADM). O roteador P seleciona a interface P e o ADM está em conformidade com as solicitações do switch e a conformidade dos sinais (através de bytes K1/K2 no ADM para a fibra da interface P).
O roteador W reconhece a falha e notifica o roteador P (através da interconexão local). O roteador P instrui o roteador W a desmarcar a interface W (através da interconexão local). O roteador W garante um LAIS para 100 ms para forçar o ADM a comutar o Rx para a interface P. O roteador P solicita que o ADM mude para a interface P (por meio de bytes K1/K2 na interface P para a fibra ADM). O roteador P seleciona a interface P e o ADM atende a solicitação do Switch.
Ambas as sequências começam. Se o roteador P inicia primeiro o switch para P ou se o ADM inicia o switch não importa, porque o resultado é o mesmo.
Os roteadores Cisco equipados com POS atuam como Terminal Equipment (TE) para a seção, linha e segmentos de caminho SONET/SDH (Synchronous Digital Hierarchy) de SONET/SDH e podem detectar e relatar esses erros e alarmes SONET/SDH:
Seção: Alarmes de Cruzamento de Limiar (TCA), LOS e LOF (B1)
Linha: AIS (linha e caminho), Remote Defect Indication (RDI) (linha e caminho), Remote Error Indication (REI), TCA (B2)
Caminho: Eventos de novo ponteiro (NEWPTR), Evento de preenchimento positivo (PSE), Evento de preenchimento negativo (NSE)
Outras informações reportadas incluem:
SF-ber
SD-ber
Rótulo de sinal C2 (construção de payload)
J1 - byte de rastreamento de caminho
B1, B2 e B3 são categorizados como parâmetros de desempenho-monitoramento, enquanto outros como LOS, LOF e LAIS estão incluídos em alarmes. O monitoramento de desempenho pertence aos alertas avançados, ao passo que os alarmes indicam falhas. O status do byte K1/K2 também é informado para o SONET APS ou para o Multiservice Switching Path (MSP) do SDH.
Quando você discute APS, primeiro é necessário entender como o SONET usa bytes K1/K2 no LOH.
Cada Sinal de Transporte Síncrono-1 (STS-1) consiste em 810 bytes, que incluem 27 bytes para Sobrecarga de Transporte (TOH) e 783 bytes para Envelope de Payload Síncrono (SPE). A Tabela 1 ilustra o formato de um quadro STS-1 e as 9 linhas por 90 colunas.
Tabela 1 - Formato de um quadro STS-1Caminho suspenso | ||||
---|---|---|---|---|
Seção adicional | Enquadramento A1 | Enquadramento A2 | Enquadramento A3 | Caminho J1 |
B1 BIP-8 | Orderwire E1 | Usuário E1 | B3 BIP-8 | |
D1 Data Com | D2 Data Com | D3 Data Com | Rótulo de sinal C2 | |
Linha suspensa | Ponteiro H1 | Ponteiro H2 | Ação do ponteiro H3 | Status do caminho G1 |
B2 BIP-8 | K1 | K2 | Canal do usuário F2 | |
D4 Data Com | D5 Data Com | D6 Data Com | Indicador H4 | |
D7 Data Com | D8 Data Com | D9 Data Com | Crescimento de Z3 | |
D10 Data Com | D11 Data Com | D12 Data Com | Crescimento de Z4 | |
Status/crescimento de sincr. S1/Z1 | Crescimento de M0 ou M1/Z2 REI-L | Orderwire E2 | Conexão em tandem Z5 |
Os bytes K1/K2 de um campo de 16 bits. A Tabela 2 lista o uso de cada bit.
Tabela 2 - Descrições dos bits do K1Bits (hex) | Descrição |
---|---|
Bits K1 12345678 | |
Bits 5 a 8 | |
nnnn | Número do canal associado ao código de comando. |
Bits de 1 a 4 | |
1111 (0xF) | Bloqueio da solicitação de proteção. |
1110 (0xE) | Solicitação de Switch Forçada. |
1101 (0xD) | SF - solicitação de alta prioridade. |
1100 (0xC) | SF - requisição de baixa prioridade |
1011 (0xB) | SD - requisição de alta prioridade. |
1010 (0xA) | SD - solicitação de prioridade baixa. |
1001 (0x9) | Não utilizado. |
1000 (0x8) | Solicitação de Switch manual. |
0111 (0x7) | Não utilizado. |
0110 (0x6) | Aguarde para restaurar a solicitação. |
0101 (0x5) | Não utilizado. |
0100 (0x4) | Solicitação de exercício. |
0011 (0x3) | Não utilizado. |
0010 (0x2) | Reverta a solicitação. |
0001 (0x1) | Não inverta a requisição. |
0000 (0x0) | Nenhuma solicitação. |
Observação: o bit 1 é de ordem baixa.
Tabela 3 - Descrições dos bits do K2Bits | Descrição |
---|---|
Bits K2 12345678 | |
Bits de 1 a 4 | |
nnnn | Número do canal associado ao código de comando. |
Bit 5 | |
1 | Uma para n (1:n) arquitetura(s). |
0 | Arquitetura um mais um (1 + 1). |
Bits 6 a 8 | |
111 | AIS de linha. |
110 | RDI da linha. |
101 | Modo de operação bidirecional. |
100 | Modo de operação unidirecional. |
Outro | Reservado. |
Nota: Em K2 (12345678):
K2[1-4] - Número do canal ligado atualmente.
K2[5] - Arquitetura (sempre 0 para 1+1).
K2[6-8] - Modo operacional provisionado (4 = unidir; 5 = bidir).
K2[6-8] - Também transporta o código de alarme 6=LRDI e 7=LAIS.
Observação: em SDH, K2[6-8] transporta apenas os códigos de alarme. O modo operacional não foi enviado.
Observação: por exemplo, quais são os valores para K1 e K2 correspondente no W se o roteador receber um SF? No lado P?
Nota: Resposta: Somente o P transmite e lê K1/K2, nunca o W. No modo bidirecional, se o W receber um SF e nenhuma solicitação superior o preempte, o código de P para o ADM é:
K1= 0xC1 (switch request, SF on 1=working, low priority) K2 = 0x05 (protect bridged [working bridge is incomplete];bidirectional)
Observação: depois que o ADM atender:
K1 = 0x21 (Reverse request, channel 1) K2 = 0x15 (Working bridged; bidirectional)
Observação: o txk1k2 do roteador de proteção será:
K1=0xC1 (switch request, SF on 1=working, low priority) K2 = 0x15 (working bridged; bidirectional)
Observação: neste ponto, o switch está completo.
A Figura 2 mostra uma configuração básica APS 1+1 de um GSR para um ADM (ONS 15454) no modo bidirecional, não-revertiva (padrão na série Cisco 12000). O APS é comutado linear e é feito no nível de linha (entre o Cisco 12000 Series e o ADM versus caminho ou fim-a-fim).
Observação: este exemplo não tem um canal independente para PGP porque as interfaces W e P estão no mesmo roteador.
Figura 2 - Uma configuração básica do APS 1+1
gsrA# show running-config ! interface Loopback0 ip address 100.1.1.1 255.255.255.0 no ip directed-broadcast ! interface POS1/0 ip address 10.1.1.1 255.255.255.0 no ip directed-broadcast crc 16 aps group 10 aps working 1 ! interface POS1/1 ip address 10.1.1.3 255.255.255.0 no ip directed-broadcast no keepalive crc 16 aps group 10 aps revert 1 aps protect 1 100.1.1.1 ! router ospf 100 network 10.1.1.0 0.0.0.255 area 0 network 100.1.1.0 0.0.0.255 area 0 gsrB#show running-config ! interface Loopback0 ip address 200.1.1.1 255.255.255.0 ! interface POS3/0 ip address 10.1.1.2 255.255.255.0 no ip directed-broadcast crc 16 aps group 10 aps working 1 ! interface POS3/1 ip address 10.1.1.4 255.255.255.0 no ip directed-broadcast no keepalive crc 16 aps group 10 aps revert 1 aps protect 1 200.1.1.1 ! router ospf 100 network 10.1.1.0 0.0.0.255 area 0 network 200.1.1.0 0.0.0.255 area 0 !
Para fornecer informações sobre os processos do sistema, o software IOS inclui uma extensa lista de comandos EXEC que começam com a palavra show. Ao executar esses comandos show, tabelas detalhadas de informações do sistema são exibidas. Aqui está uma lista de alguns dos comandos show comuns para o recurso APS, junto com saídas de exemplo:
show aps
show controllers POS
show interface POS
! gsrA# show aps POS1/1 APS Group 10: protect channel 0 (inactive) bidirectional, revertive (1 min) SONET framing; SONET APS signaling by default Received K1K2: 0x20 0x05 Reverse Request (protect) Transmitted K1K2: 0xE0 0x05 Forced Switch (protect) Working channel 1 at 100.1.1.1 (Enabled) Pending local request(s): 0x0E (No Request, channel(s) 0 1) Remote APS configuration: working POS1/0 APS Group 10: working channel 1 (active) !--- Verify whether the working channel is active. SONET framing; SONET APS signaling by default Protect at 100.1.1.1 Remote APS configuration: working gsrA# show controllers POS 1/0 POS1/0 SECTION LOF = 0 LOS = 0 BIP(B1) = 0 LINE AIS = 0 RDI = 0 FEBE = 0 BIP(B2) = 0 PATH AIS = 0 RDI = 0 FEBE = 0 BIP(B3) = 0 LOP = 0 NEWPTR = 0 PSE = 0 NSE = 0 Active Defects: None Active Alarms: None Alarm reporting enabled for: SF SLOS SLOF B1-TCA B2-TCA PLOP B3-TCA Framing: SONET APS working (active) !--- Ensure that the working channel is active. COAPS = 0 PSBF = 0 State: PSBF_state = False ais_shut = FALSE Rx(K1/K2): 00/00 S1S0 = 00, C2 = CF Remote aps status working; Reflected local aps status working CLOCK RECOVERY RDOOL = 0 State: RDOOL_state = False PATH TRACE BUFFER : STABLE Remote hostname : 12012 Remote interface: POS3/0 Remote IP addr : 10.1.1.2 Remote Rx(K1/K2): 00/00 Tx(K1/K2): 00/00 BER thresholds: SF = 10e-3 SD = 10e-6 TCA thresholds: B1 = 10e-6 B2 = 10e-6 B3 = 10e-6 ! gsrA# show controllers POS 1/1 POS1/1 SECTION LOF = 0 LOS = 0 BIP(B1) = 0 LINE AIS = 0 RDI = 0 FEBE = 0 BIP(B2) = 0 PATH AIS = 0 RDI = 0 FEBE = 0 BIP(B3) = 0 LOP = 0 NEWPTR = 0 PSE = 0 NSE = 0 Active Defects: None Active Alarms: None Alarm reporting enabled for: SF SLOS SLOF B1-TCA B2-TCA PLOP B3-TCA Framing: SONET APS protect (inactive) COAPS = 0 PSBF = 0 State: PSBF_state = False ais_shut = FALSE Rx(K1/K2): 20/05 Tx(K1/K2): E0/05 Signalling protocol: SONET APS by default S1S0 = 00, C2 = CF Remote aps status working; Reflected local aps status working CLOCK RECOVERY RDOOL = 0 State: RDOOL_state = False PATH TRACE BUFFER : STABLE Remote hostname : 12012 Remote interface: POS3/0 Remote IP addr : 10.1.1.2 Remote Rx(K1/K2): 00/00 Tx(K1/K2): 00/00 BER thresholds: SF = 10e-3 SD = 10e-6 TCA thresholds: B1 = 10e-6 B2 = 10e-6 B3 = 10e-6 ! gsrA# show interface p1/0 POS1/0 is up, line protocol is up (APS working - active) !--- Verify whether the working channel is active. gsrA# show interface p1/1 POS1/1 is up, line protocol is down (APS protect - inactive) ! gsrB# show aps POS3/1 APS Group 10: protect channel 0 (inactive) bidirectional, revertive (1 min) SONET framing; SONET APS signaling by default Received K1K2: 0x00 0x05 No Request (Null) Transmitted K1K2: 0x00 0x05 No Request (Null) Working channel 1 at 200.1.1.1 (Enabled) Remote APS configuration: working POS3/0 APS Group 10: working channel 1 (active) !--- Verify whether the working channel is active. SONET framing; SONET APS signaling by default Protect at 200.1.1.1 Remote APS configuration: working ! gsrB# show controllers p 3/0 POS3/0 SECTION LOF = 11 LOS = 11 BIP(B1) = 46701837 LINE AIS = 10 RDI = 11 FEBE = 1873 BIP(B2) = 8662 PATH AIS = 14 RDI = 27 FEBE = 460909 BIP(B3) = 516875 LOP = 0 NEWPTR = 11637 PSE = 2 NSE = 16818 Active Defects: None Active Alarms: None Alarm reporting enabled for: SF SLOS SLOF B1-TCA B2-TCA PLOP B3-TCA Framing: SONET APS working (active) !--- Verify whether the working channel is active. COAPS = 103 PSBF = 0 State: PSBF_state = False ais_shut = FALSE Rx(K1/K2): 00/00 S1S0 = 00, C2 = CF Remote aps status working; Reflected local aps status working CLOCK RECOVERY RDOOL = 11 State: RDOOL_state = False PATH TRACE BUFFER : STABLE Remote hostname : hswan-gsr12008-2b Remote interface: POS1/0 Remote IP addr : 10.1.1.1 Remote Rx(K1/K2): 00/00 Tx(K1/K2): 00/00 BER thresholds: SF = 10e-3 SD = 10e-6 TCA thresholds: B1 = 10e-6 B2 = 10e-6 B3 = 10e-6 ! gsrB# show controllers p 3/1 POS3/1 SECTION LOF = 10 LOS = 10 BIP(B1) = 250005115 LINE AIS = 11 RDI = 8 FEBE = 517 BIP(B2) = 5016 PATH AIS = 14 RDI = 25 FEBE = 3663 BIP(B3) = 7164 LOP = 0 NEWPTR = 184 PSE = 1 NSE = 247 Active Defects: None Active Alarms: None Alarm reporting enabled for: SF SLOS SLOF B1-TCA B2-TCA PLOP B3-TCA Framing: SONET APS protect (inactive) COAPS = 538 PSBF = 0 State: PSBF_state = False ais_shut = FALSE Rx(K1/K2): 00/05 Tx(K1/K2): 00/05 Signalling protocol: SONET APS by default S1S0 = 00, C2 = CF Remote aps status working; Reflected local aps status working CLOCK RECOVERY RDOOL = 10 State: RDOOL_state = False PATH TRACE BUFFER : STABLE Remote hostname : hswan-gsr12008-2b Remote interface: POS1/0 Remote IP addr : 10.1.1.1 Remote Rx(K1/K2): 00/00 Tx(K1/K2): 00/00 BER thresholds: SF = 10e-3 SD = 10e-6 TCA thresholds: B1 = 10e-6 B2 = 10e-6 B3 = 10e-6 ! gsrB#show interface p3/0 POS3/0 is up, line protocol is up (APS working - active) !--- Verify whether the working channel is active. gsrB#show interface p3/1 POS3/1 is up, line protocol is down (APS protect - inactive) !
Para solucionar problemas com APS, colete a saída desses comandos show e debug:
show ver
show run
show ip int b
show contr POS
debug aps
show aps
Execute as ações necessárias para recriar o problema. Emita estes comandos para coletar a saída final e desligar a depuração:
show aps
no debug aps
Observação: em condições normais, o comando debug aps não produz saída. Quando uma condição anormal ocorre, esse comando relata a condição.
Observação: se as fibras W e P estiverem em roteadores diferentes (como geralmente estão), você deve coletar as saídas do comando em ambos os roteadores.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
10-Jan-2006 |
Versão inicial |