Εργαστηριακό Μάθημα 1ο – Προσαρμογείς Δικτύου

Εργαστηριακό Μάθημα 1ο – Προσαρμογείς Δικτύου

Θεωρητικό υπόβαθρο

Η κάρτα δικτύου (NIC, network interface controller) αποτελεί ένα στοιχείο του υλικού που συνδέει έναν υπολογιστή σε ένα δίκτυο υπολογιστών. Αποτελεί τόσο επίπεδο 1 του OSI (φυσικό επίπεδο), όσο και επίπεδο 2 (επίπεδο ζεύξης δεδομένων) μιας και παρέχει πρόσβαση στο φυσικό μέσο δικτύωσης αλλά και ένα σύστημα διευθυνσιοδότησης χαμηλού επιπέδου μέσω της χρήσης των διευθύνσεων MAC. Η σύνδεση μεταξύ των χρηστών μπορεί να γίνεται είτε με καλώδια, είτε ασύρματα.
Μια κάρτα δικτύου συνήθως έχει μια υποδοχή RJ45 (συνεστραμμένου ζεύγους, twisted pair), BNC, ή AUI για τη σύνδεση του καλωδίου δικτύου, και μερικές διόδους εκπομπής φωτός (LEDs) που πληροφορούν το χρήστη για τη δραστηριότητα στο δίκτυο και τη μετάδοση δεδομένων. Οι κάρτες δικτύου συνήθως είναι διαθέσιμες σε ταχύτητες των 10/100/1000 Mbit/s. Αυτό σημαίνει ότι μπορούν να υποστηρίξουν θεωρητικά ένα μέγιστο ρυθμό μεταφοράς των 10, 100 ή 1000 Megabits ανά δευτερόλεπτο (Mbps).

Διευθύνσεις Ελέγχου πρόσβασης στο Μέσο (MAC)
Κάθε κάρτα δικτύου Ethernet έχει ένα μοναδικό σειριακό αριθμό από 48-bits που ονομάζεται διεύθυνση MAC και είναι αποθηκευμένος σε μνήμη μόνο για ανάγνωση (ROM) πάνω στην κάρτα. Η διεύθυνση αυτή ονομάζεται φυσική διεύθυνση ή διεύθυνση υλικού (Hardware Address) και αναγνωρίζεται μοναδικά σε όλο το δίκτυο. Αναφέρεται και ως διεύθυνση ελέγχου προσπέλασης στο μέσο (MAC Address, Media Access Control). Είναι ένας δυαδικός αριθμός των 48 bit (MAC-48, EUI-48) ή έξι οκτάδων και γράφεται στο δεκαεξαδικό αριθμητικό σύστημα ως έξι διψήφιοι δεκαεξαδικοί αριθμοί χωρισμένοι με παύλες (στα windows) ή με άνω-κάτω τελείες (στο unix/linux). Μια τέτοια διεύθυνση είναι η 74:ea:3a:cd:06:40.

Σε υπολογιστή εξοπλισμένο με προσαρμογέα/κάρτα δικτύου, η διεύθυνση MAC είναι χαρακτηριστικό της κάρτας δικτύου και πολλές φορές αναγράφεται πάνω σε αυτήν από τον κατασκευαστή της. Μπορεί να αναγνωσθεί ηλεκτρονικά με την κατάλληλη εντολή του λειτουργικού συστήματος (ipconfig/all, ifconfig κλπ). Οι διευθύνσεις MAC απαρτίζονται από δυο μέρη των 24ων δυαδικών ψηφίων. Το πρώτο μέρος το οποίο ονομάζεται (μοναδική) Ταυτότητα του Οργανισμού (OUI – Organizational Unique Identifier), χορηγείται από το Ινστιτούτο Ηλεκτρολόγων και Ηλεκτρονικών Μηχανικών και διατίθεται αποκλειστικά στον κατασκευαστή υλικού. Το δεύτερο μέρος το προσδιορίζει ο κατασκευαστής υλικού με δική του ευθύνη. Από το πρώτο μέρος τα δυο ψηφία έχουν ειδική σημασία.

Παρακάτω φαίνεται η δομή μιας διεύθυνσης MAC στο Ethernet. Ας σημειωθεί ότι στο Ethernet αποστέλλεται το πιο σημαντικό byte (MSB) πρώτα αλλά για κάθε byte, πρώτα το λιγότερο σημαντικό bit (LSB). Ο τρόπος αποστολής, αυτός, χαρακτηρίζεται Little Endian σε επίπεδο bit. Έτσι κατά την εκπομπή των ψηφίων μιας διεύθυνσης Ethernet θα αποσταλούν, σε επίπεδο byte, πρώτα το MSB, για το παράδειγμά μας το 74 (0111 0100) αλλά με την αντίστροφη σειρά (0010 1110), πρώτα το b0, μετά το b1 κ.ο.κ.
Αυτά τα δύο πρώτα bit, τα οποία είναι ουσιαστικά το b0 και b1 του MSB της διεύθυνσης έχουν ειδική σημασία. Το πρώτο (b0) είναι το M bit ή I/G (Individual/Group). Όταν είναι 1 σημαίνει ότι η διεύθυνση αφορά πολλούς αποδέκτες, είναι πολυδιανομής (Multicast), αλλιώς αφορά συγκεκριμένο αποδέκτη. Το δεύτερο (b1) είναι το X bit ή U/L (Universal/Local). Όταν είναι 1 σημαίνει ότι η διεύθυνση είναι τοπικά διαχειριζόμενη αλλιώς είναι καθολικά μοναδική. Ειδική περίπτωση είναι η διεύθυνση με όλα τα ψηφία 1, η ff-ff-ff-ff-ff-ff η οποία είναι διεύθυνση εκπομπής. Πλαίσιο με διεύθυνση προορισμού την ff-ff-ff-ff-ff-ff αφορά όλους τους κόμβους και παραλαμβάνεται από όλους όσους μοιράζονται το κοινά διαμοιραζόμενο μέσο, ανήκουν δηλαδή στο ίδιο τοπικό δίκτυο. Στην περίπτωση μεταγωγέα με συνδέσεις σημείο προς σημείο, αυτός προωθεί το πλαίσιο σε όλες τις θύρες του.

Βασικά χαρακτηριστικά των καρτών δικτύωσης
Η κάρτα δικτύου συνδέει τον υπολογιστή στο τοπικό δίκτυο και επιτρέπει την επικοινωνία με άλλους υπολογιστές. Για τον σκοπό αυτό παράγει και λαμβάνει μηνύματα που τα αποκαλούμε πλαίσια (frames).

Το πλαίσιο στο Ethernet έχει συγκεκριμένη δομή όπως φαίνεται στην εικόνα. Για να διευκολυνθεί ο δέκτης ώστε να συγχρονιστεί με τον πομπό, ξεκινά με ένα προοίμιο (preamble) επτά οκτάδων (byte) εναλλασσόμενων άσων και μηδενικών (0x55) και μια οκτάδα 0xD5 η οποία σηματοδοτεί την έναρξη του πλαισίου (SFD – Start Frame Delimiter). Ακολουθούν οι διευθύνσεις των έξι οκτάδων η καθεμιά, πρώτα προορισμού ώστε να ενεργοποιηθεί έγκαιρα ο παραλήπτης και κατόπιν του αποστολέα (προέλευσης). Στη συνέχεια το πεδίο δυο οκτάδων “Τύπος/Μήκος δεδομένων” προσδιορίζει το είδος των δεδομένων που μεταφέρει το πλαίσιο ή πιο πρωτόκολλο ανωτέρου επιπέδου αφορούν. Άν έχει τιμή μικρότερη ή ίση του 1500 (0x5DC) τότε δηλώνει το μήκος των δεδομένων που μεταφέρει.

Το μήκος των δεδομένων του ωφέλιμου φορτίου του πλαισίου μπορεί να φτάσει από 46 μέχρι 1500 οκτάδες και ονομάζεται Μέγιστη μονάδα εκπομπής MTU (Maximum Transmission Unit). Είναι απαίτηση του προτύπου το συνολικό μέγεθος του πλαισίου να μην είναι μικρότερο των 64 οκτάδων (18 επικεφαλίδα και 46 φορτίο). Αν συμβαίνει να είναι μικρότερο τότε συμπληρώνεται συνήθως με μηδενικά (padding) για να φτάσει στο ελάχιστο μήκος.

Στο τέλος περιλαμβάνει σε τέσσερις οκτάδες την ακολουθία ελέγχου πλαισίου (FCS – Frame Check Sequence) σύμφωνα με τον αλγόριθμο CRC-32 ώστε να είναι εφικτό να αναγνωριστεί από τον παραλήπτη οποιοδήποτε σφάλμα συμβεί κατά τη μετάδοση. Μετά το τέλος του πλαισίου ακολουθεί μια παύση διάρκειας 96bit ώστε να επιτραπεί στα κυκλώματα του δέκτη να επεξεργαστούν το ληφθέν πλαίσιο και να είναι αυτός έτοιμος για τη λήψη επόμενου πλαισίου. Αυτό λέγεται InterPacketGap (IPG).