Κάθε κομμάτι υλικού στο τοπικό σας δίκτυο διαθέτει διεύθυνση MAC εκτός από τη διεύθυνση IP που του έχει εκχωρηθεί από τον τοπικό δρομολογητή ή διακομιστή. Σε τι ακριβώς είναι η διεύθυνση MAC;
Η σημερινή συνεδρία Ερωτήσεων & Απαντήσεων μας προσφέρει ευγενική προσφορά του SuperUser - μια υποδιαίρεση του Stack Exchange, μιας ομάδας ιστότοπων Q&A που βασίζεται στην κοινότητα.
Το ερώτημα
Ο αναγνώστης SuperUser Vishnu Vivek είναι περίεργος για τις διευθύνσεις MAC και τη λειτουργία τους:
Κατανοώ ότι οι διευθύνσεις IP είναι ιεραρχικές, έτσι ώστε οι δρομολογητές σε όλο το Διαδίκτυο να γνωρίζουν ποια κατεύθυνση θα προωθήσουν ένα πακέτο. Με διευθύνσεις MAC, δεν υπάρχει ιεραρχία, και έτσι η προώθηση πακέτων δεν θα ήταν δυνατή. Έτσι, οι διευθύνσεις MAC δεν χρησιμοποιούνται για μεταφορά πακέτων.
Δεν νομίζω ότι κάθεται εκεί χωρίς λόγο. Έτσι, η ερώτησή μου είναι, πού ακριβώς παίζει μια διεύθυνση MAC κατά τη μεταφορά πακέτου;
Πού πράγματι; Ποια είναι η συγκεκριμένη λειτουργία της διεύθυνσης MAC;
Η απάντηση
Ο συνεργάτης του SuperUser Werner Henze προσφέρει κάποια εικόνα για τη λειτουργία της διεύθυνσης MAC:
Σε τι χρησιμοποιούνται οι διευθύνσεις MAC;
Οι διευθύνσεις MAC είναι τα βασικά βασικά επίπεδα που κάνουν το δίκτυο που βασίζεται στο ethernet να λειτουργεί.
Κάθε κάρτα δικτύου έχει μια μοναδική διεύθυνση MAC. Τα πακέτα που αποστέλλονται στο ethernet προέρχονται πάντα από μια διεύθυνση MAC και αποστέλλονται σε μια διεύθυνση MAC. Εάν ένας προσαρμογέας δικτύου λαμβάνει ένα πακέτο, συγκρίνει τη διεύθυνση MAC προορισμού του πακέτου με τη διεύθυνση MAC του προσαρμογέα. Εάν οι διευθύνσεις ταιριάζουν, το πακέτο υποβάλλεται σε επεξεργασία, διαφορετικά απορρίπτεται.
Υπάρχουν ειδικές διευθύνσεις MAC, ένα για παράδειγμα είναι ff: ff: ff: ff: ff: ff, που είναι η διεύθυνση εκπομπής και απευθύνεται σε κάθε προσαρμογέα δικτύου στο δίκτυο.
Πώς συνεργάζονται οι διευθύνσεις IP και οι διευθύνσεις MAC;
Το IP είναι ένα πρωτόκολλο που χρησιμοποιείται σε ένα επίπεδο πάνω από το ethernet. Ένα άλλο πρωτόκολλο για παράδειγμα θα ήταν το IPX.
Όταν ο υπολογιστής σας θέλει να στείλει ένα πακέτο σε κάποια διεύθυνση IP x.x.x.x, τότε ο πρώτος έλεγχος είναι αν η διεύθυνση προορισμού βρίσκεται στο ίδιο δίκτυο IP με τον ίδιο τον υπολογιστή. Εάν το x.x.x.x βρίσκεται στο ίδιο δίκτυο, μπορείτε να φτάσετε απευθείας στην IP προορισμού, διαφορετικά το πακέτο πρέπει να σταλεί στον διαμορφωμένο δρομολογητή.
Μέχρι τώρα τα πράγματα φαίνεται να έχουν επιδεινωθεί, γιατί τώρα έχουμε δύο διευθύνσεις IP: η μία είναι η διεύθυνση προορισμού του αρχικού πακέτου IP, η άλλη είναι η IP της συσκευής στην οποία πρέπει να στείλουμε το πακέτο (το επόμενο hop, είτε το τελικό προορισμού ή του δρομολογητή).
Εφόσον το ethernet χρησιμοποιεί διευθύνσεις MAC, ο αποστολέας πρέπει να λάβει τη διεύθυνση MAC του επόμενου hop. Υπάρχει ένα ειδικό πρωτόκολλο ARP (πρωτόκολλο επίλυσης διευθύνσεων) που χρησιμοποιείται για αυτό. Μόλις ο αποστολέας ανακτήσει τη διεύθυνση MAC του επόμενου hop, γράφει αυτή τη διεύθυνση MAC στο πακέτο και στέλνει το πακέτο.
Πώς λειτουργεί το ARP;
Το ίδιο το ARP είναι ένα πρωτόκολλο πάνω από το ethernet, όπως IP ή IPX. Όταν μια συσκευή θέλει να γνωρίζει τη διεύθυνση MAC για μια δεδομένη διεύθυνση IP, στέλνει ένα πακέτο στη διεύθυνση MAC εκπομπής ρωτώντας "Ποιος έχει τη διεύθυνση IP y.y.y.y;" Όλες οι συσκευές λαμβάνουν αυτό το πακέτο, αλλά μόνο μία με τη διεύθυνση IP y.y.y.y θα απαντήσει με ένα πακέτο "Είναι εγώ". Η συσκευή ερώτησης λαμβάνει την απάντηση και τώρα γνωρίζει ότι η διεύθυνση MAC προέλευσης είναι η σωστή διεύθυνση MAC για χρήση. Φυσικά το αποτέλεσμα θα αποθηκευτεί στην κρυφή μνήμη, οπότε η συσκευή δεν χρειάζεται να επιλύει τη διεύθυνση MAC κάθε φορά.
Δρομολόγηση
Ξέχασα σχεδόν να αναφέρω: δεν υπάρχει δρομολόγηση με βάση τις διευθύνσεις MAC. Οι διευθύνσεις ethernet και MAC χαμηλού επιπέδου μπορούν να φτάσουν μόνο σε κάθε συσκευή στο ίδιο δίκτυο (καλωδιακά ή ασύρματα). Εάν έχετε δύο δίκτυα με έναν δρομολογητή μεταξύ σας, δεν μπορείτε να έχετε μια συσκευή στο δίκτυο Α. Στείλτε ένα πακέτο στη διεύθυνση MAC μιας συσκευής στο δίκτυο Β. Καμία συσκευή στο δίκτυο Α δεν έχει τη διεύθυνση MAC της συσκευής στο δίκτυο Β, έτσι το πακέτο σε αυτήν τη διεύθυνση MAC θα απορριφθεί από όλες τις συσκευές στο δίκτυο Α (επίσης από το δρομολογητή).
Η δρομολόγηση γίνεται σε επίπεδο IP. Απλά, ο δρομολογητής κάνει ακριβώς αυτό που περιέγραψα παραπάνω στην ενότητα «Πώς λειτουργούν οι διευθύνσεις IP και οι διευθύνσεις MAC;». Ο δρομολογητής θα λάβει πακέτα για τη δική του διεύθυνση MAC, αλλά για διαφορετική διεύθυνση IP. Στη συνέχεια, θα ελέγξει εάν μπορεί να φτάσει απευθείας στη διεύθυνση IP προορισμού. Εάν ναι, στέλνει το πακέτο στον στόχο. Διαφορετικά, ο ίδιος ο δρομολογητής έχει επίσης ρυθμισμένο έναν ανάντη δρομολογητή και θα στείλει το πακέτο σε αυτόν τον δρομολογητή.
Φυσικά μπορείτε να έχετε ρυθμίσει πολλούς δρομολογητές. Ο οικιακός δρομολογητής σας θα έχει μόνο έναν δρομολογητή ανάντη, αλλά στον κορμό του Διαδικτύου οι μεγάλοι δρομολογητές έχουν μεγάλους πίνακες δρομολόγησης, ώστε να γνωρίζουν τους καλύτερους τρόπους για όλα τα πακέτα.
Άλλες περιπτώσεις χρήσης για διευθύνσεις MAC
- Οι διακόπτες δικτύου αποθηκεύουν μια λίστα διευθύνσεων MAC που εμφανίζονται σε κάθε θύρα και προωθούν μόνο πακέτα στις θύρες που πρέπει να δουν το πακέτο.
- Τα ασύρματα σημεία πρόσβασης χρησιμοποιούν συχνά διευθύνσεις MAC για έλεγχο πρόσβασης. Επιτρέπουν την πρόσβαση μόνο για γνωστές συσκευές (η διεύθυνση MAC είναι μοναδική και προσδιορίζει τις συσκευές) με τη σωστή φράση πρόσβασης.
- Οι διακομιστές DHCP χρησιμοποιούν τη διεύθυνση MAC για να αναγνωρίσουν τις συσκευές και να δώσουν σε ορισμένες συσκευές σταθερές διευθύνσεις IP.