Wstęp
Każdy host w sieci Ethernet zazwyczaj posiada dwa adresy
w warstwie L3 adres logiczny IP (v4 lub v6)
w warstwie L2 adres fizyczny MAC
Adres sprzętowy MAC (ang. Media Access Control) systemu sieci Ethernet jest unikalnym identyfikatorem interfejsu sieciowego. Nadawany jest na etapie produkcji i zapisany na stale w pamięci ROM karty sieciowej. Jest to adres o długości 48 bitów i służy do komunikacji tylko w danym segmencie. Czyli aby hosty mogły się komunikować za jego pomocą muszą znajdować się w tym samym segmencie. Unikalność adresów gwarantuje jednoznaczność w adresowaniu hostów. Adres ten jest niepowtarzalny w skali świata ponieważ jest podzielony na dwie części: pierwsza to numer producenta, druga to numer w ramach danego producenta (coś ja numer seryjny).
Umiejscowienie adresu MAC
Adres MAC w sensie logicznym umiejscowiony jest w warstwie drugiej modemu ISO/OSI.
Działanie interfejsu w perspektywie adresacji MAC
Warstwa fizyczna generuje i odbiera sygnały (zależne od medium), odpowiednio je interpretując. W przypadku ruchu przychodzącego do interfejsu warstwa ta rozpoznaje sygnał (np. elektryczny w przypadku Ethernetu po miedzi czyli okablowaniu UTP), „obiera go” z elementów niepotrzebnych w dalszym procesie przetwarzania (np. preambuły) i generuje tzw. ramkę Ethernet, którą przekazuje do warstwy bezpośrednio poprzedzającej czyli drugiej. Od tego momentu surowy sygnał z medium staje się pewną koncepcją w postaci ramki oraz jej zawartości. Ramkę taką można zobaczyć w programie np. Wireshark:
Ramka taka (już po odfiltrowaniu) składa się z adresu MAC docelowego, źródłowego i danych. Koncepcyjnie przypomina to list (dane) w kopercie (adres celu i źródła) wysłanej pocztą (sieć LAN). Poniżej widok ramki Ethernet:
Budowa adresu MAC
Adres sprzętowy czy fizyczny składa się z 48 bitów podzielonych na dwie połowy: od lewej kod producenta (ang. OIU) i kolejno numer nadawany przez producenta.
Przykładowy adres MAC pod MS Windows za pomocą polecenia ipconfig /all:
System Linux wyświetla podobnie ale zamiast myślników używa dwukropka:
…
Powyższe zapisy są pokazane w postaci szesnastkowej i jest do wygodna, dość kompaktowa forma. Jednak aby zapoznać się ze szczegółami trzeba adres MAC zapisać w postaci binarnej.
Przykładowy adres MAC: D0-50-99-2D-61-B0
Korzystając z wyszukiwarki producentów np. https://www.macvendorlookup.com/ sprawdzamy co to produkt:
Tak, płyta pochodzi od ASRock ale sam chip karty sieciowej ro Realtek 8111.
Teraz zamienimy zapis adresu z szesnastkowego na binarny.
Najstarszy oktet adresu MAC zawiera bardzo ważne informacje:
– czy adres jest typu unicast czy nie
– czy został zmodyfikowany czy pochodzi z ROM interfejsu
Dokładnie widać to w przechwyconych ramkach.
– dla adresu unicast, zwykła transmisja między dwoma hostami:
– dla adresu broadcast, transmisja z wybranego hosta do wszystkich w segmencie czyli broadcast:
Wykorzystanie adresów MAC
Adresy sprzętowe znajdują się w każdej ramce Ethernet, a więc są to najczęściej wykorzystane adresy. Jednak są one nierutowalne (nie można za ich pomocą organizować ruchu między sieciami, między routerami. Do tego są przeznaczone adresy logiczne czyli IP. Ponieważ Ethernet nie wie co to jest IP musimy mieć jakiś rodzaj translatora. Takim tłumaczem adresów MAC <–> IP jest protokół ARP, o czym napisano w innych sekcjach kursu.




















