Elementy zaawansowanej konfiguracji sieci Marek Kozłowski Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Warszawa, 2014/2015
Plan wykładu 1 Sieci VLAN 2 Segmenty logiczne vs segmenty fizyczne 3 Multicasty 4 Zarządzanie siecią poprzez SNMP 5 Analiza ruchu sieciowego
Warstwy logiczne wyznaczone przez warstwy fizyczne
Sieci wirtualne (VLANy)
Korzyści z zastosowania VLANów Odległe LANy mogą tworzyć pojedyncze sieci IP. Elastyczna architektura. Struktura sieci może być dopasowana do logicznej struktury organizacji / jednostki. Zwiększenie wydajności. Lepsza zarządzalność. Prostota i elastyczność w porównaniu do rozwiązań wykorzystujących routery.
Protokoły VLAN CISCO ISL (Inter-Switch Link). Dostępny tylko na wybranych urządzeniach CISCO. 3Com VLT (Virtual LAN Trunk). Rzadko stosowany. IEEE 802.1Q. Tylko w sieciach 802.3 (Ethernet).
Cisco ISL Każda ramka poprzedzona jest 26-bajtowym nagłówkiem zawierającym m.in. pola: VLAN ID (15 bitów) czasem określany jako kolor, USER (4 bity) priorytet ramki. i zakończona dodatkową 4-bajtową sumą kontrolną (FCS). Ramki Cisco ISL są niekompatybilne ramkami Ethernet II. Możliwa enkapsulacja ramek dowolnego typu (Ethernet, TokenRing, FDDI, ATM) pomiędzy switchami i routerami. Wyznaczanie drzew rozpinających (STP) w VLANach Cisco ISL realizowane jest przez protokół PVST (Per VLAN Spanning Tree). Umożliwia on load balancing po łączach fizycznych.
IEEE 802.1Q Ramki IEEE 802.1Q mogą być używane w sieci ze standardowymi urządzeniami Ethernet (nie obsługującymi VLANów). Przed polem nagłówka ramki Ethernet Protocol/Length wstawiane jest 4-bajtowe pole zawierające: TPID (2 bajty) stały identyfikator IEEE 802.1Q (dla zachowania wstecznej kompatybilności), PRIORITY (3 bity), VID (12 bitów) numer VLANu. Suma kontrolna ramki (CRC) musi być ponownie wyznaczona. Oryginalna wersja IEEE 802.1Q nie umożliwia load balancingu.
Przypisanie do VLAN Port based (static) VLANs porty switchów przypisane są do VLANów. Dynamic VLANs tworzone programowo. Urządzenia są przypisywane do VLANów o w oparciu o adres MAC lub procedury uwierzytelniające (np. username i password).
Kilka sieci IP na jednym segmencie fizycznym
Przypisanie kilku adresów IP do jednego interfejsu Tradycyjne polecenie ifconfig pozwala na przypisanie tylko 1 adresu do każdego interfejsu (ethn, athn, wlann). Pakiet iproute2 udostępnia polecenie ip które pozwala na wielokrotne przypisania. Uwaga: Dodatkowe adresy nie zostaną wyświetlone poleceniem ifconfig ethn! # ip addr add 192.168.1.10/24 brd + dev eth0 # ip addr add 192.168.2.10/24 brd + dev eth0 (brd + dodaje domyślny adres broadcastowy do każdego adresu IP)
Multicasty Multicasty są istotnym elementem IPv6. Zostały wprowadzone do IPv4 relatywnie późno (RFC 1112) i dlatego ich wykorzystanie jest stosunkowo niewielkie. Multicasty są szczególnie wygodne przy jednokierunkowej komunikacji lub gdy znaczna porcja danych musi być dostarczona do wielu hostów. Multicasty są zazwyczaj wykorzystywane przez transport UDP. Główne zastosowania: zarządzanie urządzeniami (routing, rekonfiguracja urządzeń), zarządzanie stacjami roboczymi (powielanie partycji, dystrybucja uaktualnień systemu), multimedia (np. TV over IP, wiedokonferencje).
Addresy multicastowe Zakres adresów IPv4: 224/4 (historycznie: klasa D). Adresy MAC odbiorcy w ramkach w multicastowych mają ustawiony bit multicastu (pierwszy bajt OUI nieparzysty). Przestrzeń adresowa w IPv4 ma wyodrębnionych kilka klas (zob. http://www.iana.org/assignments/multicast-addresses), m.in.: adresy 224.0.0/24 są zarejestrowane dla sieci LAN (protokoły routingu, niskopoziomowe protokoły wykrywania usług i zarządzania jak np. RIP2, IGRP, DHCP relaying, IGMP etc). Routery nie powinny przekazywać takich multicastów. zakres 239/8 przypisany jest przez RFC 2365 do użytku lokalnego w obrębie sieci należącej do danej jednostki / organizacji (a la adresy prywatne IPv4).
Protokoły do zarządzania grupami multicastowymi Internet Group Management Protocol (IGMP) Protocol Independent Multicast (PIM)
Internet Group Management Protocol (IGMP) IGMP jest protokołem służącym do zarządzanie przynależnością do grup multicastowych w lokalnej sieci. Pozwala klientom połączyć się do odpowiednich routerów multicastowych. IGMP jest protokołem zanurzonym w IP i operującym ponad warstwą sieciową (podobnie jak ICMP). Komunikacja IGMP zazwyczaj przechodzi wybrane urządzenia 2. warstwy (switche). Urządzenia takie muszą być zdolne do uczenia się tras multicastowych. Własność taka nazywana jest IGMP snooping.
Działanie IGMP Istnieją trzy wersje protokołu IGMP. Są one wstecznie kompatybilne, mimo, że typy i formaty pakietów IGMP są różne. Ostatnie, trzecia wersja specyfikowana przez RFC 3376 wprowadza wsparcie dla SSN (Source-Specific Multicast), które pozwala na filtrowanie multicastów (odbieranie multicastów tylko od wybranych adresów). W ogólności IGMP działa następująco: routery IGMP periodycznie rozgłaszają wiadomości IGMP Query, klienci odpowiadają pakietami IGMP Report informującymi o ich przynależności do odpowiednich grup, w przypadku braku IGMP Reports w określonej jednostce czasu routery uznają, że nie ma aktywnych członków grup multicastowych.
Protocol Independent Multicast (PIM) Protocol Independent Multicast (PIM) jest zbiorem protokołów służących do konstruowania drzew multicastowych w obrębie dużych sieci IP. Dwoma głównymi specyfikacjami są: PIM Sparse Mode (PIM-SM, RFC 4601). Aby otrzymywać multicasty routery muszą explicite powiadomić swoich sąsiadów jakie multicasty i z jakich adresów chcą otrzymywać. PIM Dense Mode (PIM-SM, RFC 3973). multicasty są początkowo rozsyłane do wszystkich hostów sieci. Routery niezainteresowane odbieraniem multicastów wysyłają pakiety PIM Prune powiadamiające o wyłączeniu z grupy multicastowej.
Simple Network Management Protocol (SNMP) SNMP jest rodziną protokołów służących do monitorowania i zarządzania siecią. Istnieją trzy główne wersje SNMP (oraz trzy podwersje SNMPv2). Wersja 3., ostatnia, wprowadza m.in. uwierzytelnianie i szyfrowanie. W protokole SNMP rozróżniamy: urządzenia, agentów SNMP odpowiedzialnych za zarządzanie urządzeniami, managerów SNMP (Network-Management Stations, NMSs), bazy MIB oraz ich strukturę (MIB syntax notation) opisującą zarządzane obiekty podaną w abstrakcyjnej notacji składniowej (ASN.1) zob. następne slajdy.
Komunikacja SNMP SNMP definiuje następujące typy komunikatów: GET REQUEST, GETNEXT REQUEST i GETBULK REQUEST (SNMPv2) do odbioru danych, SET REQUEST do ustawiania parametrów, GET RESPONSE odpowiedź na żądanie, TRAP and INFORM (SNMPv2) raporty sterowane zdarzeniami, Parametry są przechowywane w zorganizowanych hierarchicznie, rozszerzalnych bazach MIB (Management Information Bases). Każdy parametr ma przypisany identyfikator (object identifier, OID). OIDs mają określone typy. Bazy MIB wykorzystują syntaks zdefiniowany przez ASN.1.
SNMP podsumowanie Obecnie SNMP jest najczęściej wykorzystywanym protokołem do zarządzania urządzeniami sieci. Do głównych zalet nalezy zaliczyć: elastyczność i rozszerzalność, otwarty, niezależny od producentów standard, niewielki ruch generowany przez komunikaty SNMP, wersje SNMP nie są kompatybilne, ale mogą ze sobą współistnieć (zob. RFC 3584). Główną niedogodnością SNMP jest słabość kryptograficzna (głównie dotyczy SNMPv1 i najpopularniejszego SNMPv2c). SNMP korzysta z protokołu UDP, nie jest protokołem niezawodnym, jest podatny na podszywanie się.
Opis ruchu sieciowego Przechwytywanie ramek narzędziami PCAP Opis ruchu poprzez NetFlow / IPFIX
Bazy PCAP Narzędzia oparte o libpcap (*nix) lub winpcap (Windows). Programy CLI: np. tcpdump (Linux) lub windump (Windows). Programy GUI: np. wireshark. Zapisywanie ramek (spełniających zadane warunki) odbieranych na danym interfejsie sieciowym. Własności: pełna, bezstratna*) informacja o ruchu w danym segmencie, potencjalnie bardzo duże bazy, konieczna dodatkowa analiza.
NetFlow vs IPFIX NetFlow jest własnościowym protokołem Cisco. Istnieje szereg wersji, w szczególności: v5: tylko dla IPv4, najpopularniejsza, dostępna na szerokim spektrum urządzeń (nie tylko Cisco), często pod innymi nazwami (np. NetStream, sflow i in.), v9: będąca podstawą dla standardu IETF IPFIX, v10: zgodna IPFIX IPFIX Internet Protocol Flow Information Export, to powstała w 2008 roku propozycja standardu IETF (RFC 5101-5103).
Opis ruchu poprzez flows Urządzenia wspierające NetFlow/IPFIX (agenci NetFlow) gromadzą statystyki ruchu, m.in.: adresy IP, protokoły, porty, wartości ToS/DSCP, informacje o sieciach źródłowych i docelowych. Zebrane informacje są przekazywane do na bieżąco kolektorów NetFlow. Komponenty wizualizacyjne umożliwiają graficzną prezentację ruchu sieciowego, względnie generowanie raportów.