Υπηρεσία αρχείων δικτύου. Σύστημα αρχείων δικτύου UNIX

Εργαλείο 15.07.2019

Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Chercherείναι μια αφαίρεση δικτύου πάνω από ένα κανονικό σύστημα αρχείων που επιτρέπει σε έναν απομακρυσμένο πελάτη να έχει πρόσβαση σε αυτό μέσω του δικτύου με τον ίδιο τρόπο όπως όταν έχει πρόσβαση σε τοπικά συστήματα αρχείων. Αν και το NFS δεν ήταν το πρώτο σύστημα αρχείων δικτύου, έχει εξελιχθεί για να γίνει το πιο ικανό και δημοφιλές σύστημα αρχείων δικτύου στο UNIX® σήμερα. Το NFS επιτρέπει σε πολλούς χρήστες να μοιράζονται ένα κοινό σύστημα αρχείων και συγκεντρώνει τα δεδομένα για να ελαχιστοποιήσει τον χώρο στο δίσκο που απαιτείται για την αποθήκευσή τους.

Αυτό το άρθρο ξεκινά με μια σύντομη επισκόπηση της ιστορίας του NFS και στη συνέχεια εξερευνά την αρχιτεκτονική του NFS και πώς μπορεί να εξελιχθεί στο μέλλον.

Μια σύντομη ιστορία του NFS

Το πρώτο σύστημα αρχείων δικτύου ονομάστηκε FAL (File Access Liner) και αναπτύχθηκε το 1976 από την DEC (Digital Equipment Corporation). Ήταν μια υλοποίηση του πρωτοκόλλου DAP (Data Access Protocol) και ήταν μέρος της σουίτας πρωτοκόλλων DECnet. Όπως και με το TCP/IP, η DEC έχει δημοσιεύσει προδιαγραφές για τα πρωτόκολλα δικτύου της, συμπεριλαμβανομένου του πρωτοκόλλου DAP.

Το NFS ήταν το πρώτο σύγχρονο σύστημα αρχείων δικτύου που χτίστηκε πάνω από το πρωτόκολλο IP. Το πρωτότυπο του μπορεί να θεωρηθεί ένα πειραματικό σύστημα αρχείων που αναπτύχθηκε στη Sun Microsystems στις αρχές της δεκαετίας του '80. Δεδομένης της δημοτικότητας αυτής της λύσης, το πρωτόκολλο NFS εισήχθη ως προδιαγραφή RFC και στη συνέχεια εξελίχθηκε σε NFSv2. Το NFS καθιερώθηκε γρήγορα ως πρότυπο λόγω της ικανότητάς του να διαλειτουργεί με άλλους πελάτες και διακομιστές.

Το πρότυπο ενημερώθηκε στη συνέχεια σε NFSv3, που ορίστηκε στο RFC 1813. Αυτή η έκδοση του πρωτοκόλλου ήταν πιο επεκτάσιμη από τις προηγούμενες εκδόσεις και υποστήριζε μεγαλύτερα μεγέθη αρχείων (πάνω από 2 GB), ασύγχρονη γραφή και TCP ως πρωτόκολλο μεταφοράς. Το NFSv3 έθεσε την κατεύθυνση για την ανάπτυξη συστημάτων αρχείων για δίκτυα ευρείας περιοχής (WAN). Το 2000, το RFC 3010 (αναθεωρήθηκε ως RFC 3530) έφερε το NFS στο εταιρικό περιβάλλον. Η Sun εισήγαγε ένα πιο ασφαλές NFSv4 με υποστήριξη κατάστασης (οι προηγούμενες εκδόσεις του NFS δεν υποστήριζαν κατάσταση αποθήκευσης, δηλαδή είχαν ταξινομηθεί ως ανιθαγενείς). Επί του παρόντος, η τελευταία έκδοση του NFS είναι η έκδοση 4.1, που ορίζεται στο RFC 5661, η οποία προσθέτει στο πρωτόκολλο επεκτείνοντας pNFSέχει προστεθεί υποστήριξη για παράλληλη πρόσβαση για κατανεμημένους διακομιστές.

Η ιστορία του NFS, συμπεριλαμβανομένων συγκεκριμένων RFC που περιγράφουν τις εκδόσεις του, φαίνεται στο Σχήμα 1.


Παραδόξως, το NFS βρίσκεται σε ανάπτυξη για σχεδόν 30 χρόνια. Είναι ένα εξαιρετικά σταθερό και φορητό σύστημα αρχείων δικτύου με εξαιρετικές δυνατότητες επεκτασιμότητας, απόδοσης και ποιότητας υπηρεσιών. Καθώς οι ταχύτητες αυξάνονται και η καθυστέρηση μειώνεται κατά την ανταλλαγή δεδομένων σε ένα δίκτυο, το NFS εξακολουθεί να είναι ένας δημοφιλής τρόπος για την υλοποίηση ενός συστήματος αρχείων σε ένα δίκτυο. Ακόμη και στην περίπτωση των τοπικών δικτύων, η εικονικοποίηση ενθαρρύνει την αποθήκευση δεδομένων στο δίκτυο για να παρέχει πρόσθετη κινητικότητα στις εικονικές μηχανές. Το NFS υποστηρίζει επίσης τα πιο πρόσφατα μοντέλα υπολογιστικού περιβάλλοντος που στοχεύουν στη βελτιστοποίηση εικονικών υποδομών.

Αρχιτεκτονική NFS

Το NFS χρησιμοποιεί ένα τυπικό αρχιτεκτονικό μοντέλο πελάτη-διακομιστή (όπως φαίνεται στο Σχήμα 2). Ο διακομιστής είναι υπεύθυνος για την εφαρμογή του κοινόχρηστου συστήματος αρχείων και του χώρου αποθήκευσης στο οποίο συνδέονται οι πελάτες. Ο πελάτης υλοποιεί μια διεπαφή χρήστη σε ένα κοινό σύστημα αρχείων που είναι τοποθετημένο στον τοπικό χώρο αρχείων του πελάτη.

Εικόνα 2. Εφαρμογή του μοντέλου πελάτη-διακομιστή στην αρχιτεκτονική NFS

Στο Linux®, ένας διακόπτης εικονικού συστήματος αρχείων (VFS) παρέχει τα μέσα για την υποστήριξη πολλαπλών συστημάτων αρχείων (για παράδειγμα, ένα σύστημα αρχείων ISO 9660 σε ένα CD-ROM και ένα σύστημα αρχείων ext3fs σε έναν τοπικό σκληρό δίσκο) ταυτόχρονα σε έναν μόνο κεντρικό υπολογιστή . Ο εικονικός διακόπτης καθορίζει σε ποια μονάδα δίσκου υποβάλλεται το αίτημα και επομένως ποιο σύστημα αρχείων θα χρησιμοποιηθεί για την επεξεργασία του αιτήματος. Επομένως, το NFS έχει την ίδια συμβατότητα με άλλα συστήματα αρχείων που χρησιμοποιούνται στο Linux. Η μόνη διαφορά με το NFS είναι ότι αντί να υποβάλλονται σε τοπική επεξεργασία στον κεντρικό υπολογιστή, τα αιτήματα εισόδου/εξόδου μπορούν να σταλούν στο δίκτυο για εκτέλεση.

Το VFS καθορίζει ότι η ληφθείσα αίτηση είναι NFS και τη μεταβιβάζει στον χειριστή NFS που βρίσκεται στον πυρήνα. Ο χειριστής NFS επεξεργάζεται το αίτημα I/O και το μεταφράζει σε διαδικασία NFS (OPEN, ACCESS, CREATE, READ, CLOSE, REMOVE, κ.λπ.). Αυτές οι διαδικασίες, που περιγράφονται σε ξεχωριστή προδιαγραφή RFC, καθορίζουν τη συμπεριφορά του πρωτοκόλλου NFS. Η απαιτούμενη διαδικασία επιλέγεται ανάλογα με το αίτημα και εκτελείται με χρήση τεχνολογίας RPC (απομακρυσμένη κλήση διαδικασίας). Όπως υποδηλώνει το όνομά του, το RPC επιτρέπει την πραγματοποίηση κλήσεων διαδικασίας μεταξύ διαφορετικών συστημάτων. Η υπηρεσία RPC συνενώνει μια αίτηση NFS με τα ορίσματά της και στέλνει το αποτέλεσμα στον κατάλληλο απομακρυσμένο κεντρικό υπολογιστή και, στη συνέχεια, παρακολουθεί τη λήψη και την επεξεργασία της απάντησης για να την επιστρέψει στον αιτούντα.

Το RPC περιλαμβάνει επίσης ένα σημαντικό επίπεδο XDR ( εξωτερική αναπαράσταση δεδομένων- ανεξάρτητη αναπαράσταση δεδομένων), διασφαλίζοντας ότι όλοι οι χρήστες NFS χρησιμοποιούν την ίδια μορφή για τους ίδιους τύπους δεδομένων. Όταν μια πλατφόρμα στέλνει ένα αίτημα, ο τύπος δεδομένων που χρησιμοποιεί μπορεί να διαφέρει από τον τύπο δεδομένων που χρησιμοποιείται στον κεντρικό υπολογιστή που επεξεργάζεται το αίτημα. Η τεχνολογία XDR φροντίζει για το έργο της μετατροπής τύπων σε τυπική αναπαράσταση (XDR), έτσι ώστε οι πλατφόρμες που χρησιμοποιούν διαφορετικές αρχιτεκτονικές να μπορούν να διαλειτουργούν και να μοιράζονται συστήματα αρχείων. Το XDR ορίζει τη μορφή bit για τύπους όπως το float και τη σειρά byte για τύπους όπως πίνακες σταθερού και μεταβλητού μήκους. Αν και το XDR είναι κυρίως γνωστό για τη χρήση του στο NFS, αυτή η προδιαγραφή μπορεί να είναι χρήσιμη σε όλες τις περιπτώσεις όπου πρέπει να εργαστείτε στο ίδιο περιβάλλον με διαφορετικές αρχιτεκτονικές.

Αφού το XDR έχει μεταφράσει τα δεδομένα σε μια τυπική αναπαράσταση, το αίτημα μεταδίδεται μέσω του δικτύου χρησιμοποιώντας ένα συγκεκριμένο πρωτόκολλο μεταφοράς. Οι πρώτες υλοποιήσεις του NFS χρησιμοποιούσαν UDP, αλλά σήμερα το TCP χρησιμοποιείται για μεγαλύτερη αξιοπιστία.

Ένας παρόμοιος αλγόριθμος χρησιμοποιείται από την πλευρά του διακομιστή NFS. Το αίτημα ταξιδεύει στη στοίβα δικτύου μέσω του επιπέδου RPC/XDR (για τη μετατροπή τύπων δεδομένων σύμφωνα με την αρχιτεκτονική του διακομιστή) και στον διακομιστή NFS, ο οποίος είναι υπεύθυνος για την επεξεργασία του αιτήματος. Εκεί, το αίτημα μεταβιβάζεται στον δαίμονα NFS για να προσδιορίσει το σύστημα αρχείων προορισμού στο οποίο απευθύνεται και, στη συνέχεια, πηγαίνει ξανά στο VFS για πρόσβαση σε αυτό το σύστημα αρχείων στον τοπικό δίσκο. Ένα πλήρες διάγραμμα αυτής της διαδικασίας φαίνεται στο Σχήμα 3. Σε αυτήν την περίπτωση, το τοπικό σύστημα αρχείων του διακομιστή είναι ένα τυπικό σύστημα αρχείων Linux, για παράδειγμα, ext4fs. Στην ουσία, το NFS δεν είναι ένα σύστημα αρχείων με την παραδοσιακή έννοια του όρου, αλλά ένα πρωτόκολλο για απομακρυσμένη πρόσβαση σε συστήματα αρχείων.


Για δίκτυα με μεγάλη καθυστέρηση, το NFSv4 προσφέρει μια ειδική σύνθετη διαδικασία ( σύνθετη διαδικασία). Αυτή η διαδικασία σάς επιτρέπει να πραγματοποιείτε πολλαπλές κλήσεις RPC σε ένα μόνο αίτημα για να ελαχιστοποιήσετε το κόστος αποστολής αιτημάτων μέσω του δικτύου. Αυτή η διαδικασία υλοποιεί επίσης έναν μηχανισμό συνάρτησης επανάκλησης για τη λήψη απαντήσεων.

Πρωτόκολλο NFS

Όταν ένας πελάτης ξεκινά να χρησιμοποιεί το NFS, η πρώτη ενέργεια είναι να εκτελέσετε μια λειτουργία προσάρτησης, η οποία είναι η προσάρτηση του απομακρυσμένου συστήματος αρχείων στον χώρο του τοπικού συστήματος αρχείων. Αυτή η διαδικασία ξεκινά με μια κλήση στη διαδικασία προσάρτησης (μία από τις λειτουργίες του συστήματος Linux), η οποία ανακατευθύνεται μέσω VFS στο στοιχείο NFS. Στη συνέχεια, μια κλήση RPC στη συνάρτηση get_port στον απομακρυσμένο διακομιστή καθορίζει τον αριθμό θύρας που θα χρησιμοποιηθεί για την τοποθέτηση και ο πελάτης στέλνει ένα αίτημα προσάρτησης μέσω RPC. Αυτό το αίτημα από την πλευρά του διακομιστή υποβάλλεται σε επεξεργασία από έναν ειδικό δαίμονα rpc.mountd, ο οποίος είναι υπεύθυνος για το πρωτόκολλο προσάρτησης ( πρωτόκολλο προσάρτησης). Ο δαίμονας ελέγχει ότι το σύστημα αρχείων που ζητήθηκε από τον πελάτη βρίσκεται στη λίστα των συστημάτων που είναι διαθέσιμα στον συγκεκριμένο διακομιστή. Εάν το ζητούμενο σύστημα υπάρχει και ο πελάτης έχει πρόσβαση σε αυτό, η απόκριση προσάρτησης RPC καθορίζει έναν περιγραφέα συστήματος αρχείων. Ο πελάτης διατηρεί πληροφορίες σχετικά με τοπικά και απομακρυσμένα σημεία προσάρτησης και είναι σε θέση να κάνει αιτήματα εισόδου/εξόδου. Το πρωτόκολλο προσάρτησης δεν είναι ασφαλές από άποψη ασφαλείας, επομένως το NFSv4 χρησιμοποιεί εσωτερικές κλήσεις RPC, οι οποίες μπορούν επίσης να διαχειριστούν σημεία προσάρτησης.

Για να διαβάσετε ένα αρχείο, πρέπει πρώτα να το ανοίξετε. Δεν υπάρχει διαδικασία OPEN στο RPC, ο πελάτης απλώς ελέγχει ότι το καθορισμένο αρχείο και κατάλογος υπάρχουν στο προσαρτημένο σύστημα αρχείων. Ο πελάτης ξεκινά κάνοντας ένα αίτημα GETATTR RPC στον κατάλογο, το οποίο επιστρέφει τα χαρακτηριστικά του καταλόγου ή μια ένδειξη ότι ο κατάλογος δεν υπάρχει. Στη συνέχεια, για να ελέγξει την παρουσία του αρχείου, ο πελάτης εκδίδει ένα αίτημα LOOKUP RPC. Εάν το αρχείο υπάρχει, γίνεται ένα αίτημα GETATTR RPC σε αυτό για να μάθουμε τα χαρακτηριστικά του αρχείου. Χρησιμοποιώντας τις πληροφορίες που λαμβάνονται από επιτυχείς κλήσεις LOOKUP και GETATTR, ο πελάτης δημιουργεί μια λαβή αρχείου που παρέχεται στον χρήστη για μελλοντικά αιτήματα.

Μόλις αναγνωριστεί το αρχείο στο απομακρυσμένο σύστημα αρχείων, ο πελάτης μπορεί να εκδώσει αιτήματα RPC READ. Αυτό το αίτημα αποτελείται από έναν περιγραφέα αρχείου, μια κατάσταση, μια μετατόπιση και τον αριθμό των byte προς ανάγνωση. Ο πελάτης χρησιμοποιεί την κατάσταση ( κατάσταση) για να προσδιορίσετε εάν η λειτουργία μπορεί να πραγματοποιηθεί τη δεδομένη στιγμή, π.χ. Είναι το αρχείο κλειδωμένο; Μετατόπιση ( όφσετ) υποδεικνύει σε ποια θέση να ξεκινήσει η ανάγνωση και ο μετρητής byte ( κόμης) καθορίζει πόσα byte πρέπει να διαβαστούν. Ως αποτέλεσμα της κλήσης READ RPC, ο διακομιστής δεν επιστρέφει πάντα τόσα byte όσα ζητήθηκαν, αλλά μαζί με τα επιστρεφόμενα δεδομένα αναφέρει πάντα πόσα byte στάλθηκαν στον πελάτη.

Καινοτομία στο NFS

Οι δύο τελευταίες εκδόσεις του NFS παρουσιάζουν μεγαλύτερο ενδιαφέρον - 4 και 4.1, ως παραδείγματα των οποίων μπορείτε να μελετήσετε τις πιο σημαντικές πτυχές της εξέλιξης της τεχνολογίας NFS.

Πριν το NFSv4 ήταν διαθέσιμο για την εκτέλεση εργασιών διαχείρισης αρχείων, όπως τοποθέτηση, κλείδωμα κ.λπ. υπήρχαν ειδικά πρόσθετα πρωτόκολλα. Στο NFSv4, η διαδικασία διαχείρισης αρχείων απλοποιήθηκε σε ένα μόνο πρωτόκολλο. Επιπλέον, ξεκινώντας με αυτήν την έκδοση, το UDP δεν χρησιμοποιείται πλέον ως πρωτόκολλο μεταφοράς. Το NFSv4 περιλαμβάνει υποστήριξη για σημασιολογία πρόσβασης αρχείων UNIX και Windows®, επιτρέποντας στο NFS να ενσωματωθεί φυσικά σε άλλα λειτουργικά συστήματα.

Το NFSv4.1 εισήγαγε την έννοια του παράλληλο NFS(παράλληλο NFS - pNFS). Για να παρέχει μεγαλύτερα επίπεδα επεκτασιμότητας, το NFSv4.1 εφαρμόζει μια αρχιτεκτονική στην οποία τα δεδομένα και τα μεταδεδομένα ( βαθμολόγηση) κατανέμονται σε όλες τις συσκευές με παρόμοιο τρόπο με τον τρόπο που γίνεται σε συστήματα αρχείων συμπλέγματος. Όπως φαίνεται στο , το pNFS χωρίζει το οικοσύστημα σε τρία στοιχεία: πελάτη, διακομιστή και αποθήκευση. Σε αυτήν την περίπτωση, εμφανίζονται δύο κανάλια: το ένα για τη μετάδοση δεδομένων και το άλλο για τη μετάδοση εντολών ελέγχου. Το pNFS διαχωρίζει τα δεδομένα από τα μεταδεδομένα που τα περιγράφουν, παρέχοντας μια αρχιτεκτονική δύο καναλιών. Όταν ένας πελάτης θέλει να αποκτήσει πρόσβαση σε ένα αρχείο, ο διακομιστής του στέλνει μεταδεδομένα με "σήμανση". Τα μεταδεδομένα περιέχουν πληροφορίες σχετικά με τη θέση του αρχείου στις συσκευές αποθήκευσης. Μόλις ο πελάτης έχει αυτές τις πληροφορίες, μπορεί να έχει άμεση πρόσβαση στο χώρο αποθήκευσης χωρίς να χρειάζεται να αλληλεπιδράσει με τον διακομιστή, βελτιώνοντας την επεκτασιμότητα και την απόδοση. Όταν ο πελάτης ολοκληρώσει την εργασία με το αρχείο, επιβεβαιώνει τις αλλαγές που έγιναν στο αρχείο και τη "σήμανση" του. Εάν είναι απαραίτητο, ο διακομιστής μπορεί να ζητήσει μεταδεδομένα με σήμανση από τον πελάτη.

Με την εμφάνιση του pNFS, αρκετές νέες λειτουργίες προστέθηκαν στο πρωτόκολλο NFS για την υποστήριξη ενός τέτοιου μηχανισμού. Η μέθοδος LayoutGet χρησιμοποιείται για την ανάκτηση μεταδεδομένων από τον διακομιστή, η μέθοδος LayoutReturn "ελευθερώνει" τα μεταδεδομένα που "συλλαμβάνονται" από τον πελάτη και η μέθοδος LayoutCommit φορτώνει τη "διάταξη" που λαμβάνεται από τον πελάτη στον χώρο αποθήκευσης, ώστε να είναι διαθέσιμη σε άλλους χρήστες . Ο διακομιστής μπορεί να ανακαλέσει μεταδεδομένα από τον πελάτη χρησιμοποιώντας τη μέθοδο LayoutRecall. Τα μεταδεδομένα "με ετικέτα" διανέμονται σε πολλές συσκευές αποθήκευσης για να παρέχουν παράλληλη πρόσβαση και υψηλή απόδοση.


Τα δεδομένα και τα μεταδεδομένα αποθηκεύονται σε συσκευές αποθήκευσης. Οι πελάτες μπορούν να εκτελούν άμεσες αιτήσεις εισόδου/εξόδου με βάση τη σήμανση που έχουν λάβει και ο διακομιστής NFSv4.1 αποθηκεύει και διαχειρίζεται τα μεταδεδομένα. Αυτή η ίδια η λειτουργία δεν είναι νέα, αλλά το pNFS πρόσθεσε υποστήριξη για διάφορες μεθόδους πρόσβασης σε συσκευές αποθήκευσης. Σήμερα, το pNFS υποστηρίζει τη χρήση πρωτοκόλλων μπλοκ (Fibre Channel), πρωτοκόλλων αντικειμένων και του ίδιου του NFS (ούτε καν σε μορφή pNFS).

Η ανάπτυξη του NFS συνεχίζεται και τον Σεπτέμβριο του 2010 δημοσιεύθηκαν οι απαιτήσεις για το NFSv4.2. Ορισμένες από τις καινοτομίες σχετίζονται με τη συνεχή μετάβαση των τεχνολογιών αποθήκευσης δεδομένων προς την εικονικοποίηση. Για παράδειγμα, σε εικονικά περιβάλλοντα με hypervisor, είναι πολύ πιθανό να συμβεί διπλασιασμός δεδομένων (πολλαπλά λειτουργικά συστήματα που διαβάζουν/εγγράφουν και αποθηκεύουν τα ίδια δεδομένα στην προσωρινή μνήμη). Εξαιτίας αυτού, είναι επιθυμητό για το σύστημα αποθήκευσης στο σύνολό του να κατανοεί πού συμβαίνει το διπλασιασμό. Αυτή η προσέγγιση θα βοηθήσει στην εξοικονόμηση χώρου προσωρινής μνήμης πελάτη και συνολικής χωρητικότητας αποθήκευσης. Το NFSv4.2 προτείνει τη χρήση ενός "χάρτη μπλοκ κοινόχρηστων μπλοκ" για την επίλυση αυτού του προβλήματος. Καθώς τα σύγχρονα συστήματα αποθήκευσης εξοπλίζονται ολοένα και περισσότερο με τη δική τους εσωτερική υπολογιστική ισχύ, εισάγεται η αντιγραφή από την πλευρά του διακομιστή για τη μείωση του φόρτου αντιγραφής δεδομένων σε ένα εσωτερικό δίκτυο, όταν μπορεί να γίνει αποτελεσματικά στην ίδια τη συσκευή αποθήκευσης. Άλλες καινοτομίες περιλαμβάνουν προσωρινή αποθήκευση υπο-αρχείων για μνήμη flash και προτάσεις συντονισμού I/O από την πλευρά του πελάτη (όπως η χρήση του mapadvise).

Εναλλακτικές λύσεις NFS

Αν και το NFS είναι το πιο δημοφιλές σύστημα αρχείων δικτύου σε UNIX και Linux, υπάρχουν και άλλα συστήματα αρχείων δικτύου. Στην πλατφόρμα Windows®, το SMB χρησιμοποιείται πιο συχνά, γνωστό και ως CIFS; Ωστόσο, το λειτουργικό σύστημα Windows υποστηρίζει επίσης NFS, καθώς και το Linux υποστηρίζει SMB.

Ένα από τα νεότερα κατανεμημένα συστήματα αρχείων που υποστηρίζονται σε Linux, το Ceph, έχει σχεδιαστεί από την αρχή ώστε να είναι ένα σύστημα αρχείων συμβατό με POSIX με ανοχή σε σφάλματα. Περισσότερες πληροφορίες για τον Ceph μπορείτε να βρείτε στην ενότητα.

Αξίζει επίσης να αναφέρουμε τα συστήματα αρχείων OpenAFS (έκδοση ανοιχτού κώδικα του κατανεμημένου συστήματος αρχείων Andrew, που αναπτύχθηκε στο Πανεπιστήμιο Carnegie Mellon και την IBM Corporation), το GlusterFS (ένα κατανεμημένο σύστημα αρχείων γενικής χρήσης για την οργάνωση κλιμακούμενης αποθήκευσης δεδομένων) και το Luster (ένα μαζικό σύστημα αρχείων παράλληλου δικτύου για λύσεις συμπλέγματος). Όλα αυτά τα συστήματα ανοιχτού κώδικα μπορούν να χρησιμοποιηθούν για τη δημιουργία κατανεμημένης αποθήκευσης.

Σύναψη

Η ανάπτυξη του συστήματος αρχείων NFS συνεχίζεται. Παρόμοια με το λειτουργικό σύστημα Linux, το οποίο μπορεί να υποστηρίξει λύσεις low-end, ενσωματωμένες και high-end, το NFS παρέχει μια αρχιτεκτονική για επεκτάσιμες λύσεις αποθήκευσης κατάλληλες τόσο για άτομα όσο και για οργανισμούς. Αν κοιτάξετε το ταξίδι που έχει ήδη κάνει το NFS και τις προοπτικές για τη μελλοντική ανάπτυξή του, γίνεται σαφές ότι αυτό το σύστημα αρχείων θα συνεχίσει να αλλάζει τον τρόπο που σκεφτόμαστε πώς εφαρμόζονται και χρησιμοποιούνται οι τεχνολογίες αποθήκευσης αρχείων.

Όταν μιλάμε για δίκτυα υπολογιστών, μπορείτε συχνά να ακούσετε αναφορά για το NFS. Τι σημαίνει αυτή η συντομογραφία;

Είναι ένα πρωτόκολλο κατανεμημένου συστήματος αρχείων που αναπτύχθηκε αρχικά από τη Sun Microsystems το 1984, επιτρέποντας σε έναν χρήστη σε έναν υπολογιστή-πελάτη να έχει πρόσβαση σε αρχεία μέσω ενός δικτύου, παρόμοια με την πρόσβαση στην τοπική αποθήκευση. Το NFS, όπως και πολλά άλλα πρωτόκολλα, βασίζεται στο σύστημα Open Network Computing Remote Procedure Call (ONC RPC).

Με άλλα λόγια, τι είναι το NFS; Είναι ένα ανοιχτό πρότυπο, που ορίζεται από το Request for Comments (RFC), το οποίο επιτρέπει σε οποιονδήποτε να εφαρμόσει το πρωτόκολλο.

Εκδόσεις και παραλλαγές

Ο εφευρέτης χρησιμοποίησε μόνο την πρώτη έκδοση για τους δικούς του πειραματικούς σκοπούς. Όταν η ομάδα ανάπτυξης πρόσθεσε σημαντικές αλλαγές στο αρχικό NFS και το κυκλοφόρησε εκτός του δημιουργού της Sun, όρισε τη νέα έκδοση ως v2, ώστε να μπορούν να δοκιμάσουν τη διαλειτουργικότητα μεταξύ των διανομών και να δημιουργήσουν μια εναλλακτική.

NFS v2

Η έκδοση 2 αρχικά λειτουργούσε μόνο μέσω του πρωτοκόλλου User Datagram Protocol (UDP). Οι προγραμματιστές του ήθελαν να διατηρήσουν την πλευρά του διακομιστή χωρίς αποκλεισμό που εφαρμόζεται εκτός του κύριου πρωτοκόλλου.

Η διεπαφή εικονικού συστήματος αρχείων επιτρέπει μια αρθρωτή υλοποίηση που αντικατοπτρίζεται σε ένα απλό πρωτόκολλο. Μέχρι τον Φεβρουάριο του 1986, είχαν επιδειχθεί λύσεις για λειτουργικά συστήματα όπως το System V έκδοση 2, το DOS και το VAX/VMS χρησιμοποιώντας το Eunice. Το NFS v2 επέτρεψε την ανάγνωση μόνο των πρώτων 2 GB ενός αρχείου λόγω περιορισμών στα 32 bit.

NFS v3

Η πρώτη πρόταση για την ανάπτυξη της έκδοσης 3 του NFS στη Sun Microsystems ανακοινώθηκε λίγο μετά την κυκλοφορία της δεύτερης διανομής. Το κύριο κίνητρο ήταν να προσπαθήσουμε να μετριάσουμε το πρόβλημα απόδοσης της σύγχρονης εγγραφής. Μέχρι τον Ιούλιο του 1992, οι πρακτικές βελτιώσεις είχαν επιλύσει πολλές από τις αδυναμίες της έκδοσης 2 του NFS, αφήνοντας μόνο ανεπαρκή υποστήριξη αρχείων (μεγέθη αρχείων 64-bit και μετατοπίσεις αρχείων).

  • υποστήριξη για μεγέθη αρχείων 64-bit και μετατοπίσεις για χειρισμό δεδομένων μεγαλύτερα από 2 gigabyte (GB).
  • υποστήριξη για ασύγχρονη εγγραφή στον διακομιστή για βελτίωση της απόδοσης.
  • πρόσθετα χαρακτηριστικά αρχείου σε πολλές απαντήσεις για να αποφύγετε την εκ νέου ανάκτησή τους.
  • Λειτουργία READDIRPLUS για τη λήψη δεδομένων και χαρακτηριστικών μαζί με ονόματα αρχείων κατά τη σάρωση ενός καταλόγου.
  • πολλές άλλες βελτιώσεις.

Κατά την εισαγωγή της έκδοσης 3, η υποστήριξη για το TCP ως πρωτόκολλο επιπέδου μεταφοράς άρχισε να αυξάνεται. Η χρήση του TCP ως μέσο μεταφοράς δεδομένων, που εκτελείται με χρήση NFS μέσω WAN, άρχισε να επιτρέπει τη μεταφορά μεγάλων μεγεθών αρχείων για προβολή και εγγραφή. Χάρη σε αυτό, οι προγραμματιστές μπόρεσαν να ξεπεράσουν τους περιορισμούς των 8 KB που επιβάλλονται από το Πρωτόκολλο Δεδομένων Χρήστη (UDP).

Τι είναι το NFS v4;

Η έκδοση 4, επηρεασμένη από το Endres File System (AFS) και το Server Message Block (SMB, που ονομάζεται επίσης CIFS), περιλαμβάνει βελτιώσεις απόδοσης, παρέχει καλύτερη ασφάλεια και εισάγει ένα πρωτόκολλο συμμόρφωσης.

Η έκδοση 4 ήταν η πρώτη διανομή που αναπτύχθηκε από το Internet Engineering Task Force (IETF) αφού η Sun Microsystems ανέθεσε σε εξωτερικούς συνεργάτες την ανάπτυξη πρωτοκόλλου.

Η έκδοση 4.1 του NFS στοχεύει στην παροχή υποστήριξης πρωτοκόλλου για τη μόχλευση αναπτύξεων συμπλεγματοποιημένων διακομιστών, συμπεριλαμβανομένης της δυνατότητας παροχής κλιμακούμενης παράλληλης πρόσβασης σε αρχεία που διανέμονται σε πολλούς διακομιστές (επέκταση pNFS).

Το νεότερο πρωτόκολλο συστήματος αρχείων, NFS 4.2 (RFC 7862), κυκλοφόρησε επίσημα τον Νοέμβριο του 2016.

Άλλες επεκτάσεις

Με την ανάπτυξη του προτύπου, εμφανίστηκαν αντίστοιχα εργαλεία για την εργασία με αυτό. Για παράδειγμα, το WebNFS, μια επέκταση για τις εκδόσεις 2 και 3, επιτρέπει στο Πρωτόκολλο Πρόσβασης Συστήματος Αρχείων Δικτύου να ενσωματώνεται πιο εύκολα σε προγράμματα περιήγησης ιστού και να επιτρέπει την εργασία σε τείχη προστασίας.

Διάφορα πρωτόκολλα τρίτων έχουν επίσης συσχετιστεί με το NFS. Τα πιο γνωστά από αυτά είναι:

  • Network Lock Manager (NLM) με υποστήριξη πρωτοκόλλου byte (προστέθηκε για την υποστήριξη API κλειδώματος αρχείων UNIX System V).
  • Remote Quota (RQUOTAD), το οποίο επιτρέπει στους χρήστες του NFS να προβάλλουν ποσοστώσεις αποθήκευσης σε διακομιστές NFS.
  • Το NFS μέσω RDMA είναι μια προσαρμογή του NFS που χρησιμοποιεί την απομακρυσμένη άμεση πρόσβαση στη μνήμη (RDMA) ως μέσο μετάδοσης.
  • Ο NFS-Ganesha είναι ένας διακομιστής NFS που εκτελείται στο χώρο χρήστη και υποστηρίζει CephFS FSAL (File System Abstraction Layer) χρησιμοποιώντας libcephfs.

Πλατφόρμες

Το Network File System χρησιμοποιείται συχνά με λειτουργικά συστήματα Unix (όπως Solaris, AIX, HP-UX), MacOS της Apple και λειτουργικά συστήματα παρόμοια με το Unix (όπως Linux και FreeBSD).

Είναι επίσης διαθέσιμο για πλατφόρμες όπως το Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare και IBM AS/400.

Εναλλακτικά πρωτόκολλα απομακρυσμένης πρόσβασης αρχείων περιλαμβάνουν το μπλοκ μηνυμάτων διακομιστή (SMB, που ονομάζεται επίσης CIFS), το Πρωτόκολλο μεταφοράς Apple (AFP), το Πρωτόκολλο πυρήνα NetWare (NCP) και το Σύστημα αρχείων διακομιστή OS/400 (QFileSvr.400).

Αυτό οφείλεται στις απαιτήσεις του NFS, οι οποίες στοχεύουν κυρίως σε «κελύφη» τύπου Unix.

Ωστόσο, τα πρωτόκολλα SMB και NetWare (NCP) χρησιμοποιούνται πιο συχνά από το NFS σε συστήματα που εκτελούν Microsoft Windows. Το AFP είναι πιο συνηθισμένο σε πλατφόρμες Apple Macintosh και το QFileSvr.400 είναι πιο συνηθισμένο στο OS/400.

Τυπική υλοποίηση

Υποθέτοντας ένα τυπικό σενάριο τύπου Unix στο οποίο ένας υπολογιστής (ο πελάτης) χρειάζεται πρόσβαση σε δεδομένα που είναι αποθηκευμένα σε έναν άλλο (τον διακομιστή NFS):

  • Ο διακομιστής εφαρμόζει διεργασίες συστήματος αρχείων δικτύου, που εκτελούνται από προεπιλογή ως nfsd, για να κάνει τα δεδομένα του δημόσια διαθέσιμα στους πελάτες. Ο διαχειριστής του διακομιστή καθορίζει τον τρόπο εξαγωγής ονομάτων και ρυθμίσεων καταλόγου, χρησιμοποιώντας συνήθως το αρχείο διαμόρφωσης /etc/exports και την εντολή exportfs.
  • Η διαχείριση της ασφάλειας διακομιστή διασφαλίζει ότι μπορεί να αναγνωρίσει και να εγκρίνει έναν πιστοποιημένο πελάτη. Η διαμόρφωση του δικτύου του διασφαλίζει ότι οι κατάλληλοι πελάτες μπορούν να διαπραγματευτούν μαζί του μέσω οποιουδήποτε συστήματος τείχους προστασίας.
  • Το μηχάνημα πελάτη ζητά πρόσβαση στα εξαγόμενα δεδομένα, συνήθως με την έκδοση μιας εντολής. Υποβάλλει ερώτημα στον διακομιστή (rpcbind) που χρησιμοποιεί τη θύρα NFS και στη συνέχεια συνδέεται σε αυτήν.
  • Εάν όλα γίνονται χωρίς σφάλματα, οι χρήστες στον υπολογιστή-πελάτη θα μπορούν να προβάλλουν και να αλληλεπιδρούν με τα εγκατεστημένα συστήματα αρχείων στο διακομιστή εντός των επιτρεπόμενων παραμέτρων.

Θα πρέπει επίσης να σημειωθεί ότι μπορεί επίσης να πραγματοποιηθεί αυτοματοποίηση της διαδικασίας του Συστήματος Αρχείων Δικτύου - ίσως χρησιμοποιώντας etc/fstab ή/και άλλα παρόμοια εργαλεία.

Ανάπτυξη μέχρι σήμερα

Μέχρι τον 21ο αιώνα, τα ανταγωνιστικά πρωτόκολλα DFS και AFS δεν είχαν επιτύχει καμία σημαντική εμπορική επιτυχία σε σύγκριση με το σύστημα αρχείων δικτύου. Η IBM, η οποία προηγουμένως είχε αποκτήσει όλα τα εμπορικά δικαιώματα για τις παραπάνω τεχνολογίες, δώρισε το μεγαλύτερο μέρος του πηγαίου κώδικα AFS στην κοινότητα του ελεύθερου λογισμικού το 2000. Το έργο Open AFS υπάρχει ακόμα και σήμερα. Στις αρχές του 2005, η IBM ανακοίνωσε το τέλος των πωλήσεων των AFS και DFS.

Με τη σειρά του, τον Ιανουάριο του 2010, ο Panasas πρότεινε το NFS v 4.1 βασισμένο σε τεχνολογία που βελτιώνει τις δυνατότητες παράλληλης πρόσβασης δεδομένων. Το πρωτόκολλο Network File System v 4.1 ορίζει μια μέθοδο για τον διαχωρισμό των μεταδεδομένων του συστήματος αρχείων από τη θέση συγκεκριμένων αρχείων. Έτσι, υπερβαίνει τον απλό διαχωρισμό ονόματος/δεδομένων.

Τι είναι το NFS αυτής της έκδοσης στην πράξη; Το παραπάνω χαρακτηριστικό το διακρίνει από το παραδοσιακό πρωτόκολλο, το οποίο περιέχει τα ονόματα των αρχείων και τα δεδομένα τους σε μία σύνδεση με τον διακομιστή. Με το Network File System v 4.1, ορισμένα αρχεία μπορούν να κοινοποιηθούν σε διακομιστές πολλών κόμβων, αλλά η συμμετοχή του πελάτη στην κοινή χρήση μεταδεδομένων και δεδομένων είναι περιορισμένη.

Κατά την υλοποίηση της τέταρτης διανομής του πρωτοκόλλου, ο διακομιστής NFS είναι ένα σύνολο πόρων ή στοιχείων διακομιστή. Υποτίθεται ότι ελέγχονται από τον διακομιστή μεταδεδομένων.

Ο πελάτης εξακολουθεί να έρχεται σε επαφή με έναν μόνο διακομιστή μεταδεδομένων για να διασχίσει ή να αλληλεπιδράσει με τον χώρο ονομάτων. Καθώς μετακινεί αρχεία από και προς τον διακομιστή, μπορεί να αλληλεπιδράσει απευθείας με ένα σύνολο δεδομένων που ανήκουν σε μια ομάδα NFS.

Όλοι γνωρίζουν ότι στα συστήματα UNIX, ένα σύστημα αρχείων είναι λογικά μια συλλογή φυσικών συστημάτων αρχείων που συνδέονται σε ένα μόνο σημείο. Ένα από τα κύρια πλεονεκτήματα μιας τέτοιας οργάνωσης, κατά τη γνώμη μου, είναι η δυνατότητα δυναμικής τροποποίησης της δομής ενός υπάρχοντος συστήματος αρχείων. Επίσης, χάρη στις προσπάθειες των προγραμματιστών, σήμερα έχουμε την ευκαιρία να συνδέσουμε ένα σύστημα αρχείων σχεδόν οποιουδήποτε τύπου και με κάθε βολικό τρόπο. Με τη "μέθοδο", θέλω πρώτα απ 'όλα να τονίσω την ικανότητα του πυρήνα του λειτουργικού συστήματος να λειτουργεί με συστήματα αρχείων μέσω συνδέσεων δικτύου.

Πολλά πρωτόκολλα δικτύου μας παρέχουν τη δυνατότητα να εργαζόμαστε με απομακρυσμένα αρχεία, είτε πρόκειται για FTP, SMB, Telnet ή SSH. Χάρη στην ικανότητα του πυρήνα, τελικά, να μην εξαρτάται από τον τύπο του συστήματος αρχείων που συνδέεται, έχουμε τη δυνατότητα να συνδέσουμε οτιδήποτε και όπως θέλουμε χρησιμοποιώντας το πρόγραμμα mount.

Σήμερα θα ήθελα να μιλήσω για το NFS - Network File System. Αυτή η τεχνολογία σάς επιτρέπει να συνδέσετε μεμονωμένα σημεία συστήματος αρχείων σε έναν απομακρυσμένο υπολογιστή με το σύστημα αρχείων του τοπικού υπολογιστή. Το ίδιο το πρωτόκολλο NFS σας επιτρέπει να εκτελείτε λειτουργίες αρχείων αρκετά γρήγορα, με ασφάλεια και αξιοπιστία. Τι άλλο χρειαζόμαστε; :-)

Τι χρειάζεται για να λειτουργήσει αυτό

Για να μην διαλαλώνουμε για μεγάλο χρονικό διάστημα σχετικά με το θέμα των εκδόσεων NFS και την υποστήριξή τους σε διάφορους πυρήνες, θα κάνουμε αμέσως την υπόθεση ότι η έκδοση του πυρήνα σας δεν είναι χαμηλότερη από την 2.2.18. Στην επίσημη τεκμηρίωση, οι προγραμματιστές υπόσχονται πλήρη υποστήριξη για τη λειτουργικότητα της έκδοσης 3 του NFS σε αυτόν τον πυρήνα και σε νεότερες εκδόσεις.

Εγκατάσταση

Για να εκτελέσω τον διακομιστή NFS στο Ubuntu 7.10 μου - το Gutsy Gibbon, χρειάστηκε να εγκαταστήσω τα πακέτα nfs-common και nfs-kernel-server. Εάν χρειάζεστε μόνο έναν πελάτη NFS, τότε ο nfs-kernel-server δεν χρειάζεται να εγκατασταθεί.

Ρύθμιση διακομιστή

Αφού εγκατασταθούν επιτυχώς όλα τα πακέτα, πρέπει να ελέγξετε εάν εκτελείται ο δαίμονας NFS:

Κατάσταση /etc/init.d/nfs-kernel-server

Εάν ο δαίμονας δεν εκτελείται, πρέπει να τον ξεκινήσετε με την εντολή

/etc/init.d/nfs-kernel-server start

Αφού ξεκινήσουν όλα με επιτυχία, μπορείτε να ξεκινήσετε την εξαγωγή του συστήματος αρχείων. Η ίδια η διαδικασία είναι πολύ απλή και απαιτεί ελάχιστο χρόνο.

Το κύριο αρχείο διαμόρφωσης διακομιστή NFS βρίσκεται στο /etc/exports και έχει την ακόλουθη μορφή:

Μηχανή καταλόγου1(επιλογή11,επιλογή12) μηχανή2(επιλογή21,επιλογή22)

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

μηχανήΧ— Όνομα DNS ή διεύθυνση IP του υπολογιστή-πελάτη από τον οποίο επιτρέπεται η πρόσβαση

επιλογήΧΧ— Παράμετροι εξαγωγής FS, οι πιο συχνά χρησιμοποιούμενες από αυτές:

  • ro- Η πρόσβαση στο αρχείο είναι μόνο για ανάγνωση
  • rw— παρέχεται πρόσβαση ανάγνωσης/εγγραφής
  • no_root_squash— από προεπιλογή, εάν συνδέεστε σε έναν πόρο NFS ως root, ο διακομιστής, για λόγους ασφαλείας, από την πλευρά του θα έχει πρόσβαση στα αρχεία ως χρήστης που δεν είναι κανένας. Ωστόσο, εάν ενεργοποιήσετε αυτήν την επιλογή, τα αρχεία από την πλευρά του διακομιστή θα έχουν πρόσβαση ως root. Να είστε προσεκτικοί με αυτήν την επιλογή.
  • no_subtree_check— από προεπιλογή, εάν δεν εξάγετε ολόκληρο το διαμέρισμα στον διακομιστή, αλλά μόνο μέρος του συστήματος αρχείων, ο δαίμονας θα ελέγξει εάν το αρχείο που ζητήθηκε βρίσκεται φυσικά στο ίδιο διαμέρισμα ή όχι. Εάν εξάγετε ολόκληρο το διαμέρισμα ή το σημείο προσάρτησης του εξαγόμενου συστήματος αρχείων δεν επηρεάζει τα αρχεία από άλλους φυσικούς τόμους, τότε μπορείτε να ενεργοποιήσετε αυτήν την επιλογή. Αυτό θα σας δώσει μια αύξηση στην ταχύτητα του διακομιστή.
  • συγχρονισμός— ενεργοποιήστε αυτήν την επιλογή εάν υπάρχει πιθανότητα ξαφνικής απώλειας σύνδεσης ή διακοπής ρεύματος διακομιστή. Εάν αυτή η επιλογή δεν είναι ενεργοποιημένη, υπάρχει πολύ υψηλός κίνδυνος απώλειας δεδομένων εάν ο διακομιστής NFS σταματήσει ξαφνικά.

Λοιπόν, ας υποθέσουμε ότι πρέπει να δώσουμε πρόσβαση στον επιτραπέζιο υπολογιστή asep στον κατάλογο /var/backups του φορητού υπολογιστή asep. Απαιτείται πρόσβαση στον κατάλογο για την αντιγραφή αρχείων αντιγράφων ασφαλείας από το asep-desktop. Το αρχείο μου έγινε έτσι:

/var/backups asep-desktop(rw,no_subtree_check,sync)

Αφού προσθέσετε τη γραμμή στο /etc/exports, πρέπει να επανεκκινήσετε τον διακομιστή NFS για να τεθούν σε ισχύ οι αλλαγές.

/etc/init.d/nfs-kernel-server επανεκκίνηση

Αυτό είναι όλο. Μπορείτε να ξεκινήσετε τη σύνδεση του εξαγόμενου FS στον υπολογιστή-πελάτη.

Ρύθμιση πελάτη

Στην πλευρά του πελάτη, το απομακρυσμένο σύστημα αρχείων τοποθετείται με τον ίδιο τρόπο όπως όλα τα άλλα - με την εντολή mount. Επίσης, κανείς δεν σας απαγορεύει να χρησιμοποιήσετε το /etc/fstab εάν χρειάζεται να συνδέσετε το FS αυτόματα όταν το λειτουργικό σύστημα εκκινεί. Έτσι, η επιλογή τοποθέτησης θα μοιάζει με αυτό:

Mount -t nfs asep-laptop:/var/backups/ /mnt/ashep-laptop/backups/

Εάν όλα πήγαν καλά και πρέπει να συνδεθείτε αυτόματα στο απομακρυσμένο FS κατά την εκκίνηση, απλώς προσθέστε τη γραμμή στο /etc/fstab:

Ashep-laptop:/var/backups /mnt/ashep-laptop/backups nfs auto 0 0

Τι άλλο

Έτσι έχουμε μια πρακτική, μικρή επισκόπηση των δυνατοτήτων του NFS. Φυσικά, αυτό είναι μόνο ένα μικρό μέρος του τι μπορεί να κάνει το NFS. Αυτό είναι αρκετό για χρήση στο σπίτι ή σε ένα μικρό γραφείο. Εάν αυτό δεν σας αρκεί, προτείνω να το διαβάσετε πρώτα

ΟΜΟΣΠΟΝΔΙΑΚΟ ΠΡΑΚΤΟΡΕΙΟ ΑΕΡΟΜεταφορών

ΟΜΟΣΠΟΝΔΙΑΚΟ ΚΡΑΤΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ

ΑΝΩΤΕΡΗ ΕΠΑΓΓΕΛΜΑΤΙΚΗ ΕΚΠΑΙΔΕΥΣΗ

«ΚΡΑΤΟΣ ΜΟΣΧΑ

ΠΟΛΥΤΕΧΝΕΙΟ

ΠΟΛΙΤΙΚΗ ΑΕΡΟΠΟΡΙΑ"

____________________________________________________________________________________________________________________

Τμήμα Ηλεκτρονικών Υπολογιστών, Συστημάτων και Δικτύων

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΚΤΥΟΥ.

ΣΥΣΤΗΜΑΤΑ ΑΡΧΕΙΩΝ ΔΙΚΤΥΟΥ

ΚΑΙ ΥΠΗΡΕΣΙΑ ΚΑΤΑΛΟΓΟΥ

Συντακτική έγκριση

Εκδοτικό Συμβούλιο του MSTU GA

Μόσχα - 2010

BBK 32.973.202-018.2ya73-1+32.973.26-018.2ya73-1

Εκδόθηκε με απόφαση του συντακτικού και εκδοτικού συμβουλίου

Κρατικό Τεχνικό Πανεπιστήμιο Πολιτικής Αεροπορίας της Μόσχας

Κριτές: Ph.D. φυσική και μαθηματικά Επιστημών, Αναπληρωτής Καθηγητής ;

Ch48 Λειτουργικά συστήματα δικτύου. Συστήματα αρχείων δικτύου και υπηρεσίες καταλόγου: Εκμάθηση. - M.: MSTU GA, 2010. –68 σελ. 10 αρρώστ., λιτ.: 4 όνομα.

Το παρόν εγχειρίδιο εκδίδεται σύμφωνα με το πρόγραμμα εργασίας του ακαδημαϊκού κλάδου «Λειτουργικά Συστήματα Δικτύων» σύμφωνα με το Πρόγραμμα Σπουδών της ειδικότητας 230101 για τεταρτοετείς φοιτητές πλήρους φοίτησης.

Εξετάστηκε και εγκρίθηκε σε συνεδριάσεις του τμήματος στις 11/05/10 και του μεθοδολογικού συμβουλίου στις 14/05/10.

-038 BBK 32.973.202-018.2ya73-1+32.973.26-018.2ya73-1

Ts33(03)-10 Θέματα Στ. σχέδιο 2010

ΤΣΕΡΚΑΣΟΒΑ Νατάλια Ιβάνοβνα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΚΤΥΟΥ.
ΣΥΣΤΗΜΑΤΑ ΑΡΧΕΙΩΝ ΔΙΚΤΥΟΥ ΚΑΙ ΥΠΗΡΕΣΙΕΣ ΚΑΤΑΛΟΓΟΥ
Φροντιστήριο

Συντάκτης

Υπεγράφη προς δημοσίευση στις 11 Οκτωβρίου 2010.

Εκτύπωση όφσετ Μορφή 60x84/16 4.0 ακαδημαϊκή έκδοση. μεγάλο.

3,95 συμβατικό φούρνος μεγάλο. Αρ. Παραγγελίας 000 / Κυκλοφορία 100 αντίτυπα.

Κρατικό Τεχνικό Πανεπιστήμιο Πολιτικής Αεροπορίας της Μόσχας

125993 Μόσχα, Kronstadtsky Boulevard, 20

Τμήμα Σύνταξης και Εκδόσεων

125493 Μόσχα, οδός. Pulkovskaya, 6α

© Πολιτεία της Μόσχας

Πολυτεχνείο ΓΣ, 2010

Ενότητα 1. Σύνθεση λειτουργικών συστημάτων δικτύου

1.1. ΛΣ Δικτύου. Ορισμός, βασικές ιδιότητες

Ένα Δίκτυο μπορεί να είναι οτιδήποτε, από ένα απλό σύνολο υπολογιστών (δύο συνδεδεμένοι υπολογιστές έχουν ήδη ένα δίκτυο) έως το Διαδίκτυο, το οποίο χρησιμοποιεί μια μεγάλη ποικιλία μέσων επικοινωνίας, συμπεριλαμβανομένων των τεχνολογιών μικροκυμάτων και δορυφόρων.

Ένα δίκτυο αποτελείται από υπολογιστές, εξοπλισμό επικοινωνιών (για παράδειγμα, καλώδια χαλκού ή οπτικών ινών) και άλλες συσκευές, όπως διάφορους τύπους διανομέων και δρομολογητών (που σας επιτρέπουν να διαχειρίζεστε την κυκλοφορία του δικτύου), προσαρμογείς (που χρησιμοποιούνται για τη σύνδεση ενός υπολογιστή με ένα δίκτυο), σχηματίζοντας μια δομή δικτύου. Οι τεχνολογίες για τη μετάδοση πληροφοριών είναι επίσης πολύ διαφορετικές.

Λαμβάνονται υπόψη δύο τύποι δικτύων: LAN (τοπικό δίκτυο) - ένα τοπικό δίκτυο, ένα σύνολο υπολογιστών και συσκευών ενωμένοι σε ένα κτίριο και WAN (δίκτυο ευρείας περιοχής) - ένα παγκόσμιο δίκτυο που συνδυάζει πολλά γεωγραφικά διαχωρισμένα τοπικά δίκτυα που είναι συνδεδεμένα μέσω διαφορετικών WAN - τεχνολογιών.

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

1) κοινή χρήση αρχείων. Το δίκτυο σάς επιτρέπει να χρησιμοποιείτε αρχεία δεδομένων τόσο αποθηκευμένα στον υπολογιστή ενός συγκεκριμένου χρήστη όσο και αρχεία που φιλοξενούνται σε έναν εξειδικευμένο διακομιστή αρχείων.

2) κοινή χρήση υλικού.

3) κοινή χρήση λογισμικού.

4) ανταλλαγή πληροφοριών μεταξύ των χρηστών.

5) παιχνίδια δικτύου.

Το δίκτυο καθιστά διαθέσιμους όχι μόνο τοπικούς πόρους, αλλά η ίδια η ύπαρξη του δικτύου σημαίνει ότι μπορεί να συνδυαστεί με άλλα δίκτυα.

Τα λειτουργικά συστήματα για δίκτυα είναι από πολλές απόψεις παρόμοια με το λειτουργικό σύστημα ενός αυτόνομου υπολογιστή. Ωστόσο, εάν ο τελευταίος παρουσιάζει στο χρήστη μια συγκεκριμένη εικονική μηχανή υπολογιστών, τότε το λειτουργικό σύστημα δικτύου, ενώ παρουσιάζει στον χρήστη ένα συγκεκριμένο εικονικό υπολογιστικό σύστημα, με το οποίο είναι πολύ πιο εύκολο να εργαστεί κανείς παρά με πραγματικό εξοπλισμό δικτύου, δεν κρύβει εντελώς το κατανεμημένο φύση του πραγματικού πρωτοτύπου του. Μπορούμε να πούμε ότι το λειτουργικό σύστημα δικτύου παρέχει στον χρήστη ένα εικονικό δίκτυο. Στην ιδανική περίπτωση, ένα λειτουργικό σύστημα δικτύου θα πρέπει να παρουσιάζει πόρους δικτύου στον χρήστη ως πόρους από μια ενιαία κεντρική εικονική μηχανή. Τέτοια λειτουργικά συστήματα ονομάζονται κατανεμημένο λειτουργικό σύστημα ή πραγματικά κατανεμημένο λειτουργικό σύστημα.

Τα κατανεμημένα λειτουργικά συστήματα, κατανέμοντας δυναμικά και αυτόματα την εργασία σε διάφορα μηχανήματα συστήματος για επεξεργασία, κάνουν ένα σύνολο δικτυωμένων μηχανών να λειτουργούν ως εικονικός μονοεπεξεργαστής. Ένα κατανεμημένο λειτουργικό σύστημα λειτουργεί ως ενιαίο λειτουργικό σύστημα σε ένα υπολογιστικό σύστημα.

Τα σύγχρονα λειτουργικά συστήματα δικτύου δεν είναι πραγματικά κατανεμημένα, δηλαδή, ο βαθμός αυτονομίας κάθε υπολογιστή στο δίκτυο που εκτελεί ένα λειτουργικό σύστημα δικτύου είναι σημαντικά υψηλότερος σε σύγκριση με υπολογιστές που εκτελούν ένα κατανεμημένο λειτουργικό σύστημα.

Ο όρος λειτουργικό σύστημα δικτύου χρησιμοποιείται με δύο έννοιες: πρώτον, ως το σύνολο του λειτουργικού συστήματος όλων των υπολογιστών στο δίκτυο και, δεύτερον, ως το λειτουργικό σύστημα ενός μεμονωμένου υπολογιστή ικανού να λειτουργεί στο δίκτυο. Λειτουργικά, το λειτουργικό σύστημα δικτύου μπορεί να χωριστεί στα ακόλουθα στοιχεία:

1) τοπικά εργαλεία διαχείρισης πόρων, δηλαδή όλες οι λειτουργίες του λειτουργικού συστήματος ενός αυτόνομου υπολογιστή.

2) το τμήμα διακομιστή του λειτουργικού συστήματος - ένα μέσο παροχής τοπικών πόρων και υπηρεσιών για δημόσια χρήση.

3) τμήμα πελάτη του λειτουργικού συστήματος - μέσα πρόσβασης σε απομακρυσμένους πόρους και υπηρεσίες.

4) Οχήματα OS, τα οποία μαζί με το σύστημα επικοινωνίας εξασφαλίζουν τη μετάδοση μηνυμάτων μεταξύ υπολογιστών δικτύου.

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

Οι υπηρεσίες δικτύου είναι συστήματα πελάτη-διακομιστή, δηλαδή περιέχουν ένα τμήμα πελάτη και διακομιστή. Ωστόσο, μια υπηρεσία δικτύου μπορεί να αναπαρασταθεί στο λειτουργικό σύστημα είτε από τα δύο μέρη είτε μόνο από ένα από αυτά.

Θα πρέπει να σημειωθεί ότι όταν μια υπηρεσία δικτύου παρέχει μια συγκεκριμένη υπηρεσία, χρησιμοποιούνται οι πόροι όχι μόνο του διακομιστή, αλλά και του πελάτη. Η θεμελιώδης διαφορά μεταξύ ενός πελάτη και ενός διακομιστή είναι ότι ο πελάτης είναι πάντα ο εκκινητής της εργασίας μιας υπηρεσίας δικτύου και ο διακομιστής βρίσκεται πάντα σε παθητική κατάσταση αναμονής για αιτήματα.

Αν και ένας τύπος διακομιστή μπορεί να σχεδιαστεί για να χειρίζεται διαφορετικούς τύπους πελατών, ο πελάτης και ο διακομιστής πρέπει να υποστηρίζουν ένα κοινό τυπικό πρωτόκολλο επικοινωνίας.

Το βάθος υλοποίησης των υπηρεσιών δικτύου στο ΛΣ καθορίζει διάφορες προσεγγίσεις για τη δημιουργία λειτουργικών συστημάτων δικτύου:

1) οι υπηρεσίες δικτύου συνδυάζονται με τη μορφή ενός συγκεκριμένου συνόλου - ενός κελύφους.

2) οι υπηρεσίες δικτύου παρέχονται και κατασκευάζονται ως ξεχωριστό προϊόν.

3) οι υπηρεσίες δικτύου υλοποιούνται στο ΛΣ.

Οι διαφορετικοί στόχοι που επιδιώκονται κατά τη δημιουργία διαφορετικών δικτύων απαιτούν την ύπαρξη διαφορετικών τύπων δικτύων. Το δίκτυο Peer-to-Peer είναι ένας απλός τρόπος σύνδεσης προσωπικών υπολογιστών όταν χρειάζεται να κάνετε κοινή χρήση αρχείων και άλλων πόρων. Σε ένα δίκτυο peer-to-peer, δεν υπάρχει διακομιστής και όλοι οι υπολογιστές λειτουργούν ως ομότιμοι. Ένα δίκτυο peer-to-peer ονομάζεται συχνά ομάδα εργασίας, καθώς ο όρος σχετίζεται με τη συνεργασία μεταξύ ομοτίμων χωρίς κεντρικό έλεγχο.

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

Ας εξετάσουμε το λογισμικό τέτοιων δικτύων. Σε δίκτυα peer-to-peer, εγκαθίσταται ένα λειτουργικό σύστημα σε όλους τους υπολογιστές που παρέχει δυνητικά ίσες δυνατότητες σε όλους τους υπολογιστές του δικτύου. Προφανώς, τέτοια λειτουργικά συστήματα peer-to-peer πρέπει να περιλαμβάνουν στοιχεία υπηρεσιών δικτύου διακομιστή και πελάτη.

Με την πιθανή ισότητα όλων των υπολογιστών σε ένα δίκτυο peer-to-peer, συχνά προκύπτει λειτουργική ετερογένεια. Μπορεί να υπάρχουν χρήστες στο δίκτυο που δεν μοιράζονται τους πόρους τους.

Σε αυτήν την περίπτωση, οι δυνατότητες διακομιστή του λειτουργικού τους συστήματος δεν ενεργοποιούνται και οι υπολογιστές λειτουργούν ως «καθαροί» πελάτες. Η αντίθετη κατάσταση είναι επίσης δυνατή, όταν ορισμένοι υπολογιστές εκτελούν μόνο λειτουργίες για την εξυπηρέτηση των αιτημάτων πελατών, δηλαδή γίνονται «καθαροί» διακομιστές. Ωστόσο, αρχικά σε δίκτυα peer-to-peer, η εξειδίκευση του λειτουργικού συστήματος δεν εξαρτάται από το ρόλο του υπολογιστή.

Το DOS δεν υποστήριζε δίκτυα peer-to-peer, επομένως η κοινή χρήση αρχείων ή εκτυπωτών απαιτούσε πρόσθετα προϊόντα λογισμικού, δηλαδή οι λειτουργίες δικτύου υλοποιούνταν από κελύφη δικτύου που εκτελούνταν πάνω από το λειτουργικό σύστημα. Για την υποστήριξη ομάδων εργασίας, χρησιμοποιήθηκαν προϊόντα λογισμικού όπως τα Artisoft LANtastic, Novell NetWare Lite, Personal NetWare και Windows for Workgroup 3.11. Όλες οι επόμενες εκδόσεις των Windows υποστηρίζουν ομάδες εργασίας.

Οι διανομές Linux υποστηρίζουν επίσης τη δημιουργία ομάδων εργασίας από υπολογιστές με Windows ή Linux χρησιμοποιώντας Samba.

Αν και τα κύρια πλεονεκτήματα των δικτύων peer-to-peer περιλαμβάνουν, πρώτα απ 'όλα, την ευκολία εγκατάστασης, υπάρχουν ορισμένα άλλα πλεονεκτήματα:

1) συνήθως όλο το απαραίτητο λογισμικό περιλαμβάνεται ήδη στο λειτουργικό σύστημα.

2) δεν απαιτείται διαχείριση συστήματος και οι μεμονωμένοι χρήστες μπορούν να διαχειρίζονται τους πόρους οι ίδιοι.

3) οι κόμβοι δικτύου δεν εξαρτώνται από τον διακομιστή, επομένως, μπορούν να λειτουργήσουν ακόμη και όταν άλλοι κόμβοι δεν είναι διαθέσιμοι.

Ωστόσο, σε ένα τέτοιο δίκτυο ο αριθμός των υπολογιστών είναι αυστηρά καθορισμένος - όχι περισσότερο από δέκα. Η διανομή πόρων σε ένα δίκτυο με μεγάλο αριθμό κόμβων θα δυσκολέψει την πρόσβαση σε αρχεία, καθένα από τα οποία μπορεί να προστατεύεται από τον δικό του κωδικό πρόσβασης. Επιπλέον, η κεντρική προστασία είναι αδύνατη εδώ η μόνη δυνατή προστασία είναι η προστασία σε επίπεδο πόρων. Γενικά, υπάρχει αύξηση του φόρτου στους υπολογιστές λόγω κοινής χρήσης πόρων.

Τα δίκτυα με αποκλειστικό διακομιστή (ή διακομιστές) (Δίκτυα που βασίζονται σε διακομιστή) μπορεί να είναι πολύ μεγάλα και να παρέχουν στους χρήστες ένα ευρύτερο φάσμα πόρων σε σύγκριση με τα δίκτυα ομότιμων. Αυτό οφείλεται, πρώτα απ 'όλα, στο γεγονός ότι ένα τέτοιο δίκτυο διαθέτει διάφορους εξειδικευμένους διακομιστές.

Επιπλέον, αυτά τα δίκτυα επιτρέπουν την κεντρική διαχείριση πόρων και την προσθήκη νέων υπολογιστών, χρηστών και πόρων στο δίκτυο. Τέτοια δίκτυα είναι επεκτάσιμα, δηλαδή μπορούν εύκολα να επεκταθούν.

Η μόνη απαίτηση για ένα τέτοιο δίκτυο είναι η παρουσία ενός υπολογιστή που εκτελεί το λειτουργικό σύστημα δικτύου, ένας τέτοιος υπολογιστής ονομάζεται διακομιστής.

Όπως ένα δίκτυο peer-to-peer, τα αποκλειστικά δίκτυα διακομιστών έχουν τα πλεονεκτήματα και τα μειονεκτήματά τους. Πρώτα απ 'όλα, ας αναφέρουμε τα πλεονεκτήματα:

1) για να αποκτήσει πρόσβαση σε πόρους δικτύου, ο χρήστης εισάγει μόνο ένα όνομα εγγραφής και κωδικό πρόσβασης.

2) Η ασφάλεια του δικτύου και οι πόροι του δικτύου διαχειρίζονται κεντρικά.

3) Η κεντρική τοποθεσία σάς επιτρέπει να δημιουργείτε αντίγραφα ασφαλείας καταλόγων και αρχείων.

4) οι εξειδικευμένοι διακομιστές παρέχουν γρήγορη πρόσβαση σε πόρους.

5) τέτοια δίκτυα μπορούν να επεκταθούν.

Ας σημειώσουμε τώρα μια σειρά από μειονεκτήματα:

1) είναι απαραίτητο να διαμορφώσετε και να διαχειριστείτε τους πόρους στο δίκτυο, δηλαδή απαιτείται διαχειριστής συστήματος.

2) εάν ο κύριος διακομιστής αποτύχει, η πρόσβαση στους πόρους του δικτύου τερματίζεται.

3) οικονομικά, τα δίκτυα με αποκλειστικό διακομιστή είναι ωφέλιμα μόνο για αρκετά μεγάλες εταιρείες.

Έτσι, ανάλογα με τον τρόπο με τον οποίο οι λειτουργίες κατανέμονται μεταξύ των υπολογιστών στο δίκτυο, μπορούν να ενεργούν σε τρεις διαφορετικούς ρόλους:

1) υπολογιστής σε ρόλο αποκλειστικού διακομιστή δικτύου, δηλαδή εξυπηρετεί μόνο αιτήματα από άλλους υπολογιστές.

2) ένας υπολογιστής που υποβάλλει αίτημα στους πόρους ενός άλλου μηχανήματος είναι ένας κόμβος πελάτη.

3) ένας υπολογιστής που συνδυάζει τις λειτουργίες ενός πελάτη και ενός διακομιστή είναι ένας κόμβος peer-to-peer.

Επομένως, μπορεί κανείς να ορίσει διάφορα σχήματα σχεδιασμού δικτύου ως εξής:

1) δίκτυο peer-to-peer – ένα δίκτυο που βασίζεται σε peer-to-peer κόμβους.

2) δίκτυο με αποκλειστικό διακομιστή – ένα δίκτυο που βασίζεται σε πελάτες και διακομιστές.

Ωστόσο, ένα δίκτυο μπορεί να περιλαμβάνει όλους τους τύπους κόμβων—ένα υβριδικό δίκτυο, το οποίο μερικές φορές αναφέρεται ως δίκτυο αποκλειστικού διακομιστή.

Τα λειτουργικά συστήματα πελάτη σε δίκτυα με αποκλειστικό διακομιστή συνήθως απαλλάσσονται από λειτουργίες διακομιστή, γεγονός που απλοποιεί σημαντικά την οργάνωσή τους. Οι προγραμματιστές τέτοιων λειτουργικών συστημάτων επικεντρώνονται στη διεπαφή χρήστη και στα τμήματα πελάτη των υπηρεσιών δικτύου. Ταυτόχρονα, οι διακομιστές χρησιμοποιούν ειδικές εκδόσεις λειτουργικών συστημάτων δικτύου που είναι βελτιστοποιημένες για να λειτουργούν ως διακομιστής και ονομάζονται λειτουργικά συστήματα διακομιστή.

Η εξειδίκευση ενός λειτουργικού συστήματος ως διακομιστής είναι ένας φυσικός τρόπος βελτίωσης της αποτελεσματικότητας των λειτουργιών του διακομιστή, καθώς η ένταση των αιτημάτων για κοινόχρηστους πόρους μπορεί να είναι πολύ μεγάλη και ο διακομιστής πρέπει να μπορεί να το χειριστεί χωρίς μεγάλες καθυστερήσεις. Όσο λιγότερες λειτουργίες εκτελεί το λειτουργικό σύστημα, τόσο πιο αποτελεσματικά μπορούν να υλοποιηθούν.

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

Διάφορες υπηρεσίες δικτύου μπορούν να φιλοξενηθούν σε πολλούς εξειδικευμένους διακομιστές και ο κεντρικός διακομιστής όχι μόνο επιτρέπει στον χρήστη να εισέλθει στο δίκτυο, αλλά καθορίζει επίσης σε ποιους πόρους θα έχει πρόσβαση ο χρήστης.

Ας δούμε τους κύριους εξειδικευμένους διακομιστές.

Οι διακομιστές αρχείων χρησιμοποιούνται για την αποθήκευση αρχείων που χρειάζονται οι χρήστες του δικτύου. Οι διακομιστές εκτύπωσης χρησιμοποιούνται για τη διαχείριση ενός εκτυπωτή δικτύου, ουσιαστικά ενός καναλιού ελέγχου για την επικοινωνία με τον εκτυπωτή.

Ένας διακομιστής επικοινωνίας χρησιμοποιεί ειδικό λογισμικό που επιτρέπει στους χρήστες να επικοινωνούν online. Υποστηρίζει υπηρεσίες email και τηλεδιάσκεψης. Ο διακομιστής εφαρμογών φιλοξενεί διάφορες εφαρμογές και ο διακομιστής σας επιτρέπει να δημιουργήσετε έναν ιστότοπο, αν και μπορείτε να χρησιμοποιήσετε τις υπηρεσίες ενός παρόχου για τη φιλοξενία του ιστότοπου.

Ορισμένοι τύποι διακομιστών χρησιμοποιούνται όχι για να αποκτήσουν πρόσβαση σε πόρους, αλλά για να βελτιώσουν την ποιότητα και την αποτελεσματικότητα του δικτύου. Για παράδειγμα, διακομιστής DNS (Υπηρεσία ονόματος τομέα) - η υπηρεσία ονομάτων τομέα επιλύει φιλικά ονόματα σε αντίστοιχες διευθύνσεις.

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

Αυτή η διαδικασία πραγματοποιείται από ένα στοιχείο του λογισμικού πελάτη που ονομάζεται ανακατεύθυνση (REDIRECTOR). Αναχαιτίζει τυχόν αιτήματα που γίνονται στον υπολογιστή και, ανάλογα με τον τύπο του αιτήματος, τα διαβιβάζει σε διακομιστή δικτύου για επεξεργασία ή καθορίζει ότι το αίτημα θα εκτελεστεί τοπικά.

1.2. Υποστήριξη για δίκτυα που βασίζονται σε λειτουργικό σύστημαWindows2000. ΕπίπεδαOSIκαι στοιχεία δικτύου OSWindows2000. ΔίκτυοAPI

Ας δούμε τους μηχανισμούς για τη δημιουργία ενός λειτουργικού συστήματος δικτύου χρησιμοποιώντας τα Windows 2000 ως παράδειγμα.

Αναφορά μοντέλοOSI (Το μοντέλο αναφοράς OSI)

Για να βοηθήσει τους προμηθευτές να τυποποιήσουν και να ενσωματώσουν το λογισμικό δικτύωσης, το 1974 ο Διεθνής Οργανισμός Τυποποίησης (ISO) όρισε ένα μοντέλο λογισμικού για την αποστολή μηνυμάτων μεταξύ υπολογιστών. Το αποτέλεσμα ήταν το μοντέλο αναφοράς Open Systems Interconnection (OSI). Το μοντέλο ορίζει επτά επίπεδα λογισμικού (Εικ. 1).

DIV_ADBLOCK93">

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

Δίκτυο εξαρτήματαWindows 2000 (Στοιχεία Δικτύωσης)

Στο Σχ. Το σχήμα 2 δείχνει ένα γενικό διάγραμμα των πρωτοκόλλων δικτύου των Windows 2000, την αντιστοιχία τους με τα επίπεδα του μοντέλου αναφοράς, καθώς και τα πρωτόκολλα που χρησιμοποιούνται από τα διάφορα επίπεδα. Όπως μπορείτε να δείτε, δεν υπάρχει ακριβής αντιστοιχία μεταξύ των επιπέδων του μοντέλου και των στοιχείων δικτύου. Ορισμένα στοιχεία εκτείνονται σε πολλαπλά επίπεδα. Ακολουθεί λίστα και σύντομη περιγραφή:

1) Τα API δικτύωσης παρέχουν αλληλεπίδραση ανεξάρτητη από πρωτόκολλο των εφαρμογών μέσω του δικτύου. Τα API δικτύωσης υλοποιούνται είτε σε λειτουργία πυρήνα και λειτουργία χρήστη είτε μόνο σε λειτουργία χρήστη. Ορισμένα API δικτύωσης τυλίγουν άλλα API και εφαρμόζουν ένα συγκεκριμένο μοντέλο προγραμματισμού ή παρέχουν πρόσθετες υπηρεσίες. (Ο όρος API δικτύωσης αναφέρεται σε οποιεσδήποτε διεπαφές προγραμματισμού που εκτίθενται από λογισμικό δικτύωσης).

2) Πελάτες TDI (Transport Driver Interface). Προγράμματα οδήγησης συσκευών σε λειτουργία πυρήνα, που συνήθως υλοποιούν το τμήμα του API δικτύου που εκτελείται σε λειτουργία πυρήνα. Τα προγράμματα-πελάτες TDI ονομάζονται έτσι επειδή τα πακέτα αιτημάτων εισόδου/εξόδου (IRP) που στέλνουν στα προγράμματα οδήγησης πρωτοκόλλου των Windows 2000 μορφοποιούνται χρησιμοποιώντας το πρότυπο διεπαφής προγράμματος οδήγησης μεταφοράς (τεκμηριωμένο στο DDK). Αυτό το πρότυπο ορίζει μια κοινή διεπαφή προγραμματισμού για προγράμματα οδήγησης συσκευών σε λειτουργία πυρήνα.

3) Μεταφορές TDI. Είναι προγράμματα οδήγησης πρωτοκόλλου λειτουργίας πυρήνα και ονομάζονται συχνά transports (Network Driver Interface Specification), προγράμματα οδήγησης πρωτοκόλλου NDIS ή προγράμματα οδήγησης πρωτοκόλλου. Δέχονται IRP από πελάτες TDI και επεξεργάζονται αιτήματα που υποβάλλονται από αυτά τα IRP. Η επεξεργασία αιτημάτων ενδέχεται να απαιτεί επικοινωνία μέσω του δικτύου με άλλους ομοτίμους υπολογιστές, οπότε η μεταφορά TDI προσθέτει κεφαλίδες ειδικών για το πρωτόκολλο (TCP, UDP, IPX) στα δεδομένα IRP και επικοινωνεί με τα προγράμματα οδήγησης προσαρμογέα μέσω λειτουργιών NDIS (επίσης τεκμηριωμένη στο DDK) . Γενικά, το TDI μεταφέρει εφαρμογές σύνδεσης σε ένα δίκτυο εκτελώντας λειτουργίες όπως τμηματοποίηση μηνυμάτων, ανάκτηση μηνυμάτων, παραγγελία, επιβεβαίωση και αναμετάδοση.

4) Βιβλιοθήκη NDIS (Ndis.sys). Ενσωματώνει τη λειτουργικότητα για προγράμματα οδήγησης προσαρμογέα, αποκρύπτοντας από αυτά τις ιδιαιτερότητες του περιβάλλοντος των Windows 2000 που εκτελείται σε λειτουργία πυρήνα. Η βιβλιοθήκη NDIS εξάγει λειτουργίες για μεταφορές TDI, καθώς και λειτουργίες υποστήριξης για προγράμματα οδήγησης προσαρμογέων.

5) miniport – προγράμματα οδήγησης NDIS. Προγράμματα οδήγησης λειτουργίας πυρήνα, υπεύθυνα για την οργάνωση διεπαφών μεταξύ των μεταφορών TDI και συγκεκριμένων προσαρμογέων δικτύου. Τα προγράμματα οδήγησης miniport NDIS έχουν γραφτεί για να τυλιχτούν στη βιβλιοθήκη NDIS των Windows 2000. Αυτή η ενθυλάκωση παρέχει συμβατότητα πολλαπλών πλατφορμών με εκδόσεις των Windows για καταναλωτές. Τα προγράμματα οδήγησης miniport NDIS δεν χειρίζονται IRP διαδικασίας. και καταχωρήστε μια διεπαφή στον πίνακα κλήσεων της βιβλιοθήκης NDIS, η οποία περιέχει δείκτες σε συναρτήσεις που αντιστοιχούν στις λειτουργίες που εξάγονται από τη βιβλιοθήκη NDIS για μεταφορές TDI. Τα προγράμματα οδήγησης miniport NDIS αλληλεπιδρούν με προσαρμογείς δικτύου χρησιμοποιώντας λειτουργίες βιβλιοθήκης NDIS που καλούν τις αντίστοιχες συναρτήσεις (HAL).

Σημείωση: Ο διαχειριστής I/O ορίζει το μοντέλο για την παράδοση αιτημάτων I/O στα προγράμματα οδήγησης συσκευών. Τα περισσότερα αιτήματα εισόδου/εξόδου αντιπροσωπεύονται από πακέτα αιτημάτων εισόδου/εξόδου (IRP) που αποστέλλονται από ένα στοιχείο υποσυστήματος I/O σε άλλο. Ένα IRP είναι μια δομή δεδομένων που περιέχει πληροφορίες που περιγράφουν πλήρως ένα αίτημα I/O.

Στην πραγματικότητα, τα τέσσερα κατώτερα επίπεδα δικτύου αναφέρονται συχνά συλλογικά ως μεταφορά και τα στοιχεία που βρίσκονται στα τρία επάνω επίπεδα αναφέρονται συχνά ως χρήστες μεταφοράς.

DIV_ADBLOCK96">

Το πρωτόκολλο SMB είναι ένα πρωτόκολλο επιπέδου εφαρμογής που περιλαμβάνει ένα επίπεδο δικτύου και ένα επίπεδο παρουσίασης.

Η SMB υλοποιεί:

1) καθιέρωση συνόδου.

2) υπηρεσία αρχείων.

3) υπηρεσία εκτύπωσης.

4) υπηρεσία μηνυμάτων.

Το CIFS είναι ένα ανοιχτό πρότυπο της Microsoft (που τεκμηριώνεται στο Platform SDK) που επιτρέπει σε άλλες πλατφόρμες να διαλειτουργούν με το διακομιστή αρχείων των Windows 2000 και το πρόγραμμα-πελάτη αρχείων των Windows 2000. Για παράδειγμα, η Samba επιτρέπει στα συστήματα UNIX να λειτουργούν ως διακομιστής αρχείων για έναν υπολογιστή-πελάτη των Windows 2000 και σε εφαρμογές UNIX για πρόσβαση σε αρχεία που είναι αποθηκευμένα σε συστήματα που εκτελούν συστήματα Windows 2000. Άλλες πλατφόρμες που υποστηρίζουν CIFS περιλαμβάνουν το DEC VMS και το Apple Macintosh.

Η κοινή χρήση αρχείων στα Windows 2000 βασίζεται σε ένα πρόγραμμα ανακατεύθυνσης (ανακατεύθυνση FSD για συντομία) που εκτελείται στον υπολογιστή-πελάτη και επικοινωνεί με το πρόγραμμα ανακατεύθυνσης FSD του διακομιστή. Το FSD παρεμποδίζει τα αιτήματα εισόδου/εξόδου αρχείων Win32 που κατευθύνονται σε αρχεία που βρίσκονται στον διακομιστή και διαβιβάζει μηνύματα CIFS στο σύστημα αρχείων του διακομιστή. Ο διακομιστής λαμβάνει μηνύματα CIFS και τα μετατρέπει ξανά σε αιτήματα εισόδου/εξόδου, τα οποία εκδίδει σε τοπικά FSD όπως το NTFS.

Επειδή είναι ενσωματωμένα με το υποσύστημα εισόδου/εξόδου των Windows 2000 (σύστημα I/O), τα FSD ανακατεύθυνσης και διακομιστή έχουν πολλά πλεονεκτήματα έναντι των εναλλακτικών εφαρμογών διακομιστή αρχείων:

1) μπορούν να αλληλεπιδράσουν άμεσα με τις μεταφορές TDI και τις τοπικές FSD.

2) ενσωματώνονται απρόσκοπτα με τον διαχειριστή κρυφής μνήμης, ο οποίος επιτρέπει την αποθήκευση δεδομένων από τον διακομιστή αρχείων σε συστήματα-πελάτες.

Οι εφαρμογές μπορούν να χρησιμοποιούν τυπικές λειτουργίες εισόδου/εξόδου αρχείων Win32, όπως CreateFile, ReadFile και WriteFile για πρόσβαση σε απομακρυσμένα αρχεία.

Στα Windows 2000, ο διακομιστής ανακατεύθυνσης FSD χρησιμοποιεί τις τυπικές συμβάσεις ονομασίας πόρων δικτύου που χρησιμοποιούνται από όλους τους διακομιστές αρχείων και τα προγράμματα-πελάτες σε λειτουργία πυρήνα. Εάν μια σύνδεση με έναν πόρο δικτύου γίνεται με γράμμα μονάδας δίσκου, τα ονόματα των αρχείων δικτύου υποδεικνύονται επίσης ως τοπικά. Ωστόσο, το redirector υποστηρίζει επίσης ονόματα UNC

Τόσο ο διακομιστής FSD όσο και το πρόγραμμα ανακατεύθυνσης διαθέτουν υπηρεσίες Win32, διακομιστή και σταθμό εργασίας, που εκτελούνται στη διαδικασία διαχείρισης ελέγχου υπηρεσιών (SCM) και παρέχουν διεπαφές διαχειριστικού ελέγχου στα προγράμματα οδήγησης.

Σημείωμα:

Μπορείτε να εφαρμόσετε μια εφαρμογή διακομιστή ως ένα απλό εκτελέσιμο πρόγραμμα, αλλά μπορείτε να χρησιμοποιήσετε έναν ειδικό τύπο - μια υπηρεσία. Μια υπηρεσία είναι μια εφαρμογή που περιέχει πρόσθετη υποδομή που επιτρέπει στο SCM να διαχειρίζεται αυτές τις εφαρμογές. Όλες οι εφαρμογές διακομιστή που παρέχονται με το σύστημα εκτελούνται ως υπηρεσίες.

Διεπαφή προγράμματος οδήγησης μεταφοράς (TDI)

Η ανοιχτή αρχιτεκτονική της δικτύωσης των Windows NT επιτρέπει στους σταθμούς εργασίας (και στους διακομιστές) τους να λειτουργούν σε ετερογενή δίκτυα όχι μόνο παρέχοντας τη δυνατότητα δυναμικής φόρτωσης και εκφόρτωσης εργαλείων δικτύωσης, αλλά και με άμεση εναλλαγή από εργαλεία δικτύωσης που βασίζονται σε λογισμικό που έχουν σχεδιαστεί για να αλληλεπιδρούν με ένας τύπος δικτύου σε αυτά που βασίζονται σε λογισμικό σημαίνει για άλλους τύπους δικτύων κατά τη λειτουργία του συστήματος. Τα Windows NT υποστηρίζουν εναλλαγή λογισμικού σε τρία επίπεδα:

1) σε επίπεδο ανακατεύθυνσης - κάθε πρόγραμμα ανακατεύθυνσης έχει σχεδιαστεί για το δικό του πρωτόκολλο (SMP, NCP, NFS, VINES).

2) σε επίπεδο οδηγών πρωτοκόλλου μεταφοράς, παρέχοντας μια τυπική διεπαφή TDI για αυτούς και για τους ανακατευθυντές·

3) σε επίπεδο προγράμματος οδήγησης προσαρμογέα δικτύου - με τυπική διεπαφή NDIS 3.0.

Για πρόσβαση σε άλλους τύπους δικτύων στα Windows NT, εκτός από το ενσωματωμένο, μπορούν να φορτωθούν επιπλέον ανακατευθύνσεις. Ειδικά στοιχεία των Windows NT αποφασίζουν ποιος ανακατευθυντής θα πρέπει να κληθεί για να εξυπηρετήσει μια απομακρυσμένη αίτηση εισόδου/εξόδου. Τις τελευταίες δεκαετίες, διάφορα πρωτόκολλα για τη μετάδοση πληροφοριών μέσω του δικτύου έχουν γίνει ευρέως διαδεδομένα. Και παρόλο που τα Windows NT δεν υποστηρίζουν όλα αυτά τα πρωτόκολλα, τουλάχιστον σας επιτρέπει να ενεργοποιήσετε την υποστήριξη για αυτά.

Μόλις ένα αίτημα δικτύου φτάσει στον ανακατεύθυνση, πρέπει να προωθηθεί στο δίκτυο. Σε ένα παραδοσιακό σύστημα, κάθε ανακατεύθυνση είναι στενά συνδεδεμένος με ένα συγκεκριμένο πρωτόκολλο μεταφοράς. Τα Windows NT έχουν ως αποστολή την ευέλικτη σύνδεση ενός ή άλλου πρωτοκόλλου μεταφοράς, ανάλογα με τον τύπο μεταφοράς που χρησιμοποιείται σε άλλο δίκτυο. Για να γίνει αυτό, σε όλους τους ανακατευθυντές το κατώτερο επίπεδο πρέπει να γραφτεί σύμφωνα με ορισμένες συμβάσεις, οι οποίες ορίζουν μια ενιαία διεπαφή προγραμματισμού που ονομάζεται διεπαφή οδηγού μεταφοράς(TDI).

Το TDI επιτρέπει στους ανακατευθυντές να παραμένουν ανεξάρτητοι στη μεταφορά. Έτσι, μια έκδοση του redirector μπορεί να χρησιμοποιήσει οποιονδήποτε μηχανισμό μεταφοράς. Το TDI παρέχει ένα σύνολο λειτουργιών που μπορούν να χρησιμοποιήσουν οι ανακατευθυντές για να προωθήσουν οποιονδήποτε τύπο δεδομένων χρησιμοποιώντας το επίπεδο μεταφοράς. Το TDI υποστηρίζει τόσο επικοινωνίες προσανατολισμένες στη σύνδεση (εικονικές επικοινωνίες) όσο και επικοινωνίες χωρίς σύνδεση (επικοινωνίες δεδομένων). Παρόλο που ο Διαχειριστής LAN χρησιμοποιεί επικοινωνίες προσανατολισμένες στη σύνδεση, το Novell IPX είναι ένα παράδειγμα δικτύου που χρησιμοποιεί επικοινωνίες χωρίς σύνδεση. Η Microsoft παρέχει εγγενώς τις μεταφορές - NetBEUI (NetBIOS Extended User Interface), TCP/IP, IPX/SPX, DECnet και AppleTalk.

Με βάση τα παραπάνω, παραθέτουμε τα ακόλουθα συμπεράσματα.

ΚΑΙ διεπαφή οδηγού μεταφοράς(TDI) είναι μια κοινή διεπαφή που επιτρέπει σε στοιχεία όπως ο ανακατευθυντής και ο διακομιστής να επικοινωνούν με διαφορετικές μεταφορές δικτύου, δηλαδή να παραμένουν ανεξάρτητα από τη μεταφορά. Σημειώστε ότι (TDI) δεν είναι ένα πρόγραμμα οδήγησης, αλλά ένα πρότυπο για τη μετάδοση μηνυμάτων μεταξύ των επιπέδων μιας αρχιτεκτονικής δικτύου. Η Microsoft όρισε το πρότυπο TDI έτσι ώστε τα προγράμματα οδήγησης πρωτοκόλλου δικτύου να μην χρειάζεται να χρησιμοποιούν ξεχωριστές διεπαφές για κάθε πρωτόκολλο μεταφοράς που χρειάζονται.

Όπως ήδη αναφέρθηκε, Διεπαφή προγράμματος οδήγησης μεταφοράς(TDI) ουσιαστικά αντιπροσωπεύει τους κανόνες για τη διαμόρφωση αιτημάτων δικτύου σε IRP, καθώς και την κατανομή διευθύνσεων δικτύου και συνδέσεων επικοινωνίας. Τα πρωτόκολλα μεταφοράς που συμμορφώνονται με αυτό το πρότυπο εξάγουν τη διεπαφή TDI στους πελάτες τους, οι οποίοι περιλαμβάνουν προγράμματα οδήγησης API δικτύου και τον ανακατεύθυνση. Το πρωτόκολλο μεταφοράς που υλοποιείται ως πρόγραμμα οδήγησης συσκευής ονομάζεται μεταφορές TDI και δεδομένου ότι είναι προγράμματα οδήγησης, μετατρέπουν αιτήματα που λαμβάνονται από πελάτες σε IRP. Διεπαφή προγράμματος οδήγησης μεταφοράς(Λειτουργίες υποστήριξης φόρμας TDI από τη βιβλιοθήκη \winnt\system32\drivers\tdi.sys.

ΒιβλιοθήκηNDIS (Ndis. sys)

Ας εισαγάγουμε επίσης την έννοια του οριακού επιπέδου. Ένα όριο είναι μια ενοποιημένη διεπαφή μεταξύ λειτουργικών επιπέδων σε ένα μοντέλο αρχιτεκτονικής δικτύου. Η δημιουργία ορίων ως κατατμήσεων μεταξύ επιπέδων δικτύου διευκολύνει τα τρίτα μέρη να αναπτύξουν προγράμματα οδήγησης και υπηρεσίες δικτύου σε περιβάλλον ανοιχτών συστημάτων.

Οι προσαρμογείς δικτύου συνοδεύονται από προγράμματα οδήγησης δικτύου, τα οποία στο παρελθόν είχαν σχεδιαστεί συχνά για να επικοινωνούν με έναν συγκεκριμένο τύπο πρωτοκόλλου μεταφοράς. Επειδή τα Windows NT σάς επιτρέπουν να φορτώνετε προγράμματα οδήγησης για διαφορετικά πρωτόκολλα μεταφοράς, οι κατασκευαστές προσαρμογέων δικτύου που χρησιμοποιούν αυτήν την προσέγγιση έπρεπε να γράψουν διαφορετικές εκδόσεις του ίδιου προγράμματος οδήγησης για να επικοινωνούν με διαφορετικά πρωτόκολλα επιπέδου μεταφοράς.

Για να βοηθήσουν τους κατασκευαστές να το αποφύγουν αυτό, τα Windows NT παρέχουν μια διεπαφή και ένα περιβάλλον λογισμικού που ονομάζεται " Προδιαγραφές διεπαφής προγράμματος οδήγησης δικτύου" (NDIS), τα οποία προστατεύουν τα προγράμματα οδήγησης δικτύου από τις λεπτομέρειες διαφόρων πρωτοκόλλων μεταφοράς. Το ανώτερο επίπεδο του προγράμματος οδήγησης προσαρμογέα δικτύου θα πρέπει να γράφεται σύμφωνα με τις συστάσεις NDIS. Σε αυτήν την περίπτωση, ο χρήστης μπορεί να εργαστεί με ένα δίκτυο TCP/IP και Δίκτυο NetBEUI (ή DECnet, NetWare, VINES, κ.λπ.) με χρήση ενός προσαρμογέα δικτύου και ενός προγράμματος οδήγησης δικτύου Το περιβάλλον NDIS χρησιμοποιήθηκε σε δίκτυα LAN Manager, αλλά έχει ενημερωθεί για τα Windows NT.

Μέσω του κατώτερου ορίου του, ένα πρόγραμμα οδήγησης προσαρμογέα δικτύου συνήθως επικοινωνεί απευθείας με τον προσαρμογέα ή τους προσαρμογείς που εξυπηρετεί. Το πρόγραμμα οδήγησης προσαρμογέα δικτύου που υλοποιείται για το περιβάλλον NDIS δεν ελέγχει απευθείας τον προσαρμογέα, αλλά χρησιμοποιεί λειτουργίες που παρέχονται από το NDIS για να το κάνει (για παράδειγμα, για να ενεργοποιήσει I/O ή να χειριστεί διακοπές). Έτσι, το περιβάλλον NDIS σχηματίζει ένα είδος κελύφους που καθιστά αρκετά εύκολη τη μεταφορά προγραμμάτων οδήγησης προσαρμογέα δικτύου από το ένα λειτουργικό σύστημα στο άλλο. Το NDIS επιτρέπει στα προγράμματα οδήγησης δικτύου να μην έχουν ενσωματωμένη γνώση του επεξεργαστή ή του λειτουργικού συστήματος στο οποίο εκτελείται.

Ασφάλεια δικτύου και δομή τομέα

Ασφάλεια δικτύου σημαίνει προστασία όλων των στοιχείων υλικού, του λογισμικού και των αποθηκευμένων δεδομένων από καταστροφή, κλοπή και μη εξουσιοδοτημένη χρήση. Ένα καλά μελετημένο και επιδέξια κατασκευασμένο σχέδιο ασφάλειας υπολογιστή που παρέχει καλή παρακολούθηση διευκολύνει τον έλεγχο της χρήσης δικτυωμένων υπολογιστών, ουσιαστικά εξαλείφει την τυχαία καταστροφή ή καταστροφή δεδομένων και καθιστά αδύνατη ή εξαιρετικά δύσκολη τη μη εξουσιοδοτημένη χρήση πόρων.

Η Microsoft συμπεριέλαβε απαιτήσεις ασφαλείας ως μέρος της αρχικής προδιαγραφής για την ανάπτυξη των Windows NT. Τα θέματα ασφαλείας στα Windows NT είναι υψίστης σημασίας. Το μοντέλο ασφαλείας περιλαμβάνει στοιχεία για τον έλεγχο της πρόσβασης σε αντικείμενα (όπως αρχεία και κοινόχρηστους εκτυπωτές). Αυτά τα στοιχεία καθορίζουν ποιος μπορεί να έχει πρόσβαση σε ποια αντικείμενα, ποια ενέργεια μπορεί να εκτελεστεί στο αντικείμενο (για παράδειγμα, εγγραφή σε ένα αρχείο, κ.λπ.) και ποια συμβάντα μπορούν να ελεγχθούν.

Η ασφάλεια δικτύου των Windows NT περιλαμβάνει σχέσεις εμπιστοσύνης μεταξύ τομέων, γεγονός που καθιστά αυτό το λειτουργικό σύστημα το καλύτερο προστατευμένο.

Αρχιτεκτονική Μοντέλων Ασφαλείας

Στο Σχ. Το σχήμα 3 δείχνει τα στοιχεία του μοντέλου ασφαλείας των Windows NT, τα οποία περιλαμβάνουν:

1) Διαδικασίες σύνδεσης, οι οποίες λαμβάνουν αιτήματα σύνδεσης από χρήστες. Αυτές περιλαμβάνουν τη διαδραστική σύνδεση, η οποία πραγματοποιείται χρησιμοποιώντας το αρχικό πλαίσιο διαλόγου σύνδεσης, και τις διαδικασίες απομακρυσμένης σύνδεσης, οι οποίες παρέχουν στους απομακρυσμένους χρήστες πρόσβαση στις διαδικασίες διακομιστή των Windows NT.

2) τοπική υπηρεσία ασφαλείας (Local Security Authority, LSA), η οποία διασφαλίζει ότι ο χρήστης έχει το δικαίωμα πρόσβασης στο σύστημα. Αυτό το στοιχείο είναι το κέντρο του υποσυστήματος ασφαλείας των Windows NT. Δημιουργεί διακριτικά πρόσβασης, διαχειρίζεται την τοπική πολιτική ασφαλείας και παρέχει διαδραστικό έλεγχο ταυτότητας χρήστη. Επιπλέον, το LSA ελέγχει την πολιτική ελέγχου και καταγράφει τα αρχεία ελέγχου που δημιουργούνται από την οθόνη ασφαλείας.

3) Security Account Manager (SAM), που διατηρεί μια βάση δεδομένων λογαριασμών χρήστη, γνωστή και ως βάση δεδομένων καταλόγου. Αυτή η βάση δεδομένων περιέχει πληροφορίες για όλους τους λογαριασμούς χρηστών και ομάδων. Η SAM παρέχει την υπηρεσία επαλήθευσης χρήστη που χρησιμοποιείται από την LSA.

4) Security Reference Monitor, που ελέγχει εάν ο χρήστης έχει άδεια πρόσβασης στο αντικείμενο και δικαίωμα στη λειτουργία που προσπαθεί να εκτελέσει. Αυτό το στοιχείο επιβάλλει ελέγχους επιπέδου πρόσβασης και επιβάλλει την πολιτική ελέγχου που ορίζεται από το LSA. Παρέχει μια υπηρεσία λειτουργίας πυρήνα και λειτουργίας χρήστη που ελέγχει ότι όλοι οι χρήστες και οι διεργασίες που προσπαθούν να αποκτήσουν πρόσβαση σε ένα αντικείμενο έχουν το απαιτούμενο επίπεδο πρόσβασης. Εάν είναι απαραίτητο, αυτό το στοιχείο δημιουργεί επίσης εγγραφές στο αρχείο ελέγχου.

Συλλογικά, όλα αυτά τα στοιχεία είναι επίσης γνωστά ως υποσύστημα ασφαλείας. Αυτό το υποσύστημα, που ονομάζεται ολοκληρωμένο υποσύστημα, δεν είναι περιβαλλοντικό υποσύστημα επειδή καλύπτει ολόκληρο το λειτουργικό σύστημα Windows NT.

Το σύστημα αρχείων NFS (Network File System) δημιουργήθηκε από τη Sun Microsystems. Αυτήν τη στιγμή είναι το τυπικό σύστημα αρχείων δικτύου για λειτουργικά συστήματα UNIX και οι πελάτες και οι διακομιστές NFS έχουν εφαρμοστεί για πολλά άλλα λειτουργικά συστήματα. Οι αρχές της οργάνωσής του έχουν πλέον τυποποιηθεί από την κοινότητα του Διαδικτύου η τελευταία έκδοση του NFS v.4 περιγράφεται από την προδιαγραφή RFC 300, που κυκλοφόρησε τον Δεκέμβριο του 2000.

Το NFS είναι ένα σύστημα που υποστηρίζει ένα σύστημα απομακρυσμένης πρόσβασης αρχείων. Η εργασία του χρήστη με απομακρυσμένα αρχεία μετά τη λειτουργία προσάρτησης γίνεται εντελώς διαφανής - το υποδέντρο του συστήματος αρχείων διακομιστή NFS γίνεται υποδέντρο του τοπικού συστήματος αρχείων.

Ένας από τους στόχους των προγραμματιστών του NFS ήταν να υποστηρίξουν ετερογενή συστήματα με πελάτες και διακομιστές που εκτελούν διαφορετικά λειτουργικά συστήματα σε διαφορετικές πλατφόρμες υλικού. Αυτός ο στόχος προωθείται από την εφαρμογή του μηχανισμού RFC της Sun από το NFS, ο οποίος υποστηρίζει εξ ορισμού εγκαταστάσεις XDR για ομοιόμορφη αναπαράσταση ορισμάτων απομακρυσμένης διαδικασίας.

Για να διασφαλιστεί η ανθεκτικότητα του πελάτη σε αστοχίες διακομιστή, το NFS υιοθετεί μια προσέγγιση χωρίς κατάσταση, δηλαδή οι διακομιστές δεν αποθηκεύουν δεδομένα σχετικά με αρχεία που ανοίγουν οι πελάτες όταν εργάζονται με αρχεία.

Η βασική ιδέα του NFS είναι να επιτρέπει σε μια αυθαίρετη ομάδα χρηστών να μοιράζονται ένα κοινό σύστημα αρχείων. Τις περισσότερες φορές, όλοι οι χρήστες ανήκουν στο ίδιο τοπικό δίκτυο, αλλά όχι απαραίτητα. Μπορείτε επίσης να εκτελέσετε το NFS σε ένα παγκόσμιο δίκτυο. Κάθε διακομιστής NFS κάνει έναν ή περισσότερους από τους καταλόγους του διαθέσιμους σε απομακρυσμένους πελάτες. Ο κατάλογος δηλώνεται ελεύθερος με όλους τους υποκαταλόγους του. Η λίστα των καταλόγων που μεταφέρει ο διακομιστής περιέχεται στο αρχείο /etc/exports, έτσι ώστε αυτοί οι κατάλογοι να εξάγονται αυτόματα αμέσως όταν εκκινείται ο διακομιστής. Οι πελάτες έχουν πρόσβαση σε εξαγόμενους καταλόγους προσαρτώντας τους. Πολλοί σταθμοί εργασίας Sun είναι χωρίς δίσκο, αλλά ακόμα και τότε μπορείτε να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων στον ριζικό κατάλογο, με ολόκληρο το σύστημα αρχείων να βρίσκεται στον διακομιστή. Η εκτέλεση των προγραμμάτων είναι σχεδόν ανεξάρτητη από το πού βρίσκεται το αρχείο: τοπικά ή σε απομακρυσμένο δίσκο. Εάν δύο ή περισσότεροι πελάτες έχουν προσαρτήσει τον ίδιο κατάλογο ταυτόχρονα, μπορούν να επικοινωνούν με κοινή χρήση ενός αρχείου.

Το σύστημα αρχείων NFS χρησιμοποιεί δύο πρωτόκολλα στη λειτουργία του.

Το πρώτο πρωτόκολλο NFS ελέγχει τη βάση. Ο πελάτης στέλνει στον διακομιστή το πλήρως αναγνωρισμένο όνομα καταλόγου και ζητά άδεια να προσαρτήσει τον κατάλογο κάπου στο δικό του δέντρο καταλόγου. Σε αυτήν την περίπτωση, ο διακομιστής δεν ενημερώνεται πού θα τοποθετηθεί ο κατάλογος διακομιστή. Αφού λάβει το όνομα, ο διακομιστής ελέγχει την εγκυρότητα αυτού του αιτήματος και επιστρέφει στον πελάτη έναν περιγραφέα αρχείου που είναι το απομακρυσμένο σημείο προσάρτησης. Ο περιγραφέας περιλαμβάνει έναν περιγραφέα τύπου συστήματος αρχείων, αριθμό δίσκου, αριθμό εισόδου του καταλόγου που είναι το απομακρυσμένο σημείο προσάρτησης και πληροφορίες ασφαλείας. Οι λειτουργίες ανάγνωσης και εγγραφής αρχείων από προσαρτημένα συστήματα αρχείων χρησιμοποιούν περιγραφείς αρχείων αντί για συμβολικό όνομα.


Η τοποθέτηση μπορεί να γίνει αυτόματα χρησιμοποιώντας αρχεία δέσμης κατά την εκκίνηση. Υπάρχει μια άλλη επιλογή για αυτόματη προσάρτηση: όταν το λειτουργικό σύστημα εκκινεί στο σταθμό εργασίας, το απομακρυσμένο σύστημα αρχείων δεν είναι προσαρτημένο, αλλά όταν το απομακρυσμένο αρχείο ανοίγει για πρώτη φορά, το λειτουργικό σύστημα στέλνει αιτήματα σε κάθε διακομιστή και, αφού εντοπίσει αυτό το αρχείο, προσαρτά τον κατάλογο του διακομιστή στον οποίο βρίσκεται το αρχείο που βρέθηκε.

Το δεύτερο πρωτόκολλο NFS χρησιμοποιείται για πρόσβαση σε απομακρυσμένα αρχεία και καταλόγους. Οι πελάτες μπορούν να στείλουν ένα αίτημα στον διακομιστή για να εκτελέσει κάποια ενέργεια σε έναν κατάλογο ή να διαβάσει ή να γράψει ένα αρχείο. Επιπλέον, μπορούν να ζητήσουν χαρακτηριστικά αρχείου όπως τύπος, μέγεθος, χρόνος δημιουργίας και χρόνος τροποποίησης. Το NFS υποστηρίζει τις περισσότερες κλήσεις συστήματος UNIX, με εξαίρεση το άνοιγμα και το κλείσιμο. Η εξαίρεση του ανοίγματος και του κλεισίματος δεν είναι τυχαία. Αντί να ανοίξει ένα απομακρυσμένο αρχείο, ο πελάτης στέλνει στον διακομιστή ένα μήνυμα που περιέχει το όνομα του αρχείου με ένα αίτημα αναζήτησης και επιστροφής του περιγραφέα αρχείου. Σε αντίθεση με την ανοιχτή κλήση, η κλήση αναζήτησης δεν αντιγράφει καμία πληροφορία στους εσωτερικούς πίνακες του συστήματος. Η κλήση ανάγνωσης περιέχει μια λαβή για το προς ανάγνωση αρχείο, μια μετατόπιση στο αρχείο που ήδη διαβάζεται και τον αριθμό των byte προς ανάγνωση. Το πλεονέκτημα αυτού του σχήματος είναι ότι ο διακομιστής δεν θυμάται τίποτα σχετικά με τα ανοιχτά αρχεία. Με αυτόν τον τρόπο, εάν ο διακομιστής αποτύχει και αποκατασταθεί αργότερα, οι πληροφορίες σχετικά με τα ανοιχτά αρχεία δεν θα χαθούν επειδή δεν διατηρούνται.

Εάν ο διακομιστής αποτύχει, ο πελάτης απλώς συνεχίζει να στέλνει εντολές για ανάγνωση ή εγγραφή αρχείων σε αυτόν, αλλά χωρίς να λάβει απάντηση και να έχει εξαντλήσει το χρονικό όριο, ο πελάτης επαναλαμβάνει τα αιτήματά του. Μετά την επανεκκίνηση, ο διακομιστής λαμβάνει το επόμενο επαναλαμβανόμενο αίτημα πελάτη και απαντά σε αυτό. Έτσι, ένα σφάλμα διακομιστή προκαλεί μόνο μια μικρή παύση στην υπηρεσία πελάτη, αλλά δεν απαιτούνται πρόσθετες ενέργειες από τους πελάτες για την επαναφορά των συνδέσεων και το άνοιγμα των αρχείων.

Δυστυχώς, το NFS δυσκολεύει το κλείδωμα των αρχείων. Σε πολλά λειτουργικά συστήματα, ένα αρχείο μπορεί να ανοίξει και να κλειδωθεί έτσι ώστε άλλες διεργασίες να μην έχουν πρόσβαση σε αυτό. Όταν το αρχείο κλείσει, η κλειδαριά απελευθερώνεται. Σε συστήματα χωρίς κατάσταση όπως το NFS, το κλείδωμα δεν μπορεί να συσχετιστεί με το άνοιγμα ενός αρχείου, καθώς ο διακομιστής δεν γνωρίζει ποιο αρχείο είναι ανοιχτό. Κατά συνέπεια, το NFS απαιτεί ειδικά πρόσθετα χειριστήρια κλειδώματος.

Το NFS χρησιμοποιεί προσωρινή αποθήκευση από την πλευρά του πελάτη, μεταφέρει δεδομένα στο μπλοκ της κρυφής μνήμης ανά μπλοκ και χρησιμοποιεί την προκαταρκτική ανάγνωση, στην οποία η ανάγνωση ενός μπλοκ στην κρυφή μνήμη κατόπιν αιτήματος της εφαρμογής συνοδεύεται πάντα από ανάγνωση του επόμενου μπλοκ στο πρωτοβουλία του συστήματος. Η μέθοδος προσωρινής αποθήκευσης NFS δεν διατηρεί τη σημασιολογία του UNIX για την κατάτμηση αρχείων. Αντίθετα, χρησιμοποιεί τη σημασιολογία που έχει επικριθεί πολύ, στην οποία οι αλλαγές σε δεδομένα σε ένα αρχείο που έχει αποθηκευτεί προσωρινά από έναν πελάτη είναι ορατές σε έναν άλλο πελάτη, ανάλογα με το χρονοδιάγραμμα. Όταν ο πελάτης ανοίγει στη συνέχεια ένα αρχείο στη μνήμη cache του, ελέγχει με τον διακομιστή πότε το αρχείο τροποποιήθηκε τελευταία φορά. Εάν αυτό συμβεί μετά την προσωρινή αποθήκευση του αρχείου, το αρχείο αφαιρείται από την προσωρινή μνήμη και λαμβάνεται ένα νέο αντίγραφο του αρχείου από τον διακομιστή. Οι πελάτες διαδίδουν τις τροποποιήσεις που γίνονται στην κρυφή μνήμη σε διαστήματα 30 δευτερολέπτων, έτσι ώστε ο διακομιστής να λαμβάνει ενημερώσεις με μεγάλη καθυστέρηση. Ως αποτέλεσμα των μηχανισμών για την αφαίρεση δεδομένων από την κρυφή μνήμη και τη διάδοση τροποποιήσεων, τα δεδομένα που λαμβάνονται από οποιονδήποτε πελάτη δεν είναι πάντα τα πιο πρόσφατα.

Η αναπαραγωγή NFS δεν υποστηρίζεται.

Υπηρεσία καταλόγου

Σκοπός και αρχές οργάνωσης

Όπως ένας μεγάλος οργανισμός, ένα μεγάλο δίκτυο υπολογιστών χρειάζεται κεντρική αποθήκευση όσο το δυνατόν πλήρους πληροφοριών για τον εαυτό του. Η λύση σε πολλά προβλήματα στο δίκτυο βασίζεται σε πληροφορίες σχετικά με τους χρήστες του δικτύου - τα ονόματά τους που χρησιμοποιούνται για λογική σύνδεση στο σύστημα, κωδικούς πρόσβασης, δικαιώματα πρόσβασης σε πόρους δικτύου, καθώς και πόρους και στοιχεία δικτύου: διακομιστές, υπολογιστές-πελάτες, δρομολογητές, πύλες, τόμοι συστήματος αρχείων, εκτυπωτές κ.λπ.

Ακολουθούν παραδείγματα των πιο σημαντικών εργασιών που απαιτούν μια κεντρική βάση δεδομένων με πληροφορίες αναφοράς στο δίκτυο:

  • Μία από τις εργασίες που εκτελούνται πιο συχνά στο σύστημα, με βάση τις πληροφορίες αναφοράς για τους χρήστες, είναι ο έλεγχος ταυτότητας τους, βάσει του οποίου στη συνέχεια επιτρέπεται η πρόσβαση. Το δίκτυο πρέπει με κάποιο τρόπο να αποθηκεύει κεντρικά λογαριασμούς χρηστών που περιέχουν ονόματα χρήστη και κωδικούς πρόσβασης.
  • Η παρουσία κάποιας κεντρικής βάσης δεδομένων απαιτεί υποστήριξη για διαφανή πρόσβαση σε πολλούς πόρους δικτύου. Μια τέτοια βάση δεδομένων θα πρέπει να αποθηκεύει τα ονόματα αυτών των πόρων και να αντιστοιχίζει τα ονόματα σε αριθμητικά αναγνωριστικά (για παράδειγμα, διευθύνσεις IP), επιτρέποντας την εύρεση αυτού του πόρου στο δίκτυο. Η διαφάνεια μπορεί να παρέχεται κατά την πρόσβαση σε διακομιστές, τόμους συστημάτων αρχείων, διεπαφές διαδικασίας RPC, κατανεμημένα αντικείμενα προγράμματος εφαρμογής και πολλούς άλλους πόρους δικτύου.
  • Το email είναι ένα άλλο δημοφιλές παράδειγμα υπηρεσίας όπου είναι επιθυμητή μια υπηρεσία καταλόγου σε όλο το δίκτυο που αποθηκεύει δεδομένα ονόματος email χρήστη.
  • Πρόσφατα, τα δίκτυα άρχισαν όλο και περισσότερο να χρησιμοποιούν εργαλεία διαχείρισης της ποιότητας της υπηρεσίας κυκλοφορίας (QoS), τα οποία απαιτούν επίσης πληροφορίες για όλους τους χρήστες και τις εφαρμογές του συστήματος, τις απαιτήσεις τους για τις παραμέτρους ποιότητας της υπηρεσίας κυκλοφορίας, καθώς και για όλες τις συσκευές δικτύου, με που μπορείτε να ελέγξετε την κυκλοφορία (δρομολογητές, διακόπτες, πύλες κ.λπ.).
  • Η οργάνωση των κατανεμημένων εφαρμογών μπορεί να απλοποιηθεί σημαντικά εάν το δίκτυο διαθέτει μια βάση δεδομένων που αποθηκεύει πληροφορίες σχετικά με υπάρχουσες μονάδες λογισμικού-αντικείμενα και τη θέση τους σε διακομιστές δικτύου. Μια εφαρμογή που πρέπει να εκτελέσει κάποια τυπική ενέργεια υποβάλλει αίτημα σε μια τέτοια βάση δεδομένων και λαμβάνει τη διεύθυνση ενός αντικειμένου λογισμικού που έχει τη δυνατότητα να εκτελέσει την απαιτούμενη ενέργεια.
  • Το σύστημα διαχείρισης δικτύου πρέπει να έχει μια βάση για την αποθήκευση πληροφοριών σχετικά με την τοπολογία του δικτύου και τα χαρακτηριστικά όλων των στοιχείων του δικτύου, όπως δρομολογητές, μεταγωγείς, διακομιστές και υπολογιστές-πελάτες. Έχοντας πλήρεις πληροφορίες σχετικά με τη σύνθεση του δικτύου και τις συνδέσεις του επιτρέπει στο αυτοματοποιημένο σύστημα διαχείρισης δικτύου να αναγνωρίζει σωστά τα μηνύματα σχετικά με συμβάντα έκτακτης ανάγκης και να βρίσκει τη βασική τους αιτία. Οι πληροφορίες σχετικά με τον υπάρχοντα εξοπλισμό δικτύου και το εγκατεστημένο λογισμικό, που οργανώνονται από τμήματα της επιχείρησης, είναι από μόνες τους χρήσιμες, καθώς βοηθούν τους διαχειριστές να δημιουργήσουν μια αξιόπιστη εικόνα της κατάστασης του δικτύου και να αναπτύξουν σχέδια για την ανάπτυξή του.

Τέτοια παραδείγματα μπορούν να συνεχιστούν, αλλά δεν είναι δύσκολο να δοθεί ένα αντεπιχείρημα που θέτει αμφιβολίες για την ανάγκη χρήσης μιας κεντρικής βάσης δεδομένων αναφοράς πληροφοριών στο δίκτυο - για μεγάλο χρονικό διάστημα τα δίκτυα λειτουργούσαν χωρίς ενιαία βάση δεδομένων αναφοράς και πολλά δίκτυα εξακολουθούν να λειτουργούν χωρίς το. Πράγματι, υπάρχουν πολλές ιδιωτικές λύσεις που σας επιτρέπουν να οργανώσετε αρκετά αποτελεσματικά την εργασία ενός δικτύου που βασίζεται σε ιδιωτικές βάσεις δεδομένων πληροφοριών αναφοράς, οι οποίες μπορούν να αναπαρασταθούν από συνηθισμένα αρχεία κειμένου ή πίνακες που είναι αποθηκευμένοι στο σώμα της εφαρμογής. Για παράδειγμα, το λειτουργικό σύστημα UNIX χρησιμοποιεί παραδοσιακά ένα αρχείο passwd για την αποθήκευση δεδομένων σχετικά με ονόματα χρηστών και κωδικούς πρόσβασης, το οποίο καλύπτει χρήστες μόνο ενός υπολογιστή. Τα ονόματα παραληπτών e-mail μπορούν επίσης να αποθηκευτούν σε ένα τοπικό αρχείο στον υπολογιστή-πελάτη. Και τέτοια συστήματα ιδιωτικής βοήθειας λειτουργούν καλά - η πρακτική το επιβεβαιώνει.

Ωστόσο, αυτή η αντίρρηση ισχύει μόνο για δίκτυα μικρού και μεσαίου μεγέθους, σε μεγάλα δίκτυα, μεμονωμένες βάσεις δεδομένων τοπικών πληροφοριών χάνουν την αποτελεσματικότητά τους. Ένα καλό παράδειγμα της αδυναμίας τοπικών λύσεων για μεγάλα δίκτυα είναι η υπηρεσία ονόματος DNS που εκτελείται στο Διαδίκτυο. Μόλις το μέγεθος του Διαδικτύου ξεπέρασε ένα ορισμένο όριο, η αποθήκευση πληροφοριών σχετικά με την αντιστοιχία των ονομάτων και των διευθύνσεων IP των υπολογιστών δικτύου σε τοπικά αρχεία κειμένου έγινε αναποτελεσματική. Ήταν απαραίτητο να δημιουργηθεί μια κατανεμημένη βάση δεδομένων που να υποστηρίζεται από ιεραρχικά συνδεδεμένους διακομιστές ονομάτων και μια κεντρική υπηρεσία πάνω από αυτήν τη βάση δεδομένων, για να λειτουργούν γρήγορα και αποτελεσματικά οι διαδικασίες επίλυσης συμβολικών ονομάτων στο Διαδίκτυο.

Για ένα μεγάλο δίκτυο, είναι επίσης αναποτελεσματική η χρήση μεγάλου αριθμού υπηρεσιών βοήθειας στενού σκοπού: μία για έλεγχο ταυτότητας, άλλη για διαχείριση δικτύου, άλλες για επίλυση ονομάτων υπολογιστών κ.λπ. Ακόμα κι αν κάθε μία από αυτές τις υπηρεσίες είναι καλά οργανωμένη και συνδυάζει κεντρική διεπαφή με κατανεμημένα δεδομένα βάσης δεδομένων, ένας μεγάλος αριθμός υπηρεσιών αναφοράς οδηγεί σε διπλασιασμό μεγάλων ποσοτήτων πληροφοριών και περιπλέκει τη διαχείριση και τη διαχείριση του δικτύου. Για παράδειγμα, τα Windows NT διαθέτουν τουλάχιστον πέντε διαφορετικούς τύπους βάσεων δεδομένων βοήθειας. Ο κύριος κατάλογος τομέα (NT Domain Directory Service) αποθηκεύει πληροφορίες σχετικά με τους χρήστες που απαιτούνται κατά την οργάνωση της λογικής σύνδεσής τους στο δίκτυο. Τα δεδομένα για τους ίδιους χρήστες ενδέχεται επίσης να περιέχονται σε άλλο κατάλογο που χρησιμοποιείται από το Microsoft Mail. Τρεις ακόμη βάσεις δεδομένων υποστηρίζουν την ανάλυση διευθύνσεων: Η WINS αντιστοιχίζει ονόματα Netbios σε διευθύνσεις IP, η αναζήτηση DNS (Διακομιστής ονομάτων τομέα) είναι χρήσιμη κατά τη σύνδεση ενός δικτύου NT στο Διαδίκτυο και τέλος, η αναζήτηση DHCP χρησιμοποιείται για την αυτόματη εκχώρηση διευθύνσεων IP σε υπολογιστές το δίκτυο. Προφανώς, μια τέτοια ποικιλία υπηρεσιών βοήθειας περιπλέκει τη ζωή του διαχειριστή και οδηγεί σε πρόσθετα σφάλματα όταν τα διαπιστευτήρια του ίδιου χρήστη πρέπει να εισαχθούν σε πολλές βάσεις δεδομένων. Επομένως, στη νέα έκδοση των Windows 2000, οι περισσότερες πληροφορίες βοήθειας συστήματος μπορούν να αποθηκευτούν από την Active Directory - μια ενιαία κεντρική υπηρεσία βοήθειας που χρησιμοποιεί μια κατανεμημένη βάση δεδομένων και είναι ενσωματωμένη στην υπηρεσία ονόματος DNS.

Η ανάπτυξη συστημάτων αποθήκευσης πληροφοριών αναφοράς είχε ως αποτέλεσμα την εμφάνιση μιας ειδικής υπηρεσίας στα λειτουργικά συστήματα δικτύου - των λεγόμενων Υπηρεσιών Καταλόγου, που ονομάζεται επίσης υπηρεσία καταλόγου. Η υπηρεσία καταλόγου αποθηκεύει πληροφορίες για όλους τους χρήστες και τους πόρους δικτύου με τη μορφή ενοποιημένων αντικειμένων με συγκεκριμένα χαρακτηριστικά και σας επιτρέπει επίσης να αντικατοπτρίζετε τις σχέσεις μεταξύ αποθηκευμένων αντικειμένων, όπως χρήστες που ανήκουν σε μια συγκεκριμένη ομάδα, δικαιώματα πρόσβασης χρήστη σε υπολογιστές, παρουσία πολλών κόμβων στο ίδιο υποδίκτυο, συνδέσεις επικοινωνίας μεταξύ υποδικτύων, σύνδεση παραγωγής διακομιστών, κ.λπ. Η υπηρεσία καταλόγου σάς επιτρέπει να εκτελέσετε ένα σύνολο βασικών λειτουργιών σε αποθηκευμένα αντικείμενα, όπως η προσθήκη και η διαγραφή ενός αντικειμένου, συμπεριλαμβανομένου ενός αντικειμένου σε άλλο αντικείμενο, αλλαγή των τιμών ενός χαρακτηριστικού αντικειμένου, ανάγνωση ιδιοτήτων και ορισμένα άλλα. Συνήθως, διάφορες συγκεκριμένες εφαρμογές δικτύου είναι χτισμένες πάνω από μια υπηρεσία καταλόγου, οι οποίες χρησιμοποιούν τις πληροφορίες της υπηρεσίας για την επίλυση συγκεκριμένων προβλημάτων: διαχείριση δικτύου, έλεγχος ταυτότητας χρήστη, παροχή διαφάνειας υπηρεσίας και άλλα που αναφέρονται παραπάνω. Μια υπηρεσία καταλόγου συνήθως βασίζεται σε ένα μοντέλο πελάτη-διακομιστή: οι διακομιστές αποθηκεύουν μια βάση δεδομένων με πληροφορίες καταλόγου που χρησιμοποιούν οι πελάτες στέλνοντας κατάλληλα αιτήματα σε διακομιστές μέσω του δικτύου. Για τον πελάτη υπηρεσίας καταλόγου, εμφανίζεται ως ένα ενιαίο κεντρικό σύστημα, αν και οι περισσότερες καλές υπηρεσίες καταλόγου έχουν μια κατανεμημένη δομή που περιλαμβάνει μεγάλο αριθμό διακομιστών, αλλά αυτή η δομή είναι διαφανής στον πελάτη.

Ένα σημαντικό ζήτημα είναι η οργάνωση της βάσης δεδομένων αναφοράς. Μια ενιαία βάση δεδομένων που αποθηκεύει μεγάλους όγκους πληροφοριών αναφοράς δημιουργεί τα ίδια πολλά προβλήματα με κάθε άλλη μεγάλη βάση δεδομένων. Η εφαρμογή ενός γραφείου βοήθειας ως τοπικής βάσης δεδομένων που είναι αποθηκευμένη ως μεμονωμένο αντίγραφο σε έναν από τους διακομιστές δικτύου δεν είναι κατάλληλη για ένα μεγάλο σύστημα για διάφορους λόγους, κυρίως λόγω της χαμηλής απόδοσης και της χαμηλής αξιοπιστίας μιας τέτοιας λύσης. Η απόδοση θα είναι χαμηλή λόγω του γεγονότος ότι τα αιτήματα στη βάση δεδομένων από όλους τους χρήστες και τις εφαρμογές στο δίκτυο θα φτάνουν σε έναν μόνο διακομιστή, ο οποίος, με μεγάλο αριθμό αιτημάτων, σίγουρα δεν θα μπορεί πλέον να τα επεξεργαστεί. Δηλαδή, μια τέτοια λύση δεν έχει καλή κλίμακα ως προς τον αριθμό των χρηστών που εξυπηρετούνται και τους κοινόχρηστους πόρους. Η αξιοπιστία δεν μπορεί επίσης να είναι υψηλή σε ένα σύστημα με ένα μόνο αντίγραφο δεδομένων. Εκτός από την άρση των περιορισμών στην απόδοση και την αξιοπιστία, είναι επιθυμητό η δομή της βάσης δεδομένων να επιτρέπει τη λογική ομαδοποίηση των πόρων και των χρηστών ανά δομικά τμήματα της επιχείρησης και την ανάθεση του δικού της διαχειριστή σε κάθε τέτοια ομάδα.

Τα προβλήματα διατήρησης της απόδοσης και της αξιοπιστίας καθώς κλιμακώνεται το δίκτυο συνήθως επιλύονται από κατανεμημένες βάσεις δεδομένων πληροφοριών αναφοράς. Η κοινή χρήση δεδομένων σε πολλούς διακομιστές μειώνει το φόρτο σε κάθε διακομιστή, ενώ η αξιοπιστία επιτυγχάνεται με την ύπαρξη πολλαπλών αντιγράφων για κάθε τμήμα της βάσης δεδομένων. Για κάθε τμήμα της βάσης δεδομένων, μπορείτε να εκχωρήσετε τον δικό σας διαχειριστή, ο οποίος έχει δικαιώματα πρόσβασης μόνο σε αντικείμενα του τμήματος πληροφοριών του για ολόκληρο το σύστημα. Για τον χρήστη (και για εφαρμογές δικτύου), μια τέτοια κατανεμημένη βάση δεδομένων φαίνεται να είναι μια ενιαία βάση δεδομένων που παρέχει πρόσβαση σε όλους τους πόρους του δικτύου, ανεξάρτητα από τον σταθμό εργασίας από τον οποίο προήλθε το αίτημα.

Υπάρχουν δύο δημοφιλή πρότυπα για τις υπηρεσίες καταλόγου. Πρώτον, αυτό είναι το πρότυπο X.500, που αναπτύχθηκε από την ITU-T (την εποχή που αναπτύχθηκε το πρότυπο, αυτός ο οργανισμός ονομαζόταν CCITT). Αυτό το πρότυπο ορίζει τις λειτουργίες, την οργάνωση του γραφείου βοήθειας και το πρωτόκολλο πρόσβασης σε αυτό. Σχεδιασμένο κυρίως για χρήση με την υπηρεσία αλληλογραφίας X.400, το πρότυπο X.500 επιτρέπει την αποτελεσματική αποθήκευση οποιωνδήποτε πληροφοριών καταλόγου και χρησιμεύει ως καλή βάση για μια καθολική υπηρεσία καταλόγου δικτύου.

Ένα άλλο πρότυπο είναι το πρότυπο LDAP (Light-weight Directory Access Protocol) που αναπτύχθηκε από την κοινότητα του Διαδικτύου. Αυτό το πρότυπο ορίζει ένα απλουστευμένο πρωτόκολλο για την πρόσβαση σε υπηρεσίες καταλόγου, καθώς οι υπηρεσίες που βασίζονται στο πρότυπο X.500 έχουν αποδειχθεί υπερβολικά δυσκίνητες. Το LDAP έχει γίνει ευρέως διαδεδομένο και έχει γίνει το de facto πρότυπο για την πρόσβαση πελατών στους πόρους του γραφείου υποστήριξης.

Υπάρχουν επίσης αρκετές πρακτικές εφαρμογές υπηρεσιών καταλόγου για λειτουργικά συστήματα δικτύου. Η πιο ευρέως χρησιμοποιούμενη υπηρεσία είναι η υπηρεσία NDS της Novell, η οποία αναπτύχθηκε το 1993 για το λειτουργικό σύστημα δικτύου NetWare 4.0 και σήμερα εφαρμόζεται επίσης για τα Windows NT/2000. Μεγάλο ενδιαφέρον παρουσιάζει η υπηρεσία καταλόγου Active Directory που αναπτύχθηκε από τη Microsoft για Windows 2000. Και οι δύο αυτές υπηρεσίες υποστηρίζουν το πρωτόκολλο πρόσβασης LDAP και μπορούν να λειτουργήσουν σε πολύ μεγάλα δίκτυα λόγω της διανομής τους.

Υπηρεσία καταλόγου NDS

Το NDS (NetWare Directory Services) είναι μια παγκόσμια υπηρεσία καταλόγου που βασίζεται σε μια κατανεμημένη, αντικειμενοστραφή βάση δεδομένων πόρων δικτύου. Η βάση δεδομένων NDS περιέχει πληροφορίες για όλους τους πόρους του δικτύου, συμπεριλαμβανομένων πληροφοριών σχετικά με χρήστες, ομάδες χρηστών, εκτυπωτές, τόμους και υπολογιστές. Το NetWare OS (καθώς και άλλοι πελάτες NDS που εκτελούνται σε άλλες πλατφόρμες) χρησιμοποιεί πληροφορίες NDS για να παρέχει πρόσβαση σε αυτούς τους πόρους.

Η βάση δεδομένων NDS αντικατέστησε τον κατάλογο bindery των προηγούμενων εκδόσεων του NetWare. Ο κατάλογος bindery είναι μια "επίπεδη" ή μίας βάσης βάσης δεδομένων που έχει σχεδιαστεί για να υποστηρίζει έναν μόνο διακομιστή. Χρησιμοποιούσε επίσης την έννοια του «αντικειμένου» για έναν πόρο δικτύου, αλλά η ερμηνεία αυτού του όρου διέφερε από τη γενικά αποδεκτή. Τα αντικείμενα βιβλιοδεσίας προσδιορίζονταν με απλές αριθμητικές τιμές και είχαν συγκεκριμένα χαρακτηριστικά. Ωστόσο, δεν ορίστηκαν σαφείς σχέσεις κληρονομικότητας κλάσης αντικειμένων για αυτά τα αντικείμενα, επομένως οι σχέσεις μεταξύ αντικειμένων δέσμευσης ορίστηκαν αυθαίρετα από τον διαχειριστή, γεγονός που συχνά οδηγούσε σε καταστροφή δεδομένων.

Η βάση δεδομένων υπηρεσιών NDS είναι μια βάση δεδομένων πολλαπλών επιπέδων που διατηρεί πληροφορίες πόρων για όλους τους διακομιστές του δικτύου. Για συμβατότητα με προηγούμενες εκδόσεις του NetWare, το NDS παρέχει έναν μηχανισμό εξομοίωσης βάσης δεδομένων βιβλιοδεσίας.

Το NDS είναι μια σημαντική βελτίωση σε σχέση με προηγούμενες εκδόσεις με:

  • διανομή;
  • δυνατότητα αναπαραγωγής·
  • διαφάνεια;
  • παγκοσμιότητα.

Διανομή σημαίνει ότι οι πληροφορίες δεν αποθηκεύονται σε έναν διακομιστή, αλλά χωρίζονται σε μέρη που ονομάζονται κατατμήσεις. Το NetWare αποθηκεύει αυτά τα διαμερίσματα σε πολλούς διακομιστές του δικτύου (Εικόνα 10.8). Αυτή η ιδιότητα απλοποιεί σημαντικά τη διαχείριση και τη διαχείριση ενός μεγάλου δικτύου, καθώς εμφανίζεται στον διαχειριστή ως ένα ενιαίο σύστημα. Επιπλέον, παρέχεται ταχύτερη πρόσβαση στη βάση δεδομένων πόρων δικτύου με την πρόσβαση στον πλησιέστερο διακομιστή.

Ρύζι. 10.8.Κατατμήσεις βάσης δεδομένων NDS

Ένα αντίγραφο είναι ένα αντίγραφο των πληροφοριών διαμερίσματος NDS. Μπορείτε να δημιουργήσετε έναν απεριόριστο αριθμό αντιγράφων κάθε κατάτμησης και να τα αποθηκεύσετε σε διαφορετικούς διακομιστές. Εάν ένας διακομιστής σταματήσει, αντίγραφα αυτών των πληροφοριών μπορούν να ληφθούν από άλλο διακομιστή. Αυτό αυξάνει την ανθεκτικότητα του συστήματος επειδή κανένας διακομιστής δεν είναι υπεύθυνος για όλες τις πληροφορίες της βάσης δεδομένων NDS.

Η διαφάνεια έγκειται στο γεγονός ότι το NDS δημιουργεί αυτόματα συνδέσεις μεταξύ στοιχείων λογισμικού και υλικού που παρέχουν πρόσβαση στους χρήστες σε πόρους δικτύου. Το NDS δεν απαιτεί από τον χρήστη να γνωρίζει τη φυσική θέση αυτών των πόρων. Καθορίζοντας έναν πόρο δικτύου με το όνομα, θα έχετε σωστή πρόσβαση σε αυτόν ακόμη και αν αλλάξει η διεύθυνση δικτύου ή η τοποθεσία του.

Ο παγκόσμιος χαρακτήρας του NDS έγκειται στο γεγονός ότι μετά τη σύνδεση, αποκτάτε πρόσβαση στους πόρους ολόκληρου του δικτύου και όχι μόνο σε έναν διακομιστή, όπως συνέβαινε στις προηγούμενες εκδόσεις. Αυτό επιτυγχάνεται μέσω της διαδικασίας καθολικής σύνδεσης. Αντί να συνδεθεί σε ξεχωριστό διακομιστή, ο χρήστης NDS συνδέεται στο δίκτυο και στη συνέχεια έχει πρόσβαση στους πόρους δικτύου που είναι εξουσιοδοτημένοι για αυτόν. Οι πληροφορίες που παρέχονται κατά τη σύνδεση χρησιμοποιούνται για την αναγνώριση του χρήστη. Αργότερα, όταν ένας χρήστης επιχειρεί να αποκτήσει πρόσβαση σε πόρους όπως διακομιστές, τόμους ή εκτυπωτές, μια διαδικασία ελέγχου ταυτότητας στο παρασκήνιο ελέγχει εάν ο χρήστης έχει άδεια πρόσβασης στον πόρο.



Συνιστούμε να διαβάσετε

Κορυφή