1/22 Ethernet, MAC, ARP – adresacja warstwy 2 i 3

Jak zmieniają się adresy MAC w ramce podczas transmisji w segmencie i przez router

Przedmiot: Sieci komputerowe – wykład uzupełniający

Prezentacja koncentruje się na trzech ściśle powiązanych zagadnieniach: budowie ramki Ethernet, adresacji MAC oraz protokole ARP.

Głównym celem jest pokazanie, jak zmieniają się (lub nie zmieniają) adresy MAC w ramce, gdy ta przemieszcza się w obrębie jednego segmentu sieci (przez przełącznik) oraz gdy przechodzi przez router do innej podsieci.

Omówiono budowę ramki Ethernet, rolę adresów MAC źródłowego i docelowego, działanie protokołu ARP (Request/Reply, tablica ARP) oraz routing statyczny.

Każdy blok teoretyczny zilustrowano przykładami konfiguracji i diagnostyki w Cisco IOS oraz RouterOS.

Zrozumienie adresacji warstwy 2 (MAC) i warstwy 3 (IP) oraz protokołu ARP jest fundamentalne dla każdego administratora sieci.

Prezentacja ta powstała jako uzupełnienie wykładów z sieci komputerowych, kładąc szczególny nacisk na praktyczne zrozumienie zmiany adresów MAC w ramce podczas transmisji.

W segmencie lokalnym (ta sama podsieć) adresy MAC źródłowe i docelowe nie zmieniają się – ramka wędruje bezpośrednio od nadawcy do odbiorcy przez przełącznik.

Gdy jednak pakiet musi opuścić sieć lokalną i przejść przez router, adresy MAC ulegają zmianie na każdym skoku (hopie).

Router tworzy nową ramkę Ethernet z własnym adresem MAC jako źródłowym i adresem MAC następnego skoku lub hosta docelowego jako docelowym.

Te dwie fundamentalne różnice są często mylone przez początkujących administratorów.

Prezentacja wyjaśnia je krok po kroku, z wykorzystaniem przykładów konfiguracji na urządzeniach Cisco i MikroTik, a także symulacji w programie Cisco Packet Tracer.

2/22 Streszczenie

Ramka Ethernet zawiera dwa adresy MAC: źródłowy (SA – Source Address) i docelowy (DA – Destination Address).

W tej samej podsieci adresy te nie zmieniają się – ramka wędruje od nadawcy do odbiorcy przez przełącznik, który nie modyfikuje adresów MAC.

Przełącznik uczy się adresów MAC i forwarduje ramki wyłącznie na podstawie docelowego adresu MAC.

Gdy komunikacja odbywa się między różnymi podsieciami, router odbiera ramkę, odczytuje pakiet IP, sprawdza tablicę routingu i tworzy całkowicie nową ramkę Ethernet z własnym adresem MAC jako źródłowym i adresem MAC następnego skoku jako docelowym.

Adresy IP źródła i docelowego oraz dane wyższych warstw pozostają bez zmian.

Protokół ARP służy do mapowania adresów IP na adresy MAC i jest używany zarówno przez hosty, jak i routery.

Prezentacja podzielona jest na trzy bloki tematyczne.

Zrozumienie tej różnicy jest kluczowe dla poprawnej konfiguracji i diagnostyki sieci.

Blok pierwszy omawia budowę ramki Ethernet i adresację MAC – fundament komunikacji w sieciach lokalnych.

Blok drugi koncentruje się na protokole, który łączy świat adresów IP z adresami MAC.

Blok trzeci przedstawia routing statyczny i pokazuje, jak zmieniają się adresy MAC podczas transmisji między podsieciami.

Główną tezą prezentacji jest stwierdzenie, że przełącznik (L2) nie modyfikuje adresów MAC w ramce, podczas gdy router (L3) tworzy nową ramkę na każdym interfejsie wyjściowym.

Wszystkie przykłady konfiguracji pochodzą z rzeczywistych urządzeń Cisco IOS i MikroTik RouterOS.

Wiedza przedstawiona w tej prezentacji stanowi niezbędną podstawę do dalszej nauki o VLAN, STP, routingu dynamicznym i bezpieczeństwie sieci.

Bez solidnego zrozumienia, jak działają adresy MAC i ARP, trudno jest diagnozować problemy sieciowe i projektować wydajne infrastruktury.

3/22 Literatura

Książki

  1. Sieci komputerowe – Andrew S. Tanenbaum, David J. Wetherall, wyd. Rebis
  2. Adresacja IP. Podział na podsieci – Krzysztof Pytel, wyd. WSIP
  3. Routing w sieciach IP – Krzysztof Nowicki, Józef Woźniak, wyd. UG
  4. Administrator sieci komputerowej. Podręcznik – Jarosław Szymanek, wyd. Helion

Źródła internetowe

  1. RFC 826 – Address Resolution Protocol (omówienia na polskich stronach branżowych)
  2. MikroTik NDP.Wiki – ARP, Routing – wiki.mikrotik.com
  3. Dokumentacja Cisco – ARP, IP Routing – www.cisco.com
  4. Baza OUI IEEE – regauth.standards.ieee.org

Literatura dotycząca sieci komputerowych jest bogata i obejmuje zarówno klasyczne podręczniki akademickie, jak i specjalistyczne publikacje producentów.

Książka Tanenbauma i Wetheralla oferuje systematyczne wprowadzenie do adresacji MAC i protokołu ARP na tle całego modelu OSI.

Publikacje Pytla i Szymanka dostarczają praktycznych przykładów konfiguracji na urządzeniach Cisco.

Mimo upływu lat protokół ARP pozostaje w niemal niezmienionej formie, co świadczy o jakości jego pierwotnego projektu.

Dokumentacja Cisco i MikroTik zawiera szczegółowe opisy konfiguracji i diagnostyki ARP oraz tras statycznych w rzeczywistych sieciach.

Baza OUI prowadzona przez IEEE pozwala na identyfikację producenta urządzenia na podstawie pierwszych 3 oktetów adresu MAC.

Jest to nieocenione narzędzie podczas analizy ruchu sieciowego i inwentaryzacji sprzętu.

4/22 Budowa ramki Ethernet
PoleDługośćOpis
Preambuła + SFD8 BSynchronizacja zegarów
DA (Destination MAC)6 BAdres MAC odbiorcy
SA (Source MAC)6 BAdres MAC nadawcy
EtherType / Length2 BTyp protokołu (np. 0x0800 dla IPv4, 0x0806 dla ARP)
Payload (dane)46-1500 BDane użyteczne + ewentualny padding
FCS (Frame Check Sequence)4 BSuma kontrolna CRC-32

Zawiera następujące pola:

Dla diagnostyki najważniejsze są adresy MAC (DA i SA) oraz pole EtherType.

Ramka Ethernet (IEEE 802.3) ma minimalną długość 64 bajtów i maksymalną 1518 bajtów (bez preambuły).

Przełącznik podejmuje decyzje na podstawie DA, ucząc się SA.

Router analizuje zawartość payloadu (pakiet IP) po EtherType.

Pola DA i SA zawierają 48-bitowe adresy, które są kluczowe dla dostarczania ramki do właściwego odbiorcy w sieci lokalnej.

Jeśli FCS się nie zgadza, ramka jest odrzucana.

Ramka Ethernet jest jednostką danych warstwy łącza danych (L2).

Każda ramka ma ściśle określoną strukturę, która jest rozpoznawana przez wszystkie karty sieciowe i przełączniki.

Pole EtherType informuje odbiorcę, jaki protokół znajduje się w polu danych.

Dla pakietów IPv4 EtherType wynosi 0x0800, dla ARP 0x0806, a dla pakietów IPv6 0x86DD.

Przełącznik nie analizuje EtherType – interesują go tylko adresy MAC.

Router natomiast sprawdza EtherType, aby wiedzieć, jak zinterpretować dane.

Suma kontrolna CRC-32 jest obliczana przez nadawcę i weryfikowana przez odbiorcę.

Warto zauważyć, że przełącznik nie modyfikuje MAC podczas forwardowania – zmiana adresów MAC przez router wymusza ponowne obliczenie FCS dla nowej ramki.

5/22 Adres MAC – przypomnienie
OUIProducent
00:00:0CCisco
4C:5E:0CMikroTik
00:1B:21Intel

Zapis heksadecymalny, np. 00:1A:2B:3C:4D:5E.

W najstarszym oktecie dwa najmłodsze bity sterują: I/G (0 = unicast, 1 = multicast/group) i U/L (0 = globalny, 1 = lokalny).

Adres broadcast FF:FF:FF:FF:FF:FF ma I/G=1 i U/L=1.

Adres MAC (Media Access Control) ma 48 bitów (6 oktetów).

Pierwsze 3 oktety to OUI (producent), ostatnie 3 to SN (numer seryjny).

Adres MAC źródłowy w ramce to zawsze adres interfejsu, który wysłał ramkę.

Adres MAC docelowy to adres odbiorcy (unicast) lub adres specjalny (broadcast/multicast).

W kontekście zmiany adresów MAC podczas transmisji kluczowe jest zrozumienie, że adres MAC źródłowy w ramce zawsze identyfikuje nadawcę na poziomie warstwy 2.

Adres MAC docelowy określa odbiorcę na poziomie L2.

W segmencie lokalnym jest to adres MAC hosta docelowego.

Adres MAC jest fabrycznie nadawany każdemu interfejsowi sieciowemu i teoretycznie powinien być unikalny globalnie.

W praktyce adres MAC można zmienić programowo (MAC spoofing), co jest wykorzystywane w wirtualizacji i testach sieciowych.

Bity I/G i U/L pozwalają na szybkie określenie typu adresu bez analizy całego 48-bitowego pola.

Gdy ramka przechodzi przez router, nadawca zmienia się – router staje się nowym nadawcą, więc adres MAC źródłowy w nowej ramce to adres MAC interfejsu wyjściowego routera.

Gdy host wysyła pakiet do innej podsieci, adres MAC docelowy to adres MAC bramy domyślnej (routera), a nie hosta docelowego.

Router po odebraniu pakietu zmienia adres MAC docelowy na adres MAC właściwego odbiorcy.

6/22 Przełącznik a adresy MAC
  • Uczenie się (MAC learning) – przełącznik odczytuje adres MAC źródłowy (SA) z każdej odebranej ramki i zapisuje go w tablicy MAC wraz z numerem portu, na który ramka przyszła.
  • Forwardowanie – gdy ramka przychodzi, przełącznik sprawdza docelowy adres MAC (DA) w tablicy. Jeśli zna port – forwarduje tylko na ten port. Jeśli nie zna – flooduje na wszystkie porty (poza źródłowym).
  • Brak modyfikacji MAC – przełącznik nie zmienia adresów MAC w ramce. SA i DA pozostają dokładnie takie, jak ustawił je nadawca.
Wyróżnienie: Przełącznik nie modyfikuje adresów MAC w ramce. SA i DA przechodzą przez przełącznik bez zmian. To router zmienia adresy MAC, nie przełącznik.
Kluczowe cechy:

Przełącznik (switch) działa w warstwie 2 i forwarduje ramki na podstawie docelowego adresu MAC.

Jeśli nie istnieje, jest dodawany.

W kontekście tej prezentacji kluczowe jest, że przełącznik NIGDY nie modyfikuje adresów MAC w ramce.

Mechanizm uczenia się adresów MAC jest podstawą działania przełączników warstwy 2.

Każda ramka wchodząca na port przełącznika powoduje zapisanie pary (adres MAC źródłowy, numer portu) w tablicy MAC.

Jeśli wpis już istnieje, jego znacznik czasu jest odświeżany.

Dzięki temu przełącznik stopniowo buduje mapę adresów MAC w sieci.

Gdy przełącznik nie zna docelowego adresu MAC (brak wpisu w tablicy), musi rozgłosić ramkę na wszystkie porty oprócz źródłowego – jest to tzw. floodowanie (znane też jako unknown unicast flooding).

Gdy odbiorca odpowie, przełącznik uczy się jego adresu MAC i kolejne ramki są forwardowane precyzyjnie.

Przełącznik działa jak inteligentny rozgałęźnik – dostarcza ramkę do właściwego portu, ale nie ingeruje w jej zawartość.

To router, działający w warstwie 3, modyfikuje adresy MAC podczas przekazywania pakietu między interfejsami.

7/22 Protokół ARP – Address Resolution Protocol
Definicja: ARP to protokół mapujący adresy IP na adresy MAC. Działa tylko w obrębie jednej podsieci. Wykorzystuje broadcast (Request) i unicast (Reply).

ARP działa w dwóch krokach: ARP Request (broadcast) – nadawca wysyła zapytanie "kto ma adres IP X?" na adres MAC FF:FF:FF:FF:FF:FF.

ARP Reply (unicast) – urządzenie z szukanym adresem IP odpowiada, podając swój adres MAC.

Działa wyłącznie w obrębie jednej podsieci (domeny rozgłoszeniowej).

Każde urządzenie przed wysłaniem ramki Ethernet musi znać adres MAC odbiorcy.

Jeśli zna tylko adres IP, używa ARP, aby go poznać.

Host zapamiętuje parę IP-MAC w lokalnej tablicy ARP (cache ARP).

Kolejne transmisje do tego samego adresu IP nie wymagają ponownego ARP, dopóki wpis nie wygaśnie (czas życia zależny od systemu — patrz tabela niżej).

W sieciach IPv6 jego funkcje przejął protokół NDP (Neighbor Discovery Protocol), który działa w oparciu o ICMPv6 i oferuje więcej funkcji (m.in. DAD i SLAAC).

Ważną cechą ARP jest brak mechanizmów uwierzytelniania – każdy host w sieci może odpowiedzieć na ARP Request, nawet jeśli nie jest prawdziwym właścicielem adresu IP.

To umożliwia ataki ARP spoofing (ARP cache poisoning), w których atakujący podszywa się pod inny adres IP, przechwytując ruch sieciowy.

Ochronę zapewniają mechanizmy takie jak DAI (Dynamic ARP Inspection) w przełącznikach Cisco.

8/22 ARP Request i ARP Reply – szczegóły
PoleDługośćOpis
Hardware Type2 BTyp sieci (1 = Ethernet)
Protocol Type2 BTyp protokołu (0x0800 = IPv4)
HLEN / PLEN1 B + 1 BDługość adresu MAC (6) i IP (4)
Operation2 B1 = Request, 2 = Reply
Sender MAC6 BAdres MAC nadawcy
Sender IP4 BAdres IP nadawcy
Target MAC6 BAdres MAC celu (w Request = 00:00:00:00:00:00)
Target IP4 BAdres IP celu

Pola ramki ARP:

Ramka ARP ma stałą długość 28 bajtów (bez nagłówka Ethernet).

W ARP Request pole Target MAC jest wypełnione zerami (nieznane).

W ARP Reply pole Target MAC zawiera adres MAC odpowiadającego hosta, a Sender i Target są zamienione miejscami względem Requestu.

RARP (Reverse ARP) został zastąpiony przez BOOTP i DHCP.

Szczegółowa budowa ramki ARP jest często pomijana w podstawowych kursach, ale jej znajomość jest niezbędna przy diagnostyce problemów sieciowych.

Pole Hardware Type określa typ sieci fizycznej – dla Ethernet wartość 1.

Pole Protocol Type określa protokół warstwy 3 – dla IPv4 wartość 0x0800.

HLEN (Hardware Address Length) dla MAC wynosi 6, PLEN (Protocol Address Length) dla IPv4 wynosi 4.

Pole Operation rozróżnia typ komunikatu: 1 dla ARP Request, 2 dla ARP Reply, 3 dla RARP Request, 4 dla RARP Reply.

W praktyce współczesnych sieci używa się tylko wartości 1 i 2.

W ARP Request pole Target MAC jest wypełnione zerami, ponieważ nadawca właśnie pyta o ten adres.

W ARP Reply pola Sender MAC i Target MAC są odwrócone względem Requestu – Sender MAC w Reply to ten, który był Target MAC w Requeście (adres odpowiadającego hosta), a Target to Sender MAC z Requestu (adres pytającego).

Dzięki temu pytający wie, że odpowiedź dotyczy jego zapytania.

9/22 Tablica ARP (cache ARP)

Czas życia wpisu ARP:

SystemCzas życia (domyślnie)
Windows15-45 s (niekompletne), 120-300 s (kompletne)
Linux~3 s (niekompletne), ~30 s (REACHABLE), 60 s (gc_stale_time)
Cisco IOS14400 s (4 godziny)
RouterOS300 s (5 minut)

Każde urządzenie IP przechowuje tablicę ARP – mapowanie adresów IP na MAC dla hostów w swojej podsieci.

Wpisy są dodawane dynamicznie (po ARP Reply) lub statycznie (ręcznie przez administratora).

Po wygaśnięciu wpisu, przy kolejnej transmisji, ARP Request jest wysyłany ponownie.

Zbyt długi czas życia utrudnia adaptację do zmian, zbyt krótki generuje zbędny ruch broadcast.

Dynamic ARP Inspection (DAI) chroni przed atakami ARP.

Tablica ARP jest kluczową strukturą danych dla komunikacji IP w sieci lokalnej.

Każdy wpis zawiera adres IP, odpowiadający mu adres MAC, typ wpisu (dynamiczny/statyczny) oraz znacznik czasu ostatniego użycia.

W systemach Linux i Unix tablicę ARP można podejrzeć poleceniem ip neigh show, a w Windows arp -a.

Różnice w czasie życia wpisów ARP między systemami mają praktyczne konsekwencje.

W Windows wpisy wygasają szybciej, co zwiększa ruch, ale ułatwia adaptację do zmian (np. wymiana karty sieciowej).

W Cisco IOS wpisy żyją 4 godziny, co minimalizuje ruch, ale po zmianie adresu MAC może powodować błędną komunikację przez długi czas.

Statyczne wpisy ARP (arp -s w Windows, ip neigh add w Linux) są odporne na ataki, ponieważ nie ulegają przedawnieniu i nie mogą być nadpisane przez ARP Reply.

Jednak ręczne zarządzanie statycznymi wpisami w większych sieciach jest niepraktyczne.

10/22 ARP w Cisco IOS i RouterOS
! Cisco IOS – diagnostyka ARP
show arp
! Wyświetla tablicę ARP: IP, MAC, typ enkapsulacji, interfejs

show ip arp 192.168.1.10
! Szczegóły konkretnego wpisu ARP

clear arp-cache
! Wyczyszczenie tablicy ARP (ostrożnie – chwilowy wzrost ruchu)
# RouterOS – diagnostyka ARP
/ip arp print
# Lista wpisów ARP: IP, MAC, interfejs, status

/ip arp print detail
# Szczegółowe informacje o wpisach ARP

/ip neighbor print
# Odkrywanie sąsiadów (MikroTik NDP.Neighbor Discovery)

W Cisco IOS polecenie show arp wyświetla adresy IP i MAC w sieciach podłączonych do routera.

W RouterOS /ip arp print pokazuje podobne informacje.

Oba systemy umożliwiają dodanie statycznego wpisu ARP .

Polecenie show arp w Cisco IOS wyświetla sześć kolumn: Protocol (Internet dla IPv4), Address (IP), Age (wiek w minutach), Hardware Addr (adres MAC), Type (ARPA dla Ethernet) oraz Interface.

Wiek 0 oznacza wpis świeżo dodany, a '-' oznacza wpis statyczny.

W przypadku problemów z komunikacją pierwszym krokiem jest sprawdzenie, czy docelowy host widnieje w tablicy ARP z poprawnym adresem MAC.

W RouterOS polecenie /ip arp print wyświetla podobne informacje: ADDRESS, MAC-ADDRESS, INTERFACE, STATUS (reachable, stale, delay, probe, permanent).

STATUS reachable oznacza, że wpis jest aktywny i potwierdzony.

STATUS stale oznacza, że wpis wygasł i czeka na potwierdzenie.

RouterOS używa mechanizmów NUD (Neighbor Unreachability Detection) podobnych do IPv6 NDP.

Oba systemy pozwalają na dodanie statycznego wpisu ARP: w Cisco IOS arp 192.168.1.10 aaaa.bbbb.cccc ARPA, w RouterOS /ip arp add address=192.168.1.10 mac-address=AA:BB:CC:DD:EE:FF interface=ether1.

Statyczne wpisy ARP są używane dla urządzeń krytycznych (serwery, routery), aby zapobiec atakom ARP spoofing.

11/22 Komunikacja w tym samym segmencie

Sekwencja krok po kroku:

  1. Host A (192.168.1.10/24, MAC_A) chce wysłać dane do hosta B (192.168.1.20/24). Sprawdza maskę – oba adresy należą do sieci 192.168.1.0/24. Komunikacja będzie bezpośrednia.
  2. Host A zagląda do tablicy ARP. Jeśli nie ma wpisu dla 192.168.1.20, wysyła ARP Request (broadcast): "kto ma 192.168.1.20?". SA=MAC_A, DA=FF:FF:FF:FF:FF:FF.
  3. Host B odbiera ARP Request i odpowiada ARP Reply (unicast): SA=MAC_B, DA=MAC_A.
  4. Host A zapisuje w tablicy ARP: 192.168.1.20 -> MAC_B.
  5. Host A tworzy ramkę danych: SA=MAC_A, DA=MAC_B. Wysyła przez przełącznik.

Adresy MAC nie zmieniają się.

Gdy host A i host B znajdują się w tej samej podsieci (np. 192.168.1.0/24), komunikacja odbywa się bezpośrednio przez przełącznik.

Kluczowe: w całym procesie adresy MAC w ramce pozostają niezmienione.

SA to zawsze MAC_A, DA to zawsze MAC_B.

Przełącznik nie modyfikuje tych adresów MAC.

Komunikacja w jednym segmencie jest najprostszym przypadkiem transmisji w sieci Ethernet.

Host źródłowy przed wysłaniem danych musi poznać adres MAC hosta docelowego.

Jeśli nie ma go w tablicy, wysyła zapytanie ARP Request broadcastem.

Zapytanie dociera do wszystkich urządzeń w domenie rozgłoszeniowej (wszystkie porty przełącznika), ale tylko host z szukanym adresem IP odpowiada.

Po poznaniu adresu MAC hosta docelowego host A tworzy ramkę Ethernet z adresem źródłowym MAC_A i docelowym MAC_B.

Ramka trafia do przełącznika, który sprawdza docelowy adres MAC w swojej tablicy.

Jeśli zna port, na którym znajduje się MAC_B, forwarduje ramkę tylko na ten port.

Jeśli nie zna, flooduje na wszystkie porty oprócz źródłowego.

Router nie bierze udziału w komunikacji, ponieważ oba hosty są w tej samej podsieci.

Adresy IP źródła i docelowego również pozostają te same, ale to oczywiste – nie zmieniają się nigdy, niezależnie od trasy.

12/22 W tym samym segmencie – adresy MAC się nie zmieniają
Złota zasada L2: W jednej podsieci (ta sama sieć IP, ta sama domena rozgłoszeniowa) adresy MAC źródłowe i docelowe w ramce Ethernet pozostają niezmienione przez całą trasę od nadawcy do odbiorcy.
To najważniejsza zasada komunikacji w sieci lokalnej: w obrębie jednej podsieci adresy MAC źródłowy i docelowy w ramce nie zmieniają się.

Oznacza to, że ramka wysłana przez hosta A z SA=MAC_A i DA=MAC_B dociera do hosta B z dokładnie tymi samymi adresami MAC.

Przełącznik nie modyfikuje ramki – jedynie dostarcza ją do właściwego portu.

Schemat ramki na całej trasie: [DA=MAC_B | SA=MAC_A | EtherType=0x0800 | IP_src=A | IP_dst=B | dane]. Żadne z tych pól nie zmienia się podczas przejścia przez przełącznik.

Przełącznik działa wyłącznie na podstawie adresu MAC docelowego (DA), aby podjąć decyzję o forwardowaniu.

Zasada niezmienności adresów MAC w segmencie lokalnym jest fundamentalna i często mylona przez początkujących.

Warto porównać to z routerem, który działa w warstwie 3.

Stara ramka jest odrzucana.

W segmencie lokalnym adresy MAC są stałe.

Przełącznik jest urządzeniem warstwy 2 – operuje na ramkach, ale ich nie modyfikuje.

Jego zadaniem jest dostarczenie ramki do właściwego portu na podstawie docelowego adresu, nic więcej.

Router odbiera ramkę, wyciąga z niej pakiet IP, podejmuje decyzję routingu, a następnie tworzy NOWĄ ramkę z nowymi adresami MAC.

Nowa ramka ma SA = adres MAC interfejsu wyjściowego routera i DA = adres MAC następnego skoku (lub hosta docelowego).

Ta różnica jest kluczowa dla zrozumienia, dlaczego narzędzia takie jak Wireshark pokazują różne adresy MAC na różnych odcinkach trasy, gdy pakiet przechodzi przez routery.

Przy przejściu przez router – zmieniają się na każdym skoku.

13/22 Router i brama domyślna

Mechanizm decyzyjny na hoście:

  1. Host wykonuje AND swojego adresu IP z maską -> otrzymuje adres swojej sieci.
  2. Host wykonuje AND adresu docelowego z tą samą maską.
  3. Jeśli wyniki są identyczne -> cel w tej samej sieci, komunikacja bezpośrednia (bez routera).
  4. Jeśli wyniki różne -> cel w innej sieci, pakiet kierowany do bramy domyślnej.

Router to urządzenie warstwy 3, które łączy różne sieci IP.

Każdy interfejs routera należy do innej podsieci.

Gdy host chce wysłać pakiet do adresu spoza swojej podsieci, kieruje go do bramy domyślnej (default gateway), czyli adresu IP routera w swojej sieci.

Host poznaje adres MAC bramy domyślnej przez ARP Request na adres IP bramy.

Następnie tworzy ramkę z DA=MAC_bramy, SA=MAC_hosta.

Router odbiera ramkę i decyduje, co zrobić z pakietem.

W sieciach z DHCP adres bramy jest przekazywany automatycznie.

W kontekście adresów MAC kluczowe jest to, że host tworzy ramkę z docelowym adresem MAC bramy domyślnej, a nie hosta docelowego.

To router musi dostarczyć pakiet do docelowej sieci.

Brama domyślna jest jednym z najważniejszych parametrów konfiguracyjnych hosta.

Bez niej host nie ma możliwości komunikacji z urządzeniami spoza własnej podsieci.

W systemach Windows bramę domyślną konfiguruje się w ustawieniach karty sieciowej, w Linux za pomocą polecenia ip route add default via [adres].

Mechanizm decyzyjny hosta opiera się na prostej operacji logicznej AND.

Na przykład host z adresem 192.168.1.10/24 (maska 255.255.255.0) ma adres sieci 192.168.1.0.

Jeśli cel ma adres 10.0.0.2, to AND z maską 255.255.255.0 daje 10.0.0.0, co różni się od 192.168.1.0 – pakiet idzie przez bramę.

Host docelowy jest w innej sieci, więc host źródłowy nie może poznać jego adresu MAC przez ARP (działa tylko w obrębie własnej podsieci).

14/22 Trasa domyślna i routing statyczny

Typy tras:

  • Trasy bezpośrednie (connected) – dodawane automatycznie dla sieci podłączonych do interfejsów routera.
  • Trasy statyczne – konfigurowane ręcznie przez administratora. Wskazują, przez który interfejs lub do którego next-hopu wysłać pakiety dla danej sieci.
  • Trasa domyślna (default route) – 0.0.0.0/0. Używana dla pakietów, których adres docelowy nie pasuje do żadnej konkretnej trasy.

Router podejmuje decyzje o przekazywaniu pakietów na podstawie tablicy routingu.

Tablica zawiera wpisy: sieć docelowa, maska, następny skok (next-hop / gateway), interfejs wyjściowy, metryka.

Router wybiera trasę według zasady najdłuższego dopasowania prefiksu (Longest Prefix Match).

Im dłuższa maska, tym bardziej specyficzna trasa i wyższy priorytet.

Nie są potrzebne żadne dodatkowe trasy statyczne.

Zasada najdłuższego dopasowania prefiksu (Longest Prefix Match) gwarantuje, że najbardziej szczegółowa trasa jest zawsze wybierana.

To kluczowy mechanizm poprawności routingu.

Routing statyczny jest najprostszą formą routingu – administrator ręcznie definiuje trasy do wszystkich sieci, do których router nie ma bezpośredniego połączenia.

W przypadku naszej topologii z jednym routerem, jeśli router łączy dwie sieci (np. 192.168.1.0/24 i 192.168.2.0/24), trasy do tych sieci są dodawane automatycznie jako connected.

Trasa domyślna (0.0.0.0/0) jest używana, gdy router ma wysłać pakiet do sieci spoza swoich bezpośrednio podłączonych sieci.

W praktyce trasa domyślna prowadzi do routera dostawcy Internetu (ISP).

Bez trasy domyślnej router odrzuca pakiety do nieznanych sieci, odpowiadając komunikatem ICMP Destination Unreachable.

Jeśli router ma trasę 0.0.0.0/0 (domyślną) i trasę 192.168.1.0/24, to pakiety do 192.168.1.100 zostaną skierowane według bardziej szczegółowej trasy /24, a nie domyślnej.

15/22 Komunikacja między segmentami – przez router

Sekwencja krok po kroku:

  1. Host A sprawdza – adres hosta C jest w innej sieci. Wysyła ARP Request na bramę (192.168.1.1). Router odpowiada ARP Reply z MAC_R1 (interfejs eth0).
  2. Host A tworzy ramkę: SA=MAC_A, DA=MAC_R1. Pakiet: IP_src=192.168.1.10, IP_dst=192.168.2.20.
  3. Router odbiera ramkę, odczytuje pakiet IP, sprawdza tablicę routingu. Sieć 192.168.2.0/24 jest dostępna przez interfejs eth1.
  4. Router wysyła ARP Request w sieci 192.168.2.0: "kto ma 192.168.2.20?". Host C odpowiada ARP Reply z MAC_C.
  5. Router tworzy nową ramkę: SA=MAC_R1_eth1, DA=MAC_C. Pakiet IP (bez zmian) jest enkapsulowany i wysyłany.

Oba hosty są w różnych podsieciach.

Router łączy obie sieci.

Host A (192.168.1.10/24, MAC_A) chce wysłać dane do hosta C (192.168.2.20/24, MAC_C).

Router musi teraz poznać adres MAC hosta C w tej sieci.

W tym celu wysyła ARP Request broadcast na interfejsie eth1.

Host C odpowiada ARP Reply.

Stara ramka, która przyszła na eth0, jest odrzucana.

Komunikacja między różnymi podsieciami wymaga udziału routera jako pośrednika.

Host źródłowy nie może wysłać ramki bezpośrednio do hosta docelowego, ponieważ ten znajduje się w innej sieci – ARP działa tylko w obrębie jednej podsieci.

Dlatego host źródłowy wysyła ramkę do bramy domyślnej, której adres MAC poznaje przez ARP.

Router po otrzymaniu ramki na interfejsie eth0 odczytuje z niej pakiet IP.

Sprawdza docelowy adres IP w tablicy routingu i stwierdza, że sieć 192.168.2.0/24 jest bezpośrednio podłączona do interfejsu eth1.

Po poznaniu adresu MAC hosta C router tworzy całkowicie nową ramkę Ethernet.

Nowa ramka ma źródłowy adres MAC równy adresowi MAC interfejsu eth1 routera i docelowy adres MAC równy adresowi MAC hosta C.

Pakiet IP wewnątrz ramki pozostaje bez zmian – adresy IP źródła i docelowego oraz dane wyższych warstw są identyczne.

16/22 Zmiana adresów MAC na routerze – kluczowy mechanizm
ElementOdcinek A -> RouterOdcinek Router -> C
DA (MAC docelowy)MAC_R1 (brama)MAC_C (host docelowy)
SA (MAC źródłowy)MAC_A (host źródłowy)MAC_R1_eth1 (interfejs routera)
IP źródłowy192.168.1.10192.168.1.10 (bez zmian)
IP docelowy192.168.2.20192.168.2.20 (bez zmian)
Port TCP/UDP(bez zmian)(bez zmian)
TTL128127 (zmniejszony o 1)

To najważniejszy slajd prezentacji.

Zasada: router tworzy nową ramkę Ethernet na każdym interfejsie wyjściowym.

Adresy MAC zmieniają się na każdym skoku (hopie).

Adresy IP warstwy 3 pozostają niezmienione na całej trasie od źródła do celu.

Gdy pakiet przechodzi przez router, adresy MAC w ramce ulegają zmianie.

Natomiast adresy IP w pakiecie pozostają bez zmian.

Zmiana adresów MAC na routerze jest fundamentalnym mechanizmem routingu IP, który odróżnia go od przełączania warstwy 2.

Router, jako urządzenie warstwy 3, nie forwarduje ramek – forwarduje pakiety.

Oznacza to, że odbiera ramkę, wyciąga z niej pakiet IP, podejmuje decyzję routingu, a następnie enkapsuluje pakiet w nowej ramce dostosowanej do sieci, do której pakiet ma trafić.

Każda nowa ramka ma adres MAC źródłowy równy adresowi MAC interfejsu wyjściowego routera.

Adres MAC docelowy to adres MAC następnego skoku – w przypadku bezpośredniego połączenia jest to adres MAC hosta docelowego, w przypadku wielu routerów – adres MAC następnego routera na trasie.

Adresy IP źródła i docelowego nigdy nie zmieniają się podczas routingu (chyba że zastosowano NAT, który modyfikuje adresy IP).

To kluczowa cecha umożliwiająca działanie Internetu – aplikacje widzą zawsze te same adresy IP, niezależnie od liczby routerów na trasie.

Jedynym polem w nagłówku IP, które zmienia się na każdym routerze, jest TTL (Time to Live), dekrementowany o 1 na każdym hopie.

17/22 Porównanie: segment lokalny vs przez router
CechaTen sam segment (L2)Różne segmenty (L3)
Urządzenie pośredniczącePrzełącznik (switch)Router
Warstwa działaniaL2 (łącza danych)L3 (sieciowa)
Decyzja na podstawieDocelowego adresu MACDocelowego adresu IP
SA (MAC źródłowy)Nie zmienia sięZmienia się na każdym routerze
DA (MAC docelowy)Nie zmienia sięZmienia się na każdym routerze
IP źródłowy i docelowyNie zmieniają sięNie zmieniają się
TTLNie zmienia sięDekrementowany o 1
ARP na kogo?Na hosta docelowegoNa bramę domyślną (router)
Ramka EthernetTa sama na całej trasieNowa na każdym odcinku

Przełącznik nie modyfikuje ramki – forwarduje ją w całości.

Router odrzuca starą ramkę i tworzy nową, dostosowaną do sieci wyjściowej.

Tabela porównawcza zestawia wszystkie kluczowe różnice między komunikacją w jednym segmencie (przez przełącznik) a komunikacją między segmentami (przez router).

Warto zwrócić uwagę na wiersz dotyczący TTL.

TTL

Najważniejszy wniosek: przełącznik nie modyfikuje ramki, router tworzy nową ramkę.

To rozróżnienie jest fundamentalne dla zrozumienia działania sieci IP.

W segmencie lokalnym ARP jest wysyłany bezpośrednio na hosta docelowego.

Przy komunikacji przez router ARP jest wysyłany na bramę domyślną (pierwszy hop) i ponownie przez router na hosta docelowego (drugi hop).

W przypadku wielu routerów ARP jest wykonywany na każdym skoku.

Gdy TTL osiągnie 0, router odrzuca pakiet i wysyła do nadawcy komunikat ICMP Time Exceeded.

Mechanizm ten zapobiega zapętleniu pakietów w sieci w przypadku błędów konfiguracji routingu.

W segmencie lokalnym TTL nie zmienia się, ponieważ przełącznik nie analizuje nagłówka IP.

18/22 Konfiguracja – Cisco IOS
! Konfiguracja interfejsów routera
interface fastEthernet 0/0
 ip address 192.168.1.1 255.255.255.0
 no shutdown
exit

interface fastEthernet 0/1
 ip address 192.168.2.1 255.255.255.0
 no shutdown
end

! Trasy statyczne (opcjonalne – obie sieci są connected)
! Trasa domyślna do Internetu (jeśli potrzebna):
ip route 0.0.0.0 0.0.0.0 10.0.0.1

! Diagnostyka
show ip interface brief
show ip route
show arp

Po skonfigurowaniu interfejsów i nadaniu hostom adresów MAC i IP z bramami domyślnymi (192.168.1.1 i 192.168.2.1), ping między hostami powinien działać.

Polecenie show arp pokaże wpisy ARP routera dla obu sieci.

Topologia: dwa hosty w różnych podsieciach, jeden router z dwoma interfejsami.

Router pełni rolę bramy domyślnej dla obu sieci.

Konfiguracja routera Cisco w topologii z dwoma sieciami jest stosunkowo prosta.

Każdy interfejs otrzymuje adres IP z innej podsieci i jest aktywowany poleceniem no shutdown.

Router automatycznie dodaje trasy connected do tablicy routingu, więc nie są potrzebne żadne dodatkowe trasy statyczne, aby umożliwić komunikację między tymi dwiema sieciami.

Hosty muszą mieć skonfigurowaną bramę domyślną wskazującą na adres IP routera w swojej sieci.

Dla PC1 bramą jest 192.168.1.1 (F0/0 routera), dla PC2 bramą jest 192.168.2.1 (F0/1 routera).

Bez poprawnej bramy domyślnej host nie będzie mógł wysyłać pakietów do innych sieci.

Polecenie show ip interface brief pozwala szybko sprawdzić, czy interfejsy są w stanie up/up i mają poprawne adresy IP.

Polecenie show ip route wyświetla tablicę routingu – obie sieci powinny być widoczne jako connected (C).

Polecenie show arp pokazuje adresy MAC hostów w obu sieciach, które router poznał przez ARP podczas komunikacji.

19/22 Konfiguracja – RouterOS
# Konfiguracja adresów IP na interfejsach
/ip address add address=192.168.1.1/24 interface=ether1
/ip address add address=192.168.2.1/24 interface=ether2

# Wyświetlenie adresów MAC i tablicy routingu
/ip address print
/ip route print

# Trasa domyślna (jeśli potrzebna)
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1

# Diagnostyka ARP
/ip arp print

RouterOS automatycznie dodaje trasy connected dla obu interfejsów.

Hosty konfiguruje się z adresami IP i bramami domyślnymi (192.168.1.1 i 192.168.2.1).

Polecenie /ip arp print pokazuje tablicę ARP z adresami MAC hostów.

Analogiczna konfiguracja w RouterOS (MikroTik).

Router łączy dwie sieci, pełniąc rolę bramy domyślnej.

Trasy connected są dodawane automatycznie.

RouterOS oferuje również zaawansowane funkcje związane z ARP.

Domyślnie ARP jest włączony na wszystkich interfejsach.

Konfiguracja w RouterOS jest bardzo podobna do Cisco IOS, różni się głównie składnią poleceń.

W RouterOS adresy IP przypisuje się do interfejsów poleceniem /ip address add.

Tablicę routingu przegląda się poleceniem /ip route print, które pokazuje flagi: C (connected), S (static), D (dynamic).

Można zmienić tryb ARP na interfejsie: enabled (domyślnie), disabled (wyłączony), proxy-arp (odpowiada na ARP w imieniu innych hostów), reply-only (tylko odpowiada, nie wysyła zapytań).

Tryb reply-only jest używany na interfejsach, gdzie nie chcemy, aby RouterOS inicjował zapytania ARP.

Warto również wspomnieć o funkcji /ip neighbor print, która wyświetla sąsiadów MikroTik wykrytych przez protokół MNDP (MikroTik Neighbor Discovery Protocol).

Jest to przydatne narzędzie do mapowania sieci i identyfikacji urządzeń MikroTik w sieci lokalnej, działające podobnie do CDP (Cisco Discovery Protocol) w urządzeniach Cisco.

20/22 Diagnostyka – ping, ARP, traceroute
! Cisco IOS – diagnostyka
ping 192.168.2.10
! Sprawdzenie komunikacji między sieciami

traceroute 192.168.2.10
! Wyświetlenie ścieżki (hopów) do celu

show arp
! Tablica ARP – sprawdzenie, czy router zna MAC hostów

show mac-address-table
! Tablica MAC na przełączniku – sprawdzenie, na którym porcie jest host
# RouterOS – diagnostyka
/tool traceroute 192.168.2.10
# Śledzenie trasy pakietu

/ip arp print
# Wyświetlenie tablicy ARP

/interface bridge host print
# Tablica MAC mostu (uczone adresy)

W Linux: ip neigh show lub arp -n.

W systemie Windows do podejrzenia tablicy ARP służy polecenie arp -a.

Podstawowe narzędzia do weryfikacji komunikacji i obserwacji zmiany adresów MAC:

Drugim krokiem jest ping na adres hosta w drugiej sieci.

Jeśli ping działa, routing jest poprawny.

Jeśli nie – sprawdzamy tablicę routingu na routerze.

Każdy router na trasie jest widoczny jako osobny hop.

To potwierdza, że pakiet przeszedł przez router.

Adresy IP źródła i docelowego są identyczne w obu ramkach.

Diagnostyka problemów z komunikacją między sieciami powinna zawsze zaczynać się od sprawdzenia podstaw.

Pierwszym krokiem jest ping na bramę domyślną – jeśli ping nie działa, problem leży w warstwie 2 lub konfiguracji IP hosta.

Polecenie traceroute (tracert w Windows) pokazuje ścieżkę, jaką pokonuje pakiet od źródła do celu.

W przypadku naszej topologii z jednym routerem traceroute pokaże dwa hopy: adres bramy domyślnej i adres hosta docelowego.

W Packet Tracer tryb Simulation jest najlepszym narzędziem do obserwacji zmiany adresów MAC.

Po uruchomieniu ping z PC1 do PC2 w trybie Simulation, każda ramka jest widoczna na każdym odcinku.

Kliknięcie na ramkę pokazuje szczegóły: na odcinku PC1->Router adresy to MAC_PC1 i MAC_R1, na odcinku Router->PC2 adresy to MAC_R1_eth1 i MAC_PC2.

21/22 Najlepsze praktyki
  • Sprawdzaj tablicę ARP – przy problemach z komunikacją pierwszym krokiem jest show arp (Cisco) lub /ip arp print (RouterOS). Sprawdź, czy docelowy host ma poprawny wpis ARP.
  • Pamiętaj o bramie domyślnej – bez poprawnej bramy domyślnej host nie komunikuje się poza własną podsiecią. To najczęstszy błąd konfiguracyjny.
  • Routing musi być symetryczny – trasa w obie strony musi działać. Sprawdź tablicę routingu na routerze dla obu kierunków.
  • Zrozum różnicę L2 vs L3 – przełącznik nie zmienia adresów MAC, router zmienia. To kluczowe dla diagnostyki.
  • Używaj trybu Simulation w Packet Tracer – najlepsze narzędzie do wizualizacji zmiany adresów MAC i zrozumienia routingu.
  • Statyczne wpisy ARP dla serwerów – dodaj statyczne wpisy ARP dla kluczowych serwerów, aby zapobiec atakom ARP spoofing.
  • Monitoruj TTL – jeśli ping z różnych lokalizacji pokazuje różne wartości TTL, oznacza to różną liczbę routerów na trasie.

Najlepsze praktyki przedstawione na tym slajdzie wynikają z wieloletniego doświadczenia w administracji sieciami LAN.

Sprawdzanie tablicy ARP jest zawsze pierwszym krokiem w diagnostyce, ponieważ brak wpisu ARP lub nieprawidłowy adres MAC natychmiast wyjaśnia problem.

W środowiskach produkcyjnych warto monitorować tablicę ARP pod kątem nieoczekiwanych zmian, które mogą świadczyć o ataku ARP spoofing.

Brama domyślna jest najczęściej pomijanym elementem konfiguracji.

Nawet doświadczeni administratorzy czasami zapominają o jej ustawieniu na nowo skonfigurowanym hoście.

W sieciach z DHCP brama jest przekazywana automatycznie, ale w konfiguracji statycznej trzeba o niej pamiętać.

Warto również sprawdzić, czy adres bramy domyślnej jest poprawny i czy router jest osiągalny.

Symetria routingu oznacza, że trasa powrotna musi działać tak samo dobrze jak trasa w przód.

W przypadku naszej topologii z jednym routerem symetria jest zapewniona automatycznie, ponieważ router ma trasy connected do obu sieci.

W bardziej złożonych topologiach z wieloma routerami brak trasy powrotnej jest najczęstszym błędem.

Zawsze sprawdzaj routing w obu kierunkach za pomocą ping i traceroute.

22/22 Podsumowanie

Najważniejsze wnioski:

  • Ramka Ethernet zawiera dwa adresy MAC: źródłowy (SA) i docelowy (DA). Przełącznik forwarduje ramki na podstawie DA, ale nie modyfikuje adresów MAC.
  • W obrębie jednej podsieci (tej samej domeny rozgłoszeniowej) adresy MAC w ramce nie zmieniają się – są takie same na całej trasie od nadawcy do odbiorcy.
  • ARP (Address Resolution Protocol) mapuje adresy IP na adresy MAC. Działa tylko w obrębie jednej podsieci. ARP Request = broadcast, ARP Reply = unicast.
  • Gdy host komunikuje się z inną podsiecią, wysyła pakiet do bramy domyślnej (routera). Adres MAC docelowy ramki to adres MAC routera, a nie hosta docelowego.
  • Router odbiera ramkę, odczytuje pakiet IP, sprawdza tablicę routingu i tworzy nową ramkę z własnym adresem MAC jako źródłowym i adresem MAC następnego skoku jako docelowym.
  • Adresy IP źródła i docelowego oraz dane wyższych warstw nie zmieniają się podczas przejścia przez router – zmieniają się tylko adresy MAC warstwy 2.
  • TTL w nagłówku IP jest dekrementowany o 1 na każdym routerze, co zapobiega zapętleniu pakietów.
Zrozumienie tego mechanizmu jest kluczowe przed przejściem do bardziej zaawansowanych zagadnień, takich jak routing dynamiczny, firewall czy NAT.

Prezentacja przedstawiła trzy ściśle powiązane zagadnienia: budowę ramki Ethernet i adresację, protokół ARP oraz zmiany adresów MAC podczas routingu.

Kluczowym wnioskiem jest rozróżnienie między przełączaniem warstwy 2 (adresy MAC nie zmieniają się) a routingiem warstwy 3 (adresy MAC zmieniają się na każdym routerze).

To rozróżnienie jest fundamentalne dla zrozumienia działania sieci IP.

Protokół ARP jest niezbędnym mechanizmem łączącym adresację IP (warstwa 3) z adresacją MAC (warstwa 2).

Bez ARP hosty nie mogłyby komunikować się nawet w obrębie jednej podsieci, ponieważ nie znałyby adresów MAC swoich sąsiadów.

Routery również używają ARP do poznania adresów MAC hostów w sieciach, do których mają bezpośrednie połączenie.

Routing statyczny, choć prosty, doskonale ilustruje zasadę zmiany adresów MAC na routerze.

W topologii z jednym routerem i dwoma sieciami, każdy pakiet przechodzący między sieciami ma zmieniane adresy MAC dokładnie raz – na routerze.

W sieciach z wieloma routerami adresy MAC zmieniają się na każdym hopie.