Proxy ARP

I samband med att konfigurera statiska routingtabeller i en router så stötte jag på en sak som gjorde mig konfunderad.

När man skapar en statisk route så anger man normalt IP-adress för nästa hopp. Med hjälp av denna adress så används sedan ARP för att få MAC-adress till nästa-hopp och kan skapa korrekt lager2-frame. 

Nu visar det sig att man för vissa routrar, exempelvis CISCO, inte behöver ange IP-adress utan det räcker med interface. Det som gjorde mig konfunderad är hur man då kan få reda på en MAC-adress för att skapa korrekt meddelande på lager 2. Lösningen var att det används en teknik som kallas Proxy ARP. Med Proxy ARP så frågar en router efter MAC-adress till slutdestinationen med ett ARP-meddelande. Detta trots att denna IP-adress inte finns på detta LAN. ARP-meddelanden skickas dessutom med boradcast layer2, vilket gör att de inte får routas. Hur får då vår router rätt adress? Anledningen är att en router som har en väg till målet svarar på ARP-förfrågan med sin egen MAC-adress. Därefter så kan vår router skapa rätt adress. Alltså fungerar det, men jag är inte helt nöjd utan har ett par funderingar?

  1. Prestanda. Blir det fler ARP-förfrågningar?
  2. Säkerhet. Tanken är att vi vet vilken router som ska svara på ARP-förfrågan. Men tänk om en annan router svarar i stället för den äkta. Då kan paketet visserligen nå målet men med en annan väg än den vi tänkte. Om man nu väljer statisk routing så borde vi se till att ange fullständig information. Om inte kan väl ett routingprotokoll likt OSPF användas.

Jag får kanske kopplaupp och testa. Jag skulle också fundera kring en miljö där man kan mäta lite mer statistik för att se prestanda.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *