[megoldva]arp+routing tábla

Sziasztok!

Hogyan müködik az arp és a routing tábla?

Arp kéréssel  felkutatjuk azt hogy hogy az adott IP címhez milyen MAC cím tartozik.

Ez az elsődleges. Utánna ha megvan a MAC címünk akkor a hálózatot térképezzük fel hogy a megadott IP címre milyen útvonalon jutunk el. Ez pedig a routing táblában tárolódik.

 

Ez a logika megállja a helyét?

Hozzászólások

Szerkesztve: 2022. 05. 18., sze – 14:57

Ha vizsga kérdés, akkor azt írd, ahogy a tanár gondolja. :) Ez tipikusan ilyen kérdés. Lehet még egy hány éves a kapitány is jó lenne a végére.

Az ARP tábla az L2-L3 közötti fordításban játszik szerepet.

A routing tábla pedig akkor amikor nem saját hálózatodba akarod címezni a csomagot. Ha saját hálózatodba akarsz adatot küldeni, amit eldönt a küldő és fogadó IP címe és netmaskja akkor ARP alapján ott van kihez kell mennie, meg van a MAC address-e.
Ha nem a saját hálózatod akkor routing tábla szerint végigmegy a router, ahol számít a distance, és maszk érték is, esetleg még valami egyéb. Ha talált megfelelő útvonalat akkor L3-ban továbbítja az adatot, majd az ottani eszköz fogja L2-re fordítani az adott célállomásnak. Ha nincs megfelelő útvonal akkor marad a DEFAULT 0.0.0.0/0, ez szokott lenni az otthoni routerekbe az internet felé a gateway.

Azt, hogy ARP vagy routing tábla, azt az dönti el, hogy egy hálózatban van-e a küldő és fogadó fél.

Javítom...

A kérdés önmagában megválaszolható.
Viszont ami elképzelést írtál rá, azt kb 10x olvastam el, hogy mit is akarsz. L1-L7 logikája megvan? Az, hogy akámelyik szint a másik oldalon azonos szinten transzparens (talán ez rá a jó szó). Pont az a rétegeknek a lényege, hogy nem érdekel mi van alatta. Pl. L1-ben áram vagy éppen fény viszi nem érdekel. L7-ben facebookon nyomom éppen a lájkot. Odaér. Ennyi.
Ha L3-ban (IP) küldesz a hálózatodból kifelé valamit akkor az L2 (MAC) mint olyan majd a router dolga az adott hálózat felé.

Két hálózat két routerje között tipped hogy megy át az adat? Az interfész MAC addresseivel vagy a belső hálózaton lévő kínai dobozzal aminek a gyárból mindegyiknek azonos MAC address-je lett?

A routing L3, az ARP L2. L3 hamarabb van, ott eldől hogy routing lesz-e vagy saját hálózat-e. Ha saját hálózat akkor ARP.

Egyaltalan nem... akivel azonos IP halozaton vagy (== azonos broadcast domain-ben), azzal ARP-zel es direktben kommunikalsz, egyebkent route lookup es irany a megfelelo router.

A MAC címeknek csak egy úgynevezett broadcast domain-en belül van jelentőségük. Ha egy adott IP című host felé akarok adatot küldeni, akkor először is megnézem, hogy a saját alhálózatomban van-e. Ha igen, akkor küldök egy ARP broadcast-et, ami a cél IP címet tartalmazza, és szerencsés esetben a cél a saját MAC címével válaszol. Ekkor már felépülhet a Layer 2 kapcsolat, amin mehet az IP kommunikáció és feljebb egészen Layer 7-ig.

Ha a cél IP nem a saját alhálózatomban van, akkor a default gateway-en megy ki a csomag, vagy ha van routing tábla, akkor azon keresem ki, hogy merre küldjem. Ekkor nem vagyok kíváncsi a cél MAC címére. De itt mégis megint képbe jön az ARP, a default gateway IP címéből meg kell tudnom a MAC címét, és oda kell küldenem a frame-et (amibe be van csomagolva az IP csomag, amibe be van csomagolva a TCP session, amibe be van csomagolva a .... stb. stb.)

Nem ez van helyette? Erre IS való, többek között.

...
The protocol defines five ICMPv6 packet types to perform functions for IPv6 similar to the Address Resolution Protocol (ARP) and Internet Control Message Protocol (ICMP) Router Discovery and Router Redirect protocols for IPv4. 
....
Address resolution: mapping between IP addresses and link-layer addresses.
....

https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol

Szerintem az alap probléma nem ez, hanem nem érti a rétegeket. Nem álmodból felkeltve kell tudni, hogy melyik szinten mi van. Hanem azt kell megérteni, hogy a szintek között valami módosul (hozzáteszünk, elveszünk, átalakítunk), de a másik oldal azonos szinten azonos lesz. L3 -> L2 között valahogy át kell fordítani az IP-t MAC-re, erre való az ARP. Persze mehetünk tovább is, hogy az L2-t át kell fordítani L1-re, így lesz belőle impulzus, áram, fény, rádió hullám, hang, postagalamb, stb...

Eddig senki sem volt teljesen pontos :-)

Olyan nincs, hogy "amikor az én alhálózatomban van", azaz ha a címünk 192.168.0.1/24, akkor nem feltétlenül küldünk 192.168.0.1-254 közül minden csomagot direktben. Ugyanis senki sem tiltja, hogy legyen pl. egy host route a 192.168.1.111 címre a routing táblában. Ezért első körben mindig a routing lookup történik meg, aminek az eredménye az alábbiak közül valami:

  • a csomagot a localhost-on belül kell kézbesíteni
  • a csomagot direkben kell küldeni a devX interfészen
  • a csomagot broadcast-olni kell a devX interfészen
  • a csomagot multicast-olni kell a devX interfészen
  • a csomagot egy router-nek kell elküldeni a devX interfészen az routerIP címre
  • a csomagot csendben el kell dobni
  • a csomagot el kell dobni, a feladónak valamiféle ICMP üzenetet kell visszaküldeni

A csomagot (pontosabban L2 néven a keretet) az alábbi MAC címre kell továbbítani:

  • ha broadcast kell, akkor a MAC address adott (ff:ff:ff:ff:ff:ff), nincs ARP.
  • a multicast esetén a cél MAC address számítható, nincs ARP
  • ha direktben kell küldeni, akkor jön az ARP, hogy megkapjuk a cél MAC címét
  • ha router kell, akkor a router címét kell ARP-al keresni

Egy kicsit most egyszerűsítettem, mivel point-to-point linkeken pl. nincs ARP :-)