DHCP: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μ client=πελάτης
μ μικρές διορθώσεις
Γραμμή 24:
==Εισαγωγή στο πρωτόκολλο==
 
To DCHP παρέχει παραμέτρους ρυθμίσεων για ένα [[Μοντέλο πελάτη-διακομιστή|μοντέλο δικτύου [{clientπελάτη-server}διακομιστή]] . Οι ''DHCP server hosts'' δεσμεύουν τις διευθύνσεις του δικτύου και στέλνουν τις πληροφορίες για αυτές στους ''client-hosts''. Το DHCP αποτελείται από δύο πράγματα. Το πρώτο είναι το πρωτόκολλο που στέλνει παραμέτρους ρυθμίσεων από τον server στον host και το δεύτερο είναι ο μηχανισμός για να αντιστοιχίζει τις διευθύνσεις στους hosts.
 
=== Αντιστοίχηση διευθύνσεων IP διευθύνσεων===
 
Το DHCP υποστηρίζει 3 μηχανισμούς για να αντιστοιχίζει διευθύνσεις. Αυτοί είναι:
Γραμμή 35:
===Αποστολή παραμέτρων ρύθμισης===
 
Ο [[client]]πελάτης στέλνει μήνυμα στονστο [[server]]διακομιστή για να του ζητήσει τις παραμέτρους και ο server ανταποκρίνεται με ένα μήνυμα που τις περιέχει.
 
===Συμβατότητα με το BOOTP===
Η δομή των μηνυμάτων είναι βασισμένη στη δομή των μηνυμάτων του BOOTP. Αυτό γίνεται για τους εξής λόγους:
 
*Όσον αφορά τον clientπελάτη το DHCP είναι επέκταση του BOOTP. Αυτή η συμπεριφορά επιτρέπει στους BOOTPπελάτες clientsτου BOOTP να επικοινωνούν με DHCPδιακομιστές serversτου DHCP χωρίς να χρειάζονται αλλαγές.
*Το DHCP υποστηρίζει τη συμπεριφορά του ''BOOTP relay agent''.
*Χρήση των relay agents: Το DHCP δεν χρειάζεται serverδιακομιστή για κάθε τμήμα του δικτύου. Για να έχουμε μεγάλο μέγεθος δικτύου και οικονομία το DHCP μπορεί να λειτουργήσει διαμέσου routers ή relay agents του BOOTP. Έτσι προωθούνται τα μηνύματα και σε άλλα τμήματα του δικτύου. Αυτό εκμηδενίζει την ανάγκη για ένανένα DHCPιδακομιστή serverDHCP σε κάθε φυσικό δίκτυο.
 
==Δέσμευση Διευθύνσεων δικτύου==
 
Όπως προαναφέρθηκε το dhcpDHCP έχει 3 μηχανισμούς για να δεσμεύει και να αντιστοιχίζει διευθύνσεις δικτύου. Ένα δίκτυο μπορεί να χρησιμοποιεί έναν η περισσότερους μηχανισμούς ανάλογα με την απόφαση του διαχειριστή του. Η δυναμική αντιστοίχιση είναι ο μόνος από τους 3 μηχανισμούς που επιτρέπει αυτόματη επαναχρησιμοποίηση μίας διεύθυνσης που δεν χρειάζεται πια από τον clientπελάτη στον οποίο δόθηκε. Έτσι η δυναμική αντιστοίχηση είναι ιδιαιτέρως χρήσιμη για δίκτυα που αποτελούνται από πολλούς clientsπελάτες που συνδέονται προσωρινά , ή σε περιπτώσεις που παρατηρείται έλλειψη διευθύνσεων IP διευθύνσεων ανάμεσα σε μία ομάδα clientsπελατών που δεν χρειάζονται μόνιμες διευθύνσεις. Ο βασικός μηχανισμός για τη δυναμική αντιστοίχηση των διευθύνσεων είναι απλός. Ο clientπελάτης ζητά τη χρήση μίας διεύθυνσης για ένα πεπερασμένο χρονικό διάστημα (''lease''). Ο μηχανισμός εγγυάται να μην αντιστοιχίσει τη διεύθυνση αλλού σε αυτό το διάστημα και προσπαθεί να επιστρέφει την ίδια διεύθυνση κάθε φορά που αυτός ο clientπελάτης ζητά διεύθυνση. OΟ clientπελάτης μπορεί να:
 
*ζητήσει το lease με άλλες πληροφορίες.
*ρωτήσει αν είναι δυνατή η μόνιμη αντιστοίχιση με ένα αορίστου χρόνου lease.
*στείλει μήνυμα για να απελευθερώσει τη διεύθυνση πίσω στο serverδιακομιστή όταν δεν τη χρειάζεται άλλο.
 
Στην χειροκίνητη αντιστοίχηση το DHCP απλά χειρίζεται τον έλεγχο λαθών που μπορεί να προκύψουν από την διαχείριση των διευθύνσεων. Στην αυτόματη αντιστοίχηση το dhcpDHCP μπορεί να δίνει μόνιμες διευθύνσεις στους hosts χωρίς ανθρώπινη παρέμβαση.
 
Σαν τελικό έλεγχο ο serverδιακομιστής ελέγχει αν η διεύθυνση που πάει να δώσει όντως δεν χρησιμοποιείται. Αυτό γίνεται με μία [[ICMP echo]] ενώ παράλληλα και ο clientπελάτης ελέγχει την διεύθυνση που έλαβε.
 
== Αποστολή παραμέτρων ρύθμισης ==
 
(Οι dhcpδιακομιστές serversDHCP έχουν οριστεί βάση των [[RFCs]] [[RFC:1122|1122]] – [[RFC:1123|1123]])
 
Ο clientπελάτης ζητά από τοντο serverδιακομιστή να του αποστείλει τις παραμέτρους ρύθμισης. Αυτή η διαδικασία αποτελείται από την αποστολή συγκεκριμένης μορφής μηνυμάτων από τον clientπελάτη που απαντώνται από τις ρυθμίσεις που στέλνει ο serverδιακομιστής. To μοντέλο της αποθήκευσης των ρυθμίσεων του δικτύου υπάρχει στο serverδιακομιστή. Η δομή του είναι απλή καθώς αυτό αποτελείται από ζεύγη κλειδιών-αξιώντιμών (keys-values). To κλειδί αποτελεί ένα μοναδικό προσδιοριστήαναγνωριστικό ενώ η αξίατιμή περιέχει τις ρυθμίσεις για τοντο συγκεκριμένο clientπελάτη. Δεν χρειάζονται όμως όλοι οι clientsπελάτες αρχικοποίηση με όλες τις παραμέτρους. Δύο τεχνικές χρησιμοποιούνται για να περιοριστεί η αποστολή των παραμέτρων από τοντο serverδιακομιστή στον clientπελάτη.
 
*Οι περισσότερες παράμετροι έχουν προεπιλεγμένες τιμές (Βάση των RFCs). Αν ο clientπελάτης δεν λάβει διαφορετικές πληροφορίες από τοντο serverδιακομιστή, χρησιμοποιεί αυτές τις τιμές.
clientπελάτης και ο serverδιακομιστής μπορούν να διαπραγματευτούν την αποστολή μόνο των απαιτούμενων παραμέτρων. Ο clientπελάτης στο μήνυμα που στέλνει περιέχει την επιλογή parameter request list option για να ενημερώσει για το ποιες παραμέτρους χρειάζεται.
 
==Μορφές μηνυμάτων==
 
Όπως προαναφέρθηκε τα μηνύματα που στέλνονται ακολουθούν τη μορφή του BOOTP ώστε να είναι συμβατά με τους Bootp relay agents του BOOTP και τους Bootpπελάτες του clientsBOOTP. Η μορφή τους είναι η ακόλουθη ενώ οι αριθμοί δηλώνουν το μέγεθος του κάθε πεδίου:
 
{| border="1" cellpadding="2" cellspacing="0"11
Γραμμή 75:
|op || 1 ||
|-
|htype || 1 || Διεύθυνση τύπου hardwareυλικού (π.χ. '1' = 10Mb Ethernet)
|-
| hlen || 1 || Μήκος διεύθυνσης hardwareυλικού (π.χ.'6' for 10Mb Ethernet)
|-
| hops || 1 || OΟ Clientπελάτης το θέτει μηδέν, χρησιμοποιείται προαιρετικά αν φορτώνουμε το σύστημα από relay agent.
|-
| xid || 4 || ID «δοσοληψίας». Ένας [[τυχαίος αριθμός]] που θέτει ο clientπελάτης και χρησιμοποιείται για να αναγνωρίζεται το ζεύγος μηνύματος και απάντησης από clientπελάτη και serverδιακομιστή.
|-
|secs || 2 || Τα δευτερόλεπτα που πέρασαν μέχρι να απαντηθεί το μήνυμα (το υπολογίζει ο clientπελάτης).
|-
|flags || 2 || Σημαίες (Flags)
|-
| ciaddr || 4 || Διεύθυνση IP του Clientπελάτη. Συμπληρώνεται από τον clientπελάτη αν ξέρει τη διεύθυνσή του.
|-
|yiaddr || 4 || Η απάντηση του serverδιακομιστή στον clientπελάτη με τη διεύθυνσή του.
|-
| siaddr || 4 || Η διεύθυνση του serverδιακομιστή για να επικοινωνεί μαζί του ο clientπελάτης.
|-
|giaddr || 4 || Αν φορτώνουμε μέσω relay agent αυτή είναι η διεύθυνσή του.
|-
| chaddr || 16 || Η διεύθυνση clientυλικού hardwareτου addressπελάτη.
|-
| sname || 64 || Προαιρετικό host name για τοντο serverδιακομιστή.
|-
| file || 128 || Όνομα αρχείου Boot.
Γραμμή 104:
|}
 
Σε μηνύματα DHCP μηνύματαπρέπει να υπάρχει τουλάχιστον μία επιλογή (message type) πρέπει να υπάρχει οπότε το πεδίο δεν είναι ποτέ κενό.
 
Εκτός από αυτές τις επιλογές γεννήθηκε η ανάγκη για να δημιουργηθούν και άλλες. Αυτές χωρίζονται σε 2 κατηγορίες: τις παραμέτρους ρυθμίσεων και τις πληροφορίες για τον έλεγχο μηνυμάτων. Αναλυτικά περιγράφονται στο RFC 2132.
Γραμμή 110:
==Μοντέλο Client/Server==
[[Εικόνα:DHCP session en.svg|right|150px|]]
OΟ clientπελάτης και ο serverδιακομιστής εμπλέκονται σε μία ανταλλαγή μηνυμάτων ώστε να πάρει ο clientπελάτης τις ζητούμενες ρυθμίσεις. Αυτές ακολουθούν τα εξής βήματα:
 
clientπελάτης μεταδίδει μία <code>DHCPDISCOVER</code>.
serverδιακομιστής απαντά με ένα μήνυμα <code>DHCPOFFER</code>.
clientπελάτης λαμβάνει το <code>DHCPOFFER</code> και αναμεταδίδει ένα <code>DHCPREQUEST</code> για να ζητήσει ρυθμίσεις.
*Αν κάποιοι serversδιακομιστές δεν προτιμήθηκαν από τον clientπελάτη (σε δίκτυα με άνω του ενός serversδιακομιστές) δηλαδή κατανοούν την <code>DHCPREQUEST</code> ως απόρριψή τους. Ο serverδιακομιστής που επελέγη με την <code>DHCPREQUEST</code> απαντά με το μήνυμα <code>DHCPACK</code> που περιέχει τις παραμέτρους για τον clientπελάτη.
clientπελάτης λαμβάνει την <code>DHCPACK</code> και ρυθμίζεται βάση αυτών. Αν λάβει την εντολή <code>DHCPNAK (απόρριψη)</code>, ξαναρχίζει τη διαδικασία.
clientπελάτης μπορεί να ελευθερώσει τη διεύθυνσή του με το μήνυμα <code>DHCPRELEASE</code> στονστο serverδιακομιστή.
*OΟ serverδιακομιστής λαμβάνει την <code>DHCPRELEASE</code> και σημειώνει το lease ως ελεύθερο.
 
Υπάρχει η περίπτωση ο client να επαναχρησιμοποιήσει μία διεύθυνση που είχε. Έτσι απλά παρακάμπτει μερικά από τα παραπάνω βήματα.
Γραμμή 125:
Το πρωτόκολλο DHCP δεν διαθέτει κανένα μηχανισμό ασφαλείας<ref name="RAIOSec">{{cite web|url=http://tools.ietf.org/html/rfc3046#section-7|title=RFC 3046 - DHCP Relay Agent Information Option|author=Michael Patrick||date=January 2001|work=Network Working Group }}</ref>.
 
Η αυτόματη ανάκτηση διεύθυνσης και εξυπηρετητώνδιακομιστών DNS μπορεί να δημιουργήσει τα εξής προβλήματα<ref name="DHCPv4Sec">{{cite web|url=http://tools.ietf.org/html/rfc2131#section-7|title=RFC 2131 - Dynamic Host Configuration Protocol |author=Ralph Droms||date=March 1997|work=Network Working Group }}</ref>:
* Κάποιος κακόβουλος να παρεμβάλει ένανένα εξυπηρετητήδιακομιστή DHCP ο οποίος:
** θα δίνει κακόβουλες διευθύνσεις Εξυπηρετητώνδιακομιστών DNS με αποτέλεσμα όσοι τον χρησιμοποιούν να είναι ευάλωτοι σε επιθέσεις [[Man-in-the-middle επίθεση|Man-in-the-middle]].
** θα δίνει ψεύτικες διευθύνσεις με αποτέλεσμα να μην μπορούν οι υπολογιστές-πελάτες να συνδεθούν στο δίκτυο ([[επίθεση άρνησης εξυπηρέτησης]] - Denial of Service attack)
* Μπορεί κάποιος να ζητάει συνεχώς διευθύνσεις από τοντο εξυπηρετητήδιακομιστή DHCP (είτε κακόβουλα είτε λόγω αστοχίας υλικού ή λογισμικού) με αποτέλεσμα να τελειώσουν όλες οι διευθύνσεις που μπορεί να παρέχει ο εξυπηρετητήςδιακομιστής DHCP (επίθεση άρνησης εξυπηρέτησης - Denial of Service attack).
 
== Δείτε επίσης ==
* [[Μοντέλο πελάτη-διακομιστή]]
 
== Παραπομπές ==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/DHCP"