1/50
Część 4: Warstwa 3 - Routing, Pakiety i Adresy IP

Witam na czwartym wykładzie!

Dotarliśmy do serca komunikacji między sieciami – Warstwy 3 Modelu OSI, czyli Warstwy Sieciowej. Do tej pory budowaliśmy szybkie i wydajne sieci lokalne. Dziś nauczymy się, jak umożliwić im komunikację ze światem zewnętrznym. Centralnym punktem naszego wykładu będzie router – mózg operacji między sieciami. Zgłębimy tajniki adresacji IP, zrozumiemy różnicę między pakietem a ramką i odkryjemy, jak routery podejmują decyzje o najlepszej drodze dla naszych danych. To w tej warstwie zaczyna się prawdziwy "internetworking".
Ilustracja do slajdu 1
2/50
Problem: Ograniczenia sieci lokalnej (LAN)
Dzięki przełącznikom (Warstwa 2) stworzyliśmy wydajne sieci lokalne. Komputery w obrębie jednej sieci (np. w jednym VLANie) mogą się ze sobą komunikować bez problemu. Ale co, jeśli komputer z sieci A chce wysłać dane do komputera w sieci B? Przełącznik jest bezradny. Operuje on na adresach MAC i jego "świat" kończy się na granicach sieci lokalnej (domeny rozgłoszeniowej). Nie ma pojęcia, jak dostarczyć ramkę do innej sieci.

Analogia: Listonosz (przełącznik) doskonale zna wszystkie adresy na swoim osiedlu (LAN). Ale jeśli ma dostarczyć list do innego miasta (inna sieć), musi oddać go do centralnej sortowni (router), która wie, jak go wysłać dalej.
Ilustracja do slajdu 2
3/50
Rola Warstwy 3: Warstwa Sieciowa
Tu do gry wkracza Warstwa Sieciowa (Network Layer). Jej główne zadania to:
  • Adresacja logiczna: Przypisuje urządzeniom unikalne w skali sieci adresy logiczne (np. adresy IP), które są niezależne od adresacji fizycznej (MAC).
  • Routing (trasowanie): Wyznaczanie najlepszej ścieżki dla danych przez połączone ze sobą sieci.
  • Fragmentacja i składanie pakietów: Dzielenie dużych pakietów na mniejsze, jeśli medium pośredniczące tego wymaga, i składanie ich z powrotem w całość u celu.
Jednostką danych w tej warstwie jest pakiet. Urządzenia L3, czyli routery, pracują właśnie na pakietach.
Ilustracja do slajdu 3
4/50
Ramka (Frame) vs Pakiet (Packet)
To fundamentalna różnica. Pakiet (L3) jest jak list w kopercie. Zawiera on ostateczny adres nadawcy i odbiorcy (adresy IP). Ramka (L2) to kontener, do którego wkładamy ten list na czas lokalnej podróży. Adresy na ramce (adresy MAC) zmieniają się na każdym etapie podróży (w każdym "przeskoku" od routera do routera), ale adresy na "liście" w środku (pakiecie IP) pozostają niezmienne od początku do końca. Router po otrzymaniu ramki "wyjmuje" z niej pakiet, patrzy na jego docelowy adres IP, podejmuje decyzję o dalszej trasie, a następnie "wkłada" ten sam pakiet do nowej ramki z nowymi adresami MAC i wysyła dalej.
Ilustracja do slajdu 4
5/50
Urządzenie nr 1: Router
Router to podstawowe urządzenie Warstwy 3. Jego głównym zadaniem jest łączenie co najmniej dwóch różnych sieci (podsieci IP) i inteligentne przesyłanie pakietów między nimi. W przeciwieństwie do przełącznika, który podejmuje decyzje na podstawie adresów MAC, router podejmuje je na podstawie adresów IP. Kluczowe cechy routera:
  • Każdy jego interfejs należy do innej sieci IP.
  • Utrzymuje tablicę routingu (routing table), która jest jego mapą sieci.
  • Domyślnie blokuje i nie przesyła dalej broadcastów z jednej sieci do drugiej. Stanowi granicę domeny rozgłoszeniowej.
  • Podejmuje decyzje o najlepszej ścieżce do celu.
Ilustracja do slajdu 5
6/50
Adresacja IP w wersji 4 (IPv4)
Najpopularniejszym protokołem warstwy 3 jest wciąż IPv4. Adres IPv4 to 32-bitowa liczba, która unikalnie identyfikuje urządzenie w sieci. Dla czytelności zapisujemy ją w postaci czterech 8-bitowych liczb dziesiętnych (oktetów), oddzielonych kropkami. Każdy oktet może przyjąć wartość od 0 do 255.

Przykład: `192.168.10.5`
Binarnie: `11000000.10101000.00001010.00000101`

Analogia: Adres IP to pełny adres pocztowy (Miasto, Ulica, Numer domu), który pozwala zlokalizować odbiorcę w dowolnym miejscu na świecie. Adres MAC to tylko imię i nazwisko na skrzynce pocztowej.
Ilustracja do slajdu 6
7/50
Struktura adresu IP: Część sieciowa i hosta
Każdy adres IP składa się z dwóch części:
  • Część sieciowa (Network ID): Identyfikuje sieć, w której znajduje się urządzenie. Jest wspólna dla wszystkich urządzeń w tej samej sieci.
  • Część hosta (Host ID): Identyfikuje konkretne urządzenie (hosta) w tej sieci. Musi być unikalna w obrębie danej sieci.
Analogia ulicy: Część sieciowa to nazwa ulicy (np. "Kwiatowa"). Część hosta to numer domu (np. "5"). Wszyscy mieszkańcy ulicy Kwiatowej mają tę samą część sieciową w swoim adresie, ale każdy ma inny numer domu.
Ilustracja do slajdu 7
8/50
Maska podsieci (Subnet Mask)
Maska podsieci to 32-bitowa liczba, która służy do określenia, która część adresu IP jest częścią sieciową, a która częścią hosta. Maska ma taką samą strukturę jak adres IP. W zapisie binarnym, wszystkie bity odpowiadające części sieciowej mają wartość 1, a wszystkie bity odpowiadające części hosta mają wartość 0.

Najpopularniejsza maska w małych sieciach to `255.255.255.0`.
Binarnie: `11111111.11111111.11111111.00000000`

Oznacza to, że pierwsze trzy oktety adresu IP to część sieciowa, a ostatni oktet to część hosta.
Ilustracja do slajdu 8
9/50
Wyznaczanie adresu sieci
Komputer lub router, aby dowiedzieć się, w jakiej sieci się znajduje, wykonuje operację logiczną AND na swoim adresie IP i masce podsieci. Wynik tej operacji to adres sieci (Network Address).

Przykład: `Adres IP: 192.168.1.15` `Maska: 255.255.255.0`

Operacja `AND` (bit po bicie) daje w wyniku: `Adres Sieci: 192.168.1.0`

Wszystkie urządzenia, które po tej operacji uzyskają ten sam adres sieci, znajdują się w tej samej podsieci i mogą komunikować się ze sobą bezpośrednio przez przełącznik.
Ilustracja do slajdu 9
10/50
Adres sieci i adres rozgłoszeniowy
W każdej podsieci IP dwa adresy są zarezerwowane i nie mogą być przypisane do urządzeń:
  • Adres sieci (Network Address): To pierwszy adres w puli, z samymi zerami w części hosta (np. `192.168.1.0`). Identyfikuje całą sieć.
  • Adres rozgłoszeniowy (Broadcast Address): To ostatni adres w puli, z samymi jedynkami w części hosta (np. `192.168.1.255`). Pakiet wysłany na ten adres zostanie dostarczony do wszystkich hostów w tej podsieci.
Dla sieci `192.168.1.0` z maską `255.255.255.0`, adresy dostępne dla hostów to od `192.168.1.1` do `192.168.1.254`.
Ilustracja do slajdu 10
11/50
Adresy Prywatne vs Publiczne
Nie wszystkie adresy IP mogą być używane w publicznym Internecie. Organizacja IANA zarezerwowała specjalne pule adresów do użytku w sieciach prywatnych (wewnętrznych, lokalnych). Adresy te nie są routowane w Internecie.
Pule adresów prywatnych (standard RFC 1918):
  • `10.0.0.0` do `10.255.255.255` (10.0.0.0 /8)
  • `172.16.0.0` do `172.31.255.255` (172.16.0.0 /12)
  • `192.168.0.0` do `192.168.255.255` (192.168.0.0 /16)
Wszystkie pozostałe adresy są publiczne, unikalne w skali globalnej i routowalne w Internecie. Router na granicy sieci prywatnej i publicznej musi stosować mechanizm NAT, aby umożliwić komunikację.
Ilustracja do slajdu 11
12/50
Brama domyślna (Default Gateway)
Kiedy komputer (np. `192.168.1.50`) chce wysłać pakiet do innego komputera, najpierw sprawdza, czy adres docelowy (np. `192.168.1.60`) należy do tej samej podsieci. Jeśli tak, wysyła ramkę bezpośrednio do niego przez przełącznik.

A co, jeśli adres docelowy to `8.8.8.8` (serwer DNS Google)? Komputer wie, że ten adres jest w innej sieci. Nie wie jednak, jak do niego dotrzeć. W takiej sytuacji wysyła pakiet do swojej bramy domyślnej (default gateway). Brama domyślna to adres IP interfejsu routera, który jest w tej samej sieci co komputer. Jest to "wyjście" z sieci lokalnej. Komputer mówi: "Nie wiem, gdzie to jest, więc wysyłam to do Ciebie, routerze, a Ty się martw co dalej".
Ilustracja do slajdu 12
13/50
Pełna konfiguracja hosta
Aby komputer mógł w pełni funkcjonować w sieci i Internecie, potrzebuje zazwyczaj czterech podstawowych informacji konfiguracyjnych:
  1. Adres IP: Jego unikalny identyfikator w sieci.
  2. Maska podsieci: Pozwala mu określić, co jest jego siecią lokalną.
  3. Brama domyślna: Adres routera, do którego ma wysyłać ruch poza sieć lokalną.
  4. Serwer DNS: Adres serwera, który tłumaczy nazwy domenowe (np. www.google.com) na adresy IP.
Te informacje mogą być wpisane ręcznie (konfiguracja statyczna) lub pobrane automatycznie z serwera DHCP (konfiguracja dynamiczna).
Ilustracja do slajdu 13
14/50
Przykład CLI: Konfiguracja IP hosta
Konfigurację sieciową komputera możemy łatwo sprawdzić z wiersza poleceń. W systemie Windows najpopularniejszą komendą jest `ipconfig /all`. W systemach Linux i macOS używa się komendy `ip addr show` lub `ifconfig`. Wynik polecenia pokazuje wszystkie interfejsy sieciowe w komputerze wraz z ich adresami fizycznymi (MAC) i logicznymi (IP), maską podsieci, adresem bramy domyślnej i innymi parametrami.
Ilustracja do slajdu 14
15/50
Historyczne klasy adresów IP
W początkach Internetu adresy IPv4 były podzielone na sztywne klasy (A, B, C), które z góry definiowały podział na część sieciową i hosta.
  • Klasa A (1.0.0.0 - 126.255.255.255): Maska /8 (255.0.0.0). Mało sieci, ale każda mogła mieć ponad 16 milionów hostów. Dla gigantycznych organizacji.
  • Klasa B (128.0.0.0 - 191.255.255.255): Maska /16 (255.255.0.0). Więcej sieci, każda po ok. 65 tys. hostów.
  • Klasa C (192.0.0.0 - 223.255.255.255): Maska /24 (255.255.255.0). Bardzo dużo sieci, ale każda tylko po 254 hostów.
System ten był bardzo nieefektywny i marnował adresy. Dziś został zastąpiony przez CIDR (Classless Inter-Domain Routing), który pozwala na używanie dowolnej maski.
Ilustracja do slajdu 15
16/50
Tablica routingu (Routing Table)
Tablica routingu to serce i mózg routera. Jest to baza danych, przechowywana w pamięci routera, która zawiera informacje o znanych mu sieciach i o tym, jak do nich dotrzeć. Każdy wpis w tablicy zawiera co najmniej:
  • Adres sieci docelowej i maskę: Dokąd ma trafić pakiet.
  • Następny przeskok (Next Hop) lub Interfejs wyjściowy: Gdzie wysłać pakiet, aby dotarł do celu. "Next Hop" to adres IP kolejnego routera na trasie. "Interfejs wyjściowy" to fizyczny port na naszym routerze.
  • Metrykę: "Koszt" dotarcia do danej sieci. Niższa metryka oznacza lepszą trasę.
Analogia: Tablica routingu to jak tablica odjazdów na dworcu. Mówi nam, z którego peronu (interfejs) odjeżdża pociąg do danego miasta (sieć docelowa).
Ilustracja do slajdu 16
17/50
Proces podejmowania decyzji przez router
Gdy router otrzymuje pakiet, wykonuje następujące kroki:
  1. Rozpakowuje ramkę L2 i wyjmuje pakiet IP.
  2. Sprawdza, czy docelowy adres IP pakietu nie jest uszkodzony (sprawdza sumę kontrolną nagłówka IP).
  3. Przegląda swoją tablicę routingu, szukając wpisu, który najlepiej pasuje do docelowego adresu IP. Zasada "najdłuższego dopasowania" (longest match) mówi, że trasa z bardziej szczegółową maską ma pierwszeństwo.
  4. Jeśli znajdzie pasującą trasę, zmniejsza wartość pola TTL (Time To Live) w pakiecie o 1. Jeśli TTL=0, pakiet jest odrzucany (zapobiega to pętlom routingu).
  5. Pakuje pakiet IP w nową ramkę L2, z nowymi adresami MAC (źródłowy: MAC routera, docelowy: MAC następnego routera/hosta) i wysyła ją przez odpowiedni interfejs.
  6. Jeśli nie znajdzie trasy, odrzuca pakiet.
Ilustracja do slajdu 17
18/50
Przykład CLI: Wyświetlanie tablicy routingu
W routerach Cisco, podstawową komendą do wyświetlenia tablicy routingu jest `show ip route`. Wynik pokazuje wszystkie znane routerowi sieci, sposób w jaki się o nich dowiedział, metrykę oraz interfejs/następny skok.
Kody oznaczają źródło trasy:
  • C - Sieć bezpośrednio podłączona (Connected).
  • L - Adres lokalny na interfejsie routera (Local).
  • S - Trasa skonfigurowana statycznie (Static).
  • O - Trasa nauczona dynamicznie przez protokół OSPF.
  • D - Trasa nauczona dynamicznie przez protokół EIGRP.
Ilustracja do slajdu 18
19/50
Trasy bezpośrednio podłączone
Router nie potrzebuje żadnej konfiguracji, aby dowiedzieć się o sieciach, do których jest fizycznie podłączony. Gdy administrator skonfiguruje adres IP i maskę na interfejsie routera i go włączy (`no shutdown`), router automatycznie doda dwie trasy do swojej tablicy routingu:
  • Trasę Connected (C): Wskazuje na całą podsieć podłączoną do tego interfejsu (np. `192.168.1.0/24`).
  • Trasę Local (L): Wskazuje na konkretny adres IP samego interfejsu (np. `192.168.1.1/32`). Ta trasa jest używana przez sam router do odbierania pakietów zaadresowanych bezpośrednio do niego.
Są to najbardziej wiarygodne trasy w tablicy (mają najniższy dystans administracyjny).
Ilustracja do slajdu 19
20/50
Routing Statyczny
Routing statyczny polega na ręcznym, jawnym wpisaniu trasy do tablicy routingu przez administratora. Mówimy routerowi wprost: "Aby dostać się do sieci X, wyślij pakiety do routera Y".

Zalety:
  • Bezpieczeństwo: Brak wymiany informacji o routingu, co utrudnia podszywanie się.
  • Prostota: Łatwy do skonfigurowania w małych, niezmiennych sieciach.
  • Małe obciążenie CPU/RAM: Router nie musi uruchamiać skomplikowanych algorytmów.
Wady:
  • Brak skalowalności: W dużej sieci ręczne wpisywanie setek tras jest niemożliwe.
  • Brak adaptacji: Jeśli łącze ulegnie awarii, trasa statyczna nie zniknie. Router będzie wciąż próbował wysyłać nią pakiety ("czarna dziura").
Ilustracja do slajdu 20
21/50
Przykład CLI: Konfiguracja trasy statycznej
W routerach Cisco trasy statyczne konfiguruje się w globalnym trybie konfiguracyjnym za pomocą polecenia `ip route`. Składnia polecenia to:
`ip route [adres_sieci] [maska_podsieci] [adres_next_hop | interfejs_wyjściowy]`

Na przykład, aby na routerze R1 dodać trasę do sieci `172.16.10.0/24` przez sąsiedni router o adresie `10.0.0.2`, wpiszemy: Router(config)# ip route 172.16.10.0 255.255.255.0 10.0.0.2
Ilustracja do slajdu 21
22/50
Trasa domyślna (Default Route)
Co robi router, gdy nie ma w swojej tablicy trasy do sieci docelowej? Domyślnie odrzuca pakiet. Możemy jednak skonfigurować trasę domyślną, często nazywaną "bramą ostatniej szansy" (Gateway of Last Resort). Jest to specjalna trasa statyczna do sieci `0.0.0.0` z maską `0.0.0.0`, która pasuje do każdego możliwego adresu IP. Mówi ona routerowi: "Jeśli nie wiesz, gdzie wysłać ten pakiet, wyślij go w to jedno, konkretne miejsce". W małych sieciach trasa domyślna zazwyczaj wskazuje na router dostawcy usług internetowych (ISP). Router(config)# ip route 0.0.0.0 0.0.0.0 [next-hop-address]
Ilustracja do slajdu 22
23/50
Routing Dynamiczny
W dużych, złożonych sieciach routing statyczny jest niepraktyczny. Zamiast tego używa się protokołów routingu dynamicznego. Routery z uruchomionym tym samym protokołem (np. OSPF, EIGRP) "rozmawiają" ze sobą, wymieniając informacje o znanych im sieciach i stanie połączeń. Na podstawie tych informacji każdy router samodzielnie buduje swoją tablicę routingu i oblicza najlepsze ścieżki.

Główna zaleta: Automatyczna adaptacja do zmian w sieci. Jeśli główne łącze ulegnie awarii, routery po chwili "dogadają się" i znajdą nową, alternatywną trasę, a ruch zostanie przełączony automatycznie.
Ilustracja do slajdu 23
24/50
Protokoły routingu: Wewnętrzne vs Zewnętrzne
Protokoły routingu dynamicznego dzielimy na dwie główne kategorie:
  • IGP (Interior Gateway Protocol): Używane do wymiany informacji o trasach wewnątrz jednej, dużej organizacji (tzw. Systemu Autonomicznego - AS). Ich celem jest znalezienie najszybszej ścieżki. Przykłady: OSPF, EIGRP, IS-IS.
  • EGP (Exterior Gateway Protocol): Używane do wymiany informacji o trasach pomiędzy różnymi Systemami Autonomicznymi (np. między różnymi dostawcami internetu). Jedynym używanym dziś protokołem EGP jest BGP (Border Gateway Protocol). BGP nie skupia się na prędkości, lecz na politykach routingu (kto z kim może wymieniać ruch i na jakich zasadach).
Ilustracja do slajdu 24
25/50
Jak router buduje nową ramkę L2? Protokół ARP
Wiemy już, że router musi opakować pakiet IP w nową ramkę L2. Ale skąd zna adres MAC następnego urządzenia (kolejnego routera lub docelowego hosta), do którego ma wysłać ramkę? Tutaj kluczową rolę odgrywa protokół ARP (Address Resolution Protocol). Jeśli router R1 chce wysłać pakiet do R2 (o znanym IP 10.0.0.2), ale nie zna jego adresu MAC, wysyła w tej sieci zapytanie ARP (broadcast L2): "Kto ma IP 10.0.0.2? Powiedz mi swój MAC!". Router R2 odpowiada (unicast L2): "To ja, a mój MAC to [MAC_R2]". R1 zapisuje to powiązanie w swojej tablicy ARP i może już zbudować poprawną ramkę.
Ilustracja do slajdu 25
26/50
Problem: Wyczerpanie adresów IPv4
Jak już wiemy, adresy IPv4 są 32-bitowe, co daje około 4.3 miliarda unikalnych adresów. W latach 90-tych stało się jasne, że ta liczba jest niewystarczająca dla rosnącego w ekspresowym tempie Internetu. Dodatkowo, chcieliśmy używać w naszych sieciach lokalnych adresów, które nie będą konfliktować z adresami w Internecie. Potrzebne było rozwiązanie, które pozwoliłoby setkom komputerów w sieci prywatnej "ukryć się" za jednym, publicznym adresem IP i korzystać z Internetu.
Ilustracja do slajdu 26
27/50
Rozwiązanie: NAT (Network Address Translation)
NAT (Translacja Adresów Sieciowych) to mechanizm działający na routerze brzegowym, który tłumaczy adresy IP w pakietach przechodzących między siecią prywatną a publiczną. Gdy pakiet z komputera o prywatnym IP opuszcza sieć lokalną, router "nadpisuje" w nim źródłowy adres IP swoim własnym, publicznym adresem IP. Gdy przychodzi odpowiedź z Internetu, router zagląda do swojej tablicy translacji, sprawdza, do którego komputera wewnętrznego była skierowana ta sesja, i "odtwarza" oryginalny, prywatny adres docelowy.

Analogia: NAT działa jak recepcjonistka w dużej firmie. Wychodząca poczta od pracowników (prywatne IP) jest wysyłana z adresem firmy (publiczne IP). Przychodząca poczta jest adresowana na firmę, a recepcjonistka, wiedząc kto na co czeka, dostarcza ją do odpowiedniego pracownika.
Ilustracja do slajdu 27
28/50
Jak działa NAT: PAT (Port Address Translation)
Najpopularniejszą formą NAT jest PAT (Translacja Adresów i Portów), znana też jako NAPT lub NAT Overload. Jak router wie, która odpowiedź jest dla którego komputera, skoro wszystkie wychodzą z tego samego publicznego IP? Oprócz adresu IP, router tłumaczy również numer portu źródłowego (z warstwy 4). Każdej wychodzącej sesji przypisuje unikalny, tymczasowy numer portu. Odpowiedź z Internetu wraca na publiczny IP i ten konkretny port, co pozwala routerowi jednoznacznie zidentyfikować, do którego komputera wewnętrznego i na jaki port ma ją odesłać. To pozwala tysiącom urządzeń korzystać z jednego adresu IP.
Ilustracja do slajdu 28
29/50
Przykład CLI: Konfiguracja PAT (NAT Overload)
Konfiguracja PAT na routerze Cisco wymaga kilku kroków:
  1. Zdefiniowanie interfejsów jako wewnętrznych (`ip nat inside`) i zewnętrznych (`ip nat outside`).
  2. Stworzenie listy kontroli dostępu (ACL), która określa, które adresy IP z sieci wewnętrznej mogą być tłumaczone.
  3. Włączenie reguły NAT, która powiąże listę ACL z interfejsem zewnętrznym i włączy tryb `overload` (PAT).
Router(config)# interface Gi0/0 Router(config-if)# ip nat inside Router(config-if)# exit Router(config)# interface Gi0/1 Router(config-if)# ip nat outside Router(config-if)# exit Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255 Router(config)# ip nat inside source list 1 interface Gi0/1 overload
Ilustracja do slajdu 29
30/50
Rodzaje NAT: Statyczny i Dynamiczny
Oprócz PAT istnieją inne rodzaje NAT:
  • NAT Statyczny (Static NAT): Tworzy stałe mapowanie 1-do-1 między adresem prywatnym a publicznym. Jest używany, gdy chcemy udostępnić serwer z sieci wewnętrznej (np. serwer WWW) w Internecie. Zawsze ten sam adres publiczny będzie prowadził do tego samego serwera.
  • NAT Dynamiczny (Dynamic NAT): Router ma pulę publicznych adresów IP. Gdy host z wewnątrz chce wyjść do Internetu, router "pożycza" mu pierwszy wolny adres z puli. Gdy sesja się kończy, adres wraca do puli. Nie pozwala na oszczędność adresów (mapowanie 1-do-1), ale zwiększa bezpieczeństwo.
Ilustracja do slajdu 30
31/50
Problem: Ręczna konfiguracja IP
Wiemy już, że każdy komputer potrzebuje adresu IP, maski, bramy i DNS. W małej sieci domowej możemy wpisać te dane ręcznie. Ale co w sieci uniwersyteckiej z tysiącami komputerów, gdzie studenci ciągle się podłączają i odłączają? Ręczna (statyczna) konfiguracja jest:
  • Czasochłonna: Administrator musiałby konfigurować każde urządzenie z osobna.
  • Podatna na błędy: Literówka w adresie IP może spowodować konflikt lub brak łączności.
  • Nieelastyczna: Utrudnia zarządzanie adresami i przenoszenie urządzeń.
Potrzebny jest zautomatyzowany system przydzielania konfiguracji.
Ilustracja do slajdu 31
32/50
Rozwiązanie: DHCP (Dynamic Host Configuration Protocol)
DHCP (Dynamic Host Configuration Protocol) to protokół klient-serwer, który automatyzuje proces przydzielania konfiguracji IP. W sieci umieszczamy serwer DHCP (może to być dedykowany serwer lub router z włączoną funkcją DHCP). Gdy nowy komputer (klient DHCP) podłącza się do sieci, automatycznie wysyła zapytanie o konfigurację. Serwer DHCP odpowiada, oferując mu "dzierżawę" (lease) wolnego adresu IP z predefiniowanej puli, wraz z maską, bramą i DNS. Dzierżawa jest przyznawana na określony czas, po którym klient musi ją odnowić.
Ilustracja do slajdu 32
33/50
Proces DHCP: DORA
Komunikacja między klientem a serwerem DHCP to czterostopniowy proces o akronimie DORA:
  1. Discover (Odkryj): Klient, nie mając adresu IP, wysyła w sieć broadcast z zapytaniem "Czy jest tu jakiś serwer DHCP?".
  2. Offer (Zaoferuj): Wszystkie serwery DHCP, które usłyszą zapytanie, odpowiadają (już przez unicast) klientowi z ofertą adresu IP i innych parametrów.
  3. Request (Zażądaj): Klient wybiera jedną z ofert (zazwyczaj pierwszą, którą otrzymał) i wysyła broadcast z informacją: "Wybrałem ofertę od serwera X i proszę o ten konkretny adres".
  4. Acknowledge (Potwierdź): Wybrany serwer odnotowuje, że adres został wydzierżawiony i wysyła do klienta ostateczne potwierdzenie (ACK). Klient może zacząć używać otrzymanej konfiguracji.
Ilustracja do slajdu 33
34/50
Przykład CLI: Konfiguracja routera jako serwera DHCP
Router Cisco można bardzo łatwo skonfigurować jako serwer DHCP dla podłączonej do niego sieci LAN. Najpierw tworzymy pulę adresów, a następnie definiujemy, jakie parametry ma ona przydzielać. Możemy również wykluczyć pewne adresy z puli, aby zarezerwować je dla serwerów lub drukarek. Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10 Router(config)# ip dhcp pool LAN_POOL Router(dhcp-config)# network 192.168.1.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.1.1 Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
Ilustracja do slajdu 34
35/50
Router Wi-Fi dla domu i małego biura (SOHO)
Domowy "router Wi-Fi" to doskonały przykład urządzenia wielofunkcyjnego, integrującego technologie z wielu warstw OSI. W jednej obudowie znajdziemy:
  • Router: Łączy naszą sieć domową (LAN) z siecią dostawcy internetu (WAN), wykonuje NAT.
  • Przełącznik L2: Zwykle 4-portowy, do podłączenia urządzeń przewodowych.
  • Punkt dostępowy L2: Do obsługi urządzeń bezprzewodowych.
  • Serwer DHCP: Automatycznie konfiguruje podłączane urządzenia.
  • Prosty Firewall: Blokuje niechciany ruch przychodzący z Internetu.
Jest to centrum zarządzania całą naszą domową siecią.
Ilustracja do slajdu 35
36/50
Listy Kontroli Dostępu (ACL)
ACL (Access Control List) to zestaw reguł, które są stosowane do interfejsów routera w celu filtrowania ruchu. Działają jak prosty firewall. Każda reguła w liście określa, czy pakiet pasujący do jej kryteriów ma być zezwolony (permit) czy odrzucony (deny). Router przetwarza listę sekwencyjnie, od góry do dołu, i stosuje pierwszą pasującą regułę. Na końcu każdej listy ACL znajduje się niewidoczna reguła "deny any", która odrzuca cały ruch, który nie pasował do żadnej z wcześniejszych reguł.
Ilustracja do slajdu 36
37/50
ACL: Standardowe vs Rozszerzone
Wyróżniamy dwa główne typy list ACL:
  • Standardowe ACL (Standard ACLs): Są bardzo proste. Filtrują ruch wyłącznie na podstawie źródłowego adresu IP. Pozwalają zablokować lub zezwolić na cały ruch pochodzący z danego komputera lub sieci. W Cisco są numerowane od 1 do 99.
  • Rozszerzone ACL (Extended ACLs): Są znacznie potężniejsze. Pozwalają na filtrowanie na podstawie wielu kryteriów: źródłowego i docelowego adresu IP, protokołu warstwy 4 (TCP, UDP), a nawet numerów portów źródłowych i docelowych. Pozwalają tworzyć bardzo precyzyjne reguły, np. "zezwól na ruch WWW (port 80) z sieci A do serwera B, ale zablokuj wszystko inne". W Cisco są numerowane od 100 do 199.
Ilustracja do slajdu 37
38/50
Przykład CLI: Konfiguracja Standardowej ACL
Załóżmy, że chcemy zablokować dostęp do całej naszej sieci dla komputera o adresie `192.168.1.100`. Konfiguracja standardowej listy ACL i zastosowanie jej na interfejsie wejściowym wyglądałaby następująco: Router(config)# access-list 1 deny 192.168.1.100 0.0.0.0 Router(config)# access-list 1 permit any Router(config)# interface Gi0/0 Router(config-if)# ip access-group 1 in
Ilustracja do slajdu 38
39/50
Protokół ICMP (Internet Control Message Protocol)
ICMP (Internet Control Message Protocol) to protokół pomocniczy działający w Warstwie 3. Nie służy do przesyłania danych użytkownika, lecz do wysyłania komunikatów o błędach i informacji diagnostycznych między urządzeniami sieciowymi. Gdy coś pójdzie nie tak z pakietem IP (np. router nie może znaleźć trasy, TTL wygasł), odpowiedni komunikat ICMP jest wysyłany z powrotem do nadawcy. ICMP jest fundamentalnym narzędziem do diagnozowania problemów w sieciach IP.
Ilustracja do slajdu 39
40/50
Narzędzie diagnostyczne: ping
Najpopularniejsze narzędzie wykorzystujące ICMP to ping. Wysyła ono do celu specjalny komunikat `ICMP Echo Request`. Jeśli urządzenie docelowe jest osiągalne i nie jest blokowane przez firewall, odpowiada komunikatem `ICMP Echo Reply`. Narzędzie `ping` mierzy czas między wysłaniem zapytania a otrzymaniem odpowiedzi (RTT - Round Trip Time) i informuje o ewentualnej utracie pakietów. Jest to najprostszy i najszybszy sposób na sprawdzenie, czy istnieje podstawowa łączność w Warstwie 3 między dwoma urządzeniami.
Ilustracja do slajdu 40
41/50
Narzędzie diagnostyczne: traceroute
Traceroute (lub `tracert` w Windows) to jeszcze potężniejsze narzędzie diagnostyczne. Pozwala ono na odkrycie pełnej ścieżki (listy routerów), jaką pakiety pokonują od naszego komputera do celu. Działa ono w sprytny sposób: wysyła serię pakietów do celu, pierwszy z polem TTL=1, drugi z TTL=2, trzeci z TTL=3, itd. Pierwszy pakiet zostanie odrzucony przez pierwszy router na trasie, który odeśle komunikat ICMP "Time Exceeded". Drugi pakiet zostanie odrzucony przez drugi router, i tak dalej. Zbierając adresy IP routerów, które odsyłają te komunikaty, `traceroute` buduje mapę całej trasy.
Ilustracja do slajdu 41
42/50
Przyszłość: Konieczność wprowadzenia IPv6
Jak wspomnieliśmy, pula adresów IPv4 jest praktycznie wyczerpana. Mimo że mechanizmy takie jak NAT znacznie przedłużyły jej życie, rozwój Internetu Rzeczy (IoT), urządzeń mobilnych i globalnej łączności wymagał nowego, znacznie większego systemu adresacji. Rozwiązaniem jest IPv6 (IP w wersji 6), który został opracowany już w latach 90-tych, ale jego wdrażanie postępuje powoli. Celem IPv6 jest zapewnienie wystarczającej liczby adresów na dziesięciolecia i uproszczenie niektórych mechanizmów znanych z IPv4.
Ilustracja do slajdu 42
43/50
Adresacja IPv6
Adresy IPv6 mają 128 bitów (cztery razy więcej niż IPv4) i zapisywane są w systemie szesnastkowym. Adres składa się z ośmiu 16-bitowych bloków (heksatetów), oddzielonych dwukropkami.
Przykład: `2001:0db8:85a3:0000:0000:8a2e:0370:7334`

Aby skrócić zapis, można pominąć wiodące zera w każdym bloku (`...:85a3:0:0:...`) oraz zastąpić jedną, najdłuższą sekwencję zerowych bloków podwójnym dwukropkiem `::`.
Skrócony zapis: `2001:db8:85a3::8a2e:370:7334`
Ilustracja do slajdu 43
44/50
Główne zalety IPv6
Oprócz gigantycznej przestrzeni adresowej, IPv6 wprowadza kilka ulepszeń:
  • Uproszczony nagłówek pakietu: Mniej pól, stały rozmiar nagłówka, co przyspiesza przetwarzanie przez routery.
  • Brak potrzeby NAT: Każde urządzenie może otrzymać unikalny, globalny adres publiczny, co upraszcza komunikację peer-to-peer (choć firewalle wciąż są potrzebne!).
  • Autokonfiguracja (SLAAC): Urządzenia mogą automatycznie wygenerować sobie adres IP na podstawie prefiksu sieciowego ogłaszanego przez router, bez potrzeby serwera DHCP.
  • Wbudowane bezpieczeństwo (IPsec): Wsparcie dla szyfrowania i uwierzytelniania jest integralną częścią protokołu, a nie opcjonalnym dodatkiem.
Ilustracja do slajdu 44
48/50
Rola routera: Podsumowanie funkcji
Podsumowując, rola routera w nowoczesnej sieci jest wielowymiarowa. To już nie tylko urządzenie do przesyłania pakietów. Router to:
  • Decydent: Wybiera najlepszą ścieżkę dla danych na podstawie tablicy routingu.
  • Punkt graniczny: Oddziela domeny rozgłoszeniowe i łączy różne sieci IP.
  • Tłumacz: Realizuje NAT, pozwalając sieciom prywatnym na dostęp do Internetu.
  • Strażnik: Filtruje ruch za pomocą list kontroli dostępu (ACL).
  • Automat: Może pełnić funkcję serwera DHCP, automatyzując konfigurację hostów.
  • Diagnosta: Uczestniczy w procesach diagnostycznych z wykorzystaniem ICMP (ping, traceroute).
Ilustracja do slajdu 48
49/50
Warstwa 3: Podsumowanie
Warstwa Sieciowa to fundament globalnej komunikacji. Uwalnia nas od ograniczeń sieci lokalnej, wprowadzając adresację logiczną (IP), która jest uniwersalna i routowalna na całym świecie. Dzięki routerom, które inteligentnie kierują pakietami na podstawie tych adresów, możliwa jest podróż danych od naszego komputera do serwera na drugim końcu globu. Mechanizmy takie jak NAT i DHCP rozwiązują praktyczne problemy wyczerpania adresów i masowej konfiguracji, a ACL i ICMP dodają warstwy bezpieczeństwa i diagnostyki.
Ilustracja do slajdu 49
50/50
Podsumowanie Części 4

Najważniejsze pojęcia z dzisiejszego wykładu:

  • Warstwa 3 (Sieciowa) odpowiada za adresację logiczną (IP) i routing pakietów między sieciami.
  • Router to urządzenie L3, które łączy sieci, podejmuje decyzje na podstawie tablicy routingu i blokuje broadcasty.
  • Adres IP i maska podsieci definiują przynależność urządzenia do sieci.
  • NAT (PAT) pozwala wielu urządzeniom z sieci prywatnej korzystać z jednego publicznego adresu IP.
  • DHCP automatyzuje przydzielanie konfiguracji sieciowej hostom.
  • ACL to listy reguł na routerze, które filtrują ruch, pełniąc rolę prostego firewalla.
Dziękuję za uwagę. Na ostatnim wykładzie przyjrzymy się urządzeniom działającym w wyższych warstwach modelu OSI.
Ilustracja do slajdu 50