Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Ethernet και Address Resolution Protocol (ARP)
Σκοποί ενότητας Σε αυτή την ενότητα θα εξεταστούν τα πρωτόκολλα Ethernet και ARP. Θα εξεταστούν τα πλαίσια Ethernet που ανταλλάσσονται κατά τη μετάβαση σε συγκεκριμένη ιστοσελίδα. Η οποία βρίσκεται στον ιστοχώρο gaia.cs.umass.edu. 5
Περιεχόμενα ενότητας (1/3) Καταγραφή και ανάλυση πλαισίων Ethernet. Το αρχικό μήνυμα ΗΤΤΡ που στάλθηκε από τον υπολογιστή. Καταγραφή και ανάλυση πλαισίων Ethernet Συνέχεια. Το αρχικό μήνυμα HTTP. Η απάντηση HTTP αφού αφαιρέθηκε το ΙΡ από τα επιλεγμένα πρωτόκολλα. 6
Περιεχόμενα ενότητας (2/3) Η απάντηση HTTP. Το Πρωτόκολλο ARP. ARP Caching. Τα περιεχόμενα της λανθάνουσας μνήμης. ARP Caching Συνέχεια. Καταγραφή ARP. 7
Περιεχόμενα ενότητας (3/3) Το ARP μήνυμα ερώτησης. Το ARP μήνυμα απάντησης. ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο. Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου arp. ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο Συνέχεια. 8
Καταγραφή και ανάλυση πλαισίων Ethernet (1/4) Το πείραμα ξεκινάει με τη καταγραφή ενός σετ πλαισίων Ethernet, έτσι ώστε να μελετηθούν. Τα βήματα που ακολουθούνται είναι τα ακόλουθα: 1. Πρώτα, αδειάζει η κρυφή μνήμη του φυλλομετρητή. Για τον Internet Explorer, επιλέγεται Tools->Internet Options->Delete Files. 9
Καταγραφή και ανάλυση πλαισίων Ethernet (2/4) Τα βήματα που ακολουθούνται είναι τα ακόλουθα (Συνέχεια): 2. Ξεκινάει η καταγραφή πακέτων με το Wireshark. 3. Εισάγεται η διεύθυνση και γίνεται μετάβαση σε αυτήν: http://gaia.cs.umass.edu/wireshark-labs/httpethereal-lab-file3.html. Θα πρέπει να εμφανιστεί η ιστοσελίδα με τίτλο The Bill of Rights. 4. Σταματάει η καταγραφή των πακέτων με το Wireshark. 10
Καταγραφή και ανάλυση πλαισίων Ethernet (3/4) Αρχικά, εντοπίζονται οι αριθμοί των πακέτων του μηνύματος HTTP GET (η πρώτη στήλη στα αριστερά). Τα οποία στάλθηκαν από τον υπολογιστή του πειράματος στο gaia.cs.umass.edu. Καθώς και του αρχικού μηνύματος HTTP response. Που έστειλε στον υπολογιστή ο gaia.cs.umass.edu. 11
Καταγραφή και ανάλυση πλαισίων Ethernet (4/4) Η εικόνα στην οθόνη του υπολογιστή θα πρέπει να είναι παρόμοια με την εικόνα που ακολουθεί. Tο πακέτο Frame 96 που φαίνεται στην εικόνα είναι αυτό που περιέχει το μήνυμα HTTP αίτησης GET. 12
Το αρχικό μήνυμα ΗΤΤΡ που στάλθηκε από τον υπολογιστή Σχήμα 1. Το αρχικό μήνυμα ΗΤΤΡ που στάλθηκε από τον υπολογιστή. 13
Καταγραφή και ανάλυση πλαισίων Ethernet - Συνέχεια (1/5) Προκειμένου να εμφανίζονται στο Wireshark μόνο εκείνα τα πακέτα που παρουσιάζουν ενδιαφέρον, δηλαδή όσα ανήκουν στα κατώτερα του Internet protocol (ΙΡ) πρωτόκολλα, ακολουθούνται τα παρακάτω βήματα: Επιλέγετε Analyze Enabled Protocols. Αφαιρείται από τα επιλεγμένα πρωτόκολλα το πρωτόκολλο ΙΡv4. Πατάτε το κουμπί ΟΚ. 14
Καταγραφή και ανάλυση πλαισίων Ethernet - Συνέχεια (2/5) Οι πρώτες πληροφορίες που φαίνονται σε αυτό το πακέτο, αφορούν τις Ethernet διευθύνσεις πηγής και προορισμού. Με την διεύθυνση πηγής να είναι η 00:24:1d:d9:9c:74. Αντιστοιχεί στον υπολογιστή από όπου γίνεται το πείραμα. Και προορισμού 00:1c:a8:fb:b2:a8. Αντιστοιχεί στον δρομολογητή του οικιακού δικτύου, μέσω του οποίου γίνεται η σύνδεση στο Διαδίκτυο. 15
Καταγραφή και ανάλυση πλαισίων Ethernet - Συνέχεια (3/5) Όσο αφορά το πεδίο Frame type παρατηρείται ότι είναι ΙΡ (0x0800). Μια και το μήνυμα HTTP GET είναι ενσωματωμένο σε ένα τμήμα Transmission Control Protocol (TCP). Το οποίο με τη σειρά του είναι ενσωματωμένο σε ένα αυτοδύναμο ΙΡ πακέτο, που είναι επίσης ενσωματωμένο σε ένα πλαίσιο Ethernet. 16
Καταγραφή και ανάλυση πλαισίων Ethernet - Συνέχεια (4/5) Παρατηρείται ακόμα ότι προτού αρχίσουν τα δεδομένα του HTTP, προηγούνται: 14 bytes του πλαισίου Ethernet. 20 bytes της επικεφαλίδας ΙΡ. 20 bytes της επικεφαλίδας TCP. 17
Καταγραφή και ανάλυση πλαισίων Ethernet - Συνέχεια (5/5) Αυτοί οι αριθμοί επιβεβαιώνονται από το παράθυρο των δεδομένων, αν εντοπιστεί το γράμμα G, το οποίο είναι το πρώτο byte του HyperText Transfer Protocol (ΗΤΤΡ) και μετρηθούν τα bytes που προηγούνται. Ένα τελευταίο σημείο προσοχής σε αυτό το πλαίσιο είναι το πεδίο cyclic redundancy check (CRC). Μπαίνει στο τέλος του Ethernet πλαισίου. Έχει μήκος 4 bytes και δεκαεξαδική τιμή 0x 0d0a 0d0a. 18
Το αρχικό μήνυμα HTTP Σχήμα 2. Το αρχικό μήνυμα HTTP. 19
Η απάντηση HTTP αφού αφαιρέθηκε το ΙΡ από τα επιλεγμένα πρωτόκολλα Σχήμα 3. Η απάντηση HTTP αφού αφαιρέθηκε το ΙΡ από τα επιλεγμένα πρωτόκολλα. 20
Η απάντηση HTTP (1/2) Στο μήνυμα αυτό, όπως ήταν αναμενόμενο, οι διευθύνσεις πηγής και προορισμού αντιστράφηκαν. Με την πηγή να είναι ο δρομολογητής του τοπικού δικτύου και ο προορισμός ο υπολογιστής όπου γίνεται το πείραμα. 21
Η απάντηση HTTP (2/2) Κατά τα άλλα, η τιμή του πεδίου Frame type, του CRC και ο αριθμός των bytes που προηγούνται των bytes του HTTP είναι ακριβώς τα ίδια με το HTTP μήνυμα ερώτησης. 22
Το Πρωτόκολλο ARP (1/2) Στο δεύτερο μέρος του πειράματος εξετάζεται το πρωτόκολλο ARP. Για να καταγραφούν τα πακέτα ARP θα γίνει μετάβαση στην ίδια διεύθυνση με το πρώτο μέρος του πειράματος. 23
Το Πρωτόκολλο ARP (2/2) Προτού όμως ξεκινήσει η καταγραφή: Θα πρέπει να αναφερθούν κάποια χαρακτηριστικά του πρωτοκόλλου και να προηγηθούν κάποιες άλλες ενέργειες. Θα κάνουν δυνατή τη πραγματοποίηση του πειράματος. 24
ARP Caching (1/4) Το πρωτόκολλο ARP διατηρεί στον υπολογιστή μία λανθάνουσα μνήμη (cache memory) με τα ζευγάρια μετάφρασης από διευθύνσεις IP σε Ethernet (φυσικές διευθύνσεις). Η εντολή arp (σε MSDOS και Linux/Unix) χρησιμοποιείται για να εμφανίσει και να επεξεργαστεί τα περιεχόμενα αυτής της μνήμης. 25
ARP Caching (2/4) Διαφορά μεταξύ του πρωτόκολλου ARP και της εντολής arp: Το πρωτόκολλο καθορίζει την μορφή και την σημασία των μηνυμάτων που στέλνονται και λαμβάνονται. Όπως επίσης καθορίζει και τις ενέργειες που γίνονται κατά την μετάδοση και λήψη μηνυμάτων. Η εντολή arp χρησιμοποιείται για την εμφάνιση κι επεξεργασία των περιεχομένων της λανθάνουσας μνήμης. 26
ARP Caching (3/4) Για να εμφανιστούν τα περιεχόμενα της ARP λανθάνουσας μνήμης στον υπολογιστή θα πρέπει να γίνουν τα εξής: MS-DOS. Η εντολή arp βρίσκεται στο c:\windows\system32, οπότε πληκτρολογείται arp ή c:\windows\system32\arp στην γραμμή εντολών του MS-DOS. Linux/Unix. Το εκτελέσιμο της εντολής arp μπορεί να βρίσκεται σε διάφορα μέρη. Συνήθως βρίσκεται για το linux στο /sbin/arp και για το Unix στο /usr/etc/arp. 27
ARP Caching (4/4) Η εντολή arp a θα εμφανίσει τα περιεχόμενα της λανθάνουσας μνήμης ARP στον υπολογιστή. Τρέχοντας την εντολή arp a εμφανίζεται το παράθυρο που φαίνεται στην παρακάτω εικόνα. 28
Τα περιεχόμενα της λανθάνουσας μνήμης Σχήμα 4. Τα περιεχόμενα της λανθάνουσας μνήμης. 29
ARP Caching - Συνέχεια (1/3) Τα πεδία που εμφανίζονται είναι η διεύθυνση ΙΡ, η φυσική διεύθυνση και ο τύπος πρωτοκόλλου που χρησιμοποιείται. 30
ARP Caching - Συνέχεια (2/3) Για να παρατηρηθούν τα ARP μηνύματα που στέλνονται και λαμβάνονται από τον υπολογιστή. Θα χρειαστεί να καθαρίσει η λανθάνουσα μνήμη ARP. Σε αντίθετη περίπτωση είναι πολύ πιθανό ο υπολογιστής να βρίσκει το ζευγάρι μετάφρασης των IP-Ethernet διευθύνσεων που ζητήθηκε στην λανθάνουσα μνήμη του και να μην χρειαστεί να στείλει τα ARP μηνύματα. Τα οποία αποτελούν και το σκοπό του όλου πειράματος. 31
ARP Caching - Συνέχεια (3/3) MS-DOS. Η εντολή arp d * θα καθαρίσει την λανθάνουσα μνήμη ARP. Το όρισμα d υποδεικνύει μια διαδικασία διαγραφής, ενώ το μπαλαντέρ * λέει ότι θα σβηστούν όλα τα δεδομένα που έχουν αποθηκευτεί. Linux/Unix. Η εντολή arp d * θα καθαρίσει την λανθάνουσα μνήμη ARP, εφόσον ο χρήστης έχει απεριόριστα δικαιώματα χρήσης στο σύστημα. 32
Καταγραφή ARP (1/4) Ακολουθούνται τα παρακάτω βήματα: 1. Καθαρίζεται η λανθάνουσα μνήμη ARP, όπως περιγράφηκε παραπάνω. 2. Έπειτα, επιβεβαιώνεται ότι η λανθάνουσα μνήμη του περιηγητή είναι κενή. 3. Ξεκινάει η καταγραφή πακέτων με το Wireshark. 33
Καταγραφή ARP (2/4) Ακολουθούνται τα παρακάτω βήματα (Συνέχεια): 4. Εισάγεται η παρακάτω διεύθυνση στον περιηγητή: http://gaia.cs.umass.edu/wiresharklabs/http-ethereal-lab-file3.html. 34
Καταγραφή ARP (3/4) Ακολουθούνται τα παρακάτω βήματα (Συνέχεια): 5. Σταματάει η σύλληψη πακέτων με το Wireshark. Επειδή δεν έχουν ενδιαφέρον σε αυτό το πείραμα τα πρωτόκολλα από το IP και πάνω, επιλέγεται στο Wireshark Analyze-> Enabled Protocols και αποεπιλέγεται το κουτάκι με το IP. 35
Καταγραφή ARP (4/4) Ακολουθώντας τα παραπάνω βήματα θα εμφανιστεί ένα παράθυρο Wireshark παρόμοιο με την παρακάτω εικόνα. 36
Το ARP μήνυμα ερώτησης (1/5) Σχήμα 5. Το ARP μήνυμα ερώτησης. 37
Το ARP μήνυμα ερώτησης (2/5) Όπως φαίνεται οι δεκαεξαδικές τιμές των διευθύνσεων πηγής και προορισμού στο πλαίσιο Ethernet που περιέχει το μήνυμα ARP request είναι: 00:24:1d:d9:9c:74. Αντιστοιχεί στον υπολογιστή του πειράματος. ff:ff:ff:ff:ff:ff. Είναι η διεύθυνση εκπομπής (broadcast address). Ο τύπος του πλαισίου Ethernet έχει την τιμή 0x0806, που αντιστοιχεί στο πρωτόκολλο ARP. 38
Το ARP μήνυμα ερώτησης (3/5) Στοιχεία που επιβεβαιώνουν τις προδιαγραφές του πρωτοκόλλου ARP είναι τα εξής: Το πεδίο ARP opcode ξεκινάει μετά από 20 bytes από την αρχή του πλαισίου Ethernet. Η δεκαεξαδική τιμή του είναι 0x0001. Η οποία υποδηλώνει την αίτηση. Οι διευθύνσεις ΙΡ πηγής και προορισμού αναφέρονται μέσα στο ARP μήνυμα. 39
Το ARP μήνυμα ερώτησης (4/5) Στοιχεία που επιβεβαιώνουν τις προδιαγραφές του πρωτοκόλλου ARP είναι τα εξής (Συνέχεια): Η MAC διεύθυνση προορισμού έχει την τιμή 00:00:00:00:00:00. Προκειμένου να ρωτήσει το μηχάνημα σε ποιόν αντιστοιχεί η διεύθυνση ΙΡ που ζητάει. 40
Το ARP μήνυμα ερώτησης (5/5) Στη συνέχεια εντοπίζεται το πακέτο με την ARP απάντηση πού στάλθηκε για την ARP αίτηση που πραγματοποιήθηκε. Το πακέτο αυτό φαίνεται στην παρακάτω εικόνα. 41
Το ARP μήνυμα απάντησης (1/3) Σχήμα 6. Το ARP μήνυμα απάντησης. 42
Το ARP μήνυμα απάντησης (2/3) Οι διαφορές με το ARP μήνυμα ερώτησης εντοπίζονται στα εξής: Η δεκαεξαδική τιμή του πεδίου opcode είναι 0x0002. Υποδηλώνοντας ότι πρόκειται για μήνυμα απάντησης. 43
Το ARP μήνυμα απάντησης (3/3) Οι διαφορές με το ARP μήνυμα ερώτησης εντοπίζονται στα εξής (Συνέχεια): Η διεύθυνση προορισμού στο πλαίσιο Ethernet είναι η διεύθυνση πηγής του ARP μηνύματος ερώτησης. Αλλά η διεύθυνση πηγής αντιστοιχεί στην MAC διεύθυνση του υπολογιστή για τον οποίο έγινε η ερώτηση. Κάτι που φαίνεται και στο πεδίο Sender MAC address. 44
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο (1/2) Σε αυτό το κομμάτι του εργαστηρίου θα καταγραφούν τα ARP πακέτα που ανταλλάσσονται κατά την σύνδεση ενός φορητού υπολογιστή (laptop), ασύρματα, σε ένα τοπικό δίκτυο. 45
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο (2/2) Η διαδικασία που ακολουθείται είναι απλή: Ξεκινάει το Wireshark στον σταθερό υπολογιστή του δικτύου. Συνδέεται το laptop ασύρματα στο τοπικό δίκτυο. Σταματάει η καταγραφή. Αφού εφαρμοστεί το φίλτρο arp (χωρίς τα εισαγωγικά) εμφανίζεται το παράθυρο του Wireshark που φαίνεται στην παρακάτω εικόνα. 46
Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου arp Σχήμα 7: Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου arp. 47
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο - Συνέχεια (1/4) Στην παραπάνω εικόνα παρατηρούνται τα πακέτα ARP που ανταλλάχθηκαν κατά την σύνδεση του laptop. Παρατηρώντας τα μηνύματα, διαπιστώνεται ότι πραγματοποιούνται μία σειρά ερωτήσεων για την αντιστοίχηση της IP διεύθυνσης που δόθηκε στο laptop με την φυσική διεύθυνση. 48
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο - Συνέχεια (2/4) Για την αντιστοίχηση αυτή ενημερώνεται και ο σταθερός υπολογιστής. Μια και οι δύο απαντήσεις ARP που καταγράφηκαν έχουν ως πηγή το laptop και προορισμό τον σταθερό υπολογιστή. 49
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο - Συνέχεια (3/4) Κάτι τελευταίο που πρέπει να αναφερθεί είναι τα μηνύματα ARP που ρωτάνε σε ποιον ανήκει η διεύθυνση 192.168.2.3 και ζητάνε να ενημερωθεί η διεύθυνση 0.0.0.0. 50
ARP κατά την ασύρματη σύνδεση laptop σε ένα τοπικό δίκτυο - Συνέχεια (4/4) Αυτά τα ερωτήματα έχουν σκοπό να εξακριβώσουν ότι η διεύθυνση ΙΡ που δόθηκε στο laptop δεν είναι πιασμένη. Αυτά τα ερωτήματα στάλθηκαν κατόπιν αίτησης του πρωτοκόλλου Dynamic Host Configuration Protocol DHCP που αναλύεται στη συνέχεια. 51
Βιβλιογραφία 1. Δικτύωση Υπολογιστών», James Kurose_Keth W. Ross, Εκδόσεις Γκιούρδας Μ. 2. Andrew Tanenbaum, «Δίκτυα Υπολογιστών», 5η Έκδοση. 52
Τέλος Ενότητας