Δημοσιεύτηκε: 08 Αύγ 2011, 20:47
από Star_Light
Μέρος 1ο

================================================================================================================
Σε αυτή την παρουσίαση θα καλύψουμε τα βασικά χαρακτηριστικά και λειτουργίες του ενος επιπέδου πιο πάνω απο το φυσικό του επιπέδου ζεύξης δεδομένων (για το μοντέλο OSI) / επιπέδου πρόσβασης δικτύου για το TCP/IP. Έχει επισημανθεί στα εισαγωγικά που έχουμε κανει οτι μιλώντας αυστηρά το TCP/IP και το OSI δεν ειναι συμβατά μεταξυ τους. Το TCP/IP είχε ηδη αρχίσει να εξελίσσεται οταν είχε εμφανιστεί η αρχιτεκτονική OSI παρολαυτα τα 2 μοντέλα είχαν παρόμοιους στόχους και υπήρχε αλληλεπίδραση μεταξυ των σχεδιαστών αυτων των προτυπων και ετσι τελικα μπόρεσαν να αποκτήσουν μια συμβατότητα. Αυτο σε περίπτωση που προκύψουν διχογνωμίες σχετικα με τις ονομασίες σε κάποια συζήτηση. Πιο συνηθισμένο παντως ειναι το terminology OSI. Βεβαια σε αυτες τις παρουσιάσεις εγω θα αναφερθώ στα επίπεδα του TCP/IP και οχι του OSI (Το οποιο έχει 7 και οχι 5 οπως το TCP/IP) To επίπεδο πρόσβασης δικτύου έχει να κάνει με το φυσικό δίκτυο και επιτελεί όλες εκείνες τις λειτουργίες για την προετοιμασία των δεδομένων για αυτο. Πάμε ομως να δούμε ολα αυτα με πιο πολλες λεπτομέρειες.

ΠΕΡΙΕΧΟΜΕΝΑ ΟΔΗΓΟΥ :

Spoiler: show
1. ΤΟ ΦΥΣΙΚΟ ΔΙΚΤΥΟ

1.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ENOΣ ΦΥΣΙΚΟΥ ΔΙΚΤΥΟΥ
1.2 ΦΥΣΙΚΗ ΤΟΠΟΛΟΓΙΑ Vs ΛΟΓΙΚΗ ΤΟΠΟΛΟΓΙΑ
1.3 ΤΕΧΝΟΛΟΓΙΕΣ LAN / ΤΟ ETHERNET

-Τι είναι το Ethernet
-Η μέθοδος CSMA/CD
-Παραδείγματα

1.4 ΤΑ ΥΠΟΕΠΙΠΕΔΑ ΤΟΥ DL LAYER
-Τα υποπεπίπεδα MAC/LLC
-Παραδείγματα

2.1 ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗ
-Πως?
-"Ανατομία" μιας MAC διεύθυνσης

2.2 ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΠΕΔΟΥ
-Το πρωτόκολλο ARP (Τί είναι & γιατί ειναι σημαντικό)
-Απλό Παράδειγμα υλοποίησης

2.3 "ΑΝΑΤΟΜΙΑ" ΕΝΟΣ ΠΑΚΕΤΟΥ
-Δομή & σύνθεση
-Bit Stuffing

2.4 ΥΠΟΔΙΚΤΥΩΣΗ
-Aνάγκη
-ΙP διευθυνσεις / Κλάσεις && Προκαθορισμένες Μάσκες -μια γρήγορη ματία-
-Παράδειγμα

2.5 ΝΑΤ (NETWORK ADDRESS TRANSLATION)


3. ΠΡΑΚΤΙΚΗ ΑΠΟ ΤΟ ΤΕΡΜΑΤΙΚΟ (Linux system)
-Εντολές


ΠΕΡΙΕΧΟΜΕΝΑ ΝΗΜΑΤΟΣ :

Σελ. 2 -> Μετατροπές Αριθμών (Δυαδικό Σύστημα)
Σελ. 3 -> Μέρος 3ο + Άσκηση 1
Σελ. 12 -> Άσκηση 2 (Εκφώνηση)
Σελ. 16 -> Άσκηση 3 (Εκφώνηση)
Σελ. 18 -> Λύσεις Ακσήσεων 2 & 3 + Άσκηση 4 (Εκφώνηση)
Σελ. 23 -> Εργασία με το Nmap + Άσκηση 5 (Εκφώνηση)
Σελ. 25 -> Λύση της Άσκησης 5

================================================================================================================

1.1 Πιο πανω στα εισαγωγικά ανέφερα τον χαρακτηρισμό "φυσικο" δίκτυο και φυσικα είχα τους λόγους μου :D . Καταρχην θα πρέπει να έχουμε υποψιν μας οτι το επίπεδο πρόσβασης δικτύου ειναι το πιο περίεργο και δύσκολο. Γιατί? (Α)

Ακολουθεί :
ΓΕΝΙΚΗ ΑΠΑΝΤΗΣΗ
Διοτι υπάρχουν πολλοι διαφορετικοί τύποι φυσικών δικτύων.

Mια πιο ακριβής απάντηση θα δοθεί παρακάτω (Προς το παρόν κρατήστε την κρατούμενο :lol: :lol: :lol: )

Καταρχήν πριν προχωρήσω θα πρεπει για να προλάβω παρερμηνείες να ξεκαθαρίσω οτι πλεον δεν μιλαμε για το φυσικό επίπεδο αλλα για το φυσικό δίκτυο. Και για να μην μπερδευτούμε εννοω το τοπικό μας δίκτυο δηλαδη ειτε πρόκεται για το απλο του σπιτιού μας... ειτε για πιο "πολυπλοκο" οπως καποιο σε ένα Internet Cafe για παραδειγμα το οποιο αποτελείται απο περισσότερους του ενος / δυο .... 10 :D υπολογιστών. Και παμε τωρα να ξεκαθαρίσουμε λιγο τις έννοιες.... (τουλαχιστον συμφωνα με την δική μου εκτίμηση οποιος έχει διαφορετική αποψη μπορει να την παραθέσει και να την συζητήσουμε). Καταρχην οι 2 κύριοι τύποι δικτύων ειναι Μεταγωγής Πακέτου & Μεταγωγής Κυκλώματος επειδη αν αρχισω να εξηγώ για αυτες τις 2 θα ξεφύγουμε και ο σκοπός μου ειναι αλλος θα πω απλα πως η 1Η προσδιορίζει το Internet ενω η δεύτερη το τηλεφωνικό δίκτυο (κύκλωμα / εφοσον ζήτησες τους πόρους τους δεσμέυεις ως το τελος) περα απο αυτο ομως τα δίκτυα μπορουν να ταξινομηθούν με πολλούς τρόπους έτσι ακριβώς λοιπον και μια αρχιτεκτονική μπορει να είναι πολλά διαφορετικά πράγματα.

Μερικές φορες μια αρχιτεκτονική δικτύου μπορεί να αναφερθεί ως τύπος LAN ή και ως τοπολογία LAN , για τις τοπολογίες τα έχουμε πει και στα εισαγωγικά και θα πουμε και μερικα ακομη πραγματα στην ακριβώς επόμενη παράγραφο. Σε αυτο το σημείο θελω να τονίσω πως μια αρχιτεκτονική ενος δικτύου και δή φυσικού <=> τοπικού δεν ειναι τίποτε αλλο παρα η σχεδίαση του επιπέδου πρόσβασης δικτύου. Με μια πρόταση η αρχιτεκτονική του φυσικού μας δικτύου αναφέρεται αφενος στην τοπολογία(διαύλου/δακτυλίου κτλπ) και αφετέρου στις προδιαγραφές που αφορούν το μέσο πρόσβασης. Αυτο θέλει λιγο εξήγηση και ενα παράδειγμα :!: :!: :!:

Έστω λοιπον μια αρχιτεκτονική δικτύου Ethernet (αρκετα γνωστή σε οσους έχουμε Internet). Οι προδιαγραφές μπορούν να περιλαμβάνουν ορισμένα θέματα όπως : Τύπος καλωδίωσης , Μέθοδος πρόσβασης( την οποία θα αναπτύξω πιο κατω που θα αναφερω την τεχνολογία του Ethernet) , κανόνες καλωδίωσης (οπ τελικά ακόμη και τα καλώδια έχουν πρωτόκολλα βάση τα οποία γίνεται η επικοινωνία και πλεον αρχίζει να γίνεται ολο και πιο κατανοητός αυτος ο όρος σε βάθος). Φυσικα ολα αυτα για καλή μας τύχη είναι αόρατα απο τον μέσο χρήστη και τις πιο πολλές αν οχι όλες τις φορές απαιτούνται απλα και μονο μερικά απλα και σύντομα βήματα διαμόρφωσης!

Κλείνοντας αυτη την παράγραφο θα επανέλθω στην παραπάνω ερώτηση (Α) (την οποία είχαμε θέσει ως κρατούμενο) . Με λιγα λογια λοιπον αναφέραμε ενα τοπικό/φυσικό δίκτυο το οποίο θα διαθέτει ένα φυσικό μέσο μετάδοσης (κανάλι) / πρωτόκολλα επικοινωνίας , την τοπολογία (που πανω κατω αποτελεί την αρχιτεκτονική + τις προδιαγραφές :) ) και τους τερματικούς κόμβους (τους υπολογιστές μας μεσα στο LAN) . Όλα αυτα λοιπον ειναι πόροι οι οποίοι μπορούν να διαφέρουν ανα υποδίκτυο κάνοντας τα περίεργα , δύσκολα και λιγότερο ομοιόμορφα και αυτη ειναι η ακριβής απάντηση στο παραπανω ερώτημα. To πιο απλο παράδειγμα που μπορεί να σκεφτεί κάποιος εδω είναι το Ethernet (πρότυπο 802.3) ή σε κάποιο άλλο τοπικό δίκτυο μπορεί να χρησιμοποιείται το Token Ring(πρότυπο 802.5) σαν LAN technology & αρχιτεκτονική. Η ανομοιομορφία στα τοπικά δίκτυα μεταξύ τους μπορεί να γίνει κατανοητή και απο το γεγονός οτι μόνο το πρότυπο 802.3 ορίζει 5 εκδοχές (10BASE5 , 10BASE2 , 1BASE5 , 10BASE-T & 10BROAD36) όπου σε αυτές τις κωδικές ονομασίες ο 1ος αριθμός δηλώνει τον ρυθμό μετάδοσης σε megabits (ανα δευτερόλεπτο) η λέξη BASE δηλώνει το baseband δηλαδη την βασική ζώνη εκπομπής απο όλους τους κόμβους και ο τελευταίος ειναι το μέγιστο μήκος ενος τμήματος δικτύου ως πολλαπλάσιο των 100 μέτρων. Πχ το 10BASE5 χαρακτηρίζει ένα δίκτυο βασικής ζώνης των 10Mbps με τμήματα 500 μέτρων το πολύ.

Επομένως και συνοψίζοντας μέσα σε μια πρόταση όλο το βαθύτερο νόημα των παραπάνω θα πρέπει να γνωρίζουμε οτι ναι μεν ενα τοπικό δίκτυο μπορεί να είναι ανομοιόμορφο ώς προς τα άλλα (ανα τον κόσμο :P ) αλλά μέσα στο ίδιο το τοπικό δίκτυο όλα πχ τα NIC => Network interface controller (η κάρτα δικτύου μας επι της ουσίας) θα πρέπει να είναι ίδιας αρχιτεκτονικής πχ είτε όλες θα είναι Ethernet κάρτες είτε Token ring ,
δεν μπορείς δηλαδή να αναμείξεις Ethernet + Token ring στο ίδιο φυσικό δίκτυο μπορείς όμως να τα διασυνδέσεις! Πως? Μέσω της υποδικτύωσης που θα δούμε και πιο κάτω
;)

1.2

Στα εισαγωγικά είχαμε πει οτι στην ουσία μια τοπολογία (φυσική) ειναι απλα μια διάταξη των μηχανημάτων μεσα σε ενα δίκτυο. Είχα δωσει κάποιες γνωστές τοπολογίες και είχαμε μιλησει για αυτες. Κάθε τοπικό δίκτυο - υποδίκτυο διαθέτει μια τοπολογία η οποία οπως αναφέρθηκε και πιο πανω προσδιορίζει και χαρακτηρίζει και την αρχιτεκτονική του. Μια τοπολογία λοιπον ειναι ο τρόπος με τον οποίο οι συσκευές διατάσσονται ωστε να επικοινωνήσουν μεταξυ τους (ένα πρότυπο διάταξης των διασυνδέσεων των κόμβων). Είπα παραπάνω πως μια τοπολογία μπορεί να διαφέρει απο υποδίκτυο σε υποδίκτυο οπως και οι τεχνολογίες δικτύωσης - προδιαγραφές (πχ δίκτυα ΑΤΜ Vs Token Ring Vs Ethernet etc...). Μια τοπολογία λοιπον δεν ειναι τιποτε αλλο απο μια φυσική δομή του δικτύου. Μια λογική τοπολογία σε αντίθεση τωρα ειναι ο τρόπος με τον οποίο τα σήματα (τα οποία είδαμε εκτενέστερα στην προηγουμενη παρουσίαση για το 1ο επίπεδο της στοιβας TCP/IP) ενεργούν μεσα στο μέσο.

Πιο απλά ο τρόπος με τον οποίο τα δεδομένα διέρχονται μεσω του δικτύου απο την μια συσκευή στην άλλη χωρις να λαμβάνεται υπόψιν η φυσική τοπολογία (διασύνδεση) των συσκευών (τερματικά /σταθμοί εργασίας / προσωπικοί υπολογιστές) . Μια φυσική τοπολογία δεν σχετίζεται αναγκαία με μια λογική τοπολογία. Έστω οτι έχουμε twisted pair Ethernet ( http://en.wikipedia.org/wiki/Ethernet_over_twisted_pair ) αυτο αποτελεί μια λογική τοπολογία διαύλου για παράδειγμα η οποία μπορεί να βρίσκεται μεσα σε μια φυσική διάταξη τοπολογίας αστέρα. Επομένως μπορούμε να αντιληφθούμε την διαφορά αναμεσα στις 2 έννοιες καθώς η φυσική τοπολογία εξετάζει το ΠΩΣ οι συσκευές είναι συνδεδεμένες μεταξυ των καλωδίων που μεταφέρουν δεδομένα και πακέτα ενω η λογική στο ΠΩΣ μεταφέρονται τα δεδομένα μεσω του δικτύου.

1.3


Φτάσαμε και στο Ethernet λοιπον :D. Τι ακριβώς ειναι το ethernet??? Μπορείτε να ακούσετε το ethernet να προσδιορίζεται ως τεχνολογία / αρχιτεκτονική / δίκτυο κτλπ... ολα αυτα ειναι σωστά εν μέρει αλλα σε συνθήκες πιο ελεύθερης συζήτησης και επεξηγήσεων. Πιο αυστηρά το ethernet αποτελεί πρωτόκολλο. Ως εδω ελπιζω να έχουμε καταλαβει την έννοια αυτη διοτι θα χρησιμοποιείται συνέχεια απο εδω και στο εξης. ΑΝ κάποιος δεν εχει καταλαβει μπορεί να ανατρέξει παλι στα εισαγωγικά και αν παρολαυτα υπάρχουν και μετα ακομη απορίες μπορει να μπεί και να τις διατυπώσει εδω ωστε να τις συζητήσουμε. To ethernet λοιπον ειναι ενα πρωτόκολλο ενσύρματης δικτύωσης για τοπικά δίκτυα. Ωστοσο βεβαια και για να είμαστε και πιο ακριβείς το ethernet δεν προσδιορίζει μονο τα ενσύρματα δίκτυα αλλα και τα ασύρματα. Γιατι? Πανω - κατω υπάρχει ενα κολπάκι το οποιο οι περισσότεροι θα το έχουν καταλάβει (οσοι εν παση περιπτώση ασχολούνται ενεργά με την πληροφορική) οποιαδήποτε τεχνολογία ή πρωτόκολλο ή εντολή στον προγραμματισμο αλλα και οπουδήποτε αλλου περιγράφεται απο το ονομα της. Αυτο ειναι και το κυριοτερο προσδιοριστικο... λογικο ε? :D Τελοςπαντων το ethernet αποτελείται απο τις λέξεις ether (αιθέρας) + net (network) δίκτυο δηλαδη που βασίζεται στο μέσο μετάδοσης του αιθέρα κατι που αυτομάτως σημαίνει ασύρματη επικοινωνία! Επομενως καποιες φορες μπορεί (σίγουρα) θα το δούμε και ετσι. Αυτος ειναι ο προφανής λόγος αλλα ο πιο επίσημος ειναι οτι το πρότυπο 802.11 (που έχει θεσπιστεί για τα ασύρματα) έχει μεγάλη ομοιότητα και συμβατότητα με το πρότυπο ΙΕΕΕ 802.3 (ενσύρματο ethernet).

1.4
Ως τωρα κάποιος ο οποίος θα έχει φανταστεί την δομή περίπου ενος τοπικού δικτύου (με μια τοπολογία διαύλου) ισως να αναρωτιέται ηδη πως ακριβώς θα χειρίζονται το μέσο στο οποίο θα είναι συνδεδεμένοι περισσοτεροι του ενός υπολογιστές - τερματικά του δικτύου. Μια βασική ερώτηση εδω ειναι

Πότε θα εκπέμπει ο ένας? Και πότε ο άλλος? Τι συμβαίνει κατα την περίπτωση στην οποία θα εκπέμψουν 2 μαζι ή και περισσότεροι???
Αν οι υπολογιστές είχανε μιλιά ισως να έλεγαν "αναθεμα την ώρα και την στιγμή που μοιραζόμασταν το ίδιο μέσο μετάδοσης" :lol:

Eπιπλέον σε αυτο το σημείο το επίπεδο Πρόσβασης Δικτύου μας επιφυλάσσει μια έκπληξη :lol: :lol: , ουσιαστικά "σπάει" σε 2 υποεπίπεδα τα 2 αυτα ειναι το μεν ένα το MAC και το αλλο το LLC. Η ρύθμιση πρόσβασης στο μέσο είναι δουλειά του υποεπιπέδου MAC

Αλλα για να επανέλθουμε στην αρχική ερώτηση σε αυτη την περίπτωση ναι υπάρχει κάποιο πρόβλημα. Αλλα το ethernet έχει προνοήσει για αυτό.Και ακομη πιο συγκεκριμένα το πρωτόκολλο MAC του ethernet (CSMA-CD) η οποία ειναι μια μέθοδο πρόσβασης Carrier Sense Multiple Access with Collision Detect => CSMA/CD μια μέθοδος πρόσβασης οπως είπαμε και παραπάνω αποτελεί μια προδιαγραφή του τοπικού δικτύου.Το παραδοσιακό ethernet θα δουλέψει καλα σε μικρό μεχρι μεσαίο φόρτο εργασιών αλλα σε μεγάλο φόρτο θα υποφέρει απο μεγαααάλες συγκρούσεις ή καλύτερα μεγάλους ρυθμούς συγκρούσεων.Σε πιο καινούργια δίκτυα Ethernet την κίνηση διαχειρίζονται και διαφορες άλλες συσκευές πχ διακόπτες ωστε να ελαχιστοποιηθούν οι συγκρούσεις και έτσι το δίκτυο να λειτουργεί πιο ομαλά. Τις λειτουργίες λοιπον αυτων των υπο-επιπέδων θα τις δούμε και παρακατω , ωστόσο σε αυτο το σημείο θα πρέπει να εξηγήσω τι ακριβώς ειναι το κάθε ενα επίπεδο με την χρήση ενος παραδείγματος.

Το πρωτόκολλο λειτουργίας λοιπον του CSMA/CD θα έχεις ως εξης :
========================================================================================================
ΠΑΡΑΔΕΙΓΜΑ 1


1. O Yπολογιστής Α που θέλει να μεταδώσει παρακολουθεί την γραμμη για να δεί αν κάποιος άλλος ΥΠολογιστης Β μεταδίδει και αν γενικότερα η γραμμή ειναι ελεύθερη αυτο ονομάζεται Carrier Sense (εντοπισμός φορέα) και ουσιαστικά αποτελεί την πρωτη συνιστώσα της παραπάνω ονοματοδοσίας (CSMA/CD)

Spoiler: show
Κώδικας: Επιλογή όλων


if(line!=busy)

transmit(data);

else

wait(x); //x => random time space



2. Στην περίπτωση τωρα που οι 2 υπολογιστές Α & Β αρχίσουν να μεταδίδουν ταυτόχρονα θα καταλάβουν το πρόβλημα και θα σταματήσουν ωστε να ξαναεκπέμψουν μετα απο ένα τυχαίο χρονικό διάστημα (εντοπισμός σύγκρουσης) που ουσιαστικά αποτελεί την δεύτερη συνιστώσα (CD=> Collision Detect)


Κλείνοντας λοιπον την παράγραφο καθένας μπορεί να κατανοήσει πως μια μέθοδος πρόσβασης ουσιαστικά ειναι ένα σετ κανόνων που ορίζει τον τρόπο με τον οποίο οι υπολογιστές θα μοιράζονται το υλικό μέσο μετάδοσης

===============================================================================================================
ΠΑΡΑΔΕΙΓΜΑ 2

Έστω οτι βρίσκεστε στο εργαστήριο της σχολής σας και εκει υπάρχει ενα τοπικό δίκτυο , ο υπολογιστής που κάθεσαι και χρησιμοποιείς ειναι συσχετισμένος και με μια MAC διευθυνση (για τις οποιες θα μιλήσουμε παρακατω) προς το παρον κρατήστε πως ειναι συσχετισμένος με μια τέτοια διεύθυνση (η οποία παρεπιπτόντως δεν εχει καμία απολυτως σχέση με την IP -θα τα εξηγήσω πιο κατω ομως-) , αν ενας φίλος σου θελήσει να σου στείλει κάποιο πακέτο , έστω ενα mail τότε αυτο το πακέτο θα ακουστεί απο όλους τους υπολογιστές στο δίκτυο (μιας και είναι συνδεδεμένοι ολοι και μοιράζονται το κοινό μέσο) αλλα θα το συγκρατήσει μονο εκείνος ο ΗΥ ο οποίος θα "ακούσει" την MAC του. Και στην προκειμένη περίπτωση εσυ του οποίου είσαι ο παραλήπτης.

Ωστόσο εδω υπάρχει ενα μυστικό! => Το άν θα ακούσουν όλοι ή όχι είναι και θέμα της συσκεύης που χρησιμοποιείται στο δίκτυο αν δηλαδη είναι διανομέας (hub -όλα τα τμήματα ενος LAN μπορούν να δούν όλα τα πακέτα) ή διακόπτης είχαμε μιλήσει στα εισαγωγικά και για αυτα τα 2 και είχα δώσει την βασική διαφορά που διέπει αυτες τις 2 συσκευές. Κατα τα άλλα η προώθηση στον destination υπολογιστή είτε την ακούν όλοι (hub) είτε όχι (διακόπτης - προώθηση με βάση τον υπολογιστή προορισμού) είναι δουλειά αυτου του υπο-επιπέδου.

Προς το παρόν λοιπον ας σας μείνει οτι σε αυτο το σημείο και μέσα στο τοπικό δίκτυο η δρομολόγηση - προώθηση γίνεται αποκλειστικά με βαση την MAC διευθυνση . Και σε πιο κατω παραγράφους θα δουμε τι συμβαίνει οταν αυτη η MAC δεν υπάρχει στον πίνακα προώθησης και ποιο πρωτόκολλο χρησιμοποείται ωστε να ανακτηθεί αυτη και να υλοποιηθεί η επικοινωνία μεταξυ των συσκευών/συστημάτων μεσα στο ίδιο το υποδίκτυο ή και σε διαφορετικά.

Π.Σ Είχα τονίσει επίσης πως οι διανομείς μπορεί να χρησιμοποιούνται ως φθηνές συσκεύες αλλα ειναι επικύνδινες ως προς την ασφάλεια (μιας και ακούνε ολοι) , ο καθένας μπορεί να βάλει εναν sniffer και να υποκλέψει δεδομένα τα οποια πληρούν φυσικα το κριτήριο του οτι ΔΕΝ ειναι κρυπτογραφημενα.

================================================================================================================

Στο άλλο υπο-επίπεδο LLC ουσιαστικά διενεργείται έλεγχος λαθών. Έλεγχος λαθών στα πλαίσια που μεταδίδονται στο τοπικό δίκτυο (γενικά τα πακέτα σε αυτό το επίπεδο ονομάζονται πλαίσια) , αυτος ο έλεγχος γίνεται με βάση ένα άθροισμα ελέγχου το οποίο υπάρχει ηδη μέσα στο πλαίσιο απο τον αποστολέα (ο αποστολέας μέσω ενος αλγορίθμου γνωστου και ως CRC => Cyclic Redundancy Check υπολογίζει το checksum και βάζει την τιμή του μέσα στο πλαίσιο που θα μεταδόσει) στην συνέχεια ο δέκτης υπολογίζει το checksum και το συγκρίνει με το πρότυπο (αυτο δηλαδη που υπάρχει ηδη μεσα στο πακέτο) αν οι τιμές δεν ταιριάζουν τοτε κάποιο πρόβλημα θα προέκυψε κατα την μετάδοση οποτε και το πλαίσιο επαναμεταδίδεται

2.1

Και σιγα σιγα μπαίνουμε στα ωραία :D . Σε αυτο το σημείο ήρθε η ώρα να γίνει λόγος για την διευθυνσιοδότηση σε αυτο το επίπεδο του TCP/IP - OSI πειτε το οπως θέλετε εκτος και αν πέσετε σε αυστηρή συζήτηση και γύρω απο τα RFC :lol: :lol: . Σε αυτο το σήμειο που βρισκόμαστε η διευθυνσιοδότηση είναι φυσική . Τι σημαίνει ομως φυσική διευθυνσιοδότηση ... σημαίνει πως οι διευθύνσεις είναι φυσικές - MAC διευθύνσεις είναι οι διευθύνσεις υλικού. Ωραία και γιατι λέγονται διευθύνσεις υλικού? Θα ρωτούσε κάποιος απαιτητικός αναγνώστης και πολυ καλα θα έκανε :) διοτι οπως εχω αναφέρει και στα εισαγωγικά μερος Β' στο 4 ενα υλικό δηλαδη μια κάρτα δικτύου διαθέτει μια φυσική διεύθυνση συμφωνα με την οποία λαμβάνει δεδομένα. Και γιατι αυτες οι διευθύνσεις λέγονται MAC? Επειδή η ευθύνη της φυσικής διευθυνσιοδότησης οπως ακριβως ανέφερα και πιο πάνω ειναι του υπο-επιπέδου MAC => Medium Access Control. Η φυσική διεύθυνση του υλικού σας συνήθως έρχεται προδιαμορφωμένη απο το εργοστάσιο.

Και πάμε να ξεκαθαρίσουμε και κατι άλλο τωρα το οποιο κατα καιρούς έχει δημιουργήσει σύγχυση και προσωπικα για μενα ειναι τελείως λάθος. Το ερώτημα αυτο έχει ως εξής. Η MAC βγαίνει εκτος τοπικού δικτύου? (νομίζω κάπου την είδα :lol: :lol: :lol: ).

ΑΠΑΝΤΗΣΗ => ΟΧΙ :!: Η MAC δεν βγαίνει και δεν ειναι προορισμένη για να βγαίνει εκτος του τοπικου μας δικτύου(ίντερνετ). Για ποιο λόγο? Για τον λογο του οτι μια ευέλικτη και αρθρωτή αρχιτεκτονική οπως αυτη του TCP/IP θέλει τα ανώτερα επίπεδα (για τα οποία λογος θα γίνει σε επόμενες παρουσιάσεις) να παραμένουν ανεξάρτητα απο τις φυσικές λεπτομέρειες. Για παράδειγμα η κρυπτογράφηση ας πουμε μιας φυσικής MAC διεύθυνσης σε υψηλότερα επίπεδα θα υποβάθμιζε κατι τετοιο.

Μιας και καλύψαμε το πώς γίνεται η διευθυνσιοδότηση (πολυ βασικά βεβαια) πάμε να προσεγγίσουμε την διεύθυνση που χρησιμοποιείται .
Αυτη λοιπόν η διεύθυνση είναι σε δεκαεξαδική μορφή ( ( hexadecimal ) -βασικά δεν ειναι ακριβώς έτσι επειδή οι βασικές διευθύνσεις υλικού αποθηκεύονται στο δυαδικό σε κάθε υπολογιστή απλα εκεινο που πραγματικά συμβαίνει ειναι οτι η αναπαράσταση της MAC στην οθόνη επιλέγεται να είναι σε 16-δική τιμή . Αφού ξεκαθαρίστηκε αυτο λοιπόν πρεπει επίσης να πω πως το 16-δικο σύστημα δεν ειναι μονο για φυσικές διευθύνσεις ή διευθύνσεις υλικού αλλα αποτελεί γενικότερου σκοπού σύστημα αναπαράστασης -μια διεύθυνση μνήμης μπορεί να εμφανιστεί και σε δυαδικό , οκταδικό , δεκαδικό κτλπ. όπως είπαμε και πιο πάνω και πάμε τωρα να εξετάσουμε το 16-δικό σύστημα ( που απο εδω και περα θα το γράφω ετσι) . Το 16-δικό είναι ενα σύστημα του οποίου η βάση (Radix) είναι το 16. Και γενικότερα αριθμείται όπως παρακάτω :

ΠΙΝΑΚΑΣ 1 :
Κώδικας: Επιλογή όλων
0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15)


Οι παρενθέσεις δίπλα απο τα A / B / C / D / E /F αντιπροσωπεύουν το γνωστό και καθημερινά χρησιμοποιούμενο δεκαδικό σύστημα. Πώς τωρα θα μπορέσω να μετατρέψω έναν αριθμό απο το δεκαεξαδικό στο δεκαδικό? Έστω ο 2ΑF3 στο σύστημα με R=16 τοτε θα έχω :

Spoiler: show
Κώδικας: Επιλογή όλων

Καταρχήν η αρίθμηση των θέσεων (για να μην χάσω τις δυνάμεις του 16 θα ξεκινήσει απο τα δεξιά προς τα αριστερά! Και απο το 0)
Δηλαδη => 2(θέση 3) Α(θέση 2 ) F (θέση 1) 3 (θέση 0)
και
Έστω x o ζητούμενος δεκαδικός αριθμός

τοτε θα είναι

x= 2 * 16^3 + A*16^2 + F * 16^1 + 3 * 16^0     // Οι θέσεις μπαίνουν σαν εκθέτες οπως θα καταλάβατε της βάσης
                                                                   // Aν το εξεταζόμενο Radix ηταν 2 (δυαδικο δηλαδη) αντι του 16 θα έμπαινε το 2.

=> x= 2 * 16^3 + 10 * 16^2 + 15 * 16^1 + 3 * 16^0  // Oι τιμές στα A - F έχουν μπεί με βάση τον πίνακα 1 και είναι 10 και 15 αντίστοιχα

=> x = 8192 + 2560 + 240 + 3 = 10995  σε Radix = 10 (δεκαδικό δηλαδη)


Γενικά το 16-δικο σύστημα ειναι πιο human - friendly και σε γενικές γραμμες προτιμάται κατα πολυ περισσοτερο απο το δυαδικό και φαντάζομαι ολοι μπορουμε να νιωσουμε τον λόγο αν έρθουμε αντιμέτωποι με μια τεράστια δυαδική ακολουθία :lol: :lol: :lol: πάμε τώρα να εξετάσουμε την ανατομία μιας MAC :D To standard format για MAC- 48 (48 bit MAC διευθυνση) συμφωνα με την IEEE 802 είναι 6 groups των 2 16-δικων ψηφίων (16-δική αναπαράσταση) που κάθε ενα απο αυτα τα groups χωρίζεται με (:) η MAC έχει επεκτασιμότητα κατι που την καθιστά χρησιμοποιήσιμη και σε άλλες τεχνολογίες οπως (το κλασικό μας ethernet) , τα 802.11 wireless networks , Bluetooth κτλπ. συμφωνα λοιπον με τα οσα είπαμε η "ανατομία" / σύνθεση / σύσταση / δομή οπως θέλετε πείτε το είναι η ακόλουθη :

Κώδικας: Επιλογή όλων
xx:xx:xx:xx:xx:xx


Σε κάθε x απο τα παραπάνω (δεκαεξαδικό ψηφίο) αντιστοιχουν 4 bits ή nibbles .Δηλαδη κάθε ομάδα (xx) αποτελείται απο 1 byte. Το 1 byte έχει τιμές οι οποίες μπορούν να κυμαίνονται απο 0-255 μεσα σε αυτο το ευρος "ζώνης" κυμαίνεται δηλαδη διοτι 2^8=256 αλλα οπως ειπαμε και πιο πάνω ειναι σημαντικό να μην ξεχνάει κανείς πως η αρίθμηση ξεκινά απο το 0. Σε 16-δικο αυτο μεταφράζεται σε εύρος τιμών απο 00...FF γιατι? Γιατί αν μετατρέψεις το 255 σε δυαδικό αυτο δίνει 8 άσσους. ΠΟυ σύμφωνα και με τον πίνακα εδω
http://en.wikipedia.org/wiki/Hexadecimal μας δίνει το FF.

Συνεχίζεται σε επόμενο ποστ....

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα