Slajd 1/40
Prędkość w sieci LAN: enkapsulacja, przepustowość i jej pomiar
Cel slajdu: Zapoznanie się z pojęciami opisującymi wydajność sieci lokalnej oraz z relacjami między nimi; przygotowanie do poprawnego pomiaru i monitorowania przepływu.

O czym jest ta prezentacja

W potocznym języku „prędkość sieci” nie ma jednego znaczenia: dla jednego jest to wynik testu iperf3, dla innego oznaczenie portu przełącznika, dla jeszcze innego prędkość pobierania pliku. Prezentacja porządkuje te pojęcia i pokazuje, skąd bierze się różnica między nimi.

  • Część I – trzy pojęcia opisujące „prędkość” i granice między nimi
  • Część II – enkapsulacja w Ethernet, MTU, kodowanie, tunele i szyfrowanie
  • Część III – od czego zależy osiągalna przepustowość
  • Część IV – jednostki, pomiary i interpretacja wyników
  • Część V – monitorowanie: in-band, out-of-band, SNMP
Przepustowość (ang. bandwidth): maksymalna liczba bitów, którą medium potrafi przesłać w jednostce czasu. Wartość nominalna, ustalona przez standard. Zawsze jest największa spośród trzech metryk, a przepustowość użyteczna najmniejsza.
Trzy metryki opisujące prędkość sieci Przepustowość teoretyczna (bandwidth)1 Gbit/s - co wynosi że standarduPrzepustowość rzeczywista (throughput)941 Mbit/s - co przeszło przez łączePrzepustowość użyteczna (goodput)dane użytkowe - ładunek bez nagłówkówKażda metryka jest liczona inaczej i w innym miejscu sieci
Slajd 2/40
Dlaczego określenie „prędkość sieci” jest nieprecyzyjne
Cel slajdu: Pokazanie, że trzy różnie mierzone wartości nazywane potocznie „prędkością” zawsze różnią się od siebie, oraz wyjaśnienie przyczyn tych różnic.

Trzy poziomy „prędkości” w jednej samej sieci

Co mierzymyGdzie bierzemy liczbęTypowy wynik dla łącza 1 Gbit/s
Przepustowość z kataloguoznaczenie portu, standard, typ PHY1000 Mbit/s
Wynik testu aktywnegosesja iperf3 między dwoma punktamiok. 930–950 Mbit/s
Odczucie użytkownikaaplikacja pobierająca plik110–118 MB/s
Konkluzja praktyczna: nie ma metody, która pozwoli zmierzyć „prędkości sieci” w sposób ogólny. Trzeba najpierw odpowiedzieć na pytanie, co chcemy zmierzyć: przepustowość portu, przepływ bitów na łączu czy dane dostarczone aplikacji.
Trzy poziomy prędkości w tej samej sieci To sama sieć, trzy różne liczby1. Oznaczenie portu przełącznikabandwidth1 Gbit/s2. Test aktywny (iperf3, 30 s)goodput strumienia TCPok. 941 Mbit/s3. Pobieranie pliku przez aplikacjęgoodput użytkownikaok. 115 MB/sRóżnica między paskiem nominalnym a wynikiem to narzut protokołów i ramek
Slajd 3/40
Trzy metryki wydajności: bandwidth, throughput, goodput
Cel slajdu: Zdefiniowanie trzech podstawowych metryk wydajności sieci, wskazanie relacji między nimi oraz miejsca, w którym każda z nich jest liczona.

Trzy metryki, trzy definicje

MetrykaPytanie, na które odpowiadaGdzie jest liczona
Bandwidth
przepustowość teoretyczna
Ile bitów medium jest w stanie przesłać w sekundzie?specyfikacja PHY, standard, katalog
Throughput
przepustowość rzeczywista
Ile bitów faktycznie przeszło przez łącze w zadanym czasie?licznik bajtów interfejsu, analizator
Goodput
przepustowość użyteczna
Ile bitów danych aplikacji dotarło do odbiorcy?aplikacja, serwer plików
Relacja: goodput ≤ throughput ≤ bandwidth. Równość zachodzi tylko w warunkach laboratoryjnych i tylko dla ruchu o rozmiarze ramki pozwalającym zminimalizować narzut.
Przykład liczbowy dla łącza 1 Gbit/s: bandwidth 1000 Mbit/s, maksimum po odjęciu narzutu ramek około 975 Mbit/s, pomiar sesji iperf3 około 941 Mbit/s. Różnica 975 − 941 = 34 Mbit/s to potwierdzenia ACK, nagłówki oraz rezerwa na przetwarzanie pakietów.
Definicje trzech metryk wydajności Bandwidthprzepustowość teoretycznaIle bitów mediumjest w stanieprzesłać?1 Gbit/s1000 Mbit/s975 Mbit/smaks. po narzucie941 Mbit/sThroughputprzepustowość rzeczywistaIle bitów faktycznieprzeszło przez łącz?1 Gbit/s1000 Mbit/s975 Mbit/smaks. po narzucie941 Mbit/sGoodputprzepustowość użytecznaIle bitów danychdotarło doaplikacji?1 Gbit/s1000 Mbit/s975 Mbit/smaks. po narzucie941 Mbit/sKolejne wartości cor mniejsze - to właśnie narzutgoodput < throughput < bandwidth
Slajd 4/40
Plan prezentacji
Cel slajdu: Przedstawienie struktury prezentacji i zapoznanie się z logicznym ułożeniem tematów od enkapsulacji po monitoring.

Pięć części prezentacji

Materiał jest ułożony w kolejności przyczynowej: najpierw budowa ramki i narzut, potem definicje metryk, następnie czynniki, które obniżają wynik, na końcu pomiary i monitorowanie. Taki układ jest celowy - zrozumienie przyczyny (narzutu) ułatwia zapamiętanie skutku (niższej przepustowości użytecznej).

Część ITrzy metryki i granice między nimi
Część IIRamka Ethernet, MTU, kodowanie, tunele
Część IIICzynniki obniżające wydajność
Część IVJednostki, pomiary, interpretacja
Część VIn-band, out-of-band, SNMP
BlokZakres tematyczny
Wprowadzenienieprecyzyjność terminu „prędkość”, definicje metryk
Enkapsulacjaramka Ethernet II, rozmiary, MTU, znaczniki VLAN, kodowanie, MSS, tunele, MACsec
Metrykibandwidth, throughput, goodput oraz przykład liczbowy dla 1 Gbit/s
Czynnikirozmiar ramek, jumbo frames, opóźnienie, wąskie gardła, kolejki, TCP i UDP, Wi-Fi
Pomiaryjednostki SI i IEC, iperf3, iptraf-ng, RouterOS, Wireshark, typowe błędy
Monitorowaniein-band i out-of-band, liczniki IF-MIB, obliczanie szybkości, liczniki błędów, progi alarmowe
Założenie przyjęte w całej prezentacji: omawiamy sieć lokalną (LAN) z podziałem na przełączniki, z technologią Ethernet zgodną z IEEE 802.3 oraz z protokołami IPv4 i IPv6. Tam, gdzie wynik zależy od systemu operacyjnego lub urządzenia, podano konkretne polecenia dla systemu Linux (Debian/Ubuntu) oraz dla RouterOS.
Struktura prezentacji ITrzy metrykislajdyIIEnkapsulacjaslajdyIIICzynnikislajdyIVPomiaryslajdyVMonitorowanieslajdy
Slajd 5/40
Enkapsulacja: jak dane aplikacji trafiają do medium
Cel slajdu: Wyjaśnienie procesu enkapsulacji danych w kolejnych warstwach modelu OSI oraz policzenie narzutu na przykładzie pakietu IPv4 przenoszonego przez TCP w ramce Ethernet.

Od pliku do sygnału w kablu

  • Warstwa aplikacji - dane pliku, np. 1000 B
  • Warstwa transportowa - dołożony nagłówek TCP (20 B) lub UDP (8 B)
  • Warstwa sieciowa - dołożony nagłówek IPv4 (20 B) lub IPv6 (40 B)
  • Warstwa łączna - dołożona ramka Ethernet: adresy MAC, typ protokołu, suma kontrolna oraz preambuła
  • Warstwa fizyczna - kodowanie i modulacja sygnału, dostęp do medium
Przykład liczbowy dla IPv4 + TCP + Ethernet: 1000 B danych + 20 B TCP = 1020 B segmentu; + 20 B IPv4 = 1040 B datagramu; + 6 B MAC + 2 B typ + 4 B FCS = 1058 B ramki; + 8 B preambuły i SFD = 1066 B; + 12 B odstępu między ramkami = 1078 B na kablu. Efektywność wynosi 1000 / 1078, czyli 92,8 procent.
Narzut kolejnych warstw na jednym pakiecie Dane aplikacji1000 B▼Nagłówek TCP 20 B + dane1020 B▼Nagłówek IPv4 20 B + segment1040 B▼Ramka Ethernet: 6+6+2+dane+4 FCS1058 B▼Preambuła i SFD 8 B1066 B▼Sygnał na medium + odstęp 12 B1078 BNa kablu 1078 B - z 1000 B użytecznych danych
Slajd 6/40
Ramka Ethernet II: budowa i rozmiary
Cel slajdu: Poznanie budowy ramki Ethernet II, rozmiarów poszczególnych pól oraz znaczenia preambuły, znacznika początku ramki i sumy kontrolnej FCS.

Pola ramki Ethernet II

PoleRozmiarZnaczenie
Preambuła7 Bnaprzemienny wzór bitów do synchronizacji zegara odbiornika
SFD1 Bznacznik rozpoczęcia właściwej ramki
Adresy MAC odbiorcy i nadawcy6 B + 6 Badresy fizyczne; same bity 1 oznaczają rozgłoszenie
Typ lub długość2 Bkod protokołu EtherType, np. 0x0800 dla IPv4
Dane (payload)46–1500 Bładunek - zwykle pakiet IP
FCS4 Bsuma kontrolna CRC-32 dla ochrony integralności ramki
Suma kontrolna FCS: wartość CRC-32 obliczana z całej ramki. Jeżeli odbiorca wyliczy inną wartość, odrzuca ramkę i zwiększa licznik błędów. Wzrost tego licznika niemal zawsze oznacza problem fizyczny.
Budowa ramki Ethernet II PreambleSFDMACodbiorcyMACnadawcyTyp /długośćDane (payload)FCSCRC-328 B6 B6 B2 B46 - 1500 B4 BRamka standardowa: 64 - 1518 B | na kablu z preambułą: 72 - 1526 BZnaczniki podziału pokazują kolejne bajty w polach nagłówkaMinimalna ramka to 64 B - krótsze dane są dopełnianePole danych poniżej 46 B zostaje uzupełnione bajtami wypełnienia (padding),aby suma długości nagłówka i ogona osiągnęła wymagane minimum.
Slajd 7/40
Rozmiary ramek, MTU i dopełnianie
Cel slajdu: Wyjaśnienie pojęcia MTU, zakresu rozmiarów ramek Ethernet oraz genezy minimalnego rozmiaru 64 B wynikającej z mechanizmu wykrywania kolizji.

MTU i zakres rozmiarów ramek

MTU (Maximum Transmission Unit) to największy rozmiar datagramu, który może zostać przesłany w jednej ramce bez fragmentacji. W sieci Ethernet opartej na IPv4 wartość domyślna wynosi 1500 B i wynika bezpośrednio z maksymalnego rozmiaru pola danych ramki.

  • 46 B - najmniejsze dopuszczalne pole danych ramki
  • 1500 B - największe pole danych ramki bez znacznika VLAN, czyli typowa wartość MTU
  • 9000 B - popularna wartość pola danych w ramkach typu jumbo frames, stosowana w centrach danych i sieciach SAN
Najczęstsza pomyłka: „ramka 1518 B” i „MTU 1500 B” opisują to samo, ale z różnych poziomów stosu. Podczas analizy przechwyconego ruchu liczby widoczne w analizatorze to długość ramki, a w nagłówku IP - rozmiar datagramu.
Zakres rozmiarów ramek Ethernet Ramka 64 Bdopełnienie do 46 Bpayload 46 BDane mniejsze niż 46 B są dopełnianeRamka 1518 Bpayload 1500 BMTU = 1500 B dla IPv4Ramka jumbopayload 9000 BWartość uzgodniona, poza IEEE 802.3Długość ramki = nagłówek 14 B + dane + FCS 4 BDane + FCS + preambuła liczone są do czasu zajętości medium
Slajd 8/40
Narzut na łączu i efektywność transmisji
Cel slajdu: Policzenie stałego narzutu ramki Ethernet oraz wyznaczenie efektywności transmisji dla typowych rozmiarów ramek.

Efektywność transmisji w zależności od rozmiaru danych

Narzut ramki = 26 B = 8 B (preambuła i SFD) + 6 B (MAC odbiorcy) + 6 B (MAC nadawcy) + 2 B (EtherType) + 4 B (FCS).
Rozmiar danych w ramceDane na kabluNarzutEfektywność
46 B (minimalna ramka)72 B26 B63,9 %
512 B538 B26 B95,2 %
1500 B (domyślne MTU)1526 B26 B98,3 %
9000 B (jumbo frames)9026 B26 B99,7 %
Uwzględnienie odstępu między ramkami: przy ramce 1518 B i odstępie 12 B na kablu zajęte jest 1538 B, co daje efektywność 1500 / 1538 = 97,5 procent. Dla ramki 64 B jest to 72 B + 12 B = 84 B, czyli efektywność 54,8 procent.
Efektywność transmisji w zależności od rozmiaru ramki Dane (zielone) i narzut 26 B (pomarańczowy)Ramka 64 B63,9 %Ramka 154 B83,1 %Ramka 538 B95,2 %Ramka 1526 B98,3 %Ramka 9026 B99,7 %Do narzutu dochodzi odstęp między ramkami: 96 czasów bitowychdla 1500 B danych to 1538 B na kablu, czyli efektywność 97,5 %Bez odstępu: efektywność = dane / (dane + 26)46 / 72 = 0,639 oraz 1500 / 1526 = 0,983; z odstępem 12 B: 46 / 84 = 0,548
Slajd 9/40
Znaczniki VLAN (IEEE 802.1Q i 802.1ad) a rozmiar ramek
Cel slajdu: Wyjaśnienie budowy znacznika VLAN, jego wpływu na długość ramki oraz powodu, dla którego wartość MTU warstwy sieciowej pozostaje równa 1500 B.

Znaczniki VLAN

Standard IEEE 802.1Q wprowadza w ramkę czterobajtowy znacznik, który umożliwia przenoszenie kilku logicznych sieci VLAN w ramach tego samego łącznika fizycznego. Znacznik składa się z dwóch bajtów identyfikatora protokołu (TPID, wartość 0x8100) oraz dwóch bajtów informacji sterującej (TCI), w której znajduje się 12-bitowy identyfikator VLAN (VID) i trzy bity priorytetu.

  • EtherType 0x8100 pojawia się w pierwszym polu ramki, a właściwy kod protokołu zostaje przesunięty o cztery bajty dalej
  • Maksymalna długość ramki rośnie z 1518 B do 1522 B
  • MTU warstwy trzeciej pozostaje 1500 B - znacznik VLAN nie jest częścią datagramu IP
Konsekwencja praktyczna: wartość MTU 1500 B na interfejsie jest poprawna również wtedy, gdy w sieci występują znaczniki VLAN. Ustawienie MTU 1496 B „na zapas” jest błędem - pozwalałoby przesyłać tylko 1496 B danych w ramce zamiast 1500 B, a więc niepotrzebnie zwiększałoby liczbę ramek i liczników potwierdzeń.
Wpływ znaczników VLAN na długość ramki Bez VLAN1526 B + 12 B = 1538 BMTU 1500 BIEEE 802.1Q1530 B + 12 B = 1542 BMTU 1500 BIEEE 802.1ad (Q-in-Q)1534 B + 12 B = 1546 BMTU 1500 BZnacznik VLAN nie jest częścią datagramu IPWobec tego MTU na interfejsie pozostaje 1500 Bniezależnie od liczby znaczników w ramce
Slajd 10/40
Warstwa fizyczna: kodowanie i modulacja
Cel slajdu: Zapoznanie się z technikami kodowania i modulacji stosowanymi w standardach Ethernet oraz z wpływem liczby par przewodu i gęstości symboli na przepustowość teoretyczną.

Na drodze od bitów do sygnału

StandardNormaTechnikaPrzebieg
10BASE-TIEEE 802.3 (1990)kodowanie Manchester10 Mbit/s, do 100 m, Cat 3
100BASE-TXIEEE 802.3u (1995)4B/5B + MLT-3100 Mbit/s, do 100 m, Cat 5
1000BASE-TIEEE 802.3ab (1999)4D-PAM5 na czterech parach1000 Mbit/s, do 100 m, Cat 5e
2,5G / 5GBASE-TIEEE 802.3bz (2016)PAM-16 z kodem 64B/65B i korekcją LDPC2500 i 5000 Mbit/s, do 100 m, Cat 5e lub Cat 6
10GBASE-TIEEE 802.3an (2006)DSQ128 + korekcja LDPC10 Gbit/s, do 100 m na Cat 6a
Symbol (baud): liczba zmian stanu sygnału na sekundę. Nie jest tożsama z liczbą przesyłanych bitów na sekundę. Przykładowo 1000BASE-T pracuje z częstotliwością symboli 125 MBd na każdej z czterech par, przy czym każdy symbol niesie 2 bity: 4 pary × 125 msymbol/s × 2 bity = 1000 Mbit/s.
Kodowanie i modulacja w standardach Ethernet Relacja: symboli na sekundę × bity na symbol × pary = Mbit/s100BASE-TX1 para/kierunek × 125 MBd × 0,8 b/symbol (4B/5B)100 Mbit/s1000BASE-T4 pary × 125 MBd × 2 b/symbol (4D-PAM5)1000 Mbit/s2,5GBASE-T4 pary × 200 MBd × 3,125 b/symbol (PAM-16, LDPC, 64B/65B)2500 Mbit/s5GBASE-T4 pary × 400 MBd × 3,125 b/symbol (PAM-16, LDPC, 64B/65B)5000 Mbit/s10GBASE-T4 pary × 800 MBd × 3,125 b/symbol (DSQ128, LDPC, 64B/65B)10 000 Mbit/sNarzut kodowania: 4B/5B = 25 %, 8B/10B = 25 %, 64B/65B = 1,56 %10GBASE-T wymaga Cat 6a dla 100 m; Cat 6 wystarcza do 55 m
Slajd 11/40
MSS: ile danych mieści się w jednym pakiecie
Cel slajdu: Obliczenie maksymalnego rozmiaru segmentu danych dla IPv4 i IPv6 oraz wyjaśnienie związku między MSS a mechanizmem wykrywania MTU ścieżki.

Ile danych zmieści się w jednym pakiecie

KonfiguracjaObliczenieWartość MSS
IPv4 + TCP1500 − 20 − 201460 B
IPv4 + UDP1500 − 20 − 81472 B
IPv6 + TCP1500 − 40 − 201440 B
IPv6 + UDP1500 − 40 − 81452 B
IPv4 + TCP, jumbo frames 9000 B9000 − 20 − 208960 B
MSS a MTU - praktyczna różnica: polecenie ping -M do -s 1472 wysyła 1472 bajty danych ICMP, do których dochodzi 20 B nagłówka IPv4 i 8 B nagłówka ICMP, co daje dokładnie 1500 B datagramu. Zwykłe ping -s 1472 nie ustawia flagi „nie fragmentuj”, więc router po drodze może ten datagram rozdzielić.
Złożenie nagłówków w jednym pakiecie IP Datagram IP o rozmiarze 1500 B na kablu: 1538 B1500 (IP) + 18 (Ethernet 14 + FCS 4) + 8 (preambuła) + 12 (odstęp) = 1538 BMAC 14 BIPv4 20 BTCP 20 Bdane (MSS) 1460 BFCS 4 B1460 Btyle danych trafia do jednego segmentu TCPPorównanie konfiguracjiIPv4 + TCP: MSS = 1500 - 20 - 20 = 1460 BIPv6 + TCP: MSS = 1500 - 40 - 20 = 1440 BIPv4 + UDP: maksymalny test ping: 1472 B danychMSS jest zmienna wzdłuż ścieżki sieciowejdlatego mechanizm wykrywania MTU ścieżki (PMTUD)dostosowuje ją do najmniejszego MTU na trasie
Slajd 12/40
Narzut tuneli i szyfrowania na warstwie łącznej
Cel slajdu: Zestawienie narzutu wnoszonego przez tunele i mechanizmy ochrony oraz wyjaśnienie jego wpływu na dostępny rozmiar danych w ramce.

Ile kosztuje każda warstwa dodana do ścieżki

Każda technologia, która zawija oryginalną ramkę w nową, zwiększa rozmiar przesyłanej jednostki. W konsekwencji zmniejsza się ilość danych aplikacji, która zmieści się w jednej ramce, a przy niezmiennym MTU rośnie liczba potrzebnych ramek.

MechanizmNarzutSkładowe narzutuSkutek dla MTU 1500 B
MPLS (RFC 3032)4 Betykieta 4 Bramka do 1522 B, MTU bez zmian
PPPoE (RFC 2516)8 B6 B PPPoE + 2 B protokół PPPMTU sesji 1492 B
GRE (RFC 2784)24 B20 B IPv4 + 4 B GREMTU tunelu 1476 B
IPsec ESP (tryb tunelowy)22–38 Bwektor inicjalizacyjny, dopełnienie, ICVMTU zależne od wybranego algorytmu
MACsec (IEEE 802.1AE)32 BSecTAG 16 B + ICV 16 BMTU 1468 B
VXLAN (RFC 7348)50 B14 B Ethernet + 20 B IP + 8 B UDP + 8 B VXLANMTU podłoża 1450 B
Narzut poszczególnych mechanizmów Narzut dodany do ramki przez mechanizmBrak tunelu0 Bdostępne 1500 B danychMPLS4 Bdostępne 1500 B danychPPPoE8 Bdostępne 1492 B danychGRE24 Bdostępne 1476 B danychIPsec ESP30 Bdostępne ok. 1470 B danychMACsec32 Bdostępne 1468 B danychVXLAN50 Bdostępne 1450 B danychIm więcej warstw enkapsulacji, tym mniej danych w jednej ramce
Slajd 13/40
MTU ścieżki, PMTUD i czarna dziura MTU
Cel slajdu: Opisanie mechanizmu wykrywania MTU ścieżki, jego konfiguracji oraz objawów i przyczyn czarnej dziury MTU.

Wykrywanie MTU ścieżki

Protokół Path MTU Discovery (RFC 1191 dla IPv4 oraz RFC 1981 dla IPv6) pozwala nadawcy samodzielnie ustalić najmniejszy rozmiar datagramu akceptowany na drodze do odbiorcy. Mechanizm wygląda następująco:

  1. Nadawca ustawia bit „nie fragmentuj” w nagłówku IP i wysyła datagram o rozmiarze początkowo równym MTU interfejsu
  2. Jeżeli router na drodze nie może przesłać datagramu, odrzuca go i wysyła do nadawcy komunikat ICMP (IPv4: typ 3, kod 4) z informacją o maksymalnym rozmiarze, który zmieści się w jego ramce
  3. Nadawca zmniejsza rozmiar wysyłanych datagramów do wartości podanej w komunikacie i zapamiętuje ją na potrzeby tej sesji
  4. Nadawca zapamiętuje tę wartość, aby uniknąć zapętlenia komunikatów ICMP; RFC 1191 opisuje w tym celu tablicę wartości minimalnych (Plateau Table), z której można korzystać jako wartości początkowej zamiast wartości domyślnej z początku sesji
Diagnostyka czarnej dziury MTU w systemie Linux:
ping -M do -s 1472 10.0.0.10 (1472 + 20 + 8 = 1500 B)
ping -M do -s 1400 10.0.0.10 (1428 B - mniejszy, przechodzi)
Jeżeli pierwsze polecenie nie zwraca odpowiedzi, a drugie ją zwraca, przyczyną jest MTU na drodze między 1428 a 1500 B.
Mechanizm wykrywania MTU ścieżki NadawcaMTU 1500 BOdbiorcaMTU 1500 BRouterMTU 1400 B1500 BzatrzymaneICMP: potrzebna fragmentacjazredukowane do 1400 B, dalszy transfer działaCzarna dziura MTURouter odrzuca pakiet, ale komunikat ICMP nie dociera do nadawcy(blokada ICMP, ACL, zła polityka zapal). Nadawca nie wie, dlaczegopołączenie zatrzymuje się po kilku sekundach bez komunikatu błędu.Test w systemie Linuxping -M do -s 1472 10.0.0.10 # 1500 B - nie przechodziping -M do -s 1400 10.0.0.10 # 1428 B - przechodziRozmiar danych zmniejszany o 20 B odszukuje wartość graniczną.
Slajd 14/40
Czynniki obniżające przepustowość użyteczną
Cel slajdu: Zestawienie przyczyn obniżania przepustowości wraz z mechanizmem działania każdej z nich i wskazówką, jak ją rozpoznać.

Siedem powodów, dla których wynik jest niższy niż etykieta

CzynnikMechanizmSpojrzenie diagnostyczne
Narzut ramek26 B na każdą ramkę; przy małych pakietach nawet kilkadziesiąt procent pasmastatystyka rozmiaru ramek (IOD, sFlow)
Narzut protokołów20 B IPv4, 20 B TCP, 8 B UDP, potwierdzenia ACKanaliza ruchu w Wireshark
Wydajność urządzeńprocesor, tablica przekazywania, pamięć buforówobciążenie CPU, liczba odrzuceń
Kolejki i opóźnienieoczekiwanie w buforach, spowolnienie na żądanieRTT, głębokość kolejek, ICMP
Straty i retransmisjebłędy CRC, kolizje, utrata wskutek przepełnienia buforówliczniki błędów, retransmisje TCP
Ruch mieszanytelefonia IP, DNS, kopie i tło w tym samym łączurozbicie ruchu według protokołów i portów
Medium bezprzewodowewspółdzielenie kanału, retransmisje fizyczne, interferencjeRSSI, SNR, liczba stacji
Kolejkowanie diagnostyki: zacząć od sprawdzenia liczników błędów (cokolwiek niezerowe oznacza problem fizyczny), następnie od rozkładu rozmiaru ramek, potem od obciążenia procesora urządzenia. Dopiero na końcu rozpatrywać ustawienia warstwy transportowej.
Czynniki obniżające przepustowość Wkład w obniżenie przepustowości użytecznejNarzut ramek i protokołówstały koszt na pakietWydajność urządzeńCPU, pamięć, tablica MACKolejki i opóźnieniebufor, RTT, bufferbloatStraty i retransmisjeCRC, utrata pakietówRuch mieszanyVoIP i tło w jednym łączuMedium bezprzewodowekanał radiowy, retransmisjeNarzut tuneli i szyfrowaniaGRE, VXLAN, MACsecKolejność diagnostyki: błędy -> rozmiar ramek -> CPU -> transportNajpierw tanie i jednoznaczne wskazania, dopiero potem tuning
Slajd 15/40
Kolejki, odrzucanie pakietów i bufferbloat
Cel slajdu: Wyjaśnienie mechanizmu powstawania kolejek, rodzajów odrzucania pakietów oraz związku wielkości bufora z opóźnieniem.

Co się dzieje, gdy pakietów jest za dużo

Przełącznik przesyła ramki z szybkością wynikającą z zegara portu. Jeżeli kilka portów nadaje jednocześnie do jednego portu wyjściowego, powstaje nadmiar, którego nie da się natychmiast obsłużyć. Pakiety trafiają do kolejki wyjściowej (bufora). Gdy bufor się zapełni, nadmiar jest odrzucany.

  • Odrzucenie z ogona kolejki (tail drop) - przy pełnym buforze nowy pakiet nie ma miejsca i zostaje odrzucony. Ten mechanizm jest prosty i przewidywalny, ale kosztowny: w dużych kolejkach opóźnienie (jitter) rośnie bardzo mocno.
  • Aktywne odrzucanie (AQM) - urządzenie sygnalizuje zbliżanie się do przepełnienia, aby nadawcy wycofali się z wysyłania. Algorytm RED (RFC 2309, rekomendacje RFC 7567) odrzuca pakiety wcześniej i losowo, a wersja z wagowaniem różnicuje próg dla poszczególnych przepływów.
Bufferbloat (spowolnienie na żądanie): duże bufory nie zwiększają przepustowości, a jedynie gromadzą opóźnienie. Link o przepustowości 100 Mbit/s z buforem 100 MB potrafi w czasie chwilowego przepełnienia wprowadzić opóźnienie rzędu kilku sekund. Interaktywność w grach i wideokonferencjach pada wtedy, mimo że „prędkość pobierania” pozostaje wysoka.
Powstawanie kolejki w przełączniku Nadawca A1 Gbit/sNadawca B1 Gbit/sNadawca C1 Gbit/sPort wyjściowy1 Gbit/s, kolejkabufor ograniczonyprzez qlenOdbiorca1 Gbit/s3 Gbit/s przychodząceOdrzucenie z ogona kolejkiproste, ale przy dużym buforze daje ogromne opóźnienieAktywne odrzucanie (AQM, RED)sygnalizuje zbliżenie do przepełnieniaBufferbloat: 100 Mbit/s z buforem 100 MBBufor nie dodaje przepustowości, tylko opóźnienie.100 MB / 100 Mbit/s = 8 sekund opóźnienia w kolejce.Dobre linki mają małe kolejki i szybką reakcję na przeciążenie.
Slajd 16/40
TCP kontra UDP: narzut potwierdzeń i regulacja przepływu
Cel slajdu: Porównanie kosztu protokołów transportowych, wpływu potwierdzeń i retransmisji na przepustowość użyteczną oraz omówienie zastosowań obu protokołów.

Koszt niezawodności: TCP kontra UDP

CechaTCPUDP
Połączenietrójwymienny uścisk dłoni przed transferembrak, wysyłka natychmiastowa
Nagłówek20 B, z opcjami do 60 B8 B
Potwierdzeniaobowiązkowe, zwykle co drugi segmentbrak
Kolejnośćzapewniona przez numerację segmentówniegwarantowana
Retransmisjaautomatyczna po upływie czasu oczekiwaniabrak, odpowiedzialność aplikacji
ZastosowaniaHTTP, SSH, transfer plików, pocztastrumieniowanie, gry, DNS, DHCP, VoIP
Koszt potwierdzeń na łączu 1 Gbit/s: na każde dwa segmenty danych o rozmiarze 1460 B przypada jedno potwierdzenie o rozmiarze 54 B (14 B Ethernet, 20 B IPv4, 20 B TCP). Zgodnie ze standardem Ethernet minimalna ramka L2 wynosi 64 B (54 B + 10 B dopełnienia padding). Na kablu (L1) zajmuje ona 64 B + 8 B (preambuła i SFD) + 12 B (odstęp IFG) = 84 B. Dwa segmenty danych zajmują 3076 B na kablu, więc potwierdzenia stanowią około 2,7 procent dodatkowego ruchu. Przy potwierdzaniu każdego segmentu koszt ten rośnie do około 5,4 procent.
Porównanie narzutu TCP i UDP TCP - 1460 B danychsegment z nagłówkiem 20 BUDP - 1472 B danychdatagram z nagłówkiem 8 BStruktura segmentu TCP na kabluEther 14IPv4 20TCP 20dane 14601538 B na kablu = 1000 Mbit/s teoretyczniePotwierdzenie ACK co 2 segmenty danychACK: ramka min. 64 B + 8 B preambuła + 12 B IFG = 84 B na kablu (ok. 2,7 % ruchu)TCP: ok. 940 - 950 Mbit/spotwierdzenia, retransmisje, CPUUDP: ok. 950 Mbit/sbrak potwierdzeń, mniejszy narzutRóżnica kilku procent jest nieunikniona i zgodna z modelem
Slajd 17/40
ARP, ruch rozgłoszeniowy i tablica sąsiedztwa
Cel slajdu: Omówienie ruchu ARP i NDP, jego zasięgu w domenie rozgłoszeniowej oraz wpływu na przepustowość i bezpieczeństwo sieci.

Ruch, którego nie ma w raporcie przepustowości

Typ ruchuPrzykładWpływ
Rozgłoszeniowy (broadcast)ARP, DHCP, IPv6 NDdociera do wszystkich portów w domenie rozgłoszeniowej (VLAN)
Wiele adresów (multicast)wideo, protokoły routingoweobsługiwany przez tablicę grupową przełącznika
Nieosiągalny (unicast do bramy)ruch do 192.0.2.0/24 (TEST-NET-1, RFC 5737)router powiadamia o braku trasy komunikatem ICMP
Rozwiązywanie adresów (ARP, RFC 826): protokół tłumaczy adresy IPv4 na adresy MAC w obrębie domeny rozgłoszeniowej. Żądanie ARP jest ramką rozgłoszeniową wysyłaną na porty w obrębie VLAN, a odpowiedź jest ramką unicastową. Każdy host prowadzi własną tablicę ARP, zwaną tablicą sąsiedztwa; żywot wpisu wynosi od kilkudziesięciu sekund do kilku minut.
Zakres rozgłoszeniowy (broadcast domain): w obrębie jednego VLAN. Każdy VLAN połączony routerem stanowi osobną domenę rozgłoszeniową, a trasowanie między VLAN ogranicza rozpychanie ruchu rozgłoszeniowego.
Mechanizm rozróżniania adresów ARP i NDP Pojedynczy hostHost ABramazapytanie ARP (rozgłoszeniowe)odpowiedz ARP (unicast)Domena rozgłoszeniowa jednego VLANHost AHost BBrama / switchZapytanie ARP dociera do każdego portu w VLANmimo że adresat nie jest znany - dlatego broadcast jest kosztownyIPv4: ARP (RFC 826)rozgłoszeniowe zapytanieIPv6: NDP (RFC 4861)zapytanie na adres multicastRozmiar ruchu ARP rośnie wraz z liczbą hostów w VLAN
Slajd 18/40
Jak mierzyć: od pomiaru 1 Gbit/s do metody etapowej
Cel slajdu: Przedstawienie procedury pomiaru przepustowości od ustalenia celu, przez wybór punktów i narzędzi, po interpretację wyniku i lokalizację wąskiego gardła.

Jak wygląda rzeczywisty pomiar

  1. Określenie celu - co dokładnie mierzymy: przepustowość łączu, hosta czy aplikacji
  2. Wybór punktów - dwa hosty lub urządzenia, najlepiej bez elementów pośrednich o nieznanej wydajności
  3. Usunięcie innego ruchu - wyłączenie aktualizacji, synchronizacji chmury, kopii zapasowych i telemetrii
  4. Wybranie protokołu i czasu - TCP lub UDP, zwykle 10–30 sekund, powtarzając pomiar kilka razy
  5. Zapisanie warunków - rozmiar okna TCP, typ protokołu, rozmiar danych, modele obu hostów
  6. Porównanie z teorią - wynik należy odnieść do przepustowości teoretycznej po uwzględnieniu narzutu
Wynik testu z artykułu źródłowego: dla łącza o przepustowości 1000 Mbit/s i przewidywanym maksimum 975 Mbit/s po uwzględnieniu narzutu ramek, pomiar narzędziem iperf3 dał wynik 941 Mbit/s. Różnica 34 Mbit/s odpowiada narzutowi potwierdzeń oraz rezerwie na przetwarzanie pakietów.
Przykładowy pomiar łącza 1 Gbit/s Przykład dla łącza 1 Gbit/s1000 Mbit/sprzepustowość teoretyczna975 Mbit/spo odjęciu narzutu ramek 1538 B941 Mbit/spomiar iperf3 w praktyceRóżnica 25 Mbit/s (2,5 %)narzut ramki: preambuła, FCS, IFG(1538 B na kablu dla 1500 B MTU)Różnica 34 Mbit/s (3,4 %)nagłówki TCP/IP, potwierdzenia ACK,buforowanie i CPU (razem 59 Mbit/s)Metoda etapowa - lokalizacja wąskiego gardłaPCSW1RTRSW2SRVtest 1test 2test 3test 4test 5
Slajd 19/40
Jednostki: system SI a przedrostki binarne
Cel slajdu: Omówienie różnicy między przedrostkami dziesiętnymi a binarnymi, jej wpływu na interpretację pomiarów oraz przeliczeń między bitami a bajtami.

Bit, bajt i potęgi dwójki

Przedrostek SIWartość w bajtachPrzedrostek IECWartość w bajtachRóżnica
megabajt (MB)1 000 000mebibajt (MiB)1 048 5764,86 %
gigabajt (GB)1 000 000 000gibibajt (GiB)1 073 741 8247,37 %
terabajt (TB)1 000 000 000 000tebibajt (TiB)1 099 511 627 7769,95 %
Różnica między 1 GB a 1 GiB wynosi 7,37 procent. Plik o rozmiarze 1 GB, czyli 109 bajtów, przesłany w czasie 10 sekund wymaga średnio 100 MB/s, czyli 800 Mbit/s - a nie 1000 Mbit/s. Plik o rozmiarze 1 GiB, czyli 1 073 741 824 bajty, przy przepustowości 1 Gbit/s przesyła się w czasie około 8,59 sekundy, a plik 1 GB - w 8 sekund.
Porównanie jednostek SI i IEC SI (dziesiętny)IEC (binarny)kilo 1 000kibi 1 0242.4 %mega 1 000 000mebi 1 048 5764.9 %giga 1 000 000 000gibi 1 073 741 8247.4 %tera 10^12tebi 1 099 511 627 77610.0 %1 Gbit/s = 125 000 000 B/s = 119,2 MiB/s1 GiB przy 1 Gbit/s przesyła się w 8,59 s, a nie 8 sRóżnica 7,37 % na poziomie GB to główna przyczyna rozczarowań
Slajd 20/40
Monitorowanie in-band
Cel slajdu: Wyjaśnienie zasad działania monitorowania w paśmie transmisji danych, wskazanie zalet i wad oraz opisanie zabezpieczenia w postaci wydzielonego VLAN zarządzania.

Monitorowanie w paśmie transmisji danych (in-band)

Monitorowanie in-band polega na zbieraniu telemetrii tą samą ścieżką, którą przesyłany jest ruch biznesowy. Agenci SNMP, systemy wykrywania przepływów oraz sondy NetFlow działają w obrębie tej samej sieci, którą monitorują.

ZaletyWady
jedna infrastruktura, brak osobnego okablowaniaawaria łączu administracyjnego unieruchamia monitoring właśnie wtedy, gdy jest potrzebny
pełny obraz ruchu: wszystkie VLAN i podsiecitelemetria sama generuje ruch i obciąża łącze, które monitoruje
proste skalowanie - nowe urządzenie pojawia się automatycznieprzeciążenie łącza może spowodować kaskadowe pogorszenie
niższy koszt początkowymożliwość ataku na ścieżkę zarządzania
VLAN zarządzania (management VLAN): wydzielony VLAN przeznaczony wyłącznie do ruchu zarządzania. Dzięki temu telemetria dociera niezależnie od zatoru w ruchu biznesowym. Warto również ograniczyć przepustowość tego VLAN, aby źle skonfigurowana telemetria nie wyparła ruchu zarządzania.
Monitorowanie in-band Host AaplikacjaHost BaplikacjaPrzełącznikprzepływ 800 Mbit/sAgent SNMPtelemetria 5 Mbit/sNMSserwer monitoringuSNMPv2c/v3Jedna ścieżka dla wszystkiegoAwaria łączu = awaria monitoringuRuch telemetrii dzieli pasmo z ruchem biznesowymprzy 800 Mbit/s obciążenia może zostać odrzucony
Slajd 21/40
Monitorowanie out-of-band
Cel slajdu: Opisanie monitorowania poza pasmem transmisji, stosowanych rozwiązań sprzętowych oraz porównanie kosztu pełnego wdrożenia z rozwiązaniem hybrydowym.

Monitorowanie poza pasmem transmisji (out-of-band)

Monitorowanie out-of-band polega na prowadzeniu osobnej ścieżki zarządzania, fizycznie i logicznie niezależnej od ruchu biznesowego. Dzięki temu telemetria dociera do systemu monitoringu nawet wtedy, gdy sieć jest całkowicie przeciążona lub uszkodzona.

ElementZastosowanieKoszt
Przełącznik z portami out-of-banddedykowany port zarządzania, często z odrębnym procesorem i zasilaniemwyższy w urządzeniach enterprise
Router z konsolą szeregowąłącze RS-232 z lokalnego terminala, dostępne zawszeniski
Terminal serwisowywieloportowy dostęp do konsol urządzeń w całej szafieśredni
Dedykowany uplink zarządzaniaosobny port fizyczny i osobny VLAN prowadzące do NMSniski
Zasada niezawodności: jeżeli system monitoringu ma działać w sytuacji kryzysowej, jego ścieżka nie może zależeć od stanu, który właśnie diagnozuje. Osobna ścieżka out-of-band jest jedynym rozwiązaniem spełniającym ten warunek w pełni.
Monitorowanie out-of-band NMS - system monitoringuSwitch NMS / koncentratorŚcieżka zarządzania - zawsze dostępna, niezależna od ruchu biznesowegoRouter brzegowyPrzełącznik rdzeniowyZapora sieciowaŚcieżka danych - może być przeciążona lub uszkodzonatelemetria in-band nie dotrze, monitoring traci sensKonsKonsole szeregowe RS-232 lub porty OOB w obudowie przełącznikaDostęp do urządzeń możliwy wyłącznie z konsoli, nawet gdyprzełącznik jest wyłączony lub jego konfiguracja jest uszkodzona
Slajd 22/40
SNMP jako źródło danych o przepustowości
Cel slajdu: Poznanie modelu operacji protokołu SNMP, struktury drzewa MIB oraz różnic w bezpieczeństwie między wersjami SNMPv1, SNMPv2c i SNMPv3.

Model operacji

  1. Get - odczyt pojedynczego obiektu o podanym identyfikatorze OID
  2. GetNext - odczyt kolejnej zmiennej, używany do przeglądania drzewa MIB
  3. GetBulk - odczyt wielu zmiennych w jednym żądaniu, znacznie szybszy od serii GetNext (RFC 1905)
  4. Set - zapis wartości, na przykład zmiana nazwy interfejsu
  5. Trap i Inform - niepoliczone powiadomienie od agenta do stacji zarządzającej
MIB (Management Information Base): hierarchiczna struktura obiektów, w której każdy obiekt ma niepowtarzalny identyfikator OID (Object Identifier), zapisywany jako ciąg liczb rozdzielonych kropkami, na przykład 1.3.6.1.2.1.2.2.1.10.
WersjaUwierzytelnianieSzyfrowanieOcena
SNMPv1wspólna fraza (community) w postaci jawnejbrakprzestarzała, nie należy stosować
SNMPv2cwspólna fraza (community) w postaci jawnejbrakbardzo rozpowszechniona, ale niezabezpieczona
SNMPv3USM: HMAC-MD5, HMAC-SHA-1, SHA-2 (SHA-256/512)DES, AES-128, AES-192, AES-256zalecana w każdych nowych wdrożeniach (authPriv)
Model operacji SNMP Stacja NMSserwer monitoringuAgent SNMPna urządzeniuGet / GetBulkodpowiedz z wartościamiTrap (powiadomienie niepoliczone)Drzewo MIB - identyfikatory OID1.3.6.12.1.12.2.1.1031.1.1.1.631.1.1.1.15ifTableSNMPv1 / v2ccommunity jawnie, brak szyfrowaniaSNMPv3 z USMuwierzytelnianie + szyfrowanie AESGetNext jest wolne - używaj GetBulk do pobierania tabel
Slajd 23/40
Liczniki bajtów ifInOctets i ifHCInOctets
Cel slajdu: Poznanie liczników bajtów wejściowych i wyjściowych w bazie MIB, zrozumienie różnicy między licznikami 32-bitowymi i 64-bitowymi oraz zasady przeliczania ich na przepustowość.

Najważniejsze liczniki: bajty w wejściu i wyjściu

Przepustowość interfejsu oblicza się na podstawie przyrostu licznika bajtów pomiędzy dwoma odczytami, podzielonego przez czas między tymi odczytami. Liczniki 32-bitowe należą do tabeli ifTable (RFC 1213 / RFC 2863), natomiast liczniki 64-bitowe (High Capacity) do rozszerzonej tabeli ifXTable (RFC 2863).

NazwaOIDTypZnaczenie
ifInOctets1.3.6.1.2.1.2.2.1.10Counter32łączna liczba bajtów odebranych na interfejsie
ifOutOctets1.3.6.1.2.1.2.2.1.16Counter32łączna liczba bajtów przesłanych, z wliczeniem ramek rozgłoszeniowych
ifHCInOctets1.3.6.1.2.1.31.1.1.1.6Counter64jak ifInOctets, ale z 64-bitowym licznikiem
ifHCOutOctets1.3.6.1.2.1.31.1.1.1.10Counter64jak ifOutOctets, ale z 64-bitowym licznikiem
ifHighSpeed1.3.6.1.2.1.31.1.1.1.15Gauge32prędkość w Mbit/s
Liczniki bajtów w MIB Tabela ifTable (RFC 1213)Tabela ifXTable (RFC 2863)ifInOctets - Counter32ifHCInOctets - Counter64ifOutOctets - Counter32ifHCOutOctets - Counter64ifHighSpeed - w Mbit/sZawijanie się licznika 32-bitprzy 1 Gbit/s co ok. 34,4 s4294967295 bajtów / (1000000000 bit/s / 8) = 34,36 snie używaj liczników 32-bitowych do pomiaru szybkich łączyWzór na prędkośćprędkość = (licznik2 - licznik1) * 8 / (czas2 - czas1)liczniki 32-bitowe wymagają korekty po przekroczeniu zakresu
Slajd 24/40
Wyliczanie przepustowości z liczników SNMP
Cel slajdu: Zapoznanie się ze wzorem na przepustowość, obsługą zawijania licznika 32-bitowego oraz praktycznym przykładem obliczeń na podstawie dwóch odczytów SNMP.

Wzór na przepustowość

Wzór podstawowy:
przepustowość [bit/s] = (B₂ − B₁) × 8 ÷ (T₂ − T₁)
gdzie B₁ i B₂ to wartości licznika bajtów w dwóch odczytach, a T₁ i T₂ to znaczniki czasu odczytów. W praktyce różnicę czasu oblicza się ze znaczników sysUpTime (OID 1.3.6.1.2.1.1.3.0), które zwracają liczbę setnych sekundy od restartu urządzenia.

Uwzględnienie zawijania licznika 32-bitowego

Jeżeli drugi odczyt jest mniejszy niż pierwszy, oznacza to, że licznik się zawijał. Licznik 32-bitowy liczy modulo 2³², dlatego do różnicy należy dodać wartość 2³² = 4 294 967 296. Uwaga: liczba 4 294 967 295 to największa wartość, jaką licznik może przyjąć, a nie modularna podstawa - używanie jej daje wynik niższy o jeden bajt.

Przykład liczbowy (przeliczenie poprawne):
Odczyt 1: ifHCInOctets = 8 000 000 000, sysUpTime = 3 600 000 (36 000 s)
Odczyt 2: ifHCInOctets = 8 750 000 000, sysUpTime = 3 610 000 (36 100 s)
Różnica bajtów: 750 000 000, różnica czasu: 100 s
Przepustowość: 750 000 000 × 8 ÷ 100 = 60 Mbit/s
Wzór na prędkość z liczników SNMP prędkość [bit/s] = (B2 - B1) x 8 / (T2 - T1)Odczyt 1B1 = 8 000 000 000 BT1 = 36 000 sOdczyt 2B2 = 8 750 000 000 BT2 = 36 100 sdelta B = 750 000 000delta T = 100 sprędkość = 750000000 x 8 / 100 = 60 Mbit/sGdy B2 < B1, to nastąpiło zawiniecie licznikadelta B = B2 + 4294967296 - B1 (korekta o 2^32)Czas odczytu z sysUpTime (OID ...1.3.0) w setnych sekundyNajlepsze rozwiązanie: używać liczników 64-bitowych ifHCInOctetsTypowy interwał odpytywania dla LAN: 30 - 60 s
Slajd 25/40
Wykorzystanie łącza i progi alarmowe
Cel slajdu: Obliczanie wykorzystania łącza na podstawie pomiaru i przepustowości nominalnej oraz omówienie progów alarmowych stosowanych w praktyce.

Wykorzystanie łącza i progi alarmowe

Wykorzystanie łącza (utilization):
wykorzystanie [%] = przepustowość [Mbit/s] ÷ ifHighSpeed [Mbit/s] × 100
Pole ifHighSpeed (OID 1.3.6.1.2.1.31.1.1.1.15) podaje prędkość w Mbit/s, czyli w milionach bitów na sekundę. Dla łącza 1 Gbit/s zwraca więc wartość 1000. Ponieważ wzór przepustowości daje wynik w bit/s, trzeba najpierw podzielić go przez milion. Poprawny zapis z pominięciem przeliczenia to przepustowość [bit/s] ÷ (ifHighSpeed × 10⁶) × 100.
WykorzystanieStanReakcja
poniżej 30 %normalnybrak działań
30 – 50 %obserwacjarejestrować w raporcie, obserwować trend
50 – 70 %uwagasprawdzić planowane wydarzenia, rozważyć rozbudowę
70 – 85 %ostrzeganiealarm, zaplanować zwiększenie przepustowości
85 – 95 %krytycznyalarm pilny, ograniczenie ruchu mniej ważnego
powyżej 95 %przepełnienienatychmiastowa reakcja, utrata pakietów i wzrost opóźnień
Progi alarmowe wykorzystania łącza wykorzystanie [Mbit/s] / ifHighSpeed [Mbit/s] x 1000-3030-5050-7070-8585-9595-100Procent wykorzystania łącza a stan alarmowy0 - 30 %normalnybrak działań50 - 70 %uwagarozbudowa70 - 85 %ostrzeganiealarm85 - 95 %krytycznyalarm pilnyNie czekaj na 90 % - krótkie rozładowania potrafią wypełnić łącze
Slajd 26/40
Liczniki błędów i odrzuceń w MIB
Cel slajdu: Rozróżnienie liczników błędów od liczników odrzuceń, poznanie ich identyfikatorów OID oraz zastosowanie w diagnostyce problemów fizycznych i wydajnościowych.

Liczniki błędów: najważniejszy sygnał diagnostyczny

Przepustowość pokazuje, ile danych przeszło. Liczniki błędów pokazują, ile danych nie przeszło poprawnie. Ten drugi sygnał jest zwykle cenniejszy diagnostycznie, ponieważ wskazuje konkretną przyczynę.

LicznikOIDCo oznaczaPrzyczyna
ifInErrors1.3.6.1.2.1.2.2.1.14pakiet o błędnym kodzie sterującym lub długości niezgodnej z protokołempraca w trybie half-duplex, kolizje
ifInDiscards1.3.6.1.2.1.2.2.1.13pakiet odrzucony z powodu braku zasobów (bufor, pamięć)przeciążenie urządzenia, zbyt wiele tablic
ifOutDiscards1.3.6.1.2.1.2.2.1.19pakiet odrzucony przed przesłaniem (kolejka pełna)wąskie gardło na porcie wyjściowym
ifOutErrors1.3.6.1.2.1.2.2.1.20pakiet nie mógł zostać przesłany (błąd lokalny)kolizje, błąd sprzętowy
dot3StatsFCSErrors1.3.6.1.2.1.10.7.2.1.3błąd sumy kontrolnej CRC-32 (uszkodzenie na drodze)uszkodzony kabel, złącze, zakłócenia
dot3StatsAlignmentErrors1.3.6.1.2.1.10.7.2.1.2błąd wyrównania (liczba bitów nie jest całkowitą wielokrotnością ośmiu)uszkodzony kabel, złącze, nadajnik
Liczniki błędów i odrzuceń Błędy - problem fizycznyOdrzucenia - wydajnośćdot3StatsFCSErrorsbłąd CRC-32dot3StatsAlignmentErrorsbłąd wyrównaniaifInErrorsbłąd odbioruifInDiscardsbrak bufora / pamięciifOutDiscardskolejka wyjściowa pełnaifOutErrorsbłąd lokalny przy nadawaniuWartość graniczna dla błędów CRC to 0 - każdy przyrost to problemmaksymalnie dopuszczalna grupowa transmisja błędów: 100 ppm100 ppm przy 1 Gbit/s to ok. 8 błędów/s (ramki 1538 B)przy czym licznik bezwzględny może wyglądać na małySprawdzenie w RouterOS/interface ethernet monitor ether1 oncerx-bad-ether = błędy CRC, rx-drop = odrzucenia odbiorcze
Slajd 27/40
Ciągłość pomiaru i zerowanie liczników
Cel slajdu: Omówienie przyczyn nieprawidłowych odczytów liczników, wyjaśnienie pola ifCounterDiscontinuityTime i przedstawienie poprawnej logiki obliczania przepustowości.

Gdy licznik nie zgadza się z rzeczywistością

ObjawPrzyczynaRozwiązanie
przepustowość wyższa niż przepustowość nominalna portupodwojenie licznika (błąd w agencie SNMP) albo sumowanie kilku interfejsówsprawdzić konfigurację szablonu w systemie NMS
ujemna przepustowośćlicznik 32-bitowy zawinął się i nie zastosowano korektyużyć liczników 64-bitowych lub dodać korektę 2³²
przepustowość zerowa mimo ruchuodpytywanie różnych interfejsów (błąd mapowania indeksu)sprawdzić, czy indeks ifIndex jest zawsze taki sam
wartości oscylujące wokół zerazbyt krótki interwał odpytywania względem zawijania licznikawydłużyć interwał lub użyć 64-bitowych liczników
wartości rosnące mimo wyłączenia portulicznik nie jest zerowany przy zmianie stanu administracyjnegoporównać z ifCounterDiscontinuityTime
ifCounterDiscontinuityTime (OID 1.3.6.1.2.1.31.1.1.1.19): znacznik czasu (TimeStamp), w którym licznik interfejsu został zresetowany lub przerwał poprawnie zliczać. Jest to pole zdefiniowane w RFC 2863 właśnie po to, aby systemy monitorowania mogły wykryć przerwanie ciągłości pomiaru.
Ciągłość pomiaru licznika Licznik monotoniczny: rośnie lub zawija się, nigdy nie malejeOdczyt 1licznik = 1 000 000discontinuity = 500 000Odczyt 2poprawnyprzyrostOdczyt 2 po resecielicznik = 5 000 (mniejszy!)discontinuity = 900 000Dane nieważnebłąd -restartZakłócenie 32-bitdelta = B2 - B1 + 4294967296przy 1 Gbit/s co ok. 34,4 sifCounterDiscontinuityTimeOID 1.3.6.1.2.1.31.1.1.1.19wykrywa restart i zmianęZmiana tego pola = dane nieważne, zacznij pomiar od nowato jedyny pewny sposób wykrycia zerowania licznika
Slajd 28/40
Próbkowanie przepływu sFlow
Cel slajdu: Poznanie mechanizmu próbkowania pakietów i liczników w technologii sFlow oraz porównanie jej z NetFlow pod względem dokładności i obciążenia.

Próbkowanie przepływu: sFlow

Technologia sFlow (Sampled Flow, opisana pierwotnie w RFC 3176 dla wersji v2, a obecnie w specyfikacji sFlow.org dla wersji v5) łączy dwie techniki: próbkowanie pakietów na poziomie warstwy sprzętowej oraz próbkowanie liczników interfejsów w regularnych odstępach czasu.

CechasFlowNetFlow v9 / IPFIX
Próbkowanie1 pakiet na N (np. 512)agregat per przepływ
Dane przesyłanenagłówek pakietu (20–64 B)liczba pakietów i bajtów
Latencja danych1 s15–30 s
Obciążenie urządzeniabardzo małeumiarkowane
TransportUDP, port 6343UDP, port 2055 (NetFlow) lub 4739 (IPFIX)
Ograniczenie metody: sFlow nie odtwarza treści pakietów - przesyła jedynie nagłówek. Nie można więc rozpoznać, co dokładnie jest przesyłane, na przykład zawartości żądania HTTP. Do pełnej analizy potrzebne jest przechwytywanie pakietów.
Architektura sFlow Przełącznikagent sFlowKolektoranaliza i wykresyUDP 6343próbki + liczniki co ok. 1 sPróbkowanie pakietów1 pakiet na N (np. 512)kopiowany nagłówek 20 - 64 Bsprzętowa tablica, mały kosztLiczniki interfejsówpakiety, bajty, odrzuceniabłędy, interfejsy, VLANwysyłane raz na ok. 1 ssFlow nie przesyła treści pakietu - tylko nagłóweksFlow: ~1 s, male obciążenienagłówek, brak treściNetFlow: 1 - 30 min, większe obciążenieagregat per przepływLinux /etc/hsflowd.conf: sflow { sampling=512 polling=20 }Switch CLI: sflow 1 destination 10.0.0.50 6343 | sampling 1 512
Slajd 29/40
Analiza źródeł ruchu i plan wdrożenia monitorowania
Cel slajdu: Poznanie hierarchii analizy ruchu od interfejsu po aplikację, typowych źródeł obciążenia oraz pięciostopniowego planu wdrożenia monitorowania przepływu.

Hierarchia analizy ruchu

  1. Poziom interfejsu - który port jest zajęty; pierwszy krok w każdej analizie
  2. Poziom hostów - który host odbiera i nadaje najwięcej danych
  3. Poziom sesji - jaka usługa i jaki port docelowy
  4. Poziom aplikacji - rozpoznanie protokołu z sygnatur i cech zachowania (DPI)
Czasy na łącze (talkers and listeners): określenia te oznaczają hosty, które najwięcej wysyłają i odbierają. Klasyczna rekomendacja to wyszukanie pierwszych dziesięciu rozmawiających w obu kierunkach.
KrokZakresCel
1liczniki SNMP na interfejsach (60 s)bazowa mapa wykorzystania i wykrywanie awarii
2liczniki błędów i odrzuceń (60 s)wykrywanie problemów fizycznych i przeciążeń
3sFlow na przełącznikach brzegowychrozpoznanie rozmawiających i słuchających
4NetFlow na routerach brzegowychrozliczenia i analiza per przepływ
5przechwytywanie pakietów punktowoanaliza treści w konkretnych sytuacjach
Drabek analizy ruchu Switch - 80 %Router - 55 %Serwer - 12 %Drabek analizy ruchu1. Interfejsktóry port jest zajęty2. Hostykto nadaje i odbiera3. Sesjejaka usługa i port docelowy4. Aplikacjerozpoznanie protokołu (DPI)Typowi winowajcy: aktualizacje, synchronizacja w chmurze, kopie zapasowetransmisja wideo, drukowanie, urządzenia Internet of ThingsPlan wdrożenia - pięć kroków1. Liczniki SNMP na wszystkich interfejsach (60 s)2. Liczniki błędów i odrzuceń (60 s)3. sFlow na przełącznikach brzegowych4. NetFlow na routerach brzegowych5. Punktowe przechwytywanie pakietów
Slajd 30/40
Agregacja przepływów: NetFlow i IPFIX
Cel slajdu: Poznanie mechanizmu raportowania przepływów w protokołach NetFlow v9 i IPFIX, porównanie ich ze sFlow oraz omówienie kwestii bezpieczeństwa raportów.

Agregacja przepływów: NetFlow i IPFIX

NetFlow v9 (RFC 3954) oraz IPFIX (RFC 7011) to protokoły raportujące agregaty per przepływ. Są dokładnym odpowiednikiem sFlow pod względem celu, ale pracują na innej zasadzie: urządzenie śledzi poszczególne sesje i raportuje je po zakończeniu lub cyklicznie.

Przepływ (flow): jednokierunkowa seria pakietów o tych samych pięciu wartościach: adres źródłowy, port źródłowy, adres docelowy, port docelowy i protokół (pięciokrotka). Raport zawiera liczbę pakietów, liczbę bajtów, czasy rozpoczęcia i zakończenia oraz informacje o warstwie wyższej (na przykład znacznik DSCP, adresy MAC).
  • Aktywny timer (active timeout) (standardowo 30 min / 1800 s, konfigurowalny) - wymusza raport dla długich, nieprzerwanych sesji
  • Bezczynny timer (idle timeout) (domyślnie 15 s) - generuje raport po ustaniu ruchu w danym przepływie
  • Protokół transportowy - UDP port 2055 dla NetFlow oraz UDP port 4739 dla IPFIX (przypisany przez IANA)
NetFlow i IPFIX - raport przepływów Router / SwitchagregatorKolektoranaliza i rozliczeniaUDP 2055 / 4739szablony + raporty co 15 s - 30 minPrzepływ = pięciokrotkaadres źródłowyport źródłowyadres docelowyport docelowyprotokół+ liczba pakietów, bajty, czasy, DSCP, adresy MACsFlow: próbki, co ~1 sbrak szablonów, niskie CPUnagłówek bez treściNetFlow / IPFIX: sesje, 15 s - 30 minwymaga szablonówdokładna księgowośćRaporty lecą bez szyfrowania UDP - dane wrażliweogranicz dostęp do kolektora lub tuneluj raporty/ip traffic-flow set enabled=yes active-flow-timeout=30m inactive-flow-timeout=15s/ip traffic-flow target add dst-address=10.0.0.50 port=2055 version=9
Slajd 31/40
Scenariusz diagnostyczny: wysokie wykorzystanie, wolne aplikacje
Cel slajdu: Prześledzenie typowego scenariusza awarii krok po kroku, od pomiaru wykorzystania portu przez rozbicie ruchu na hosty, po ustalenie wąskiego gardła poza siecią.

Scenariusz 1: „Kopia zapasowa zaowocowała w godzinach szczytu”

Administrator zgłasza, że od godziny 8:00 do 10:00 połączenia z aplikacją webową są bardzo wolne, choć łącze do internetu jest „w pełni wolne”. Opis jest klasyczny i bardzo częsty, dlatego warto prześledzić krok po kroku ścieżkę diagnostyczną.

KrokCo sprawdzamyWynikWniosek
1wykorzystanie portu brzegowego (SNMP)średnio 82 %, maksymalnie 97 %ruch jest w obie strony, więc łącze WAN nie jest problemem
2rozbicie ruchu (sFlow, top talkers)45 % ruchu z jednego hostawskazany kandydat na źródło
3rozmiar ramek (histogram z sFlow)70 % ramek o 1500 Bnie ma problemu z narzutem
4odpowiedź z hosta do aplikacji (ping)RTT 1,2 ms, brak utratyścieżka sieciowa jest w porządku
5przebieg procesów na hościeproces kopii zapasowej zużywa 90 % dyskuwąskie gardło to dysk, nie sieć
Ścieżka diagnostyczna - kopii zapasowej Ścieżka diagnostyczna - od ogółu do szczegółu1. Wykorzystanie portu82 % średnio, 97 % maks.2. Rozbicie na hosty45 % z jednego hosta3. Rozmiar ramek70 % ramek po 1500 B - OK4. Ping do aplikacjiRTT 1,2 ms, brak utraty5. Procesy na hościekopia zapasowa zajmuje 90 % dyskuPrzyczyna: wąskie gardło na dysku, nie w sieciRozbudowa łącza nie rozwiązałaby problemuTest end-to-end jest najtańszym sposobem wykluczenia sieci
Slajd 32/40
Scenariusz diagnostyczny: błędy CRC i zakłócenia
Cel slajdu: Prześledzenie diagnostyki okresowych błędów CRC, różnicy między błędami sumy kontrolnej i wyrównania oraz zastosowania liczników w monitorowaniu.

Scenariusz 2: „W godzinach wieczornych połączenia przerywają się”

Ten objaw ma charakterystyczny wzorzec czasowy: sieć działa dobrze przez cały dzień, a problem pojawia się w godzinach wieczornych. Wzorzec sugeruje, że przyczyną nie jest sama konfiguracja, lecz warunki, które pojawiają się dopiero wieczorem.

KrokCo sprawdzamyWynikWniosek
1licznik dot3StatsFCSErrors w ujęciu godzinowymwartości w godzinach 18–22 są 1000 razy wyższeproblem jest zlokalizowany w czasie
2dot3StatsAlignmentErrorsniski w porównaniu z FCSto uszkodzenie danych, nie zegar
3zmiana ustawień Auto-MDI/MDI-X, autonegocjacjinie przyniosła poprawynie jest to problem warstwy 1a
4test kabla certyfikacyjnym, wymiana patch-cordaproblem ustąpił po wymianieuszkodzenie fizyczne w przewodzie lub złączu
5sprawdzenie, co zmieniło się wieczoremoświetlenie LED na stanowisku obokzakłócenie elektromagnetyczne
Różnica między FCS a alignment: błąd sumy kontrolnej (FCS) oznacza, że bajty dotarły, ale zniekształcone. Błąd wyrównania (alignment) oznacza, że liczba bitów nie była całkowitą wielokrotnością ośmiu, co wskazuje raczej na problem z zegarem niż z danymi. Ta subtelna różnica wskazuje kierunek diagnostyki.
Diagnostyka błędów CRC Błędy CRC w godzinach 18 - 22dot3StatsFCSErrors1000 razy więcej w godzinachpracy biura - problem w czasieAlignmentErrors niskieto nie problem zegaralecz uszkodzenie danychWymiana patch-corda rozwiązała problemPrzyczynazakłócenia elektromagnetyczneTriggerzmiana na oświetlenie LEDRozwiązanie długoterminowe: rozważ EEE (802.3az) na obu końcachJak monitorować liczniki błędówRaportuj przyrost na godzinę, nie sumę od restartuSuma 1000 błędów miesięcznie nie znaczy nic - 1000/godz. oznacza awarie
Slajd 33/40
Lista kontrolna monitorowania przepustowości
Cel slajdu: Zestawienie telemetrii w trzech warstwach priorytetów oraz zasady projektowania alarmów, aby uniknąć nadmiernego szumu informacyjnego.

Co powinno znajdować się w systemie monitorowania

WarstwaZakres telemetrii
1: obowiązkowadostępność urządzenia (ping lub ifOperStatus), przepustowość wejściowa i wyjściowa (ifHCInOctets, ifHCOutOctets), liczniki błędów i odrzuceń, wykorzystanie procesora i pamięci
2: rozszerzonaopóźnienie do kluczowych punktów i utrata pakietów, rozbicie ruchu (sFlow, NetFlow), liczby tablic (MAC, ARP, tras), rozmiar ramek
3: uzupełniającatemperatura i wilgotność w szafie, zasilanie awaryjne (UPS), konfiguracja względem zatwierdzonej bazy, licencje i subskrypcje
Zasada nadrzędna: lepiej mierzyć sześć rzeczy dobrze i alarmować na nie konkretnie niż mierzyć czterdzieści i mieć nieczytelny wykres. Każdy alarm, którego administrator nie potrafi sklasyfikować jako „wiem, co z tym zrobić”, z czasem zostanie zignorowany, a to czyni cały system alarmowy bezużytecznym.
Warstwy telemetrii Warstwy telemetrii w systemie monitorowaniaWarstwa 1obowiązkowa• dostępność urządzenia • przepustowość in / out• liczniki błędów i odrzuceń • obciążenie CPU i pamięci• zasilanie i temperaturaWarstwa 2rozszerzona• opóźnienie RTT i utrata pakietów • rozbicie ruchu (sFlow / NetFlow)• rozmiar ramek • zbliżenie do limitu tablicWarstwa 3uzupełniająca• środowisko szafy • zasilanie awaryjne (UPS)• zmiany konfiguracji • licencje i subskrypcje
Slajd 34/40
Podsumowanie: pięć też do zapamiętania
Cel slajdu: Zestawienie pięciu kluczowych wniosków prezentacji, powtórzenie łańcucha wartości metryk dla łącza 1 Gbit/s oraz przypomnienie kontrolnych pytań.

Podsumowanie: pięć tez do zapamiętania

  1. Przepustowość teoretyczna jest granicą, której nie da się przekroczyć. Wartość 1000 Mbit/s na porcie oznacza maksymalną przepustowość medium, a nie ilość danych, którą zobaczy aplikacja.
  2. Różnica między metrykami ma nazwę: narzut. 26 B na ramkę bez VLAN i szyfrowania, 20 B nagłówka IPv4, 20 B nagłówka TCP, dodatkowo 4 B w znaczniku VLAN, 32 B w MACsec, 50 B w VXLAN.
  3. Rozmiar pakietów ma znaczenie pierwszorzędne. 46 B danych daje 54,8 procent efektywności po uwzględnieniu odstępu między ramkami (63,9 procent bez niego), 1500 B daje 97,5 procent, a 9000 B daje 99,6 procent.
  4. Liczniki błędów są cenniejsze niż wykresy przepustowości. Wartość graniczna dla błędu CRC to zero; każdy przyrost oznacza problem fizyczny lub zegarowy.
  5. Monitoring musi działać wtedy, gdy sieć zawodzi. Ścieżka out-of-band i wydzielony VLAN zarządzania to minimum, które odróżnia system użyteczny od systemu bezużytecznego.
Przypomnienie o liczbach: 1000 Mbit/s (przepustowość teoretyczna) → 975 Mbit/s (maksimum po odjęciu narzutu ramek) → 941 Mbit/s (pomiar iperf3 dla łącza 1 Gbit/s) → wartość jeszcze mniejsza (dane faktycznie przetworzone przez aplikację, po odjęciu potwierdzeń i ewentualnych retransmisji). Wartości 1000 i 941 Mbit/s pochodzą z artykułu źródłowego; 975 Mbit/s to wynik obliczenia własnego. Wartości goodput artykuł nie podaje, dlatego pozostawiamy ją jako wielkość nieznaną - jej wartość zależy od aplikacji, rozmiaru okna TCP i strat.
Łańcuch metryk 1000 - 975 - 941 - goodput Łańcuch metryk dla łącza 1 Gbit/sBandwidth1000 Mbit/sMaksimum teoretyczne975 Mbit/sPomiar iperf3941 Mbit/sDane aplikacjiponiżej 941 Mbit/sNarzut ramki 26 B, IPv4 20 B, TCP 20 B, ACK co 2 segmentyPięć też1. Przepustowość teoretyczna to granica2. Różnica między metrykami to narzut3. Rozmiar pakietów ma znaczenie pierwszorzędne4. Liczniki błędów są cenniejsze niż wykresy 5. Podawaj metryki w tych samych jednostkach
Slajd 35/40
Normy, dokumenty RFC i narzędzia
Cel slajdu: Zestawienie norm IEEE, dokumentów RFC dotyczących liczników, przepływu, transportu i kolejek oraz narzędzi pomiarowych użytych w prezentacji.

Normy i dokumenty wykorzystane w prezentacji

DokumentZakres
IEEE 802.3Ethernet, w tym 802.3ab (Gigabit na skrętce), 802.3an (10GBASE-T), 802.3bz (2,5G i 5GBASE-T), 802.3ac (znacznik VLAN), 802.3az (EEE)
IEEE 802.1Q, 802.1ad, 802.1AE, 802.1Xznakowanie VLAN, Q-in-Q, MACsec, uwierzytelnianie portów
RFC 1213, RFC 2863obiekty MIB-2 oraz rozszerzenia interfejsów z licznikami 64-bitowymi
RFC 1905operacje GetBulk w SNMPv2
RFC 3176, RFC 3954, RFC 7011sFlow, NetFlow v9, protokół IPFIX
RFC 3411, RFC 3414architektura SNMPv3, model bezpieczeństwa USM
RFC 2784, RFC 7348GRE, VXLAN
RFC 1191, RFC 1981wykrywanie MTU ścieżki (PMTUD)
RFC 2309, RFC 7567aktywne zarządzanie kolejkami (AQM) i algorytmy RED / CoDel
RFC 7323, RFC 6928rozszerzenia TCP (skalowanie okna Window Scale) oraz okno początkowe (initcwnd)
Narzędzia: iperf3 (pomiar przepustowości), Jperf (interfejs graficzny do iperf), iptraf-ng (statystyki ruchu w konsoli), Wireshark (analiza pakietów), nload i vnstat (historia wykorzystania łącza), tc (zarządzanie kolejkami w Linuksie).
Źródła i dokumentacja Grupy dokumentów i narzędziNormy IEEE• 802.3 - Ethernet• 802.1Q / 1ad - VLAN• 802.1AE - MACsec• 802.1X - uwierzytelnianie• 802.3az - EEEDokumenty IETF• RFC 1213 / 2863 - MIB• RFC 1905 - GetBulk• RFC 3176 - sFlow• RFC 3954 - NetFlow v9• RFC 7011 - IPFIX• RFC 3411 / 3414 - SNMPv3Transport i tunele• RFC 5681 / 6582 - TCP• RFC 7323 / 6928 - okno TCP• RFC 2784 - GRE• RFC 7348 - VXLAN• RFC 1191 / 1981 - PMTUD• RFC 2309 / 7567 - kolejkiNarzędzia pomiaroweiperf3, Jperf, iptraf-ng,Wireshark, nload, vnstat, tcŹródło przykładówITBlog, 20.10.2025netstudio.net.pl - Pomiary w sieciach LANWszystkie liczby w prezentacji da się zweryfikowaćw dokumentach IETF (RFC 2863, RFC 3176, RFC 3954, RFC 7011)
Slajd 36/40
Powtórzenie: kluczowe liczby
Cel slajdu: Zebranie w jednym miejscu najważniejszych wartości liczbowych użytych w prezentacji, aby ułatwić zapamiętanie i dalsze wykorzystanie.

Kluczowe liczby do zapamiętania

WielkośćWartośćŹródło
Minimalna ramka Ethernet64 BIEEE 802.3
Maksymalna ramka Ethernet II1518 Bdane 1500 B + 18 B
Ramka z jednym znacznikiem VLAN1522 BIEEE 802.1Q
Długość na kablu72 – 1526 Bwliczając preambułę i SFD
Narzut ramki (bez VLAN i szyfrowania)26 B8 + 6 + 6 + 2 + 4 + 12 odstępu
MTU dla IPv41500 BIEEE 802.3
MSS dla IPv4 + TCP1460 B1500 − 20 − 20
Narzut GRE, VXLAN, MACsec24 B, 50 B, 32 BRFC 2784, RFC 7348, IEEE 802.1AE
Zawijanie się licznika 32-bitowego przy 1 Gbit/sco 34,4 s2³² × 8 / 10⁹
Jak korzystać z tabeli: wartości rozmiarów pozwalają natychmiast policzyć narzut dla dowolnej konfiguracji. Dla ramek o 512 B danych efektywność wynosi 512 / 538 = 95,2 procent.
Kluczowe liczby Najczęściej potrzebne liczbyRamka 64 B64 BRamka 1518 B1518 BRamka VLAN 1522 B1522 BNarzut ramki 26 B26 BMTU 1500 B1500 BMSS TCP 1460 B1460 BMSS IPv6 1440 B1440 BUDP 1472 B1472 BIFG 12 B12 BGRE +24 B24 BVXLAN +50 B50 BMACsec +32 B32 B46 B -> 63,9 %1500 B -> 98,3 %licznik 32-bit: zawijanieco 34,4 s przy 1 Gbit/s
Slajd 37/40
Powtórzenie: kluczowe identyfikatory OID
Cel slajdu: Zebranie identyfikatorów OID najczęściej używanych w monitorowaniu przepustowości, wraz z typami danych i objaśnieniem struktury drzewa MIB.

Kluczowe identyfikatory OID

NazwaOIDTyp i znaczenie
ifInOctets1.3.6.1.2.1.2.2.1.10Counter32, bajty wejściowe
ifOutOctets1.3.6.1.2.1.2.2.1.16Counter32, bajty wyjściowe
ifHCInOctets1.3.6.1.2.1.31.1.1.1.6Counter64, bajty wejściowe
ifHCOutOctets1.3.6.1.2.1.31.1.1.1.10Counter64, bajty wyjściowe
ifHighSpeed1.3.6.1.2.1.31.1.1.1.15Gauge32, prędkość w Mbit/s
ifSpeed1.3.6.1.2.1.2.2.1.5Gauge32, prędkość w bit/s
ifInErrors, ifInDiscards1.3.6.1.2.1.2.2.1.14 i .13błąd odbioru, odrzucenie
ifOutDiscards, ifOutErrors1.3.6.1.2.1.2.2.1.19 i .20odrzucono przed wysłaniem, błąd wysyłania
dot3StatsFCSErrors1.3.6.1.2.1.10.7.2.1.3błąd sumy kontrolnej CRC
Ostatnia część OID to indeks interfejsu (ifIndex). Na przykład 1.3.6.1.2.1.2.2.1.10.1 oznacza licznik bajtów odebranych na interfejsie o indeksie 1. Indeksy mogą się zmieniać po restarcie, dlatego systemy monitorowania rozwiązują je po nazwach (ifName, OID 1.3.6.1.2.1.31.1.1.1.1), a nie po numerach.
Struktura OID Grupy OID w drzewie MIB1.3.6.1.2.1.2.2.1 - MIB-2, grupa interfejsów (RFC 1213).8 operstatus .10 inoctets .14 inerrors .16 outoctets.13 indiscards .5 ifSpeed .19 outdiscards .20 outerrors1.3.6.1.2.1.31.1.1.1 - rozszerzenia MIB (RFC 2863).1 ifname .6 hcin .10 hcout .15 highspeed .19 discontinuityliczniki 64-bitowe - jedyne poprawne dla szybkich łączy1.3.6.1.2.1.10.7.2.1 - statystyki Ethernet dot3.14 symbolerrors .2 alignerrors .3 fcsevents .4 singlecollbłęd CRC (dot3StatsFCSErrors, .3) ma wartość graniczną 01.3.6.1.2.1.1.3.0 - sysUpTime (TimeTicks)czas pracy od restartu w setnych sekundy - podstawa obliczaniaprzepustowości; malejąca wartość oznacza restart urządzeniaOstatnia część OID to ifIndex - rozwiązuj go przez ifName
Slajd 38/40
Powtórzenie: polecenia diagnostyczne
Cel slajdu: Zestawienie poleceń do pomiaru przepustowości, obserwacji ruchu i diagnostyki w systemie Linux, SNMP oraz RouterOS, wraz z zalecaną kolejnością testów.

Linux: pomiar i obserwacja

iperf3 -c 192.168.1.10 -t 30 test TCP przez 30 sekund
iperf3 -c 192.168.1.10 -t 30 -P 4 cztery równoległe strumienie
iperf3 -c 192.168.1.10 -t 30 -R test w kierunku odwrotnym
ip -s link show eth0 statystyki interfejsu (błędy, odrzucenia)
tc -s qdisc show dev eth0 kolejki i liczba pakietów odrzuconych
ping -M do -s 1472 10.0.0.10 test MTU ścieżki (1472 + 20 + 8 = 1500)

SNMP i RouterOS

snmpget -v2c -c public 10.0.0.1 1.3.6.1.2.1.31.1.1.1.6.1 bajty wejściowe
snmpget -v2c -c public 10.0.0.1 1.3.6.1.2.1.31.1.1.1.15.1 prędkość w Mbit/s
/interface ethernet monitor ether1 once przyrostowe statystyki portu
/tool bandwidth-test address=10.0.0.10 klient testu przepustowości
Kolejność testów: zacznij od ip -s link (błędy i odrzucenia), potem iperf3 (pomiar), potem ping -M do (MTU), a na końcu tc -s qdisc (kolejki).
Zestaw poleceń diagnostycznych iperf3iperf3 -c 10.0.0.10 -t 30iperf3 -c 10.0.0.10 -u -b 950Miperf3 -c 10.0.0.10 -t 30 -P 4iperf3 -c 10.0.0.10 -t 30 -RLinux - obserwacjaip -s link show eth0nload eth0tc -s qdisc show dev eth0ping -M do -s 1472 10.0.0.10SNMPsnmpget -v2c -c public 10.0.0.1 1.3.6.1.2.1.31.1.1.1.6.1snmpwalk -v2c -c public 10.0.0.1 1.3.6.1.2.1.31.1.1.1snmpbulkget -v2c -c public -Cn 0 -Cr 100 10.0.0.1 1.3.6.1.2.1.31.1.1.1.6RouterOS/interface ethernet monitor ether1 once/tool bandwidth-test address=10.0.0.10/tool traffic-generator inject .../ip flow-cache print statsKolejność testów: 1. ip -s link (błędy) 2. iperf3 (przepustowość) 3. ping -M do (MTU)Najpierw liczniki błędów, potem pomiar, na końcu test MTU - kolejność od najtańszego do najbardziej inwazyjnego
Slajd 39/40
Częste błędy w interpretacji wyników
Cel slajdu: Zestawienie najczęstszych błędów pomiarowych i metodologicznych, wskazanie ich wspólnej przyczyny oraz przedstawienie standardu poprawnego raportowania pomiaru.

Częste błędy w interpretacji wyników

  1. Mylenie 1000 Mbit/s z 1000 MB/s - 1000 Mbit/s to 125 MB/s, czyli około 119 MiB/s.
  2. Porównywanie prędkości łącza z prędkością zapisu na dysk - wartości w MB/s i w Mbit/s to różne wielkości.
  3. Ujmowanie narzutu wielokrotnie - liczniki bajtów zawierają już nagłówki i FCS, więc narzut 26 B jest w nich uwzględniony.
  4. Przepustowość bliska 100 procent oznacza dobre łącze - 95 procent z rosnącym licznikiem odrzuceń to stan alarmowy.
  5. Pomiar bez podania protokołu - wynik TCP i UDP różni się o kilka procent.
  6. Porównywanie pomiarów z różnych warstw - licznik interfejsu, pomiar aplikacyjny i prędkość zapisu pliku to trzy różne wielkości.
  7. Brak danych oznacza brak ruchu - bez sFlow ani NetFlow system pokaże tylko wykorzystanie portu.
  8. MTU 1496 B „na zapas” dla VLAN - znacznik VLAN nie jest częścią datagramu IP; MTU powinno pozostać 1500 B.
  9. Test MTU bez flagi „nie fragmentuj” - ping -s 1472 bez -M do może zostać rozdzielone przez router.
  10. Odczyt licznika 32-bitowego na szybkim łączu - przy 1 Gbit/s licznik zawija się co 34 sekundy.
Mylenie jednostek i warstw Wspólny błąd: mylenie jednostek i warstw1000 Mbit/sprzepustowość125 MB/sprędkość zapisu119,2 MiB/sw jednostkach systemuto są trzyróżne wielkościPorównanie jest błędemdopiero wszystkie trzy są poprawnerazem opisują tę samą ścieżkę danychPoprawny raportpunkty startowy i końcowyprotokół, czas, liczba powtórzeńwarunki ruchu równoległegojednostka i warstwa pomiaruNajczęstszy błąd: 1000 Mbit/s = 1000 MB/sróżnica jest ośmiokrotna, nie siedmioprocentowaMTU 1500 B pozostaje 1500 B także w obecności VLAN
Slajd 40/40
Zamknięcie prezentacji
Cel slajdu: Podsumowanie najważniejszych ustaleń z każdej części prezentacji wraz z końcowym zaleceniem dotyczącym konieczności wykonania pomiaru przed rozbudową sieci.

Podsumowanie całej prezentacji

CzęśćUstalenia
I: metrykiprzepustowość teoretyczna jest wartością standardu, a nie pomiarem; przepustowość użyteczna (goodput) jest tym, co faktycznie trafiło do aplikacji; relacja: goodput ≤ throughput ≤ bandwidth
II: enkapsulacjaramka Ethernet ma od 64 do 1518 B, narzut wynosi 26 B; z odstępem między ramkami efektywność dla maksymalnego rozmiaru wynosi 97,5 procent
III: czynnikiMTU to 1500 B, MSS dla IPv4 i TCP to 1460 B; tunele dodają narzut: GRE 24 B, VXLAN 50 B, MACsec 32 B; duże bufory zwiększają opóźnienie, a nie przepustowość
IV: pomiary1000 Mbit/s → 975 Mbit/s → pomiar iperf3 941 Mbit/s; 1 Gbit/s to 125 MB/s, czyli około 119 MiB/s
V: monitorowanieliczniki 64-bitowe są konieczne dla szybkich łączy; licznik błędów CRC ma wartość graniczną równą zero; sFlow dla szybkiej reakcji, IPFIX dla szczegółowej księgowości
Ostatnie zalecenie: zanim podejmiesz decyzję o rozbudowie sieci, wykonaj pomiar. Różnica między „łącze jest wolne” a rzeczywistym wąskim gardłem ujawnia się zwykle w ciągu kilku minut pracy z narzędziami, których użycie opisano w tej prezentacji.
Podsumowanie części prezentacji Podsumowanie pięciu części prezentacjiITrzy metrykigoodput ≤ throughput ≤ bandwidthIIEnkapsulacjanarzut 26 B, MTU 1500 B, MSS 1460 BIIICzynnikikolejki, potwierdzenia, bufor, mediumIVPomiary1000 → 975 → 941 Mbit/s; 119,2 MiB/sVMonitorowaniein-band / out-of-band, SNMP, sFlowZmierz najpierw - rozbudowa bez pomiaru to zgadywanienajlepsza inwestycja w zdiagnozowanym problemie to pomiar