«Εξομοίωση Αλγορίθμων για Video on Demand σε περιβάλλοντα P2P»

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "«Εξομοίωση Αλγορίθμων για Video on Demand σε περιβάλλοντα P2P»"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ «Εξομοίωση Αλγορίθμων για Video on Demand σε περιβάλλοντα P2P» ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΝΙΚΟΛΑΟΥ ΝΙΚΟΛΑΟΣ του ΜΑΚΗ ΦΟΙΤΗΤΗΣ ΤΟΥ ΤΜΗΜΑΤΟΣ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΠΙΒΛΕΠΩΝ: ΚΑΘΗΓΗΤΗΣ ΔΕΝΑΖΗΣ ΣΠΥΡΟΣ ΑΡΙΘΜΟΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: /2012 ΙΟΥΛΙΟΣ 2012

2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα : «Εξομοίωση Αλγορίθμων για Video on Demand σε περιβάλλοντα P2P» Του φοιτητή του τμήματoς Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΝΙΚΟΛΑΟΥ ΝΙΚΟΛΟΥ του ΜΑΚΗ Α.Μ παρουσιάστηκε δημόσια και εξετάστηκε στο τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις 3 Ιουλίου 2012 Ο Επιβλέπων Ο Διευθυντής του τομέα Δενάζης Σπύρος Καθηγητής Φακωτάκης Νικόλαος Καθηγητής

4

5 Ευχαριστώ θερμά, Τον καθηγητή μου κ. Σ.Δενάζη για όλη τη βοήθεια που μου παρείχε κατά τη διάρκεια εκπόνησης της διπλωματικής μου εργασίας. Τον διδακτορικό φοιτητή, Ν.Ευθυμιόπουλο, για τη στήριξή, την καθοδήγηση και την υπομονή που έδειξε απέναντι μου. Τη διδακτορικό φοιτήτρια Μ.Ευθυμιοπούλου, για την εκπαίδευση που μου παρείχε για τη λειτουργία του προγράμματος εξομοίωσης OPNET και την πίστη που έδειξε άπο την αρχή. Tους διδακτορικούς φοιτητές Ηλ.Γκορτσίλα και Κ.Δελτούζο για την πολύτιμη βοήθεια τους σε θέματα προγραμματισμού τόσο πρακτικά όσο και θεωρητικά

6 ΠΕΡΙΛΗΨΗ Από τις αρχές της δεκαετίας του 90 η υπηρεσία Video on Demand έπαιξε σημαντικό ρόλο στην εφαρμογή της διαδραστικής τηλεόρασης του εξωτερικού. Η ραγδαία αύξηση της χρήσης του διαδικτύου και κυρίως η βελτίωση των υποδομών αυτού έχουν επιφέρει σε παγκόσμιο επίπεδο τεράστιες μεταβολές στις μορφές επικοινωνίας οι οποίες έχουν καταστεί πλέον πιο άμεσες από ποτέ. Ως αποτέλεσμα αναπτύχθηκαν αρκετές δικτυακές εφαρμογές ασύγχρονου video streaming ή video on demand. Ωστόσο οι αυξημένες απαιτήσεις τους σε κλιμάκωση (scalability), προσαρμοστικότητα (flexibility),ανεκτικότητα σε σφάλματα και απόδοση, καθιστούν απαραίτητη την υποστήριξή τους από κατανεμημένες ή και παράλληλες αρχιτεκτονικές. Μία αρκετά υποσχόμενη προσέγγιση προς αυτή την κατεύθυνση είναι τα p2p (peer to peer) συστήματα καθώς οι ίδιοι οι χρήστες των εφαρμογών διαθέτουν ένα τεράστιο σύνολο από δικτυακή και υπολογιστική ισχύ. Στα συστήματα αυτά το περιεχόμενο που κατεβάζουν οι χρήστες διασπάται σε κομμάτια τα οποία ανταλλάσσονται από αυτούς,με σκοπό την τελική επανασύνδεση και ανάκτηση του συνολικού συρμού των δεδομένων. Ιδιαίτερο ενδιαφέρον παρουσιάζει η απαίτηση του χρήστη να παρακολουθεί μη διαδοχικά σημεία του video, να κάνει δηλαδή άλματα και πώς αυτή διαχειρίζεται από ένα p2p σύστημα. Σκοπός αυτής της διπλωματικής είναι η μελέτη της απόδοσης των p2p συστημάτων σε συνθήκες όπου οι χρήστες εκτελούν άλματα και η πρόταση αλγορίθμων για τη βέλτιστη διαχείριση τέτοιων αιτημάτων. Ως βέλτιστη θεωρούμε την κατάσταση στην οποία οι χρήστες δεν υπερφορτώνονται με εξερχόμενες συνδέσεις και δεν μένουν ποτέ χωρίς εισερχόμενες, ώστε να εξασφαλίζεται η συνεχής ροή του video. Λέξεις κλειδιά : P2p video on demand, εξυπηρετητής(server), ομότιμοι κόμβοι (peers), ρυθμός εξυπηρέτησης (service rate), overlay, block, χρονοπρογραμματιστής (scheduler), αναζήτηση (seeking)

7

8 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ 9 EIΣΑΓΩΓΗ 10 ΚΕΦΑΛΑΙΟ 1 :ΘΕΩΡΗΤΙΚΗ ΑΝΑΛΥΣΗ ΤΩΝ ΔΙΚΤΥΩΝ ΚΑΙ ΤΩΝ PEER TO PEER ΣΥΣΤΗΜΑΤΩΝ Εισαγωγικές έννοιες δικτύων α.Τι είναι Δίκτυο Υπολογιστών β.Σκοπός των Δικτύων γ. Αρχιτεκτονική των Δικτύων δ. Υλοποίηση της Διασύνδεσης ε.Βασικά στοιχεία υλοποίησης δικτύων στ.Πρωτόκολλο επικοινωνίας ζ.Λειτουργικό Σύστημα Δικτύου Τί είναι τα peer to peer δίκτυα α.Χαρακτηριστικά των peer to peer δικτύων β.Αρχιτεκτονική των peer to peer δικτύων γ.Εφαρμογές των peer to peer δικτύων δ.Συμπεράσματα και μελλοντικές προοπτικές Streaming Video-on-Demand α.Σκοπός β.Ορισμός εννοιών γ.Αρχιτεκτονικά συνιστώσες δ.Απαιτήσεις εΤεχνικοί πόροι 25 ΚΕΦΑΛΑΙΟ 2: ΠΕΡΙΓΡΑΦΗ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ Overlay και Scheduling α.Εισαγωγή κόμβων β Scheduling Μηχανισμός αναζήτησης (seeking) α Από τη μεριά του χρήστη β Από τη μερία του εξύπηρετητή γ Αναζήτηση αντικαταστάτη δ Κόστος συνδέσεων 29 ΚΕΦΑΛΑΙΟ 3:ΟΡΙΣΜΟΣ ΜΕΓΕΘΩΝ ΚΑΙ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΜΕΛΕΤΩΝΤΑΙ ΣΤO ΣΥΣΤΗΜΑ 31 ΚΕΦΑΛΑΙΟ 4: ΕΞΟΜΟΙΩΣΗ ΔΙΚΤΥΩΝ ΣΤΟ OPNET Modeller Εισαγωγή στο OPNET Mοdeller α.Μοντέλο Δικτύου β.Μοντέλο Κόμβων γ.Μοντέλο Επεξεργασίας Στόχοι της εξομοίωσης στο OPNET Modeller Εντολές και μοντέλα που χρησιμοποιήθηκαν α.Μοντέλο ομότιμου κόμβου β.Μοντέλο εξυπηρετητή 39 ΚΕΦAΛΑΙΟ 5:ΑΠΟΤΕΛΕΣΜΑ ΕΞΟΜΟΙΩΣΗΣ, ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ Παρατηρήσεις εξομοίωσης και στατιστικά Σενάρια εξομοίωσης, γραφική απεικόνιση στατιστικών και παρατηρήσεις Συμπεράσματα 49 ΕΠΙΛΟΓΟΣ 50 ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΝΑΦΟΡΕΣ (REFERENCES) 50

9 ΠΡΟΛΟΓΟΣ Κατά τη διάρκεια του 20ου Αιώνα η τεχνολογία είναι η συλλογή,επεξεργασία και διανομή της πληροφορίας.έχουμε δει μεταξύ άλλων εξελίξεων την εγκατάσταση τηλεφωνικών δικτύων σε όλη την υδρόγειο,την εφευρεση του ραδιοφώνου και της τηλεόρασης,τη γέννηση και τη χωρίς προηγούμενο ανάπτυξη της βιομηχανίας υπολογιστών και την εκτόξευση επικοινωνιακών δορυφόρων.εξ αιτίας της ραγδαίας τεχνολογικής προόδου,αυτές οι περιοχές συγκλίνουν ταχύτατα και οι διαφορές μεταξύ συλλογής,μεταφοράς,αποθήκευσης και επεξεργασίας της πληροφορίας εξαφανίζονται γρήγορα. Στις μέρες οι υπολογιστές και η χρήση του διαδικτύου κατακλύζουν τη ζωή μας.σχεδόν οποιαδήποτε ανθρώπινη δραστηριότητα είναι άμεσα συνδεδεμένη με την τεχνολογία. Η σύγκλιση υπολογιστών και επικοινωνιών είχε σημαντική επίδραση στον τρόπο με τον οποίο οργανώνονται τα υπολογιστικά συστήματα.το παλιό μοντέλο, ενός μοναδικού υπολογιστή που εξυπηρετεί όλες τις υπολογιστικές ανάγκες έχει αντικατασταθεί από εκείνο,όπου ένας μεγάλος μεγάλος αριθμός ξεχωριστών αλλά διασυνδεδεμένων υπολογιστών κάνουν τη δουλειά.τα συστήματα αυτά αποκαλούνται δίκτυα υπολογιστών.η σύνδεση που αρχικά επιτυγχανόταν με την βοήθεια ενός χάλκινου σύρματος πλέον επιτυγχάνεται κυρίως με τη βοήθεια οπτικών ινών,μικροκυματικών ζεύξεων και επικοινωνιακών δορυφόρων. Έπειτα από τα δίκτυα υπολογιστών το ενδιαφέρον στρέφεται πλέον στα κατανεμημένα συστήματα.πρόκειται για πολλούς αυτόνομους υπολογιστές, όπου η ύπαρξή τους δεν είναι ορατή από το χρήστη.σε αυτά ο χρήστης μπορεί να πληκτρολογήσει μια εντολή για να τρέξει ένα πρόγραμμα και το πρόγραμμα τρέχει. Εναπόκειται στο λειτουργικό σύστημα να επιλέξει τον βέλτιστο επεξεργαστή,να βρει και να μεταφέρει όλα τα αρχεία εισόδου στον επεξεργαστή αυτόν και να βάλει τα αποτελέσματα στο κατάλληλο μέρος. Δηλαδή ο χρήστης δεν γνωρίζει ότι υπάρχουν πολλαπλοί επεξεργαστές.η κατανομή των εργασιών στους επεξεργαστές και των αρχείων στους δίσκους,η μετακίνηση των αρχείων και όλες οι άλλες λειτουργίες του συστήματος πρέπει να είναι αυτόνομες. Σε ένα δίκτυο υπολογιστών,οι χρήστες πρέπει να εισέρχονται ρητά σε μια μηχανή,να υποβάλλουν ρητά τις εργασίες από απόσταση,να περιφέρουν αρχεία ρητά και γενικώς να διαχειρίζονται το δίκτυο προσωπικά.στο κατανεμημένο σύστημα τίποτα δεν χρειάζεται να γίνει ρητά.όλα γίνονται αυτόματα,απο το σύστημα,χωρίς να το αντιλαμβάνεται ο χρήστης. Αυτό το πλεονέκτημα των κατανεμημένων συστημάτων,σε συνδυασμό με την εξάπλωση του διαδικτύου και τις υψηλές ταχύτητές του οδήγησε στην εμφάνιση νέων τεχνολογιών.οι νέες αυτές τεχνολογίες επιτρέπουν το διαμοιρασμό των δικτυακών πόρων και υπηρεσιών, όπως είναι η πληροφορία, τα αρχεία, οι κύκλοι επεξεργασίας και ο χώρος αποθήκευσης, μέσω απευθείας επικοινωνίας μεταξύ των συστημάτων (χωρίς απαραίτητα τη χρήση κεντρικών servers). Η νέα αυτή μορφή δικτύων ονομάζεται peer to peer (p2p) δίκτυα και υπόσχεται βελτιωμένη επεκτασιμότητα, χαμηλότερα κόστη ιδιοκτησίας,μεγαλύτερη ανέχεια σε σφάλματα και αποκεντρωμένο συντονισμό των υποχρησιμοποιούμενων ή περιορισμένων πόρων. Σαν αποτέλεσμα τα τελευταία χρόνια ο αριθμός των peer to peer εφαρμογών αυξήθηκε σε πολύ μεγάλο βαθμό. Παράλληλα αυξήθηκαν και οι συζητήσεις σχετικά με την απόδοση και τα όρια τους, όπως επίσης με τις οικονομικές, κοινωνικές και νομικές επιπτώσεις αυτών των εφαρμογών.

10 EIΣΑΓΩΓΗ Σε αυτό το εισαγωγικό κομμάτι παραθέτουμε τη δομή που ακολουθεί η εργασία μας.πρόκειται μια μελέτη χωρισμένη σε έξι κεφάλαια,καθένα από τα οποία αναλύεται στη συνέχεια διεξοδικά. Στο πρώτο κεφάλαιο παρουσιάζεται το θεωρητικό υπόβαθρο που απαιτείται για την κατανόηση του θέματος που αναλύουμε.ξεκινάμε μιλώντας γενικά για το τί είναι δίκτυα υπολογιστών,αναλύουμε στη συνέχεια τί είναι τα p2p δίκτυα,ποιός ο στόχος του και ποιά τα χαρακτηριστικά τους και καταλήγουμε με την επεξήγηση αυτού που πραγματικά μας ενδιαφέρει και μελετάμε,δηλαδή την κατανόηση των p2p VoD συστημάτων. Στο δεύτερο κεφάλαιο ακολουθεί η περιγραφή εννοιων όπως το overlay και o scheduler που θα χρησιμοποιηθούν σε αυτή την εργασία. Στη συνέχεια περιγράφουμε όλη τη λειτουργία του συστήματος από την εισαγώγη κόμβων μέχρι και τη διαδικασία εύρεσης γειτόνων κατά τη λειτουργία seeking. Στο τρίτο κεφάλαιο ορίζουμε τα μεγέθη και τις παραμέτρους που χρειάζεται να μελετήσουμε στα p2p συστήματα προκειμένου να εξάγουμε συμπεράσματα για την απόδοσή τους.η κατανόηση αυτού του κεφαλαίου είναι ιδιαίτερα σημαντική,καθώς πάνω σε αυτές τις παραμέτρους θα στηριχτούν όλες οι θεωρίες και τα συμπεράσματά μας. Στο πέμπτο κεφάλαιο γίνεται μια σύντομη περιγραφή του προγράμματος OPnet που χρησιμοποιήσαμε προκειμένου να μοντελοποιήσουμε το σύστημά μας και να πάρουμε στοιχεία για την απόδοσή του.ξεκινάμε με μια θεωρητική ανάλυση που περιγράφει πώς δουλεύει αυτό το πρόγραμμα,συνεχίζουμε επεξηγώντας την προγραμματιστική διαδικασία καθώς και τις εντολές και μοντέλα που χρησιμοποιήθηκαν. Στο έκτο και τελευταίο κεφάλαιο παρουσιάζονται τα αποτελέσματα της εξομοίωσης κάνοντας κάποιες παρατηρήσεις για αυτά και καταλήγοντας στα αντίστοιχα συμπεράσματα.πρόκειται ίσως για το ποιό σημαντικό κεφάλαιο της μελέτης μας,καθώς μέσα από αυτό βλέπουμε πού οδήγησαν οι αρχικές μας σκέψεις,ενώ ταυτόχρονα αποτελεί τη βάση για περαιτέρω μελέτες.

11 ΚΕΦΑΛΑΙΟ 1 :ΘΕΩΡΗΤΙΚΗ ΑΝΑΛΥΣΗ ΤΩΝ ΔΙΚΤΥΩΝ ΚΑΙ ΤΩΝ PEER TO PEER ΣΥΣΤΗΜΑΤΩΝ 1.1.Εισαγωγικές έννοιες δικτύων 1.1.α.Τι είναι Δίκτυο Υπολογιστών Ένα δίκτυο υπολογιστών είναι ένα σύστημα επικοινωνίας δεδομένων που συνδέει δύο ή περισσότερους αυτόνομους και ανεξάρτητους υπολογιστές και περιφερειακές συσκευές. Δύο υπολογιστές θεωρούνται διασυνδεδεμένοι όταν μπορούν να ανταλλάσσουν μεταξύ τους πληροφορίες. 1.1.β.Σκοπός των Δικτύων Τα δίκτυα δημιουργήθηκαν για να εξυπηρετήσουν τις ανάγκες που προέκυψαν από την εξάπλωση της χρήσης των υπολογιστών. Βασικός σκοπός της ύπαρξης των δικτύων είναι ο διαμερισμός των πόρων του συστήματος και η ανταλλαγή πληροφοριών κάθε μορφής (προγράμματα, αρχεία, δεδομένα). Πόροι του συστήματος μπορούν να είναι είτε υλικό (hardware), π.χ. υπολογιστές, εκτυπωτές, plotters, σκληροί δίσκοι είτε λογισμικό (software), π.χ. δεδομένα, προγράμματα εφαρμογών, υπηρεσίες. Τα προγράμματα, τα δεδομένα και οι συσκευές (σκληροί δίσκοι, εκτυπωτές, κλπ) είναι διαθέσιμα σε οποιονδήποτε είναι συνδεδεμένος στο δίκτυο, ανεξάρτητα από τη φυσική του θέση. Με τον τρόπο αυτό επιτυγχάνεται εξοικονόμηση χρημάτων, αύξηση της απόδοσης του συστήματος, κεντρικός έλεγχος και εύκολη επεκτασιμότητα. Σε ένα δίκτυο μπορούμε να έχουμε ανταλλαγή δεδομένων, προγραμμάτων, χρήση κοινών βάσεων δεδομένων, αρχείων, αποστολή μηνυμάτων (electronic mail). Επιπλέον, ανεξάρτητα της τεχνολογίας, ένα δίκτυο είναι ένα πανίσχυρο μέσο επικοινωνίας ανθρώπων που βρίσκονται σε διαφορετικά μέρη. 1.1.γ. Αρχιτεκτονική των Δικτύων Η αρχιτεκτονική των δικτύων καθορίζει τον τρόπο με τον οποίο οι υπολογιστές και οι λοιπές συσκευές συνδέονται μεταξύ τους για να σχηματίσουν ένα σύστημα επικοινωνίας που θα επιτρέπει στους χρήστες να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Σε ένα δίκτυο δεδομένων περιλαμβάνονται: 1. Τερματικοί Κόμβοι. Ελέγχουν τους πόρους του δικτύου (λογισμικό και υλικό). 2. Υποδίκτυα Φυσικά μέσα μετάδοσης, πρωτόκολλα επικοινωνίας, τοπολογία, τερματικοί κόμβοι, πόροι που μπορούν να διαφέρουν πολύ ανά υποδίκτυο. 3. Συσκευές Διασύνδεσης Διασύνδεουν τα ετερογενή υποδίκτυα έτσι ώστε να εξασφαλίζεται η επικοινωνία τερματικών κόμβων που βρίσκονται σε διαφορετικά υποδίκτυα.

12 1.1.δ. Υλοποίηση της Διασύνδεσης Για να επικοινωνήσουν δύο υπολογιστικά συστήματα πρέπει να υπάρξει μεταξύ τους φυσική και λογική διασύνδεση. Ι. Διασύνδεση σε Φυσικό επίπεδο. Η διασύνδεση επιτυγχάνεται χρησιμοποιώντας: Φυσικό Μέσο Μετάδοσης. Είναι το μέσο ή ο φορέας που διακινεί την πληροφορία. Τα πιο συνηθισμένα μέσα είναι το ομοαξονικό καλώδιο, το ζεύγος συνεστραμμένων καλωδίων και οι οπτικές ίνες. Κάθε μέσο έχει τα δικά του φυσικά χαρακτηριστικά, εύρος ζώνης και ανοχή στον θόρυβο επηρεάζοντας άμεσα τον τρόπο και την ταχύτητα μετάδοσης. Τοπολογία Δικτύου. Καθορίζει τον τρόπο με τον οποίο διασυνδέονται μεταξύ τους οι συσκευές του δικτύου. Η πιο απλή είναι η σύνδεση σημείο με σημείο. Οι υπόλοιπες τοπολογίες χαρακτηρίζονται σαν δίκτυα ακρόασης, όπου κάθε κόμβος συνδέεται με όλους τους υπόλοιπους. Τέτοιες τοπολογίες είναι: αρτηρίας ή διαύλου (bus) δακτυλίου (ring) αστέρα (star) δένδρου (tree) δικτυωτή (mesh). Μέθοδος πρόσβασης στο μέσο. Στα δίκτυα ακρόασης, όπου όλοι οι κόμβοι έχουν πρόσβαση σε κοινό μέσο, απαιτείται μια μέθοδος που θα εξασφαλίζει ποιος κόμβος μεταδίδει κάθε φορά. Οι βασικές μέθοδοι είναι 3 : με ανταγωνισμό (π.χ. Ethernet) με διαβούλευση (π.χ. Token Ring) με πολυπλεξία (π.χ. Time Division Multiplexing) Τεχνική Μετάδοσης και κωδικοποίησης των δεδομένων. Η πληροφορία, προκειμένου να μεταδοθεί, πρέπει να μετατραπεί στη μορφή που το μέσο μπορεί να μεταδώσει. Οι κυριότερες τεχνικές μετάδοσης είναι: βασικής / ευρείας ζώνης ψηφιακού / αναλογικού σήματος διαμόρφωση / αποδιαμόρφωση σύγχρονη / ασύγχρονη Ταχύτητα μετάδοσης. Μετρείται σε bits/sec και εξαρτάται από το μέσο και την τεχνική μετάδοσης, το εύρος ζώνης και τη μέθοδο πρόσβασης στο μέσο. Εξοπλισμός διασύνδεσης. Είναι τα εξαρτήματα που συνδέουν τις συσκευές με το μέσο επικοινωνίας. ΙΙ. Διασύνδεση σε Λογικό επίπεδο. Εκτός από τη φυσική διασύνδεση πρέπει να δημιουργηθεί μια λογική σύνδεση μεταξύ των κόμβων που θα επικοινωνήσουν. Η σύνδεση πρέπει να περιλαμβάνει τις εξής λειτουργίες : Αποκατάσταση σύνδεσης. Υλοποιείται με μηχανισμούς λογικής σύνδεσης και ανεύρεσης του κόμβου προορισμού μέσω διευθυνσιοδότησης. Μεταφορά δεδομένων. Υλοποιείται με λειτουργίες κατακερμάτισης της προς μετάδοση πληροφορίας σε πακέτα δεδομένων, με την δρομολόγηση των πακέτων, την ανίχνευση λαθών και την επαναμετάδοση, τον έλεγχο ροής και ακολουθίας των πακέτων και την επανασυναρμολόγηση της πληροφορίας στον κόμβο προορισμού.

13 Τερματισμός σύνδεσης. Υλοποιείται με μηχανισμούς τερματισμού της σύνδεσης. Όλες οι διασυνδέσεις πραγματοποιούνται με τη χρήση πρωτοκόλλων επικοινωνίας τα οποία, ανεξάρτητα της αρχιτεκτονικής που χρησιμοποιείται, οργανώνονται σε ομάδες. 1.1.ε.Βασικά στοιχεία υλοποίησης δικτύων Ένα δίκτυο αποτελείται από τα εξής βασικά μέρη: Διακομιστής αρχείων (File Server). Είναι ο πυρήνας του δικτύου και συνήθως ένας πολύ γρήγορος μικροϋπολογιστής που τρέχει το λειτουργικό σύστημα του δικτύου και διαχειρίζεται τη ροή των δεδομένων. Είναι ο μεγαλύτερος υπολογιστής του δικτύου με μεγάλες αποθηκευτικές ικανότητες (συνήθως με σκληρούς δίσκους μερικών GigaBytes) και μεγάλη κεντρική μνήμη. Μερικές από τις υπηρεσίες που παρέχει ο file server είναι: αποθήκευση των προγραμμάτων του λειτουργικού συστήματος του δικτύου καθώς και βοηθητικών προγραμμάτων. αποθήκευση των προγραμμάτων και των δεδομένων των χρηστών του δικτύου. διαχείριση του συστήματος αρχείων, των διαμοιραζόμενων περιφερειακών συσκευών, της δυνατότητας προσπέλασης των χρηστών και της ασφάλειας του δικτύου,παρακολούθηση της λειτουργίας και της αποδοτικότητας του δικτύου. Είναι πιθανόν να υπάρχουν περισσότεροι από ένας servers για να υποστηρίξουν όλες αυτές τις λειτουργίες. Αυτοί αναφέρονται σαν dedicated servers (αφιερωμένοι servers) και μπορούν να είναι: communication servers (επικοινωνιών). Διαχειρίζονται τις συνδέσεις μεταξύ των κόμβων του δικτύου καθώς και τις συνδέσεις με άλλα τοπικά δίκτυα ή μεγαλύτερα συστήματα (mainframes) και παρέχουν τη δυνατότητα χρήσης ηλεκτρονικού ταχυδρομείου ( ). backup servers. Εξυπηρετούν τη λήψη αντιγράφων ασφαλείας των αρχείων και των δεδομένων. database servers. Αποθηκεύουν βάσεις δεδομένων ή object-oriented πληροφορίες που προσπελάσσονται από τους χρήστες. print servers. Εξυπηρετούν τις εκτυπώσεις στο δίκτυο δίνοντας το δικαίωμα στους χρήστες να προσαρτώνται στους εκτυπωτές του δικτύου μέσω των ουρών εκτύπωσης. Ο print server εγκαθίσταται συνήθως στον file server ή σε κάποιον αφιερωμένο (dedicated) σταθμό του δικτύου. Σταθμοί εργασίας (workstations). Είναι προσωπικοί υπολογιστές με το δικό τους λειτουργικό σύστημα συνδεδεμένοι φυσικά με το διακομιστή αρχείων μέσω καλωδίων και καρτών επικοινωνίας. Οι χρήστες δεν χρησιμοποιούν τον file server απευθείας, αλλά μόνον μέσω των σταθμών εργασίας. Μερικές φορές, ένας σταθμός εργασίας αναφέρεται και σαν κόμβος. Κάρτες διασύνδεσης δικτύου (NIC - Network Interface Card). Για να είναι δυνατή η σύνδεση, ο file server και κάθε σταθμός εργασίας περιέχει μια κάρτα διασύνδεσης δικτύου, μέσω της οποίας συνδέεται με όλες τις υπόλοιπες συσκευές.κάθε κάρτα δικτύου σχεδιάζεται για ένα συγκεκριμένο τύπο δικτύου π.χ. Ethernet, FDDI,token ring κλπ. Λειτουργούν στο φυσικό επίπεδο του μοντέλου OSI καθορίζοντας πρωτόκολλα για τα μηχανικά και ηλεκτρικά χαρακτηριστικά της διασύνδεσης.χρησιμοποιούν συγκεκριμένες μεθόδους για τη μεταβίβαση των πληροφοριών που λαμβάνουν προς τον υπολογιστή (οι 4 μέθοδοι που αφορούν συστήματα βασισμένα σε επεξεργαστές Intel είναι : direct memory access, shared adapter memory, shared system memory, bus mastering). Η τοποθέτηση μιας κάρτας δικτύου απαιτεί προσοχή. Πρέπει η διεύθυνση μιας κάρτας δικτύου να μην συμπίπτει με άλλες όπως π.χ. της σειριακής ή της παράλληλης θύρας. Περιφερειακές συσκευές, (εκτυπωτές, tapes κλπ). Καλώδιο σύνδεσης. Τα συνηθέστερα καλώδια είναι τα χάλκινα καν των οπτικών ινών. Τα χάλκινα είναι φθηνά και αποτελούν την πλειοψηφία των εγκαταστάσεων, ενώ οι οπτικές ίνες κερδίζουν συνεχώς έδαφος, λόγω της μείωσης του κόστους, της απλοποίησης των τεχνικών εγκατάστασης και της ανάγκης για ολοένα και μεγαλύτερη ταχύτητα. Υπάρχουν τρεις τύποι χάλκινων καλωδίων : ομοαξονικό, συνεστραμμένου ζεύγους με θωράκιση και χωρίς θωράκιση.

14 1.1.στ.Πρωτόκολλο επικοινωνίας Η λέξη "πρωτόκολλο" αναφέρεται στους κανόνες που ακολουθεί ένα δίκτυο για την αποστολή ή λήψη δεδομένων μεταξύ των κόμβων. Τα πιο δημοφιλή πρωτόκολλα επικοινωνιών είναι τα ARCnet, Token Ring, Ethernet. Τα πρότυπα των Token Ring (802.5) και Ethernet (802.3) είναι αποδεκτά από διεθνείς οργανισμούς τυποποίησης (IEEE). Η ύπαρξη των προτύπων βοηθά στη συμβατότητα ανάμεσα στους κατασκευαστές hardware και software. Η διαδικασία μετάδοσης δεδομένων σε ένα δίκτυο περιλαμβάνει: τον υπολογιστή - αφετηρία το πρωτόκολλο επικοινωνίας το μεταδότη το καλώδιο μεταφοράς το δέκτη τον υπολογιστή - προορισμό Ο υπολογιστής - αφετηρία μπορεί να είναι οποιοσδήποτε υπολογιστής του δικτύου. Το πρωτόκολλο επικοινωνίας αποτελείται από ολοκληρωμένα κυκλώματα καθώς και από τα προγράμματα της κάρτας διασύνδεσης του δικτύου και είναι υπεύθυνο για τη λογική της επικοινωνίας του δικτύου. Ο μεταδότης στέλνει ηλεκτρικά σήματα μέσα από το καλώδιο. Ο δέκτης λαμβάνει τα σήματα και τα αποκωδικοποιεί για το μηχανισμό πρωτοκόλλου. Η μετάδοση ξεκινά με τον υπολογιστή που στέλνει ακατέργαστα δεδομένα (bits) στο μηχανισμό πρωτοκόλλου. Αυτός αναλαμβάνει να δημιουργήσει πλαίσια δεδομένων που περιέχουν πεδία δεδομένων, ελέγχου και της διεύθυνσης όπου θα αποσταλούν. Στη συνέχεια, μετατρέπονται σε ηλεκτρικά σήματα και προωθούνται στο δέκτη όπου πάλι ο μηχανισμός πρωτοκόλλου αναλαμβάνει να μεταβιβάσει τα δεδομένα στον υπολογιστή- προορισμό, αφού προηγουμένως ανιχνεύσει λάθη μετάδοσης και επιβεβαιώσει την ορθή λήψη, μέσω των πεδίων ελέγχου. Από την όλη διαδικασία, γίνεται φανερό, ότι το πρωτόκολλο επικοινωνίας ελέγχει τη λογική της επικοινωνίας του δικτύου. Κάθε τύπος πρωτοκόλλου έχει πλεονεκτήματα και μειονεκτήματα, ανάλογα με τον τρόπο εγκατάστασης του δικτύου, το πλήθος των δεδομένων που μεταφέρονται, τον αριθμό των σταθμών εργασίας κλπ. Επιπλέον, το πρωτόκολλο που επιλέγεται επηρεάζει και το είδος της καλωδίωσης που μπορεί να χρησιμοποιηθεί. 1.1.ζ.Λειτουργικό Σύστημα Δικτύου Το λειτουργικό σύστημα είναι το πρόγραμμα που διαχειρίζεται τους πόρους ενός Η/Ύ. Στους πόρους περιλαμβάνονται: η μνήμη του υπολογιστή η είσοδος / έξοδος σε περιφερειακές συσκευές το σύστημα αρχείων η φόρτωση και εκτέλεση προγραμμάτων εφαρμογών στη μνήμη του Η/Ύ ο χρονικός προγραμματισμός της CPU μεταξύ των προγραμμάτων εφαρμογών. Ένα δίκτυο αποτελείται από πόρους, όπως σταθμοί εργασίας και εκτυπωτές, και συσκευές επικοινωνιών, όπως διανομείς, γέφυρες και πύλες. Το λειτουργικό σύστημα δικτύου (NOS -Network Operating System) είναι ένα σύνολο προγραμμάτων που διαχειρίζεται πόρους σε μεγαλύτερη κλίμακα. Στους πόρους περιλαμβάνονται: η μνήμη του Η/Ύ στον οποίο εκτελείται το NOS η είσοδος / έξοδος σε διαμεριζόμενες συσκευές δικτύου συστήματα απομακρυσμένων αρχείων, προσπελάσιμων από άλλους σταθμούς εργασίας η φόρτωση και εκτέλεση κοινών προγραμμάτων εφαρμογών ο χρονικός προγραμματισμός της CPU μεταξύ των διεργασιών Από τα πιο γνωστά λειτουργικά συστήματα δικτύων είναι: SNA της IBM, peer-to-peer, με πρωτόκολλα APPC /ΑΡΡΝ UNIX, peer-to-peer, με πρωτόκολλα TCP / IP

15 Novell Netware, dedicated server, με πρωτόκολλα επικοινωνίας IPX /SPX Windows NT και Windows for Workgroups, peer-to-peer, με πρωτόκολλα επικοινωνίας NetBIOS / NetBEUI ή TCP / IP. 1.2.Τί είναι τα peer to peer δίκτυα Ο όρος peer to peer αναφέρεται σε κάθε σχέση μεταξύ ενός αριθμού αυτόνομων συσκευών οι οποίες συμπεριφέρονται ως ομότιμες. Τα peer to peer δίκτυα είναι δίκτυα στα οποία κάθε υπολογιστής μπορεί να ενεργήσει είτε ως client (ζητώντας δεδομένα), είτε ως server (προσφέροντας δεδομένα), είτε τέλος ως servent (ένας συνδυασμός δηλαδή client και server). Οι τεχνολογίες peer to peer επιτρέπουν το διαμοιρασμό των δικτυακών πόρων και υπηρεσιών, όπως είναι η πληροφορία,τα αρχεία, οι κύκλοι επεξεργασίας και ο χώρος αποθήκευσης, μέσω απευθείας επικοινωνίας μεταξύ των συστημάτων (χωρίς απαραίτητα τη χρήση κεντρικών servers). Σε αντίθεση με τα δίκτυα client server τα peer to peer δίκτυα υπόσχονται βελτιωμένη επεκτασιμότητα, χαμηλότερα κόστη ιδιοκτησίας,μεγαλύτερη ανέχεια σε σφάλματα και αποκεντρωμένο συντονισμό των χρησιμοποιούμενων ή περιορισμένων πόρων. Τα χαρακτηριστικά αυτά σε συνδυασμό με την ανάπτυξη του Internet δημιούργησαν νέα πεδία εφαρμογών για peer to peer δίκτυα. Σαν αποτέλεσμα τα τελευταία χρόνια ο αριθμός των peer to peer εφαρμογών αυξήθηκε σε πολύ μεγάλο βαθμό. Παράλληλα αυξήθηκαν και οι συζητήσεις σχετικά με την απόδοση και τα όρια τους, όπως επίσης με τις οικονομικές, κοινωνικές και νομικές επιπτώσεις αυτών των εφαρμογών. 1.2.α.Χαρακτηριστικά των peer to peer δικτύων Όπως ήδη αναφέρθηκε τα κύρια χαρακτηριστικά των δικτύων peer to peer είναι ο διαμοιρασμός των δικτυακών πόρων και υπηρεσιών, η αποκέντρωση και η αυτονομία. Κατά μία έννοια, με βάση αυτά τα χαρακτηριστικά το αρχικό Internet ή ARPANET μπορεί να θεωρηθεί ένα peer to peer δίκτυο. Διαμοιρασμός δικτυακών πόρων και υπηρεσιών (sharing of distributed resources and services).σε ένα peer to peer δίκτυο κάθε κόμβος μπορεί να λειτουργήσει και σαν client και σαν server δηλαδή σαν παροχέας και καταναλωτής αντίστοιχα πόρων και υπηρεσιών όπως πληροφορία,αρχεία, bandwidth, κύκλοι επεξεργασίας και αποθήκευση. Έτσι καθώς προσθέτονται νέοι κόμβοι και η ζήτηση στο σύστημα αυξάνεται, αυξάνεται επίσης και η χωρητικότητά του. Αποκέντρωση (decentralization) Στα peer to peer δίκτυα δεν υπάρχει κάποιο κεντρικό σημείο που να οργανώνει το δίκτυο ή τη χρήση των πόρων και των επικοινωνιών ανάμεσα στους κόμβους του δικτύου. Αυτό σημαίνει ότι κανένας κόμβος δεν έχει κεντρικό έλεγχο πάνω στους υπόλοιπους. Με αυτήν την έννοια η επικοινωνία μεταξύ των κόμβων γίνεται απευθείας. Όπως θα δούμε παρακάτω, συχνά γίνεται διάκριση μεταξύ των καθαρών και των υβριδικών peer to peer δικτύων. Στα καθαρά peer to peer συστήματα οι κόμβοι μοιράζονται ίσα δικαιώματα και λειτουργίες. Στα υβριδικά συστήματα ένα σύνολο επιλεγμένων λειτουργιών όπως το indexing και η επικύρωση εκχωρείται σε ένα υποσύνολο κόμβων που υιοθετούν τον ρόλο μιας οντότητας συντονισμού. Αυτονομία (autonomy) Κάθε κόμβος ενός peer to peer δικτύου μπορεί αυτόνομα να αποφασίσει πότε και σε ποιο βαθμό θα κάνει τους πόρους του διαθέσιμους στους υπόλοιπους κόμβους.τα παραπάνω χαρακτηριστικά δημιουργούν μια σειρά πλεονεκτημάτων για τα peer to peer δίκτυα όπως μειωμένα κόστη ιδιοκτησίας, επεκτασιμότητα και υποστήριξη ad hoc δικτύων. Μειωμένο κόστος ιδιοκτησίας. Τα έξοδα απόκτησης και λειτουργίας των υποδομών μπορούν να μειωθούν με τη χρησιμοποίηση των ήδη υπαρχουσών υποδομών και τη μείωση του κόστους διαχείρισης και χρήσης. Για παράδειγμα με τη χρήση peer to peer δικτύων για αποθήκευση δεδομένων δεν υπάρχει η ανάγκη διατήρησης κεντρικού server για την αποθήκευση ολόκληρου του όγκου των δεδομένων.

16 Επεκτασιμότητα. Στα peer to peer δίκτυα η εξάρτηση από κεντρικά σημεία είναι μειωμένη.για το λόγο αυτό και εξαιτίας του χωρικού διαμοιρασμού της πληροφορίας και της δημιουργίας αντιγράφων η πιθανότητα συμφόρησης (bottleneck) είναι μικρότερη. Τα υβριδικά συστήματα διαμοιρασμού αρχείων έχουν πλεονεκτήματα επεκτασιμότητας σε σχέση με τις client/server προσεγγίσεις. Αυτό οφείλεται στην απευθείας ανταλλαγή αρχείων μεταξύ των κόμβων χωρίς τη βοήθεια κάποιου server. Ad hoc δίκτυα. Με τον όρο ad hoc εννοούμε περιβάλλοντα στα οποία τα μέλη τους έρχονται και φεύγουν βασισμένα ίσως στην φυσική τους θέση ή στα ενδιαφέροντά τους εκείνη τη στιγμή. Τα peer to peer δίκτυα είναι ιδανικά για ad hoc δικτυώσεις των κόμβων καθώς ανέχονται διακοπές στις συνδέσεις. Τα πλεονεκτήματα αυτά, βέβαια, αντισταθμίζονται από μια σειρά μειονεκτημάτων. Οι μηχανισμοί ασφαλείας όπως η επικύρωση και η εξουσιοδότηση μπορούν να υλοποιηθούν ευκολότερα στα δίκτυα με κεντρικό server. Επίσης η διαθεσιμότητα των πόρων και των υπηρεσιών σε μικρά δίκτυα δεν μπορεί πάντα να εγγυηθεί λόγω των διακοπών των συνδέσεων. Για παράδειγμα, στα δίκτυα διαμοιρασμού αρχείων απαιτείται η δημιουργία μεγάλου αριθμού αντιγράφων ώστε να εγγυηθεί το επιθυμητό επίπεδο διαθεσιμότητας. Το γεγονός αυτό, βέβαια, έχει σαν αποτέλεσμα την αύξηση του απαιτούμενου αποθηκευτικού χώρου. 1.2.β.Αρχιτεκτονική των peer to peer δικτύων Τα συστήματα peer to peer όπως όλα τα δίκτυα έχουν συγκεκριμένες τοπολογίες και αρχιτεκτονικές. Από το 1999 που πρωτοεμφανίστηκαν με τη σημερινή τους μορφή υπήρξαν τρεις γενιές peer to peer δικτύων. Α.)Συγκεντρωτικά συστήματα( Centralized systems) Η πρώτη γενιά peer to peer συστημάτων υλοποιεί μια αρχιτεκτονική client-server. Τα συγκεντρωτικά αυτά συστήματα χρησιμοποιούν έναν κεντρικό server από τον οποίο περνάει όλη η επικοινωνία. Ο server αυτός διατηρεί μια βάση δεδομένων του περιεχομένου όλου του δικτύου, δηλαδή καταλόγους των διαμοιρασμένων αρχείων σε κάθε κόμβο,και οι clients συνδέονται σε αυτό οποιαδήποτε στιγμή. Για πολλούς τα συστήματα αυτά δεν θεωρούνται peer to peer καθώς οι κόμβοι δεν επικοινωνούν απευθείας μεταξύ τους. Παραδείγματα τέτοιων συστημάτων είναι το και τα περισσότερα προγράμματα chat. Μια παραλλαγή των συγκεντρωτικών συστημάτων είναι τα συστήματα brokered, στα οποία χρησιμοποιείται ένας μικρός αριθμός index servers για τη διαχείριση των συνδέσεων των κόμβων. Κάθε κόμβος γνωρίζει μόνο τον server και τους κόμβους που του συστήνει αυτός. Από τη στιγμή που ο server βρει ταίριασμα για το αίτημα του κόμβου, οι κόμβοι επικοινωνούν απευθείας μεταξύ τους.. Το αρχείο δεν αποθηκεύεται ποτέ στον κεντρικό server.παράδειγμα brokered συστημάτων είναι το Napster. Κάθε χρήστης του Napster συνδεόταν με τον κεντρικό του server και του δήλωνε ποια αρχεία είχε διαθέσιμα και πως μπορούν να τα βρουν οι υπόλοιποι χρήστες. Ύστερα όταν κάποιος κόμβος έψαχνε κάποιο συγκεκριμένο αρχείο ή άλλο κόμβο έστελνε το αίτημα του στο server ο οποίος αποκρινόταν με μια λίστα αρχείων και πληροφοριών σύνδεσης. Στο σημείο αυτό οι δυο κόμβοι συνδέονταν και μετέφεραν το αρχείο. Στην πορεία του χρόνου το Napster αντιμετώπισε πλήθος νομικών προβλημάτων λόγω παραβίασης των πνευματικών δικαιωμάτων και τελικά αναγκάστηκε να κλείσει τον κεντρικό του server. Η ύπαρξη κεντρικού server έχει σαν αποτέλεσμα έναν αριθμό πλεονεκτημάτων και μειονεκτημάτων. Το γεγονός ότι οι server είναι γνωστές τοποθεσίες και μπορεί κανείς να συνδεθεί εύκολα με αυτούς αποτελεί το πιο σημαντικό πλεονέκτημά των συγκεντρωτικών συστημάτων. Το αποτέλεσμα είναι μικροί χρόνοι ανταπόκρισης και αύξηση της απόδοσης. Επίσης το πρωτόκολλο είναι απλό. Από την άλλη μεριά η ύπαρξη κεντρικού server αυξάνει την πιθανότητα κατάρρευσης του συστήματος καθώς αν πέσει ο server πέφτει το δίκτυο.

17 Αναπαράσταση συγκεντρωτικού συστήματος Β.) Αποκεντρωμένα συστήματα (Decentralized / Distributed systems) Μετά τα νομικά προβλήματα του Napster πολλά δίκτυα διαμοιρασμού αρχείων προσανατολίστηκαν σε πλήρως αποκεντρωμένες προσεγγίσεις. Στα αποκεντρωμένα συστήματα χρησιμοποιούνται μόνο ομότιμοι κόμβοι κανένας server. Κάθε ομότιμος κόμβος αναλαμβάνει καθήκοντα τόσο index server, αναζητώντας τοπικά πόρους, όσο και δρομολογητή. Συνδέεται απευθείας με έναν αριθμό άλλων κόμβων. Όλα τα αιτήματα αναζήτησης και οι απαντήσεις τους μεταφέρονται από κάθε κόμβο στους γειτονικούς του. Ένας νέος κόμβος συνδέεται σε έναν υπάρχοντα κόμβο ο οποίος τον συστήνει σε κάποιους από τους υπόλοιπους κόμβους. Δύο ξεχωριστά αποκεντρωμένα συστήματα μπορούν να συνενωθούν με έναν μόνο κόμβο που τα συνδέει μεταξύ τους.τα Gnutella και Freenet είναι παραδείγματα τέτοιων συστημάτων. Το Gnutella( είναι ένα από τα πιο δημοφιλή δίκτυα διαμοιρασμού αρχείων ενώ το Freenet( είναι μια διαμοιρασμένη αποθήκη δεδομένων με σκοπό την παροχή ελευθερίας λόγου μέσω ισχυρής ανωνυμίας.το πλεονέκτημα των αποκεντρωμένων συστημάτων σε σχέση με τα συγκεντρωτικά είναι ότι δεν υπάρχει κάποιο αδύναμο σημείο η κατάρρευση του οποίου θα επιφέρει κατάρρευση ολόκληρου του δικτύου.το μειονέκτημά τους είναι πως το γεγονός της μεταφοράς κάθε αιτήματος από κάθε κόμβο στους γειτονικούς του επιφέρει μεγάλους χρόνους αναζήτησης που δημιουργούν μεγάλο όγκο κυκλοφορίας στο δίκτυο( chatter).

18 Αναπαράσταση αποκεντρωμένου συστήματος Γ.) Υβριδικά συστήματα, υπερκόμβοι (Hybrid systems, super-nodes) Η τρίτη αρχιτεκτονική είναι ένα υβρίδιο των δύο προηγουμένων, αν και μπορεί να θεωρηθεί ως υποκατηγορία των αποκεντρωμένων συστημάτων. Συνδυάζει την αποτελεσματικότητα των συγκεντρωτικών συστημάτων με τα θετικά χαρακτηριστικά των αποκεντρωμένων που αναφέρθηκαν προηγουμένως. Σε αυτά τα συστήματα αν κάποιος κόμβος έχει συγκεκριμένα πλεονεκτήματα όπως για παράδειγμα υψηλή ταχύτητα σύνδεσης ενεργεί σαν supernode. Ένας supernode έχει τα χαρακτηριστικά κεντρικού index server. Όταν ένας client συνδέεται στο δίκτυο φτιάχνει μια απευθείας σύνδεση με ένα supernode ο οποίος συγκεντρώνει και αποθηκεύει πληροφορίες σχετικές με τους κόμβους και διαθέσιμο περιεχόμενο για διαμοιρασμό. Έτσι ο χρόνος αναζήτησης και ο όγκος κυκλοφορίας στο δίκτυο είναι μειωμένοι σε σχέση με τα αποκεντρωμένα συστήματα. Επίσης οι ανάπτυξη των supernodes παρέχει αυξημένο βαθμό απόδοσης.ένα άλλο πλεονέκτημα των υβριδικών δικτύων είναι ότι σε περίπτωση που κάποιος supernode έχει πρόβλημα, τότε οι υπόλοιποι supernodes αναλαμβάνουν προσωρινά τη θέση του μέχρι να επανέλθει ή να αντικατασταθεί από έναν καινούριο.

19 1.2.γ.Εφαρμογές των peer to peer δικτύων Αναπαράσταση υβριδικού συστήματος Στην ενότητα αυτή παρουσιάζονται ορισμένες από τις πιο δημοφιλής σήμερα εφαρμογές των peer to peer συστημάτων. Τις εφαρμογές μπορούμε να τις διακρίνουμε σε τέσσερις κατηγορίες:εφαρμογές διαμοιρασμού αρχείων (file sharing), εφαρμογές κατανεμημένης εργασίας (distributed computing), εφαρμογές υπηρεσιών συνεργασίας (collaboration) και σε πλατφόρμες (platforms). Α.) Εφαρμογές File sharing Ο διαμερισμός αρχείων είναι η πιο διαδεδομένη μορφή εφαρμογών peer to peer. Εκτιμάται ότι το 70% της κυκλοφορίας στο Internet αφορά ανταλλαγές αρχείων κυρίως μουσικών. Το κοινό χαρακτηριστικό των εφαρμογών αυτών είναι ότι οι κόμβοι που κατεβάζουν ένα αρχείο σαν clients στη συνέχεια το κάνουν διαθέσιμο σε άλλους κόμβους σαν servers. Το βασικότερο πρόβλημα των εφαρμογών διαμοιρασμού αρχείων, όπως και όλων των peer to peer εφαρμογών είναι ο εντοπισμός των πόρων. Για την αντιμετώπισή του έχουν αναπτυχθεί διάφοροι αλγόριθμοι όπως το centralized directory model, το flooded request model και το Document routing model. Στη συνέχεια θα παρουσιάσουμε ορισμένα από τα πιο διαδεδομένα δίκτυα και εφαρμογές file sharing. BitTorrent Το BitTorrent είναι ίσως η πιο δημοφιλής σήμερα μέθοδος για το διαμοιρασμό μεγάλου όγκου δεδομένων Αντί ένας μόνο διανομέας να εξυπηρετεί κάθε παραλήπτη, με το BitTorrent κάθε παραλήπτης παρέχει επίσης δεδομένα σε νέους παραλήπτες. Έτσι το κόστος κάθε πόρου μειώνεται σημαντικά, παρέχεται μεγαλύτερη ανεκτικότητα σε προβλήματα του συστήματος και μειώνεται η εξάρτηση από τον αρχικό διανομέα. Για να διαμοιράσει ένα αρχείο ή μια ομάδα αρχείων ένας κόμβος θα πρέπει αρχικά να δημιουργήσει ένα torrent. Το torrent είναι ένα αρχείο μικρού μεγέθους το οποίο περιέχει μεταδεδομένα σχετικά με το αρχείο και με τον tracker, δηλαδή τον υπολογιστή που διευθύνει την διαδικασία του διαμοιρασμού. Ο χρήστης που θέλει να κατεβάσει ένα αρχείο θα πρέπει πρώτα να

20 αποκτήσει το αντίστοιχο torrent και να συνδεθεί με το συγκεκριμένο tracker ο οποίος τον ενημερώνει από ποιους άλλους κόμβους μπορούν να κατέβουν τμήματα του αρχείου που ζητήθηκε. Τα αρχεία torrent μπορούν να βρεθούν με τη βοήθεια μιας μηχανής αναζήτησης. Στο Internet υπάρχει μια πληθώρα τέτοιων μηχανών με τις οποίες μπορεί κανείς να εντοπίσει το torrent που τον ενδιαφέρει και να το κατεβάσει. Για τη σύνδεση με τον tracker απαιτείται ένα πρόγραμμα διαχείρισης των αρχείων torrent ( ένα BitTorrent client program). Κυκλοφορούν πολλά τέτοια προγράμματα στο Internet τα περισσότερα από τα οποία είναι αρκετά αξιόπιστα και εύκολα στη χρήση. Ενδεικτικά, μερικά από τα πιο γνωστά είναι τα Azureus, BitComet και BitTornado. Napster Το Napster ήταν η πρώτη ευρέως χρησιμοποιούμενη peer to peer υπηρεσία για το διαμοιρασμό μουσικών αρχείων και είχε μεγάλο αντίκτυπο στο τρόπο με τον οποίο ο κόσμος χρησιμοποιούσε το το Internet. Επέτρεπε στους χρήστες του να ανταλλάζουν τραγούδια σε μορφή MP3, οδηγώντας έτσι τη μουσική βιομηχανία να το κατηγορήσει για μαζική καταπάτηση των πνευματικών δικαιωμάτων. Αν και η αρχική υπηρεσία έκλεισε με δικαστική εντολή, το Napster άνοιξε το δρόμο για μια σειρά αποκεντρωμένων peer to peer συστημάτων όπως το Kazaa και το Limewire τα οποία χρησιμοποιούνται σήμερα και δίνουν τη δυνατότητα κατεβάσματος όχι μόνο μουσικών αρχείων αλλά και εικόνων και άλλων αρχείων. Η δημοτικότητα και ο αντίκτυπος του αρχικού Napster το έκαναν σχεδόν θρύλο στους τομείς των υπολογιστών και της διασκέδασης. Gnutella Το δίκτυο Gnutella είναι ένα πλήρως αποκεντρωμένη εναλλακτική πρόταση τόσο στα ημισυγκεντρωτικά συστήματα όπως το FastTrack όσο και στα συγκεντρωτικά όπως το Napster. Έγινε ιδιαίτερα δημοφιλές μετά τα νομικά προβλήματα που αντιμετώπισε το Napster to H ανάπτυξή του αυτή έφερε στην επιφάνεια προβλήματα σχετικά με την επεκτασιμότητα του δικτύου η οποία αργότερα με κάποιες αλλαγές στο πρωτόκολλο βελτιώθηκε. Σήμερα υπολογίζεται ότι έχει περίπου 2.2 εκατομμύρια χρήστες. Edonkey Το edonkey (γνωστό και ως ed2k) είναι ένα peer to peer δίκτυο διαμοιρασμού αρχείων που χρησιμοποιείται για την ανταλλαγή αρχείων και εικόνας όπως και λογισμικού.όπως τα περισσότερα δίκτυα διαμοιρασμού αρχείων είναι αποκεντρωμένο.τα προγράμματα client του edonkey συνδέονται στο δίκτυο για να ανταλλάξουν αρχεία και οι servers ενεργούν σαν ομφαλοί επικοινωνίας για τους clients. Υπάρχουν διαθέσιμοι clients και servers για Windows, Macintosh,Linux και άλλα λειτουργικά συστήματα. Τρέχοντας ένα πρόγραμμα edonkey server σε έναν υπολογιστή συνδεδεμένο στο Internet, κάθε χρήστης μπορεί να προσθέσει ένα server στο δίκτυο. Οι γνωστότερες εφαρμογές για το edonkey είναι τα emule, Morpheus και Sharaeza. Β.)Εφαρμογές Distributed Computing Υπάρχει μια συζήτηση για το κατά πόσο συστήματα κατανεμημένης εργασίας όπως το SETI@Home μπορούν να θεωρηθούν peer to peer. Στα συστήματα αυτά απαιτείται κεντρικός server για τον έλεγχο των προσφερόμενων υπολογιστικών πόρων, οι προσωπικοί υπολογιστές δεν λειτουργούν σαν servers και δεν επικοινωνούν μεταξύ τους. Παρόλα αυτά ένα σημαντικό μέρος του συστήματος εκτελείται στους προσωπικούς υπολογιστές με υψηλή αυτονομία. Για το λόγο αυτό αυτό τα συστήματα αυτά κατανεμημένης εργασίας θεωρούνται peer to peer. Κατά την κατανεμημένη εργασία ένα μεγάλο υπολογιστικό πρόβλημα που πρέπει να λυθεί χωρίζεται σε μικρά ανεξάρτητα τμήματα. Η επεξεργασία των τμημάτων αυτών γίνεται σε προσωπικούς υπολογιστές και τα αποτελέσματα συλλέγονται από έναν κεντρικό server Ο server αυτός είναι υπεύθυνος για την διανομή των εργασιών στους προσωπικούς υπολογιστές. Κάθε προσωπικός

21 υπολογιστής είναι εφοδιασμένος με λογισμικό πελάτη (client software). Κατά περιόδους αδράνειας του υπολογιστή το λογισμικό αυτό εκτελεί μέρος της επεξεργασίας που του ζητήθηκε από το server. Μετά τη λήξη της επεξεργασίας τα αποτελέσματα στέλνονται πίσω στον server και μια νέα εργασία ανατείθεται στον client. Ένας από τους κύριους περιορισμούς της διαδικασίας αυτής είναι ότι οι εργασίες πρέπει να μπορούν να χωριστούν σε μικρά ανεξάρτητα κομμάτια που δεν απαιτούν επικοινωνία μεταξύ των κόμβων. Για το λόγο αυτό οι σημερινές εφαρμογές αποτελούνται από προβλήματα SPMD (Single Process Multible Data). Οι χρηματοοικονομικές και οι εφαρμογές βιοτεχνολογίας είναι κατάλληλες για κατανεμημένη εργασία. Στον τομέα της βιοτεχνολογίας η διαθεσιμότητα τεραστίου όγκου δεδομένων οδήγησε στην ανάγκη ανώτερων τεχνικών υπολογισμού. Παραδοσιακά οι επιστήμονες χρησιμοποιούν HPC (high performance clustering) και λύσεις supercomputing και αναγκαστικά χρησιμοποιούσαν προσεγγιστικές τεχνικές για την ολοκλήρωση της έρευνας σε αποδεκτό χρόνο. Με τη χρήση αδρανών επεξεργαστικών κύκλων υπολογιστών του Internet και την ομαδοποίηση των πόρων από πολλές πηγές αυξάνεται η διαθέσιμη για τους ερευνητές υπολογιστική ισχύς. Εταιρείες όπως οι Platform Computing, Entropia, Avaki, και Grid Computing Bioinformatics προσφέρουν πλήρεις HPC λύσεις σε οργανισμούς βιολογικής έρευνας και φαρμακευτικής έρευνας και ανάπτυξης. Τα προγράμματα και χρησιμοποιούν αδρανείς κύκλους καταχωρημένων clients για την επεξεργασία τμημάτων πολύπλοκων προβλημάτων σχετικά με ακολουθίες DNA και διατάξεις πρωτεϊνών αντίστοιχα. Γ.) Εφαρμογές collaboration Kατανεμημένη εργασία στο web Οι υπηρεσίες peer to peer συνεργασίας έχουν σκοπό την συνεργασία μεταξύ των χρηστών σε επίπεδο εφαρμογών. Η ad hoc φύση της peer to peer τεχνολογίας την κάνει ιδανική για εφαρμογές συνεργασίας σε επίπεδο χρήστη. Οι εφαρμογές αυτές ποικίλουν από προγράμματα chat και instant messaging μέχρι online παιχνίδια και διαμοιρασμένες εφαρμογές που μπορούν να χρησιμοποιηθούν σε επιχειρήσεις, στην εκπαίδευση και σε οικιακά περιβάλλοντα. Δυστυχώς ένας αριθμός τεχνικών προκλήσεων πρέπει να λυθεί προτού καθαρές peer to peer υλοποιήσεις σε αυτόν τον τομέα γίνουν αρκετά βιώσιμες. Οι κυριότερες από αυτές είναι ο εντοπισμός των άλλων κόμβων, η ανέχεια στα σφάλματα και οι περιορισμοί του πραγματικού χρόνου.

22 Skype Το Skype είναι ένας peer to peer VoIP client που αναπτύχθηκε από το KaZaa και επιτρέπει στους χρήστες του την μετάδοση φωνής και αποστολή γραπτών μηνυμάτων σε άλλους Skype clients. Στην ουσία είναι σε μεγάλο βαθμό όμοιο με το MSN και το Yahoo ΙΜ αλλά τα προτώκολα και οι τεχνικές που χρησιμοποιεί είναι αρκετά διαφορετικά. Στο δίκτυο του Skype υπάρχουν δύο είδη κόμβων, οι κανονικοί και οι supernodes. Κάθε κόμβος με δημόσια IP διεύθυνση, αρκετή CPU, μνήμη και bandwidth μπορεί να γίνει supernode. Ένας κανονικός κόμβος πρέπει συνδεθεί με ένα supernode και να καταχωρηθεί στον Skype login server για ένα επιτυχημένο login. Αν και δεν είναι κόμβος, ο Skype login server είναι μια σημαντική οντότητα στο δίκτυο Skype καθώς εκεί αποθηκεύονται τα ονόματα και οι κωδικοί των χρηστών. Ο server αυτός διασφαλίζει ότι τα login names είναι μοναδικά και κάνει την επικύρωση κατά το login. Δεν υπάρχει κάποιος άλλος κεντρικός server. Οι online και οι offline πληροφορίες των χρηστών όπως και οι αιτήσεις αναζήτησης αποθηκεύονται και αναπαράγονται σε ένα αποκεντρωμένο σχεδιασμό. Το Skype ισχυρίζεται ότι έχει υλοποιήσει μία 3G P2P ή Global Index τεχνολογία η οποία εγγυάται τον εντοπισμό του χρήστη αν ο χρήστης αυτός συνδέθηκε στο Skype τις τελευταίες 72 ώρες. Το Skype έχει λογική ποιότητα κλήσεων με διαθέσιμο bandwidth 32Κb/s. Δ.)Platforms Τα λειτουργικά συστήματα έχουν αρχίσει να γίνονται όλο και λιγότερο σχετικά σαν περιβάλλοντα εφαρμογών. Λύσεις middleware όπως οι Java Virtual Machines ή οι Web browsers και servers είναι τα κυρίαρχα περιβάλλοντα ενδιαφέροντος των χρηστών και των δημιουργών των εφαρμογών.έτσι είναι αρκετά πιθανό τα μελλοντικά συστήματα να εξαρτώνται σε μεγάλο βαθμό από κάποιο άλλο είδος πλατφόρμας που θα είναι κοινός παρονομαστής για τους χρήστες και τις υπηρεσίες του Web ή των ad hoc δικτύων. Παραδείγματα τέτοιων περιβαλλόντων περιλαμβάνων τα AOL καιyahoo. Οι πλατφόρμες, ακόμα περισσότερο από τα άλλα peer to peer συστήματα, υποστηρίζουν τα κύρια peer to peer στοιχεία: ονοματοδοσία, εντοπισμό, ασφάλεια και συνένωση πόρων. Έχουν εξάρτηση από τα λειτουργικά συστήματα αν και αυτή είναι ελάχιστη. Τα περισσότερα peer to peer συστήματα τρέχουν είτε σε λειτουργικό σύστημα ανοιχτού κώδικα (Linux) ή βασίζονται στα Windows. Υπάρχει ένα πλήθος υποψηφίων που ανταγωνίζονται για τις μελλοντικές peer to peer πλατφόρμες. Το πιο φιλόδοξο είναι το.net ενώ μια άλλη προσέγγιση είναι το JXTA. 1.2.δ.Συμπεράσματα και μελλοντικές προοπτικές To peer to peer είναι μια σημαντική τεχνολογία που έχει ήδη βρει το δρόμο της με μια σειρά προϊόντων και ερευνητικών προγραμμάτων. Όσο ωριμάζει οι μελλοντικές του υλοποιήσεις θα βελτιώνονται. Θα υπάρχει αυξημένη διαλειτουργικότητα, περισσότερες συνδέσεις και καλύτερο software και hardware. Καθώς ο κόσμος γίνεται ολοένα και περισσότερο αποκεντρωμένος και συνδεδεμένος θα υπάρξει μια αυξανόμενη ανάγκη peer to peer αλγορίθμων για την βελτίωση της επεκτασιμότητας, τησ ανωνυμίας και των προβλημάτων σύνδεσης. Οι εφαρμογές των peer to peer είναι πολύ πιθανόν να είναι εξίσου ή και περισσότερο επιτυχημένες στο μέλλον. Παραδείγματα όπως αυτό του Napster είναι αρκετά πειστικά δείγματα αυτής της πιθανότητας. Πλατφόρμες όπως το JXTA είναι αρκετά πιθανόν να υιοθετηθούν ευρέως.τα συστήματα peer to peer θα παραμείνουν μια σημαντική λύση σε συγκεκριμένα προβλήματα των αποκεντρωμένων συστημάτων. Ίσως δεν είναι η μόνη επιλογή και ίσως δεν είναι κατάλληλη για όλα τα προβλήματα αλλά θα συνεχίσει να είναι μια καλή εναλλακτική επιλογή σε περιπτώσεις που απαιτείται επεκτασιμότητα, ανωνυμία και ανέχεια σε σφάλματα. Οι αλγόριθμοι, οι εφαρμογές και οι πλατφόρμες των peer to peer έχουν την δυνατότητα να αναπτυχθούν περαιτέρω στο μέλλον. Από την πλευρά της αγοράς το κόστος ιδιοκτησίας ίσως είναι ο κύριος παράγοντας ανάπτυξης των peer to peer συστημάτων. Η ισχυρή παρουσία peer to peer προϊόντων δείχνει πως εκτός από μια ενδιαφέρουσα για έρευνα τεχνολογία το peer to peer είναι μια υποσχόμενη βάση προϊόντων.

23 1.3.Streaming Streaming είναι η τεχνική κατά την οποία ένας χρήστης αναπαράγει ένα ακουστικό ή τηλεοπτικό αρχείο το οποίο κατεβάζει από ένα εξυπηρετητή προτού παραλάβει ολόκληρο το αρχείο. Μόλις αρχίσει η αναπαραγωγή, τα δεδομένα πρέπει να παραδοθούν μέσα στους χρονικούς περιορισμούς για να μπορέσει το αρχείο να παίξει κανονικά, κατά συνέπεια είναι πολύ ευαίσθητο στις μεγάλες καθυστερήσεις. Συγκεκριμένα, Media streaming είναι η τεχνολογία που επιτρέπει τη σειριακή μεταφορά δεδομένων κινούμενης εικόνας (video) και ήχου (sound) πάνω από ένα δίκτυο,με τέτοιο τρόπο ώστε ο παραλήπτης να τα παρουσιάζει άμεσα με την άφιξή τους χωρίς να περιμένει την ολοκλήρωση της διαδικασίας λήψης δεδομένων. Το p2p streaming υλοποιεί την τεχνολογία media streaming με την βοήθεια των peer to peer δικτύων.έχουμε δηλαδή διαμοιρασμό των δεδομένων,τα οποία εμφανίζονται σαν ένα ρευμα(stream) που σπάει σε μικρότερα κομμάτια,μεταξύ των ομότιμων (peer). Πρόκειται για μια εφαρμογή πραγματικού χρόνου με αυστηρούς χρονικούς περιορισμούς ως προς την παράδοση και πολύ απαιτητική από την άποψη του συνολικού εύρους ζώνης(bw),προκειμένου να γίνει η διανομή του stream μεταξύ των ομότιμων κόμβων. Οι βασικότερες παράμετροι που επηρεάζουν την απόδοση των p2p streaming συστημάτων είναι : Η καλύτερη δυνατή χρήση του υπάρχοντος εύρους ζώνης Η επίτευξη της ελαχιστοποίησης του χρόνου αρχικοποίησης(set-up time) Ωστόσο πολύ σημαντικό ρόλο στην απόδοση του συστήματος διαδραματίζουν: Η εκμετάλλευση της τοπικότητας (locality) H αρχιτεκτονική του συστήματος,δηλάδη η τοπολογία των κόμβων των ομότιμων που συνιστούν το γράφο των κόμβων του συστήματος(overlay) 1.4.Video-on-Demand 1.4.α.Σκοπός Ο σκοπός του κάθε p2p VoD(βίντεο κατ'απαίτηση) συστήματος είναι η παροχή υπηρεσίας streaming σε πραγματικό χρόνο, στην οποία ο κάθε χρήστης (peer) είναι ικανός να καταναλώσει κάθε σημείο(κομμάτι του video) από κάθε κατανεμημένο αντικείμενο τη χρονική στιγμή που το απαιτεί. Η γρήγορη, αξιόπιστη και αποδοτική μετάδοση του αντικείμενου αποτελεί τον πυρήνα του προβλήματος. Η κατανομή του κάθε αντικειμένου επιτυγχάνεται με την εκμετάλλευση του εύρους ζώνης αναφόρτωσης(upload) τόσο του εξυπηρετητή(server), όσο και των ομότιμων χρηστών(peers) που συμμετέχουν. Σε γενικές γραμμές, σε ένα P2P VoD σύστημα μια πηγή(ες)(εν ονόματι εξυπηρετητής) κατέχει ενα σύνολο από βίντεο που χαρακτηρίζονται ως προς διανομή αντικείμενα. Η πηγή(ες) είναι υπεύθυνη για την παροχή του βίντεο και με το εύρος ζώνης αναφόρτωσης του συμβάλλει στην εκπλήρωση αυτού του στόχου. Χρήστες που είναι clients της υπηρεσίας streaming συμπεριφέρονται ταυτόχρονα ως παροχείς εύρους ζώνης αναφόρτωσης για τη διάθεση του βίντεο. Σε αντίθεση με το live streaming, στο σύστημα VoD,οι χρήστες καταφθάνουν σε αυθαίρετο χρόνο για να δουν αυθαίρετα σημεία του βίντεο. Μια ερμηνεία αυτού είναι ότι οι χρήστες των live streaming εφαρμογών χρειάζεται να κρατούν μόνο λίγα λεπτά(καθώς οι χρήστες συγκεντρώνονται γύρω από το ίδιο σημείο αναπαραγωγής(playback point)), ενώ οι χρήστες των VoD εφαρμογών ενδεχομένως χρειάζεται να κατέχουν όλο το βίντεο. Συνεπώς, οι VoD εφαρμογές έχουν μεγαλύτερη ποικιλομορφία δεδομένων συγκριτικά με αυτές του live streaming. Η έλλειψη συγχρονισμού ανάμεσα στους χρήστες μειώνει τις ευκαρίες διαμοιρασμού βίντεου και αυξάνει τις ερευνητικές προκλήσεις για το σχεδιασμό μιας Ρ2Ρ VoD υπηρεσίας. Τέλος, εκτιμάται οτι αν το QoS του ρεύματος του βίντεο μειώνεται, περισσότεροι χρήστες θα φύγουν από το VoD σύστημα παρά από ένα live streaming, όπου ο χρήστης δεν έχει την επιλογή να το παρακολουθήσει πάλι στο μέλλον. Η βασική λύση για την επίτευξη ρευμάτωσης (streaming) βίντεο μέσω Internet ήταν το μοντέλο πελάτη-εξυπηρετητή(client server). Ενας client μετά τη σύνδεση με έναν server, έβλεπε

24 το βίντεο μέσω stream. Η επόμενη προσέγγιση ήταν τα CDN (δίκτυα διανομής περιεχομένου) όπου ο εξυπηρετητής αρχικά δίνει το βίντεο σε ένα σύνολο από εξυπηρετητές διανομής περιεχομένου και εν συνεχεία ο client, για να κατεβάσει το βίντεο, κατευθυνόταν στον κοντινότερο εξυπηρετητή. Παρολ'αυτα, αυξάνονται τα προβλήματα κλιμάκωσης και καθίστουν αυτήν τη λύση δαπανηρή. Για αυτό το λόγο προτάθηκε η αρχιτεκτονική p2p, όπου ο κάθε χρήστης δεν κατεβάζει μόνο δεδομένα απο το δίκτυο, αλλά ανεβάζει τα κατεβασμένα δεδομένα και στους άλλους χρήστες του δικτύου. 1.4.β.Ορισμός εννοιών Τα προς διανομή αντικείμενα έχουν ένα σταθερό ή δυναμικό ρυθμό αναπαραγωγής(playback bit rate) και μετριέται σε bits ανα δευτ/πτο (bps). Και στις δύο περιπτώσεις ορίζουμε ως άνω όριο το επιθυμητό ρυθμό διανομής(ή ρυθμό αναπαραγωγής). Το άθροισμα του εύρους ζώνης ανοφόρτωσης, των εξυπηρετητών και των χρηστών, διαιρούμενο δια το πλήθος των συμμετεχόντων χρηστών είναι ο μέσος όρος διαθέσιμου ρυθμού διανομής, και εισάγει ένα φυσικό περιορισμό που αντιπροσωπεύει το μέγιστο ρυθμό bit που μπορεί να παρέχει ένα VoD p2p σύστημα στους χρήστες ασχέτως αρχιτεκτονικής. Κάθε προς διανομή αντικείμενο έχει ένα καθορισμένο μέγεθος αναφερόμενο εδώ ως μέγεθος του βίντεο. Καθένα δευτερόλεπτο του κάθε αντικειμένου προς διανομή, μοιράζεται σε ένα σύνολο αντικειμένων που ορίζουμε ως video blocks. Τα video blocks απότελουν τη θεμελιώδη οντότητα που ανταλλασεται ανάμεσα στους συμμετέχοντες χρήστες. Το μέγεθός τους μετριέται σε bits και ορίζεται ως video block size. Κάθε χρήστης, αναφερόμενος ως προς το σύστημα, μπορεί να περιγραφεί από το εύρος ζώνης του(upload και download). Ως χωρητικότητα του χρήστη ορίζουμε το συνολικό αριθμό των blocks που ένας χρήστης μπορεί να στείλει σε άλλους χρήστες σε συγκεκριμένο χρονικό διάστημα και συσχετίζεται με το εύρος ζώνης ανοφόρτωσης του χρήστη και το ρυθμό αναπαραγωγής του video. 1.4.γ.Αρχιτεκτονικά συνιστώσες Οι κύριες συνιστώσες ενός τυπικού p2p VoD συστήματος είναι ένα σύνολο χρηστών, ο εξυπηρετητής και ο ιχνηλάτης(tracker). Οι πρωταρχικές οντότητες χρηστών, είναι οι καταναλωτές της VoD υπηρεσίας, οι οποίες επιπροσθέτως συνδέονται μεταξύ τους ώστε να ανταλλάξουν video blocks. Ορίζουμε δύο συνδεδεμένους χρήστες ως γείτονες. Κάθε χρήστης έχει δύο σύνολα γειτόνων. Το πρώτο ονομάζεται εισερχόμενοι γείτονες και είναι αυτοί από τους οποίους ο χρήστης κατεβάζει τα video blocks. Αντιθέτως, το άλλο σύνολο είναι οι εξερχόμενοι γείτονες και είναι αυτοί στους οποίους ο χρήστης ανεβάζει τα video blocks. Οι μεταδόσεις των block συμβαίνουν ανάμεσα σε ένα αποστολέα και σε ένα παραλήπτη. Όλοι οι συμμετέχοντες χρήστες συνήθως παίζουν αύτους τους δυο ρόλους ταυτόχρονα. Ο εξυπηρετητής ή ένα σύνολο εξυπηρετητών είναι υπεύθυνος τουλάχιστον για την αρχική διανομή του video στους χρήστες. Εκτός αυτού, χρησιμοποιούν την περισσευόμενη χωρητικότητα τους συμμετέχοντας στη διανομή του video και σε σενάρια ανάκτησης-για παράδειγμα σε περίπτωση αποτυχίας σύνδεσης κάποιου χρήστη. 1.4.δ.Απαιτήσεις Κάθε p2p VoD σύστημα πρέπει να είναι αποτελεσματικό,αξιόπιστο και ασφαλές. Η αποτελεσματικότητα υπονοεί τον ισολογισμό μεταξύ των αναγκών των καταναλωτών και το κόστος παροχής υπηρεσιών. Ως κόστος εννοούμε το εύρος ζώνης ανοφόρτωσης που συνεισφέρει ο πάροχος υπηρεσιών και την κίνηση που εισάγεται στο δύκτιο κατά την εξυπηρέτηση. Η εκμετάλευση του εύρους ζώνης αναφόρτωσης των χρηστών και η ικανότητα των p2p συστημάτων να προσαρμόζουν τις διαδρομές διανομής στην τοπολογία του υποκείμενου δικτύου δρουν ως κριτήρια επιλογής των p2p αρχιτεκτονικών για τη παροχή των VoD υπηρεσιών.ως αξιοπιστία, ορίζεται η ικανότητα του συστήματος να παρέχει σταθερές και αδιάκοπες υπηρεσίες. Οι παράγοντες που θα μπορούσαν να

25 επηρρεάσουν την αξιόπιστη λειτουργία του συστήματος είναι : αφίξεις και αποχωρήσεις χρηστών και σφάλματα στις συνιστώσες του παρόχου. Ένα επιτυχές VoD θα μπορούσε να σημαίνει αξιόπιστο εάν είναι ικανό να προλάβει αυτά τα σενάρια και να τα χειριστεί αναλόγως. Εν τέλει, η ασφάλεια είναι ένα γνωστό ερευνητικό πρόβλημα πέρα απο τα πλαίσια αυτής της εργασίας, γι αυτό δεν θα αναλυθεί περαιτέρω. Από τη μεριά του χρήστη, η αξιοπιστία θα μπορούσε να μεταφραστεί ως αναπαραγωγική συνέχεια (playback continuity). Αυτή η απαίτηση ικανοποιείται εάν τα video blocks λαμβάνονται πριν λήξει η προθεσμία τους και εάν όλοι οι χρήστες δέχονται το video με τον επιθυμητό ρυθμό bit. Ένα γνώρισμα κλειδί στις απαιτήσεις από τη μεριά του χρήστη είναι η λειτουργία αναζήτησης στο video, όπως η παύση και τα άλματα σε μπροστινά ή πίσω, αυθαίρετα σημεία του βίντεο. Πέρα από τη διαδοχική κατανάλωση των προς διάδοση αντικειμένων, οι χρήστες πρέπει να είναι ικανοί να μεταφερθούν σε οποιοδήποτε σημείο του video στιγμιαία. Όταν ένας χρήστης αλλάζει το σημείο αναπαραγωγής του πρέπει γρήγορα να ανακαλύψει άλλους ομότιμους χρήστες που έχουν αντίγραφα των video blocks που χρειάζεται. Αυξάνοντας την διαθεσιμότητα των block στο σύστημα μειώνει την εξάρτηση από τον εξυπηρετητή και τον λανθάνων χρόνο ανάκτησης του playback όταν ένας χρήστης εκτελεί μια διαδικασία αναζήτησης. Συστήματα που υποστηρίζουν τη λειτουργία αναζήτησης περιγράφονται παρακάτω. Από τη μεριά του δικτύου, είναι σημαντική η ελαχιστοποίηση της κίνησης από χρήστες και εξυπηρετητή. Έτσι υπονοείται ότι, λιγότερη κίνηση σημαίνει μικρότερο κόστος. 1.4.εΤεχνικοί πόροι Κατ'αρχάς, κάθε VoD σύστημα θα πρέπει να είναι υλοποιήσιμο. Μαθηματικά. Αυτό μεταφράζεται ως:1) κάθε χρήστης πρέπει να διαθέτει εύρος ζώνης ανωφόρτωσης μικρότερο ή ίσο με το αντίστοιχο κατωφόρτωσης, εξασφαλίζοντας έτσι ότι κάθε χρήστης μπορεί να κατεβάσει το το video. 2) Το συνολικό εύρος ζώνης ανωφόρτωσης του συστήματος διαιρούμενο δια τον συνολικό αριθμό των συμμετεχόντων χρηστών, θα πρέπει να είναι μεγαλύτερο ή ίσο του ρυθμού αναπαραγωγής. Γενικά σε ένα VoD σύστημα το συνολικό εύρος ζώνης ανωφόρτωσης θα πρέπει να είναι ίσο με το αντίστοιχο κατωφόρτωσης. Το συνολικό απαιτούμενο εύρος ζώνης για το διαμοιρασμό του video σε ένα τέτοιο σύστημα, ισούται με το γινόμενο του συνολικού αριθμού των χρήστων επί το ρυθμό αναπαραγωγής του video. ΚΕΦΑΛΑΙΟ 2: ΠΕΡΙΓΡΑΦΗ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ 2.1.Overlay και Scheduling 2.1.α.Εισαγωγή κόμβων Το σύστημά μας αποτελείται από ένα server και από N κόμβους-χρήστες. Αυτοί εισάγονται διαδοχικά κάθε χρονική περίοδο άφιξης (arrival period), ή ανά περιόδους που ακολουθούν την κανονική κατανομή. Σε κάθε κόμβο ανατίθεται ένα εύρος ζώνης αναφόρτωσης (peer capacity) που συνολικά στο σύστημα παρουσιάζει ετερογένεια. Σύμφωνα πάλι με την κανονική κατανομή οι τιμές που μπορεί να πάρει το peer capacity είναι 200, 500, 1000 και 4000 ΚΒ/s. Ο server ώντας και αυτός μέρος του συστήματος τίθεται να έχει server capacity κατ'επιλογη πολύ μικρό για λόγους που θα περιγραφούν παρακάτω. Με την εισαγώγη του στο σύστημα κάθε κόμβος στέλνει ένα μήνυμα στον server με τη μορφή πακέτου ενημερώνοντας τον για την ταυτότητα του, το διαθέσιμο εύρος ζώνης του και το σημείο αναπαραγωγής του video στο οποίο βρίσκεται, που στην προκειμένη περίπτωση είναι η αρχή του video. Aυτό συμβαίνει ώστε να υπάρχει δυνατότητα εκτίμησης του σημείου αναπαραγώγης κάθε κόμβου ανά πάσα στιγμή.

26 Μόλις λάβει το πακέτο, ο εξυπηρετητής, αποθηκεύει την πληροφορία σε μία λίστα που εν τέλει θα περιέχει όλη την απαραίτητη πληροφορία για την αξιόπιστη και αποτελεσματική λειτουργία του συστήματος. Έτσι, καλείται να επιλέξει γείτονες, που είναι ικανοί να δώσουν το απαιτούμενο κομμάτι του video. Η επιλογή γειτόνων λαμβάνει χώρα, όχι μόνο κατά την άφιξη ενός χρήστη αλλά και σε λειτουργίες αναζήτησης(video seeking) και σε ενδεχόμενες αλλαγές στα γνωρίσματα του δικτύου. Η λειτουργία εύρεσης γειτόνων συνήθως εκτελείται από έναν ιχνηλάτη(tracker) που ομαδοποιεί τους χρήστες ανάλογα με το προς ανταλλαγή περιεχόενο. Στην προκειμένη περίπτωση ο εξυπηρετητής λειτουργεί και ως ιχνηλάτης. Η επιλογή ενός γείτονα με μεγάλο διαθέσιμο εύρος ζώνης βοηθάει στην εξισορρόπηση του φορτίου, ενώ αυτού με τη μικρότερη δικτυακή απόσταση μειώνει την τηλεπικοινωνιακή κίνηση του υποκείμενου δικτύου. Για να διατηρηθεί η ποιότητα της υπηρεσίας πρέπει το σύστημα να βρίσκει την ισορροπία ανάμεσα στους δύο αυτούς παράγοντες. Κάθε χρονική στιγμή, ο λόγος των εξερχόμενων συνδέσεων ενός χρήστη προς το συνολικό αριθμό των εξερχόμενων συνδέσεων πρέπει να είναι ίσος με το λόγο του εύρους ζώνης αναφόρτωσης του χρήστη προς το συνολικό εύρος ζώνης αναφόρτωσης. Γενικά, ο συνολικός αριθμός των εξερχόμενων συνδέσεων ισούται με το συνολικό αριθμό των εισερχόμενων, δηλαδή ισούται με τον αριθμό των χρήστων επί τον αριθμό εισερχόμενων του κάθε χρήστη. Αυτό συμβαίνει επειδή θεωρούμε ότι κάθε χρήστης πρέπει να έχει Ν εισερχόμενες συνδέσεις( number of neighbours ). Επίσης, το συνολικό εύρος ζώνης αναφόρτωσης πρέπει να ισούται με το ρυθμό αναπαραγωγής (μ) επί το πλήθος των συμμετεχόντων χρηστών. Έτσι η παραπάνω εξίσωση γίνεται Out ( ) REF ( i) t Ui ( t) = N * k( t) µ * k( t) Και τελικά αν λύσουμε ως προς τις εξερχόμενες συνδέσεις Out REF ( i) Ui ( t)* N ( t) = µ Αυτό είναι το κριτήριο με το οποίο ο server αποφασίζει ποιες θα είναι οι εισερχόμενες συνδέσεις του νέου χρήστη. Ο στόχος είναι να υπάρχουν Ν εισερχόμενες συνδέσεις, εάν αποτύχει αυτός ο στόχος, είτε επειδή δεν συμμετέχουν Ν κόμβοι στο σύστημα, είτε δεν ικανοποιείται το παραπάνω κριτήριο, ο server αναλαμβάνει να δώσει στο νέο χρήστη το απαίτουμενο κομμάτι του video. Ο server ενημερώνει με πακέτο το χρήστη και τη λίστα των κόμβων που συμμετέχουν στο σύστημα με τη νέα πληροφορία. Ο χρήστης ενημερώνει με τη σειρά του, τους γείτονες του ώστε να αποκατασταθεί η σύνδεση. Στη διάρκεια της διανομής του video στο σύστημα, ενδέχεται πολλοί κόμβοι να αποκτήσουν τον εξυπηρετητή ως γείτονα(εισερχόμενη σύνδεση), κάτι μη επιθυμητό σε ένα peer to peer σύστημα. Για αυτο το λόγο κάθε τέτοιος κόμβος προσπαθεί περιοδικά να αντικαταστήσει τον server με έναν ομότιμο κόμβο που μπορεί να του παρέχει τα video block που απαιτεί. Αυτή η διαδικασία γίνεται κεντρικοποιημένα στον εξυπηρετητή αφού δεχθεί μήνυμα από τον εν λόγω κόμβο.

27 2.1.β Scheduling Πολύπλοκα scheduling πρωτόκολλα είναι αναγκαία για την αποτελεσματική διανομή του video. Οι κύριες αποφάσεις λαμβάνονται σύμφωνα με το ποια πολιτική ένας χρήστης θα ζητήσει blocks απο τους γείτονες του, από ποιον χρήστη θα τα ζητήσει, πόσα block θα ζητήσει από κάθε γείτονα ή αντίθετα πόσα αιτήματα μπορεί κάθε χρήστης να εξυπηρετήσει και με ποιά σειρά θα έπρεπε να το εξυπηρετήσει όλα τα εισερχόμενα αιτήματα. Η διανομή ενός αρχείου video κατηγοριοποιείται ανάλογα με το αν τα δεδομένα ωθούνται στους προορισμούς τους -επονομαζόμενα ως pushed based systems [refs] ή έλκονται από τις πηγές pulled based systems [refs]. Στα pushed based συστήματα, που αποφασίζει ποιο block θα αποσταλεί. Ένα μειονέκτημα αυτής της μεθόδου είναι οτί μπορεί δύο χρήστες να στείλουν το ίδιο block στον ίδιο παραλήπτη, σπαταλώντας έτσι εύρος ζώνης. Αντίθετα, στα pull based συστήματα, είναι ο παραλήπτης που αποφασίζει ποιό block θα παραλάβει απο τον αποστολέα. Με αυτόν τον τρόπο ο αριθμός των διπλών block μειώνεται αλλά με το τίμημα του επίβαρου σηματοδοσίας. Η επιλογή ενός γείτονα με μεγάλο διαθέσιμο εύρος ζώνης βοηθάει στην εξισορρόπηση του φορτίου, ενώ αυτού με τη μικρότερη δικτυακή απόσταση μειώνει την τηλεπικοινωνιακή κίνηση του υποκείμενου δικτύου. Είτε στα push είτε στα pull based συστήματα, η επιλογή του block που θα ζητηθεί είναι δυναμική και λαμβάνει χώρα περιοδικά. Η προτεραιότητα επιλογής του block εξαρτάται από δύο παράγοντες: α)αναγκαιότητα και β)αποδοτικότητα διανομής(σύμφωνα με τη σπανιότητα του block). Οι πιο κοινές προσεγγίσεις μέχρι τώρα είναι: α)με επιλογή τυχαίου block, όπου ο χρήστης επιλέγει να ζητήσει οποιοδήποτε block δεν έχει με ίση πιθανότητα. Αυτή δεν είναι μια πολλά υποσχόμενη λύση καθώς δεν ικανοποιεί ούτε την αναγκαιότητα αναπαραγωγής ούτε την αποδοτικότητα διανομής. β)στην ακολουθιακή ή συντομότερης προθεσμίας ή άπληστη πολιτική, ο χρήστης ζητά να κατεβάσει το video block του οποίου η προθεσμία λήγει το συντομότερο, αυτό υπονοεί ότι είναι πιο κοντά στο σημείο αναπαραγωγής. Αυτό απαιτεί να υπάρχουν πολλά αντίγραφα στο σύστημα. Στα πλαίσια αυτής της εργασίας, χρησιμοποιούμε έναν απλό pull based χρονοπρογραμματιστή με ακολουθιακή επιλογή block και δίνουμε περισσότερη έμφαση στο κομμάτι της αναζήτησης (seeking). Ο κάθε κόμβος ρωτάει τους γείτονές του εάν έχουν όντως το video block που θέλει να δει και ξεκινά το κατέβασμα-αναπαραγωγή του video. Αμελούμε το κομμάτι του scheduling που ο χρήστης επιλέγει από ποιόν θα ζητήσει και θεωρούμε ότι διαλέγει αυτόν που συμφέρει περισσότερο. Εάν κάποιος γείτονας δεν το έχει, τότε ο χρήστης ζητά από το server να τον αντικαταστήσει με κάποιον άλλο ομότιμο χρήστη. Η διαδικασία της αντικατάστασης θα περιγραφεί εκτένως παρακάτω. Πρέπει να σημειωθεί ότι η αναπαραγωγή του video γίνεται στο σύστημα μας με την αύξηση του playback κατά ένα video block, κάθε χρονική περίοδο ίση με το χρόνο αναπαραγωγής ενός video block. Επίσης, θεωρούμε ότι η διαδικασία εύρεσης νέου γείτονα γίνεται στιγμιαία και έτσι το playback αυξάνεται συνεχώς μέχρι την ολοκλήρωση του video. 2.2.Μηχανισμός αναζήτησης (seeking) 2.2.α Από τη μεριά του χρήστη Όπως αναφέρθηκε και παραπάνω, σε ένα πραγματικό σύστημα είναι πιθανό κάποιος χρήστης να θέλει να δει ένα κομμάτι του video απομακρυσμένο'' σε σχέση με το τρέχον σημείο αναπαραγωγής του. Σε αυτή την περίπτωση δύναται οι γείτονες του να μην έχουν αντίγραφο του video block που απαιτεί ο χρήστης, έτσι τίθεται θέμα αντικατάστασης τους. Σε αυτή την ενέργεια αναφερόμαστε ως αναζήτηση (seeking) ή άλμα (jump). Είναι εύκολο να παρατηρήσουμε ότι εάν αντιμετωπίσουμε το άλμα ως μια αλλαγή του απαιτούμενου video block, τότε αυτή η περίπτωση εκφυλίζεται στην κανονική ροή του playback, όπου ο χρήστης απαιτεί να κατεβάσει ένα video block και ελέγχει τη διαθεσιμότητά του στους γειτονές του. Όπως και πριν σε περίπτωση αδυναμίας παροχής του block από κάποιον γείτονα, ο

28 χρήστης απαιτεί από τον εξυπηρετητή να βρει ικανό αντικαταστάτη. 2.2.β Από τη μερία του εξύπηρετητή Όταν δέχεται ένα τέτοιο αίτημα, ο εξυπηρετητής, ανατρέχει στην πληροφορία που έχει αποθηκευμένη για όλο το σύστημα και εκτιμά το σημείο αναπαραγωγής του κάθε κόμβου,εφόσον ξέρει πότε ο κόμβος μπήκε στο σύστημα. Έτσι γνωρίζει ποιά video blocks έχει προς διάθεση. Επίσης καταστρώνει ένα γράφο που αναπαριστά τις ικανές συνδέσεις ανάμεσα σε όλους τους κόμβους. Έχοντας μια πλήρη εικόνα του συστήματος, ο server μπορεί πια να ψάξει για αντικαταστάτη. 2.2.γ Αναζήτηση αντικαταστάτη Είναι ασφαλές να υποθέσουμε ότι η προσθήκη μιας ακόμη εξερχόμενης σύνδεσης σε ένα κόμβο θα έχει σαν αποτέλεσμα την ανισοκατανομή του φορτίου στο σύστημα. Γι αυτό το λόγο η δημιουργία αυτής της σύνδεσης θα πρέπει να ακολουθείται από την κατάργηση μιας άλλης. Ο στόχος μας λοιπόν πέρα από την εύρεση ενός ικανού κόμβου, είναι ο προσδιορισμός ενός συνόλου κόμβων που ανταλλάσσοντας συνδέσεις, θα διατηρήσουν το ανά σύνδεση εύρος ζώνης τους. Λύση σε αυτό το πρόβλημα δίνεται αν ακολουθήσουμε την παρακάτω τοπολογία κόμβων Ονομάζουμε κόμβο 1, τον χρήστη που κάνει το άλμα και θέλει να αντικαταστήσει τον κόμβο 2. Με μαύρα βέλη συμβολίζουμε τις ήδη υπάρχουσες συνδέσεις και με διακεκομμένα τις δυνατές και όχι απαραίτητα αποκατεστημένες συνδέσεις. Εάν λοιπόν, ο προς αντικατάσταση κόμβος μπορεί να δώσει σε κάποιον που έχει γείτονα με το απαιτούμενο video block, μπορούμε να κάνουμε ανταλλαγή των συνδέσεων (swap). Έτσι όσες συνδέσεις καταργηθουν, άλλες τόσες θα δημιουργηθούν, διατηρώντας το ανά σύνδεση εύρος ζώνης σταθερό. Ένα τέτοιο σύνολο κόμβων θα το αποκαλούμε διαδρομή. Είναι λογικό, σε κάποιες περιπτώσεις να μην μπορεί να βρεθεί μια τέτοια τετράδα κόμβων, γι αυτό αναπτύσουμε την παραπάνω τοπολογία με 4+2*k κόμβους, όπου το k παίρνει ακαίρεες τιμες μεγαλύτερες ή ίσες του 0. Δηλαδή για k=0 έχουμε το παραπάνω σχήμα, ενώ για k=1 θα έχουμε 6άδα κόμβων. Για την εύρεση διαδρομής μήκους μεγαλύτερου του 4, η συνάρτηση καλεί τον εαυτό της με όρισμα, αρχικό κόμβο, τον 3 αντί του 1 εώς ώτου να βρεθεί κάποιος κόμβος που πλοιρεί τις αναγκαίες συνθήκες.

29 Αντίθετα, υπάρχει περίπτωση η συνάρτηση εύρεσης, που την ονομάζουμε path(), να έχει περισσότερα από ένα αποτελέσματα. Να υπάρχουν δηλαδή περισσότεροι από ένας κόμβοι που έχουν το απαιτούμενο video block ή για τον ίδιο κόμβο να υπάρχουν περισσότερα από ένα σύνολα κόμβων που ικανοποιούν τις παραπάνω απαιτήσεις. Καλούμαστε λοιπόν να επιλέξουμε τη διαδρομή που συμφέρει περισσότερο για την αξιόπιστη και αποτελεσματική λειτουργία του συστήματος. Συνεπώς, πρέπει να ορίσουμε την έννοια του κόστους. 2.2.δ Κόστος συνδέσεων Ορίζουμε ως κόστος σύνδεσης τη διαφορά ανάμεσα στα σημεία αναπαραγωγής (διαφορισμός ή diversity) των κόμβων που συμμετέχουν στη σύνδεση. Ο στόχος μας είναι μέσω αυτής της διαδικασίας να ομαδοποιηθούν οι κόμβοι που βλέπουν το ίδιο περίπου κομμάτι του video, ώστε να μην φορτώνονται με πολλές εξερχόμενες συνδέσεις οι κόμβοι που έχουν μεγάλο κομμάτι του video. Έτσι το φορτίο μοιράζεται και οι πιθανότητα κάποιος κόμβος να μην μπορεί να εξυπηρετήσει τις εξερχόμενες συνδέσεις του μειώνεται.με άλλα λόγια μειώνεται σπανιότητα (rarity) κάποιων video block Μπορούμε να φανταστούμε ότι με αυτό τον τρόπο δημιουργούνται νησίδες κόμβων που βρίσκονται γύρω από ένα σημείο αναπαραγωγής. Ο αλγόριθμος εύρεσης διαδρομής είναι αυτός που αποφασίζει το μέγεθος των νησίδων, την απόσταση δηλαδή σε video blocks από το εν λόγω σημείο αναπαραγωγης. 1)Longest path: Μία προσέγγιση είναι να επιλέγουμε τη διαδρομή που αποτελείται απο κόμβους με μεγάλο diversity, δίνοντας στο σύστημα αρκετή ανοχή σε πιθανές μεταβολές, επιβαρύνοντας όμως τους παλαιότερους χρήστες για το λόγο που αναφέρθηκε παραπάνω. Με αυτή τη συνάρτηση απόφασης, ο αλγόριθμος αθροίζει τα επιμέρους κόστη των συνδέσεων που θα δημιουργηθούν και συγκρίνοντας τα με τα αθροίσματα όλων των δυνατών διαδρομών, κρατάει το μέγιστο. 2)Shortest path: Αντίθετα, επιλέγοντας διαδρομές με μικρό diversity, μειώνεται η ανοχή αλλά μειώνεται και το rarity. Αυτή η συνάρτηση απόφασης λειτουργεί όπως και η προηγούμενη με τη διαφορά ότι κρατάει το ελάχιστο. 3)Minmax: Μια μέθοδος ελαχιστοποιήσης αυτών των μειωνεκτημάτων είναι η minmax. Σύμφωνα με αυτή, ο αλγόριθμος ελέγχει το κόστος της κάθε σύνδεσης που θα δημιουργηθεί και κρατάει τη μεγαλυτερη τιμή. Στη συνέχεια, επαναλαμβάνει τους υπολογισμούς για κάθε διαδρομή

30 που βρίσκει και συγκρίνει τις τιμές με το τρέχον κόστος μέχρι να καταλήξει στην μικρότερη τιμή. Εν ολίγοις, επιλέγει τη διαδρομή με μικρότερη μέγιστη απόσταση από το σημείο αναπαραγωγής. Τη συνάρτηση που υλοποιεί αυτή τη μέθοδο την ονομάζουμε cost_est().για την καλύτερη κατανόηση της συνάρτησης υπολογισμού κόστους ας μελετήσουμε το παράδειγμα της παρακάτω εικόνας. ΠΑΡΑΔΕΙΓΜΑ Έστω ότι ο χρήστης 1 έχει δει μέχρι και το 3ο block και θέλει να κατεβάσει το block 7 που γείτονας 2 δεν το έχει. Έτσι ζητάει από το server να του βρει ικανό αντικαταστάτη. Εκτελώντας τη συνάρτηση path(), ανακαλύπτουμε μια τετράδα κόμβων(1,2,3,4), που μπορεί να ανταλλάξει συνδέσεις. Ο προς αντικατάσταση κόμβος μπορεί να δώσει στον κόμβο 3 και να δημιουργήσει αυτή τη σύνδεση με κόστος 5. Με τη σειρά του ο 3, έχει μια εισερχόμενη σύνδεση με τον 4, ο οποίος έχει το block που ζητά ο 1. Αυτή η σύνδεση μπορεί να αποκατασταθεί με κόστος 9. Ο αλγόριθμος θα τρέξει για όλες τις πιθανές και ικανές διαδρομές μέχρι να βρει την πιο κοντινή. Έτσι παρατηρούμε ότι στην πορεία βρίσκεται μια διαδρομή που συμπεραλαμβάνει εξάδα κόμβων (1,2,5,6,7,8) με μέγιστο κόστος σύνδεσεων 6.

31 1)Longest path: Σε αυτή την περίπτωση θα επιλεγεί η πρώτη διαδρομή καθώς δίνει μεγαλύτερο άθροισμα συνδέσεων. 2)Shortest path: Αντίστοιχα, λόγω του μικρότερου αθροίσματος θα επιλεγεί η εξάδα. 3)Minmax: Σύμφωνα με αυτή τη μέθοδο, η τετράδα των κόμβων έχει μέγιστο 9, ενώ η εξάδα έχει μέγιστο 6. Ο αλγόριθμος θα αντικαταστήσει την ήδη υπάρχουσα διαδρομή καθώς το 6 είναι το ελάχιστο των (6,9). Παρατηρούμε ότι το πόσο κοντινή είναι μια διαδρομή δεν εξαρτάται από το πλήθος των κόμβων που συμμετέχουν. ΚΕΦΑΛΑΙΟ 3:ΟΡΙΣΜΟΣ ΜΕΓΕΘΩΝ ΚΑΙ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΜΕΛΕΤΩΝΤΑΙ ΣΤO ΣΥΣΤΗΜΑ Όπως αναφέρθηκε και προηγουμένως το stream χωρίζεται σε κομμάτια,κάθε ένα από τα οποία ονομάζουμε block.το μέγεθος του block (block size ) εξαρτάται από τον ρυθμό εξυπηρέτησης και τον συνολικό αριθμό των blocks που αποτελείται το video. Ως ρυθμό εξυπηρέτησης (service rate) ορίζεται ο αριθμός των bps που απαιτούνται για την αναπαραγωγή του stream.συμβολίζεται με μ και μετριέται σε bps. Ως μήκος διαδρομής (path length) ορίζεται το μέγιστο πλήθος των κόμβων από το οποίο θα αποτελείται η διαδρομή που θα βρεθεί από τη συνάρτηση path(). Η τελευταία εκτελείται αναδρομικά στον κώδικα και συμβολίζουμε με k τον αριθμό των επαναλήψεων. Έτσι το μήκος διαδρομής εξαρτάται από το k σύμφωνα με τη σχέση 4+2*k, οπότε για k=0 (μια εκτέλεση) η path() ψάχνει το πολύ τετράδες, για k=1 (μια επανάληψη) ψάχνει το πολύ εξάδες κ.ο.κ Ως περίοδο αφίξεως (arrival period) ορίζεται η περίοδος με την οποία μπαίνουν οι κόμβοι στο σύστημα. Ως χωρητικότητα κόμβου (peer capacity) ορίζεται το εύρος ζώνης upload που θα έχει ο κάθε κόμβος. Αυτό ορίζεται κατά την είσοδο του κόμβου στο σύστημα. Άλλες παράμετροι που στηρίζουν τη μελέτη μας είναι: -Ο αριθμός των κόμβων του συστήματος (total nodes)

32 -Ο αριθμός των γειτόνων κάθε κόμβου (number of neighbours) -Η συνολική διάρκεια του video (video duration) που για το ίδιο service rate ισοδυναμεί με το συνολικό αριθμό των blocks σύμφωνα με τη σχέση service rate=block size*total blocks/video duration. -Μια ακόμη παράμετρος είναι η πιθανότητα κάποιος κόμβος να αναζητήσει απομακρυσμένο κομμάτι του video (jump propability) -Και η συνάρτηση υπολογισμού του κόστους των δυνατών διαδρομών από τις οποίες ο server καλείται να αποφασίσει, όπως έχει περιγραφεί παραπάνω. ΚΕΦΑΛΑΙΟ 4: ΕΞΟΜΟΙΩΣΗ ΔΙΚΤΥΩΝ ΣΤΟ OPNET Modeller 4.1.Εισαγωγή στο OPNET Mοdeller To OPNET Modeller, αποτελεί ένα εξειδικευμένο εργαλείο στο χώρο των επικοινωνιών, που προσφέρει τη δυνατότητα με τη βοήθεια ενός γραφικού περιβάλλοντος να μοντελοποιηθούν και να προσομοιωθούν διάφορα είδη δικτύων. Στην παρούσα εργασία χρησιμοποιείται το OPNET Modeller 14.0, το οποίο περιέχει έτοιμα μοντέλα δικτύων. Η γλώσσα προγραμματισμού που χρησιμοποιείται (και για την κατασκευή νέων μοντέλων) είναι η Proto C, μια παραλλαγή της γλώσσας C, η οποία μπορεί να χρησιμοποιεί και έτοιμες συναρτήσεις από τον πυρήνα (Kernel) του OPNET. Για την κατασκευή της δομής ενός δικτύου, ακολουθείται αυστηρά η παρακάτω ιεραρχία τριών επιπέδων: Μοντέλο Δικτύου (Project Editor) Μοντέλο Κόμβων (Node Editor) Μοντέλο Επεξεργασίας (Process Editor) Τα αντικείμενα που ανήκουν στο μοντέλο δικτύου περιγράφονται από αντικείμενα που ανήκουν στο μοντέλο κόμβων, ενώ αυτά που ανήκουν στο μοντέλο κόμβων περιγράφονται από αντικείμενα που ανήκουν στο μοντέλο επεξεργασίας. Ένα παράδειγμα αυτής της ιεραρχίας φαίνεται παρακάτω: Σχήμα : Ιεραρχική δομή μοντελοποίησης στο OPNET

33 4.1.α.Μοντέλο Δικτύου Το Μοντέλο Δικτύου (Project Editor), αποτελεί την κύρια πλατφόρμα εργασίας για την κατασκευή και προσομοίωση ενός δικτύου. Από εδώ μπορούμε να κτίσουμε ένα μοντέλο δικτύου, χρησιμοποιώντας τα έτοιμα μοντέλα (π.χ. ένα Τοπικό Δίκτυο (LAN), ένα Μητροπολιτικό Δίκτυο (MAN) ή ένα δίκτυο με δύο υπολογιστές κ.τ.λ.) που υπάρχουν στη βιβλιοθήκη του OPNET, να επιλέξουμε στατιστικά στοιχεία για το δίκτυο, να τρέξουμε μια προσομοίωση και να δούμε τα αποτελέσματα. Επίσης μπορούμε να φτιάξουμε τα μοντέλα δικτύου και επεξεργασίας, να κατασκευάσουμε μοντέλα για πακέτα που στέλνονται, να κατασκευάσουμε φίλτρα και παραμέτρους στα οποία μπορούμε να έχουμε πρόσβαση από το μοντέλο επεξεργασίας. Πιο κάτω φαίνεται το προφίλ του μοντέλου δικτύου που εμείς χρησιμοποιήσαμε για τις προσομοιώσεις μας: Στη μπάρα εργαλείων (toolbar), που βρίσκεται στο πάνω μέρος του παραθύρου, υπάρχουν οι πιο κάτω επιλογές, τις οποίες επεξηγούμε στη συνέχεια: Σχήμα : Μπάρα εργαλείων του Μοντέλου Δικτύου 1. Παλέτα αντικειμένων (object palette): Ανοίγοντας την παλέτα αντικειμένων, μπορούμε να ανασύρουμε κάποιο έτοιμο μοντέλο αντικειμένου του OPNET, π.χ. ένα server, ένα δίκτυο υπολογιστών, μια σύνδεση καλωδίου μεταξύ δύο υποδικτύων. Μπορούμε επίσης με την επιλογή διαμόρφωση παλέτας (configure palette), να δημιουργήσουμε μια παλέτα που θα περιέχει μόνο τα αντικείμενα που θα χρειαστούμε ή ακόμα και να τροποποιήσουμε κάποια από αυτά έτσι ώστε να έχουν τα επιθυμητά χαρακτηριστικά. 2. Κατάργηση αντικειμένων (fail selected objects): Επιλέγοντας κάποια αντικείμενα που

34 υπάρχουν στην επιφάνεια εργασίας και με την επιλογή αυτή,μπορούμε να καταργήσουμε τη λειτουργία τους, δηλαδή η προσομοίωση θα τρέξει σαν αυτά να μην υπάρχουν καθόλου. 3. Ανάκτηση αντικειμένων (recover selected objects): Επαναφέρει αντικείμενα που είχαν καταργηθεί προηγουμένως. 4. Εστίαση σε ορθογώνιο (zoom to rectangle): Με την επιλογή αυτή, η επιφάνεια εργασίας, εστιάζει σε ένα ορθογώνιο κομμάτι που επιλέγουμε. 5. Εστίαση στο προηγούμενο (zoom to previous): Η εστίαση επαναφέρεται. 6. Διαμόρφωση/τρέξιμο προσομοίωσης ξεχωριστών γεγονότων (configure/run discrete event simulation, DES): Με την επιλογή αυτή, ανοίγουμε ένα παράθυρο, όπου επιλέγουμε τις παραμέτρους της προσομοίωσης, όπως είναι η διάρκεια, τα στατιστικά στοιχεία που θα συλλέξουμε και ο σπόρος (seed) που αφορά την τυχαιότητα κάποιων συναρτήσεων. Από εδώ μπορούμε επίσης να ορίσουμε τα είδη των εξερχόμενων στατιστικών (π.χ. report, animation) και άλλα χαρακτηριστικά της προσομοίωσης. Με την επιλογή τρέξιμο (run), η προσομοίωση αρχίζει. 7. Παρατήρηση αποτελεσμάτων (view results): Εδώ μπορούμε να ορίσουμε τα χαρακτηριστικά που μας ενδιαφέρει να δούμε με το πέρας της προσομοίωσης, καθώς και σε ποιες συνδέσεις (π.χ. στο σχήμα μπορεί να μας ενδιαφέρουν τα χαρακτηριστικά μόνο μιας εκ των τεσσάρων συνδέσεων μεταξύ των τοπικών δικτύων). Έτσι βλέπουμε γραφικές παραστάσεις που αφορούν τα επιλεχθέντα χαρακτηριστικά. Επειδή μια προσομοίωση μπορεί να τρέξει παράλληλα για διαφορετικά σενάρια, από εδώ επιλέγουμε για ποια από αυτά θέλουμε να δούμε τα αποτελέσματα καθώς μπορεί να γίνει και σύγκρισή τους στην ίδια γραφική παράσταση. 8. Απόκρυψη/παρατήρηση γραφικών παραστάσεων (hide/show graph panels): Με το πέρας της προσομοίωσης, αν ανοίξουμε μερικά παράθυρα γραφικών παραστάσεων για να παρατηρήσουμε κάποια χαρακτηριστικά, με την επιλογή αυτή μπορούμε να τα αποκρύψουμε και στη συνέχεια να τα επαναφέρουμε. 4.1.β.Μοντέλο Κόμβων Τα αντικείμενα του Μοντέλου Κόμβων (Node Editor), περιγράφουν την συμπεριφορά των αντίστοιχων κόμβων δικτύου και μοντελοποιούν τις εσωτερικές τους λειτουργίες όπως δημιουργία δεδομένων, αποθήκευση κ.τ.λ. Η συμπεριφορά κάθε αντικειμένου του δικτύου περιγράφεται από διάφορα στοιχεία (modules), τα οποία συνδέονται μεταξύ τους με συνδέσεις πακέτων (packet streams) ή στατιστικά καλώδια (statistic wires). Στη μπάρα εργαλείων (toolbar), που βρίσκεται στο πάνω μέρος του παραθύρου, όπως και στο μοντέλο δικτύου, υπάρχουν οι πιο κάτω επιλογές, τις οποίες επεξηγούμε στη συνέχεια: Σχήμα : Μπάρα εργαλείων του Μοντέλου Κόμβων 1. Δημιουργία επεξεργαστή (create processor): Με αυτή την επιλογή μπορούμε να δημιουργήσουμε ένα επεξεργαστή στην επιφάνεια εργασίας. Ο επεξεργαστής αποτελεί ένα στοιχείο, που μπορεί να επιτελέσει διάφορους σκοπούς όπως για παράδειγμα δημιουργία και καταστροφή πακέτων, επεξεργασία πακέτων κ.λ.π.. 2. Δημιουργία στοιχείου ουράς (create queue): Δημιουργούμε ένα στοιχείο ουράς, όπου μπορεί να αποθηκευτεί ένας αριθμός πακέτων και να προγραμματιστεί η μετάδοσή τους. Επίσης μπορούν να οριστούν τύποι πακέτων που το στοιχείο αυτό μπορεί να ανακτήσει, ενώ τα υπόλοιπα πακέτα απορρίπτονται. 3. Δημιουργία σύνδεσης πακέτων (create packet stream): Με την επιλογή αυτή δημιουργούμε μια σύνδεση πακέτου μεταξύ δύο στοιχείων. Η σύνδεση πακέτου αποτελεί τη

35 διαδρομή που ακολουθεί το κάθε πακέτο από στοιχείο σε στοιχείο, μέσα σε ένα αντικείμενο δικτύου, για επεξεργασία. 4. Δημιουργία στατιστικού καλωδίου (create statistic wire): Ένα στατιστικό καλώδιο ακολουθεί την ίδια διαδρομή με μια σύνδεση πακέτων αλλά κατά την αντίθετη κατεύθυνση. Ουσιαστικά, υλοποιεί την αμφίδρομη επικοινωνία που υπάρχει σε ένα αντικείμενο δικτύου καθώς τρέχει τη στοίβα πρωτοκόλλων από πάνω προς τα κάτω και αντίστροφα. 5. Δημιουργία λογικού συνδέσμου πομπού/δέκτη (create logical Tx/Rx association): Με αυτή την επιλογή, δημιουργούμε μια λογική σύνδεση μεταξύ δύο στοιχείων πομπού (transmitter, Tx) και δέκτη (receiver, Rx). Κατά τη διάρκεια της προσομοίωσης, πακέτα τα οποία στέλνονται σε κάποιο αντικείμενο δικτύου, παραλαμβάνονται από το στοιχείο του δέκτη. Στη συνέχεια στέλνονται προς τα πάνω, στα υπόλοιπα στοιχεία για επεξεργασία (στοίβα πρωτοκόλλων) και ακολούθως, στην αντίθετη διαδρομή προς τα κάτω καταλήγοντας στο στοιχείο του πομπού.[50] Αυτή η λογική σύνδεση μεταξύ πομπού και δέκτη, αναπαρίσταται με ένα λογικό σύνδεσμο Tx/Rx. 6. Δημιουργία δέκτη σημείου σε σημείο (create point-to-point receiver): Δημιουργούμε ένα στοιχείο δέκτη, για συνδέσεις σημείο σε σημείο. 7. Δημιουργία πομπού σημείου σε σημείο (create point-to-point transmitter): Δημιουργούμε ένα στοιχείο πομπού, για συνδέσεις σημείο σε σημείο. 8. Δημιουργία δέκτη για πολλαπλές συνδέσεις(create bus receiver): Δημιουργούμε ένα στοιχείο δέκτη, για πολλαπλές συνδέσεις. 9. Δημιουργία πομπού για πολλαπλές συνδέσεις(create bus transmitter): Δημιουργούμε ένα στοιχείο πομπού, για πολλαπλές συνδέσεις. 10. Δημιουργία στοιχείου εξωτερικού συστήματος (create external system module): Με την επιλογή αυτή, μπορούμε να δημιουργήσουμε ένα στοιχείο, το οποίο δεν ανήκει κατ ανάγκη στο συγκεκριμένο αντικείμενο δικτύου και μπορεί να λειτουργεί ξεχωριστά. 4.1.γ.Μοντέλο Επεξεργασίας Το Μοντέλο Επεξεργασίας (Process Editor), αναπαρίσταται με διαγράμματα πεπερασμένων καταστάσεων (finite state machines - FSMs) που ελέγχουν την εσωτερική λειτουργικότητα των αντικειμένων στο μοντέλο κόμβων. Τα διαγράμματα αυτά δημιουργούνται από εικόνες που αντιπροσωπεύουν καταστάσεις (states) και γραμμές (transitions) που αντιπροσωπεύουν μεταβάσεις μεταξύ αυτών των καταστάσεων. Κάθε κατάσταση χαρακτηρίζεται από τις λειτουργίες εισόδου (enter execution) οι οποίες περιγράφονται σε κώδικα της γλώσσας C και γράφονται στο πάνω μισό κομμάτι της εικόνας μιας κατάστασης- και τις λειτουργίες εξόδου (exit execution) οι οποίες γράφονται στο κάτω μισό κομμάτι. Αναδυόμενα παράθυρα εμφανίζονται με διπλή επιλογή για κάθε κομμάτι, όπου μπορούμε να γράψουμε τον κώδικα. Οι καταστάσεις επίσης χαρακτηρίζονται σε εξαναγκασμένες (forced, πράσινο χρώμα) και μη-εξαναγκασμένες (unforced, κόκκινο χρώμα), ανάλογα με το αν θέλουμε μια κατάσταση να μεταβαίνει στην επόμενη χωρίς κανένα περιορισμό ή όχι αντίστοιχα. Συνθήκες μετάβασης μπορούν επίσης να οριστούν στις γραμμές μετάβασης για να ορίσουν περιορισμούς για τη μετάβαση από την μια κατάσταση στην άλλη. Όπως και στα προηγούμενα μοντέλα, στη μπάρα εργαλείων (toolbar), που βρίσκεται στο πάνω μέρος του παραθύρου, υπάρχουν οι πιο κάτω επιλογές, τις οποίες επεξηγούμε στη συνέχεια: Σχήμα : Μπάρα εργαλείων του Μοντέλου Επεξεργασίας 1. Δημιουργία κατάστασης (create state): Με την επιλογή αυτή, μπορούμε να δημιουργήσουμε μια κατάσταση. Η κατάσταση αυτή, αποτελεί ένα κομμάτι της όλης διαδικασίας που εκτελείται σε ένα στοιχείο του Μοντέλου Κόμβων. Με επιλογή του δεξιού κουμπιού του mouse του υπολογιστή, εμφανίζεται η επιλογή για να μετατρέψουμε μια κατάσταση από εξαναγκασμένη σε μη-

36 εξαναγκασμένη και το αντίθετο. Στο πάνω μισό κομμάτι της κατάστασης, όπως αναφέραμε και προηγουμένως, γράφονται οι συναρτήσεις που θα εκτελεστούν κατά την είσοδο στην κατάσταση ενώ στο κάτω μισό κομμάτι γράφονται οι συναρτήσεις που θα εκτελεστούν κατά την έξοδο από την κατάσταση. Οι συναρτήσεις αυτές μπορεί να γράφονται εξ ολοκλήρου μέσα στην κατάσταση ή να καλούνται με συγκεκριμένες παραμέτρους, ανατρέχοντας στο κομμάτι συναρτήσεων (function block), για να βρουν τον κώδικα της συγκεκριμένης συνάρτησης. 2. Δημιουργία μετάβασης (create transition): Από εδώ μπορούμε να δημιουργήσουμε μια γραμμή μετάβασης από μια κατάσταση σε μια άλλη. Οι μεταβάσεις ακολουθούν συγκεκριμένη κατεύθυνση (δεν είναι αμφίδρομες). Επίσης ορίζονται συνθήκες μετάβασης για το πότε και κάτω από ποιες προϋποθέσεις μια συγκεκριμένη μετάβαση θα συμβεί. 3. Καθορισμός αρχικής κατάστασης (set initial state): Κάθε διαδικασία που περιγράφεται στο μοντέλο επεξεργασίας, πρέπει να έχει μια αρχική κατάσταση, δηλαδή μια κατάσταση που θα εκτελεστεί πρώτη κατά την έναρξη της διαδικασίας. Στην αρχική κατάσταση, αρχικοποιούνται παράμετροι, δίνονται αρχικές τιμές σε μεταβλητές που χρειάζεται να έχουν συγκεκριμένη τιμή σε κάθε εκτέλεση της διαδικασίας καθώς ανακτώνται και παράμετροι από το προηγούμενο επίπεδο (Μοντέλο Κόμβων), που θα χρησιμοποιηθούν. 4. Μορφοποίηση μεταβλητών της διαδικασίας (edit state variables): Στο παράθυρο που αναδύεται με αυτή την επιλογή, δηλώνονται όλες οι μεταβλητές που χρησιμοποιούνται στον κώδικα που περιγράφει τις διάφορες συναρτήσεις της διαδικασίας. Για κάθε μεταβλητή, επιλέγεται ένας συγκεκριμένος τύπος (π.χ. int, double, float, char) καθώς επίσης μπορούν να γραφούν και σχόλια για το τι αντιπροσωπεύει η κάθε μία από αυτές. Οι μεταβλητές που δηλώνονται εδώ κρατούν την τιμή τους κάθε φορά που τρέχει η διαδικασία. 5. Μορφοποίηση προσωρινών μεταβλητών (edit temporary variables): Εδώ δηλώνονται βοηθητικές μεταβλητές, οι οποίες χάνουν την τιμή που έχουν μετά το τέλος της διαδικασίας και την επόμενη φορά που αυτή θα τρέξει χρειάζεται να αρχικοποιηθούν ξανά. 6. Μορφοποίηση κομματιού επικεφαλίδας (edit header block): Στο παράθυρο που αναδύεται με αυτή την επιλογή, δηλώνονται όλα τα εξωτερικά αρχεία που θα χρησιμοποιηθούν καθώς και οι έτοιμες βιβλιοθήκες της C που χρειάζονται στον κώδικα (με include). Επίσης μπορούν να δηλωθούν μεταβλητές με σταθερές τιμές καθώς και αναγνωριστικά διακοπών (interrupts) που θα συμβούν στη διαδικασία (με define). 7. Μορφοποίηση κομματιού συναρτήσεων (edit function block): Εδώ γράφονται όλες οι συναρτήσεις που θα χρησιμοποιηθούν στην εκτέλεση της διαδικασίας. Οι μεταβλητές που αυτές χρησιμοποιούν, δηλώνονται είτε στην αρχή κάθε συνάρτησης είτε στις μεταβλητές της διαδικασίας (state variables). Ο κώδικας που γράφεται είναι σε γλώσσα C αλλά χρησιμοποιούνται και έτοιμες συναρτήσεις που προσφέρει ο πυρήνας του OPNET. Αυτές οι συναρτήσεις αφορούν κυρίως ανάκτηση και μεταφορά παραμέτρων ανάμεσα στα διάφορα επίπεδα, συλλογή στατιστικών στοιχείων, διακοπές κ.ά.. 8. Μορφοποίηση διαγνωστικού κομματιού (edit diagnostic block): Εδώ συνήθως γράφονται συναρτήσεις που αφορούν την επικοινωνία της προσομοίωσης με τον έξω κόσμο κατά τη διάρκεια που αυτή εκτελείται. Για παράδειγμα οι συναρτήσεις αυτές τυπώνουν μηνύματα και τιμές παραμέτρων και μεταβλητών. 9. Μορφοποίηση κομματιού τερματισμού (edit termination block): Εδώ συνήθως γράφονται συναρτήσεις που αφορούν τον τερματισμό της διαδικασίας. 10. Μετατροπή κώδικα μοντέλου επεξεργασίας (compile process model): Με την επιλογή αυτή γίνεται το compilation του μοντέλου επεξεργασίας. Συντακτικά λάθη που εμφανίζονται στον κώδικα, λανθασμένη χρησιμοποίηση ονομάτων μεταβλητών ή μη σωστή ανάκληση μνήμης, οδηγούν σε σφάλμα κατά την μετατροπή του κώδικα.

37 4.2.Στόχοι της εξομοίωσης στο OPNET Modeller Ξεκινώντας αυτή την εργασία, τέθηκαν κάποιοι στόχοι, για το κομμάτι που αφορά την εξομοίωση των p2p streaming συστημάτων. Κατά τη διαδικασία της εκπόνησής της, έγινε η προσπάθεια να επιτευχθούν οι στόχοι αυτοί κατά το μέγιστο δυνατό βαθμό. Επίσης η τριβή με το πρόγραμμα OPNET, οδήγησε στην αναθεώρηση κάποιων αρχικών στόχων ή ακόμα και τη δημιουργία καινούριων. Παρόλα αυτά όμως, οι στόχοι της παρούσας διπλωματικής εργασίας, έχουν προσεγγιστεί σε αρκετά μεγάλο βαθμό και τα όσα έχουν φτιαχτεί, μπορούν να αποτελέσουν τη βάση για μελλοντικές εργασίες. Ως αρχικός στόχος λοιπόν,ήταν η δημιουργία ενός προγραμματιστικού περιβάλλοντος,στο οποίο να μπορούμε να προσομοιώσουμε τη λειτουργία ενός p2p streaming συστήματος και να μελετάμε την απόδοσή του όταν κάποιος χρήστης επιθυμεί να δει κάποιο απομακρυσμένο κομμάτι του video. Στην πορεία ο αλγόριθμος που αναπτύχθηκε χρησιμοποιήθικε στη γενική περίπτωση αντικατάστασης μη ικανών εισερχόμενων συνδέσεων. 4.3.Εντολές και μοντέλα που χρησιμοποιήθηκαν Για να επιτευχθεί η προσομοίωση των δικτύων, έχουν αναπτυχθεί δύο μοντέλα, αυτό του ομότιμου κόμβου, αυτό του κεντρικού κόμβου (server).ο ομότιμος κόμβος, είναι ένας κόμβος δικτύου, ο οποίος απλά εισέρχεται στο δίκτυο,δηλώνει την παρουσία του και στόχος είναι να πάρει και να δώσει στους γειτονικούς κόμβους κομμάτια από το ζητούμενο κάθε φορά stream. Ο server είναι αυτός που συντονίζει τις παραπάνω διαδικασίες. Στη συνέχεια περιγράφουμε λεπτομερώς αυτά μοντέλα, τις λειτουργίες τους, τις εντολές που χρησιμοποιήθηκαν και το πώς αυτά αλληλεπιδρούν μεταξύ τους. 4.3.α.Μοντέλο ομότιμου κόμβου Για κάθε ομότιμο κόμβο του συστήματος χρησιμοποιείται ένα μοντέλο κόμβου και ένα μοντέλο επεξεργασίας,για να αναπαρασταθεί.το μοντέλο κόμβου αποτελείται από έναν και μοναδικό processor και μέσα στον οποίο βρίσκεται το αντίστοιχο μοντέλο επεξεργασίας.συνολικά το σύστημά μας αποτελείται από 100 πανομοιότυπους κόμβους και το server. To μοντέλο επεξεργασίας παρουσιάζεται στο παρακάτω σχήμα: Σχήμα: Μοντέλο επεξεργασίας ομότιμου κόμβου

38 Στη συνέχεια αναλύουμε κάποιες εντολές που χρησιμοποιήθηκαν προκειμένου να επιτευχθεί η παραπάνω υλοποίηση : Αρχικά για να μπορούμε να παίρνουμε τον αριθμό που αντιπροσωπεύει το όνομα κάθε κόμβου ορίσαμε ένα νέο χαρακτηριστικό (attribute),το οποίο ονομάσαμε number και θα διαβάζεται κάθε φορά στο αρχικό state του κόμβου. Κάθε κόμβος λοιπόν διαβάζει αρχικά το id του server και του processor του server και στην συνέχεια του στέλνει ένα πακέτο με όλες τι απαραίτητες πληροφορίες.για αυτό το λόγο δημιουργούμε μια δομή τύπου peer που θα περιέχει αυτή την πληροφορία στα πεδία της (id,playback, number, capacity).αυτο γίνεται μέσω των εντολών: //id tou node my_id=op_id_self(); //onoma tou node op_ima_obj_attr_get(op_topo_parent(my_id), "name", my_name); op_ima_obj_attr_get(op_topo_parent(my_id),"number",&my_number); //id tou server server_id = op_id_from_name(0,opc_objtype_node_fix,"server"); server_id = op_topo_child(server_id,opc_objtype_proc, 0); peer *p=(peer *)op_prg_mem_alloc(sizeof(peer)); p->id=my_id; p->playback =my_playback; p->number=my_number; p->cap=peer_capacity; Packet *pkt; pkt=op_pk_create_fmt("packet"); op_pk_nfd_set(pkt,"command",hello); op_pk_nfd_set(pkt,"data",p, op_prg_mem_copy_create, op_prg_mem_free, sizeof(peer)); op_pk_nfd_set(pkt,"source",my_id); op_pk_deliver_delayed(pkt,server_id,0,join_time); Έπειτα ο κόμβος μεταβαίνει σε ένα κοκκινο state και περιμένει να του έρθει ένα πακέτο απο τον server.μόλις το πακέτο έρθει,το αναγνωρίζει μέσω της εντολής: packet=op_pk_get(0); op_pk_nfd_get(packet,"command",&command); ενώ το command του πακέτου χρειάζεται να το διαβάζει,προκειμένου να ξέρει ποιά θα είναι η επόμενη ενέργεια που πρέπει να κάνει. Αφού ο κόμβος αναγνωρίσει ότι το πακέτο που ήρθε είναι από το server και περιέχει τη λίστα των γειτόνων μεταβαίνει σε άλλο πράσινο state και αποθηκεύει τη λίστα με τους γείτονες του σε μια λίστα που έχει δημιουργηθεί κατά την εισαγωγή του στο σύστημα. List* inc_list = op_prg_list_create(); op_pk_nfd_get(packet,"data",&inc_list); op_pk_destroy(packet); int size = op_prg_list_size(inc_list); for(int i=size-1;i>=0;i--) { peer *p = (peer *)op_prg_mem_alloc(sizeof(peer)); peer *p1 = (peer *)op_prg_list_access(inc_list,i); p->id = p1->id; p->number = p1->number; op_prg_list_insert(in_neigh_list,p,opc_listpos_tail); op_prg_mem_free(p1); op_prg_list_remove(inc_list,i); } op_prg_list_free(inc_list); op_prg_mem_free(inc_list); Ετσι ο κάθε κόμβος ξεκινά το κατέβασμα και την αναπαραγωγή του video, ζητώντας από τους γείτονες το block που θέλει το οποίο ορίζεται από το πεδίο next_block. Η αίτηση γίνεται παρόμοια με παραπάνω.

39 Είναι σημαντικό ο κάθε κόμβος να κρατά μια λίστα με τα block που έχει αντιγραμμένα, ώστε ανά πάσα στιγμή να ξέρει εάν μπορεί να εξυπηρετήσει τις εξερχόμενες συνδέσεις του. Αυτό το πετύχαμε δημιουργώντας μια λίστα (playback_list) που δημιουργείται κατά την είσοδο του κόμβου και περιέχει μονοδιάστατους πίνακες 2 στοιχείων που αντιπροσωπεύουν το πρώτο και το τελευταίο block που είδε ο κόμβος χωρίς διακοπή. Εάν γίνει κάποιο jump δημιουργείται νέος πίνακας και εισάγεται στη λίστα. Distribution *dist; dist=op_dist_load("uniform",my_playback,total_blocks-1); int a=(int)op_dist_outcome(dist); peer2 *d=(peer2 *)op_prg_mem_alloc(sizeof(peer2)); d->next_block = a; d->m[0]=a; peer2 *q=(peer2 *)op_prg_list_access(playback_list,opc_listpos_tail); d->m[1]=q->m[1]; op_prg_list_insert(playback_list,d,opc_listpos_tail); Παραδειγμα Εστώ ο κόμβος 1 ξεκινά το κατέβασμα του video από την αρχή και συνεχίζει αδιάκοπα μέχρι και το block 6. Εκείνη τη χρονική στιγμή αποφασίζει να δει το 10ο block και έτσι ενημερώνει το πεδίο next_block=10, το οποιο και ζητά από τους γείτονες. Η playback_list θα ενημερωθεί ως εξής: [0][6] [10][...] Έτσι είναι εύκολος ο έλεγχος διαθεσιμότητας block. Σε περίπτωση αποτυχίας ζητείται αντικατάσταση αυτής της εισερχόμενης σύνδεσης. 4.3.β.Μοντέλο εξυπηρετητή Όπως και πριν το μοντέλο εξυπηρετητή αποτελείται από το μοντέλο κόμβου και ένα μοντέλο επεξεργασίας. Το χρησιμοποιούμενο μοντέλο επεξεργαστή φαίνεται παρακάτω: Σχήμα: Μοντέλο επεξεργασίας εξυπηρετητή

40 Στη συνέχεια αναλύουμε κάποιες εντολές που χρησιμοποιήθηκαν προκειμένου να επιτευχθεί η παραπάνω υλοποίηση : Το σημαντικότερο κομμάτι της εργασίας είναι οι ενέργειες που εκτελεί ο εξυπηρετητής όταν δέχεται αίτημα αντικατάστασης κάποιας εισερχόμενης σύνδεσης ενός κόμβου (st_6). Το αίτημα έρχεται σε μορφή πακέτου και λαμβάνεται όπως έχει περιγραφεί παραπάνω. Στη συνέχεια καταστρώνεται ένας γραφος που περιέχει όλες τις δυνατές συνδέσεις στο σύστημα. Ο server εκτιμά το playback point του κάθε κόμβου ώστε να βρεθέι ποιος μπορεί να δώσει σε ποιον. for(i=0;i<op_prg_list_size(peer_list);i++) { peer *p = (peer *)op_prg_list_access(peer_list,i); num2=p->number; if(p->id!=source) { peer2 *p2 = (peer2 *)op_prg_list_access(p->list,opc_listpos_tail); int est_point = (p2->m[1]==0)?(ceil(op_sim_time() - p2->jump_time)/block_duration) + p2->m[0] : p2->m[1]; ipoint = (est_point>=total_blocks)?(est_point=total_blocks) : est_point; } else ipoint = p1->m[1]; for(j=0;j<op_prg_list_size(peer_list);j++) { peer *p4 = (peer *)op_prg_list_access(peer_list,j); if(p4->id!=p->id) { for(k=0;k<op_prg_list_size(p4->list);k++) { peer2 *p2 = (peer2 *)op_prg_list_access(p4->list,k); int est_point2=(p2->m[1]==0)?(ceil((op_sim_time()- p2- >jump_time)/block_duration)+p2->m[0]):p2->m[1]; //estimated playback int ipoint2 = (est_point2>=total_blocks)?(est_point2=total_blocks) : est_point2; if(p2->m[0] <= ipoint && ipoint <= ipoint2 && ipoint<total_blocks) { num1=p4->number; switch(function) { case 1: graph[num1][num2]=1/(ipoint2 - ipoint); break; case 2: graph[num1][num2]=ipoint2 - ipoint; break; case 3: graph[num1][num2]=ipoint2 - ipoint; break; } } } } } } Παρατηρούμε πως με switch case διαλέγουμε ποιο θέλουμε να είναι το κόστος σύνδεσης. Σε συνδιασμό με τη συνάρτηση cost_est που παρατίθεται παρακάτω ο αλγόριθμος αποφασίζει διαδρομή. Στη συνέχεια θα εκτελεστεί ο αλγόριθμος που θα προσπελάσει αυτή την πληροφορία προσπαθώντας να βρει διαδρομή της μορφής που περιγράφηκε παραπάνω. Όπως αναφέρθηκε ο αλγόριθμος εκτελείται αναδρομικά οπότε είναι αναγκαία η αντιγραφή της αρχικής λίστας κόμβων, όπως επίσης και διατήρηση σε μορφή global μεταβλητής των πληροφοριών που χρησιμοποιούνται από πολλές συναρτήσεις που βρίσκονται στο function block του μοντελου επεξεργασίας. Συνάρτηση path(); Ενδεικτικά παρατίθενται τα σημαντικά σημεία του αλγορίθμου: static void path(const void *value1) { FIN(shortest_path(value1)) peer *peer0 = (peer *)value1; peer *peer1 = (peer *)op_prg_mem_alloc(sizeof(peer)); for(int i=0; i<op_prg_list_size(peer1->inc); i++)

41 } { peer *peer2 = (peer *)op_prg_list_access(peer1->inc, i); for(int j=0;j<op_prg_list_size(q->lista);j++) { peer *peer3 = (peer *)op_prg_list_access(q->lista,j); // access thn trexousa peer list if(graph[peer2->number][peer3->number]>0 && peer3->number!=peer1->number && peer3->number!=node[0]->number) { for(int l=0; l<op_prg_list_size(peer3->inc);l++) { peer *peer4 = (peer *)op_prg_list_access(peer3->inc,l); if(peer4->number!= peer2->number && peer4->number!= peer1->number) { if(graph[peer4->number][node[0]->number]>0 ) { //προσωρινή αποθήκευση στη λίστα how,κώδικας παραλείπεται if(node[0]->pathv > cost_est(node[0],peer4)) { node[0]->pathv=cost_est(node[0],peer4); } } else if(graph[peer4->number][node[0]->number]==0 && valid_test2(peer3,peer4,peer1,peer2)==0 && t<path_length) { //δημιουργία αντιγραφου λιστας χωρίς του χρησιμοποιημένους κόμβους, κώδικας παραλείπεται path(peer3); } } } } } FOUT } Πρέπει να σημειώσουμε ότι η παράμετρος t είναι αυτή που ορίζει το πλήθος των επαναλήψεων της συνάρτησης path(). Η υπογραμμισμένη if είναι πολυ σημαντική καθώς είναι αυτή που ελέγχει εάν το νέο εκτιμούμενο κόστος διαδρομής είναι μικρότερο από το ήδη υπάρχων. Συνάρτηση cost_est(): double cost_est(const void *value1, const void *value2) { FIN(cost_est(value1,value2)) peer *peer1 = (peer *)value1; peer *p1 = (peer *)op_prg_mem_alloc(sizeof(peer)); p1->id = peer1->id; p1->number = peer1->number; peer *peer4 = (peer *)value2; peer *p4 = (peer *)op_prg_mem_alloc(sizeof(peer)); p4->id = peer4->id; p4->number = peer4->number; double cost=0; switch(function) { case 1: for( int lc=1;lc<op_prg_list_size(how)-1;lc=lc+2) { peer *p = (peer *)op_prg_list_access(how,lc); peer *q = (peer *)op_prg_list_access(how,lc+1); cost = cost + graph[p->number][q->number]; } cost = cost +graph[peer4->number][peer1->number]; break; case 2: for( int lc=1;lc<op_prg_list_size(how)-1;lc=lc+2) { peer *p = (peer *)op_prg_list_access(how,lc); peer *q = (peer *)op_prg_list_access(how,lc+1); if(cost<=graph[p->number][q->number]) cost=graph[p->number][q->number]; } if(cost<=graph[peer4->number][peer1->number]) cost=graph[peer4->number][peer1->number]; break; case 3: for( int lc=1;lc<op_prg_list_size(how)-1;lc=lc+2) {

42 peer *p = (peer *)op_prg_list_access(how,lc); peer *q = (peer *)op_prg_list_access(how,lc+1); cost = cost + graph[p->number][q->number]; } cost = cost +graph[peer4->number][peer1->number]; break; } op_prg_mem_free(p1); op_prg_mem_free(p4); FRET(cost) } Όμοια με πριν με την εντολή switch case μπορούμε να διαλέξουμε ανάμεσα στα κριτήρια υπολογισμού του κόστους. Έτσι έχουμε: -case 1: longest path Έχοντας ορίσει το κόστος ως 1/Διαφορά_playback, η συνάρτηση αθροίζει τις τιμές του γράφου και καταλήγει στη μέγιστη διαφορά playback επιλέγωντας το μικρότερο άθροισμα. -case 2:minmax Εδώ το κόστος ορίζεται απλώς ως η Διαφορά_playback. Η συνάρτηση επιλέγει τη μεγαλύτερη τιμή του γράφου από τους κόμβους που συμμετέχουν ως κόστος διαδρομής και εν τέλει κρατά το μικρότερο σε σχέση με τις άλλες διαδρομές που ίσως προκύψουν. -case 3: shortest path Λειτουργεί όπως και η περίπτωση 1 με τη διαφορά ότι το κόστος ορίζεται απλώς ως η Διαφορά_playback. Καθώς σε ένα σύστημα με πολλούς κόμβους η υπολογιστική ισχύς που απαιτείται για την προσπέλαση όλων των δεδομένων είναι μεγάλη, αναπτύχθηκαν συναρτήσεις που προβλέπουν τη χρησιμότητα του κάθε κόμβου, ώστε σε περίπτωση αποτυχίας να παραλείπεται απο περαιτέρω ελέγχους. ΚΕΦAΛΑΙΟ 5:ΑΠΟΤΕΛΕΣΜΑ ΕΞΟΜΟΙΩΣΗΣ, ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ Το επόμενο βήμα,μετά τη δημιουργία της τοπολογίας του γράφου του δικτύου και τον καθορισμό του χρονοπρογραμματιστή που θα χρησιμοποιήσουμε,είναι με τη βοήθεια κάποιου εξομοιωτή να μελετήσουμε τις διάφορες παραμέτρους που επηρεάζουν την απόδοση του συστήματος.ο εξομοιωτής που χρησιμοποιήσαμε είναι όπως αναφέρθηκε και σε προηγούμενη ενότητα ο OPnet Modeller Στη συνέχεια παρουσιάζονται τα αποτελέσματα που προκύπτουν από τις εξομοιώσεις,κάποιες παρατηρήσεις σχετικά με αυτές και τέλος τα συμπεράσματα, που ίσως είναι και το πιο σημαντικό κομμάτι της μελέτης μας,καθώς μπορεί να αποτελέσει τη βάση για παραπάνω έρευνα. 5.1.Παρατηρήσεις εξομοίωσης και στατιστικά Στο μοντέλο δικτύου,με την επιλογή Edit Attributes ορίζουμε τις διάφορες παραμέτρους σύμφωνα με τις οποίες θα μελετήσουμε τη συμπεριφορά του συστήματος σε διάφορα σενάρια. Οι τιμές που χρησιμοποιήσαμε για τις παραμέτρους που έχουμε αναφέρει στο κεφάλαιο 3 και θα χρησιμοποιηθούν στις εξομοιώσεις είναι: arrival period = 1 peer/ 2 sec block size(kb) = 129 kbits number of neighbours = 6 total nodes =100 service rate =1290kbps (αυτή η τιμή συμπίπτει με το μέσο όρο του εύρους ζώνης upload

43 των κόμβων) Οι υπόλοιπες παράμετροι αλλάζουν ανάλογα με το σενάριο εξομοίωσης και θα αναλυθούν παρακάτω Τα στατιστικά προς μέτρηση θα είναι: To πλήθος των εξερχόμενων συνδέσεων του server και τo ποσοστό αυτών σε σχέση με τις συνολικές συνδέσεις Το μέσο πλήθος των εισερχόμενων συνδέσεων των κόμβων Το πραγματικό πλήθος των εξερχόμενων συνδέσεων των κόμβων και η σύγκρισή τους με το αντίστοιχο θεωρητικό Το ποσοστό των επιτυχημένων εκτελέσεων της συνάρτησης ανεύρεσης αντικαταστάτη path(), προς το συνολικό πλήθος προσπαθειών. 5.2.Σενάρια εξομοίωσης, γραφική απεικόνιση στατιστικών και παρατηρήσεις Σενάριο 1 Θα εξετάσουμε τη συμπεριφορά του συστήματος για ένα video file διάρκειας 500sec και με κάθε κόμβο να εκτέλει άλμα σε τυχαίο σημείο του video μετά την είσοδο όλων των κόμβων, όπως επίσης και την απόδοση της συνάρτησης path() με μέγιστο μήκος διαδρομής 8 κόμβων. Σενάριο 2 Επαναλαμβάνουμε το ίδιο πείραμα με μέγιστο μήκος διαδρομής 4 κόμβων. Σενάριο 3 Επαναλαμβάνουμε το ίδιο πείραμα με μέγιστο μήκος διαδρομής 6 κόμβων. Σενάριο 4 Αυτή τη φόρα κάθε κόμβος έχει 40% πιθανότητα να εκτελέσει άλμα σε τυχαίο,μελλοντικό σημείο του video και το μέγιστο μήκος διαδρομής είναι 8 κόμβοι. Σενάριο 5 Επαναλαμβάνουμε το ίδιο πείραμα με 80% πιθανότητα να εκτελέσει άλμα. Σενάριο 6 Επαναλαμβάνουμε το σενάριο 1 με video file μικρότερης διάρκειας., 300Sec. Σενάριο 7 Επαναλαμβάνουμε το σενάριο 1 με video file μεγαλύτερης διάρκειας, 800Sec. Όλα τα σενάρια εκτελούνται για κάθε μια από τις συναρτήσεις εκτίμησης κόστους :1)longest, 2)minmax, 3)shortest. Εκτελώντας το πρώτο σενάριο, παραθέτουμε τις γραφικές απεικονίσεις των τριών συναρτήσεων εκτίμησης κόστους.

44 Παρατηρούμε ότι όσο οι κόμβοι εκτελούν άλματα, το ποσοστό επιτυχίας αυξάνεται ριζικά και τελικά πάνω από το 85% των προσπαθειών ανεύρεσης γείτονα είναι επιτυχείς, με τη συνάρτηση minmax να δίνει την καλύτερη απόδοση από τις τρεις. Συνεχίζουμε παραθέτωντας τα αποτελέσματα για μέγιστο μήκος διαδρομής με 4 και 6 κόμβους, για τη συνάρτηση minmax To ποσοστό επιτυχίας και για τα δύο μήκη διαδρομής είναι: Είναι εμφανές ότι περιορίζοντας το μέγιστο μήκος διαδρομής, η πιθανότητα να βρεθεί αντικαταστάτης μειώνεται. Είναι ενδιαφέρον να δούμε πως κυμαίνονται η μέσες εισερχόμενες συνδέσεις των κόμβων, όπως επίσης και οι εξερχόμενες σε σχέση με το θεωρητικό ανώφλι.

45 Για το μέσο πλήθος των εισερχόμενων συνδέσεων έχουμε: Το γεγονός ότι υπάρχει μια απόκλιση από τη θεωρητική τιμή 6, ωφείλεται στις ακραίες τιμές που παίρνει η μεταβλητή κατά την ανακατανομή των συνδέσεων. Αυτό είναι πιο εμφανές για 6άδα κόμβων, όπου η συνάρτηση εύρεσης είναι πιο επιτυχής, άρα επιβάλει τους κόμβους να ανακατανήμουν κάποιες εισερχόμενες συνδέσεις. Έτσι το μεταβατικό φαινόμενο ρίχνει τη μέση τιμή. Για το μέσο πλήθος εξερχόμενων συνδέσεων έχουμε:το μέσο θεωρητικό ανώφλι ορίζεται από τη σχέση : Out REF ( i) Ui ( t)* N ( t) = µ Όπως και πριν οι ανακατατάξεις των συνδέσεων δημιουργούν μεταβατικό φαινόμενο του οποίου οι ακραίες τιμές επηρεάζουν το μέσο όρο. Είναι σημαντικό ότι οι πραγματικές τιμές δεν ξεπερνούν τη θεωρητική και ο κόμβοι δεν αποκτούν τόσες εξερχόμενες συνδέσεις ώστε να επηρεάζουν αρνητικά το εύρος ζώνης upload τους. Συγκεκριμένα οι εξερχόμενες συνδέσεις του server κυμαίνονται ως εξής:

46 Εδώ φαίνεται ο λόγος των πραγματικών συνδέσεων προς το θεωρητικό. Παρατηρούμε πως το γεγονός ότι δεν υπάρχει μεγάλο diversity στο σύστημα για 4άδα κόμβων, οδηγεί στην αποτυχία αντικατάστασης του server από τις εισερχόμενες συνδέσεις των κόμβων. Αντιθέτως, για 6άδα ο server διατηρεί σημαντικά μικρότερο αριθμό εξερχόμενων συνδέσεων, τις οποίες εν τέλει μηδενίζει. Ιδιαίτερο ενδιαφέρον έχουν οι γραφικές απεικονίσεις όταν οι κόμβοι εκτελούν άλμα με πιθανότητες 40% και 80%. Αυτά τα σενάρια θα τα εκτελέσουμε με μέγιστο πλήθος κόμβων διαδρομής 8. Η απόδοση της minmax παρουσιάζεται παρακάτω:

47 Παρατηρείται ότι η απόδοση μειώνεται με την πιθανότητα άλματος. Αυτό είναι λογικό αν σκεφτούμε πως το diversity των playback των κόμβων αυξάνεται με το πλήθος των αλμάτων και η εύρεση ικανού κόμβου έχει άμεση εξάρτηση από αυτό.οι εισερχόμενες και εξερχόμενες συνδέσεις κυμαίνονται ως εξής: Σχήμα.Μέσος όρος εισερχόμενων συνδ. Σχήμα.Μέσος όρος εξερχόμενων συνδ. Όσον αφορά τις εξερχόμενες συνδέσεις του server ως προς τις θεωρητικές έχουμε :

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

Πανεπιστήµιο Μακεδονίας

Πανεπιστήµιο Μακεδονίας 1. ΙΚΤΥΑ Η/Υ 1.1. Τι είναι ίκτυο Υπολογιστών. Ένα δίκτυο υπολογιστών είναι ένα σύστηµα επικοινωνίας δεδοµένων που συνδέει δύο ή περισσότερους αυτόνοµους και ανεξάρτητους υπολογιστές και περιφερειακές συσκευές.

Διαβάστε περισσότερα

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

Διαβάστε περισσότερα

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 6: Συσκευές τηλεπικοινωνιών και δικτύωσης (Θ) Ενεργά στοιχεία δικτύων Δύο συστήματα Η/Υ μπορούν να συνδεθούν χρησιμοποιώντας: Δια-αποδιαμορφωτές

Διαβάστε περισσότερα

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Διασύνδεση τοπικών δικτύων

Διασύνδεση τοπικών δικτύων Κεφάλαιο 10 Διασύνδεση τοπικών δικτύων ------------------------- Μάθημα 10.1 : Αρχές διασύνδεσης τοπικών δικτύων Μάθημα 10.2 : Επιλογή τοπικού δικτύου και μέσου μετάδοσης Μάθημα 10.3 : Επιλογή τοπικού

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2008 / 2009

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2008 / 2009 ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2008 / 2009 Επιβλέπων : Επικ. Καθηγητής Σπύρος Δενάζης Για περισσότερες πληροφορίες σχετικά με τις παρακάτω διπλωματικές εργασίες να επικοινωνήσετε με τον Σπύρο Δενάζη (sdena@upatras.gr)

Διαβάστε περισσότερα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Νέες Επικοινωνιακές Τεχνολογίες

Νέες Επικοινωνιακές Τεχνολογίες Νέες Επικοινωνιακές Τεχνολογίες Λύσεις Θεμάτων http://nop33.wordpress.com Τι ορίζουμε ως Τοπικό Δίκτυο Υπολογιστών; Ποια είναι τα βασικά χαρακτηριστικά των Τοπικών Δικτύων; Ποιες οι βασικές τοπολογίες

Διαβάστε περισσότερα

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

Διαβάστε περισσότερα

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ(VLSI DESIGN) «Κατανεμημένη παρατήρηση-εκτίμηση

Διαβάστε περισσότερα

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Δίκτυα ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Εισαγωγή Η επικοινωνία, ως ανταλλαγή πληροφοριών, υπήρξε ένας από τους θεμέλιους λίθους της ανάπτυξης του ανθρώπινου πολιτισμού Η μετάδοση πληροφορίας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 7: Εισαγωγή στα δίκτυα Η/Υ (μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

Διαβάστε περισσότερα

Εφαρμογές Πληροφορικής

Εφαρμογές Πληροφορικής Εφαρμογές Πληροφορικής Κεφάλαιο 12 Επικοινωνίες Δίκτυα Διαδίκτυο και ιστοσελίδες ΜΕΡΟΣ Α 1. Επικοινωνίες Αναλογικό Σήμα (analog signal) Eίναι ένα σήμα το οποίο μεταβάλλεται συνεχώς μέσα στο χρόνο. Π.χ.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Το ηλεκτρονικό ταχυδρομείο: Aφορά στην αποστολή και λήψη μηνυμάτων με συγκεκριμένη δομή και με συγκεκριμένα πρωτόκολλα. Ο αποστολέας και ο παραλήπτης

Το ηλεκτρονικό ταχυδρομείο: Aφορά στην αποστολή και λήψη μηνυμάτων με συγκεκριμένη δομή και με συγκεκριμένα πρωτόκολλα. Ο αποστολέας και ο παραλήπτης ΚΕΦΑΛΑΙΟ 10 Το ηλεκτρονικό ταχυδρομείο: Aφορά στην αποστολή και λήψη μηνυμάτων με συγκεκριμένη δομή και με συγκεκριμένα πρωτόκολλα. Ο αποστολέας και ο παραλήπτης αναγνωρίζεται από μία μοναδική διεύθυνση

Διαβάστε περισσότερα

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

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

Εισαγωγή στο διαδίκτυο

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

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Δίκτυα Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Δρ. Μελάς Χρήστος, Επίκουρος Καθηγητής V.1.0, 2017, Τμήμα Νοσηλευτικής ΤΕΙ Κρήτης Διάλεξη 8 Δίκτυο υπολογιστών: Ένα σύνολο από υπολογιστές που συνδέονται μεταξύ τους

Διαβάστε περισσότερα

ΕΥΑΓΓΕΛΟΣ Χ. ΖΙΟΥΛΑΣ

ΕΥΑΓΓΕΛΟΣ Χ. ΖΙΟΥΛΑΣ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ (ΕΠΙΛΟΓΗΣ - Α ΛΥΚΕΙΟΥ) ΚΕΦ. 8 ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ 2014-2015 Καθηγητής ΕΥΑΓΓΕΛΟΣ Χ. ΖΙΟΥΛΑΣ e-mail: vczioulas@yahoo.com site: http://www.zioulas.gr ΚΕΦ.8 ΔΙΚΤΥΑ

Διαβάστε περισσότερα

Λογισμικό Υλικό τοπικών δικτύων

Λογισμικό Υλικό τοπικών δικτύων Κεφάλαιο 9 Λογισμικό Υλικό τοπικών δικτύων ------------------------- Μάθημα 9.1 : Δικτυακό λειτουργικό σύστημα Μάθημα 9.2 : Ειδικός δικτυακός εξοπλισμός Μάθημα 9.3 : Επαναλήπτες Μάθημα 9.4 : Γέφυρες Μάθημα

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΦΘΙΝΟΠΩΡΟ 2003 ΗΜΗΤΡΗΣ ΖΗΣΙΑ ΗΣ 2003 ηµήτρης Ζησιάδης Απαγορεύεται η χρησιµοποίηση όλου ή µέρους του υλικού αυτού σε οποιαδήποτε µορφή (ούτε και σε φωτοαντίγραφα) ή

Διαβάστε περισσότερα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ8: Δίκτυα Υπολογιστών 8.1 Επικοινωνία και Δίκτυα Υπολογιστών Τι εννοούμε με τον όρο δίκτυο; Εννοούμε ένα σύνολο αντικειμένων (π.χ. τηλεφώνων, υπολογιστών) ή ανθρώπων

Διαβάστε περισσότερα

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

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Διάρθρωση 1 Βασικές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

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

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

Διαβάστε περισσότερα

Τμήμα του εθνικού οδικού δικτύου (Αττική οδός)

Τμήμα του εθνικού οδικού δικτύου (Αττική οδός) Λέξεις Κλειδιά: Δίκτυο υπολογιστών (Computer Network), τοπικό δίκτυο (LAN), δίκτυο ευρείας περιοχής (WAN), μόντεμ (modem), κάρτα δικτύου, πρωτόκολλο επικοινωνίας, εξυπηρέτης (server), πελάτης (client),

Διαβάστε περισσότερα

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ ΠΟΛΥΜΕΣΑ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΓΤΠ 61 Πληροφορική Πολυμέσα Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο Παρουσίαση 13-12-2009 Δροσοπούλου Χρυσάνθη

Διαβάστε περισσότερα

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Ε.Παπαπέτρου

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Δίκτυα Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Δίκτυο υπολογιστών: ένα σύνολο διασυνδεδεμένων

Διαβάστε περισσότερα

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

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ Ο πραγματικός κόσμος είναι ένας αναλογικός κόσμος. Όλα τα μεγέθη παίρνουν τιμές με άπειρη ακρίβεια. Π.χ. το ηλεκτρικό σήμα τάσης όπου κάθε

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

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

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

Διαβάστε περισσότερα

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Κεφάλαιο 2 Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Εισαγωγή Μέσα αποθήκευσης Δίκτυα υπολογιστών Βάσεις δεδομένων Δίκτυα Υπολογιστών Σύνολο από υπολογιστές ή συσκευές διασυνδεδεμένες

Διαβάστε περισσότερα

Δικτύωση υπολογιστών

Δικτύωση υπολογιστών Δικτύωση υπολογιστών Από το 1985 αρχίζει η δικτύωση των υπολογιστών Επικοινωνία μεταξύ των συνδεδεμένων Η/Υ για μεταφορά αρχείων και δεδομένων Διαχειριστής δικτύου (Server) Εκτυπωτής 1 Πλεονεκτήματα δικτύου

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ

ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ ΤΕΧΝΟΛΟΓΙΑ ΕΠΙΚΟΙΝΩΝΙΩΝ 2Ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ 1. Να αναφέρετε μερικές από τις σημαντικότερες εξελίξεις και εφευρέσεις στην ιστορία των συστημάτων επικοινωνίας. Η ανακάλυψη του κινητού τυπογραφικού

Διαβάστε περισσότερα

Information Technology for Business

Information Technology for Business Information Technology for Business Lecturer: N. Kyritsis, MBA, Ph.D. Candidate e-mail: kyritsis@ist.edu.gr Computer System Hardware Υποδομή του Information Technology Υλικό Υπολογιστών (Hardware) Λογισμικό

Διαβάστε περισσότερα

Αριστοµένης Μακρής Εργαστήρια Η/Υ

Αριστοµένης Μακρής Εργαστήρια Η/Υ Επικοινωνίες µεταξύ Η/Υ - ιαδίκτυο Αναλογική Ψηφιακή µετάδοση Αναλογική µετάδοση Ψηφιακή µετάδοση Σειριακή Παράλληλη επικοινωνία Σειριακή επικοινωνία Παράλληλη επικοινωνία Μονόδροµη Ηµίδιπλη Αµφίδροµη

Διαβάστε περισσότερα

Key concepts and applications of peer to peer networks

Key concepts and applications of peer to peer networks Key concepts and applications of peer to peer networks Toutios Panagiotis February 2007 University of Macedonia Master Information Systems Networking Technologies Professors: A.A Economides & A. Pomportsis

Διαβάστε περισσότερα

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

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 Επιβλέπων : Επικ. Καθηγητής Σπύρος ενάζης Για περισσότερες πληροφορίες σχετικά µε τις παρακάτω διπλωµατικές εργασίες να επικοινωνήσετε µε τον Σπύρο ενάζη (sdena@ece.upatras.gr)

Διαβάστε περισσότερα

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

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

6.2 Υπηρεσίες Διαδικτύου

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δίκτυα Υπολογιστών Στόχοι 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες

Διαβάστε περισσότερα

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7] Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 5 1. Τι γνωρίζετε για τα Δίκτυα Ευρείας Περιοχής; Τα τοπικά δίκτυα αποτελούν πολύ καλή λύση για επικοινωνία με περιορισμένη, όμως, απόσταση κάλυψης. Για να ικανοποιηθεί η

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ10: Υπηρεσίες και Εφαρμογές Διαδικτύου 10.1 Υπηρεσίες Διαδικτύου Υπηρεσίες Επικοινωνίας Ηλεκτρονικό Ταχυδρομείο (e-mail) Υπηρεσία του Διαδικτύου για διακίνηση γραπτών

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

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

1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19 1.2.1 Το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI) 1 / 19 2 / 19 Το Φυσικό Επίπεδο Το Φυσικό Επίπεδο ή στρώμα (Physical layer) ασχολείται με τη μετάδοση των bit (1 0) που απαρτίζουν

Διαβάστε περισσότερα

Μάθημα 6: Αρχιτεκτονική TCP/IP

Μάθημα 6: Αρχιτεκτονική TCP/IP Μάθημα 6: Αρχιτεκτονική TCP/IP 6.1 Συσχέτιση OSI και TCP/IP Η αρχιτεκτονική TCP/IP ακολουθεί ένα πρότυπο διαστρωμάτωσης παρόμοιο με το μοντέλο OSI. Η αντιστοιχία φαίνεται στο σχήμα 6.1. Η ονομασία της

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Μετάδοσης Δεδομένων Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail:

Διαβάστε περισσότερα

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει: ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΑ ΕΙΔΙΚΟΤΗΤΑΣ ΚΥΡΙΑΚΗ 23/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. α-σωστό β-σωστό γ-λάθος δ-λάθος

Διαβάστε περισσότερα

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Ενότητα 9 Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας Πληροφοριακά Συστήματα Διοίκησης ΙI Ι Διδάσκων: Νίκος Καρακαπιλίδης 9-1 Στόχοι & αντικείμενο ενότητας Σχεδιασμός επεξεργασίας Επεξεργασία κατά δεσμίδες

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Για να διεκπεραιωθεί η μεταφορά των πακέτων από την πηγή στον προορισμό μεταξύ των κόμβων του επικοινωνιακού υποδικτύου απαιτείται η

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

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

Διαβάστε περισσότερα

Ομότιμα συστήματα p2p systems ΠΡΙΝΕΑ ΜΑΡΙΑ 10 ΕΞΑΜΗΝΟ

Ομότιμα συστήματα p2p systems ΠΡΙΝΕΑ ΜΑΡΙΑ 10 ΕΞΑΜΗΝΟ Ομότιμα συστήματα p2p systems ΠΡΙΝΕΑ ΜΑΡΙΑ 10 ΕΞΑΜΗΝΟ ΠΕΡΙΛΗΨΗ P2P Εναλλακτική λύση των παραδοσιακών συστημάτων κεντρικών Η/Υ Κυριότερα συστήματα:napster κ Gnutella Μελέτη μέτρησης συστημάτων (μέτρηση

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 20 Διάρθρωση 1 Βασικές

Διαβάστε περισσότερα

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 STORAGE AREA NETWORK Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 ΤΙ ΕΙΝΑΙ ΔΙΚΤΥΟ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) ΟΡΙΣΜΟΣ ΔΙΚΤΥΟΥ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) Οποιοδήποτε, υψηλής απόδοσης, δίκτυο

Διαβάστε περισσότερα

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

Διαβάστε περισσότερα

A. ΓΕΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ

A. ΓΕΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ A. ΓΕΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ Εισαγωγή Οι προδιαγραφές του υλικού που ακολουθούν, έχουν βασιστεί στο Ενιαίο Πλαίσιο Προγράμματος Σπουδών και στα Προγράμματα σπουδών Πληροφορικής για το Γυμνάσιο και το

Διαβάστε περισσότερα

Κεφάλαιο 12. Επικοινωνίες-Δίκτυα-Διαδίκτυο. Εξαιρούνται οι παράγραφοι:

Κεφάλαιο 12. Επικοινωνίες-Δίκτυα-Διαδίκτυο. Εξαιρούνται οι παράγραφοι: Κεφάλαιο 12 Επικοινωνίες-Δίκτυα-Διαδίκτυο Εξαιρούνται οι παράγραφοι: 12.1 12.3.2 12.3.7 12.4 1 12.2 Ηλεκτρονική επικοινωνία Τι ονομάζουμε τηλεπικοινωνία; Την επικοινωνία από απόσταση Τι ονομάζουμε ηλεκτρονική

Διαβάστε περισσότερα

Ενότητα 7. Εισαγωγή στην Πληροφορική. Κεφάλαιο 7Α. Χρήσεις ικτύων. Ταυτόχρονη πρόσβαση. Χειµερινό Εξάµηνο

Ενότητα 7. Εισαγωγή στην Πληροφορική. Κεφάλαιο 7Α. Χρήσεις ικτύων. Ταυτόχρονη πρόσβαση. Χειµερινό Εξάµηνο Ενότητα 7 Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ίκτυα Υπολογιστών: Κεφάλαιο 7Α: Βασικές Έννοιες ικτύων Κεφάλαιο 7Β: Οικιακή και Εξωτερική ικτύωση ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 13. Λογισµικό Υλικό. Λειτουργικό σύστηµα υποστήριξης δικτύου. Ανακεφαλαίωση Ερωτήσεις

Κεφάλαιο 13. Λογισµικό Υλικό. Λειτουργικό σύστηµα υποστήριξης δικτύου. Ανακεφαλαίωση Ερωτήσεις Κεφάλαιο 13 Λογισµικό Υλικό Μάθηµα 13.1: Μάθηµα 13.2: Λειτουργικό σύστηµα υποστήριξης δικτύου ιαδικτυακός εξοπλισµός Ανακεφαλαίωση Ερωτήσεις Επιµέλεια : Αθανάσιος Ι. Μάργαρης (amarg@uom.gr) 132 Ερώτηση

Διαβάστε περισσότερα

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 7: Digital Subscriber Line/DSL(Θ) Ψηφιακή Γραμμή Συνδρομητή (Digital Subscriber Line, DSL) Χρήση απλού τηλεφωνικού καλωδίου (χαλκός, CAT3) Έως 2,3

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

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

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Ενότητα 1 Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Εύρος Ζώνης και Ταχύτητα Μετάδοσης Η ταχύτητα µετάδοσης [εύρος ζώνης (banwidth)] των δεδοµένων αποτελεί ένα δείκτη επίδοσης των δικτύων και συνήθως

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 23/04/2017- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΟΔΗΓΙΕΣ ΑΥΤΟΔΙΟΡΘΩΣΗΣ ΘΕΜΑ Α Α1. α-σωστό

Διαβάστε περισσότερα

Κεφάλαιο 5: Τοπικά ίκτυα

Κεφάλαιο 5: Τοπικά ίκτυα Κεφάλαιο 5: Τοπικά ίκτυα 5.1 ΤοΠρωτόκολλο ALOHA Αλγόριθµοι επίλυσης συγκρούσεων µε βάση το δυαδικό δένδρο 5.2 ίκτυα Ethernet Πρότυπο ΙΕΕΕ 802.3 5.3 ίκτυα Token Ring - Πρότυπο ΙΕΕΕ 802.5 Τοπικά ίκτυα 5-1

Διαβάστε περισσότερα

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.2: Το Λογισμικό (Software) Δίκτυα υπολογιστών Αντώνης Χατζηνούσκας 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήματος

Διαβάστε περισσότερα