Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
DHCP - Dynamic Host Configuration Protocol
Σκοποί ενότητας Σε αυτή την ενότητα το πρωτόκολλο που θα εξεταστεί είναι το Dynamic Host Configuration Protocol - DHCP. 5
Περιεχόμενα ενότητας (1/5) Εισαγωγή. Ανιχνεύοντας το DHCP με το Wireshark. To παράθυρο Wireshark για το πακέτο DHCP Discover - Frame 52. Ανιχνεύοντας το DHCP με το Wireshark Συνέχεια. Η γραφική ανάλυση για τα πακέτα DHCP. 6
Περιεχόμενα ενότητας (2/5) DHCP request. To παράθυρο Wireshark για το πακέτο DHCP Request. Transaction Ids. Διεύθυνση αποστολής - Broadcast address. Διεύθυνση πηγής και διεύθυνση διακομιστή DHCP. 7
Περιεχόμενα ενότητας (3/5) DHCP Offer. To παράθυρο Wireshark για το πακέτο DHCP Offer. Μήνυμα DHCP Request. Πράκτορας αναμετάδοσης, μάσκα υποδικτύου και διεύθυνση δρομολογητή. To παράθυρο Wireshark για το πακέτο DHCP Ack. 8
Περιεχόμενα ενότητας (4/5) Internet Protocol (IP) Address Lease Time. DHCP Release και μηνύματα ARP. To παράθυρο Wireshark για το πακέτο Address Resolution Protocol (ARP) request. DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο. Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου bootp. 9
Περιεχόμενα ενότητας (5/5) DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο Συνέχεια. 10
Εισαγωγή (1/3) Το DHCP χρησιμοποιείται εκτενώς σε εταιρικά, πανεπιστημιακά και οικιακά δίκτυα, τόσο ενσύρματα όσο και ασύρματα LAN s προκειμένου να εκχωρεί δυναμικά διευθύνσεις ΙΡ στους hosts. Kαθώς επίσης και για να ρυθμίζει τις παραμέτρους άλλων δικτύων. 11
Εισαγωγή (2/3) Το συγκεκριμένο πείραμα είναι σύντομο, μια και θα εξεταστούν μόνο τα πακέτα DHCP που καταγράφονται από τον host. Όποιος διαθέτει δικαιώματα διαχειριστή στον DHCP server. Eφόσον διαθέτει router στο σπίτι του μπορεί να δοκιμάσει να ρυθμίσει τον DHCP server. 12
Εισαγωγή (3/3) Το συγκεκριμένο πείραμα πραγματοποιείται μόνο με την έκδοση για Windows. Σε Linux/Unix μηχανήματα υπάρχει το πρόβλημα με τις static ΙΡ διευθύνσεις και χρειάζονται αυξημένα προνόμια χρήστη. 13
Ανιχνεύοντας το DHCP με το Wireshark (1/11) Προκειμένου να παρατηρηθούν οι ενέργειες του DHCP: Θα δίνονται μία σειρά από εντολές και καταγράφονται τα DHCP μηνύματα που ανταλλάσσονται ως αποτέλεσμα αυτών των εντολών. 14
Ανιχνεύοντας το DHCP με το Wireshark (2/11) Ακολουθούνται τα παρακάτω βήματα: Ανοίγει η γραμμή εντολών των Windows. Όπως φαίνεται και στην παρακάτω εικόνα, πληκτρολογείτε την εντολή ipconfig/release στο παράθυρο Command Prompt. 15
Ανιχνεύοντας το DHCP με το Wireshark (3/11) Σχήμα 1. Ανιχνεύοντας το DHCP με το Wireshark (1). 16
Ανιχνεύοντας το DHCP με το Wireshark (4/11) Αυτή η εντολή αποδεσμεύει την ΙΡ διεύθυνση που είχε εκχωρηθεί δυναμικά τη δεδομένη στιγμή στον υπολογιστή (host) από τον διακομιστή DHCP. Πλέον η διεύθυνση ΙΡ του υπολογιστή (host) παίρνει την προκαθορισμένη τιμή 0.0.0.0 καθώς και η μάσκα υποδικτύου 0.0.0.0. Πρακτικά σημαίνει ότι δεν υπάρχει πλέον σύνδεση με το τοπικό δίκτυο. 17
Ανιχνεύοντας το DHCP με το Wireshark (5/11) Ξεκινάει το Wireshark την ανίχνευση πακέτων. Όπως φαίνεται και στην παρακάτω εικόνα, πληκτρολογείτε ξανά στη γραμμή εντολών την εντολή ipconfig/renew. 18
Ανιχνεύοντας το DHCP με το Wireshark (6/11) Σχήμα 2. Ανιχνεύοντας το DHCP με το Wireshark (2). 19
Ανιχνεύοντας το DHCP με το Wireshark (7/11) H εντολή αυτή οδηγεί τον host να ζητήσει από τον διακομιστή DHCP να εκχωρήσει μια δυναμική διεύθυνσης ΙΡ 192.168.2.2. Συμπεριλαμβανομένων των παραμέτρων σύνδεσης στο τοπικό δίκτυο. Δηλαδή τη νέα μάσκα υποδικτύου 255.255.255.0 και την προεπιλεγμένη πύλη 192.168.2.2. 20
Ανιχνεύοντας το DHCP με το Wireshark (8/11) Αναμονή μέχρι να ολοκληρωθεί η προηγούμενη διαδικασία και επανάληψη της εντολής ipconfig/renew. Όταν η δεύτερη εντολή ipconfig/renew ολοκληρωθεί: Εισάγετε την εντολή ipconfig/release. Ώστε να απελευθερωθεί η προηγούμενη ΙΡ διεύθυνση που είχε εκχωρηθεί δυναμικά τη δεδομένη στιγμή στον υπολογιστή (host) από τον διακομιστή DHCP. 21
Ανιχνεύοντας το DHCP με το Wireshark (9/11) Τελικά, εισάγεται ξανά η εντολή ipconfig/renew. Για να εκχωρηθεί ξανά μια δυναμική ΙΡ διεύθυνση στον υπολογιστή (host) από τον διακομιστή DHCP συμπεριλαμβανομένων των παραμέτρων σύνδεσης στο τοπικό δίκτυο. Σταματάει η διαδικασία σύλληψης πακέτων του Wireshark. 22
Ανιχνεύοντας το DHCP με το Wireshark (10/11) Στα αποτελέσματα της ανίχνευσης στο παράθυρο του Wireshark: Εισάγετε στο πεδίο του φίλτρου bootp (χωρίς τα εισαγωγικά). Προκειμένου να εμφανίζονται φαίνονται μόνο τα DHCP πακέτα. 23
Ανιχνεύοντας το DHCP με το Wireshark (11/11) Στην εικόνα που ακολουθεί φαίνεται ότι η πρώτη εντολή ipconfig renew εντολή δημιούργησε τέσσερα πακέτα DHCP και συγκεκριμένα: Ένα πακέτο DHCP Discover. Ένα πακέτο DHCP Offer. Ένα πακέτο DHCP Request. Ένα πακέτο DHCP ACK. 24
To παράθυρο Wireshark για το πακέτο DHCP Discover - Frame 52 Σχήμα 3. To παράθυρο Wireshark για το πακέτο DHCP Discover - Frame 52. 25
Ανιχνεύοντας το DHCP με το Wireshark - Συνέχεια (1/2) Όπως φαίνεται στην παραπάνω εικόνα, τα DHCP μηνύματα στέλνονται μέσω του πρωτοκόλλου μεταφοράς User Datagram Protocol (UDP). Σχεδιάζοντας μέσω του Wireshark ένα διάγραμμα χρόνου της συχνότητας των πακέτων DHCP Discover/Offer/Request/ACK που ανταλλάσσονται μεταξύ client και server. Γίνεται πιο κατανοητός ο τρόπος με τον οποίο ανταλλάσσονται τα μηνύματα και οι διευθύνσεις πηγής και προορισμού του κάθε μηνύματος. 26
Ανιχνεύοντας το DHCP με το Wireshark - Συνέχεια (2/2) Για τον σχεδιασμό του γραφήματος η διαδρομή που ακολουθείται είναι Statistics Flow graph. Το στρώμα ζεύξης του host έχει την διεύθυνση 00:24:1d:d9:9c:74. Όπως φαίνεται στο πλαίσιο Ethernet στο πρώτο πακέτο στην παρακάτω εικόνα. 27
Η γραφική ανάλυση για τα πακέτα DHCP Σχήμα 4. Η γραφική ανάλυση για τα πακέτα DHCP. 28
DHCP request Στην εικόνα που ακολουθεί φαίνεται το πακέτο που μεταφέρει το μήνυμα DHCP request. Οι τιμές που διαφοροποιούν το DHCP Discover μήνυμα από το DHCP Request μήνυμα είναι στο πεδίο Option 53. Όπου στο πρώτο πακέτο έχει την τιμή DHCP Discover και στο δεύτερο DHCP Request. Σε ότι αφορά τα υπόλοιπα πεδία, αυτά δεν παρουσιάζουν διαφοροποιήσεις. 29
To παράθυρο Wireshark για το πακέτο DHCP Request Σχήμα 5. To παράθυρο Wireshark για το πακέτο DHCP Request. 30
Transaction Ids Ένα ακόμα ενδιαφέρον σημείο της καταγραφής είναι τα Transaction Ids. Βρίσκονται δίπλα από κάθε πακέτο, στη στήλη Info. Χρησιμοποιούνται έτσι ώστε ο DHCP διακομιστής να διαφοροποιεί τις διαφορετικές αιτήσεις από πλευράς πελάτη κατά την διάρκεια της διαδικασίας. 31
Διεύθυνση αποστολής - Broadcast address Αξιοσημείωτο είναι επίσης ότι στα τέσσερα πρώτα πακέτα η διεύθυνση αποστολής είναι κοινή, η 255.255.255.255. Η οποία αποκαλείται Broadcast address. Αφού το μήνυμα αποστέλλεται ταυτόχρονα σε κάθε συσκευή (host) του τοπικού δικτύου. 32
Διεύθυνση πηγής και διεύθυνση διακομιστή DHCP Η διεύθυνση πηγής για τον πελάτη είναι η προκαθορισμένη 0.0.0.0. Ενώ ο διακομιστής DHCP χρησιμοποιεί την πραγματική του διεύθυνση. Δηλαδή την 192.168.2.1. 33
DHCP Offer Στην εικόνα που ακολουθεί φαίνεται το μήνυμα DHCP Offer. Όπου ο DHCP διακομιστής προσφέρει στον πελάτη την διεύθυνση ΙΡ 192.168.2.2. Η οποία φαίνεται ως τιμή στο πεδίο Your client IP address. Ενώ επιβεβαιώνεται ότι η απόδοση της διεύθυνσης ΙΡ γίνεται σε αυτό το πακέτο λόγω του πεδίου Option 53. Το οποίο έχει ως τιμή τη φράση DHCP Offer. 34
To παράθυρο Wireshark για το πακέτο DHCP Offer Σχήμα 6. To παράθυρο Wireshark για το πακέτο DHCP Offer. 35
Μήνυμα DHCP Request Από την άλλη, στην παραπάνω εικόνα φαίνεται στο DHCP Request μήνυμα ότι η διεύθυνση ΙΡ που δόθηκε στον πελάτη: Ήταν κι αυτή που είχε ζητηθεί στο πεδίο Option 50 : Requested IP address. 36
Πράκτορας αναμετάδοσης, μάσκα υποδικτύου και διεύθυνση δρομολογητή Στην εικόνα που ακολουθεί φαίνεται ότι δεν χρησιμοποιείται πράκτορας αναμετάδοσης (relay agent) από το γεγονός ότι η τιμή του πεδίου Relay agent IP address είναι 0.0.0.0. Στην ίδια εικόνα υπάρχουν τα πεδία Option1 και Option 3 τα οποία ορίζουν: Τη διεύθυνση της μάσκας υποδικτύου 255.255.255.0. Ως διεύθυνση του δρομολογητή την 192.168.2.1. 37
To παράθυρο Wireshark για το πακέτο DHCP Ack Σχήμα 7. To παράθυρο Wireshark για το πακέτο DHCP Ack. 38
IP Address Lease Time Ένα ακόμα πεδίο που έχει ενδιαφέρον είναι το IP Address Lease Time που έχει τιμή 1 ώρα. Είναι ο χρόνος για τον οποίο ο DHCP διακομιστής δίνει μία ΙΡ διεύθυνση σε ένα πελάτη. Δεσμεύοντας την απέναντι σε αιτήσεις από άλλους πελάτες. 39
DHCP Release και μηνύματα ARP (1/2) Δύο τελευταία σημεία αυτού του πειράματος που θα αναλυθούν είναι ο σκοπός των μηνυμάτων DHCP Release και ο λόγος ύπαρξης των ARP μηνυμάτων. Ο σκοπός των μηνυμάτων DHCP release είναι για να καταργήσουν την δυναμική εκχώρηση μίας διεύθυνσης ΙΡ σε πελάτη και να την απελευθερώσουν για κάποια επόμενη αίτηση. 40
DHCP Release και μηνύματα ARP (2/2) Σε περίπτωση που δεν σταλεί αυτό το μήνυμα θα πρέπει να περάσει ο χρόνος lease time προκειμένου να απελευθερωθεί η διεύθυνση. Όσον αφορά τα ARP μηνύματα που φαίνονται στην παρακάτω εικόνα: Αυτά πραγματοποιούνται κατόπιν αίτησης του DHCP διακομιστή. Προκειμένου να βεβαιωθεί ότι η διεύθυνση ΙΡ που προτίθεται να αποδώσει σε ένα πελάτη δεν είναι δεσμευμένη από άλλον υπολογιστή (host). 41
To παράθυρο Wireshark για το πακέτο ARP request Σχήμα 8. To παράθυρο Wireshark για το πακέτο ARP request. 42
DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο (1/2) Σε αυτό το κομμάτι θα καταγραφούν τα DHCP πακέτα που ανταλλάσσονται κατά την ασύρματη σύνδεση ενός φορητού υπολογιστή (laptop), σε ένα τοπικό δίκτυο. 43
DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο (2/2) Η διαδικασία που ακολουθείται είναι απλή: Ξεκινάει το Wireshark στον σταθερό υπολογιστή του δικτύου. Συνδέεται το laptop ασύρματα στο τοπικό δίκτυο. Σταματάει η καταγραφή. Αφού εφαρμοστεί το φίλτρο bootp (χωρίς τα εισαγωγικά) εμφανίζεται το παράθυρο του Wireshark που φαίνεται στην παρακάτω εικόνα. 44
Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου bootp Σχήμα 9. Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου bootp. 45
DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο - Συνέχεια (1/2) Στο παράθυρο εμφανίζεται η τετράδα των πακέτων DHCP. Η οποία εξετάστηκε και αναλύθηκε ο τρόπος λειτουργίας της στο προηγούμενο πείραμα. Εμφανίζεται όμως και ένα πακέτο που μεταφέρει το μήνυμα DHCP Inform. 46
DHCP πακέτα κατά τη σύνδεση ενός laptop σε τοπικό δίκτυο - Συνέχεια (2/2) Το συγκεκριμένο μήνυμα στέλνεται από την ΙΡ διεύθυνση του laptop προς την διεύθυνση εκπομπής 255.255.255.255. Ο λόγος που στέλνεται το παραπάνω μήνυμα είναι η άντληση περισσότερων πληροφοριών. Σχετικά με κάποιες παραμέτρους του DHCP για τις οποίες δεν στάλθηκαν πληροφορίες από τα προηγούμενα μηνύματα. Οι παράμετροι αυτοί αναφέρονται αναλυτικά στο Option (55) Parameter Request List. 47
Βιβλιογραφία 1. Δικτύωση Υπολογιστών», James Kurose_Keth W. Ross, Εκδόσεις Γκιούρδας Μ.. 2. Andrew Tanenbaum, «Δίκτυα Υπολογιστών», 5η Έκδοση. 48
Τέλος Ενότητας