Τι ακριβώς χρησιμοποιείται μια διεύθυνση MAC;
Κάθε κομμάτι υλικού στο τοπικό σας δίκτυο διαθέτει διεύθυνση MAC εκτός από τη διεύθυνση ΙΡ που έχει εκχωρηθεί από τον τοπικό δρομολογητή ή διακομιστή. Τι ακριβώς είναι αυτή η διεύθυνση MAC για?
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Το ερώτημα
Ο αναγνώστης 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 yyyy;" Όλες οι συσκευές λαμβάνουν αυτό το πακέτο, αλλά μόνο εκείνο με τη διεύθυνση IP yyyy θα απαντήσει με ένα πακέτο "Εγώ είμαι". Η ζητούμενη συσκευή λαμβάνει την απάντηση και τώρα ξέρει ότι η διεύθυνση MAC προέλευσης είναι η σωστή διεύθυνση MAC που θα χρησιμοποιήσει. Φυσικά το αποτέλεσμα θα αποθηκευτεί προσωρινά, οπότε η συσκευή δεν χρειάζεται να επιλύει τη διεύθυνση MAC κάθε φορά.
Δρομολόγηση
Έχω σχεδόν ξεχάσει να αναφέρω: δεν υπάρχει δρομολόγηση βασισμένη σε διευθύνσεις MAC. Οι διευθύνσεις ethernet και MAC χαμηλού επιπέδου μπορούν να φτάσουν σε κάθε συσκευή μόνο στο ίδιο δικτύου (καλωδιακά ή ασύρματα). Αν έχετε δύο δίκτυα με δρομολογητή μεταξύ τους, δεν μπορείτε να έχετε μια συσκευή στο δίκτυο Α να στείλει ένα πακέτο στη διεύθυνση MAC μιας συσκευής στο δίκτυο Β. Καμία συσκευή στο δίκτυο Α δεν έχει τη διεύθυνση MAC της συσκευής στο δίκτυο Β, πακέτο σε αυτήν τη διεύθυνση MAC θα απορριφθεί από όλες τις συσκευές στο δίκτυο Α (επίσης από το δρομολογητή).
Η δρομολόγηση πραγματοποιείται σε επίπεδο IP. Απλά δούμε το δρομολογητή κάνει ακριβώς ό, τι περιγράψαμε παραπάνω στην ενότητα "Πώς αλληλεπιδρούν διευθύνσεις IP και διευθύνσεις MAC;". Ο δρομολογητής λαμβάνει πακέτα για τη δική του διεύθυνση MAC, αλλά για διαφορετική διεύθυνση IP. Στη συνέχεια, θα ελέγξει εάν μπορεί να φτάσει απευθείας στη διεύθυνση IP στόχου. Αν ναι, στέλνει το πακέτο στο στόχο. Διαφορετικά, ο ίδιος ο δρομολογητής έχει επίσης διαμορφωθεί ένας ανάντη δρομολογητής και θα στείλει το πακέτο στον δρομολογητή.
Φυσικά μπορείτε να διαμορφώσετε πολλαπλούς δρομολογητές. Ο δρομολογητής σας στο σπίτι θα έχει μόνο ένα upstream router διαμορφωμένο, αλλά στο backbone του Διαδικτύου οι μεγάλοι δρομολογητές έχουν μεγάλα τραπέζια δρομολόγησης έτσι ώστε να γνωρίζουν τους καλύτερους τρόπους για όλα τα πακέτα.
Άλλες περιπτώσεις χρήσης για διευθύνσεις MAC
- Οι διακόπτες δικτύου αποθηκεύουν μια λίστα με διευθύνσεις MAC που βλέπουν σε κάθε θύρα και προωθούν μόνο τα πακέτα στις θύρες που πρέπει να δουν το πακέτο.
- Τα σημεία ασύρματης πρόσβασης χρησιμοποιούν συχνά διευθύνσεις MAC για έλεγχο πρόσβασης. Επιτρέπουν μόνο την πρόσβαση για γνωστές συσκευές (η διεύθυνση MAC είναι μοναδική και εντοπίζει συσκευές) με τη σωστή φράση πρόσβασης.
- Οι διακομιστές DHCP χρησιμοποιούν τη διεύθυνση MAC για τον εντοπισμό συσκευών και την παροχή ορισμένων συσκευών σε σταθερές διευθύνσεις IP.
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.