Mechanizmy QoS Jak projektować, wdrażać i monitorować Łukasz Bromirski lbromirski@cisco.com
Agenda QoS Przełącznik Ethernetowy a QoS Router a QoS Inne urządzenia a QoS Q&A 2
QoS 3
Po co w ogóle QoS? Bezpieczeństwo Gwarancje usług Zapewnia przewidywalność działania usług Umożliwia poprawne działanie usługom transportującym głos i wideo Może pozwolić oszczędzić pieniędzy przy płatności za Mbit/s Dostępność Pozwala zachować stabilną sieć w momencie wystąpienia ataku DDoS/robaków 4
Architektury QoS Architektury QoS opisują sposób w jaki mechanizmy QoS działają w sieciach zapewniając gwarancje end-to-end Pierwsze architektury IP QoS nie wspominały wprost o SLA endto-end IP Precedence (RFC 791), IP ToS (RFC 1349) Dwa modele obecnie używane to: Differentiated Services Diffserv (RFC2475) Integrated Services Intserv (RFC1633) W sieciach dostawców usług oba modele mogą współistnieć i uzupełniać się, choć dla prostych polityk QoS stosuje się tradycyjnie architekturę Diffserv (mało aplikacji obsługuje RSVP wprost) 5
Architektura Diffserv RFC2475 Mały poziom złożoności brak utrzymania stanów czy sygnalizacji Usługi tworzone są przez kombinację złożonej klasyfikacji, oznaczania, ewentualnie przycinania ruchu na brzegu sieci i konfiguracji szkieletu (PHB) R B R B R B R B Oznaczanie w polu DSCP Klasyfikacja i nakładanie ograniczeń na wejściu do domeny (sieci) Zagregowanie PHB (EF, AF) na wszystkich interfejsach domeny Domena Diffserv 6
Wysokopoziomowy widok na QoS Testy Polityka System kolejkowania Kolejka Klasyfikacja Kolejkowanie na wejściu Kolejka Kolejka Scheduler Kolejkowanie na wyjściu Klasyfikacja Kolejkowanie Kolejkowanie Kolejkowanie Określenie jaki ruch otrzymano Na podstawie klasyfikacji Zarządzanie i unikanie zatorów Mechanizmy priorytetów 7
Cisco MQC Modular QoS CLI Warunki dopasowywania słowo kluczowe: class-map Klasyfikacja Klasyfikacja ruchu Dopasowanie jednego lub wielu parametrów (częściowa lista) ACL COS DSCP interfejs wejściowy Adres MAC długość pakietu Precedence protokół VLAN Kolejkowanie na wejściu Akcje natychmiastowe znakowanie (ustawianie wartości QoS) przycinanie Zrzucanie pakietu zliczanie Akcje polityki słowo kluczowe: policy-map Kolejkowanie i scheduling Zarządzanie i unikanie natłoku Rozmiar kolejki Random-Detect Pasmo Fair-Queue Priorytetyzacja Kształtowanie ruchu (shaping) Kolejkowanie na wyjściu Mechanizmy wydajności łącza Kompresja nagłówka Fragmentacja 8
Klasyfikacja i oznaczanie Klasyfikacja i oznaczenie z lokalną polityką powinna być realizowana jak tylko blisko się da źródła ruchu. Najlepiej gdy w całej sieci daje się stosować zunifikowany schemat oparty o IP DSCP. Granica zaufania Brzeg WAN WAN Klasyfikacja i oznaczenie Brzeg LAN Zaufanie dla oznaczeń DSCP Szkielet Dystrybucja Granica zaufania Dostęp 9
Narzędzia klasyfikacji Ethernet 802.1Q Class of Service Pream. SFD DA Trzy bity użyte dla CoS (802.1p) SA PRI Typ CFI TAG 4 Bajty 802.1p - pole priorytet użytkownika zwane również Class of Service (CoS) Różnym typom ruchu przypisane są różne wartości CoS. VLAN ID Wartości CoS 6 i 7 są zarezerwowane dla ruchu sieciowego PT Dane CoS 7 6 5 4 3 2 1 Nagłówek 802.1Q/p Routing Głos Video FCS ramka Ethernet Aplikacja Zarezerwowane Sygnalizacja połączeń Dane krytyczne Dane masowe 0 Dane Best Effort 10
Narzędzia klasyfikacji IP Precedence i DiffServ Code Points Wersja Długość Bajt ToS Len ID Offset TTL Proto FCS IP SA IP DA Dane Pakiet IPv4 7 6 5 4 3 2 1 0 IP Precedence Nieużywane DiffServ Code Point (DSCP) IP ECN Standard IPv4 Rozszerzenia DiffServ IPv4: Trzy najstarsze bity z bajtu ToS zwane są IP Precedence (IPP) pozostałe bity nieużywane DiffServ: sześć najstarszych bitów z bajtu ToS zwane są DiffServ Code Point (DSCP) pozostałe dwa bity użyte są do flow control DSCP jest wstecznie kompatybilne z IP precedence 11
IPv6 QoS: co jest w nagłówku? IPv6 traffic class pole równoważne polu ToS w IPv4 Wersja Traffic Class Flow Label IPv6 Flow Label (RFC 3697) Nowe, 20-bitowe pole w nagłówku IPv6 Ruch należący do konkretnej sesji/relacji W zgodzie z RFC wartości pola Label routery pośredniczące nie powinny modyfikować Nadal nie wykorzystywane Długość danych Next Header Adres źródłowy Adres docelowy Limit hopów 12
Strategia markowania RFC 4594 Aplikacja Klasyfikacja L3 PHB DSCP IETF RFC CoS w L2 COS Network Control CS6 48 RFC 2474 6 VoIP Telephony EF 46 RFC 3246 CS5 40 5 Call-Signaling CS5 40 RFC 2474 5 5 Multimedia Conferencing AF41 34 RFC 2597 Real-Time Interactive / TelePresence CS4 32 RFC 2474 Multimedia Streaming AF31 26 RFC 2597 4 4 3 CS3 24 3 Broadcast Video CS3 24 RFC 2474 3 Low-Latency / Transactional Data AF21 18 RFC 2597 Operations / Administration / Management CS2 16 RFC 2474 High-Throughput / Bulk Data AF11 10 RFC 2597 Best Effort DF 0 RFC 2474 Low-Priority / Scavenger Data CS1 8 RFC 3662 3 2 1 0 1 13
Kolejkowanie gdzie i jak? Kolejkowanie powinno być skonfigurowane tam, gdzie może wystąpić zator nawet jeśli jest to tylko mało prawdopodobne. Rekomendowane wartości: 1) Minimum 25% przydzielone do klasy Best Effort (BE) 2) Priority Queue (PQ) może zająć maksymalnie 33% pama 3) Klasa scavenger powinna otrzymać wprost maksymalnie ~ 5% pasma 4) Zapobieganie zatorom na ruchu TCP w kolejkach poza kolejką priorytetową Szkielet Dystrybucja Dostęp Domena QoS 10 Gigabit Ethernet 1 Gigabit Ethernet Polityka kolejkowania na wyjściu 8 kolejek 4 kolejki 14
Przykładowe mapowanie Catalyst 2960/2975/3560/3750 1P1Q3T Aplikacja Network Control Internetwork Control VoIP Broadcast Video Multimedia Conferencing Realtime Interactive Multimedia Streaming Signaling Transactional Data Network Management Bulk Data Scavenger DSCP (CS7) CS6 EF CS5 AF4 CS4 AF3 CS3 AF2 CS2 AF1 CS1 EF CS5 CS4 CS7 CS6 CS3 AF4 AF3 AF2 CS2 AF1 CS1 1P1Q3T Q2 Kolejka priorytetowa Q1 Kolejka Domyślna Q1T3 Q1T2 Q1T1 Best Effort DF DF http://www.cisco.com/en/us/docs/solutions/enterprise/wan_and_man/qos_srnd_40/qoscampus_40.html#wp1099352 15
Przykładowe mapowanie Cisco Catalyst 6500E 8Q4T Aplikacja DSCP 8Q4T Network Control Internetwork Control (CS7) CS6 EF CS5 CS4 Q8 (30%) VoIP Broadcast Video Multimedia Conferencing Realtime Interactive EF CS5 AF4 CS4 CS7 CS6 CS3 CS2 AF4 Q7 (10%) Q6 (10%) Q7T4 Q7T3 Q7T2 Q7T1 Multimedia Streaming Signaling AF3 CS3 AF3 Q5 (10%) Transactional Data AF2 AF2 Q4 (10%) Network Management Bulk Data CS2 AF1 AF1 Q3 (4%) Scavenger CS1 DF Q2 (25%) Best Effort DF Q1 (1%) CS1 http://www.cisco.com/en/us/docs/solutions/enterprise/wan_and_man/qos_srnd_40/qoscampus_40.html#wp1135708 16
Przełącznik Ethernetowy a QoS 17
Jak traktować QoS w sieci wewnętrznej? QoS powinien być wykonywany w sprzęcie klasyfikacja, markowanie, kolejkowanie Klasyfikacja i markowanie aplikacji/klas powinno odbywać się jak najbliżej źródła ruchu jak to tylko możliwe Policing ruchu niechcianego również powinien odbywac się najbliżej jak się da jego źródła Kolejkowanie powinno być włączone nawet jeśli obecnie nie jest potrzebne Ochrona control plane urządzeń jest krytyczna 18
Model obsługi ruchu wejściowego Oznaczanie Policing na wejściu VoIP Classifier Signaling Classifier Multimedia Conferencing Classifier Signaling Classifier Transactional Data Classifier Bulk Data Classifier Scavenger Classifier Best Effort (Class-Default) Mark EF Mark CS3 Mark AF41 Mark CS3 Mark AF21 Mark AF11 Mark CS1 Mark DF VVLAN DVLAN VoIP Policer (<128 kbps) Signaling Policer (<32 kbps) MM-Conf Policer (<5 Mbps) Signaling Policer (<32 kbps) Trans-Data Policer (<10 Mbps) Bulk Data Policer (<10 Mbps) Scavenger Policer (<10 Mbps) Best Effort Policer (<10 Mbps) Yes No Drop Yes No Drop Yes No Drop Yes No Drop Yes No Remark to CS1 Yes No Remark to CS1 Yes No Drop Yes No Remark to CS1 Do urządzenia/sieci 19
Router a QoS 20
QoS na routerze brzegowym Przełączniki Dystrybucji/Rdzenia Kolejkowanie/zrzucanie Shaping/polityki wydajności łącza dla ruchu Centrala-Oddział Router brzegowy Internet LAN 21
Najprostszy model QoS Agregacja ruchu w stronę Internetu zakłada istnienie N klas ruchowych (tożsamych z modelem QoS stosowanym w sieci lokalnej) Scheduler decydować będzie w jakiej kolejności i ilości zdejmować pakiety z kolejnych kolejek do wysłania priority police min-bw min-bw Pasmo interfejsu min-bw 22
Model trzypoziomowy Jeśli oprócz klas ruchowych w sieci istnieje podział na rodzaje klientów usług (np. usługa Złota, Srebrna i Brązowa) istnieje konieczność wydzielenia kolejnego poziomu hierarchii Scheduler musi zadbać aby ruch z każdej z klas oznaczony jako priorytetowy był również priorytetowy na interfejsie Ruch z pozostałych klas musi być rozkładany w zgodzie z dostępnym fizycznym pasmem i względnymi wagami poszczególnych klas police police police Klient 1 Klient 2 Klient N 23
Cisco IOS Hierarchical QoS (HQF) Polityki w IOS mogą być hierarchiczne zawierać dzieci policy-map grandparent class X service-policy parent policy-map parent class X service-policy child policy-map child class X Scheduler w systemie IOS zadba o to, by agregacja polityki ruchowej na interfejsie spełniała założenia poszczególnych klas należących do dzieci Tego typu rozwiązanie stosuje się na styku z Internetem/WANem aby obsłużyć scenariusze ruchowe związane z agregacją użytkowników/klas ruchowych (BRAS, usługi biznesowe i indywidualne) 24
Przykład polityki HQoS policy map QOS USLUGA class class default shape average 400000000 service policy DZIECKO policy map! policy map DZIECKO class VLAN2 bandwidth remaining ratio 3 service policy KLIENT class VLAN3 bandwidth remaining percent 1 service policy KLIENT! policy map KLIENT class VOICE priority level 1 class BUSINESS bandwidth remaining ratio 9 class class default bandwidth remaining ratio 1 Poziom usługi Głos SQL Inne dane Głos SQL Inne dane VLAN2 VLAN3 Gi 0/1 400 Mbps interface gigabitethernet 0/1 service policy output QOS USLUGA 25
Inne urządzenia a QoS 26
SCE scenariusze wdrożeniowe Tradycyjna sieć LAN Dostęp Dystrybucja Si Si Si Si Si Si SCE w warstwie agregacji jako zaawansowana kontrola ruchu użytkowników Szkielet Si Si Rozliczanie ruchu per-klient wraz z gotowymi, bogatymi raportami Dystrybucja Si Si Si Si Si Si Dostęp WAN CPD Internet 27
Co jeszcze może zrobić SCE? Rozliczanie Policy Manager Portal usługowy AAA DHCP RADIUS Collection Manager Inteligencja biznesowa Konsola Subscriber Manager Sieć Klienci Service Control Engine 1. Urządzenie SCE Bezpośrednio obsługuje ruch sieciowy 2. Collection Manager Zbiera dane o realizowanych przez użytkownika usługach 3. Subscriber Manager Koordynacja informacji o użytkowniku z dodatkowymi danymi 4. Policy Manager Kontrola grupy urządzeń oraz skomplikowanych polityk 28
Spam z własnej sieci Infekcja PC Klienci Internet 29
Monitoring QoS 30
Czym monitorować? ACL dla L2/L3/L4 Bardzo wygodne, ale działają tylko na Catalyst 4500/4900/6500 oraz routerach NetFlow/Flexible NetFlow Bardzo dużo różnego rodzaju danych statystycznych od L2 (VLAN, CoS, MAC) przez L3 (pakiety, bajty), L4 (flagi TCP, porty aplikacji) po czas (start, stop, długość) i inne dane (numery źródłowego i docelowego AS, etc) NBAR/NBAR2 SNMP MIBy dla QoS 31
Jak wygląda ACLka? Protokół Port w protokole access-list 103 permit tcp any host 192.168.1.1 eq telnet access-list 103 permit tcp any 192.168.1.0 0.0.0.255 eq ftp (20) access-list 103 permit tcp any 192.168.1.0 0.0.0.255 eq www (80) access-list 103 deny ip any any log Adres sieci/hosta interface ethernet 0 ip access-group 103 in Przypisanie do interfejsu 32
Format NetFlow v5 Ruch od/do Ruch Pora dnia Obciążenie portu QoS Ilość pakietów Ilość bajtów sysuptime początku sysuptime końca Wejściowy ifindex Wyjściowy ifindex Type of Service Flagi TCP Protokół Źródłowy adres IP Docelowy adres IP Źródłowy port TCP/UDP Docelowy port TCP/UDP Adres następnego węzła Numer źródłowego AS Numer docelowego AS Maska prefiksu źródłowego Maska prefiksu docelowego Aplikacja Pola-klucze w NetFlow Routing i peering 33
Przykład pamięci podręcznej NetFlow 1. Tworzenie i uaktualnianie zawartości pamięci podręcznej: Srclf SrclPadd Dstlf DstlPadd Protocol TOS Flgs Pkts Src Port Src Msk Src AS Dst Port Dst Msk Dst AS NextHop Bytes/ Pkt Active Idle Fa1/0 173.100.21.2 Fa0/0 10.0.227.12 11 80 10 11000 00A 2 /24 5 00A 2 /24 15 10.0.23.2 1528 1745 4 Fa1/0 173.100.3.2 Fa0/0 10.0.227.12 6 40 0 2491 15 /26 196 15 /24 15 10.0.23.2 740 41.5 1 Fa1/0 173.100.20.2 Fa0/0 10.0.227.12 11 80 10 10000 00A 1 /24 180 00A 1 /24 15 10.0.23.2 1428 1145.5 3 Fa1/0 173.100.6.2 Fa0/0 10.0.227.12 6 40 0 2210 19 /30 180 19 /24 15 10.0.23.2 1040 24.5 14 2. Wygasanie licznik bezczynności (domyślnie 15 sekund) wymuszony nawet dla aktywnego potoku (domyślnie 30 minut) pamięć podręczna NetFlow cache jest pełna (najstarsze wpisy usuwane pierwsze) pakiet z ustawioną flagą RST lub FIN Srclf SrclPadd Dstlf DstlPadd Protocol TOS Flgs Pkts Src Port Src Msk Src AS Dst Port Dst Msk Dst AS NextHop Bytes/ Pkt Active Idle Fa1/0 173.100.21.2 Fa0/0 10.0.227.12 11 80 10 11000 00A2 /24 5 00A2 /24 15 10.0.23.2 1528 1800 4 3. Agregacja 4. Wersja eksportu Potoki niezagregowane wersja 5 lub 9 Potoki zagregowane wersja 8 lub 9 5. Protokół transportowy 34
Flexible NetFlow wiele monitorów Ruch Flow Monitor 1 Flow Monitor 2 Pola klucze Packet 1 Pozostałe pola Pola-klucze Packet 1 Pozostałe pola Źródłowe IP 3.3.3.3 Ilość pakietów Źródłowe IP 3.3.3.3 Ilość pakietów Docelowe IP 2.2.2.2 Ilość bajtów Docelowe IP 2.2.2.2 Start/stop Port źródłowy 23 Start/stop Interfejs Ethernet 0 Port docelowy 22078 Adres next-hop Flaga SYN? 0 Protokół L3 TCP - 6 Bajt ToS 0 Interfejs Ethernet 0 Pamięć podręczna dla analizy ruchu IP SRC IP DST SRC port DST port Protokół ToS I/F pakietów 3.3.3.3 2.2.2.2 23 22078 6 0 E0 1100 1.1.1.1 2.2.2.2 514 22079 6 0 E0 1100 Pamięć podręczna monitoring bezpieczeństwa IP SRC IP DST I/F TCP SYN? pakietów 3.3.3.3 2.2.2.2 E0 0 11000 35
NBAR: Deep Packet Inspection (DPI) Pakiet IP Dane TCP/UDP Zawartość pakietu ToS Protocol Source IP Addr Dest IP Addr Src Port Dst Port Sub-Port/Deep Inspection Rozpoznaje ponad 180 aplikacji i protokołów Używających statycznych i dynamicznych portów Rozpoznaje protokoły inne niż TCP i UDP Pozwala sprawdzać zawartość pakietów Wersja bezstanowa: FPM Nowa generacja dla nowych platform sprzętowych: NBAR2 SNMP MIB: CISCO-NBAR-PROTOCOL-DISCOVERY-MIB 36
Monitoring klas QoS przez SNMP Kryteria match mają sobie odpowiedniki w dynamicznie tworzonej strukturze liczników odczytywalnych przez SNMP Router# configure terminal Router(config)# class-map myclass Router(config-cmap)# match fr-dlci 500 Router(config)# policy-map mypolicy Router(config-pmap)# class myclass Router(config-pmap-c)# bandwidth percent 50 (cbqosclassmapcfg) (cbqosmatchstmtcfg) (cbqospolicecfg) Router(config)# interface serial4/0 Router(config-if)# service-policy output mypolicy Router(config-if)# end cbqospolicestats cbqosclassmapstats Router#show policy-map interface cbqosmatchstmtstats 37
Gdzie zajrzeć potem 38
QoS na urządzeniach Cisco Cisco Business Video Solutions http://www.cisco.com/en/us/netsol/ns813/networking_solutions_solution _segment_home.html Cisco Visual Networking Index http://www.cisco.com/en/us/netsol/ns827/networking_solutions_sub_sol ution.html Overview of a Medianet Architecture http://www.cisco.com/en/us/docs/solutions/enterprise/video/vrn.html Enterprise Medianet Quality of Service Design 4.0 http://www.cisco.com/en/us/docs/solutions/enterprise/wan_and_man/ QoS_SRND_40/QoSIntro_40.html Medianet Campus QoS Design 4.0 http://www.cisco.com/en/us/docs/solutions/enterprise/wan_and_man/ QoS_SRND_40/QoSCampus_40.html 39
CiscoPress.com: 40
Q&A Łukasz Bromirski, lbromirski@cisco.com 41