Comunicação em Rede Local
Transcrição
Comunicação em Rede Local
Packet over SDH/SONET (POS) Paulo Aguiar DCC/UFRJ 1 IPOS Originalmente, ATM foi planejado para transferência de dados, voz e vídeo em alta velocidade SDH/SONET foi concebido como uma camada física de alta velocidade sobre fibra ótica principalmente ATM foi implementado sobre SDH/SONET “IP over SONET” permite que um datagrama IP seja transferido em links de alta velocidade usando PPP (point-to-point protocol) Convergência para rede IP em alta velocidade torna ATM totalmente descartável 2 Exemplo de Backbone SDH 3 Hierarquias e Taxas para POS SONET SDH Velocidade (Mbps) USO PROVÁVEL OC-3 STS-3c 155,52 Acesso ISP/Corporativo OC-12 STS-12c 622,08 Backbone para ISP/Corporativo OC-48 STM-16 2488,32 Operadora ISP OC-192 STM-64 9953,28 Backbones 39813120 Backbones OC-768 STM-256 4 Enlace Serial: PPP PPP é o padrão da Internet para transporte de pacotes IP sobre enlaces seriais – RFC 2615, PPP over SONET/SDH, 1999 – RFC 1662, PPP in HDLC-like Framing, 1994 – RFC 1661, The Point-to-Point Protocol (PPP), 1994 PPP depende de enlace bidirecional e tem 3 partes – Encapsulamento dos dados – Protocolo de controle do enlace (LCP-Link Control Protocol) – Protocolo de controle de rede (NCP-Network Control Protocol) 5 PPP características gerais Encapsulamento PPP suporta multiprotocolos de nível superior no enlace, podendo trafegar IP e outro protocolo simultaneamente Controle de erro, autenticação, alocação dinâmica de IP – Ideal para acesso discado a provedor – Ideal para conexão dedicada entre roteadores de diferentes fabricantes Negocia opções na abertura da conexão Quadro no formato HDLC – Usa a opção básica de informação sem sequenciamento do HDLC – Controle do enlace por software e independente de hardware Síncrono ou assíncrono Orientado a byte – Usa byte stuffing 6 PPP formato do quadro Flag: 0x7E (delimitador do quadro tipo-HDLC) Endereço: 0xFF (sem função) Controle: 0x03 (unumbered information do HDLC) Protocolo: protocolo superior ao qual o conteúdo do quadro deve ser entregue (ex.: PPP-LCP, IP, IPCP etc.) Informação: dados da camada superior Verificação: CRC (redundância cíclica para deteção de erros) – Cobre tudo, exceto a própria verificação e os flags 7 Byte stuffing (exemplo) byte com o padrão do flag nos dados a enviar byte com padrão de flag (Ox7E) é precedido do byte ESCAPE (0x7D) na transmissão no enlace 8 PPP protocolo de controle de dados Antes de trocar dados da camada de rede – Configurar o enlace PPP (LCP) Tamanho máximo do quadro, autenticação, relatórios de qualidade, compressão (campos de endereço e controle suprimidos), CRC 32 bits – Aprender/configurar as informações da camada de rede (NCP) Para IP: transportar mensagens do protocolo de controle IP (IPCP) (campo de protocolo: 8021) para configurar/aprender os endereços IP 9 PPP é … Sem correção ou recuperação de erros Sem controle de fluxo Sem garantia de entrega em ordem Sem suporte a enlaces multiponto (ex., polling) Recuperação de erros, controle de fluxo, reordenação dos dados, tudo relegado para as camadas mais altas! 10 Ações Essenciais em POS Identificar a fronteira entre pacotes IP dentro do campo de informação do SDH (payload) Evitar que um usuário transmita sequências longas de 0 ou de 1 de modo a perder sincronização ou haver deteção errônea de falta de sinal (0 é falta de luz) (segurança) – Em POS, campos de informação do SDH poderão ser preenchidos por pacotes de conteúdo qualquer vindos de um único usuário 11 Solução para Segurança Embaralhar campo de informação de POS com uso de polinômio gerador para prevenir sequência longa de 0s ou 1s Usar embaralhamento para dificultar ataque malicioso de usuário de POS 12 Embaralhamento: necessidade SDH/SONET usa codificação NRZ: 1 = luz, 0 = ausência de luz – Sequência longa de O’s ou 1’s pode causar perda de sincronização Todos os bytes são embaralhados – Polinômio 1 + x6 + x7 com semente 1111111 é usado para gerar uma sequência pseudo-randômica (repete a cada 127 bits), que é somada ou-exclusivo (XOR) aos bits de entrada Implementado por registro de deslocamento inicializado com 1’s – Exemplo: polinômio 1 + x6 + x7 13 Embaralhamento: necessidade Polinômio 1+x6+x7 garante robustez frente a cargas hostis de vários tributários, mas insuficiente quando a maior parte da carga vem de um único usuário como em POS – Se usuário malicioso gerar pacote IP repetitivamente com conteúdo igual à saída randômica, existe uma chance de 1/127 de sincronizar com o embaralhador – Saída do polinômio é conhecida e apenas é necessário a sincronização por tentativa para gerar grandes sequências de ZEROS e falha de operação Há a necessidade de se usar polinômios de maior grau com POS 14 Embaralhamento: ataque malicioso Ataque malicioso – 21 datagramas de 1500 bytes podem gerar 2080 bits de 0’s (13 microssegundos em STS-3c) resultando em perda de sinal, enquadramento e sincronismo [T1X1.5/97-134, 97-130] – Padrão requer 2,3-100 microssegundos para detetar perda de sinal – A maioria das interfaces opera em baixa velocidade e não consegue manter sync após perda de 80 bits Tarifas das operadoras baseadas em garantia contra erros e falhas – Ataque pode causar excesso de falhas sem que a operadora consiga detetar – Um único usuário pode transtornar um grande número de usuários APS (recuperação automática) é disparado e interrupção pode durar até 50 ms 15 Solução 1 para Fronteiras de Pacotes: IP/PPP/HDLC/SDH Encapsular pacotes IP com PPP e usar FLAGs do HDLC para delimitar os pacotes – Tem que usar byte stuffing do PPP para marcar flags (0x7E) dentro do campo de informação, o que gera overhead – CRC do HDLC (2 a 4 bytes) garante a integridade do pacote IP 16 Pilha POS: IP/PPP/HDLC/SDH A função básica do HDLC é delimitar o quadro PPP 17 Funcionamento de POS O fluxo POS deve ser inserido no envelope de carga síncrono do SONET/SDH (SPE-synchronous payload envelope) de forma contínua, mas como pacotes são assíncronos por natureza, necessário um método para gerar fluxo contínuo – FLAGs (0x7E) inseridos durante os períodos ociosos – Esses flags não são antecedidos de ESC e simplesmente são descartados Como pacotes são de tamanho variável, não existe um alinhamento específico no SPE, e quadros POS podem se espalhar sobre dois quadros SDH – Introduz atraso de armazenamento por hop da ordem de 0,125 ms, pois a recepção completa de um pacote pode ter que esperar o recebimento do próximo quadro SDH Ponteiros do cabeçalho de linha localizam o contêiner virtual 18 Mapeamento de Quadros POS em STS-12c (STM-4) Fixed stuff corresponde a bytes de caminho que não são usados para dados para compatibilidade com quadros SDH STS-n não concatenados 19 Gerência POS IP/PPP/HDLC/SDH SDH/SONET gerenciados com CMIP, Roteadores IP gerenciados via SNMP – Não se pode configurar equipamento SDH a partir de plataforma IP Dificuldade para QoS – Byte stuffing em PPP pode criar overhead imprevisível – Sem prioridade ou preempção em IP/PPP/SDH SDH permite múltiplos destinos a partir de um único link usando quadros STS-n, mas PPP não suporta esta facilidade, sendo estritamente ponto a ponto e forçando esta operação quando utilizado em POS 20 Enquadramento tipo-HDLC (HDLC-like) Caracteres de FLAG, ESC e outros de controle no campo de carga do pacote, são antecedidos de ESC e somados ou-exclusivo com 0x20 – Flags inseridos durante os períodos ociosos para manter o sincronismo não são afetados Na recepção, caracteres ESC são removidos e o byte seguinte é XOR 0x20 caso não seja FLAG – ESCAPE seguido de FLAG significa para abortar o quadro Dado original Com ESCAPE 7E (FLAG) 7D 5E 7D (ESC) 7D 5D 21 Embaralhamento: mais robustez ANSI T1X1.5 + IETF RFC-2615 recomenda usar 1+x43 para PPP over SONET de STS-1 até STS-48 (STM-16 2,5 Gbps) – Taxas mais altas requerem mais estudo, pois byte stuffing é lento Um rótulo de caminho (byte C2 no SDH) indica POS como conteúdo do campo de carga (payload) – 22 (0x16) POS com embaralhamento (RFC-2615) – 207 (0xCF) POS sem embaralhamento (RFC-1619) 22 STS-1: Overhead de Rota Overhead de rota (9 bytes) – (B3) Byte de paridade para carga útil (payload) anterior – (C2) Byte de identificação de rota, identificando o protocolo superior sendo carregado na carga (IP, ATM, etc.) – (F2) Byte de usuário - canal de 64 kbps – (G1) Byte de estado de rotas Enviado no canal reverso quando full duplex – (H4) Byte indicador de quadro múltiplo (cargas grandes > 9x86 bytes) – ( J1) Byte de rastreio de rota - canal de 64 kbps Padrão de 64 bytes contínuo – (Z3-Z5) Bytes para uso futuro Carga útil de 9x86 bytes 23 Quando embaralhar? Caminho A (padrão): entre HDLC e SONET/SDH Caminho B, seria outra solução, embaralhando antes do HDLC, o que pode mascarar flags no campo de info, evitando ESC e diminuindo o overhead Embaralhamento pode impactar a deteção de erro de CRC no HDLC e por isso o padrão é embaralhar depois do HDLC – Algumas sequências de erro detectáveis sem o embaralhador podem passar sem deteção com o embaralhador – Usar CRC de 32 bits ao invés de 16 bits (ou usar 1+x23+x43) 24 Interface Física POS padrão: embaralha após HDLC CRC de 16 bits – 1 + X5 + X12 + X16 CRC de 32 bits – 1 + X + X2 + X4 + X5 + X7 + X8 + X10 + X11 + X12 + X16 + X22 + X23 + X26 + X32 O primeiro bit do CRC a ser transmitido é MSB do byte de maior ordem A FIFO de 256 bytes provê separação entre o sincronismo da linha e o sincronismo do enlace devido à remoção de caracteres ESC 25 Solução 2 para Fronteiras de Pacotes: IP/PPP/SDL/SDH Para taxas mais altas, proposto IP/PPP/SDL/SDH – SDL = Simple Data Link (RFC-2823) – SDL POS identificado por rótulo C2 = 23 (0x17) SDL não usa FLAG para delimitar quadro e não usa byte stuffing Formato do quadro 26 IP/PPP/SDL/SDH Info de comprimento (2 bytes) protegida por 2 bytes de CRC – Pode corrigir 1 bit de erro simples – Tem que ser calculada antes, forçando store and forward! CRC separado para a carga – CRC do PPP desabilitado Embaralhamento auto síncrono usando 1+x43 entre SDL e SDH Sincronização de quadro inicial usando ponteiro H4 (rota) 27 IP/PPP/SDL/SDH Quando CRC falha, receptor entra em modo de caça – Computa CRC continuamente, até detetar fronteira correta – SDL pode recuperar de perda de fronteira de quadros com BER de 10-8 no tempo de 4 pacotes com alta probabilidade Comprimento = 4 (LENGTH e CRC apenas) reservado para quadros transmitidos no período ocioso para manter sincronismo – Quadros com comprimento = 4 são descartados no receptor 28 PPP/SDL/SDH SDL pode ser usado em fibra escura, sem SDH – Envio de quadros ociosos gera um fluxo contínuo de bits – Perda das funções de gerência do SDH/SONET – Possivelmente PPP LCP poderia ser usado para monitorar o estado do enlace Uso comprometido com o baixo custo de conexões 10 Gbps em roteadores IP 29 Ethernet over SONET 30 Pilha de Protocolos para Ethernet over SONET Opção 1: Delinear quadros Ethernet antes de inserção no SONET com encapsulamento em HDLC (como feito com PPP) 31 Pilha de Protocolos para Ethernet over SONET Opção 2: Delinear quadros Ethernet antes de inserção no SONET com encapsulamento com campos de preâmbulo, comprimento e CRC, e caracteres IDLE para enchimento de ociosidade Desvantagens – Armazenar quadro para calcular o comprimento com antecedência (forçando a operação store and forward) é ineficiente – Corrupção do campo comprimento pode levar a perda das fronteiras dos quadros e demora em resincronizar 32