ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ ΒΟΛΟΣ 2013 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ :

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

Download "ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ ΒΟΛΟΣ 2013 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ :"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ ΒΟΛΟΣ 2013 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΠΡΩΤΟΚΟΛΟΥ BITTORRENT ΣΤΟΝ ΠΡΟΣΟΜΟΙΩΤΗ OMNET++ IMPLEMENTATION OF TE BITTORRENT PROTOCOL IN THE OMNET++ SIMULATOR ΜΙΜΙΔΗΣ-ΚΕΝΤΗΣ ΑΓΓΕΛΟΣ Επιβλέπων καθηγητής Αργυρίου Αντώνιος, λέκτορας Π.Θ.

2

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

4 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Peer to Peer συστήματα 3. Το πρωτόκολλο BitTorrent 4. Προσομοίωση Δικτύων 5. Υλοποίηση 6. Αποτελέσματα

5 Εισαγωγή Θέμα της πτυχιακής είναι η μελέτη, κατανόηση και υλοποίηση του γνωστού peer to peer πρωτοκόλλου BitTorrent. Για την καλύτερη κάλυψη του θέματος ακολουθείτε η εξής δομή. Αρχικά γίνεται μια περιγραφή πάνω στην τεχνολογία peer to peer. Μετά παρουσιάζεται αναλυτικά η λειτουργία του BitTorrent όπως αυτή περιγράφεται στο επίσημο site. Στην συνέχεια γίνεται μια αναφορά στις τεχνικές της προσομοίωσης δικτύων (τι εξυπηρετούν, τι εργαλεία υπάρχουν διαθέσιμα) και τέλος γίνεται μια αναλυτική περιγραφή της υλοποίησης στον Omnet++ του πρωτοκόλλου BitTorrent, καθώς και η παράθεση αποτελεσμάτων από πειράματα που έγιναν σε αυτήν με σκοπό τόσο τον έλεγχο της ορθότητάς της όσο και για την καλύτερη κατανόηση του πρωτοκόλλου.

6 PEER-TO-PEER ΣΥΣΤΗΜΑΤΑ Ένα peer-to-peer σύστημα διασυνδέει μεταξύ τους πολλούς τελικούς χρήστες σε μια κατανεμημένη αρχιτεκτονική δικτύου στο οποίο ο κάθε χρήστης συνεισφέρει ισότιμα. Με το που ένας peer εισέρχεται στο σύστημα διαθέτει μέρος των διαθέσιμων πόρων του στους υπόλοιπους χρήστες σε αντίθεση με το μοντέλο clientserver στο οποίο όλοι οι χρήστες χρησιμοποιούν μόνο τους διαθέσιμους πόρους του/των server. Τα peer-to-peer συστήματα δημιουργούν ένα overlay δίκτυο στο επίπεδο εφαρμογής το οποίο πατάει πάνω στο ήδη υπάρχων φυσικό δίκτυο. Ανάλογα με τον τρόπο σύνδεσης μεταξύ των peer τα συστήματα αυτά χωρίζονται σε δομημένα (structured) και μη-δομημένα (unstructured). Σε ένα δομημένο peer-to-peer δίκτυο οι peer ακολουθούν ένα ακριβές πρωτόκολλο το οποίο περιγράφει την συμπεριφορά του κάθε peer. Αυτό διασφαλίζει ότι οποιοσδήποτε peer μπορεί εύκολα να συνδεθεί με τον peer που διαθέτει το επιθυμητό αρχείο. Αυτό επιτυγχάνεται συνήθως μέσω ενός DHT πίνακα στον οποίο διευκρινίζεται ποιος peer είναι υπεύθυνος για πιο αρχείο. Στα αδόμητα δίκτυα οι peer αναζητούν τα επιθυμητά αρχεία μέσω διάφορων τεχνικών όπως το flooding, στην οποία ο κάθε peer στέλνει queries σε όλους τους peer του δικτύου για το αν διαθέτουν το αρχείο. Τα αδόμητα αυτά δίκτυα χωρίζονται σε τρεις κατηγορίες τα κεντρικοποιημένα, τα αποκεντροποιημένα και τα υβριδικά. Σε ένα κεντρικοποιημένο P2P δίκτυο υπάρχει μια κεντρική οντότητα (server) η οποία είναι υπεύθυνη να ενημερώνει τους peer για το πώς θα συνδεθούν με τους υπόλοιπους καθώς και το ποια αρχεία αυτοί διαθέτουν. Χαρακτηριστικά παραδείγματα αδόμητων κεντρικοποιημένων P2P συστημάτων αποτελούν τα πρωτόκολλα BitTorrent και Napster. Η κύρια αδυναμία αυτού του τύπου δικτύων είναι ότι διαθέτουν ένα κεντρικό σημείο το οποίο μπορεί είτε να αποτύχει και να οδηγήσει σε πλήρη κατάρρευση του δικτύου, είτε να έχει πολύ μεγάλη κίνηση η οποία θα οδηγήσει σε bottleneck στο συγκεκριμένο σημείο. Στα αποκεντροποιημένα συστήματα όλοι οι κόμβοι του δικτύου είναι ισότιμοι,

7 αυτό σημαίνει ότι όταν ένας peer θέλει να συνδεθεί με το δίκτυο πρέπει να βρει και να συνδεθεί αρχικά με έναν peer και ο οποίος θα του δώσει τις απαραίτητες πληροφορίες (IP, port) ώστε να συνδεθεί με τους υπόλοιπους. Σε περίπτωση που ένας peer θέλει να αναζητήσει ένα αρχείο στέλνει queries στους peer με τους οποίους είναι συνδεμένος και αυτοί με τη σειρά τους είναι υπεύθυνοι να τα προωθήσουν στους δικούς τους γειτονικούς peers. Σε περίπτωση που κάποιος peer λάβει ένα query για κάποιο αρχείο που διαθέτει τότε στέλνει πίσω μια ανάλογη απάντηση η οποία και ακολουθεί την αντίθετη διαδρομή του query. Αφού λάβει τις όποιες απαντήσεις ο peer επιλέγει έναν από τους peers που απάντησαν και αφού δημιουργήσει μεταξύ τους μια TCP σύνδεση, κατεβάζει το επιθυμητό αρχείο απ' ευθείας από τον απομακρυσμένο peer. Παράδειγμα τέτοιου δικτύου είναι το Gnutella. Η κύρια αδυναμία αυτού του τύπου δικτύων είναι ότι δεν κλιμακώνουν καλά όταν το δίκτυο μεγαλώνει πολύ. Αυτό συμβαίνει γιατί μεγαλώνει παράλληλα και το μέγεθος της κίνησης των queries με αποτέλεσμα να καταναλώνεται σημαντικό μέρος του διαθέσιμου bandwidth μόνο για το overhead του πρωτοκόλλου. Στα υβριδικά δίκτυα για να συνδεθεί ένας peer στο δίκτυο πρέπει να επικοινωνήσει αρχικά με έναν super-peer ο οποίος έχει μεγάλο διαθέσιμο bandwidth και να τον ενημερώσει για το ποια αρχεία έχει στη διάθεση του, από εκεί και πέρα ο συγκεκριμένος super-peer είναι υπεύθυνος για αυτόν. Με αυτή την αρχιτεκτονική δικτύου τα queries δεν είναι ανάγκη να γίνονται flood σε όλο το δίκτυο αλλά μόνο μεταξύ των super-peer οι οποίοι μπορούν να διαχειριστούν την μεγάλη κίνηση που διέρχεται από αυτούς. Με αυτόν τον τρόπο λύνεται επιτυχώς το θέμα της κλιμάκωσης σε μεγάλα δίκτυα, αλλά η συγκεκριμένη αρχιτεκτονική είναι ιδιαίτερα σύνθετη και είναι δύσκολη στην συντήρησή της. Παράδειγμα τέτοιου δικτύου αποτελεί το Kazaa.

8 The BitTorrent Protocol Το Bit-Torrent είναι ένα peer-to-peer πρωτόκολλο για τον διαμοιρασμό (μεγάλων) αρχείων μεταξύ πολλαπλών peers οι οποίοι βρίσκονται πάνω σε αναξιόπιστα δίκτυα. Υλοποιήθηκε από τον Bram Cohen τον Απρίλιο του 2001 με την πρώτη έκδοση να διατίθεται τον Ιούλιο του ίδιου έτους. Λόγω της απόκεντροποιημένης φύσης του (όσον αφορά τον καθ' αυτό διαμοιρασμό του αρχείου) διαχειρίζεται πιο ορθολογικά το διαθέσιμο bandwidth του δικτύου, καθώς χρησιμοποιεί το upload bandwidth όλων των κόμβων που συμμετέχουν στη μεταφορά του αρχείου, σε αντίθεση με το κλασικό μοντέλο clientserver που περιορίζεται μόνο στο upload του/των εκάστοτε server (bottleneck). Επίσης όσο περισσότεροι peer ολοκληρώνουν το αρχείο ή τμήματα αυτού, οπότε και συμμετέχουν με τη σειρά τους στην διαδικασία διαμοιρασμού, τόσο μειώνετε και η απαίτηση ο αρχικός peer να διαθέτει ισχυρούς πόρους από πλευράς δικτύου ή hardware. Τέλος το πρωτόκολλο είναι αρκετά ανεκτικό σε προβλήματα συστήματος καθώς η σημαντικότητα κάθε κόμβου ξεχωριστά είναι σχετικά μικρή, εξαιρουμένου φυσικά του tracker και του αρχικού seeder, οι οποίοι όμως καλούνται να διαχειριστούν μόνο ένα μικρό κομμάτι της συνολικής κίνησης καθώς τη μερίδα του λέοντος αναλαμβάνουν τα swarms των peer. Τα παραπάνω αυτά χαρακτηριστικά έκαναν το συγκεκριμένο πρωτόκολλο ένα από τα ποιο διαδεδομένα πρωτόκολλα διαδικτύου τα τελευταία χρόνια όσον αφορά τον διαμοιρασμό αρχείων. Ακόμα και υπηρεσίες όπως το Facebook και το Twitter χρησιμοποιούν το συγκεκριμένο πρωτόκολλο για να μεταφέρουν τα updates στους server που διαθέτουν. Το μεγαλύτερο κομμάτι κίνησης που αφορά το πρωτόκολλο BitTorrent αφορά κυρίως αρχεία βίντεο και ήχου τα οποία διαμοιράζονται μεταξύ χρηστών του διαδικτύου. Πολλά από αυτά τα αρχεία μοιράζονται όμως παράνομα καθώς αποτελούν αντίγραφα αρχείων τα οποία προστατεύονται από άδειες πνευματικού περιεχομένου. Ουσιαστικά το BitTorrent αποτέλεσε συνέχεια των προηγούμενων πρωτοκόλλων peer-to-peer όπως το Gnutella. Ακολουθεί η απαραίτητη επεξήγηση κάποιων σημαντικών όρων για την

9 κατανόηση της λειτουργίας του πρωτοκόλλου : Tracker : Αποτελεί ουσιαστικά ένα server που είναι υπεύθυνος για να οργανώσει όσους ενδιαφέρονται για το ίδιο αρχείο σε μια ομάδα (swarm). Αρκετά συχνά διατηρεί και τα αρχεία.torrent χωρίς αυτό να είναι πάντως απαραίτητο. Peer : Είναι ο τελικός χρήστης του πρωτοκόλλου που επιθυμεί να κατεβάσει ή να μοιραστεί ένα αρχείο.ανάλογα με την λειτουργία που επιτελεί χωρίζεται σε leecher και seeder. Seeder : Οποιοσδήποτε peer έχει ολόκληρο το επιθυμητό αρχείο και συνεχίζει να το διαμοιράζει στους υπόλοιπους peers. Για την ομαλή λειτουργία του πρωτοκόλλου είναι απαραίτητη η ύπαρξη τουλάχιστον ενός seeder στο σύστημα.. Leecher: Οποιοσδήποτε peer δεν έχει ολοκληρώσει ακόμα το download του αρχείου. Συμμετέχει όμως στο upload με όση πληροφορία διαθέτει. Client: Μία εφαρμογή που υλοποιεί το πρωτόκολλο στην πλευρά του peer. Υπάρχει πληθώρα τέτοιων εφαρμογών όπως τα μtorrent, Azureus (Windows) και Transmission (Linux). Αρχείο torrent: Ένα αρχείο κειμένου που βοηθά τον client να επικοινωνήσει επιτυχώς με τον tracker, παρέχοντάς του τις απαραίτητες πληροφορίες που χρειάζεται. Οι πληροφορίες που περιέχει καθώς και ο τρόπος που είναι δομημένες ορίζονται αυστηρά από το πρωτόκολλο. Swarm : Μια ομάδα από peers στην οποία συμμετέχει όποιος ενδιαφέρεται να κατεβάσει ένα αρχείο. Τη λίστα με αυτούς τους peer διανέμει ο tracker. Piece : Κάθε αρχείο χωρίζεται σε έναν αριθμό piece ίδιου μεγέθους. Όταν ένας peer ολοκληρώσει (και επαληθεύσει) ένα piece μπορεί να αρχίσει να το διαμοιράζει. Block : Κάθε piece με τη σειρά του χωρίζεται και αυτό σε ένα αριθμό blocks ίδιου μεγέθους. Τα blocks είναι το κομμάτι πληροφορίας που μπορεί να αποσταλεί και να ληφθεί μέσω των μηνυμάτων response.

10 ΑΡΧΕΙΟ με πλήρεις γραμμές παρουσιάζονται τα piece του αρχείου με Βιακεκομμένες παρουσιάζονται τα blocks του αρχείου Σε γενικές γραμμές το πρωτόκολλο λειτουργεί ως εξής : Ο peer κατεβάζει ένα αρχείο με κατάληξη.torrent, αυτό αποτελεί ουσιαστικά ένα text αρχείο με τις απαραίτητες πληροφορίες για να ξεκινήσει η διαδικασία download του επιθυμητού αρχείου. Εν συνεχεία χρησιμοποιώντας έναν bit-torrent client (bittorrent, utorrent,transmission etc) ανοίγει το.torrent αρχείο που κατέβασε. Το αρχείο αυτό περιλαμβάνει τις εξής πληροφορίες. i. Την διεύθυνση του tracker (IP address). ii. Την SHA1 τιμή που αντιστοιχεί στο συγκεκριμένο torrent. iii. Τον τρόπο με τον οποίο πρέπει να χωρίσει ο client το αρχείο σε pieces και blocks, καθώς και πώς να επαληθεύσει στο τέλος το αρχείο που κατέβασε. (Εικόνα 1) Με τις πληροφορίες που περιλαμβάνει αυτό το αρχείο, ο client επικοινωνεί με τον tracker και τον ενημερώνει ότι επιθυμεί να συμμετέχει στην διαδικασία διαμοιρασμού του εν λόγω αρχείου. Πιο συγκεκριμένα στέλνει ένα HTTP GET request στην διεύθυνση του tracker περιλαμβάνοντας τις εξής πληροφορίες. i. Την SHA1 τιμή του αρχείου που επιθυμεί (ΑΠΑΡΑΙΤΗΤΟ) ii. Ένα string ID μεγέθους 20 byte το οποίο δημιουργεί ο ίδιος ο peer με κάποια συνάρτηση παραγωγής τυχαίων strings.το string αυτό θα χρησιμεύει για να αναγνωρίζεται ο peer μέσα στο swarm στο οποίο θα συμμετέχει (ΑΠΑΡΑΙΤΗΤΟ). Παρότι υπάρχει η πιθανότητα το συγκεκριμένο ID να μην είναι μοναδικό, αυτή είναι πολύ μικρή λόγω κυρίως του μεγέθους του

11 string. iii. Τον αριθμό της port στην οποία ακούει ο peer. Το πρωτόκολλο δεν θέτει περιορισμό στο ποια πρέπει να είναι αυτή οπότε ο peer μπορεί να αναθέσει μια αυθαίρετα (ΑΠΑΡΑΙΤΗΤΟ). iv. Τον αριθμό τον bytes τα οποία έχει κάνει έως τώρα upload ο peer (ΑΠΑΡΑΙΤΗΤΟ). v. Τον αριθμό τον bytes τα οποία έχει κάνει έως τώρα download ο peer (ΑΠΑΡΑΙΤΗΤΟ). vi. Τον αριθμό των bytes τα οποία υπολείπονται από τον peer για να ολοκληρώσει το αρχείο (ΑΠΑΡΑΙΤΗΤΟ). vii. Την IP διεύθυνση του client (ΠΡΟΑΙΡΕΤΙΚΟ). viii. Τον αριθμό των peer πού επιθυμεί ώστε να δημιουργήσει το swarm με το οποίο θα επικοινωνεί (ΠΡΟΑΙΡΕΤΙΚΟ). ix. Μία εκ των παρακάτω τιμών ώστε ο tracker να μπορεί να καταλάβει τον λόγω για τον οποίο στάλθηκε το μήνυμα (ΠΡΟΑΙΡΕΤΙΚΟ). Started : Με αυτό ο peer δηλώνει ότι στέλνει το πρώτο του GET request στον tracker. Stopped : Ο peer δηλώνει ότι θα κλείσει τις συνδέσεις του. Completed : Ο peer ολοκλήρωσε επιτυχώς το αρχείο Αν δεν περιλαμβάνετε συγκεκριμένη τιμή τότε το μήνυμα θεωρείται αυτομάτως σαν περιοδικό update προς τον tracker με σκοπό να τον ενημερώσει για την τωρινή κατάσταση καθώς και να αποφύγει τον περιοδικό καθαρισμό της λίστας των peers από την πλευρά του tracker. (Εικόνα 2) Ο tracker αφού λάβει την αίτηση συμμετοχής από τον client τον εγγράφει στην λίστα των peer και του αποστέλλει ένα αρχείο με τα εξής πεδία πληροφορίας. i. Την χρονική περίοδο μέσα στην οποία ο peer πρέπει να ανανεώνει την εγγραφή του στον tracker (ΑΠΑΡΑΙΤΗΤΟ). ii. Μία λίστα με τις IP διευθύνσεις τα string Ids καθώς και τις ports

12 ενός αριθμού ενεργών peers (ΑΠΑΡΑΙΤΗΤΟ). iii. Τον αριθμό των peers που κατεβάζουν το αρχείο (leechers) καθώς και τον αριθμό αυτών που το έχουν ολοκληρώσει ( seeders ) (ΠΡΟΑΙΡΕΤΙΚΟ). iv. Σε περίπτωση αποτυχίας ο tracker ενημερώνει τον client περιλαμβάνοντας τον λόγω της αποτυχίας. Σε περίπτωση που αυτό το πεδίο δεν είναι κενό, τότε πρέπει να είναι κενά όλα τα υπόλοιπα (ΠΡΟΑΙΡΕΤΙΚΟ). Αφού λάβει την λίστα, ο client πρέπει να επικοινωνήσει με τους peers που βρίσκονται στη λίστα που έλαβε ώστε να δημιουργήσει τις απαραίτητες TCP συνδέσεις για την μεταφορά του αρχείου. (Εικόνες 3,4) Το πρώτο βήμα της peer-to-peer επικοινωνίας είναι η σύναψη χειραψίας με όλους τους peers που απέστειλε ο tracker. Αυτό επιτυγχάνετε με την αποστολή (στον απομακρυσμένο peer) και λήψη (από τον απομακρυσμένο peer) handshake μηνυμάτων τα οποία περιλαμβάνουν την SHA1 τιμή που αντιστοιχεί στο torrent καθώς και το μοναδικό αναγνωριστικό string του peer. Αφού ολοκληρωθεί η χειραψία μεταξύ δυο peer τότε θεωρείτε πώς υπάρχει σύνδεση μεταξύ των δυο peers η οποία μπορεί κάθε στιγμή να βρίσκεται στις εξής καταστάσεις. i. Interested/Not Interested : Με το να θέσει ένας peer την δική του πλευρά της σύνδεσης ως interested δηλώνει ότι επιθυμεί να κατεβάσει κάποια κομμάτια του αρχείο από τον peer στην άλλη άκρη της TCP σύνδεσης. Αντιθέτως αν τη θέσει not interested τότε δηλώνει πως δεν ενδιαφέρεται για κανένα από τα κομμάτια του άλλου peer. ii. Chocked/Unchocked : Αν μια πλευρά της σύνδεσης είναι chocked τότε ο αντίστοιχος peer δηλώνει πώς στην παρούσα κατάσταση δεν διατίθεται να αποστείλει δεδομένα του αρχείου στον άλλο peer. (Εικόνα 5) Κάθε σύνδεση μεταξύ δυο peer ξεκινά ως Chocked/Not Interested και από τις δύο πλευρές καθώς δεν γνωρίζει ακόμα η μία πια κομμάτια του αρχείου

13 διαθέτει η άλλη. Το πρόβλημα αυτό μπορεί να ξεπεραστεί με δυο τρόπους, είτε με την αποστολή/λήψη ενός μηνύματος bitfield είτε ενός μηνύματος have. i. Bitfield : Αποστέλνεται συνήθως με την ολοκλήρωση της χειραψίας μεταξύ δυο peer και αποτελεί ουσιαστικά ένα δυαδικό αριθμό μεγέθους ίσο με τον αριθμό των pieces του αρχείου, όπου το 0 αντιπροσωπεύει ένα piece το οποίο δεν έχει διαθέσιμο ο peer και αντίστοιχα το 1 αντιπροσωπεύει ένα piece το οποίο ο peer έχει κατεβάσει άλλα και επαληθεύσει επιτυχώς. (Εικόνα 6) ii. Have : Αποστέλνεται προς όλους τους peers κάθε φορά που ο συγκεκριμένος peer κατεβάσει και επαληθεύσει ένα piece του αρχείου και περιλαμβάνει τον αριθμό του συγκεκριμένου piece. (Εικόνα 7) Με το που λάβει ένας peer ένα από τα παραπάνω δυο μηνύματα ελέγχει αν τον ενδιαφέρει κάποιο piece που διαθέτει ο peer στην άλλη άκρη της σύνδεσης, και ανάλογα στέλνει ή όχι ένα μήνυμα interested προς τον συγκεκριμένο peer με σκοπό να ενεργοποιήσει την μεταξύ τους σύνδεση. (Εικόνα 8) Αν ένας peer λάβει ένα μήνυμα interested τότε αν διαθέτει ελεύθερα Upload slots στέλνει πίσω ένα μήνυμα Unchocked. (Εικόνα 9) Αν ένας peer λάβει μήνυμα Unchocked τότε είναι ελεύθερος να ζητήσει τα κομμάτια του αρχείου που τον ενδιαφέρουν. Αυτό γίνεται μέσω ενός μηνύματος request στο οποίο ο peer διευκρινίζει πιο block ποιου piece τον ενδιαφέρει. Ο τρόπος με τον οποίο ο peer επιλέγει ποιο κομμάτι του αρχείου θα κατεβάσει κάθε στιγμή δεν διευκρινίζεται από το πρωτόκολλο οπότε αυτό αποφασίζεται από τον εκάστοτε client. (Εικόνα 10) Αφού λάβει ένα μήνυμα request ο peer αποστέλλει τα ζητούμενα δεδομένα στον άλλο peer, αναφέροντας και ο ίδιος τον αριθμό piece-block στον οποίο αναφέρονται τα συγκεκριμένα δεδομένα. (Εικόνα 11) Σε περίπτωση που ο peer ο οποίος ζητάει τα δεδομένα, τα λάβει μέσω ενός άλλου peer τότε αποστέλλει στους υπόλοιπους peers από τους οποίους το ζήτησε ένα μήνυμα cancel.

14 Ακολουθεί μια απλοποιημένη διαγραμματική αναπαράσταση της παραπάνω περιγραφής. Εικόνα 1 Εικόνα 2

15 Εικόνα 3 HANDSHAKE REPLY HANDS HA < - REPLY TRACKER HANJ'SHAK- REPLY 3WAR. HANDSHAKE REPLY Εικόνα 4

16 Εικόνα 5 Εικόνα 6

17 Εικόνα 7 Εικόνα 8

18 Εικόνα 9 Εικόνα 10

19 Εικόνα 11

20 ΠΡΟΣΟΜΟΤΩΣΗ ΑΤΚΤΥΩΝ Ένας προσομοιωτής δικτύου αποτελεί ουσιαστικά ένα software ή hardware το οποίο μοντελοποιεί τη συμπεριφορά ενός δικτύου χωρίς να είναι απαραίτητη η φυσική ύπαρξη αυτού. Χρησιμοποιούνται κυρίως από μηχανικούς δικτύων και ερευνητές γιατί τους δίνουν τη δυνατότητα να δοκιμάσουν πειράματα τα οποία θα ήταν πολύ δύσκολο και ακριβό να γίνουν στο φυσικό επίπεδο. Κύριες χρήσεις είναι η μελέτη της συμπεριφοράς νέων πρωτοκόλλων, είτε ήδη υπαρχόντων στα οποία έχουν γίνει αλλαγές με στόχο την βελτίωση της απόδοσης. Η μελέτη συμπεριφοράς ενός πρωτοκόλλου απαιτεί συνήθως πολύ μεγάλο αριθμό κόμβων ώστε να θεωρηθεί επαρκής, πόρους στους οποίους πολύ σπάνια έχει κάποιος πρόσβαση, ενώ με τη χρήση προσομοιωτών η ανάγκη για πόρους μειώνετε δραματικά. Οι προσομοιωτές αυτοί χωρίζονται σε δύο κατηγορίες. Τους discrete event simulators και τους Markov-Chain based simulators. Οι πιο συνηθισμένοι είναι οι discrete event simulators, σε αυτούς κάθε γεγονός εκτελείτε σε μια προκαθορισμένη σειρά με κάποια γεγονότα να οδηγούν στη δημιουργία κάποιων άλλων (όπως για παράδειγμα η αποστολή ενός πακέτου μέσω TCP οδηγεί στην αποστολή ενός ACK πακέτου από τον παραλήπτη). Στους Markov-Chain simulators οι οποίοι βασίζονται στην θεωρία ουρών, δεν διατηρείτε κάποια λίστα με τα γεγονότα που θα υπάρξουν στο μέλλον, αλλά η προσομοίωση γίνεται μέσω μεταβάσεων χωρίς μνήμη, αν και αυτός ο τρόπος προσομοίωσης είναι πιο γρήγορος είναι και λιγότερο ακριβής και ελαστικός από τον discrete-event. Οι πιο διαδεδομένοι προσομοιωτές αυτή τη στιγμή είναι οι εξής: ns-2 ns-3 OMNET++ Οι προσομοιωτές ns (network simulator) είναι της κατηγορίας discrete event και αποτελούν ελεύθερο λογισμικό (GNU GPLv2 license for research, development ).O ns-2 δημιουργήθηκε το σαν συνέχεια του ns-1 (1995) είναι γραμμένος κυρίως σε C++ αλλά και με την otcl μια αντικειμενοστραφή scripting language η

21 οποία χρησιμοποιούνταν κυρίως για τις καθ' αυτό προσομοιώσεις. Ο ns-3 δημιουργήθηκε το 2006 χωρίς όμως να υποστηρίζει κανένα πρωτόκολλο που είχε φτιαχτεί για τον ns-2 (δηλαδή χωρίς backwards compatibility), γράφτηκε και αυτός σε C++ ενώ οι προσομοιώσεις υποστηρίζουν C++ και Python. Τα κυρίως μειονεκτήματα με τους προσομοιωτές ns είναι η έλλειψη γραφικού περιβάλλοντος η οποία κάνει δύσκολη την εξοικείωση με το προσομοιωτή, η έλλειψη σταθερών αποτελεσμάτων λόγω των συνεχών αλλαγών στα υπάρχοντα πρωτόκολλα και τέλος το γεγονός ότι με την μετάβαση στον ns-3 χάθηκε η υποστήριξη για ένα πολύ μεγάλο αριθμό πρωτοκόλλων που υπήρχαν στον ns-2. Ο προσομοιωτής OMNET έχει μεγαλύτερη γκάμα εφαρμογών καθώς μπορεί να χρησιμοποιηθεί και για άλλες προσομοιώσεις εκτός από δικτύων, αν και χρησιμοποιείτε κατά κόρων για δίκτυα. Έχει ένα δικό του IDE το οποίο βασίστηκε στο Eclipse ενώ διαθέτει και ένα ξεχωριστό GUI για την γραφική παρουσίαση των προσομοιώσεων (Tkenv). Οι τοπολογίες δικτύων ορίζονται μέσω της NED topology description language. Αν και από μόνος του δεν υποστηρίζει αρχικά πολλά πρωτόκολλα, έχει μια μεγάλη γκάμα εξωτερικών frameworks όπως το INET που συμπληρώνουν την λειτουργικότητα του Omnet++ με έτοιμες υλοποιήσεις πρωτοκόλλων. Προσωπικά αφού ασχολήθηκα και με τους δύο προσομοιωτές (ns omnet++) βρήκα τον Omnet++ πιο προσιτό για τα πρώτα βήματα στον τομέα της προσομοίωσης δικτύων κυρίως λόγω του πολύ χρήσιμου GUI για τα τρεξίματα των προσομοιώσεων αλλά και της μεγαλύτερης και πιο ενεργής κοινότητας χρηστών. Έτσι αποφάσισα να ολοκληρώσω το προγραμματιστικό κομμάτι της πτυχιακής εργασίας μου σε αυτόν τον προσομοιωτή.

22 ΥΛΟΠΟΤΗΣΗ ΤΟΥ BITTORRENT ΣΤΟΝ OMNET++ Για την μελέτη του πρωτοκόλλου επιλέχθηκε η προσομοίωση έναντι της μαθηματικής μοντελοποίησης καθώς πιστεύω δίνει την ευκαιρία για μια ποιο βαθιά κατανόηση του πρωτοκόλλου καθώς και την δυνατότητα hands-on πειραματισμού με ρεαλιστικά σενάρια. Η υλοποίηση του πρωτοκόλλου Bit-torrent που έκανα αφορά τη ραχοκοκαλιά του κανονικού πρωτοκόλλου καθώς δεν υλοποιήθηκαν κάποιες μικρές λεπτομέρειες οι οποίες δεν είχαν ουσιαστική επίδραση στην απόδοση του πρωτοκόλλου όταν αυτό έτρεχε σε προσομοιωτή. Τέτοιο παράδειγμα αποτελούν τα περιοδικά keep Alive μηνύματα τα οποία στέλνουν κανονικά οι peers στον tracker για να παραμείνουν στο swarm το οποίο βρίσκονται. Τα κομμάτια τα οποία υλοποιήθηκαν όπως ορίζει το πρωτόκολλο είναι τα εξής 1. Η εγγραφή του κάθε peer στον tracker η διεύθυνση του οποίου θεωρείται εξ αρχής γνωστή. 2. Η απάντηση του tracker που ενημερώνει παράλληλα τους peers για τις διευθύνσεις των υπόλοιπων. 3. Η διαδικασία των χειραψιών μεταξύ των peers. 4. H αποστολή των μηνυμάτων have και bitfield. 5. Η διαδικασία choke-unchoke interested uninterested στις συνδέσεις μεταξύ των peers. 6. Τα μηνύματα request response για τα εκάστοτε blocks του αρχείου. Όσον αφορά κάποιες επιπλέον λεπτομέρειες για την υλοποίηση αξίζουν να σημειωθούν οι εξής. 1. Στη υλοποίηση δεν χρησιμοποιούνται real life πρωτόκολλα δρομολόγησης της κίνησης μέσα στην τοπολογία. Αλλά γίνεται χρήση της built in shortest path δρομολόγησης που προσφέρει το Omnet Επίσης δεν γίνεται χρήση του πρωτοκόλλου TCP καθώς οι συνδέσεις μεταξύ των κόμβων δεν χάνουν μηνύματα. Κατά την διάρκεια της υλοποίησης

23 προσπάθησα να δημιουργήσω ένα μηχανισμό drop και retransmit στα μηνύματα αλλά συνάντησα αρκετές δυσκολίες και τον άφησα ανεκπλήρωτο. Παρόλα αυτά έχω βάλει το απαραίτητο TCP overhead στα μηνύματα που αποστέλλονται για να μην γίνει παραποίηση της απόδοσης του πρωτοκόλλου. 3. Όσον αφορά την διαδικασία του download των pieces, καθώς αυτή δεν ορίζεται από το πρωτόκολλο, ακολούθησα την στρατηγική που ακολουθούν οι κλασικοί clients. Για την επιλογή του κομματιού χρησιμοποιούνται 2 αλγόριθμοι, ο random piece και ο rarest first. Κάθε peer ξεκινά εφαρμόζοντας τον random και σε κάποια στιγμή (ορίζεται από το πρόγραμμα) αλλάζει στον rarest first. Όσον αφορά τώρα την επιλογή του peer από όπου θα γίνει το request αυτή γίνεται random μεταξύ όλων των peer που μπορούν να το διαθέσουν. Για τον έλεγχο εγκυρότητας του προγράμματος κάθε γεγονός που συμβαίνει, όπως οι αποστολές-λήψεις μηνυμάτων καταγράφονται με κατάλληλα μηνύματα log. Παρακάτω ακολουθεί ένα παράδειγμα εξόδου του προγράμματος με τις εξής παραμέτρους εισόδου Peers 2. 1 Seeder 3. 1 Torrent pieces των 5 blocks 5. Random Piece στην αρχή και Rarest First αργότερα όσον αφορά το piece selection Για λόγους οικονομίας χώρου παραθέτω και εξηγώ μόνο κομμάτια του συνολικού log

24 Αρχικά παρουσιάζεται η τοπολογία που χρησιμοποιήθηκε για την πλειονότητα των πειραμάτων. Η τοπολογία όπως φαίνεται περιέχει 46 peers έναν tracker και κάποιους routers οι οποίοι εφαρμόζουν την διαδικασία δρομολόγησης των πακέτων στο δίκτυο. Οι συνδέσεις μεταξύ των κόμβων έχουν τα εξής χαρακτηριστικά. 1. Router to Router connection : delay = 100 μs bandwidth = 100 Mbps 2. Router to Peer connection : delay = 100 μs bandwidth = 6 Mbps 3. Router to Tracker connection : delay = 100 μs bandwidth = 100 Mbps Όπως θα συνέβαινε σε ένα ρεαλιστικό σενάριο οι router και ο tracker έχουν αναλογικά ισχυρό bandwidth σε σχέση με τους peers ώστε να διαχειρίζονται την κίνηση που περνάει από αυτούς.

25 . Στην αρχή του log γίνεται η αρχικοποίηση των κόμβων με τις απαραίτητες παραμέτρους καθώς επίσης παρουσιάζεται και η τοπολογία. Topology Description The topology has 64 nodes Node i=0 is btnetwork.tracker It has 1 conns to other nodes and 1 conns from other nodes Connections to other modules are: btnetwork.router through gate port$o[0] Node i=1 is btnetwork.client1 It has 1 conns to other nodes and 1 conns from other nodes Connections to other modules are: btnetwork.router15 through gate port$o[0] Node i=2 is btnetwork.client2 It has 1 conns to other nodes and 1 conns from other nodes Connections to other modules are: btnetwork.router10 through gate port$o[0] Node i=62 is btnetwork.router15 It has 6 conns to other nodes and 6 conns from other nodes Connections to other modules are: btnetwork.router14 through gate port$o[0] btnetwork.client3 through gate port$o[1] btnetwork.client7 through gate port$o[2] btnetwork.router16 through gate port$o[3] btnetwork.client1 through gate port$o[4] btnetwork.client36 through gate port$o[5] Node i=63 is btnetwork.router16 It has 6 conns to other nodes and 6 conns from other nodes Connections to other modules are: btnetwork.router15 through gate port$o[0] btnetwork.router8 through gate port$o[1] btnetwork.client6 through gate port$o[2] btnetwork.client4 through gate port$o[3] btnetwork.client12 through gate port$o[4] btnetwork.client34 through gate port$o[5] Tracker: Initialisation successful Initializing module btnetwork.client1, stage 0 CLIENT1: Initialisation successful with id ppklpra7gzii5qcxoadu CLIENT1: Sent a request message to the tracker for torrent with id= 1 Initializing module btnetwork.client2, stage 0 CLIENT2: Initialisation successful with id IYZSxdzi3KcrXKsgkLFZ CLIENT2: Sent a request message to the tracker for torrent with id= 1 Initializing module btnetwork.client46, stage 0 CLIENT46: Initialisation successful with id 4RJuwMe4ZYnSxAOohHrh CLIENT46: Sent a request message to the tracker for torrent with id= 1

26 Εν συνεχεία ακολουθεί η εγγραφή των peers στον tracker, η ενημέρωση των peers από τον tracker και ξεκινά η διαδικασία χειραψιών μεταξύ των peers. Tracker: Received a request message for torrent with id=1 from peer with id= CwXy7u5rBTyXcO0gapsl TRACKER: Added torrent with id=1 to the database TRACKER: Added a new peer with id=cwxy7u5rbtyxco0gapsl and ip= 25 to torrent's 1 database Tracker: Received a request message for torrent with id=1 from peer with id= DTvQOYKSLnhSK4stTD38 TRACKER: Added a new peer with id=dtvqoykslnhsk4sttd38 and ip= 26 to torrent's 1 database Tracker: Received a request message for torrent with id=1 from peer with id= vxu4bdclualtfyroexlx TRACKER: Added a new peer with id=vxu4bdclualtfyroexlx and ip= 28 to torrent's 1 database Tracker: Received a request message for torrent with id=1 from peer with id= pc6tiq4lsicpmxxyeda7 TRACKER: Added a new peer with id=pc6tiq4lsicpmxxyeda7 and ip= 39 to torrent's 1 database CLIENT25: Received an update message from the tracker for torrent with id= 1 CLIENT25: PeerList Updated CLIENT25: Received an update message from the tracker for torrent with id= 1 CLIENT25: PeerList Updated CLIENT25: Handshake Initiated for torrent with id= 1with peer 26 CLIENT25: Received an update message from the tracker for torrent with id= 1 CLIENT25: Handshake Initiated for torrent with id= 1with peer 45 CLIENT25: Received an update message from the tracker for torrent with id= 1 CLIENT25: PeerList Updated CLIENT26: Handshake Initiated for torrent with id= 1with peer 45 CLIENT26: Received an update message from the tracker for torrent with id= 1 CLIENT26: PeerList Updated CLIENT30: Handshake Initiated for torrent with id= 1with peer 45 CLIENT30: Received an update message from the tracker for torrent with id= 1 CLIENT30: PeerList Updated CLIENT42: Handshake Initiated for torrent with id= 1with peer 45 CLIENT42: Received an update message from the tracker for torrent with id= 1 CLIENT42: PeerList Updated CLIENT43: Handshake Initiated for torrent with id= 1with peer 45 CLIENT43: Received an update message from the tracker for torrent with id= 1 CLIENT43: PeerList Updated CLIENT28: Handshake Initiated for torrent with id= 1with peer 45 CLIENT28: Received an update message from the tracker for torrent with id= 1 CLIENT28: PeerList Updated r A, r r r r r <s V* r Οταν γίνει η λήψη ενός μηνύματος χειραψίας εμφανίζεται το εξής. CLIENT25: Handshake Request Received for torrent with id= 1 from peer 42 CLIENT25: Handshake was a reply Connection between nodes 25 and 42 is active CLIENT: 25 sent a bit-field message to client 42 CLIENT26: Handshake Request Received for torrent with id= 1 from peer 20 CLIENT26: Handshake was a reply Connection between nodes 26 and 20 is active CLIENT: 26 sent a bit-field message to client 20

27 Μετά ακολουθούν τα μηνύματα interested-unchoce και request Client 30 sent an "interested" message to client 31 Client 17 sent an "interested" message to client 31 Client 43 sent an "interested" message to client 31 Client 22 sent an "interested" message to client 31 Client 23 sent an "interested" message to client 31 Client 44 sent an "interested" message to client 31 Client 25 sent an "interested" message to client 31 Client 29 sent an "interested" message to client 31 CLIENT 31 un-chocked client 30 Client 42 sent an "interested" message to client 31 Client 45 sent an "interested" message to client 31 CLIENT 31 un-chocked client 17 CLIENT 31 un-chocked client 43 CLIENT 31 un-chocked client 22 CLIENT 31 un-chocked client 23 CLIENT 31 un-chocked client 44 CLIENT 31 un-chocked client 25 CLIENT 31 un-chocked client 29 CLIENT 31 un-chocked client 42 CLIENT 31 un-chocked client 45 CLIENT18: Requested block (RP) 0 of piece 17 for torrent 1 from peer 1 CLIENT18: Requested block (RP) 1 of piece 17 for torrent 1 from peer 1 CLIENT18: Requested block (RP) 2 of piece 17 for torrent 1 from peer 1 CLIENT18: Requested block (RP) 3 of piece 17 for torrent 1 from peer 1 CLIENT18: Requested block (RP) 4 of piece 17 for torrent 1 from peer 1 Όταν ένας peer λάβει το τελευταίο block ενός piece στέλνει μηνύματα have. CLIENT18: Received block 2 of piece 12 for torrent 1 from client 7 CLIENT 18 has finished piece 12 CLIENT 18 sent a have message to client 25 CLIENT 18 sent a have message to client 26 CLIENT 18 sent a have message to client 28 CLIENT 18 sent a have message to client 29 CLIENT 18 sent a have message to client 30 Όταν ένας peer ολοκληρώσει το αρχείο τυπώνεται κατάλληλο μήνυμα και ο peer συνεχίζει να συμμετέχει ως seeder. CLIENT 39 finished at Όταν όλοι οι peers ολοκληρώσουν το αρχείο το πρόγραμμα τερματίζει ανακοινώνοντας τον συνολικό χρόνο τρεξίματος.

28 Στα πειράματα που έκανα πάνω στην υλοποίηση, επικεντρώθηκα στο πώς αλλαγές σε συγκεκριμένες παραμέτρους έχουν επίδραση στον χρόνο ολοκλήρωσης της προσομοίωσης. Οι παράμετροι με τις οποίες πειραματίστηκα ήταν 1. Ο αριθμός των peers. 2. Ο αριθμός των seeders. 3. Το διαθέσιμο bandwidth των peers. 4. Ο αλγόριθμος επιλογής κομματιού. 5. Το μέγεθος του αρχείου. Στις επόμενες σελίδες ακολουθούν σχηματικά τα αποτελέσματα που έλαβα από τα πειράματα. Βάσει των αποτελεσμάτων που έλαβα κατέληξα και σε κάποια χρήσιμα συμπεράσματα γύρω από τη λειτουργία του πρωτοκόλλου.

29 Πείραμα Πρώτο: Σχέση μεταξύ μεγέθους αρχείου και συνολικού χρόνου υλοποίησης Παραπάνω φαίνεται καθαρά η σχετικά γραμμική κλιμάκωση του πρωτοκόλλου στον χρόνο καθώς μεγαλώνει το μέγεθος του αρχείου. Επίσης φαίνεται πώς και οι δύο μέθοδοι επιλογής piece έχουν σχετικά παρόμοια συμπεριφορά. Αν και ο αλγόριθμος rarest first είναι κάπως πιο αργός διασφαλίζει ότι αν φύγουν κάποιοι peers από το σύστημα τότε τα κομμάτια που αυτοί διαθέτουν θα είναι διαθέσιμα και από αλλού. Η καθυστέρηση που εμφανίζει ο αλγόριθμος οφείλεται (κατά πάσα πιθανότητα) στο bottleneck που δημιουργείτε όταν ζητάνε όλοι οι peers το ίδιο piece από έναν seeder. Η θετική συνεισφορά του αλγορίθμου rarest first δεν είναι δυνατό να καταγραφεί από την παρούσα υλοποίηση καθώς αυτή δεν υποστηρίζει τυχαία είσοδο-έξοδο peer κατά τη διάρκεια της προσομοίωσης. Στο συγκεκριμένο πείραμα έλαβα υπόψιν τον συνολικό χρόνο του

30 προγράμματος, αλλά και ο μέσος χρόνος για κάθε peer έδινε παρόμοια αποτελέσματα. Πείραμα Δεύτερο: Σχέση μεταξύ αριθμού initial seeders και συνολικού χρόνου υλοποίησης Από το παραπάνω διάγραμμα μπορούμε να βγάλουμε ακόμα ένα ενδιαφέρον συμπέρασμα για το πρωτόκολλο bittorrent. Φαίνεται ξεκάθαρα η βελτίωση στην απόδοση του πρωτοκόλλου όταν αυξάνουμε τον αριθμό των αρχικών seeders. Αυτή η βελτίωση συμβαίνει γιατί μειώνεται το φαινόμενο του bottleneck που συμβαίνει στην αρχή μέχρι να ομογενοποιηθεί κάπως το σύστημα. Γ ενικότερα η ανάγκη για μια καλή αναλογία seeders-leechers είναι ένα από τα σημαντικότερα προβλήματα του Bittorrent. Ιδιαίτερα αν αναλογιστεί κανείς ότι συνήθως το download bandwidth είναι συνήθως μια κλίμακα μεγαλύτερο από το upload bandwidth αυτό το πρόβλημα γίνεται πιο έντονο. Μια λύση που έχει δοθεί

31 είναι η χρήση των seedbox δηλαδή seeders που διαθέτουν πολύ μεγάλο upload bandwidth συγκριτικά με αυτό ενός απλού χρήστη και οι οποίοι καλούνται να καλύψουν το παραπάνω χάσμα. Όπως και στο πρώτο πείραμα έχω λάβει υπόψιν τους συνολικούς χρόνους υλοποίησης. Πείραμα Τρίτο : Σχέση μεταξύ bandwidth και συνολικού χρόνου υλοποίησης Στο συγκεκριμένο πείραμα φαίνεται η συμπεριφορά του πρωτοκόλλου για διαφορετικά bandwidth (2,4,6,8,10 Mbps) στους peers. Τα bandwidth στους routers και στον tracker μένουν σταθερά καθώς σε ένα ρεαλιστικό σενάριο αυτά είναι αρκετά μεγάλα και δεν επηρεάζουν την συμπεριφορά του πρωτοκόλλου. Αυτό που παρατηρείται είναι και πάλι η γραμμική συμπεριφορά του πρωτοκόλλου. Αξίζει να αναφερθεί πώς στη υλοποίηση που έκανα δεν γίνεται διαχωρισμός σε upload και

32 download bandwidth αλλά θεωρούνται ως ένα κοινό κανάλι. Πείραμα Τέταρτο: Σχέση μεταξύ αριθμού peer και μέσου χρόνου υλοποίησης Το συγκεκριμένο πείραμα απαιτούσε κάθε φορά τη δημιουργία μια νέας τοπολογίας για να δώσει τα απαιτούμενα αποτελέσματα. Αυτό βέβαια περιείχε τον κίνδυνο οι διαφορετικές τοπολογίες να είχαν τελείως διαφορετικά χαρακτηριστικά, τα οποία στο τέλος θα επηρέαζαν τα αποτελέσματα. Γ ια να λύσω αυτό το πρόβλημα ακολούθησα την εξής πρακτική. Έκανα αυξομειώσεις στον αριθμό των peers που συνδέονταν σε κάθε router ώστε να διατηρώ παρόμοια κάθε φορά την τοπολογία. Δηλαδή αν ήθελα να αυξήσω τον αριθμό τον peers προσέθετα τον ίδιο αριθμό peer σε κάθε router και ομοίως αν ήθελα να μειώσω τους συνολικούς peers αφαιρούσα από κάθε router τον ίδιο αριθμό peer. Για μια ποιο ολοκληρωμένη προσέγγιση επανέλαβα το πείραμα και για διάφορα μεγέθη αρχείου( pieces).εδώ έχω λάβει υπόψιν τον μέσο χρόνο υλοποίησης για κάθε peer. Στο παραπάνω πείραμα φαίνεται ξεκάθαρα πώς αν και ο αριθμός τον peer

33 αυξάνεται σε μεγάλο βαθμό, ο χρόνος μέσος χρόνος ολοκλήρωσης για κάθε peer αυξάνεται αναλογικά πολύ λιγότερο. Αυτό συμβαίνει γιατί στο bittorrent όλοι οι peer συμμετέχουν και στο upload και στο download ταυτόχρονα. Το συμπέρασμα που μπορούμε με ασφάλεια να βγάλουμε είναι πως, το bittorent δεν έχει κανένα πρόβλημα κλιμάκωσης όσον αφορά των αριθμό των peer που συμμετέχουν στην διαδικασία. Η όποια επιπλέον καθυστέρηση προκύπτει οφείλεται κυρίως στο bottleneck που παρουσιάζεται στην αρχή.

34 Τοπολογίες που χρησιμοποιήθηκαν Παρακάτω παραθέτω τις τοπολογίες που χρησιμοποιήθηκαν για τα παραπάνω πειράματα. Τοπολογία 1 : 30 peers Τοπολογία 2 : 46 peers Τοπολογία 3 : 20 peers Όπως έχει προαναφερθεί στην δημιουργία των τοπολογιών δόθηκε προσοχή ώστε η αλλαγή στον αριθμό των peer να μην αλλάζει την μορφή της τοπολογίας αλλά μόνο να την κλιμακώνει. Τοπολογία 1

35 Τοπολογία 3

36 Συμπεράσματα Μέσα από το σύνολο των παραπάνω πειραμάτων γίνεται ξεκάθαρο για ποιο λόγο το BitTorrent είναι ένα από τα ποιο διαδεδομένα πρωτόκολλα όσον αφορά την κίνηση στο διαδίκτυο. Κυρίως λόγο της καλής του κλιμάκωσης σε σχέση με μέγεθος αρχείου, αριθμό χρηστών και bandwidth αλλά και λόγος της ελευθερίας που δίνει στον τελικό χρήστη να επιλέξει ο ίδιος πώς θα επιλέξει piece και peer. Λόγω της μεγάλης του επιτυχίας στοιχεία αυτού του πρωτοκόλλου έχουν χρησιμοποιηθεί και στο έως τώρα beta πρωτόκολλο BitTorrent live το οποίο δίνει τη δυνατότητα στους χρήστες να κάνουν live streaming χωρίς να είναι αναγκαία η ύπαρξη ισχυρού δικτύου από μεριάς τους. Αυτό επιτυγχάνετε γιατί όπως και στο BitTorrent κάθε τελικός χρήστης συμμετέχει στο δίκτυο αξιοποιώντας το δικό του Upload bandwidth.δηλαδή όπως φαίνεται στο παρακάτω σχήμα κάθε χρήστης κάνει παράλληλα και stream το περιεχόμενο που παρακολουθεί. Each viewer becomes a miniature broadcaster and amplifies your hrruiiout across tbc web.

37 Επίλογος Τέλος πρέπει να αναφερθεί πως η υλοποίηση η οποία έγινε δεν αποτελεί σε καμία περίπτωση ακριβές αντίγραφο του πρωτοκόλλου BitTorrent αλλά μια απλοποιημένη προσέγγιση σε αυτό. Αυτό έγινε κυρίως λόγο της τεράστιάς δυναμικότητας και τυχαιότητας του πρωτοκόλλου. Σε μια πραγματική κατάσταση τόσο ο αριθμός των peer όσο και η συμπεριφορά τους αλλάζουν συνεχώς κάτι τέτοιο όμως δεν μπορεί να υλοποιηθεί εύκολα σε έναν προσομοιωτή. Έτσι επιλέχθηκε μια ποιο γραμμική προσέγγιση στην συμπεριφορά των χρηστών. Δυστυχώς με αυτή την μέθοδο υλοποίησης, ήταν αδύνατο να μελετηθούν οι τεχνικές chocking/unchocking που γίνονται με σκοπό να δώσουν κίνητρα στους χρήστες ώστε να διαθέσουν το upload capacity τους. Παρόλες όμως τις αδυναμίες η συγκεκριμένη υλοποίηση μπορεί να δώσει πολύ ενδιαφέροντα συμπεράσματα γύρω από νέες τεχνικές piece και peer selection.

38 Πηγές-εργαλεία html Improving the BitTorrent Protocol Using Different Incentive Techniques by Rafit Izhak- Ratzin com/forum/#!forum/omnetpp simulation

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

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

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

Σκήκα Δπηζηήκεο Τπνινγηζηώλ ΠΣΤΥΗΑΚΖ ΔΡΓΑΗΑ

Σκήκα Δπηζηήκεο Τπνινγηζηώλ ΠΣΤΥΗΑΚΖ ΔΡΓΑΗΑ Σκήκα Δπηζηήκεο Τπνινγηζηώλ ΠΣΤΥΗΑΚΖ ΔΡΓΑΗΑ Σίηινο: FPGA based Network Traffic Measurement Τπεύζπλνη θαζεγεηέο: Υξηζηόθνξνο Κάρξεο, Μαλώιεο Καηεβαίλεο Όλνκα : Κνπηζνπκπόο Βαζίιεο Α.Μ. : 1932 1 Πεπίλητη

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Διπλωματική Εργασία Μεταπτυχιακού Διπλώματος Ειδίκευσης

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Διπλωματική Εργασία Μεταπτυχιακού Διπλώματος Ειδίκευσης ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία Μεταπτυχιακού Διπλώματος Ειδίκευσης «Improving Download Time & Traffic via Locality in BitTorrent

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

Broadcast P2P over DVB-T networks

Broadcast P2P over DVB-T networks ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ Τμήμα Μηχανικών Πληροφορικής Broadcast P2P over DVB-T networks Γιώργος Αλεξίου ΑΜ: 2087 Εισηγητής: Ευάγγελος Πάλλης Ηράκλειο 18 Σεπτεμβρίου 2014 "Silence is a source

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Διπλωματική Εργασία Θέμα: Ανάπτυξη αλγορίθμου κωδικοποίησης δικτύου για δίκτυα ομότιμων κόμβων Παναγόπουλος Πέτρος Επιβλέποντες:

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

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

ΤΕΙ Πειραιά, Τμήμα Ηλεκτρονικής. Δίκτυα P2P. Χαράλαμπος Ζ. Πατρικάκης

ΤΕΙ Πειραιά, Τμήμα Ηλεκτρονικής. Δίκτυα P2P. Χαράλαμπος Ζ. Πατρικάκης Δίκτυα P2P Χαράλαμπος Ζ. Πατρικάκης Δημιουργώντας μια εφαρμογή Δημιουργία προγραμμάτων τα οποία: Τρέχουν σε (διαφορετικά) τερματικά συστήματα Επικοινωνούν πάνω από το δίκτυο π.χ. το λογισμικό του εξυπηρετητή

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

Κατανεμημένα Συστήματα. Javascript LCR example

Κατανεμημένα Συστήματα. Javascript LCR example Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate

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

Κινητά και Διάχυτα Συστήματα. Ενότητα # 7: Κατανεμημένος καταμερισμός αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κινητά και Διάχυτα Συστήματα. Ενότητα # 7: Κατανεμημένος καταμερισμός αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κινητά και Διάχυτα Συστήματα Ενότητα # 7: Κατανεμημένος καταμερισμός αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

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

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

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

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

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

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

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

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

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

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς(Transport layer) Επίπεδο εφαρμογής (Application layer): Συντονισμός

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

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Ενότητα 4 Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First) Πρωτόκολλα ροµολόγησης Πρωτόκολλα ιανύσµατος Απόστασης Πρωτόκολλα Κατάστασης Ζεύξης Πρωτόκολλα ιανύσµατος Απόστασης

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

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

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

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

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια

MYY703: Δίκτυα Υπολογιστών I Εργαστήρια MYY703: Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 1 η Εισαγωγή στον Network Simulator (Ns-2) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Η άσκηση

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

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

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

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

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση

ΔΙΚΤΥΑ Η/Υ ΙΙ. Διαδικτύωση ΔΙΚΤΥΑ Η/Υ ΙΙ Διαδικτύωση Γενικά Διαδικτύωση είναι η διασύνδεση υπολογιστικών συστημάτων μέσω τηλεπικοινωνιακών δικτύων με σκοπό το διαμοιρασμό των πόρων και των υπηρεσιών τους. Τοπικά δίκτυα (LANs) Ευρείας

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

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

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

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

Search and Replication in Unstructured Peer-to-Peer Networks

Search and Replication in Unstructured Peer-to-Peer Networks Search and Replication in Unstructured Peer-to-Peer Networks Presented in P2P Reading Group in 11/10/2004 Abstract: Τα µη-κεντρικοποιηµένα και µη-δοµηµένα Peer-to-Peer δίκτυα όπως το Gnutella είναι ελκυστικά

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

WIRELESS SENSOR NETWORKS (WSN)

WIRELESS SENSOR NETWORKS (WSN) WIRELESS SENSOR NETWORKS (WSN) Δρ. Ιωάννης Παναγόπουλος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Αθήνα 2008 ΕΙΣΑΓΩΓΗ ΣΤΑ WSN Σε συγκεκριμένες εφαρμογές, επιθυμείται η μέτρηση

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

Κατανεμημένα Συστήματα. Συστήματα Peer-to-Peer (P2P)

Κατανεμημένα Συστήματα. Συστήματα Peer-to-Peer (P2P) Κατανεμημένα Συστήματα Συστήματα Peer-to-Peer (P2P) Κωνσταντίνος Αντωνής 2011 Σκοπός Τα P2P είναι κατανεμημένες αρχιτεκτονικές που σχεδιάζονται με σκοπό τη διαμοίραση πόρων (περιεχομένου, αποθηκευτικού

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

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας. Γρήγορο Ίντερνετ με Κατάλληλες Ρυθμίσεις TCP/IP Η ταχύτητά μας στο ίντερνετ εξαρτάται από πολλούς παράγοντες, όπου τον κεντρικό ρόλο παίζει η σύνδεσή μας. Πολλές φορές, όμως, η σύνδεσή μας μπορεί να περιορίζεται

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

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

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

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

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

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης. Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης. Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων ιπλωματική Εργασία Bittorrent vs Gnutella: Συγκριτική μελέτη και πειραματισμός με τα δύο σημαντικότερα διομότιμα συστήματα.

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

Peer-to-Peer Technology

Peer-to-Peer Technology Peer-to-Peer Technology Συστήµατα Peer to Peer Καταργούν την αρχιτεκτονική Client-Server Στηρίζονται στην οµότιµη και εθελοντική συµπεριφορά των διαφόρων κόµβων Client Server Συστήµατα Peer to Peer Καταργούν

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

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία Improving the performance of TCP in the case of packet reordering Στρατάκη Μαρία Γενικές Πληροφορίες για το TCP/IP TCP (Transmission Control Protocol) IP (Internet Protocol) Χωρίζουν τα δεδομένα σε τμήματα

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

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο Project Phase 1 ΗΥ - 335α Χειμερινό εξάμηνο 2012-2013 Διδάσκουσα: Παπαδοπούλη Μαρία Υπεύθυνος βοηθός: Σουρλίγκας Μανώλης, surligas@csd.uoc.gr

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

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

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

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

«Αξιολόγηση της απόδοσης του BitTorrent µε τη χρήση του End Game Mode»

«Αξιολόγηση της απόδοσης του BitTorrent µε τη χρήση του End Game Mode» ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης «Αξιολόγηση της απόδοσης του BitTorrent µε τη χρήση του

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

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΜΕΛΕΤΗ & ΡΥΘΜΙΣΕΙΣ ΠΡΩΤΟΚΟΛΛΟΥ ΔΡΟΜΟΛΟΓΗΣΗΣ RIP ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΤΕΡΓΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΣΠΟΥΔΑΣΤΡΙΑ: ΤΣΙΜΠΙΔΑ ΙΩΑΝΝΑ- ΠΑΡΑΣΚΕΥΗ

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

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

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

Δίκτυα Υπολογιστών Εργαστήρια

Δίκτυα Υπολογιστών Εργαστήρια Δίκτυα Υπολογιστών Εργαστήρια Άσκηση 6 η Πολλαπλή Πρόσβαση με Ακρόαση Φέροντος (CSMA-CD) Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Σκοπός της

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

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

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

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

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

Δίκτυα Υπολογιστών I Εργαστήρια Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 6 η Δίκτυα Ethernet Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή Σκοπός της παρούσας άσκησης είναι η μελέτη

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

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

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

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

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2012

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

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

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Ορισμός του προβλήματος Συμφωνίας Αλγόριθμος Συμφωνίας με Σφάλματα Κατάρρευσης ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1 Πρόβλημα

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

Στρατηγικές Ασφάλειας

Στρατηγικές Ασφάλειας Στρατηγικές Ασφάλειας Ασφάλεια Πληροφοριακών Συστημάτων. Διδάσκων: Σ. Κοντογιάννης Least/(Most) Privileges Defense in Depth Συγκεντρωτική Στρατηγική Weakest Link Strategy Fail Safe Stance Fail Safe Stance

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

Δίκτυα και Internet στο επιχειρηµατικό περιβάλον

Δίκτυα και Internet στο επιχειρηµατικό περιβάλον Δίκτυα και Internet στο επιχειρηµατικό περιβάλον Πρώτη οµάδα ασκήσεων Οδηγίες Η εργασία αυτή είναι ατοµική. Μπορείτε να µιλήσετε µε άλλους φοιτητές για να ανταλλάξετε ιδέες. Αν κάποιος συµφοιτητής σας

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

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

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

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

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

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Εξοικείωση με τις εντολές ipconfig και ping

Εξοικείωση με τις εντολές ipconfig και ping Διαχείριση Δικτύων Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Εργαστηριακή Άσκηση Εξοικείωση με τις εντολές ipconfig και ping Σημείωση : Η άσκηση αναφέρεται σε εντολές των Windows. Υπάρχουν παρόμοιες

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες. Χειμερινό εξάμηνο

Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες. Χειμερινό εξάμηνο Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες Χειμερινό εξάμηνο 2018 2019 Σκοπός αυτής της εργασίας είναι η ανάπτυξη ενός συστήματος αποφυγής

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

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

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

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

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

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

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Γ. Νικολακόπουλος, Μ. Κουνδουράκης, Α. Τζες και Γ. Γεωργούλας Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων

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

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε

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

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171 Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών Κοντοτάσιου Ιωάννα ΑΜ 35 Μπέσσας Απόστολος ΑΜ 37 Το πρόβλημα των αναφορών Κάθε ερευνητική εργασία απαιτείται να αναφέρει τις βιβλιογραφικές αναφορές της. Ο

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: «ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΟΥ ΜΕΤΑΔΟΣΗΣ ΒΙΝΤΕΟ ΣΕ ΔΙΚΤΥΟ ΟΜΟΤΙΜΩΝ ΚΟΜΒΩΝ (Peer- To- Peer )»

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: «ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΟΥ ΜΕΤΑΔΟΣΗΣ ΒΙΝΤΕΟ ΣΕ ΔΙΚΤΥΟ ΟΜΟΤΙΜΩΝ ΚΟΜΒΩΝ (Peer- To- Peer )» ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ & ΔΙΚΤΥΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: «ΑΝΑΠΤΥΞΗ ΑΛΓΟΡΙΘΜΟΥ ΜΕΤΑΔΟΣΗΣ ΒΙΝΤΕΟ ΣΕ ΔΙΚΤΥΟ ΟΜΟΤΙΜΩΝ ΚΟΜΒΩΝ (Peer- To- Peer )» ΠΡΟΠΤΥΧΙΑΚΟΣ ΦΟΙΤΗΤΗΣ: ΚΟΣΜΑΝΟΣ

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ.

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ. ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ. Υποδείξεις απαντήσεων/λύσεων στις ερωτήσεις, ασκήσεις και δραστηριότητες του τετραδίου μαθητή, Κεφ.1

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

7.1.1 Επίπεδο δικτύου Γενικές Αρχές

7.1.1 Επίπεδο δικτύου Γενικές Αρχές Κεφάλαιο 7 3 κατώτερα επίπεδα OSI 7.1.1 Επίπεδο δικτύου Γενικές Αρχές Σελ. 220-224 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Επικοινωνία σταθμών

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

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec). Άσκηση Υπολογίστε τον συνολικό χρόνο που απαιτείται για την μετάδοση ενός αρχείου 500KB πάνω από μια ζεύξη (Link), στις παρακάτω περιπτώσεις, θεωρώντας πως η καθυστέρηση μιας κατεύθυνσης (one way delay)

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

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

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

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

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

(C) 2010 Pearson Education, Inc. All rights reserved.

(C) 2010 Pearson Education, Inc. All rights reserved. Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.

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

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS). Άσκηση 1 Ethernet protocol Δύο H/Y, Α και Β, απέχουν 400 m και συνδέονται με ομοαξονικό καλώδιο (γραμμή μετάδοσης) που έχει χωρητικότητα 100 Mbps και ταχύτητα διάδοσης 2*10 8 m/s. Στην γραμμή τρέχει πρωτόκολλο

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

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

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

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

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

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

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

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

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης ΔΙΚΤΥΑ Η/Υ ΙΙ Πρωτόκολλα δρομολόγησης Εσωτερικά πρωτόκολλα δρομολόγησης Interior Routing Protocols Distance-vector routing Link-state routing Exterior Routing Protocols 2 Δίκτυα Η/Υ ΙΙ Distance-Vector

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

P2P αρχιτεκτονικές. για Υλοποίηση Επιχειρησιακών Μοντέλων για Η- Εμπόριο. S3 Laboratory - Τεχνολογία Ηλεκτρονικού Εμπορίου

P2P αρχιτεκτονικές. για Υλοποίηση Επιχειρησιακών Μοντέλων για Η- Εμπόριο. S3 Laboratory - Τεχνολογία Ηλεκτρονικού Εμπορίου P2P αρχιτεκτονικές για Υλοποίηση Επιχειρησιακών Μοντέλων για Η- Εμπόριο P2P αρχιτεκτονική P2P δικτύωση: νέα μορφή προγραμματισμού κατανεμημένων εφαρμογών P2P δίκτυα: διαθέτουν κόμβους που αλληλεπιδρούν

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

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

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

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

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

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

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

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF

Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF Δίκτυα Επικοινωνιών ΙΙ: Δρομολόγηση στο Διαδίκτυο, RIP, OSPF Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 RIP: Routing Information Protocol Συμπεριλήφθηκε στην

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

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

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

ZigBee. Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος

ZigBee. Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος ZigBee Φοιτητής: Μόσχογλου Στυλιανός Επιβλέπων καθηγητής: κ. Δοκουζγιάννης Σταύρος Τι είναι το ZigBee; Ένα τυποποιημένο πρωτόκολλο χαμηλής Κατανάλωσης Ισχύος σε Wireless Persnal Area Netwrks (WPANs) Ένα

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

7.5 Πρωτόκολλο IP. & Ερωτήσεις

7.5 Πρωτόκολλο IP. & Ερωτήσεις 7.5 Πρωτόκολλο IP & Ερωτήσεις 1. ε ποιο επίπεδο του μοντέλου TCP/IP ανήκει το IP πρωτόκολλο; Εξασφαλίζει αξιόπιστη μετάδοση, και αν όχι ποιο πρωτόκολλο είναι υπεύθυνο για την αξιοπιστία; 2. Τι χρειάζεται

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

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

Δίκτυα Υπολογιστών I Εργαστήρια Δίκτυα Υπολογιστών I Εργαστήρια Άσκηση 7 η Υποεπίπεδο ελέγχου λογικής σύνδεσης Έλεγχος Σφαλμάτων Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διδάσκων: Παπαπέτρου Ευάγγελος 2 1 Εισαγωγή

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

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

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

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

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

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

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

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

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

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

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

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

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

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2 ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2 1 ΠΕΡΙΕΧΟΜΕΝΑ Πρωτόκολο http εντολών έκδοση 1.0 Σελ:2...περιεχόμενα Σελ:3...τι θα βρείτε σε αυτό το βιβλίο Σελ:3...γενικά τεχνικά χαρακτηριστικά Σελ:4-5...πως

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Ενότητα : Ανίχνευση κίνησης δικτύου - Εργαλείο Wireshark. Όνομα Καθηγητή : Δημήτριος Λυμπερόπουλος, Σπύρος Δενάζης Τμήμα : Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

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

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών Διαφάνεια 1 Δρομολόγηση Εισαγωγή Ιεραρχική δρομολόγηση

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

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

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

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

PayByBank RESTful API GUIDE

PayByBank RESTful API GUIDE PayByBank RESTful API GUIDE Α. PayByBank API Documentation Για να χρησιμοποιήσετε το PayByBank API περιβάλλον (Documentation/PLAYGROUND), χρειάζεται να δημιουργήσετε ένα λογαριασμό, καταχωρώντας ένα έγκυρο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εργαστηριακές Ασκήσεις για το Μάθημα: «Δίκτυα Υπολογιστών ΙΙ» 1 η Εργαστηριακή άσκηση με χρήση του Network Simulator-2 Υπεύθυνοι Καθηγ. Π. Δεμέστιχας Δρ.

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

utorrent 1.6 Θα πρέπει ο φάκελος να είναι κάπως έτσι:

utorrent 1.6 Θα πρέπει ο φάκελος να είναι κάπως έτσι: utorrent 1.6 Πρώτα απ όλα κατεβάζουμε το utorrent 1.6 από το συγκεκριμένο link: http://download.utorrent.com/1.6/utorrent.exe (μη το τρέξετε ακόμα, απλά κατεβάστε το) Στη συνέχεια δημιουργήστε ένα καινούργιο

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

Προσομοίωση Συστημάτων

Προσομοίωση Συστημάτων Προσομοίωση Συστημάτων Προσομοίωση και μοντέλα συστημάτων Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Γενικός ορισμός συστήματος Ένα σύνολο στοιχείων/οντοτήτων που αλληλεπιδρούν μεταξύ

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

Peer-To-Peer Network Analysis

Peer-To-Peer Network Analysis Peer-To-Peer Network Analysis Το παρόν αποτελεί απόδοση στα ελληνικά της δημοσίευσης An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, Salman A. Baset and Henning G. Schulzrinne, 25th

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