Skip to main content

5.2 Technológia Ethernet a protokol ARP

V dnešných káblových LAN sieťach sa na 1. a 2. vrstve OSI (L1 a L2) používa prakticky výhradne technológia Ethernet a jej protokoly.

Ethernetový rámec

Rámec protokolu ethernet obsahuje dve fyzické adresy - MAC adresu príjemcu (tá je ako prvá) a MAC adresu odosielateľa.

formát ethernetového rámca:
cieľová MAC adresa zdrojová MAC adresa typ a dĺžka údajov údaje (paket) kontrolný súčet
6 B 6 B 2 B 46 až 1500 B 4 B

Okrem uvedených hlavičiek má každý rámec ešte pred hlavičkou takzvanú preambulu - je to záležitosť sieťovej karty a neuvidíme ju ani pri odchytených rámcoch cez WireShark. Slúži na synchronizáciu časovania prijímača s vysielačom.

Rámec nesie údaje (zapuzdrený paket), ktorý musí mať veľkosť aspoň 46 B a bežné maximum je 1500 B. Ostatné údaje v hlavičke (a päte) majú spolu 18 B, čím sa dostávame k celkovej veľkosti rámca od 64 do 1518 B (nerátajúc preambulu).

V skutočnosti môžu byť rámce aj väčšie, nazývajú sa jumbo alebo giant frames. Aby však fungoval ich prenos, musia všetky zariadenia v danom segmente siete podporovať takéto rámce, teda koncové zariadenie, prepínač a cieľové zariadenie alebo smerovač.

Čo ak je treba v rámci preniesť len zopár bajtov údajov?

V takom prípade sa rámec umelo doplní na požadovanú minimálnu veľkosť. Takto to robí aj príkaz ping. Dôvodom súvisí s historickým mechanizmom CSMA/CD, ktorý sme spomínali v predošlej kapitole. Išlo o to, aby odosielateľ stihol detegovať kolíziu skôr, ako skončí vysielanie, a to aj pri najdlhšom povolenom kábli.

Oplatí sa zapnúť podporu jumbo rámcov?

Bežný rámec má 1518 B, z toho je 1500 B v prenášaných údajoch, čo je efektivita 98,8 %. Typický jumbo rámec s 9000 B údajov má efektivitu 99,8 %. Získali by sme teda 1 % navýše k prenosovej rýchlosti, čo môže na gigabitovej sieti byť napríklad 900 vs. 909 Mb/s. Otázne je, či potenciálne problémy s kompatibilitou za to stoja. Určite to nemá zmysel pri komunikácii so zariadeniami mimo našej siete, lebo tam zrejme jumbo rámce nebudú a naše veľké rámce sa budú aj tak rozdeľovať (fragmentovať) na štandardné.

MAC adresa

MAC adresa je 48-bitová a píše sa v šestnástkovej sústave, jednotlivé bajty sú oddelené dvojbodkou alebo pomlčkou, napríklad 01:23:45:67:89:AB. Prvé 3 bajty identifikujú výrobcu a môžeme ho zistiť cez katalógy MAC adries. Ďalšie 3 bajty určil výrobca vo svojej postupnosti, pričom musí zariadiť, aby žiadne zariadenia nemali rovnakú MAC adresu. Ak by sa v jednej sieti stretli viaceré zariadenia s rovnakou MAC adresou, nastal by v ich komunikácii chaos - v praktického hľadiska môžeme povedať, že by ani jednému z nich poriadne nefungovalo sieťové pripojenie.

Hoci je MAC adresa teoreticky nemenná, operačné systémy bežne umožňujú zmeniť MAC adresu - nezmení sa priamo na sieťovom rozhraní, ale operačný systém sa postará o to, aby v odosielaných rámcoch vystupovala iná. V dnešnej dobe už dokonca operačné systémy smartfónov MAC adresu „anonymizujú“ tak, že ju náhodne vygenerujú pre každú Wi-Fi sieť.

MAC adresu počítača môžeme zistiť:

  • vo OS Windows príkazom ipconfig -all,
  • v OS Linux príkazom ip -br l,
  • v MikroTik RouterOS vo WinBox ponuke Interfaces, po otvorení konkrétneho rozhrania.

Nezabudnime, že smerovač má toľko MAC adries, koľko má sieťových rozhraní. Teda náš študijný MikroTik má 5 MAC adries pre ethernetové porty a 2 MAC adresy pre Wi-Fi rozhrania.

Špeciálnym prípadom MAC adresy sú:

  • broadcast adresa FF:FF:FF:FF:FF:FF;
  • multicast adresy začínajúce:
    • 01:00:5E - v nich sú IPv4 multicast pakety,
    • alebo 33:33 - v nich sú IPv6 multicast pakety.

Protokol ARP

Pri bežnej sieťovej komunikácii sa využívajú IP adresy z 3. vrstvy OSI (L3). Keďže pre L2 komunikáciu sú potrebné MAC adresy, je nutné poznať MAC adresu prislúchajúcu buď IP adrese cieľa (pokiaľ je v tej istej sieti) alebo IP adrese smerovača (pokiaľ je cieľ v inej sieti). Toto rieši protokol ARP (Address Resolution Protocol) - pre IP adresu zisťuje MAC adresu. Deje sa to broadcast otázkou, pričom odpoveď sa dočasne zapamätá v ARP tabuľke na zariadení (ARP cache).

Údaje nezostávajú v ARP cache trvalo. Ak zariadenie s daným sieťovým susedom dlhšie nekomunikuje, jeho záznam sa vymaže (po pár minútach). Vďaka tomu má zariadenie aktualizované údaje a spojenie bude fungovať aj v prípade, že sa zmení MAC adresa na niektorej strane.

ARP sa týka len protokolu IPv4. Ako je to s IPv6, sa dozvieme neskôr.

Práca s ARP vo Windows

Vo Windows môžeme zobraziť tabuľku „naučených“ (resp. preložených) MAC adries príkazom arp -a . Pridať statické priradenie adresy je možné príkazom arp -s {IP} {MAC} a zmazať ju cez arp -d {IP}, či zmazať všetky cez arp -d * - je potrebné oprávnenie správcu. Ak je viac sieťových kariet, je potrebné uviesť aj sieťovú kartu: arp -d * {IP} - kde IP je adresa priradená požadovanému sieťovému rozhraniu.

# vypíš ARP tabuľku
arp -a

# pridaj do ARP tabuľky k IP adrese MAC adresu
arp -s 10.110.100.222 AA-AA-AA-AA-AA-AA
arp -a

# vymaž túto adresu
arp -d 10.110.100.222
arp -a

# vymaž celú tabuľku
arp -d *
arp -a

Práca s ARP v Linux

V operačnom systéme Linux môže byť k dispozícii tiež príkaz arp a funguje podobne, akurát pre zobrazenie tabuľky treba zadať arp -n. V moderných inštaláciách však tento príkaz štandardne nie je a okrem možnosti jeho doinštalovania môžeme využiť modernejší variant - príkaz ip neigh, ktorý funguje aj pre IPv6 susedov.

# vypíš ARP tabuľku
ip neigh

# pridaj do ARP tabuľky pre rozhranie enp1s0 k IP adrese MAC adresu
ip neigh add 10.110.100.222 lladdr AA:AA:AA:AA:AA:AA dev enp1s0
ip neigh

# vymaž túto adresu
ip neigh del 10.110.100.222 dev enp1s0
ip neigh

# vymaž celú tabuľku
ip neigh flush all
ip neigh

Práca s ARP v RouterOS

Aj smerovač má svoju ARP tabuľku - zobraziť si ju môžeme cez WinBox ponuku IPARP a tam tiež môžeme mazať i pridávať statické ARP záznamy.

ip-arp.webp

Bezpečnostné riziká súvisiace s ARP

S ARP súvisia aj potenciálne riziká:

ARP broadcast flood: Ide o zahltenie siete ARP otázkami. Útočník môže chrliť masívny prúd ARP otázok a keďže tieto sú všesmerové (broadcast), ochromiť môže celú sieť. Tento problém môže nastať aj svojvoľne v prípade príliš veľkého počtu zariadení a nízkej prenosovej rýchlosti média - teda napríklad ak sa na staršiu sieť Wi-Fi pripojí priveľa návštevníkov podniku. Alebo pokiaľ sa zapne veľmi veľa zariadení naraz.

ARP spoofing: ARP protokol umožňuje poslať „odpoveď“, aj keď sa nikto nepýta. Teda umožňuje oznámiť, že táto konkrétna IP adresa patrí zariadeniu s touto konkrétnou MAC adresou. Pravdivosť tvrdenia nie je možné overiť, čo využije útočník: bráne (smerovaču) bude tvrdiť, že má IP adresu obete a obeti bude tvrdiť, že má IP adresu brány. Tým obe strany budú odovzdávať prenášané rámce útočníkovi a on môže odpočúvať alebo ich manipulovať. Takýto typ útoku sa označuje ako Man-in-the-Middle.