Τι είναι το πρωτόκολλο BOOTP

Ερώτηση: Έστω ότι έχουμε ένα PC με όνομα Host A. Τι δεδομένα θα χρειαστούμε προκειμένου να αρχίσει την επικοινωνία με το διαδίκτυο (internet) ;;;

  1. Μια IP διεύθυνση

  2. Μια μάσκα υποδικτύου

  3. Την IP διεύθυνση ενός προκαθορισμένου δρομολογητή (router) που είναι σε θέση να «γνωρίζει» την υπόλοιπη διαδρομή (NAT λειτουργίες)

  4. Και την IP διεύθυνση κάποιου server που όπως είδαμε στο προηγούμενο κεφάλαιο (πρωτόκολλο DNS) οι IP διευθύνσεις στο διαδίκτυο (Internet) αντιστοιχούνται με συμβολικά domains. Οπότε στην προκειμένη περίπτωση θα πρέπει να ξέρουμε ποιο domain name θέλουμε να επισκεφτούμε (π.χ. google.gr), όπως κάνουμε δηλαδή καθημερινά όταν χρησιμοποιούμε το διαδίκτυο (Internet).

Το πρωτόκολλο bootp βασίζεται στο μοντέλο πελάτη / εξυπηρετητή (client/server) και έχει σχεδιαστεί για να παρέχει σε υπολογιστές που δεν διαθέτουν σκληρό δίσκο τις 4 παραπάνω πληροφορίες που αναφέραμε. Ιστορικά έχει χρησιμοποιηθεί σε Unix-like υπολογιστές χωρίς δίσκο (οι οποίοι επίσης αποκτούσαν την τοποθεσία του boot image χρησιμοποιώντας αυτό το πρωτόκολλο). Επίσης χρησιμοποιήθηκε και από εταιρίες για τη δημιουργία ενός προ ρυθμισμένου client εγκατάστασης (π.χ. Windows) για καινούρια PCs.


Αίτηση BOOTP client προς έναν BOOTP server


Στην παραπάνω εικόνα αποτυπόνεται ένα κλασσικό παράδειγμα bootstrap επικοινωνίας. Έδώ έχουμε δύο κύριους διακομιστές (servers). Ο πρώτος είναι ένας TFTP server που έχει το configuration file και ο δεύτερος είναι ο BOOTP server. Προκειμένου να μπορέσει ένας νέος client να συνδεθεί σε ένα δίκτυο θα χρειαστεί μια IP διεύθυνση και κάτι για να μπορέσει να κάνει boot. Μέσω IP broadcast στέλνεται μια BOOTP αίτηση. Το BOOTP χρησιμοποιεί τις θύρες 67 και 68 για επικοινωνία.

Αίτηση BOOTP client προς έναν BOOTP server


Με απλά λόγια το πρωτόκολλο BOOTP παρέχει την δυνατότητα σε έναν κόμβο - πελάτη ο οποίος δεν διαθέτει αποθηκευτική ικανότητα (diskless node) να ανακαλύψει:

  1. Την IP διεύθυνση του,
  2. την διεύθυνση ενός εξυπηρετητή εκκίνησης
  3. και το όνομα ενός αρχείου, του πυρήνα του λειτουργικού συστήματος που πρόκειται να φορτώσει ο πελάτης.

Η διαδικασία εκκίνησης (bootstrap) αποτελείται απο δύο φάσεις. Η πρώτη θα μπορούσε να λέγεται καθορισμός διεύθυνσης και επιλογή αρχείου εκκίνησης. Αφού ληφθεί η πληροφορία διεύθυνσης και ονόματος του αρχείου, ο έλεγχς περνά στην δεύτερη φάση της εκκίνησης οπου γίνεται η μεταφορά του αρχείου. Η μεταφορά αρχείου, συνώθως γίνεται με την χρήση του πρωτοκόλλου TFTP, επειδή είναι απλό να υλοποιηθεί στην PROM (Programmable read-only memory) του πελάτη. Όμως το BOOTP μπορεί να λειτουργήσει και με άλλα πρωτόκολλα, όπως το SFTP ή το FTP.


Δομή BOOTP μηνύματος

Δομή bootp επικεφαλίδας

  • Στην εικόνα που βλέπετε στα δεξιά είναι η δομή ενός BOOTP μηνύματος. Μια ολόκληρη γραμμή είναι μήκους 4 bytes. Οι τελευταίες γραμμές είναι 16, 64, 128 και 64 bytes.

  • Τα μεσαία πλαίσια που είναι με μπλε περιέχουν την πιο χρήσιμη πληροφορία του μηνύματος που είναι η IP διεύθυνση που θα αποδοθεί στον client, η IP διεύθυνση ενός server όπου ο συγκεκριμένος client θα μπορεί να κάνει boot και επιπλέον η IP διεύθυνση ενός δρομολογητή σε περίπτωση που ο server βρίσκεται σε κάποιο άλλο υποδίκτυο. Παρακάτω ακολουθεί αναλυτική εξήγηση για κάθε πεδίο.

  • OP (Operation Code) (μήκος 1 byte): Καθορίζει τον τύπο του μηνύματος. Η τιμή 1 υποδηλώνει ότι είναι BOOTP μήνυμα αίτησης (BOOTP Request Message) και η τιμή 2 υποδηλώνει ότι πρόκειται για BOOTP απαντητικό μήνυμα (response message).

  • Υτύπος - HTYPE (Hardware Type) (μήκος 1 byte): Αυτό το πεδίο καθορίζει τον τύπο του υλικού που χρησιμοποιείται σε ένα τοπικό δίκτυο. Κάποιες από τις τιμές που παίρνει αυτό το πεδίο είναι:



  • Τιμή τύπου Τύπος Υλικού
    1 Ethernet(10 Mbps)
    6 IEEE 802 Networks
    7 ARCNET
    15 FRAME RELAY
    16 Asynchronous Transfer (ATM)
    17 HDLC
    18 Οπτικό Κανάλι (Fiber Channel)
    19 Asynchronous Transfer (ATM)
    20 Serial Line

    Τιμές που παίρνει το πεδίο H-Type



  • ΥΜήκος - HLEN (Hardware Address Length) (μήκος 1 byte): Καθορίζει το μήκος των διευθύνσεων υλικού στο BOOTP μήνυμα.

  • HOPS (μήκος 1 byte): Αυτό το πεδίο έχει την τιμή 0 πριν ο BOOTP πελάτης μεταδώσει το μήνυμα αίτησης BOOTP και χρησιμοποιείται από τους BOOTP relay agents για να επιβλέπουν την μετάδοση των BOOTP μηνυμάτων.

  • ID Συναλλαγής (μήκος 4 byte): Σύμφωνα με το RFC 951 ο πελάτης BOOTP «εισάγει» σε αυτό το πεδίο τον αριθμό τον δευτερολέπτων που πέρασαν από την στιγμή που ο BOOTP πελάτης άρχισε την διαδικασία του boot. Αυτό το πεδίο παρέχει υποτιθέμενα πληροφορίες για τον BOOTP server έτσι ώστε να τους βοηθήσει να επιλέξουν σε ποιο request πρέπει να απαντήσουν πρώτα.

  • Δευτερόλεπτα - (μήκος 2 bytes): Στο πεδίο αυτό ο BOOTP πελάτης εισάγει τον αριθμό των δευτερολέπτων που πέρασαν από την στιγμή που ο BOOTP πελάτης ξεκίνησε την διαδικασία του boot. Αυτό το πεδίο παρέχει πληροφορίες για τους BOOTP εξυπηρετητές ώστε να γνωρίζουν σε ποιο αίτημα πρέπει να στείλουν απάντηση.

  • Σημαίες - flags (μήκος 2 bytes): Αυτό το πεδίο στο αρχικό BOOTP standard (RFC 951) ήταν κενό και είχε μήκος 2 byte. Στο RFC 1542 άλλαξαν αυτό το πεδίο σε πεδίο flag όπου περιέχει μόνο μια ένδειξη flag. Στην παρακάτω διαφάνεια ακολουθεί ένας πίνακας με τις δύο τιμές που μπορεί να πάρει αυτό το πεδίο.

    Όνομα Μήκος Περιγραφή

    B

    1 bit
    Broadcast flag: Ένας BOOTP πελάτης που δεν γνωρίζει την δική του IP διεύθυνση, την χρονική στιγμή αυτή στέλνει το δικό του BOOTP μήνυμα αίτησης και θέτει στο flag την τιμή 1. Αυτό χρησιμοποιείται σαν ένδειξη για έναν BOOTP server ή για έναν κόμβο αναμετάδοσης (relay agent) ότι θα πρέπει να στείλει την απάντηση του ως broadcast μήνυμα.
    Reserved 15 Bits Reserved: Τίθεται σε 0 και δεν χρησιμοποιείται

    Τιμές που μπορεί να πάρει το πεδίο flags

  • Διεύθυνση IP πελάτη (μήκος 4 bytes): Αν ο BOOTP πελάτης έχει μια τρέχον IP διεύθυνση και σκοπεύει να την κρατήσει την τοποθετεί σε αυτό το πεδίο

  • H δική σου IP διεύθυνση (μήκος 4 bytes): Σε αυτό το πεδίο ο BOOTP server τοποθετεί την IP διεύθυνση που θα αποδοθεί στον BOOTP πελάτη.

  • IP διεύθυνση εξυπηρετητή(μήκος 4 bytes): Σε αυτό το πεδίο τοποθετείται η IP διεύθυνση του BOOTP εξυπηρετητή

  • IP διεύθυνση δρομολογητή (μήκος 4 bytes): Σε αυτό το πεδίο τοποθετείται η IP διεύθυνση ενός BOOTP relay agent (gateway)

  • Διεύθυνση υλικού πελάτη(μήκος 16 bytes): Η διεύθυνση υλικού του BOOTP πελάτη που στέλνει ένα BOOTPREPLY μήνυμα. Χρησιμοποιείται για να βρούμε την IP διεύθυνση που έχει αποδοθεί σε μια συσκευή και πιθανόν κατά στα BOOTP απαντητικά μηνύματα.

  • Όνομα Υπολογιστή Εξυπηρετητή (μήκος 16 bytes): Ο BOOTP server που στέλνει τα BOOTPREPLY μηνύματα μπορεί συνήθως να συμπληρώσει σε αυτό το πεδίο το όνομα του.

  • Όνομα αρχείου εκκίνησης (μήκος 128 bytes): Περιέχει ολόκληρο το μονοπάτι καταλόγου (directory path) και το όνομα του αρχείου (boot file) όπου μπορεί ο BOOTP πελάτης να το κατεβάσει.

  • Περιοχή ειδικά για κατασκευαστές (μήκος 64 bytes): Αρχικά σχεδιάστηκε για να επιτρέπει στους κατασκευαστές να ρυθμίζουν το πρωτόκολλο BOOTP στα μέτρα των διαφορετικών κατασκευαστών υλικού


Τι είναι το πρωτόκολλο - DHCP

Το πρωτόκολλο δυναμικής καταχώρησης IP διευθύνσεων (Dynamic Host Configuration Protocol - DHCP) δημιουργήθηκε ως επέκταση του παλαιοτέρου πλέον πρωτοκόλλου BOOTP. Η πρώτη λέξη του πρωτοκόλλου DHCP περιγράφει την πιο σημαντική δυνατότητα του, δηλαδή ότι οι IP διευθύνσεις καταχωρούνται σε έναν host δυναμικά. Η αλλαγή αυτή από το μοντέλο στατικής καταχώρισης IP διευθύνσεων σε δυναμική καταχώρηση άλλαξε ριζικά τον τρόπο με τον οποίο διαχειριζόμαστε τις IP διευθύνσεις στο DHCP. Σε σχέση με το BOOTP όπου το host configuration ήταν μια απλή διαδικασία όπου ορίζει σε έναν host την IP διεύθυνση του και άλλους παραμέτρους, στο DHCP αυτό επεκτείνεται και αποτελεί πλέον το απόλυτο μέσο για την διαχείριση των IP διευθύνσεων σε οργανισμούς ή εταιρίες. Στις παρακάτω διαφάνειες θα περιγράψουμε τον τρόπο με τον οποίο λειτουργεί το DHCP και με ποιο τρόπο καταχωρεί IP διευθύνσεις σε έναν host.

Υπάρχουν δύο κύριες λειτουργίες του DHCP. Η πρώτη δυνατότητα είναι ένας μηχανισμός ο οποίος θα διαμοιράζει IP διευθύνσεις σε hosts και η δεύτερη δυνατότητα είναι ποιοι θα είναι αυτοί οι clients που μπορούν να στείλουν αιτήματα για IP διευθύνσεις και άλλες ρυθμίσεις δεδομένων από εξυπηρετητές. Η παροχή μιας IP διεύθυνσης σε έναν πελάτη - client είναι το πιο θεμελιώδες έργο σε ένα πρωτόκολλο host configuration. Για λόγους ευελιξίας το πρωτόκολλο DHCP παρέχει τρείς μηχανισμούς δυναμικής εύρεσης IP διευθύνσεων.


  • Στατική κατανομή: Μια συγκεκριμένη IP διεύθυνση αποδίδεται σε μια συσκευή (client) από τον διαχειριστή του συστήματος

  • Αυτόματη κατανομή: Το DHCP αποδίδει αυτόματα μια μόνιμη IP διεύθυνση σε μια συσκευή

  • Δυναμική κατανομή: Το DHCP αποδίδει μια προσωρινή IP διεύθυνση, όπου αυτή έχει επιλεχθεί από έναν DHCP server για περιορισμένο χρονικό διάστημα (δηλαδή έως ότου ο DHCP client δεν θα την χρειαστεί)

Από τις παραπάνω τρείς μεθόδους κατανομής IP διευθύνσεων του DHCP η δυναμική κατανομή διευθύνσεων χρησιμοποιείται πιο πολύ και είναι η πιο σημαντική. Στην δυναμική κατανομή όπως αναφέραμε και προηγουμένως οι hosts κρατάνε μια προσωρινή IP διεύθυνση έως ότου ενημερώσουν τον DHCP server ότι δεν χρειάζονται πλέον αυτήν την IP διεύθυνση (lease). Ένας host πλέον δεν είναι περιορισμένος σε μια συγκεκριμένη IP διεύθυνση. Στο DHCP ένας server έχει στην διάθεση του τις IP διευθύνσεις και δίνει δικαιώματα σε έναν client για να χρησιμοποιεί αυτές τις διευθύνσεις για κάποιο χρονικό διάστημα. Ο server εγγυάται ότι δεν θα αποδοθεί η ίδια IP διεύθυνση σε έναν άλλο client πάντα βέβαια σε αυτό το συγκεκριμένο χρονικό διάστημα. Ο client είναι υπεύθυνος για να λάβει συγκεκριμένες λειτουργίες.

Με απλά λόγια στο DHCP η πιο σημαντική λειτουργία είναι η δυναμική κατανομή όπου αλλάζει τον τρόπο με τον οποίο διαχειρίζονται οι IP διευθύνσεις. Σε σχέση με παλιότερα όπου σε κάθε μια συσκευή ανήκε μια συγκεκριμένη IP διεύθυνση στο DHCP ο server διαχειρίζεται όλες αυτές τις IP διευθύνσεις όπου βρίσκονται σε έναν «πίνακα» διευθύνσεων και κάθε πελάτης (client) «νοικιάζει» (lease) μια IP διεύθυνση από έναν εξυπηρετητή (server) μόνο για ένα περιορισμένο χρονικό διάστημα.

Ο διαχειριστής ενός δικτύου δεν είναι υποχρεωμένος να ορίσει μέγιστο ή ελάχιστο χρόνο ενοικίασης μιας IP διεύθυνσης. Μπορεί απλά να επιλέξει έναν αριθμό που να είναι κατάλληλος με βάσει τα δεδομένα του δικτύου. Κάποια παραδείγματα ενοικίασης μιας IP διεύθυνσης είναι:


  • Μία ώρα ή λιγότερο: Χρησιμοποιείται σε περιπτώσεις όπου πολλοί Η/Υ συνδέονται /αποσυνδέονται σε ένα δίκτυο και όπου οι IP διευθύνσεις είναι περιορισμένες ή ελάχιστες.

  • Μια μέρα: Κατάλληλο για περιπτώσεις όπου ένα guest μηχάνημα τυπικά ανοιχτό για ολόκληρη μέρα ή σε περιπτώσεις όπου ένας client χρειάζεται καθημερινή επιβεβαίωση για να χρησιμοποιήσει μια IP διεύθυνση.

  • Τρείς μέρες: Αυτό είναι το default που χρησιμοποιείται από την Microsoft. Αυτό από μόνο του το κάνει μια πολύ διάσημη επιλογή.

  • Μια εβδομάδα: Μια ενδιάμεση λύση ανάμεσα σε μέγιστο ή ελάχιστο χρόνο ενοικίασης IP διεύθυνσης

  • Ένας μήνας: Άλλη μια ενδιάμεση λύση ανάμεσα σε μέγιστο ή ελάχιστο χρόνο ενοικίασης IP διεύθυνσης

  • Τρείς μήνες: Παρέχει μια λύση για IP διευθύνσεις που είναι σταθερές και δεν αλλάζουν τόσο συχνά. Είναι επίσης μια πολύ καλή ιδέα αν υπάρχουν αρκετές διαθέσιμες IP διευθύνσεις και αν οι Η/Υ είναι κλειστοί για πολλές μέρες ή εβδομάδες της περιόδου.

  • Ένας χρόνος: Όπου εδώ είναι περίπου άπειρος χρόνος ενοικίασης (infinite lease time)

Κύκλος ζωής στο DHCP (DHCP - Life Cycle)

Όπως αναφέραμε στις προηγούμενες διαφάνειες στο πρωτόκολλο DHCP ένας πελάτης (client) νοικιάζει μια IP διεύθυνση από έναν DHCP εξυπηρετητή για ένα συγκεκριμένο χρονικό διάστημα (lease time) όπου αυτό έχει οριστεί από τον διαχειριστή του δικτύου. Όταν για παράδειγμα ένας νοικιάζει ένα διαμέρισμα υπογράφει μια σύμβαση ενοικίασης – παραχώρησης. Αφού αυτή υπογραφτεί τότε και μόνο τότε μπορεί να χρησιμοποιήσει αυτό το διαμέρισμα εντός βεβαίως ενός συγκεκριμένου χρονικού πλαισίου. Αν είναι ευχαριστημένος με αυτό το διαμέρισμα θα ανανεώσει αυτήν την σύμβαση ενοικίασης πριν αυτή λήξει έτσι ώστε να μπορεί να το κρατήσει. Αν φτάσει κοντά στην ημερομηνία λήξης της σύμβασης τότε ο ιδιοκτήτης του διαμερίσματος θα ζητήσει να φύγει από το διαμέρισμα. Οπότε αν το άτομο που νοίκιαζε το διαμέρισμα αποφασίσει να φύγει από αυτό το διαμέρισμα τότε τερματίζεται η σύμβαση ενοικίασης - παραχώρησης.

Το DHCP λοιπόν έχει παρόμοιους κύκλους ζωής (life cycle) που είναι οι παρακάτω:

  • Διανομή (allocation): Ένας DHCP πελάτης εκκινεί χωρίς να έχει ενοικιάσει (lease) κάποια IP διεύθυνση. Για να αποκτήσει μια IP διεύθυνση πρέπει να εκκινήσει μια διαδικασία διανομής (allocation)

  • Ανακατανομή (reallocation): Εάν ένας πελάτης έχει ήδη ενοικιάσει μια IP διεύθυνση τότε όταν θα επανεκκινήσει θα αρχίσει επικοινωνία με έναν DHCP server προκειμένου να επιβεβαιώσει την ενοικίαση της IP διεύθυνσης και για να λάβει άλλες σχετικές παραμέτρους.

  • Κανονική λειτουργία (normal operation): Μόλις μια ενοικίαση IP διεύθυνσης είναι επιτυχής, τότε ο πελάτης (client) λειτουργεί κανονικά χρησιμοποιώντας την IP διεύθυνση που ενοικίασε

  • Ανανέωση (Renewal): Μετά από κάποιο χρονικό διάστημα που έχει λήξη ο χρόνος ενοικίασης για μια IP διεύθυνση, ο πελάτης θα επιχειρήσει να επικοινωνήσει με τον server που του έδωσε αυτήν την IP προκειμένου να την ξανά ενοικιάσει

  • Επανασύνδεση (Rebinding): Αν η διαδικασία ανανέωσης αποτύχει τότε ο πελάτης (client) θα επιχειρήσει να επανασυνδεθεί με έναν οποιονδήποτε DHCP server προκειμένου να ενοικιάσει μια IP διεύθυνση.

  • Απόλυση (release): Έχουμε όταν ο πελάτης (client) για κάποιο λόγο αποφασίσει ότι δεν χρειάζεται πλέον την IP διεύθυνση που ενοικίασε

DHCP Life Cycle


Πως λειτουργεί μια DHCP επικοινωνία

Όταν ένας DHCP πελάτης εκκινείτε (τίθεται δηλαδή σε λειτουργία) δεν είναι ικανός να στείλει ή να λάβει πληροφορία, διότι δεν έχει μια IP διεύθυνση για να επικοινωνήσει με άλλους υπολογιστές. Παρόλα αυτά μπορεί να συμμετέχει σε ανταλλαγή μηνυμάτων εκπομπής (broadcast). Ο DHCP πελάτης και ο DHCP εξυπηρετητής χρησιμοποιούν broadcast μηνύματα για να επικοινωνήσουν μεταξύ τους. Τα broadcast μηνύματα είναι «ορατά» μόνο σε ένα τοπικό broadcast domain. Δηλαδή αυτά τα μηνύματα broadcast δεν πρόκειται ποτέ να φτάσουν σε ένα άλλο δίκτυο. Ο λόγος αυτός οφείλεται διότι οι δρομολογητές (routers) απορρίπτουν της περιορισμένες broadcast IP διευθύνσεις.

Υπάρχουν δύο σημαντικές IP διευθύνσεις που χρησιμοποιούνται σε DHCP μηνύματα, αυτές είναι η 0.0.0.0 και η 255.255.255.255. Η 0.0.0.0 χρησιμοποιείται από μία συσκευή όταν δεν έχει χορηγηθεί σε αυτήν μια IP διεύθυνση. Όταν ένας DHCP πελάτης θέτεται σε λειτουργία δεν έχει μια έγκυρη IP διεύθυνση. Η IP διεύθυνση 255.255.255.255 είναι γνωστή ως περιορισμένη broadcast IP διεύθυνση. Ένα αυτοδύναμο πακέτο IP (datagram) με την IP 255.255.255.255 θεωρείται σαν μήνυμα broadcast σε ένα τοπικό δίκτυο LAN. Τα μηνύματα DHCPDISCOVER και DHCPREQUEST στέλνονται από έναν DHCP πελάτη προς τον DHCP εξυπηρετητή. Τα δε μηνύματα DHCPOFFER και DHCPACK στέλνονται από τον DHCP εξυπηρετητή προς τον DHCP πελάτη. Η διαδικασία σύμβασης ρυθμίσεως του TCP/IP από τον DHCP εξυπηρετητή περιλαμβάνει τα παρακάτω βήματα.

  • DHCPDISCOVER: Ένας DHCP πελάτης στέλνει ένα μήνυμα εκπομπής (broadcast) τύπου DHCP discover στο δίκτυο που περιέχει την φυσική διεύθυνση MAC που προορίζεται στην UDP θύρα 68 (η οποία χρησιμοποιείται από τα πρωτόκολλα BOOTP κι από τους DHCP servers αντίστοιχα). Δηλαδή αυτό το αυτοδύναμο πακέτο (datagram) είναι στην ουσία μια αίτηση προς τον DHCP εξυπηρετητή ο οποίος με την σειρά του λαμβάνει αυτό το πακέτο για να πάρει πληροφορίες ως προς την ρύθμιση. Όπως λέει και το όνομα στην ουσία με αυτό το μήνυμα εντοπίζουμε τον DHCP εξυπηρετητή.

  • Μήνυμα DHCP DHCPDISCOVER


    Όπως βλέπουμε από την παραπάνω εικόνα η φυσική διεύθυνση προορισμού MAC ενός DHCPDISCOVER μηνύματος είναι η FF-FF-FF-FF-FF-FF, η οποία είναι η broadcast MAC διεύθυνση. Ένα ethernet πλαίσιο (frame) με μια broadcast φυσική διεύθυνση MAC προορισμού κατευθύνεται προς όλες τις θύρες ενός τοπικού δικτύου (LAN). Το μήνυμα DHCPDISCOVER θα παραδοθεί σε κάθε συνδεμένο κόμβο του τοπικού δικτύου.

    Περιγραφή

    Τιμή

    Κατεύθυνση μηνύματος

    Πελάτης (client) προς εξυπηρετητή (server)

    MAC Διεύθυνση πηγής

    MAC διεύθυνση του DHCP πελάτη

    MAC Διεύθυνση προορισμού

    ff:ff:ff:ff:ff:ff (broadcast MAC address)

    IP διεύθυνση πηγής

    0.0.0.0

    IP διεύθυνση προορισμού

    255.255.255.255 (Limited Broadcast)

    Αριθμός θύρας πηγής

    UDP 68

    Αριθμός θύρας προορισμού

    UDP 67


    Πληροφορία που περιέχει το μήνυμα DHCPDISCOVER


  • DHCPOFFER: Σε περίπτωση που το μήνυμα DHCPDISCOVER μεταφερθεί επιτυχώς σε όλους τους διασυνδεδεμένους υπολογιστές του τοπικού δικτύου τότε ο κάθε DHCP εξυπηρετητής που θα λάβει αυτό το μήνυμα θα στείλει ένα απαντητικό μήνυμα τύπου DHCPOFFER πίσω στον DHCP πελάτη όπως φαίνεται στην παρακάτω εικόνα.

  • Μήνυμα DHCPOFFER


    Οι υπόλοιποι υπολογιστές που δεν είναι DHCP εξυπηρετητές θα παρακάμψουν αυτό το μήνυμα. Ένα μήνυμα DHCPOFFER περιέχει τα προσφερόμενα στοιχεία ρυθμίσεων TCP/IP όπως την IP διεύθυνση και την μάσκα υποδικτύου. Σε περίπτωση που για κάποιο λόγο ο DHCP πελάτης που έστειλε το μήνυμα DHCPDISCOVER λάβει παραπάνω από ένα μήνυμα DHCPOFFER τότε αποδέχεται το μήνυμα που θα φτάσει πρώτο. Οποιοδήποτε άλλο μήνυμα DHCPOFFER που θα έρθει αργότερα το απορρίπτει.


    Περιγραφή

    Τιμή

    Κατεύθυνση μηνύματος

    DHCP εξυπηρετητής (server) προς DHCP πελάτη (client)

    MAC Διεύθυνση πηγής

    MAC διεύθυνση του DHCP εξυπηρετητή

    MAC Διεύθυνση προορισμού

    ff:ff:ff:ff:ff:ff (broadcast MAC address)

    IP διεύθυνση πηγής

    IP διεύθυνση εξυπηρετητή

    IP διεύθυνση προορισμού

    255.255.255.255 (Limited Broadcast)

    Αριθμός θύρας πηγής

    UDP 67

    Αριθμός θύρας προορισμού

    UDP 68


    Πληροφορία που περιέχει το μήνυμα DHCPOFFER


  • DHCPREQUEST: Όταν ένας DCHP πελάτης αποδεχτεί το μήνυμα DHCPOFFER από τον DHCP εξυπηρετητή, θα πρέπει να στείλει με την σειρά του ένα αυτοδύναμο πακέτο broadcast το οποίο λέγεται DHCPREQUEST. Αυτό το πακέτο περιέχει την IP διεύθυνση του DHCP εξυπηρετητή που έστειλε το DHCPOFFER, και την φυσική διεύθυνση MAC του DHCP πελάτη (δηλαδή την φυσική διεύθυνση αυτού που στέλνει το DHCPREQUEST). Η εικόνα παρακάτω δίνει ένα παράδειγμα DHCPREQUEST.

  • Μήνυμα DHCPREQUEST


    Περιγραφή

    Τιμή

    Κατεύθυνση μηνύματος

    Πελάτης (client) DHCP προς DHCP εξυπηρετητή (server)

    MAC Διεύθυνση πηγής

    MAC διεύθυνση του DHCP πελάτη

    MAC Διεύθυνση προορισμού

    ff:ff:ff:ff:ff:ff (broadcast MAC address)

    IP διεύθυνση πηγής

    0.0.0.0

    IP διεύθυνση προορισμού

    255.255.255.255 (Limited Broadcast)

    Αριθμός θύρας πηγής

    UDP 68

    Αριθμός θύρας προορισμού

    UDP 67


    Πληροφορία που περιέχει το μήνυμα DHCPREQUEST


  • DHCPACK: Όταν ο DHCP εξυπηρετητής απ' τον οποίο στάλθηκε το μήνυμα DHCPOFFER λάβει το αυτοδύναμο πακέτο DHCPREQUEST με την σειρά του δημιουργεί ένα αυτοδύναμο πακέτο DHCPACK (DHCP ACKNOWLEDGEMENT). Αυτό το πακέτο περιέχει την IP διεύθυνση και την μάσκα υποδικτύου για τον DHCP πελάτη. Μπορεί να περιέχει κι άλλες TCP/IP πληροφορίες ρυθμίσεων όπως προκαθορισμένη πύλη (default gateway), τις IP διευθύνσεις του DNS εξυπηρετητή κλπ. Όταν o DHCP πελάτης λάβει το DHCPACK θα είναι σε θέση να χρησιμοποιήσει αυτήν την IP διεύθυνση. Η παρακάτω εικόνα δίνει ένα παράδειγμα DHCPACK.

  • Μήνυμα DHCPREQUEST


    Περιγραφή

    Τιμή

    Κατεύθυνση μηνύματος

    DHCP εξυπηρετητής (server) προς DHCP πελάτη (client)

    MAC Διεύθυνση πηγής

    MAC διεύθυνση του DHCP εξυπηρετητή

    MAC Διεύθυνση προορισμού

    ff:ff:ff:ff:ff:ff (broadcast MAC address)

    IP διεύθυνση πηγής

    IP διεύθυνση εξυπηρετητή

    IP διεύθυνση προορισμού

    255.255.255.255 (Limited Broadcast)

    Αριθμός θύρας πηγής

    UDP 67

    Αριθμός θύρας προορισμού

    UDP 68


    Πληροφορία που περιέχει το μήνυμα DHCPACK

Πως λειτουργεί μια DHCP επικοινωνία

Όπως είδαμε παραπάνω για να επικοινωνήσει ένας DHCP πελάτης και ένας DHCP εξυπηρετητής ανταλλάσσουν μηνύματα. Σε αυτό το σημείο θα αναφερθούμε συνοπτικά στα πεδία αυτού μηνύματος. Όλα τα DHCP μηνύματα έχουν τον ίδιο ακριβώς σχεδιασμό. Το DHCP αναπτύχθηκε από το BOOTP (RFC 951) και όλα μηνύματα DHCP βασίζονται πάνω σε αυτό διότι το DHCP διαμοιράζετε με το BOOTP τις UDP θύρες 97 και 68. Το BOOTP και κατά συνέπεια το DHCP χρησιμοποιούν το UDP ως πρωτόκολλο μεταφοράς δεδομένων το οποίο δεν παρέχει αξιοπιστία. Οι DHCP πελάτες καλούνται να ξαναστείλουν τα μηνύματα τους αν δεν λάβουν απάντηση από τον DHCP εξυπηρετητή. Για παράδειγμα αν ένας DHCP πελάτης στείλει ένα DHCPREQUEST μήνυμα και δεν απαντήσει σε αυτό ο DHCP εξυπηρετητής τότε ξαναστέλνει μηνύματα εκπομπής πάνω από τέσσερις φορές σε 2,4,8 και 16 δευτερόλεπτα. Αν παρόλα αυτά ο DHCP πελάτης εξακολουθεί να μην λαμβάνει απάντηση μέσα σε αυτό το χρονικό περιθώριο τότε ξαναστέλνει κάθε 5 λεπτά. Στην παρακάτω διαφάνεια απεικονίζεται η δομή ενός DHCP μηνύματος.

Δομή DHCP μηνύματος


  1. Κωδικός λειτουργίας: Καθορίζει τον τύπο του DHCP μηνύματος. Αν για παράδειγμα τεθεί σε 1 τότε είναι ένα DHCP μήνυμα αίτησης πελάτη (DHCP Request client) αν τεθεί σε 2 τότε είναι ένα μήνυμα απάντησης εξυπηρετητή (DHCP Response server).

  2. Διεύθυνση τύπου υλικού: Καθορίζει την αρχιτεκτονική υποδομή ενός τοπικού δικτύου (LAN). Για παράδειγμα, για να καθοριστεί ο τύπος του ethernet πρέπει το πεδίο αυτό να τεθεί σε 1.

  3. Μήκος διεύθυνσης υλικού: Καθορίζεται το μήκος της φυσικής διεύθυνσης MAC (επιπέδου σύνδεσης δεδομένων) σε bytes. Στο Ethernet (που χρησιμοποιείται ευρέος σε LAN δίκτυα) η τιμή που θα πάρει αυτό το πεδίο θα είναι το 6.

  4. Άλματα (hops): Αριθμός hops που έγιναν για την προώθηση του μηνύματος

  5. Αναγνωριστικό συνδιαλλαγής: Χρησιμοποιείται από τους DHCP πελάτες για να «ταιριάξουν» τα απαντητικά μηνύματα του DHCP εξυπηρετητή με τις προηγούμενες αιτήσεις μηνυμάτων που μεταδόθηκαν.

  6. Δευτερόλεπτα: Χρόνος που διήρκησε (σε δευτερόλεπτα) από την στιγμή που ο DHCP πελάτης εκκίνησε την διεργασία DHCP.

  7. Σημαίες: Το πεδίο αυτό αποκαλείται ως broadcast bit, και μπορεί να τεθεί σε 1 ως ένδειξη ότι τα μηνύματα ως προς τον DHCP πελάτη πρέπει να είναι broadcast.

  8. Διεύθυνση IP πελάτη: H IP διεύθυνση του DHCP πελάτη η οποία ορίζεται από τον ίδιο όταν έχει επιβεβαιώσει ότι η διεύθυνση του είναι έγκυρη.

  9. Διεύθυνση IP πελάτη που οριστικέ από τον DHCP εξυπηρετητή: Η IP διεύθυνση του DHCP πελάτη που έχει όμως οριστεί από τον DHCP εξυπηρετητή για να ενημερώσει τον πρώτο για την IP διεύθυνση που θα έχει.

  10. Διεύθυνση IP εξυπηρετητή: Η IP διεύθυνση του επόμενου DHCP εξυπηρετητή που καλείται να επικοινωνήσει ο DHCP πελάτης προκειμένου να γίνει η διαδικασία ρύθμισης address.

  11. Διεύθυνση IP δικτυακής πύλης: Είναι η διεύθυνση του τοπικού gateway που λειτουργεί ως relay agent του DHCP.

  12. Διεύθυνση υλικού πελάτη: Η φυσική διεύθυνση MAC του DHCP πελάτη.

  13. Διεύθυνση υλικού εξυπηρετητή: Η φυσική διεύθυνση του DHCP εξυπηρετητή που θα επικοινωνήσει ο DHCP πελάτης για την διαδικασία ρύθμισης.

  14. Όνομα αρχείου εκκίνησης: Το όνομα του αρχείου του DHCP πελάτη προκειμένου να κάνει αίτηση από τον επόμενο DHCP εξυπηρετητή. Για παράδειγμα το όνομα του αρχείου που περιέχει το λειτουργικό σύστημα του συγκεκριμένου DHCP πελάτη.

Τι είναι το πρωτόκολλο Telnet

To Telnet είναι μια από τις υπηρεσίες του διαδικτύου (Internet) που μας επιτρέπει να συνδεόμαστε με έναν απομακρυσμένο υπολογιστή και να δουλεύουμε αλληλεπιδραστικά σε αυτόν χρησιμοποιώντας τα προγράμματά του σαν να είμαστε δηλαδή άμεσα συνδεδεμένοι μαζί του. Για παράδειγμα, το δικό μας τερματικό - προσωπικός υπολογιστής, workstation, τερματικό ενός UNIX συστήματος, κλπ. - μετατρέπεται σε τερματικό του απομακρυσμένου υπολογιστή ο οποίος ανταποκρίνεται στις εντολές μας. To Telnet βασίζεται κι αυτό με την σειρά του στην αρχιτεκτονική πελάτη - εξυπηρετητή (client/server). Για να το χρησιμοποιήσουμε, εκτελούμε στον υπολογιστή μας ένα πρόγραμμα Telnet πελάτη (Τelnet client), ενώ στον απομακρυσμένο υπολογιστή εκτελείται ένα πρόγραμμα που ονομάζεται Telnet εξυπηρετητής (Telnet server). O Telnet εξυπηρετητής μπορεί να ανταποκριθεί σε πολλές αιτήσεις συγχρόνως, δημιουργώντας μια νέα διεργασία για κάθε νέα αίτηση.


Παράδειγμα telnet session σε έναν telnet εξυπηρετητή (server)




Τελευταία ενημέρωση: 23/04/2018






Follow us

 ☰