ARP Protocol: Αντιστοίχιση IP Διεύθυνσης με MAC Address
Το ARP (Address Resolution Protocol) χρησιμοποιείται σε δίκτυα IPv4 για να εντοπίζει τη διεύθυνση MAC που αντιστοιχεί σε μια IPv4 διεύθυνση μέσα στο ίδιο τοπικό δίκτυο (broadcast domain). Έτσι, μια συσκευή μπορεί να δημιουργήσει Ethernet frame προς τον επόμενο κόμβο.
Πώς λειτουργεί το ARP
Όταν ένας υπολογιστής θέλει να στείλει δεδομένα σε μια IPv4 διεύθυνση του ίδιου subnet, ελέγχει πρώτα τον ARP cache. Αν δεν υπάρχει καταχώριση, εκπέμπει ARP Request ως broadcast. Η συσκευή που έχει τη συγκεκριμένη IPv4 διεύθυνση απαντά συνήθως με ARP Reply unicast, δηλώνοντας τη MAC διεύθυνσή της.
- ARP Request: ερώτημα broadcast προς το τοπικό δίκτυο: «Ποιος έχει αυτή την IPv4 διεύθυνση;»
- ARP Reply: απάντηση που περιλαμβάνει τη MAC διεύθυνση του κατόχου της IP.
- ARP Cache: προσωρινός πίνακας αντιστοιχίσεων IPv4 και MAC, ώστε να αποφεύγονται επαναλαμβανόμενα αιτήματα.
Παράδειγμα επικοινωνίας
Έστω ότι ο υπολογιστής A (192.168.1.10) θέλει να επικοινωνήσει με τον υπολογιστή B (192.168.1.20) στο ίδιο subnet. Αν δεν γνωρίζει τη MAC του B, στέλνει ARP Request. Ο B απαντά με ARP Reply και ο A αποθηκεύει την αντιστοίχιση στην cache.
Αν ο προορισμός βρίσκεται σε διαφορετικό subnet, ο υπολογιστής δεν αναζητά τη MAC του απομακρυσμένου host. Αναζητά τη MAC της προεπιλεγμένης πύλης (default gateway) και στέλνει σε αυτήν το Ethernet frame, διατηρώντας ως IP προορισμού την τελική διεύθυνση.
Βασικά πεδία ARP message
| Πεδίο | Περιγραφή |
|---|---|
| Hardware Type (HTYPE) | Τύπος δικτύου ζεύξης, π.χ. Ethernet. |
| Protocol Type (PTYPE) | Πρωτόκολλο δικτύου, π.χ. IPv4. |
| Hardware Address Length (HLEN) | Μήκος hardware address σε bytes (6 για Ethernet MAC). |
| Protocol Address Length (PLEN) | Μήκος protocol address σε bytes (4 για IPv4). |
| Operation (OPER) | 1 για Request και 2 για Reply στο Ethernet/IPv4 ARP. |
| Sender / Target Hardware Address | MAC διευθύνσεις αποστολέα και στόχου. |
| Sender / Target Protocol Address | IPv4 διευθύνσεις αποστολέα και στόχου. |
Έλεγχος ARP table
Windows CMD
arp -a
arp -d *
arp -s 192.168.1.20 00-11-22-33-44-55
Η εντολή arp -d * διαγράφει δυναμικές καταχωρίσεις από την cache, ενώ η arp -s προσθέτει στατική αντιστοίχιση. Η συμπεριφορά και τα δικαιώματα εξαρτώνται από την έκδοση και το περιβάλλον εκτέλεσης.
Linux Terminal
ip neigh
ip neigh show
ip neigh flush dev eth0
Το ip neigh εμφανίζει και διαχειρίζεται τον πίνακα γειτόνων. Η εκκαθάριση μπορεί να απαιτεί αυξημένα δικαιώματα και το όνομα interface πρέπει να προσαρμοστεί στο σύστημά σου.
ARP Spoofing και ασφάλεια
Το ARP δεν διαθέτει ενσωματωμένο μηχανισμό αυθεντικοποίησης. Σε ένα τοπικό δίκτυο, ένας κακόβουλος κόμβος μπορεί να επιχειρήσει να διαδώσει πλαστές αντιστοιχίσεις IP–MAC (ARP spoofing/poisoning), με πιθανό αποτέλεσμα την ανακατεύθυνση της κίνησης ή επίθεση Man-in-the-Middle.
- Χρησιμοποίησε Dynamic ARP Inspection (DAI) και DHCP Snooping σε υποστηριζόμενα managed switches.
- Διαχώρισε το δίκτυο με VLANs και περιόρισε την πρόσβαση στις θύρες switch.
- Παρακολούθησε ασυνήθιστες αλλαγές στις αντιστοιχίσεις IP–MAC.
- Σε κρίσιμα περιβάλλοντα αξιολόγησε στατικές εγγραφές όπου είναι διαχειρίσιμες.
Σημείωση: Το ARP αφορά IPv4. Στα IPv6 δίκτυα, αντίστοιχες λειτουργίες γειτονικής ανακάλυψης υλοποιούνται από το Neighbor Discovery Protocol (NDP), το οποίο βασίζεται στο ICMPv6.