Η Επικοινωνία στα Κατανεµηµένα Συστήµατα



Σχετικά έγγραφα
Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Ανοχή απέναντι σε Σφάλµατα Fault Tolerance

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Σκοπιµότητα των firewalls

Δίκτυα Υπολογιστών I

ιαδίκτυα & Ενδοδίκτυα Η/Υ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

Αποµακρυσµένη κλήση διαδικασιών

Επίπεδο δικτύου IP Forwading κτλ

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Κάντε κλικ για έναρξη

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Ethernet Ethernet ΙΕΕΕ CSMA/CD

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

1.8 Το μοντέλο OSI 1 / 33

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Σχεδιασµός βασισµένος σε συνιστώσες

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

7.9 ροµολόγηση. Ερωτήσεις

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Network Address Translation (NAT)

Εισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Φύλλο Κατανόησης 1.8

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Ασφάλεια Υπολογιστικών Συστηµάτων

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

7.2 Τεχνολογία TCP/IP

Επαναληπτικές Ασκήσεις Μαθήματος

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

ΛΟΓΙΣΜΙΚΟ (software)

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Πρωτόκολλα Διαδικτύου

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Δροµολόγηση (Routing)

Σύστηµα µετάδοσης µετεωρολογικών δεδοµένων σε πραγµατικό χρόνο µέσω του Internet

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Ε-85: Ειδικά Θέµατα Λογισµικού

Επικοινωνία Client/Server

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

Κατανεµηµένασυστήµατα αρχείων

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Transcript:

Η Επικοινωνία στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2002-2003, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Μεταβίβαση Μηνυµάτων (Message Passing) Η επικοινωνία στα κατανεµηµένα συστήµατα βασίζεται στη µεταβίβαση µηνυµάτων Όταν µια διεργασία Α θέλει να επικοινωνήσει µε µια διεργασία Β σε έναν άλλο κόµβο του κατανεµηµένου συστήµατος, δηµιουργεί το µήνυµα και χρησιµοποιεί µια κλήση συστήµατος που έχει ως αποτέλεσµα να πάρει το ΛΣ το µήνυµα και να το στείλει µέσα από το δίκτυο στη διεργασία Β Οι Α και Β πρέπει να συµφωνήσουν στο νόηµα των bits που στέλνονται! Σελίδα 2

Μεταβίβαση Μηνυµάτων (συνέχεια) Θα πρέπει να γίνουν συµφωνίες που αφορούν από την τάση στο καλώδιο που αναπαριστά το 0 και το 1, µέχρι την απώλεια µηνυµάτων και τη διόρθωση λαθών Απαιτούνται συµβάσεις σε διάφορα επίπεδα που κυµαίνονται από λεπτοµέρειες της µετάδοσης στο φυσικό µέσο µέχρι την παρουσίαση της πληροφορίας = πρωτόκολλα Στο µοντέλο OSI η επικοινωνία χωρίζεται σε επίπεδα Κάθε επίπεδο παρέχει ένα περιβάλλον επικοινωνίας και µια διασύνδεση (interface) µε το υψηλότερο επίπεδο Σελίδα 3

Μεταβίβαση Μηνυµάτων (συνέχεια) «Το µοντέλο ISO έχει σχεδιαστεί έτσι ώστε να επιτρέπει σε ανοικτά συστήµατα (open systems) να επικοινωνούν. Ανοικτό σύστηµα είναι εκείνο που έχει προβλεφθεί να επικοινωνεί µε οποιοδήποτε άλλο ανοικτό σύστηµα, χρησιµοποιώντας τυποποιηµένους κανόνες, οι οποίοι καθορίζουν τη µορφή, το περιεχόµενο και το νόηµα των µηνυµάτων που στέλνονται και λαµβάνονται» (Tanenbaum, 1994) Σελίδα 4

Επικοινωνία Ο σχεδιασµός ενός δικτύου επικοινωνιών πρέπει να απαντήσει τέσσερα βασικά ζητήµατα: Ονοµατολογία και ανάλυση ονοµάτων: Πως δύο διεργασίες εντοπίζουν η µια την άλλη προκειµένου να επικοινωνήσουν; Στρατηγικές δροµολόγησης (routing strategies). Πως στέλνονται τα µηνύµατα µέσα από το δίκτυο; Στρατηγικές Σύνδεσης (Connection strategies). Πως δυο διεργασίες στέλνουν µια ακολουθία µηνυµάτων; Ανταγωνισµός (Contention). Το δίκτυο είναι ένας κοινόχρηστος πόρος, οπότε πως επιλύουµε τις συγκρουόµενες αιτήσεις για τη χρήση του; Σελίδα 5

Ονοµατολογία και Ανάλυση Ονοµάτων Ονοµατίζουµε τα συστήµατα σε ένα δίκτυο Tα µηνύµατα απευθύνονται στον προσδιοριστή (identifier) της διεργασίας Αναγνώριση της διεργασίας σε ένα αποµακρυσµένο σύστηµα µε το ζεύγος <host-name, identifier> Domain name service (DNS) προσδιορίζει τη δοµή ονοµατολογίας των κόµβων, καθώς επίσης και την ανάλυση ονοµάτων σε διευθύνσεις (Internet) Σελίδα 6

Στρατηγικές ροµολόγησης Στατική ροµολόγηση (Fixed routing). Ένα µονοπάτι από τον A στον B καθορίζεται εκ των προτέρων. Το µονοπάτι αλλάζει µόνο αν το απενεργοποιήσει κάποια βλάβη υλικού Εφόσον συνήθως επιλέγουµε το µικρότερο µονοπάτι (shortest path), το κόστος της επικοινωνίας ελαχιστοποιείται εν είναι προσαρµοστική στις αλλαγές φόρτου ιασφαλίζει ότι τα µηνύµατα θα παραδοθούν µε τη σειρά µε την οποία εστάλησαν Σελίδα 7

Στρατηγικές ροµολόγησης (συνέχεια) Ιδεατό κύκλωµα (Virtual circuit). Ένα µονοπάτι από τον A στον B είναι σταθερό κατά τη διάρκεια µιας περιόδου επικοινωνίας (session). Επόµενες περίοδοι επικοινωνίας που αφορούν µηνύµατα από τον A στον B µπορεί να χρησιµοποιήσουν διαφορετικά µονοπάτια ιορθώνει µερικώς το ζήτηµα της προσαρµογής στις αλλαγές φόρτου ιασφαλίζει ότι τα µηνύµατα θα παραδοθούν µε τη σειρά µε την οποία εστάλησαν Σελίδα 8

Στρατηγικές ροµολόγησης (συνέχεια) υναµική ροµολόγηση (Dynamic routing). Το µονοπάτι που χρησιµοποιείται για την αποστολή ενός µηνύµατος από τον κόµβο Α στον κόµβο Β επιλέγεται µόνο όταν σταλεί ένα µήνυµα Συνήθως ένας τόπος στέλνει µήνυµα σε έναν άλλο τόπο µε το σύνδεσµο που χρησιµοποιείται λιγότερο εκείνη τη χρονική στιγµή Προσαρµόζεται στις αλλαγές φόρτου µε το να αποφεύγει να δροµολογεί µηνύµατα σε µονοπάτια µε µεγάλο φόρτο Τα µηνύµατα µπορεί να φτάσουν εκτός σειράς. Το πρόβληµα µπορεί να διορθωθεί µε την προσθήκη ενός αριθµού σειράς (sequence number) σε κάθε µήνυµα Σελίδα 9

Στρατηγικές Σύνδεσης Μεταγωγή κυκλώµατος (Circuit switching). Ένας µόνιµος φυσικός σύνδεσµος δηµιουργείται για όσο διαρκέσει η επικοινωνία Μεταγωγή µηνύµατος (Message switching). Ένας προσωρινός σύνδεσµος δηµιουργείται για όσο χρειάζεται για τη µεταφορά ενός µηνύµατος Σελίδα 10

Στρατηγικές Σύνδεσης (συνέχεια) Μεταγωγή πακέτου (Packet switching). Μηνύµατα µεταβλητού µήκους χωρίζονται σε πακέτα σταθερού µεγέθους που αποστέλλονται στον προορισµός τους. Κάθε πακέτο µπορεί να ακολουθήσει διαφορετικό µονοπάτι µέσα στο δίκτυο. Τα πακέτα πρέπει να επανασυγκοληθούν σε µηνύµατα στον προορισµό τους Η µεταγωγή κυκλώµατος απαιτεί χρόνο αρχικοποίησης, αλλά λιγότερο φόρτο για τη µεταφορά του κάθε µηνύµατος, ενώ ενδέχεται να σπαταλήσει πόρους του δικτύου. Η µεταγωγή µηνύµατος και πακέτου απαιτούν λιγότερο χρόνο αρχικοποίησης, αλλά δηµιουργούν µεγαλύτερο φόρτο ανά µήνυµα Σελίδα 11

Πρωτόκολλα Επικοινωνιών Μια διαδικασία επικοινωνίας χωρίζεται στις ακόλουθες λειτουργίες/επίπεδα: Φυσικό Επίπεδο (Physical layer) χειρίζεται τις µηχανικές και ηλεκτρικές λεπτοµέρειες της φυσικής µετάδοσης µιας ροής bit (bit stream) Επίπεδο Σύνδεσης (ή Ζεύξης) εδοµένων (Data-link layer) χειρίζεται τα πλαίσια (frames), µαζί µε µηχανισµούς ανίχνευσης λαθών και διόρθωσης που συµβαίνουν στο φυσικό επίπεδο Επίπεδο ικτύου (Network layer) παρέχει συνδέσεις και δροµολογεί τα πακέτα σε ένα δίκτυο επικοινωνιών, που περιλαµβάνει το χειρισµό των διευθύνσεων εξερχόµενων πακέτων, αποκωδικοποίηση της διεύθυνσης εισερχόµενων πακέτων, και διατηρεί πληροφορίες δροµολόγησης για προσαρµογή σε αλλαγές φόρτου Σελίδα 12

Πρωτόκολλα Επικοινωνιών (συνέχεια) Επίπεδο Μεταφοράς (Transport layer) υπεύθυνο για την πρόσβαση στο δίκτυο και τη µεταφορά δεδοµένων µεταξύ χρηστών, που περιλαµβάνει χωρισµό σε πακέτα, τήρηση σειράς, διόρθωσης λαθών, έλεγχο ροής και αναγνώριση προορισµών Επίπεδο Συνόδου (Session layer) υλοποιεί συνόδους και πρωτόκολλα επικοινωνιών από διεργασία σε διεργασία Επίπεδο Παρουσίασης (Presentation layer) επιλύει τις διαφορές σε αναπαραστάσεις µεταξύ των διαφορετικών τόπων σε ένα δίκτυο Επίπεδο Εφαρµογής (Application layer) αλληλεπιδρά απευθείας µε τους χρήστες (µεταφορά αρχείων, remote-login και ηλεκτρονικό ταχυδροµείο) Σελίδα 13

Επικοινωνία στο Μοντέλο Αναφοράς ISO Σελίδα 14

Ένα πλαίσιο δεδοµένων κατά ISO Σελίδα 15

Τα επίπεδα στην οικογένεια πρωτοκόλλων TCP/IP Σελίδα 16

Παραδείγµατα Κατανεµηµένων Συστηµάτων Το Internet Tα Intranets Κινητός και «Πανταχού Παρών» Υπολογισµός (Mobile και Ubiquitous Computing) Σελίδα 17

To Internet To Internet είναι ένα µεγάλο κατανεµηµένο σύστηµα. Επιτρέπει στους χρήστες, οπουδήποτε και αν βρίσκονται, να χρησιµοποιούν υπηρεσίες όπως το Web, το e-mail και η µεταφορά αρχείων Το σύνολο των υπηρεσιών αυτών είναι ανοικτό (openended) H υλοποίηση του Internet και οι υπηρεσίες που υποστηρίζει συνεπάγονται την υλοποίηση πρακτικών λύσεων σε πολλά ζητήµατα κατανεµηµένων συστηµάτων (DNS, client-server computing) Σελίδα 18

Intranets Πρόκειται για ένα «κοµµάτι» του Internet που διοικείται από κάποιο συγκεκριµένο φορέα, ο οποίος επιβάλλει τοπικές πολιτικές ασφάλειας Το Intranet χρησιµοποιεί την οικογένεια πρωτοκόλλων TCP/IP και τις υπηρεσίες αυτής (web, mail) πιθανά σε συνδυασµό µε κάποιο Λειτουργικό Σύστηµα ικτύου Επιτρέπει την ελεγχόµενη πρόσβαση στους πόρους του Συνίσταται κυρίως στα ακόλουθα δοµικά στοιχεία: υπηρεσίες αρχείων για το διαµοιρασµό δεδοµένων, firewalls, κόστος λογισµικού και υποστήριξης Σελίδα 19

Κινητός και «Πανταχού Παρών» Υπολογισµός (Mobile and Ubiquitous Computing) Οι τεχνολογικές εξελίξεις στη σµίκρυνση των συσκευών και στην ασύρµατη δικτύωση, έχουν οδηγήσει στην ολοκλήρωση µικρών και φορητών υπολογιστικών συσκευών σε κατανεµηµένα συστήµατα Τέτοιες συσκευές είναι οι φορητοί υπολογιστές, οι συσκευές χειρός (PDAs, κινητά τηλέφωνα, κάµερες), τα έξυπνα ρολόγια (smart watches) και διάφορες συσκευές ενσωµατωµένες σε οικιακές συσκυές Σελίδα 20

Κινητός Υπολογισµός Η φορητότητα των συσκευών σε συνδυασµό µε την δυνατότητα σύνδεσής τους σε δίκτυο σε διαφορετικά µέρη καθιστά εφικτό τον κινητό υπολογισµό Στον κινητό υπολογισµό, χρήστες που βρίσκονται µακριά από «το δικό τους» intranet έχουν τη δυνατότητα πρόσβασης σε πόρους µέσω των συσκευών που έχουν µαζί τους Μπορούν δηλαδή να συνεχίσουν να έχουν πρόσβαση στο Internet, στους πόρους του δικού τους Intranet, αλλά και σε πόρους που βρίσκονται κοντά τους (π.χ. εκτυπωτές µε υπέρυθρη θύρα) Σελίδα 21

Κινητός Υπολογισµός (συνέχεια) Στη συνέχεια θα παρουσιάσουµε µια αρχιτεκτονική για κινητό υπολογισµό, η οποία θα αντιµετωπίζει τα ακόλουθα θέµατα: Υποστήριξη ανακάλυψης πόρων σε ένα νέο περιβάλλον Αυτόµατη ρύθµιση των συσκευών των χρηστών που µετακινούνται Ζητήµατα περιορισµένης συνδεσιµότητας κατά τη διάρκεια του ταξιδιού Ασφάλεια των χρηστών που επισκέπτονται ένα νέο περιβάλλον Σελίδα 22

«Πανταχού Παρών» Υπολογισµός Είναι η χρησιµοποίηση πολλών µικρών, φτηνών υπολογιστικών συσκευών, που βρίσκονται κατά κόρον διάσπαρτες στα φυσικά περιβάλλοντα των χρηστών Η υπολογιστική «συµπεριφορά» τους θα είναι διαφανής και στενά συνδεδεµένη µε τη φυσική τους λειτουργία Η παρουσία υπολογιστών παντού, είναι χρήσιµη όταν αυτοί είναι σε θέση να επικοινωνήσουν Οι δύο αυτές κατηγορίες (κινητός και πανταχού παρών υπολογισµός) επικαλύπτονται. Ο πανταχού παρών υπολογισµός µπορεί να ωφελήσει τους χρήστες που παραµένουν σε ένα φυσικό περιβάλλον Σελίδα 23

Μοντέλα Συστηµάτων ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο, 2002-2003, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Αρχιτεκτονικά Μοντέλα Το αρχιτεκτονικό µοντέλο ενός κατανεµηµένου συστήµατος περιγράφει την τοποθέτηση των συστατικών του µερών και τις µεταξύ τους αλληλεπιδράσεις Παράδειγµα: το µοντέλο πελάτη-εξυπηρετητή (clientserver model) και το µοντέλο των ισότιµων διεργασιών (peer processes model) To µοντέλο πελάτη-εξυπηρετητή εξαρτάται από µια σειρά παραµέτρους, όπως το µοίρασµα ή την αντιγραφή (replication) των δεδοµένων µεταξύ διαφόρων εξυπηρετητών, την τοπική αποθήκευση από ενδιάµεσους (proxy) εξυπηρετητές και πελάτες, τη χρήση κινητών συσκευών Σελίδα 25

Αρχιτεκτονικά Μοντέλα (συνέχεια) Ένα αρχιτεκτονικό µοντέλο: ασχολείται καταρχήν µε την απλοποίηση και αφαίρεση των λειτουργιών των ανεξάρτητων συστατικών ενός συστήµατος µελετά την τοποθέτηση των συστατικών σε ένα δίκτυο υπολογιστών, προσπαθώντας να ορίσει χρήσιµα υποδείγµατα για την κατανοµή των δεδοµένων και του φόρτου εργασίας µελετά τους ρόλους και τους τρόπους επικοινωνίας των συστατικών ενός κατανεµηµένου δικτύου Σελίδα 26

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

Παραλλαγές Συστήµατος Πελάτη- Εξυπηρετητή υνατότητα µεταφοράς κώδικα από µια διεργασία σε µια άλλη (π.χ. το κατέβασµα κάποιου Java bytecode ενός server που θα εκτελεστεί από κάποιο πελάτη) υνατότητα εύκολης ολοκλήρωσης κινητών συσκευών, µε το να επιτρέπεται η ανακάλυψη των διαθέσιµων υπηρεσιών σε ένα σύστηµα και η παροχή των δικών τους υπηρεσιών στο σύστηµα Η πραγµατική τοποθέτηση των διεργασιών που αποτελούν ένα κατανεµηµένο σύστηµα σε ένα δίκτυο υπολογιστών επηρεάζεται από ζητήµατα απόδοσης, αξιοπιστίας ασφάλειας και κόστους Σελίδα 28

Αρχιτεκτονική Λογισµικού Ένας εξυπηρετητής είναι µια διεργασία που αποδέχεται αιτήσεις για εξυπηρέτηση από άλλες διεργασίες Μια κατανεµηµένη υπηρεσία παρέχεται µε τη συνεργασία µιας ή περισσότερων διεργασιών εξυπηρετητή που αλληλεπιδρούν µεταξύ τους και µε τις διεργασίες πελάτες για να διατηρήσουν µια συνεπή θεώρηση των πόρων της υπηρεσίας σε επίπεδο συστήµατος Σελίδα 29

Επίπεδα Υπηρεσίας σε Κατανεµηµένα Συστήµατα Applications, services Middleware Operating system Platform Computer and network hardware Σελίδα 30

«Ενδιάµεσο» Λογισµικό (Middleware) Πρόκειται για λογισµικό που στόχο έχει να κρύψει την ετερογένεια και να παρέχει ένα εύχρηστο µοντέλο για προγραµµατισµό Είναι ένα σύνολο διεργασιών ή αντικειµένων σε ένα κατανεµηµένο σύστηµα που αλληλεπιδρούν για να υποστηρίξουν την επικοινωνία και το διαµοιρασµό πόρων Υποστηρίζει αφαιρέσεις όπως αποµακρυσµένη επίκληση διεργασίας (Remote Method Invocation RMI), επικοινωνία µιας οµάδας διεργασιών, αντιγραφή κοινόχρηστων δεδοµένων και µετάδοση πολυµεσικών δεδοµένων σε πραγµατικό χρόνο Σελίδα 31

«Ενδιάµεσο» Λογισµικό (συνέχεια) SUN s RPC (Remote Procedure Call) Common Object Request Broker Architecture (CORBA) Java Remote Method Invocation (RMI) Microsoft s DCOM H υποστήριξη ενδιάµεσου λογισµικού έχει διευκολύνει τον προγραµµατισµό των κατανεµηµένων συστηµάτων, ορισµένα όµως ζητήµατα απαιτούν υποστήριξη στο επίπεδο εφαρµογών Σελίδα 32

Αρχιτεκτονική Συστηµάτων: Μοντέλο Πελάτη - Εξυπηρετητή Client invocation invocation Server result Server result Client Key: Process: Computer: Σελίδα 33

Υπηρεσίες που παρέχονται από πολλούς εξυπηρετητές Service Client Server Server Client Server Σελίδα 34

Ενδιάµεσοι Εξυπηρετητές και Τοπικές Αποθήκες Client Proxy server Web server Client Web server Σελίδα 35

Ισότιµες ιεργασίες Application Coordination code Application Coordination code Application Coordination code Σελίδα 36

Παραλλαγές του Μοντέλου Πελάτη - Εξυπηρετητή Οι ακόλουθοι παράγοντες µπορούν να δηµιουργήσουν παραλλαγές στο µοντέλο πελάτη εξυπηρετητή Η χρήση «κινητού» κώδικα (mobile code) και «κινητών πρακτόρων» (mobile agents) Η ανάγκη για υπολογιστές χαµηλού κόστους µε περιορισµένους πόρους υλικού που είναι εύκολη στη διαχείριση Η απαίτηση για προσθήκη κινητών συσκευών µε εύκολο τρόπο Σελίδα 37

Κινητός Κώδικας Ένας χρήστης που χρησιµοποιεί ένα browser επιλέγει ένα σύνδεσµο που αντιστοιχεί σε ένα applet ενός server Ο κώδικας κατεβαίνει και εκτελείται στο χρήστη Μπορεί να είναι χρήσιµο στην περίπτωση που χρειάζεται να υπάρχει επικοινωνία ανά τακτά χρονικά διαστήµατα µεταξύ πελάτη και εξυπηρετητή Αποτελούν απειλή για τους πόρους του ΥΣ στο οποίο τρέχουν γι αυτό συνήθως τους παρέχεται περιορισµένη πρόσβαση σε πόρους του ΥΣ Σελίδα 38

Web Applets a) client request results in the downloading of applet code Client Applet code Web server b) client interacts with the applet Client Applet Web server Σελίδα 39

Κινητοί Πράκτορες Είναι ένα πρόγραµµα (κώδικας και δεδοµένα) που µετακινείται από υπολογιστή σε υπολογιστή εκτελώντας µια εργασία εκ µέρους κάποιου (συνήθως συλλογή πληροφοριών) και επιστρέφει τα αποτελέσµατα Παράδειγµα: ενηµέρωση για τις τιµές που προσφέρουν διάφοροι κατασκευαστές PCs αφού επισκεφθεί τα sites τους! εκτέλεση υπολογισµών από αδρανείς υπολογιστές Αποτελούν απειλή για την ασφάλεια ενός ΥΣ. Το περιβάλλον που λαµβάνει έναν πράκτορα ελέγχει µια κρυπτογραφηµένη πληροφορία και αποφασίζει το είδος της πρόσβασης που θα παρέχει Σελίδα 40

ικτυακοί Υπολογιστές (Network Computers) Η διαχείριση και υποστήριξη των προγραµµάτων εφαρµογών είναι επίπονη διαδικασία Ο δικτυακός υπολογιστής κατεβάζει τον κώδικα του ΛΣ και όποια εφαρµογή χρειάζεται. Οι εφαρµογές τρέχουν τοπικά αλλά τα αρχεία διαχειρίζονται από το αποµακρυσµένο σύστηµα αρχείων Ο δίσκος (εφόσον υπάρχει) χρησιµοποιείται για να κρατήσει ένα ελάχιστο λογισµικό και ως τοπική αποθήκη Σελίδα 41

«Λιγνός» Πελάτης (Thin Client) O όρος αυτός αναφέρεται σε λογισµικό που υποστηρίζει ένα παραθυρικό περιβάλλον στον τοπικό υπολογιστή του χρήστη ενώ εκτελούνται προγράµµατα εφαρµογών σε έναν αποµακρυσµένο υπολογιστή Έχει τα ίδια πλεονεκτήµατα µε την προηγούµενη περίπτωση αλλά αντί να κατεβάζει τον κώδικα τον εκτελεί σε έναν εξυπηρετητή υπολογισµών (compute server). Τυπικά ένας πολύ-επεξεργαστής ή ένας µαζικός υπολογιστής (cluster computer) Αργό στις αλληλεπιδραστικές εφαρµογές γραφικών, CAD Σελίδα 42

«Λιγνός» Πελάτης (Thin Client) Network computer or PC Compute server Thin Client network Application Process Σελίδα 43

Κινητές Συσκευές και «Αυτοφυής» ικτύωση (Spontaneous Networking) Πολλές από τις µικρές φορητές συσκευές που χρησιµοποιούµε έχουν δυνατότητες ασύρµατης δικτύωσης σε µεγάλες ή µικρότερες αποστάσεις (GSM, WaveLan, BlueTooth, infra-red, HomeRF) Με κατάλληλη ενσωµάτωση σε ένα κατανεµηµένο περιβάλλον, οι χρήστες µπορούν να εκµεταλλεύονται τις υπηρεσίες των συσκευών αυτών, καθώς µετακινούνται (κινητός υπολογισµός). Η ολοκλήρωση κινητών και µη συσκευών σε ένα δίκτυο περιγράφεται από τον όρο αυτοφυής υπολογισµός Σελίδα 44

Κινητές Συσκευές και Αυτοφυής ικτύωση gateway Music service Alarm service Internet Discovery service Hotel wireless network Camera TV/PC Laptop PDA Guests devices Σελίδα 45

Χαρακτηριστικά της Αυτοφυούς ικτύωσης Ευκολία σύνδεσης σε ένα τοπικό δίκτυο Μια συσκευή που έρχεται σε ένα νέο δικτυακό περιβάλλον ρυθµίζεται (configure) αυτόµατα και διαφανώς προς το χρήστη Εύκολη ολοκλήρωση µε τις τοπικές υπηρεσίες Υπάρχουν όµως και σηµαντικά ζητήµατα σχεδιασµού: στην περίπτωση του Internet υποθέτουµε ότι οι υπολογιστές είναι τοποθετηµένοι σε ένα δίκτυο. Αν αλλάξει δίκτυο δεν µπορεί να προσπελαστεί µε την ίδια διεύθυνση ΙΡ Επίσης µειωµένη συνδεσιµότητα σε ταξίδια, ασφάλεια Σελίδα 46

Υπηρεσίες Ανακάλυψης Προκειµένου να µπορούν οι διεργασίες των χρηστών να προσπελαύνουν υπηρεσίες σε ένα νέο δίκτυο χρειάζονται υπηρεσίες αναζήτησης (discovery services) (Παράδειγµα: αυτοφυές δίκτυο ξενοδοχείου) εν µπορούµε να περιµένουµε ο κάθε κατασκευαστής να υλοποιεί το ίδιο ακριβώς πρωτόκολλο προκειµένου να µπορεί ένας πελάτης να προσπελαύνει τις υπηρεσίες εκτύπωσης Υπάρχουν πολλοί κατασκευαστές, συσκευές µε µικρή µνήµη και απαίτηση για διαφανή ρύθµιση των συσκευών Σελίδα 47

Υπηρεσίες Ανακάλυψης (συνέχεια) Θα πρέπει να είναι σε θέση ο πελάτης να ανακαλύψει τις διαθέσιµες υπηρεσίες (στο δίκτυο που βρίσκεται) και να γνωρίζει τις ιδιότητές τους. Μια υπηρεσία ανακάλυψης έχει τις ακόλουθες αρµοδιότητες: Υπηρεσία εγγραφών που αποδέχεται αιτήσεις εγγραφής από εξυπηρετητές και καταγράφει τις λεπτοµέρειες σε βάση δεδοµένων διατιθέµενων υπηρεσιών Υπηρεσία ερωτηµάτων αποδέχεται ερωτήµατα σχετικά µε τις διαθέσιµες υπηρεσίες και ψάχνει στη βάση δεδοµένων για τις υπηρεσίες και τα χαρακτηριστικά τους Σελίδα 48

ιεπαφές και Αντικείµενα (Interfaces and Objects) «To σύνολο των λειτουργιών (functions) που είναι διαθέσιµο για κλήση σε µια διεργασία (είτε είναι διεργασία εξυπηρετητής ή ισότιµη διεργασία) προσδιορίζεται από έναν ή περισσότερους ορισµούς διεπαφών (interface definitions)» (Coulouris et. al. 2001) Στην βασική µορφή της αρχιτεκτονικής πελάτη εξυπηρετητή, κάθε διεργασία εξυπηρετητής θεωρείται µια µοναδική οντότητα µε µια συγκεκριµένη διεπαφή που ορίζει τις λειτουργίες που µπορούν να κληθούν σε αυτή Σελίδα 49

ιεπαφές και Αντικείµενα (συνέχεια) Σε αντικειµενοστραφείς γλώσσες προγραµµατισµού όπως η C++ και η Java, µε την κατάλληλη επιπρόσθετη υποστήριξη, οι κατανεµηµένες διεργασίες κατασκευάζονται µε περισσότερο αντικειµενοστραφή τρόπο Αντικείµενα ενσωµατώνονται σε διεργασίες εξυπηρετητή ή ισότιµες διεργασίες και αναφορές σε αυτά περνιούνται σε άλλες διεργασίες έτσι ώστε οι µέθοδοί τους να µπορούν να προσπελαστούν µε αποµακρυσµένη επίκληση (remote invocation) H προσέγγιση αυτή χρησιµοποιείται από την CORBA αλλά και τη Java µε το RMI (Remote Method Invocation) Σελίδα 50

ιεπαφές και Αντικείµενα (συνέχεια) Σε ένα τέτοιο µοντέλο το πλήθος και το τύπος των αντικειµένων που στεγάζει κάθε διεργασία µεταβάλλεται καθώς απαιτούν οι δραστηριότητες του συστήµατος, ενώ σε ορισµένες υλοποιήσεις µπορεί να αλλάξει και η θέση των αντικειµένων Και στις δύο περιπτώσεις (στατικό και δυναµικό µοντέλο) σηµαντική πλευρά του σχεδιασµού αποτελεί η κατανοµή των αρµοδιοτήτων µεταξύ διεργασιών και υπολογιστών Στο παραδοσιακό µοντέλο πελάτη-εξυπηρετητή οι αρµοδιότητες ανατίθενται στατικά (π.χ. ένας file server δεν µπορεί να δώσει σελίδες Web) ενώ στο δυναµικό δηµιουργούνται νέες υπηρεσίες και σε ορισµένες περιπτώσεις νέοι τύποι αντικειµένων οι οποίοι γίνονται διαθέσιµοι για επίκληση Σελίδα 51

Απαιτήσεις Σχεδιασµού για Κατανεµηµένα Συστήµατα Ζητήµατα Απόδοσης Ποιότητα Υπηρεσίας (Quality of Service) Χρήση Ενδιάµεσης Αποθήκευσης και Αντιγράφων (Caching and Replication) Ζητήµατα Αξιοπιστίας (Dependability Issues) Σελίδα 52

Ζητήµατα Απόδοσης (Performance Issues) ιαχείριση Ταυτόχρονων Ενηµερώσεων (Management of Concurrent Updates) H απόδοση µιας αποµακρυσµένης υπηρεσίας επηρεάζεται από το φόρτο και την απόδοση του εξυπηρετητή και του δικτύου αλλά και από καθυστερήσεις σε όλα τα εµπλεκόµενα τµήµατα λογισµικού (τις υπηρεσίες επικοινωνίας και το ενδιάµεσο λογισµικό των ΛΣ) Η απόδοση µετριέται για όλους του χρήστες ενός ΚΣ Εξισορρόπηση υπολογιστικού φόρτου µε την εκµετάλλευση διαθέσιµων υπολογιστικών πόρων σε ένα σύστηµα (π.χ. applets που ανακουφίζουν τους εξυπηρετητές Web και χρήση πολλών υπολογιστών για τη στέγαση µιας υπηρεσίας (π.χ. DNS) Σελίδα 53

Ποιότητα Υπηρεσίας Περιλαµβάνει χαρακτηριστικά όπως αξιοπιστία, ασφάλεια, απόδοση και προσαρµοσιµότητα Ορισµένες εφαρµογές χειρίζονται χρονικά κρίσιµα δεδοµένα (time-critical data) ροές δεδοµένων που απαιτείται να µεταφερθούν σε σταθερό ρυθµό Ουσιαστικά σηµαίνει την απαίτηση από το σύστηµα, να παρέχει εγγυηµένους υπολογιστικούς και δικτυακούς πόρους που επαρκούν για να επιτρέψουν σε εφαρµογές να ολοκληρώσουν έγκαιρα την εργασία τους (π.χ. την απεικόνιση πλαισίων video) Σελίδα 54

Ενδιάµεση Αποθήκευση και Τήρηση Αντιγράφων Πολλά από τα ζητήµατα απόδοσης µπορούν να ξεπεραστούν µε χρήση ενδιάµεσης αποθήκευσης (caching) και τήρησης αντιγράφων (replication) Παράδειγµα: η χρήση της ενδιάµεσης αποθήκευσης στο πρωτόκολλο ΗΤΤΡ (δες και τις σηµειώσεις του µαθήµατος «Εισαγωγή στο ιαδίκτυο» για αναλυτικότερη περιγραφή του σχήµατος caching στο πρωτόκολλο HTTP) Σελίδα 55

Ζητήµατα Αξιοπιστίας (Dependability Issues) Ορίζεται και ως ορθότητα (correctness), ασφάλεια (security) και ανοχή σε λάθη (fault tolerance) Ανοχή σε λάθη: Οι αξιόπιστες εφαρµογές θα πρέπει να συνεχίσουν να δουλεύουν ακόµα και όταν συµβαίνουν λάθη. Αντιµετωπίζεται µε την παροχή επιπλέον πόρων ή πληροφοριών (redundancy) Σε επίπεδο αρχιτεκτονικής η παροχή επιπλέον πόρων σηµαίνει την ύπαρξη πολλών υπολογιστών όπου µπορούν να τρέξουν διεργασίες και πολλών µονοπατιών επικοινωνίας (για την παροχή δυνατότητας αντιγραφής διεργασιών και δεδοµένων) Σελίδα 56

Θεµελιώδη Μοντέλα Κατανεµηµένων Συστηµάτων Όλα τα µοντέλα κατανεµηµένων συστηµάτων έχουν τις απαιτήσεις σχεδιασµού που παρουσιάσαµε και µοιράζονται ορισµένες στοιχειώδεις ιδιότητες Στη συνέχεια θα παρουσιάσουµε µοντέλα που βασίζονται στις θεµελιώδεις ιδιότητες, ώστε να γίνουµε περισσότερο συγκεκριµένοι για τα χαρακτηριστικά, τις αστοχίες και τους κινδύνους ασφάλειας που αντιµετωπίζουν τα κατανεµηµένα συστήµατα Σελίδα 57

Αλληλεπίδραση, Αστοχία, Ασφάλεια Ένα µοντέλο περιλαµβάνει ορισµένες βασικές υποθέσεις και γενικεύσεις σχετικά µε τι είναι δυνατό και τι όχι µε βάση αυτές τις υποθέσεις Οι πλευρές των κατανεµηµένων συστηµάτων που περιλαµβάνονται στα θεµελιώδη µοντέλα επιτρέπουν τη συζήτηση και αιτιολόγηση στα ακόλουθα: Αλληλεπίδραση (Interaction), που περιλαµβάνει την επικοινωνία και το συντονισµό µεταξύ των διεργασιών, την Αστοχία (Failure) που ασχολείται µε τα αποτελέσµατα και την ταξινόµηση των σφαλµάτων και την ανοχή των συστηµάτων σε απειλές (Ασφάλεια) Σελίδα 58

Μοντέλο Αλληλεπίδρασης Οι αρχιτεκτονικές των ΚΣ που έχουµε ως τώρα παρουσιάσει υποδηλώνουν ότι οι κατανεµηµένες εφαρµογές αποτελούνται από πολλές (ανεξάρτητες) διεργασίες που αλληλεπιδρούν µε πολύπλοκους τρόπους. Παράδειγµα: Πολλαπλοί εξυπηρετητές µπορούν να συνεργάζονται για την παροχή µιας υπηρεσίας (π.χ. DNS) Κάποιες ισότιµες διεργασίες µπορεί να συνεργάζονται για την επίτευξη ενός κοινού στόχου (π.χ. voice conferencing) Μια διεργασία εκτελεί ένα πρόγραµµα, η συµπεριφορά του οποίου προσδιορίζεται από κάποιο αλγόριθµο Σελίδα 59

Κατανεµηµένος Αλγόριθµος (Distributed Algorithm) Η συµπεριφορά ενός κατανεµηµένου συστήµατος προσδιορίζεται από έναν κατανεµηµένο αλγόριθµο έναν ορισµό των βηµάτων που εκτελεί κάθε διεργασία που συµµετέχει στο σύστηµα καθώς και τα µηνύµατα που ανταλλάσσονται µεταξύ των διεργασιών Το ρυθµό µε τον οποίο εξελίσσεται µια διεργασία και το χρονισµό της µετάδοσης µηνυµάτων µεταξύ τους δεν µπορούµε να τον προβλέψουµε! Επίσης δεν είναι εύκολο να περιγράψουµε κάθε φορά την κατάσταση του αλγορίθµου, λόγω αστοχιών διεργασιών και/ή µηνυµάτων Σελίδα 60

Παράγοντες Επηρεασµού ιεργασιών που Αλληλεπιδρούν Η απόδοση του συστήµατος επικοινωνίας, συχνά αποτελεί περιοριστικό παράγοντα για δύο διεργασίες που αλληλεπιδρούν Είναι αδύνατο να διατηρηθεί µια ενιαία, σφαιρική αντίληψη για το χρόνο στις διεργασίες που αλληλεπιδρούν Σελίδα 61

Απόδοση ιαύλων Επικοινωνίας Τα χαρακτηριστικά απόδοσης της επικοινωνίας σε ένα δίκτυο υπολογιστών είναι τα ακόλουθα: Καθυστέρηση (latency): H καθυστέρηση µεταξύ της έναρξης της µετάδοσης ενός µηνύµατος από µια διεργασία και της έναρξης της λήψης του από µια άλλη διεργασία. Περιλαµβάνει τους χρόνους: Το χρόνο που απαιτείται για το πρώτο bit που µεταδίδεται από το δίκτυο να φτάσει στον προορισµό του Την καθυστέρηση στην πρόσβαση στο δίκτυο Το χρόνο που απαιτείται από τις υπηρεσίες επικοινωνίας του ΛΣ στη διεργασία αποστολέα και στη διεργασία παραλήπτη Σελίδα 62

Απόδοση ιαύλων Επικοινωνίας Το εύρος ζώνης ενός δικτύου (το φάσµα δηλαδή εκείνο των συχνοτήτων για το οποίο η µετάδοση σε κάποιο συγκεκριµένο µέσο συµβαίνει µέσα σε αποδεκτά επίπεδα θορύβου), είναι το µέγεθος εκείνο το οποίο ουσιαστικά καθορίζει και το ποσό της πληροφορίας που µπορεί να σταλεί σε κάποιο διάστηµα Το jitter, είναι η απόκλιση στο χρόνο που απαιτείται για την παράδοση µιας σειράς µηνυµάτων (έχει κυρίως εφαρµογή στα δεδοµένα πολυµέσων) Σελίδα 63

Ρολόγια Υπολογιστών και Γεγονότα Χρονισµού Κάθε υπολογιστής σε ένα κατανεµηµένο σύστηµα έχει το δικό του ρολόι, το οποίο χρησιµοποιείται από τις διεργασίες για την απόκτηση της τρέχουσας τιµής του χρόνου (και χρονοσφράγισµα των πακέτων) Τα ρολόγια των υπολογιστών παρεκκλίνουν από τη σωστή ώρα και µε διαφορετικούς ρυθµούς! Υπάρχουν διάφορες λύσεις, καµία όµως δεν εξασφαλίζει απόλυτη συµφωνία (επίσης ακόµα και αν υπάρχει αρχικά συµφωνία θα πρέπει να ανανεώνεται αρκετά λόγω παρεκκλίσεων) Σελίδα 64

Παραλλαγές του Μοντέλου Αλληλεπίδρασης Σε ένα κατανεµηµένο σύστηµα είναι δύσκολο να µπουν χρονικοί περιορισµοί στο χρόνο που χρειάζεται για την εκτέλεση διεργασιών, την παράδοση µηνυµάτων, ή την παρέκκλιση των ρολογιών Υπάρχουν δύο προσεγγίσεις: η πρώτη κάνει ισχυρές υποθέσεις για το χρόνο (σύγχρονα κατανεµηµένα συστήµατα synchronous distributed systems) και η δεύτερη που δεν κάνει καµία υπόθεση για το χρόνο (ασύγχρονα κατανεµηµένα συστήµατα asynchronous distributed systems) Σελίδα 65

Σύγχρονα Κατανεµηµένα Συστήµατα Ένα σύγχρονο κατανεµηµένο σύστηµα είναι αυτό στο οποίο ορίζονται τα ακόλουθα όρια: Ο χρόνος να εκτελεστεί κάθε βήµα µιας διεργασίας έχει γνωστό άνω και κάτω όριο Κάθε µήνυµα που µεταδίδεται πάνω από ένα κανάλι λαµβάνεται µέσα σε ένα γνωστό πεπερασµένο χρόνο Κάθε διεργασία έχει ένα τοπικό ρολόι του οποίου ο ρυθµός παρέκκλισης από τον πραγµατικό χρόνο έχει ένα γνωστό όριο Σελίδα 66

Σύγχρονα Κατανεµηµένα Συστήµατα (συνέχεια) Στα κατανεµηµένα συστήµατα είναι δύσκολο να βρεις ρεαλιστικές τιµές ορίων και σχεδόν αδύνατο να παρέχεις εγγυήσεις για τις τιµές αυτές Παρόλα αυτά η µοντελοποίηση ενός αλγορίθµου ως ένα σύγχρονο κατανεµηµένο σύστηµα µπορεί να είναι χρήσιµη, διότι µας δίνει µια ιδέα για το πώς θα συµπεριφερόταν σε ένα πραγµατικό κατανεµηµένο σύστηµα Σύγχρονα συστήµατα µπορούν να δηµιουργηθούν αρκεί να υπάρχουν εκ των προτέρων γνωστές οι απαιτήσεις των διεργασιών και να τους δοθεί εγγυηµένα χρόνος στην ΚΜΕ και χωρητικότητα στο δίκτυο, τα οποία να καλύπτουν αυτές τις απαιτήσεις Σελίδα 67

Ασύγχρονα Κατανεµηµένα Συστήµατα Ορισµένα κατανεµηµένα συστήµατα, όπως το Internet, ανήκουν σε ένα διαφορετικό µοντέλο µε τα ακόλουθα χαρακτηριστικά: εν υπάρχουν όρια στην ταχύτητα εκτέλεσης των διεργασιών. Κάθε βήµα µπορεί να χρειαστεί ένα αυθαίρετα µεγάλο χρονικό διάστηµα για να εκτελεστεί εν υπάρχουν όρια στις καθυστερήσεις µετάδοσης µηνυµάτων. Ένα µήνυµα µπορεί να ληφθεί µετά από αυθαίρετα µεγάλο χρονικό διάστηµα Ο ρυθµός παρέκκλισης ενός ρολογιού είναι αυθαίρετος Σελίδα 68

Ασύγχρονα Κατανεµηµένα Συστήµατα (συνέχεια) Αυτό το µοντέλο ταιριάζει ακριβώς στο Internet στο οποίο δεν υπάρχουν εσωτερικά όρια στους φόρτους των εξυπηρετητών και του δικτύου Ορισµένα προβλήµατα µπορούν να λυθούν ακόµα και µε αυτές τις υποθέσεις (π.χ. οι browsers που επιτρέπουν στους χρήστες να κάνουν και άλλα πράγµατα όσο περιµένουν) Κάθε λύση που είναι έγκυρη για ένα ασύγχρονο κατανεµηµένο σύστηµα είναι έγκυρη και για σύγχρονο κατανεµηµένο σύστηµα Σελίδα 69

Ασύγχρονα Κατανεµηµένα Συστήµατα (συνέχεια) Τα πραγµατικά κατανεµηµένα συστήµατα είναι συνήθως ασύγχρονα λόγω του ότι οι διεργασίες µοιράζονται τους επεξεργαστές και τα κανάλια επικοινωνίας Υπάρχουν και ορισµένα προβλήµατα που δεν µπορούν να λυθούν για ασύγχρονα κατανεµηµένα συστήµατα και πρέπει να γίνει χρήση ορισµένων χρονικών περιορισµών Για παράδειγµα η ανάγκη για την παράδοση στοιχείων µιας συνεχούς ροής δεδοµένων πολυµέσων σε µια συγκεκριµένη διορία. Για τέτοιες περιπτώσεις χρειάζονται (στοιχεία από) σύγχρονα κατανεµηµένα συστήµατα Σελίδα 70

Μοντέλο Αστοχίας (Failure Model) Σε ένα κατανεµηµένο σύστηµα τόσο οι διεργασίες όσο και τα κανάλια επικοινωνιών µπορεί να αστοχήσουν Το µοντέλο αστοχίας, παρέχει τους τρόπους µε τους οποίους µπορεί να συµβεί µια αστοχία, προκειµένου να παράσχει κατανόηση των αποτελεσµάτων των αστοχιών Υπάρχουν τριών ειδών αστοχίες: αστοχίες παράλειψης (omission failures), αυθαίρετες αστοχίες (arbitrary failures) και αστοχίες χρονισµού (timing failures) Σελίδα 71

Αστοχίες Παράλειψης Οι αστοχίες παράλειψης αναφέρονται σε περιπτώσεις όπου µια διεργασία ή ένα κανάλι αποτυγχάνουν σε ενέργειες που υποτίθεται ότι έπρεπε να κάνουν Η βασική περίπτωση αστοχίας παράλειψης διεργασίας είναι µια διεργασία να τερµατιστεί αναπάντεχα (crash), δηλ. να µη µπορεί να συνεχίσει να εκτελεί το πρόγραµµα Μπορούν να σχεδιαστούν υπηρεσίες µε την παρουσία σφαλµάτων ευκολότερα, αν υποθέσουµε ότι µια διεργασία είτε λειτουργεί σωστά, ή τερµατίζει Σελίδα 72

Αστοχίες Παράλειψης (συνέχεια) Οι υπόλοιπες διεργασίες καταλαβαίνουν τον τερµατισµό της διεργασίας από το γεγονός ότι µια διεργασία αποτυγχάνει να απαντήσει σε συνεχόµενες κλήσεις Αυτή η µέθοδος βασίζεται στη χρήση timeouts= Πρόβληµα στα ασύγχρονα κατανεµηµένα συστήµατα Αστοχία παράλειψης του καναλιού επικοινωνίας υπάρχει αν δεν µπορέσει να παραδώσει ένα µήνυµα από την αποθήκη εξερχόµενων (outgoing buffer) του ενός υπολογιστή, στην αποθήκη εισερχόµενων (incoming buffer) του άλλου Σελίδα 73

Αυθαίρετες Αστοχίες Ο όρος αυθαίρετη (Βυζαντινή(!)) αστοχία χρησιµοποιείται για να περιγράψει τη χειρότερη δυνατή περίπτωση όπου µπορεί να συµβεί ένα οποιοδήποτε λάθος (π.χ. µια διεργασία που βάζει λάθος τιµές σε ορισµένα δεδοµένα) Λόγω του χαρακτήρα των λαθών αυτών δεν είναι δυνατόν να γίνουν αντιληπτά µε ανταλλαγή µηνυµάτων Αυθαίρετα λάθη υπάρχουν και στα κανάλια επικοινωνιών, όµως εκεί το λογισµικό επικοινωνιών είναι σε θέση να τα διακρίνει και να απορρίψει τα εσφαλµένα µηνύµατα (π.χ. µέσω checksums, αριθµών σειράς κ.λπ.) Σελίδα 74

Αστοχίες Χρονισµού Έχουν νόηµα σε σύγχρονα ΚΣ όπου τίθενται χρονικοί περιορισµοί και παρέχονται εγγυήσεις για τη συµπεριφορά διεργασιών, ρολογιών και επικοινωνιακών διαύλων Τα ΛΣ πραγµατικού χρόνου σχεδιάζονται για να παρέχουν χρονικές εγγυήσεις, είναι όµως πολύπλοκα στο σχεδιασµό και πιθανόν να απαιτούν επιπλέον υλικό Ο χρονισµός είναι καθοριστικός για υπολογιστές πολυµέσων, όπου η έγκαιρη παράδοση βάζει ειδικές απαιτήσεις τόσο στο ΛΣ όσο και στο κανάλι επικοινωνιών Σελίδα 75

Αστοχίες Χρονισµού (συνέχεια) Class of Failure Affects Description Clock Process Process s local clock exceeds the bounds on its rate of drift from real time. Performance Process Process exceeds the bounds on the interval between two steps. Performance Channel A message s transmission takes longer than the stated bound. Σελίδα 76

«Κρύψιµο» των Αστοχιών (Masking Failures) Κάθε συστατικό ενός ΚΣ, στη γενική περίπτωση, κατασκευάζεται από από µια συλλογή άλλων αντικειµένων Είναι δυνατό να δηµιουργηθούν αξιόπιστες υπηρεσίες από συστατικά που παρουσιάζουν αστοχίες (π.χ. τήρηση αντιγράφων των δεδοµένων από πολλούς εξυπηρετητές) Γνώση των χαρακτηριστικών της αστοχίας ενός συστατικού µπορεί να επιτρέψει µια νέα υπηρεσία να σχεδιαστεί, η οποία κρύβει την αστοχία εντελώς ή της αλλάζει χαρακτηριστικά (π.χ. ο µηχανισµός των checksums κάνει µια αστοχία, αστοχία παράλειψης) Σελίδα 77

Μοντέλο Ασφάλειας «Η ασφάλεια στα κατανεµηµένα συστήµατα µπορεί να επιτευχθεί µε την ασφάλεια των διεργασιών και των καναλιών που χρησιµοποιούνται για τις αλληλεπιδράσεις τους και από τη προστασία τω αντικειµένων από µη εγκεκριµένη πρόσβαση» (Coulouris et. Al.) Στη συνέχεια θα περιγράψουµε την ασφάλεια σε σχέση µε τα αντικείµενα, αν και όσα θα πούµε εφαρµόζονται και σε πόρους οποιουδήποτε τύπου Σελίδα 78

Μοντέλο Ασφάλειας (συνέχεια) invocation Access rights Object Client result Server Principal (user) Network Principal (server) Οι χρήστες τρέχουν προγράµµατα πελάτη που µπορούν να κάνουν κλήσεις στον εξυπηρετητή για να κάνει λειτουργίες πάνω σε αυτά Τα αντικείµενα έχουν δικαιώµατα πρόσβασης Σε κάθε επίκληση και κάθε αποτέλεσµα συσχετίζουµε την αρχή (authority) η οποία τα εκδίδει Σελίδα 79

Ασφάλεια ιεργασιών και Αλληλεπιδράσεων Στις διεργασίες που επικοινωνούν σε ένα ΚΣ υπάρχουν απειλές τόσο για αυτές όσο και για τα µηνύµατα. Στόχος είναι να προσδιορίσουµε τους κινδύνους για να τους αδρανοποιήσουµε Θεωρούµε έναν εχθρό, ο οποίος είναι σε θέση να παρεµβάλλεται στις επικοινωνίες, δηµιουργώντας απειλές για τις διεργασίες, τα κανάλια επικοινωνιών και άρνηση παροχής υπηρεσίας (denial of service) Σελίδα 80

Απειλές σε ιεργασίες Μια διεργασία µπορεί να λάβει µια αίτηση και να µην µπορεί να προσδιορίσει την ταυτότητα του αποστολέα Παρότι τα πρωτόκολλα όπως το ΙΡ κουβαλούν τη διεύθυνση του αποστολέα, αυτή όµως είναι εύκολο να παραποιηθεί Σε µια τέτοια περίπτωση, τόσο ο εξυπηρετητής, όσο και ο πελάτης, κινδυνεύουν Ένας εχθρός µπορεί να αντιγράψει, να αλλοιώσει ή να δηµιουργήσει ένα µήνυµα Σελίδα 81

Ακύρωση των Απειλών Ασφάλειας Κρυπτογραφία: Ο τρόπος µετατροπής των δεδοµένων σε µια τέτοια µορφή, όπου µόνο αυτοί που γνωρίζουν µια κοινή µυστική πληροφορία (το κλειδί) µπορούν να ανακτήσουν την αρχική µορφή των δεδοµένων Αυθεντικότητα: Με την κρυπτογραφία αποδεικνύεται η ταυτότητα των χρηστών. Βασικά η τεχνική συνίσταται στο να κρυπτογραφείται αρκετή από τη µεταδιδόµενη πληροφορία, ώστε να εγγυάται την αυθεντικότητά της Ασφαλή κανάλια επικοινωνίας: χρησιµοποιούν τις παραπάνω µεθόδους και εγγυώνται την ιδιωτικότητα (privacy) και ακεραιότητα (integrity) Σελίδα 82

Άρνηση Παροχής Υπηρεσίας και Κινητός Κώδικας Άρνηση Παροχής Υπηρεσίας: ένα είδος επίθεσης όπου µη εγκεκριµένοι χρήστες προκαλούν υπερφόρτωση φυσικών πόρων µέσω περιττών και υπερβολικών αιτήσεων για εξυπηρέτηση Κινητός κώδικας: συνιστά µια νέα και σηµαντική απειλή (Trojan Horse) για τις διεργασίες οι οποίες λαµβάνουν εκτελούν κώδικα από αλλού (π.χ. το attachment κάποιου e-mail). Υπάρχουν πολλές και ποικίλες µέθοδοι µέσω των οποίων µπορούν να δηµιουργηθούν τέτοιου είδους επιθέσεις, οι οποίες µπορούν να δώσουν πρόσβαση σε πόρους που ο δηµιουργός του κώδικα δεν έχει Σελίδα 83

Χρήσεις των Μοντέλων Ασφάλειας Η χρήση τεχνικών κρυπτογράφησης και ελέγχου πρόσβασης συνεπάγεται σηµαντικό φόρτο επεξεργασίας και διαχείρισης Θα πρέπει έχοντας υπόψη τα παραπάνω, να γίνεται µια προσεκτική ανάλυση των κινδύνων που µπορούν να προκύψουν από το περιβάλλον του ΚΣ Η ανάλυση περιλαµβάνει τη δηµιουργία ενός µοντέλου απειλών, που καταγράφει όλους τους τύπους των επιθέσεων στις οποίες ένα σύστηµα είναι εκτεθειµένο και µια αξιολόγηση των κινδύνων και συνεπειών κάθε µιας Σελίδα 84