Optimização de desempenho da e-U/eduroam ao nível 2/3 Instituto Politécnico de Lisboa (IPL) Pedro Ribeiro – [email protected] |Universo IPL| Escolas e serviços dispersos por 8 pólos Cerca de 15500 alunos Cerca de 1500 Funcionários (docentes e não docentes) Diversas escolas muito dependentes de novas tecnologias 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 2 |Rede IPL| Estrela hierárquica centralizada no campus de Chelas (ISEL) Ligação à FCCN a 10Gbit/s (alternativa a 1Gbit/s) – Limitada internamente a 2Gbit/s pelos border routers Equipamento de comutação maioritariamente da Cisco Systems 09-02-2012 e encaminhamento Optimização de desempenho da e-U/eduroam ao nível 2/3 3 |e-U/eduroam| Equipamentos Cisco Systems – AP1231G (160), AP1252AG (16), AP1142N (20) em modo autónomo Cifra e gestão de chaves: WPA1/TKIP ou WPA2/AES (híbrido) Autenticação: PEAP/MS-CHAPv2 (EAP-TTLS descontinuado) FreeRADIUS (ainda 1.1.8) – Suporta diversos serviços de AAA (ex. VPNs) MySQL – Palavras-chave hashed em “NTLM” – Mapeamento dinâmico de perfil/VLAN (SSID único) Visitantes virtualmente fora do firewall (c/ VRFs e Túneis GRE) 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 4 | Tráfego inútil | Protocolos não IP – NetBIOS nativo, IPX, Apple, CDP, LLDP % Tráfego (bytes) de "ruído" em 6,5h; 490k tramas; filtragem activa Protocolos inúteis no contexto – SLP, NBNS, LLMNR, mDNS / Bonjour • Impressoras, Windows, Apple – UPNP (Universal Plug-N-Play) – IGMP, ICMPv6 (MLD) – Gestão multicast – VRRP / HSRP - Redundância de default gateway – ARP e DHCP de outrem – Dropbox LAN Sync Essencialmente broadcast/multicast CDP CWLCCP HSRP DHCPv6 DHCP ARP ICMPv6 DropboxLanSync Outros 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 5 |O multicast no 802.11| Entre estação e AP é encapsulado em unicast! – No sentido inverso não! É transmitido a um débito baixo – Compatível com as normas activas na célula – Com a robustez de modulação necessária para chegar legível às estações associadas Não tem entrega confirmada (ACK) Tem maior latência/jitter Propaga-se para toda a infra-estrutura L2 (switched/VLAN) Obriga estações a permanecerem “acordadas” mais tempo – Consumo rádio e de processamento que degrada autonomia 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 6 Algumas soluções de filtragem 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 7 |Filtragem do “ruído”| AP (ARP+IPv4+IPv6) ARP: O AP pode servir de cache e dispensar muitos broadcasts RMB-AP-1.01(config)#dot11 arp-cache optional Limitar o tráfego a IPv4/IPv6 – ACLs aplicadas ao nível MAC (bridging) access-list 200 permit 0x0800 0x0000 ! IPv4 access-list 200 permit 0x86DD 0x0000 ! IPv6 access-list 200 permit 0x0806 0x0000 ! ARP access-list 200 deny 0x0000 0xFFFF interface Dot11Radio0.4 bridge-group 4 input-type-list 200 bridge-group 4 output-type-list 200 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 8 |Filtragem do “ruído”| AP (IPv4) ACLs L3 aplicadas ao nível MAC (bridging) Na subinterface Ethernet ip access-list permit ip any deny ip any permit ip any deny ip any extended eth-in host 255.255.255.255 224.0.0.0 31.255.255.255 194.210.192.0 0.0.15.255 any interface GigabitEthernet0.4 ip access-group eth-in in Na subinterface Dot11Radio ip access-list extended wlan-in permit ip any host 255.255.255.255 deny ip any 224.0.0.0 31.255.255.255 permit ip 194.210.192.0 0.0.15.255 any deny ip any any ip access-list extended wlan-out deny ip host 0.0.0.0 host 255.255.255.255 permit ip any any interface Dot11Radio0.4 ip access-group wlan-in in ip access-group wlan-out out 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 9 |Filtragem do “ruído”| Infra-estrutura Mandar os clientes desligarem NetBIOS over TCP/IP – Nas opções DHCP! (exemplo para ISC-DHCPd) option space MSFT; option MSFT.disable-netbios-over-tcpip code 1 = unsigned integer 32; option MSFT.release-dhcp-lease-on-shutdown code 2 = unsigned integer 32; # eduroam campus Benfica (new pool) subnet 194.210.200.0 netmask 255.255.254.0 { vendor-option-space MSFT; option MSFT.disable-netbios-over-tcpip 2; # Desligar NBT option MSFT.release-dhcp-lease-on-shutdown 1; # Libertar leases! option routers 194.210.201.254; pool { range 194.210.200.1 194.210.200.249; range 194.210.201.0 194.210.201.249; } } 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 10 |Cuidados com a filtragem| (com “features” não triviais dos AP) Conhecer bem os protocolos em uso Antecipar consequências do tráfego barrado Testar num AP com um SSID diferente de “eduroam” Inconsistências esporádicas das ACL nos AP – Trafego supostamente filtrado que passa – Tráfego barrado indevidamente Incremento exponencial de riscos … – crashinfo_20120201-152150, r0.rcore, r1.rcore 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 11 Especificidades IPv6 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 12 |Os IPv6 “blackhole”| problema Configuração IPv6 stateless ainda predomina – ICMPv6 RouterAdvertisement (RA) anuncia prefixo e outras características – DHCPv6 stateless fornece servidores DNSoIPv6 Utilizadores em casa ou emprego – Obtêm IPv4 público na interface Ethernet – Partilham ligação para outros pela rede sem fios – Na interface wireless • Activam um servidor de DHCP • Comportam-se como routers IPv6 anunciando um prefixo baseado em 6to4 Comportamento mantém-se quando vêm para a eduroam!!! – Anunciam redes e fornecem configuração errada aos clientes restantes 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 13 |Os IPv6 “blackhole”| soluções (router) Routers oficiais anunciam-se com preferência alta – Nem todos os routers (IOS) suportam esta opção – Windows Vista/7 e Linux 2.6.28+ interpretam correctamente a informação ipv6 dhcp pool stateless dns-server 2001:690:2008::100:1401 dns-server 2001:690:2008::100:1402 dns-server 2001:690:2008::101:1401 domain-name local. information refresh 0 2 ! 09-02-2012 interface GigabitEthernet0/3 ipv6 address 2001:690:2008:E1F3::2/64 ipv6 enable ipv6 nd other-config-flag ipv6 nd router-preference High no ipv6 redirects ipv6 verify unicast reverse-path nospoof ipv6 dhcp server stateless Optimização de desempenho da e-U/eduroam ao nível 2/3 14 |Os IPv6 “blackhole”| soluções (AP) Filtragem em L2 dos RA das estações e outros protocolos (entrada AP) – – – – – – – – Só permitir endereços origem unicast globais Permitir comunicação entre unicast globais Negar tráfego que corresponda ao padrão de um ICMPv6 RA Permitir IPv6 SolicitedNodeMulticast (SNM) usado por ND e DAD Permitir IPv6 AllHosts e AllRouters multicast Negar restante multicast IPv6 Negar restante multicast IPv4 Negar tudo o resto access-list 1101 permit 0000.0000.0000 fcff.ffff.ffff 0000.0000.0000 fcff.ffff.ffff ! deny 0000.0000.0000 ffff.ffff.ffff 3333.0000.0001 0000.0000.0000 0x34 4 eq 0x18600 permit 0000.0000.0000 fcff.ffff.ffff 3333.ff00.0000 0000.00ff.ffff permit 0000.0000.0000 fcff.ffff.ffff 3333.0000.0001 0000.0000.0000 permit 0000.0000.0000 fcff.ffff.ffff 3333.0000.0002 0000.0001.0000 permit 0000.0000.0000 fcff.ffff.ffff ffff.ffff.ffff 0000.0000.0000 deny 0000.0000.0000 ffff.ffff.ffff 3333.0000.0000 0000.ffff.ffff deny 0000.0000.0000 ffff.ffff.ffff 0100.5e00.0000 0000.007f.ffff deny 0000.0000.0000 ffff.ffff.ffff 0000.0000.0000 ffff.ffff.ffff 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 15 |Os IPv6 “blackhole”| soluções (AP) – cont. Tráfego que sai do AP – – – – – – Permitir comunicação para unicast globais Negar tráfego destinado a routers IPv6 Permitir IPv6 AllHosts multicast Permitir IPv6 SolicitedNodeMulticast Permitir broadcast Negar tudo o resto access-list 1102 permit 0000.0000.0000 deny 0000.0000.0000 permit 0000.0000.0000 permit 0000.0000.0000 permit 0000.0000.0000 deny 0000.0000.0000 ffff.ffff.ffff ffff.ffff.ffff ffff.ffff.ffff ffff.ffff.ffff ffff.ffff.ffff ffff.ffff.ffff 0000.0000.0000 3333.0000.0002 3333.0000.0001 3333.ff00.0000 ffff.ffff.ffff 0000.0000.0000 fcff.ffff.ffff 0000.0000.0000 0000.0000.0000 0000.00ff.ffff 0000.0000.0000 ffff.ffff.ffff interface Dot11Radio0.4 bridge-group 4 input-pattern-list 1101 bridge-group 4 output-pattern-list 1102 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 16 |Resultado actual| Tráfego residual diário num período com pico de mais de 500 utilizadores simultâneos Filtragens activas 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 17 QoS na e-U/eduroam 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 18 |Necessidade| Capacidade da interface rádio do AP partilhada pelas estações Alguns utilizadores monopolizam recurso – Partilha de ficheiros de dimensão elevada, sincronização automática de pastas para cloudstorage – Youtubes – Aplicações mal comportadas Serviço claramente degradado para acesso interactivo – Navegação web em geral – Aplicações sensíveis a atrasos, jitter e perda de pacotes • VoIP, VideoConferência – Atrasos devido a retransmissões de mensagens DNS, perdas de pacotes ARP e DHCP 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 19 |QoS nos AP| Equipamentos usados permitem 4 classes de serviço – Baseada em IEEE802.11e, no uso de diferentes slot-time e diferentes janelas de resolução de contenções – Background, Best Effort, Video, Voice – Uso da informação de CoS prévia ou marcação local – Por omissão dá conhecimento à estação do QoS usando as Windows Multimedia Extensions (WMM) 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 20 |QoS aplicado| UDP favorecido (proto 17) Preteridos datagramas GRE de dimensão elevada (proto 47) – Usados pelas VPN PPTP que permitem acesso Internet liberalizado class-map match-all _class_udp match ip protocol 17 class-map match-all _class_gre match ip protocol 47 match packet length min 256 class-map match-all _class_video match dscp af12 class-map match-all _class_voip match dscp ef ! interface Dot11Radio0.4 service-policy output wlan-out ! 09-02-2012 policy-map wlan-out class _class_voip set cos 6 class _class_video set cos 4 class _class_udp set cos 3 class _class_gre set cos 1 class class-default set cos 0 Optimização de desempenho da e-U/eduroam ao nível 2/3 21 |Conclusões| Existem bastantes facilidades disponíveis para lidar com o volume crescente de utilizadores e tráfego Não foi identificado impacto negativo de desempenho associado ao processamento adicional necessário Documentação ainda tem uma qualidade abaixo do ideal Aparente abandono do IOS autónomo pelo fabricante Instabilidade inaceitável dos IOS dos AP Indisponibilidade nossa para testes mais rigorosos e melhorias 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 22 |Agradecimentos| FCCN – Convite para partilhar este trabalho convosco Partilha de experiências, ideias e configurações – UTL/IST – Jorge Matias – UA – João Martins Audiência – Interesse demonstrado 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 23 |Fim| 09-02-2012 Optimização de desempenho da e-U/eduroam ao nível 2/3 24