Przełączanie i Routing w Sieciach IP
Wykład 2: VLAN, adresacja IP

Pola identyfikacyjne w tagu 802.1Q

1/35

W standardzie 802.1Q kluczową rolę w procesie znakowania ramek odgrywają dwa pola: TPID oraz VID. Pole TPID (Tag Protocol Identifier) to dwubajtowy znacznik o stałej wartości 0x8100. Informuje on urządzenia sieciowe, że dana ramka Ethernet posiada dodatkowy nagłówek i powinna być interpretowana zgodnie z regułami sieci wirtualnych.

Pole VID (VLAN Identifier) to 12-bitowa wartość, która precyzyjnie wskazuje, do której konkretnie sieci wirtualnej (VLAN) przypisana jest ramka. Pozwala to na rozróżnienie aż 4094 unikalnych identyfikatorów. Prawidłowa interpretacja tych pól przez przełączniki jest niezbędna do poprawnego działania mechanizmu trunkingu, czyli przesyłania ruchu z wielu odizolowanych sieci przez jeden wspólny kabel.

Pole TPID i VID w tagu 802.1Q

Bezpieczeństwo i rola Native VLAN

2/35

Native VLAN (natywny VLAN) to specjalna sieć skonfigurowana na porcie typu trunk. Cechą charakterystyczną jest to, że ramki należące do tego konkretnego VLANu nie są znakowane dodatkowym tagiem 802.1Q podczas przesyłania przez łącze. Pozwala to na komunikację z urządzeniami, które „nie rozumieją" tagowania, takimi jak stare koncentratory czy proste przełączniki domowe.

Dla poprawnego działania łącza trunk oba urządzenia muszą mieć ustawiony ten sam identyfikator Native VLAN. Ze względów bezpieczeństwa krytyczne jest, aby zmienić domyślną wartość (VLAN 1) na dowolną inną, nieużywaną cyfrę. Zapobiega to specyficznym atakom, takim jak VLAN Hopping, i jest uznawane za jedną z podstawowych dobrych praktyk przy zabezpieczaniu infrastruktury sieciowej.

Koncepcja Native VLAN

Komunikacja między sieciami VLAN

3/35

Urządzenia przypisane do różnych sieci VLAN są od siebie całkowicie odizolowane na poziomie fizycznym i logicznym warstwy 2. Oznacza to, że komputer w dziale Księgowości nie może „zobaczyć" komputera z działu Produkcji bez pośrednictwa dodatkowego urządzenia. Każdy VLAN tworzy własną, zamkniętą domenę rozgłoszeniową (broadcast).

Aby umożliwić wymianę danych między takimi segmentami, niezbędne jest zastosowanie routingu międzysieciowego (Inter-VLAN Routing). Proces ten realizuje router lub przełącznik warstwy 3, który posiada interfejsy w obu sieciach. Router odbiera ruch z jednego segmentu, analizuje adres IP odbiorcy i przesyła go do właściwego, docelowego VLANu, zachowując przy tym pełną kontrolę i bezpieczeństwo przepływu danych.

Przekazywanie ruchu między VLANami

Przełączniki wielowarstwowe (L3 Switch)

4/35

Przełącznik warstwy 3 (Multilayer Switch) to zaawansowane urządzenie, które łączy szybkość przełącznika z inteligencją routera. Podczas gdy tradycyjne routery podejmują decyzje programowo, przełączniki L3 wykorzystują do tego wyspecjalizowane układy scalone ASIC, co pozwala na przesyłanie pakietów między sieciami z prędkością „kabla" (wire speed).

Urządzenia te są sercem nowoczesnych sieci lokalnych (LAN), ponieważ potrafią błyskawicznie routować ruch między dziesiątkami VLANów bez tworzenia wąskich gardeł. Pozwalają na definiowanie interfejsów wirtualnych SVI (Switch Virtual Interface), które służą jako bramy domyślne dla komputerów w sieci lokalnej, znacząco upraszczając architekturę i przyspieszając komunikację wewnętrzną.

Przełączanie warstwy 3 (L3 Switch)

Protokół DTP: Automatyka czy zagrożenie?

5/35

Dynamic Trunking Protocol (DTP) to własnościowe rozwiązanie firmy Cisco, które służy do automatycznej negocjacji trybu pracy portów między dwoma przełącznikami. Dzięki niemu urządzenia mogą same „dogadać się", czy dany kabel ma pracować jako zwykłe połączenie do komputera (access), czy jako magistrala (trunk) przenosząca wiele VLANów.

DTP oferuje tryby takie jak 'dynamic auto' (oczekiwanie na propozycję) oraz 'dynamic desirable' (aktywne poszukiwanie połączenia trunk). Choć brzmi to wygodnie, w profesjonalnych sieciach DTP jest zazwyczaj wyłączane. Powodem jest bezpieczeństwo — haker może podłączyć swój laptop i udając przełącznik, wymusić utworzenie łącza trunk, co dałoby mu dostęp do podsłuchiwania ruchu ze wszystkich sieci wirtualnych w firmie.

DTP (Dynamic Trunking Protocol)

Dobre praktyki konfiguracji portów

6/35

Podczas wdrażania sieci VLAN należy kierować się zasadą ograniczonego zaufania i jawnej konfiguracji. Nigdy nie polegaj na ustawieniach domyślnych — każdy port na przełączniku powinien być ręcznie ustawiony na konkretny tryb pracy: albo 'access' dla urządzeń końcowych, albo 'trunk' dla połączeń między przełącznikami.

Dla każdego portu typu trunk warto zdefiniować listę dozwolonych VLANów (allowed VLANs), aby niepotrzebnie nie przesyłać danych tam, gdzie nie są potrzebne. Złotą zasadą administratora jest również całkowite wyłączanie nieużywanych gniazdek sieciowych i przypisywanie ich do tzw. „martwego VLANu" (np. VLAN 999), aby nikt niepowołany nie mógł uzyskać dostępu do sieci po prostym wpięciu kabla.

Wskazówki konfiguracji: Porty Access vs. Trunk

Rozwiązywanie problemów w warstwie 2

7/35

Awarie w warstwie 2 objawiają się zazwyczaj brakiem możliwości uzyskania adresu IP (przez DHCP) lub brakiem odpowiedzi na polecenie ping przy poprawnym adresowaniu. Pierwszym krokiem diagnostycznym powinna być weryfikacja fizycznego stanu portu oraz sprawdzenie tablicy adresów MAC (CAM) — jeśli przełącznik nie widzi adresu MAC komputera, problem leży najpewniej w kablu lub karcie sieciowej.

Częstym błędem jest tzw. „duplex mismatch", czyli niezgodność trybu przesyłu danych, co skutkuje ogromną liczbą kolizji i drastycznym spadkiem prędkości. Należy również zawsze upewnić się, że obie strony łącza trunk mają ten sam identyfikator Native VLAN oraz że podsieci IP nie są przypadkowo rozdzielone błędnie skonfigurowanym segmentem VLAN.

Rozwiązywanie problemów L2

Analiza przypadku: Segmentacja sieci biurowej

8/35

Rozważmy projekt sieci dla firmy z trzema działami: Sprzedażą, Technicznym oraz Finansami. Głównym wymaganiem jest, aby pracownicy różnych działów nie mogli nawzajem przeglądać swoich zasobów sieciowych bez wyraźnej potrzeby biznesowej. W tym celu projektujemy trzy oddzielne sieci wirtualne: VLAN 10 (Sprzedaż), VLAN 20 (Technicy) i VLAN 30 (Finanse).

Poprzez przypisanie fizycznych gniazdek w ścianach do odpowiednich VLANów na przełączniku, tworzymy logiczne bariery nie do przebycia dla zwykłego ruchu sieciowego. Jeśli pracownik Finansów musi wysłać raport do działu Technicznego, jego dane trafią najpierw do routera (lub przełącznika L3), który sprawdzi uprawnienia i dopiero wtedy przekaże pakiet do właściwego odbiorcy, zapewniając pełną audytowalność i ochronę danych.

Case Study: Projektowanie prostej sieci VLAN

Podsumowanie: Fundamenty warstwy 2

9/35

W pierwszej części wykładu poznaliśmy mechanizmy, które sprawiają, że sieć Ethernet działa sprawnie i jest zarządzalna. Dowiedzieliśmy się, że adres MAC jest niezmiennym dowodem tożsamości urządzenia, a ramki danych są przesyłane inteligentnie przez przełączniki dzięki tablicy CAM.

Zrozumieliśmy, jak wirtualne sieci lokalne (VLAN) pozwalają nam dowolnie dzielić fizyczną infrastrukturę na logiczne segmenty bez konieczności kupowania dodatkowych urządzeń. Nauczyliśmy się także, jak łączyć przełączniki za pomocą magistral typu trunk, używając do tego standardu 802.1Q. Cała ta wiedza stanowi niezbędny fundament do zrozumienia, jak dane wędrują wyżej — do warstwy trzeciej, czyli świata protokołu IP.

Podsumowanie części A

Zadania warstwy sieciowej (L3)

10/35

Warstwa sieciowa, czyli trzecia warstwa modelu OSI, jest odpowiedzialna za to, aby dane mogły wydostać się poza lokalne gniazdko w ścianie i dotrzeć do dowolnego komputera na świecie. Jej dwa główne zadania to adresowanie logiczne oraz wyznaczanie tras (routing).

Podczas gdy warstwa druga zna się tylko na „sąsiadach" w tym samym kablu, warstwa trzecia widzi całą mapę połączeń globalnych. To tutaj pracują adresy IP, które w przeciwieństwie do adresów MAC, określają nie „kto" przesyła dane, ale „gdzie" się znajduje. Głównym aktorem tej warstwy jest router, który jak doświadczony spedycyjny logistyk, wybiera najkrótszą i najpewniejszą drogę dla każdego pakietu informacji.

Rola warstwy sieci (L3)

Protokół IPv4: Podstawa komunikacji

11/35

Protokół IPv4 (Internet Protocol version 4) to uniwersalny język, w którym porozumiewają się komputery w Internecie. Choć ma już swoje lata, wciąż pozostaje fundamentem większości usług sieciowych. Opiera się na 32-bitowej adresacji, co daje teoretycznie ponad 4 miliardy unikalnych adresów.

IPv4 działa w modelu „bezpołączeniowym", co oznacza, że wysyła dane bez sprawdzania, czy odbiorca jest gotowy — o to dbają protokoły wyższych warstw (jak TCP). Oferuje on tzw. „best-effort delivery" — routery zrobią wszystko, co w ich mocy, aby dostarczyć pakiet, ale jeśli sieć będzie przeciążona, mogą go bez ostrzeżenia odrzucić. To na inżynierach spoczywa obowiązek takiego zaprojektowania sieci, aby te straty były minimalne.

Protokół IPv4: Struktura i znaczenie

Adresy publiczne a sieć prywatna

12/35

W świecie IPv4 adresy dzielimy na dwie główne grupy. Adresy publiczne są unikalne na skalę światową — każdy serwer w Internecie musi mieć taki adres, aby był widoczny z zewnątrz. Ich pula jest ograniczona i kosztowna, dlatego są one przydzielane przez centralne organizacje (jak IANA).

Z drugiej strony mamy adresy prywatne (z zakresów takich jak 192.168.x.x czy 10.x.x.x), które możemy dowolnie stosować wewnątrz naszych domów i biur. Ponieważ te adresy „nie wychodzą" do Internetu, te same numery mogą być używane w milionach różnych firm jednocześnie. Komunikację między tymi światami zapewnia technologia NAT (Network Address Translation), która ukrywa całą naszą sieć lokalną pod jednym wspólnym adresem publicznym.

Adresowanie IPv4: Adresy publiczne vs. prywatne

Od bitów do kropek: Notacja dziesiętna

13/35

Komputer operuje wyłącznie na zerach i jedynkach, więc dla niego adres IP to ciąg 32 bitów (np. 11000000 10101000...). Dla człowieka taki zapis jest niemożliwy do zapamiętania, dlatego stosujemy wygodną notację dziesiętną z kropkami (dotted-decimal notation).

Cały 32-bitowy adres dzielimy na cztery równe części po 8 bitów każda, zwane oktetami. Każdy oktet zamieniamy na liczbę dziesiętną z zakresu od 0 do 255. Przykładowo, adres który komputer widzi jako 11000000..., my zapisujemy jako swojskie 192.168.1.1. Zrozumienie, że pod każdą liczbą w adresie kryje się dokładnie 8 elektronicznych „pstryczków" (bitów), jest kluczem do nauki dzielenia sieci na podsieci.

Format adresu IPv4 i notacja dziesiętna

Logika binarnego świata

14/35

Praca sieciowca wymaga sprawnej zamiany liczb z systemu dziesiętnego na binarny i odwrotnie. Każda z ośmiu pozycji w oktecie ma swoją stałą wartość (wagę), będącą kolejną potęgą liczby 2: od 128 na początku do 1 na końcu. Jeśli na danej pozycji jest jedynka — dodajemy jej wagę do sumy; jeśli zero — pomijamy.

Przykładowo, oktet o wartości binarnej 11000000 to po prostu suma 128 + 64, czyli 192 w zapisie dziesiętnym. Choć na początku może to wydawać się żmudne, po pewnym czasie te najważniejsze kombinacje (jak 128, 192, 224 czy 240) wpadają w pamięć i pozwalają błyskawicznie orientować się w strukturze adresów i masek sieciowych.

Podstawy binarne: Konwersja

Maska podsieci: Klucz do mapy IP

15/35

Sam adres IP nie mówi nam wszystkiego — dopiero w połączeniu z maską podsieci staje się kompletną informacją. Maska to również 32-bitowa liczba, która służy do „przecięcia" adresu na dwie części: identyfikator sieci (jak ulica) oraz identyfikator hosta (jak numer domu).

Zasada jest prosta: tam, gdzie w masce są jedynki, odczytujemy nazwę sieci. Tam, gdzie pojawiają się zera, zaczyna się miejsce na numerację konkretnych urządzeń. Dzięki masce router wie, czy komputer docelowy znajduje się w tym samym pokoju (podsieci), czy też musi wysłać pakiet w daleką podróż do innej bramy domyślnej.

Maska podsieci: Cel i działanie

Tożsamość sieci i hosta

16/35

Gdy router otrzymuje pakiet, przeprowadza logiczną operację AND na adresie docelowym i masce. Wynik tej operacji to tzw. Network ID, czyli ścisły adres sieci (zawsze kończący się zerami w części hosta). Jest to nazwa całej grupy urządzeń, pod którą są one znane w wielkim świecie routingu.

Część adresu pozostała po oddzieleniu sieci (Host ID) służy do odróżnienia od siebie laptopów, drukarek i telefonów wewnątrz firmy. Im krótsza maska (mniej jedynek), tym więcej bitów zostaje na hosty i tym większa może być nasza sieć lokalna. Na przykład typowa domowa maska /24 (255.255.255.0) zostawia nam 8 bitów, co pozwala podłączyć do 254 urządzeń.

Identyfikacja sieci i hosta

Adres rozgłoszeniowy (Broadcast)

17/35

Każda ulica (sieć) potrzebuje sposobu, aby ogłosić coś wszystkim mieszkańcom naraz. Służy do tego adres rozgłoszeniowy, który jest zawsze ostatnim możliwym numerem w danej podsieci. Uzyskujemy go, ustawiając wszystkie bity części hosta na jedynki.

Jeśli komputer wyśle pakiet na ten specjalny adres, każde urządzenie w tej podsieci musi go odebrać i przeanalizować. Jest to niezbędne do działania wielu podstawowych usług, takich jak automatyczne pobieranie adresu IP (DHCP) czy znajdowanie sąsiadów przez ARP. Nadmierna liczba takich komunikatów (tzw. „broadcast storm") może jednak zapchać sieć, dlatego jednym z zadań inżyniera jest dzielenie dużych sieci na mniejsze segmenty broadcastowe.

Adres rozgłoszeniowy (Broadcast)

Historia: System klasowy

18/35

W zamierzchłych czasach początków Internetu adresy przydzielano w sztywnych paczkach zwanych klasami (A, B i C). Klasa A była przeznaczona dla gigantycznych korporacji i rządów — jeden taki przydział dawał aż 16 milionów adresów. Klasa C, najskromniejsza, oferowała tylko 254 adresy, co często okazywało się niewystarczające nawet dla małej uczelni.

O przydziale decydowały pierwsze bity adresu. Ten system był bardzo prosty dla wczesnych routerów, ale niesamowicie marnotrawny. Firma potrzebująca 300 adresów nie mieściła się w klasie C i musiała brać całą klasę B (65 tysięcy numerów), z czego większość leżała odłogiem. To marnotrawstwo zmusiło twórców sieci do wymyślenia bardziej elastycznego podejścia.

Klasy adresowania IP: Historyczny podział

Koniec ery klas: Dlaczego z nich zrezygnowano?

19/35

Sztywne ramy systemu klasowego doprowadziły do paradoksalnej sytuacji: z jednej strony ogromna rzesza instytucji nie miała swoich adresów, a z drugiej — miliony numerów należały do organizacji, które nigdy ich nie wykorzystały. Przepaść między 254 (klasa C) a 65 534 (klasa B) adresami była zbyt duża dla dynamicznie rozwijającego się rynku IT.

Ponadto, tablice routingu w głównych węzłach Internetu zaczęły pękać w szwach, bo każda klasowa sieć musiała być w nich wymieniona osobno. Konieczna była zmiana fundamentów, która pozwoliłaby szyć sieci „na miarę" potrzeb użytkownika, niezależnie od tego, jakimi cyframi zaczyna się jego adres IP.

Ograniczenia adresowania klasowego

CIDR: Nowoczesna elastyczność

20/35

Rozwiązaniem problemów klasowości stał się CIDR (Classless Inter-Domain Routing). To podejście porzuciło narzucone z góry maski na rzecz prefiksów — teraz administrator może uciąć sieć w dowolnym bicie. Zamiast pisać długie 255.255.255.0, używamy krótkiego zapisu z ukośnikiem, np. /24.

CIDR pozwolił na tzw. sumaryzację tras. Jeśli jeden dostawca internetowy posiada 100 małych podsieci, w globalnym Internecie może ogłosić je jako jedną, gigantyczną trasę zbiorczą. Dzięki temu routery na świecie nie muszą znać każdego domowego routera z osobna, co uratowało globalną sieć przed paraliżem i pozwoliło na dalszy wzrost Internetu.

CIDR (Classless Inter-Domain Routing)

Subnetting: Sztuka dzielenia sieci

21/35

Subnetting to proces „krojenia" jednej dużej puli adresów na kilka mniejszych, niezależnych podsieci. Polega on na zabieraniu bitów z części hosta (tej na numery domów) i przekazywaniu ich do części sieciowej (nazwy ulic). W ten sposób z jednej „dzielnicy" tworzymy kilka mniejszych, odgrodzonych od siebie segmentów.

Dla inżyniera to najważniejsze narzędzie optymalizacji. Mniejsze podsieci oznaczają mniej zbędnego ruchu rozgłoszeniowego i łatwiejsze stosowanie polityk bezpieczeństwa (np. oddzielenie sieci gości od serwerów firmowych). To podstawa logicznego porządkowania struktury firmy.

Subnetting: Idea i korzyści

Jak prawidłowo podzielić sieć?

22/35

Aby skutecznie przeprowadzić podział, należy postępować według sprawdzonego algorytmu. Najpierw liczymy, ilu hostów potrzebujemy w największym segmencie. Musimy do tej liczby zawsze dodać 2 (na adres sieci i broadcast) oraz często zapas na przyszłość. Szukamy najbliższej, większej potęgi liczby 2, która pokryje to zapotrzebowanie.

Gdy już wiemy, ile bitów zostawić dla hostów (np. 5 bitów dla 30 urządzeń), reszta z 32 bitów staje się naszą nową maską. Ostatni krok to skrupulatne wypisanie adresów startowych i końcowych każdej nowej podsieci, dbając o to, aby na siebie nie nachodziły — w przeciwnym razie routery „pogubią się" w trasowaniu.

Algorytm Subnettingu krok po kroku

Przykład praktyczny: 30 komputerów

23/35

Zadanie: Podziel sieć 192.168.1.0/24 na segmenty po 30 hostów. Aby pomieścić 30 hostów + 2 adresy specjalne, potrzebujemy 32 adresów. 32 to 2 do potęgi 5, zatem musimy zarezerwować 5 bitów na hosty. Pozostałe 27 bitów (32-5) stanowi naszą nową maskę: /27 (czyli 255.255.255.224).

Nasza oryginalna sieć /24 „pożyczyła" 3 bity (z 24 do 27). 2 do potęgi 3 daje 8, co oznacza, że z jednej dużej sieci stworzyliśmy 8 małych podsieci. Pierwsza zaczyna się od .0, druga od .32, trzecia od .64 i tak dalej, co każde 32 numery. Każda z nich jest teraz suwerennym królestwem sieciowym.

Ćwiczenie: Obliczanie liczby hostów i podsieci

VLSM: Szycie na miarę

24/35

Tradycyjny subnetting dzielił tort na równe kawałki. To wciąż marnotrawny system, jeśli jeden dział ma 100 osób, a inny tylko 5. Rozwiązaniem jest VLSM (Variable Length Subnet Masking), który pozwala na stosowanie różnych masek wewnątrz jednego projektu. To tak, jakbyśmy jeden z kawałków tortu pokroili jeszcze raz na mniejsze okruszki.

Dzięki VLSM możemy precyzyjnie przydzielić sieć /25 (126 hostów) dla dużego biura i sieć /30 (tylko 2 hosty) dla kabla łączącego dwa routery. To najwyższy stopień wtajemniczenia w zarządzaniu adresami, pozwalający na niemal 100% wykorzystanie dostępnej puli numerów IP.

VLSM (Variable Length Subnet Masking)

Strategia projektowania VLSM

25/35

Przy projektowaniu VLSM obowiązuje jedna żelazna zasada: zawsze zaczynaj od największego wymagania. Gdybyśmy zaczęli od małych sieci, poszatkowalibyśmy przestrzeń adresową tak bardzo, że nie starczyłoby ciągłego miejsca na duży blok dla licznego działu. To tak zwana walka z fragmentacją.

Przykład kolejności: najpierw sieć dla 100 hostów (/25), potem dla 50 hostów (/26), następnie dla 20 hostów (/27) i na samym końcu malutkie sieci „serwisowe" dla routerów (/30). Taki porządek gwarantuje, że nasze adresy będą ułożone gęsto i logicznie, a tablica routingu pozostanie przejrzysta.

Ćwiczenie: Tworzenie schematu VLSM

Supernetting: Łączenie w grupy

26/35

Gdy nasza sieć rośnie i mamy dziesiątki podsieci, ich lista staje się trudna do ogarnięcia przez routery. Supernetting (sumaryzacja) to proces odwrotny do dzielenia — bierzemy kilka sąsiadujących podsieci i ogłaszamy je światu jako jedną, dużą „super-sieć".

Zamiast mówić: „U mnie są sieci 10.1.0.0, 10.1.1.0, 10.1.2.0 i 10.1.3.0", router mówi: „Wyślij do mnie wszystko, co zaczyna się od 10.1.0.0/22". Zmniejsza to obciążenie procesorów w węzłach sieciowych i sprawia, że drobne awarie w jednym zakątku firmy nie powodują nerwowych zmian w tablicach routingu na drugim końcu świata.

Supernetting (Sumaryzacja tras)

Anatomia pakietu IP

27/35

Gdy dane opuszczają Twoją przeglądarkę, zostają zapakowane w „kopertę" zwaną datagramem IP. Standardowy nagłówek ma 20 bajtów i zawiera informację o wersji systemu (IPv4) oraz typie usługi (ToS), który decyduje, czy dany pakiet ma priorytet (np. podczas rozmowy przez Skype).

Wewnątrz koperty znajdziemy też numer identyfikacyjny potrzebny przy fragmentacji, gdy dane są zbyt duże na jeden raz. Najważniejszymi elementami są jednak adres IP nadawcy oraz odbiorcy — to one pozwalają poczcie internetowej (routerom) wiedzieć, skąd pakiet pochodzi i dokąd zmierza, bez zaglądania do treści Twojej wiadomości.

Datagram IP: Struktura nagłówka

Mechanizm TTL: Zapobieganie pętlom

28/35

Pole Time-To-Live (TTL) to swoisty „licznik zgonu" dla pakietu. Zapobiega on sytuacji, w której błąd w konfiguracji routerów sprawiłby, że pakiet krążyłby w kółko w nieskończoność, zapychając sieć. Każdy router, przez który przechodzi dane, odejmuje od TTL cyfrę 1.

Jeśli TTL spadnie do zera, router bezlitośnie niszczy pakiet. To właśnie dzięki temu mechanizmowi działa polecenie traceroute — wysyła ono pakiety z coraz większym TTL, zmuszając kolejne routery na trasie do odsyłania błędów, co pozwala nam narysować dokładną mapę ścieżki do celu.

Pole TTL (Time-To-Live)

Fragmentacja: Gdy pakiet jest za duży

29/35

Różne technologie sieciowe mają różną „pojemność wagonika", czyli parametr MTU (Maximum Transmission Unit). Typowo dla Ethernetu jest to 1500 bajtów. Jeśli router musi przesłać większy pakiet do sieci o mniejszym MTU, musi go „pofragmentować" na mniejsze kawałki.

Dzięki polom Flag oraz Fragment Offset odbiorca wie, jak z powrotem skleić te fragmenty w całość. Co ciekawe, administrator może ustawić flagę „Don't Fragment" — wtedy router, zamiast dzielić pakiet, po prostu go odrzuci. Jest to przydatne do testowania przepustowości i optymalizowania pracy aplikacji działających w czasie rzeczywistym.

Pola Flag i Fragment Offset

Identyfikator protokołu wyższej warstwy

30/35

Pakiet IP jest tylko opakowaniem dla innych protokołów. Pole Protocol w nagłówku to specjalny numer, który mówi komputerowi, komu ma oddać wyjęte z koperty dane po ich otrzymaniu. To krytyczny element procesu demultipleksacji.

Najczęściej spotykane numery to 6 (dla TCP — czyli protokołu stron WWW i poczty) oraz 17 (dla UDP — gier i rozmów wideo). Znajdziemy tam również numer 1 dla ICMP, który służy do przesyłania komunikatów technicznych i błędów (jak słynny ping). Bez tego pola system nie wiedziałby, czy otrzymane dane to fragment zdjęcia, czy może polecenie sterujące siecią.

Pole Protocol

Niezmienne adresy źródła i celu

31/35

Najważniejsze 64 bity w nagłówku IP to adresy: skąd (źródło) i dokąd (cel). W przeciwieństwie do adresów MAC, które zmieniają się u każdego napotkanego po drodze routera, adresy IP pozostają stałe przez całą podróż od Twojego telefonu do serwera np. Google.

To właśnie ta stałość adresu docelowego pozwala routerom na całym świecie podejmować spójne decyzje. Router nie musi wiedzieć, kim jesteś, ale musi dokładnie wiedzieć, dokąd chcesz wysłać wiadomość. Adres źródłowy jest z kolei niezbędny odbiorcy, aby wiedział, na jaki numer IP ma wysłać odpowiedź z danymi.

Adresy IP źródłowy i docelowy

Przekazywanie pakietów przez router

32/35

Prawdziwa „magia" dzieje się na routerach. Gdy urządzenie to odbiera pakiet, musi błyskawicznie sprawdzić adres docelowy i zdecydować, przez który ze swoich portów go wypuścić. Każdy interfejs routera to osobny świat (domena rozgłoszeniowa), a router jest jedyną bramą, która pozwala się między nimi przemieszczać.

Routery filtrują ruch rozgłoszeniowy (broadcast), nie pozwalając lokalnemu hałasowi z jednej sieci przedostać się do drugiej. Dzięki temu miliony komputerów mogą być połączone ze sobą bez paraliżowania całej sieci zbędnymi komunikatami. Proces ten to właśnie routing — fundament współczesnej globalnej komunikacji.

Rola routera: Przekazywanie pakietów L3

Tablica routingu: Pamięć doświadczonego podróżnika

33/35

Router podejmuje każdą decyzję na podstawie swojej tablicy routingu. Jest to stale aktualizowana baza danych, która zawiera listę wszystkich znanych sieci i instrukcje, jak do nich trafić. Bez niej router byłby zupełnie ślepy i nie wiedziałby, co zrobić z otrzymanymi danymi.

Tablica ta może być uzupełniana przez człowieka (routing statyczny — pewny, ale wymagający pracy) lub przez same routery, które rozmawiają ze sobą przy pomocy protokołów takich jak OSPF (routing dynamiczny). Dobrze utrzymana tablica gwarantuje, że dane zawsze płyną ścieżką o najniższym „koszcie" lub najwyższej wydajności.

Tablica routingu: Elementy i zasada działania

Z czego składa się opis trasy?

34/35

Każdy wpis w tablicy to kompletny przepis na przesyłanie. Składa się z adresu sieci docelowej (cel), adresu „następnego skoku" (Next Hop — czyli adresu kolejnej bramy po drodze) lub nazwy własnego interfejsu wyjściowego. Kluczowym elementem jest również metryka — liczba określająca, jak daleka lub trudna jest ta droga.

Router nanosi na każdy wpis kod źródła, który mówi mu, jak bardzo może ufać danej informacji. Jeśli router dowie się o drodze do serwera z dwóch różnych źródeł, porówna ich parametry i do tablicy głównej wpisze tylko tę jedną, najlepszą ścieżkę, dbając o porządek i brak sprzecznych instrukcji.

Wpisy w tablicy routingu

Precyzja ma pierwszeństwo: Zasada LPM

35/35

Gdy router ma w tablicy kilka pasujących tras (np. ogólną trasę do miasta i dokładną do konkretnej ulicy), zawsze kieruje się zasadą Longest Prefix Match. Wybierze tę trasę, która ma najdłuższą maskę sieciową, czyli jest najbardziej precyzyjna względem adresu docelowego.

Zasada ta jest fundamentem Internetu — pozwala na istnienie ogólnych „autostrad" sieciowych przy jednoczesnym zachowaniu bardzo szczegółowych, lokalnych dróg do konkretnych usług. Dzięki LPM ruch sieciowy jest zawsze kierowany najbardziej specyficzną i najkrótszą możliwą drogą do odbiorcy końcowego.

Zasada najdłuższego dopasowania prefiksu