ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. «Ευρείας Κλίµακας Περιαγωγή σε Ασύρµατα Τοπικά ίκτυα : Αρχιτεκτονική & Αποτίµηση»

Σχετικά έγγραφα
ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. «Ευρείας Κλίµακας Περιαγωγή σε Ασύρµατα Τοπικά ίκτυα : Αρχιτεκτονική & Αποτίµηση»

Κινητές Πολυμεσικές Επικοινωνίες: Δικτυακές Υποδομές Χαμηλού Κόστους

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

Περίληψη Λαμπρόπουλος

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

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

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

Περίληψη ιπλωµατικής Εργασίας

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 9 ο ΤΟ ΠΕΡΙΒΑΛΛΟΝ. 9.1 Εισαγωγή

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

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

Search and Replication in Unstructured Peer-to-Peer Networks

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

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

WIRELESS SENSOR NETWORKS (WSN)

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

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

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

Απαντήσεις. Απάντηση. Απάντηση

Κατανόηση των βασικών σημείων των διευθύνσεων TCP/IP και της

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 3

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

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

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

Περίληψη ιπλωµατικής Εργασίας

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

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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ηλεκτρονικό εμπόριο. HE 8 Εξατομίκευση

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

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

Κατανεμημένα Συστήματα Ι

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

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

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

ΠΕΡΙΛΗΨΗ Vcommunity V Community

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

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

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

Δίκτυα ΙΙ. Κεφάλαιο 7

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

Κατανεμημένα Συστήματα Ι

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

μηχανισμούς; ΚΟΙΝΟΚΤΗΜΟΣΥΝΗ

Σχεδιασµός Οικολογικού ιαµεσολαβητή για την εποπτεία και διαχείριση δικτύου διανοµής ηλεκτρικής ενέργειας

Σηµειώσεις στις σειρές

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

Μάθημα 7: Διευθυνσιοδότηση σε Επίπεδο IP

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

7.6 ιευθυνσιοδότηση. Ερωτήσεις

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

Περιεχόμενο του μαθήματος

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

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

διάρκεια του ψυχρού πολέµου. Θέλοντας

ΔΙΑΔΥΚΤΙΟ ΤΟ ΔΙΑΔΥΚΤΙΟ ΚΑΙ Η ΕΠΙΚΟΙΝΩΝΙΑ

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Δίκτυα Κινητών και Προσωπικών Επικοινωνιών

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

ΕΠΙΚΟΙΝΩΝΊΑ ΚΑΙ ΙΚΑΝΟΠΟΊΗΣΗ ΠΕΛΑΤΏΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΙ ΘΕΣΣΑΛΙΑΣ

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

Transcript:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ιπλωµατική Εργασία Μεταπτυχιακού ιπλώµατος Ειδίκευσης «Ευρείας Κλίµακας Περιαγωγή σε Ασύρµατα Τοπικά ίκτυα : Αρχιτεκτονική & Αποτίµηση» ( Global Scale WLAN Roaming : Architecture & Evaluation ) Ευστράτιος Γ. ηµόπουλος Επιβλέπων: Γεώργιος Πολύζος Αθήνα, Ιούνιος 2007

Περίληψη Το Peer-to-Peer Wireless Network Confederation (P2PWNC) είναι ένα peer-topeer σύστηµα στο οποίο ο πόρος διαµοιρασµού είναι το εύρος ζώνης των σηµείων πρόσβασης των χρηστών που το αποτελούν.to σύστηµα βασίζεται στην ανταποδοτικότητα µεταξύ των χρηστών την οποία πετυχαίνει µε τα κατάλληλα κίνητρα. Η αρχιτεκτονική που ακολουθείται στο P2PWNC είναι πλήρως κατανεµηµένη και λειτουργεί πολύ καλά για την εξυπηρέτηση των χρηστών που κινούνται συνέχεια µέσα σε µια συγκεκριµένη περιοχή (πχ µια πόλη). Σε µια τέτοια περιοχή ένας χρήστης µπορεί να αποδείξει στο σηµείο πρόσβασης, ότι έχει συνεισφέρει στην κοινότητα και εποµένως δικαιούται υπηρεσία. Όταν όµως ένας χρήστης αποφασίσει, να πάει σε µια ξένη περιοχή (roaming) πιθανότατα δεν θα µπορέσει να πάρει υπηρεσία γιατί είναι πολύ µικρή η πιθανότητα να έχει συνεισφέρει σε κάποιο από τα µέλη της περιοχής αυτής κατά το πρόσφατο παρελθόν των συναλλαγών του. Για να µπορέσει λοιπόν, το σύστηµα να λειτουργήσει καθολικά, είναι απαραίτητη η προσθήκη τουλάχιστον ενός Super Peer σε κάθε περιοχή, ο οποίος θα µεσολαβεί ως εγγυητής για τις συναλλαγές που δεν θα µπορούσαν να ολοκληρωθούν χωρίς τη δική του παρέµβαση. Στην εργασία λοιπόν, προτείνεται µια νέα αρχιτεκτονική για το P2PWNC, βασισµένη σε super peers, ώστε να είναι εφικτές roaming συναλλαγές. Προσδιορίζεται ο αλγόριθµος που πρέπει να εκτελούν οι super peers, όταν καλούνται να εγγυηθούν για την υπηρεσία που θα πάρει κάποιος χρήστης καθώς και τα απαραίτητα µηνύµατα µε τα οποία πρέπει να επεκταθεί το πρωτόκολλο του P2PWNC σε επίπεδο υλοποίησης για να υποστηρίζει την επικοινωνία µε τους super peers. Παρουσιάζονται, τέλος, αποτελέσµατα προσοµοιώσεων µε τα οποία γίνεται σύγκριση του συστήµατος µε super peers σε σχέση µε το πλήρως κατανεµηµένο σύστηµα, ως προς την ποιότητα υπηρεσίας που λαµβάνουν οι roamers αλλά και οι κανονικοί χρήστες του συστήµατος. Ευστράτιος Γ. ηµόπουλος 2

Abstract Peer to Peer Wireless Network Confederation (P2PWNC) is a peer to peer approach to sharing local area networks (LANs). Incentives techniques are used to encourage system peers to cooperate obeying to some reciprocity rules. P2PWNC is fully decentralized and works well for city-wide roamers. In such areas a P2PWNC user can prove that he has offered his service to the community, and as a result that he deserves to consume service from others. However, when a user decides to roam to an area far away from his town, there is a small possibility that he will be able to consume service, because he has very little or no positive reputation to the visited area members. So, in order to achieve global scale roaming, it is crucial to add at least one Super Peer per P2PWNC region. Super peers will intervene, when transactions between users can not be completed without their help. A new P2PWNC architecture, based on super peers, is presented to make global scale roaming transactions between P2PWNC users feasible. An algorithm that super peers should follow, in order to warrantee for the services consumed by their users, is presented, accompanied with the required additional P2PWNC messages used for their communication. Finally, a comparison between the fully decentralized and the proposed P2PWNC architecture is attempted, through simulation results. Ευστράτιος Γ. ηµόπουλος 3

1 Εισαγωγή... 6 2 Peer-to-Peer Wireless Network Confederation... 10 2.1 ΚΊΝΗΤΡΟ... 10 2.2 ΠΕΡΙΓΡΑΦΗ... 11 2.3 ΟΝΤΟΤΗΤΕΣ...13 2.3.1 Οµάδες... 13 2.3.1.1 Εξυπηρετητής Οµάδας (Team Server)... 15 2.3.1.2 Μέλη οµάδας... 16 2.3.1.3 Σηµείο Πρόσβασης (Access Point)... 18 2.3.2 Αποδείξεις... 19 2.3.3 Αποθήκες αποδείξεων... 21 2.3.4 Super Peers... 22 2.3.5 Έµπιστη Κεντρική Οντότητα... 23 2.4 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ... 24 2.4.1 Κατανεµηµένη αρχιτεκτονική... 24 2.4.2 Κεντρικοποιηµένη αρχιτεκτονική... 26 2.4.3 Αρχιτεκτονική µε Super Peers... 27 2.5 ΜΗΝΥΜΑΤΑ ΠΡΩΤΟΚΟΛΛΟΥ P2PWNC... 28 2.6 ΑΛΓΟΡΙΘΜΟΙ ΠΡΩΤΟΚΟΛΛΟΥ... 32 2.6.1 Αλγόριθµος ανταποδοτικότητας... 32 2.6.1.1 Ο Γράφος των Αποδείξεων... 33 2.6.1.2 Αλγόριθµος Max Flow... 34 2.6.1.3 Generalized Max Flow αλγόριθµος... 35 2.6.1.4 Υπολογισµός Υποκειµενικής Μετρικής Φήµης (SRM)... 36 2.6.2 Αλγόριθµος gossiping... 38 2.6.2.1 Φάση ενηµέρωσης... 38 2.6.2.2 Φάση Συγχώνευσης... 39 2.6.3 Αλγόριθµος αυτοδύναµης εκκίνησης (bootstrap)... 40 3 Global Scale Roaming... 41 3.1 ΚΙΝΗΤΡΟ & ΠΡΟ ΙΑΓΡΑΦΕΣ... 41 3.2 ΑΛΓΟΡΙΘΜΟΣ... 43 3.2.1 Ανάλυση αλγορίθµου... 45 3.3 ΑΛΛΗΛΟΥΧΙΑ ΜΗΝΥΜΑΤΩΝ ΣΕ ΠΕΡΙΠΤΩΣΕΙΣ ROAMING... 51 3.4 ΕΠΕΚΤΑΣΗ ΜΗΝΥΜΑΤΩΝ ΠΡΩΤΟΚΟΛΛΟΥ P2PWNC... 54 3.4.1 Μήνυµα WARREQ (WARranty REQuest)... 55 3.4.2 Μήνυµα WARRES (WARranty RESponse)... 56 3.4.3 Μήνυµα WAR_NOTIFY (WARranty NOTIFY)... 56 3.4.4 Τροποποίηση µηνύµατος QRSP... 57 3.4.5 Τροποποίηση µηνύµατος RREQ... 58 4 Προσοµοιώσεις... 59 4.1 ΠΕΡΙΓΡΑΦΗ ΠΡΟΣΟΜΟΙΩΣΕΩΝ... 59 4.1.1 Γενικά Χαρακτηριστικά... 59 4.1.2 Μοντέλο Κίνησης Χρηστών... 61 4.1.3 Προσοµοιωτής Πλήρως Κατανεµηµένου Συστήµατος... 62 4.1.4 Προσοµοιωτής µε Super Peers... 64 4.2 ΑΠΟΤΕΛΕΣΜΑΤΑ... 65 4.2.1 Συγκριτικά αποτελέσµατα... 65 4.2.1.1 Επίδραση αριθµού και µεγέθους περιοχών... 65 4.2.1.2 Επίδραση Πιθανότητας Roaming... 70 Ευστράτιος Γ. ηµόπουλος 4

4.2.1.3 Επίδραση γύρων υποµονής και εκκίνησης roaming... 75 4.2.1.4 Επίδραση µεγέθους αποθήκης αποδείξεων πελάτη... 79 4.2.1.5 Επίδραση µεγέθους αποθήκης αποδείξεων εξυπηρετητή... 82 4.2.2 Αποτελέσµατα προσοµοιωτή µε Super Peers... 87 4.2.2.1 Επίδραση µεγέθους αποθήκης αποδείξεων πελάτη... 87 4.2.2.2 Επίδραση αριθµού Super Peers ανά περιοχή... 90 4.2.2.3 Επίδραση ποσοστών συµµετοχής των super peers οικείας και ξένης περιοχής... 96 4.2.2.4 Μελέτη κλιµάκωσης συστήµατος... 100 4.2.2.5 Επίδραση παραµέτρου alpha... 102 5 Συµπέρασµα... 104 6 Παράρτηµα... 106 6.1 ΕΥΤΕΡΕΥΟΝΤΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΓΙΑ ΤΟ ΠΛΗΡΕΣ ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ... 106 6.1.1 Πιθανότητα roaming Vs. Χρόνος παραµονής στην ξένη περιοχή... 106 6.1.2 Επίδραση γύρων υποµονής (patience)... 110 6.1.3 Συµπεριφορά πλήρως κατανεµηµένου συστήµατος σε µεγάλη κλίµακα... 111 6.2 ΛΕΠΤΟΜΕΡΕΙΕΣ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΠΡΟΣΟΜΟΙΩΣΗΣ ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ ΜΕ SUPER PEERS... 113 6.2.1 Λεπτοµέρειες σχετικά µε την επίδραση της πιθανότητας roaming... 113 6.2.2 Επίδραση πιθανότητας roaming µε 2 γύρους παραµονή στην ξένη περιοχή... 115 6.3 ΣΥΜΠΛΗΡΩΜΑΤΙΚΑ ΣΥΓΚΡΙΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ... 118 6.3.1 Λεπτοµέρειες επίδρασης πληθυσµού και αριθµού περιοχών... 118 7 Αναφορές... 121 Ευστράτιος Γ. ηµόπουλος 5

1 Εισαγωγή Στις µέρες µας, βρισκόµαστε ενώπιον µια ευρείας ανάπτυξης των τεχνολογιών ασύρµατης πρόσβασης και συγκεκριµένα των Wireless LANs. Το κόστος που χρειάζεται να πληρώσει ένας χρήστης για να συνδεθεί σε ένα WLAN δίκτυο είναι πλέον πολύ µικρό, ενώ η συχνότητα λειτουργίας των wi-fi συστηµάτων είναι σε µη αδειοδοτηµένο φάσµα, κάτι που βοηθάει στην γρηγορότερη εξάπλωση τους. Παρόλο που η κάλυψη των ασυρµάτων συστηµάτων έχει αυξηθεί σηµαντικά, δεν υπάρχει κάποιος ενοποιηµένος τρόπος πρόσβασης σε αυτά τα δίκτυα. Η ανάπτυξη της WLAN αγοράς δεν ακολούθησε τα παραδοσιακά επιχειρηµατικά µοντέλα άλλων τηλεπικοινωνιακών τεχνολογιών, όπως η κυψελωτή κινητή τηλεφωνία. Αντίθετα, αναπτύχθηκε µε έναν άναρχο τρόπο, κάτι το οποίο οδήγησε στο να µην υπάρχει συγκεκριµένο µοντέλο πρόσβασης στα WLAN δίκτυα. Επιπλέον η διάδοση της WLAN τεχνολογίας δεν ξεκίνησε από κάποια ιδιωτική πρωτοβουλία ή κάποιον µεγάλο τηλεπικοινωνιακό οργανισµό. Εξαιτίας του χαµηλού εξοπλιστικού κόστους, ανεξάρτητοι χρήστες, πανεπιστήµια, και open source κοινότητες υιοθέτησαν γρήγορα την WLAN τεχνολογία, σχηµατίζοντας µια µεγάλη βάση χρηστών χωρίς κανέναν έλεγχο από τους µεγάλους τηλεπικοινωνιακούς παρόχους. Έτσι, µαζί µε την εξάπλωση τεχνολογιών ευρυζωνικής πρόσβασης, όπως είναι το Xdsl, η ανάπτυξη των WLAN hotspots σχηµατίζει το αναγκαίο έδαφος για την παροχή διαδικτυακής πρόσβασης παντού και πάντα. Ωστόσο, η ετερογένεια των υπαρχόντων WLAN δικτύων και οι περιορισµοί που επιβάλλουν οι πάροχοι ασύρµατης πρόσβασης, εµποδίζουν την ανάπτυξη τέτοιων υπηρεσιών. Εποµένως, για να παρέχεται συνεχής πρόσβαση στο διαδίκτυο είναι απαραίτητη µία αρχιτεκτονική µε την οποία θα γίνεται διαµοιρασµός του διαθεσίµου φάσµατος, το οποίο µένει ανεκµετάλλευτο όταν ένα access point είναι ανοιχτό αλλά ο χρήστης του δεν χρησιµοποιεί το internet. Παρά το γεγονός ότι η Ευστράτιος Γ. ηµόπουλος 6

τεχνολογία για τον διαµοιρασµό του φάσµατος είναι διαθέσιµη, δεν υπάρχει ένα εδραιωµένο µοντέλο το οποίο παρέχει µια τέτοια υπηρεσία. Πάρα πολλές λύσεις έχουν προταθεί για την επίλυση αυτού του προβλήµατος. Ωστόσο, καµία από αυτές δεν έγινε καθολικά αποδεκτή για διαφόρους λόγους. Πιθανώς, ο πιο σηµαντικός από αυτούς ήταν η έλλειψη εδραιωµένων προτύπων για WLAN roaming καθώς και ότι η βάση των WLAN χρηστών αναπτύχθηκε µε έναν απρόσµενο τρόπο. Αποτέλεσµα αυτής της ανάπτυξης είναι η ταυτόχρονη ύπαρξη εµπορικών παρόχων που δίνουν πρόσβαση σε ένα συγκεκριµένο µέρος ( hotspot operators), δικτύων που καλύπτουν µια µικρή πόλη ή ένα τµήµα της, µη εµπορικών παρόχων, όπως είναι πανεπιστηµιακά ιδρύµατα, καθώς και ιδιόκτητων σηµείων πρόσβασης. Σε καµία από τις µέχρι τώρα προτεινόµενες λύσεις δεν έχει µελετηθεί το ενδεχόµενο διαµοιρασµού του διαθέσιµου εύρους ζώνης κάθε νοικοκυριού που διαθέτει σηµείο πρόσβασης. Μια τέτοια, πρωτοποριακή, λύση προτείνεται στα [10] και [11]. Το Peer-to-Peer Wireless Network Confederation (P2PWNC), όπως ονοµάζεται η προτεινόµενη αρχιτεκτονική, είναι ένα peer-to-peer σύστηµα στο οποίο δεν διαµοιράζονται αρχεία, όπως έχουµε συνηθίσει στα περισσότερα peer-to-peer συστήµατα, αλλά ο πόρος διαµοιρασµού είναι το εύρος ζώνης των σηµείων πρόσβασης. Στο σύστηµα αυτό οι χρήστες είναι µέλη µικρών οµάδων, κάθε µία εκ των οποίων είναι κάτοχος ενός ή περισσοτέρων σηµείων πρόσβασης. Οι οµάδες αυτές αποτελούν τους peers του συστήµατος µας. Οι χρήστες κάθε οµάδας είναι κινητοί χρήστες που κινούνται και σε περιοχές που καλύπτονται από σηµεία πρόσβασης που δεν ανήκουν στην δική τους οµάδα. Στην περίπτωση αυτή θα πάρουν πρόσβαση από το ξένο σε αυτούς σηµείο πρόσβασης, εάν µπορεί να αποδειχθεί ότι και η οµάδα τους εξυπηρετεί µέλη άλλων οµάδων. Εποµένως, το σύστηµα βασίζεται στην λογική της ανταποδοτικότητας και επιδιώκει να την εξασφαλίσει µέσα από συγκεκριµένα κίνητρα που θα δούµε παρακάτω. Ωστόσο, όλα τα µέλη του συστήµατος δρουν αυτόνοµα, επιλέγοντας τα ίδια την στρατηγική που θα ακολουθήσουν. Επίσης, θεωρούµε τα µέλη του συστήµατος λογικά µε την έννοια Ευστράτιος Γ. ηµόπουλος 7

ότι θα ακολουθήσουν την στρατηγική που συµφέρει την οµάδα τους, και εγωιστικά δηλαδή χωρίς να ενδιαφέρονται για τι είναι γενικά καλό για τη λειτουργία του συστήµατος. Το σηµαντικό είναι ότι η υπακοή στους κανόνες του συστήµατος πετυχαίνεται µέσα από τα κατάλληλα κίνητρα, όπως αναλύονται αυτά στο [9]. Μία οµάδα που για τους δικούς της λόγους δεν θα τηρήσει τους κανόνες του συστήµατος δεν τιµωρείται άµεσα, αλλά έχει εξασφαλιστεί, µέσω των κινήτρων, ότι θα πρέπει να υπακούσει µακροπρόθεσµα στους κανόνες του συστήµατος για να βγει κερδισµένη. Η αρχιτεκτονική που ακολουθείται στο P2PWNC είναι, όπως θα δούµε παρακάτω, κατανεµηµένη και λειτουργεί πολύ καλά για την εξυπηρέτηση των χρηστών που κινούνται συνέχεια µέσα σε µια συγκεκριµένη περιοχή (πχ µια πόλη). Οι χρήστες κινούνται µέσα στην περιοχή αυτή και κτίζουν την φήµη τους προσφέροντας υπηρεσία σε άλλους χρήστες που την ζητάνε από το σηµείο πρόσβασης της οµάδας τους. Έτσι όταν θελήσουν και αυτοί να έχουν πρόσβαση σε ένα ξένο Access Point, θα γίνουν δεκτοί επειδή θα µπορεί να αποδειχτεί πως και η οµάδα τους προσφέρει εύρος ζώνης όταν της ζητηθεί. Όταν όµως ένας χρήστης αποφασίσει να πάει σε µια περιοχή την οποία σπάνια επισκέπτεται (και αντίστοιχα οι χρήστες της περιοχής αυτής σπάνια επισκέπτονται την δική του) πιθανότατα δεν θα µπορέσει να πάρει υπηρεσία γιατί είναι πολύ µικρή η πιθανότητα να έχει συνεισφέρει σε κάποιο από τα µέλη της περιοχής αυτής Για να µπορέσει λοιπόν, το σύστηµα να λειτουργήσει καθολικά, είναι απαραίτητη η προσθήκη τουλάχιστον ενός Super Peer σε κάθε περιοχή. Γενικότερα, µε την αύξηση των χρηστών στο σύστηµα η χρήση super peers, όπως θα δείξουµε και στην ενότητα των προσοµοιώσεων, είναι αναπόφευκτη. Στο σηµείο αυτό πρέπει να σηµειωθεί ότι στην βιβλιογραφία έχει προταθεί και µία αρχιτεκτονική η οποία κάνει χρήση µίας έµπιστης κεντρικής οντότητας (Trusted Central Authority), την οποία όµως µπορούµε να αποφύγουµε µε την αρχιτεκτονική super peers που προτείνεται στην ενότητα 3. Ευστράτιος Γ. ηµόπουλος 8

Στις δεύτερη ενότητα θα δούµε αναλυτικά τις βασικές οντότητες του P2PWNC καθώς και τα µηνύµατα που ανταλλάσσουν µεταξύ τους. Στην τρίτη ενότητα περιγράφεται η αρχιτεκτονική που προτείνεται για την λειτουργία του P2PWNC σε καθολικό επίπεδο µε τη χρήση Super Peers καθώς και οι απαραίτητες επεκτάσεις στα υπάρχοντα µηνύµατα του πρωτοκόλλου. Στην ενότητα 4 περιγράφονται οι δύο προσοµοιωτές που αναπτύχθηκαν στα πλαίσια της εργασίας και παρουσιάζονται τα εξαγόµενα αποτελέσµατα για όλες τις παραµέτρους που µελετήθηκαν. Γίνεται σύγκριση µεταξύ ενός πλήρους κατανεµηµένου συστήµατος και του προτεινόµενου συστήµατος µε χρήση Super Peers. Η ενότητα 5 παρουσιάζει τα συµπεράσµατα και ζητήµατα που χρήζουν επιπλέον έρευνας. Τέλος στο παράρτηµα της ενότητας 6 παρουσιάζει λεπτοµέρειες που έχουν προκύψει από τα αποτελέσµατα τις προσοµοίωσης, καθώς και πιο εξειδικευµένα αποτελέσµατα προσοµοιώσεων. Ευστράτιος Γ. ηµόπουλος 9

2 Peer-to-Peer Wireless Network Confederation Το P2PWNC είναι µία Wi-Fi αρχιτεκτονική η οποία στοχεύει στην παροχή πρόσβασης στο διαδίκτυο κάνοντας χρήση του εύρους ζώνης των σηµείων πρόσβασης που έχουν οι οικιακοί χρήστες για να συνδέονται ευρυζωνικά στο διαδίκτυο µέσω Xdsl. Μέλος του P2PWNC µπορεί να είναι κάθε οµάδα χρηστών που ελέγχει ένα ή περισσότερα σηµεία πρόσβασης. Κάθε οµάδα λειτουργεί σαν ένας µικρός πάροχος που προσφέρει υπηρεσία (εύρος ζώνης συγκεκριµένα) στα υπόλοιπα µέλη του P2PWNC όταν αυτά της το ζητήσουν. 2.1 Κίνητρο Οι περισσότεροι οικιακοί χρήστες δεν χρησιµοποιούν τη σύνδεση τους για το διαδίκτυο συνέχεια ή την χρησιµοποιούν χωρίς να εκµεταλλεύονται όλο το εύρος ζώνης που τους προσφέρει. Με το P2PWNC το ανεκµετάλλευτο αυτό φάσµα χρησιµοποιείται για να µπορέσουν να έχουν πρόσβαση στο διαδίκτυο, δωρεάν, χρήστες που βρίσκονται µακριά από το δικό τους σηµείο πρόσβασης. Το κίνητρο λοιπόν είναι οι χρήστες του P2PWNC να µπορούν να χρησιµοποιήσουν µία ξένη σύνδεση για να πάρουν πρόσβαση στο διαδίκτυο, κάνοντας χρήση του pda, του φορητού υπολογιστή ή οποιασδήποτε άλλη συσκευής υποστηρίζει Wi-Fi. Μπορεί να καταλάβει κανείς πως αυτό σε συνδυασµό µε την VoIP τεχνολογία µπορεί να µειώσει το επικοινωνιακό κόστος των χρηστών ενός τέτοιου συστήµατος καθώς για την πραγµατοποίηση τηλεφωνηµάτων µπορεί πλέον να γίνεται χρήση του Wi-Fi δωρεάν, αντί των συστηµάτων 2G και 3G, αρκεί να υπάρχει ένα διαθέσιµο σηµείο πρόσβασης κοντά στην περιοχή που βρίσκεται ο χρήστης. Ευστράτιος Γ. ηµόπουλος 10

2.2 Περιγραφή Το P2PWNC είναι ένα roaming σχήµα στο οποίο συµµετέχουν χρήστες λογικοί, εγωιστές και αυτόνοµοι. Η συµπεριφορά των χρηστών του P2PWNC καθορίζεται από την θέληση τους να µεγιστοποιήσουν το κέρδος τους, µειώνοντας παράλληλα το κόστος τους. Αυτό σηµαίνει πρακτικά ότι θέλουν να γίνονται δέκτες όσο περισσότερης και καλύτερης υπηρεσίας γίνεται, προσφέροντας το ελάχιστο δυνατό στην κοινότητα. Στο προτεινόµενο σχήµα πολλοί χρήστες ενώνονται σχηµατίζοντας έτσι µία οµάδα. Η οµάδα είναι η βασική οντότητα του P2PWNC. Κάθε οµάδα διαθέτει έναν αριθµό σηµείων πρόσβασης και τα µέλη της είναι κινητοί χρήστες. Έτσι ο ρόλος της οµάδας είναι διττός. Από την µία µέσω των σηµείων πρόσβασης λειτουργεί σαν πάροχος της υπηρεσίας πρόσβασης στο διαδίκτυο και από την άλλη µέσω των κινητών χρηστών της λειτουργεί σαν καταναλωτής που ζητάει την υπηρεσία, δηλαδή την πρόσβαση στο διαδίκτυο. Όπως σε κάθε P2P σύστηµα, έτσι και στο P2PWNC η αξία του γίνεται µεγαλύτερη όσο οι χρήστες του γίνονται περισσότεροι. Έχοντας περισσότερους χρήστες και εποµένως περισσότερα σηµεία πρόσβασης, εξασφαλίζουµε ότι ένας χρήστης που συµµετέχει στο σύστηµα θα έχει πρόσβαση στο διαδίκτυο σχεδόν παντού. Με άλλα λόγια περισσότεροι χρήστες στο P2PWNC σηµαίνει µεγαλύτερη κάλυψη. Για αυτόν το λόγο πρέπει η συµµετοχή ενός χρήστη στο σύστηµα να διευκολύνεται όσο το δυνατόν περισσότερο. Όπως θα δούµε µια οµάδα µπορεί να δηµιουργεί και να καταστρέφει µόνη της τις ταυτότητες των µελών της, χωρίς κανένα κόστος. Επίσης για όλες τις αλληλεπιδράσεις ενός χρήστη στο σύστηµα το µόνο που χρειάζεται είναι το δηµόσιο κλειδί του και κανένα άλλο στοιχείο του. Όποιος θέλει, οποιαδήποτε στιγµή µπορεί να δηµιουργήσει µία οµάδα και να µπει στο σύστηµα on-the-fly. Ευστράτιος Γ. ηµόπουλος 11

Οι κινητοί χρήστες αλληλεπιδρούν µε τα σηµεία πρόσβασης των περιοχών που επισκέπτονται. Το αποτέλεσµα της αλληλεπίδρασης αυτής έχει δύο όψεις. Από την µεριά του καταναλωτή το αποτέλεσµα της αλληλεπίδρασης είναι η πρόσβαση στον διαδίκτυο µέσω του σηµείο πρόσβασης που λειτούργησε ως πάροχος. Από τη µεριά του σηµείου πρόσβασης που έδωσε την υπηρεσία (πάροχος) αποτέλεσµα της αλληλεπίδραση είναι η κατοχή (receipts) που φέρουν την ηλεκτρονική υπογραφή του χρήστη - καταναλωτή. H εγκυρότητα της παραπάνω διαδικασίας εξασφαλίζεται µε τη βοήθεια µηχανισµών κρυπτογράφησης. Το ιστορικό κάθε αλληλεπίδρασης οµάδων καταναλωτή παρόχου φυλάσσεται σε µια αποθήκη αποδείξεων (receipts repository). Η αρχιτεκτονική που µελετάµε είναι κατανεµηµένη και εποµένως κάθε οµάδα έχει την δική της αποθήκη αποδείξεων στην οποία φυλάσσει τις αποδείξεις των δικών της προσφορών υπηρεσίας καθώς και αποδείξεις που αφορούν προσφορές υπηρεσίας άλλων οµάδων(αυτές προκύπτουν όπως θα δούµε παρακάτω έπειτα από την φάση gossiping του αλγορίθµου). Πριν µελετήσουµε σε βάθος κάθε οντότητα του P2PWNC θα πρέπει να συνοψίσουµε κάποιες παραδοχές που ακολουθεί. Οι peers (οµότιµοι) αναγνωρίζονται από ένα απλό ζεύγος δηµόσιου/ ιδιωτικού κλειδιού. Τα µέλη κάθε οµάδας αναγνωρίζονται από ένα πιστοποιητικό το οποίο δηµιουργείται από την οµάδα στην οποία ανήκουν. Κάθε οµάδα είναι κάτοχος τουλάχιστον ενός σηµείου πρόσβασης µε το οποίο παρέχει υπηρεσία σε χρήστες άλλων οµάδων που βρίσκονται κοντά σε αυτό. Κάθε οµάδα δρα αυτόνοµα. Έτσι η απόφαση για το εάν δώσει ή όχι υπηρεσία σε έναν χρήστη που την ζητάει, εξαρτάται από καθαρά δικά της κριτήρια. Κανονικά η απόφαση αυτή θα πρέπει να βασίζεται στο Ευστράτιος Γ. ηµόπουλος 12

ιστορικό των συναλλαγών µε την οµάδα του χρήστη υπηρεσία, αλλά αυτό δεν επιβάλλεται. που ζητάει Η υπηρεσία παρέχεται βασιζόµενη στον παρακάτω κανόνα [5] «Οι οµάδες πρέπει να εξυπηρετούνται από σηµεία πρόσβασης που ανήκουν σε άλλες οµάδες, εάν µπορούν να αποδείξουν ότι και η οµάδα τους εξυπηρετεί µέλη άλλων οµάδων» Όλα τα µέλη του συστήµατος θεωρούνται λογικά, µε την έννοια ότι η απειλή του αποκλεισµού τους από το σύστηµα σε συνδυασµό µε την υπόσχεση ότι εάν είναι συνεργάσιµοι θα µπορούν να έχουν δωρεάν πρόσβαση στο διαδίκτυο µπορεί να αποτελεί ισχυρό κίνητρο για να συνεργαστούν και να υπακούουν στον βασικό κανόνα του συστήµατος που είναι η ανταποδοτικότητα. Μέσα στην κάθε οµάδα θεωρούµε ότι υπάρχει πλήρης εµπιστοσύνη. Αντίθετα δεν υποθέτουµε καµία σχέση εµπιστοσύνης µεταξύ ξένων οµάδων. 2.3 Οντότητες 2.3.1 Οµάδες Όπως έχουµε ήδη αναφέρει η βασική οντότητα του συστήµατος είναι η οµάδα. Μια οµάδα αποτελείται από µερικούς χρήστες που έχουν πλήρη εµπιστοσύνη ο ένας στον άλλον και διαθέτει ένα ή περισσότερα σηµεία πρόσβασης. Μια οµάδα είναι πάροχος και καταναλωτής υπηρεσίας ταυτόχρονα. Παρέχει υπηρεσία διαµέσου του σηµείου πρόσβασης (Access Point) σε χρήστες άλλων οµάδων που ζητάνε και καταναλώνει υπηρεσία µέσω των χρηστών της που µετακινούνται σε περιοχές άλλων οµάδων. Υπάρχουν πολλά οφέλη µε την οµαδοποίηση των χρηστών σε οµάδες. Ευστράτιος Γ. ηµόπουλος 13

Καταρχήν ανταποκρίνεται καλύτερα στην πραγµατικότητα. Με αυτήν την µοντελοποίηση «οµάδα» είναι ένα νοικοκυριό που διαθέτει ένα σηµείο πρόσβασης µε σύνδεση στο διαδίκτυο. Μέλη της οµάδας µπορούν να είναι όλα τα µέλη της οικογένειας και το κάθε ένα να µπορεί να καταναλώνει µε την προσωπική του κινητή συσκευή, ενώ όλα παρέχουν στην κοινότητα µέσω του κοινόχρηστου Access Point. Εάν θεωρούσαµε πως η βασική οντότητα του συστήµατος είναι κάθε χρήστης ξεχωριστά, τότε θα έπρεπε να µπορεί να καταναλώνει και να παρέχει ταυτόχρονα. Θα έπρεπε δηλαδή να θεωρήσουµε πως κάθε χρήστης είναι και κάτοχος σηµείου πρόσβασης µε σύνδεση στο διαδίκτυο, το οποίο βέβαια είναι παράλογο να απαιτείται. Ένας δεύτερο κέρδος που απορρέει µε την οµαδοποίηση των χρηστών σε οµάδες, είναι ότι µπορούν να συµµετέχουν µε αυτόν τον τρόπο στο P2PWNC χρήστες που είναι κάτοχοι κάποιου αποµακρυσµένου σηµείου πρόσβασης, το οποίο δέχεται σπάνια επισκέψεις από άλλους χρήστες. Εξαιτίας των σπάνιων επισκέψεων στο σηµείο πρόσβασης τους, οι χρήστες αυτοί, αν και είναι πρόθυµοι να προσφέρουν υπηρεσία όταν τους ζητηθεί, δεν θα µπορούσαν να καλλιεργήσουν καλή φήµη στην κοινότητα γιατί δεν είχαν συχνά την ευκαιρία να προσφέρουν υπηρεσία. Σαν αποτέλεσµα των παραπάνω, δεν θα µπορούσαν να πάρουν υπηρεσία αφού η φήµη τους θα ήταν κακή. Οι χρήστες αυτοί όµως µπορούν να κάνουν οµάδα µε άλλους, που το δικό τους σηµείο πρόσβασης βρίσκεται σε καλό σηµείο. Έτσι το σύστηµα κερδίζει διπλά. Από τη µία οι χρήστες της αποµακρυσµένης περιοχής καταφέρνουν να παίρνουν υπηρεσία από τα ξένα σηµεία πρόσβασης, αφού φαίνεται ότι συνεισφέρουν συχνά στην κοινότητα µε τα σηµεία πρόσβασης των υπολοίπων µελών της οµάδας και από την άλλη το P2PWNC βελτιώνει την κάλυψη του εντάσσοντας στην κοινότητα και σηµεία πρόσβασης που βρίσκονται σε αποµακρυσµένες περιοχές. Ένα τελευταίο σηµαντικό όφελος που έχουµε µε την οµαδοποίηση των χρηστών, είναι ότι καταφέρνουµε µε αυτόν τον τρόπο να µειώσουµε κατά πολύ τις οντότητες του συστήµατος. Αυτό βοηθάει πολύ στη διαχείριση του συστήµατος, Ευστράτιος Γ. ηµόπουλος 14

ιδιαίτερα στην περίπτωση που έχουµε super peers στο σύστηµα ή κεντρικοποιηµένη αρχιτεκτονική. Στην πρώτη περίπτωση οι super peers λειτουργούν αποδοτικότερα καθώς η πληροφορία που χρειάζεται να γνωρίζουν είναι ανά οµάδα και όχι ανά χρήστη, η λειτουργία του gossiping γίνεται επίσης αποδοτικότερα καθώς η ανταλλαγή πληροφορίας (µε τη µορφή των αποδείξεων) αφορά µεγαλύτερο τµήµα του συνόλου των χρηστών και όχι µεµονωµένους χρήστες. Στην περίπτωση της κεντρικής οντότητας έχουµε όφελος εξαιτίας των µειωµένων διαχειριστικών απαιτήσεων από αυτήν. Πολλές από τις διαχειριστικές λειτουργίες γίνονται από τους εξυπηρετητές των οµάδων. Μια οµάδα αποτελείται από λίγα µέλη, συνήθως µερικές δεκάδες. Μια οµάδα µπορεί να την αποτελούν τα µέλη µιας οικογένειας, µιας πολυκατοικίας ή µιας µικρής γειτονιάς. Ωστόσο, µπορεί και µόνο ένα µέλος να σχηµατίσει µία οµάδα. 2.3.1.1 Εξυπηρετητής Οµάδας (Team Server) Ο εξυπηρετητής µιας οµάδας είναι το πιο βασικό της στοιχεία. Η κύρια αρµοδιότητα του εξυπηρετητή είναι να τρέχει τον αλγόριθµο της ανταποδοτικότητας και να συντονίζει τα σηµεία πρόσβασης της οµάδας, µε την έννοια ότι όλα τα σηµεία πρόσβασης µιας οµάδας θα πρέπει πρώτα να συµβουλεύονται τον εξυπηρετητή πριν αποφασίσουν να συνεισφέρουν στο P2PWNC (προσφέροντας υπηρεσία σε έναν υποψήφιο πελάτη). Αυτό το κάνουν µε τη χρήση ειδικών µηνυµάτων του πρωτοκόλλου P2PWNC, τα οποία θα δούµε σε επόµενη ενότητα. Στο τέλος µιας συνόδου του P2PWNC (P2PWNC session), το σηµείο πρόσβασης που προσέφερε την υπηρεσία στέλνει την απόδειξη που αντιστοιχεί σε ολόκληρη τη σύνοδο στον εξυπηρετητή για να αποθηκευτεί. Ο εξυπηρετητής µια οµάδας είναι επίσης υπεύθυνος για το συντονισµό του αλγορίθµου gossiping. Στέλνει αποθηκευµένες αποδείξεις στα µέλη µιας οµάδας όποτε του ζητηθεί, για να µπορέσουν να τις δώσουν στα σηµεία πρόσβασης που έχουν επισκεφθεί. Οι εξυπηρετητές διαφορετικών οµάδων δεν επικοινωνούν Ευστράτιος Γ. ηµόπουλος 15

µεταξύ τους, µειώνοντας έτσι τον κίνδυνο επιθέσεων DoS από την έκθεση των IP διευθύνσεων τους. 2.3.1.2 Μέλη οµάδας Τα µέλη µιας οµάδας αναγνωρίζονται και αυτά από ένα ζεύγος ιδιωτικού/ δηµόσιου κλειδιού, το οποίο δηµιουργείται από τον αρχηγό κάθε οµάδας (team leader ή founder). Έχοντας ένα πιστοποιητικό το οποίο έχει υπογραφεί από τον αρχηγό της οµάδας (µε χρήση του ιδιωτικού κλειδιού της οµάδας), τα µέλη µπορούν να καταναλώνουν στο όνοµα της οµάδας. Εικόνα 1: Πιστοποιητικό µέλους P2PWNC Στην παραπάνω εικόνα φαίνεται πως είναι τα πιστοποιητικά των µελών. Κάνοντας σύγκριση µε ένα κλασικό ψηφιακό πιστοποιητικό µπορούµε να παρατηρήσουµε ότι λείπουν δύο πράγµατα. Καταρχήν δεν υπάρχει υπογραφή από καµία έµπιστη τρίτη οντότητα (trusted-third party). Αυτό οφείλεται στο γεγονός ότι το P2PWNC δεν βασίζεται σε καµία κεντρική οντότητα. Η µόνη σχέση που κωδικοποιεί ένα πιστοποιητικό µέλους είναι αυτή ανάµεσα σε ένα συγκεκριµένο αναγνωριστικό µέλους και σε ένα αναγνωριστικό οµάδας (member ID Team Ευστράτιος Γ. ηµόπουλος 16

ID). Κάποιος µπορεί να δηµιουργήσει αναρίθµητες ψεύτικες οµάδες, κάθε µία µε ψευδή µέλη. Το δεύτερο που λείπει από το πιστοποιητικό είναι η ηµεροµηνία λήξης. Παραδοσιακά αυτή χρησιµοποιείται για να δείξει το χρονικό διάστηµα εµπιστοσύνης µεταξύ ενός µέλους και µίας οµάδας. Στην περίπτωση του P2PWNC επειδή δεν υπάρχει κάποια οντότητα που να καθορίζει καθολικά τα πιστοποιητικά, το µόνο που θα πετυχαίναµε µε την προσθήκη ηµεροµηνίας λήξης θα ήταν να περιπλέξουµε την κατάσταση. Για αυτόν το λόγο το πιστοποιητικό έχει κρατηθεί όσο απλούστερο γίνεται. Σε περίπτωση που ένα µέλος πρέπει να εξαιρεθεί από την οµάδα (αυτό µπορεί να γίνει σε περιπτώσεις που το µέλος αυτό καταναλώνει πάρα πολύ και η κατανάλωση αυτή δεν µπορεί να αντισταθµιστεί από την προσφορά της οµάδας) στο P2PWNC γίνεται το παρακάτω: Ο αρχηγός της οµάδας δηµιουργεί ένα νέο αναγνωριστικό για την οµάδα και χρησιµοποιεί το ιδιωτικό κλειδί της οµάδας για να υπογράψει τα πιστοποιητικά όλων των µελών της οµάδας, εξαιρουµένου του χρήστη που θέλει να αποκλείσει. Επειδή η απόδοση µιας οµάδας στο P2PWNC εξαρτάται από το βραχυπρόθεσµο ιστορικό προσφοράς κατανάλωσης της οµάδας, η κίνηση αυτή θα οδηγούσε σε µια προσωρινή µόνο µείωση του κέρδους της οµάδας. Σε κάθε περίπτωση άλλωστε, ο αρχηγός επιλέγει εξαρχής ποια θα είναι µέλη της οµάδας και εποµένως τέτοιες συµπεριφορές δεν µπορεί να είναι συνηθισµένες από ένα µέλος που υποτίθεται ότι είναι έµπιστο. Όταν τα µέλη µιας οµάδας αποφασίζουν να πάρουν την κινητή τους συσκευή που υποστηρίζει Wi-Fi και να πάνε σε µια περιοχή εκτός της εµβέλειας των σηµείων πρόσβασης της δικής τους οµάδας, τότε θα αναφέρουµε τα µέλη αυτά ως «κινητοί χρήστες», «υποψήφιοι καταναλωτές», «υποψήφιοι πελάτες» ή «κανονικοί χρήστες» (αναφέρονται και ως team clients ή consumers σε µερικά σχήµατα). Στην βιβλιογραφία αναφέρονται και ως roamers, κάτι το οποίο αλλάζει όµως στην παρούσα εργασία. Ευστράτιος Γ. ηµόπουλος 17

Με τον όρο «roamer» όπως θα γίνει σαφέστερα κατανοητό στις επόµενες ενότητες θα αναφερόµαστε στους χρήστες που µετακινούνται σε ξένες περιοχές (όχι απλά ξένες οµάδες). Λέγοντας «περιοχή» εννοούµε το σύνολο των οµάδων που αλληλεπιδρούν συχνά µεταξύ τους. Ξένη περιοχή για τους χρήστες µιας οµάδας Α, θεωρείται η περιοχή εκείνη που αποτελείται από οµάδες που δεν έχουν συχνά επικοινωνία και εποµένως δεν γνωρίζουν το ιστορικό συναλλαγών των οµάδων και ούτε εκείνη γνωρίζει το ιστορικό συναλλαγών της οµάδας Α. Η «περιοχή» δηλαδή έχει περισσότερο λογική παρά γεωγραφική σηµασία, χωρίς όµως να αποκλείεται η συνύπαρξη των δύο. Για παράδειγµα οι χρήστες από µία γειτονιά της Αθήνας είναι µάλλον απίθανο να έχουν συχνές συναλλαγές µε µια γειτονιά της Θεσσαλονίκης. Περισσότερα όµως πάνω σε αυτό θα δούµε στην ενότητα 3. Αρκεί σε αυτό το σηµείο να γίνει κατανοητό πως τα µέλη µιας οµάδας µπορούν να ζητήσουν υπηρεσία είτε από άλλες οµάδες τις περιοχής τους, οπότε τα θεωρούµε «κανονικούς χρήστες» είτε από οµάδες ξένων περιοχών, οπότε τους θεωρούµε roamers. 2.3.1.3 Σηµείο Πρόσβασης (Access Point) Κάθε οµάδα του P2PWNC µπορεί να παρέχει υπηρεσία µέσω ενός ή περισσοτέρων σηµείων πρόσβασης που διαθέτει και διαχειρίζεται. Το σηµείο πρόσβασης είναι το µέσο µε το οποίο κάθε οµάδα µαζεύει πόντους (credits) µε τους οποίους τα µέλη της µπορούν να καταναλώσουν από ξένες οµάδες. Το σηµείο πρόσβασης είναι υπεύθυνο για τον έλεγχο της πρόσβασης στο δίκτυο της οµάδας αλλά και για τη συλλογή αποδείξεων από τα µέλη άλλων οµάδων στα οποία δόθηκε πρόσβαση. Οι αποδείξεις αυτές προωθούνται στη συνέχεια στην «αποθήκη αποδείξεων» (receipts repository). Όταν ένας ξένος χρήστης λοιπόν ζητήσει υπηρεσία από το σηµείο πρόσβασης αυτό θα συµβουλευτεί την αποθήκη αποδείξεων και θα κρίνει εάν πρέπει να του δώσει πρόσβαση. Στην περίπτωση που του δώσει πρόσβαση θα πρέπει στο τέλος, ή και κατά τη διάρκεια χρήσης της σύνδεσης του, να πάρει και να αποθηκεύσει Ευστράτιος Γ. ηµόπουλος 18

στην αποθήκη των αποδείξεων µία απόδειξη υπογεγραµµένη από τον καταναλωτή που να επιβεβαιώνει ότι του παρείχε υπηρεσία. 2.3.2 Αποδείξεις Το P2PWNC είναι ένα σύστηµα το οποίο βασίζεται στην ανταλλαγή υπηρεσίας µεταξύ των οµότιµων χρηστών του. Η µονάδα υπηρεσίας στο σύστηµα αυτό είναι η απόδειξη (receipt). Μια απόδειξη είναι η επικύρωση µιας συναλλαγής µεταξύ ενός µέλους µια οµάδας (καταναλωτής υπηρεσίας) και µιας οµάδας που παρέχει την υπηρεσία µέσω του σηµείο πρόσβασης της στο διαδίκτυο. Περιέχει το πιστοποιητικό του καταναλωτή, το δηµόσιο κλειδί του παρόχου, µια χρονική ένδειξη (timestamp) που δείχνει πότε ξεκίνησε η συναλλαγή και το βάρος της απόδειξης, το οποίο δείχνει την ποσότητα σε byte που προωθήθηκε από το σηµείο πρόσβασης εκ µέρους του καταναλωτή, κατά τη διάρκεια της συνόδου. Τέλος µια απόδειξη περιέχει την υπογραφή του καταναλωτή που επικυρώνει την εγκυρότητα των παραπάνω στοιχείων. Έτσι ο καταναλωτής επιβεβαιώνει ότι του προσφέρθηκε υπηρεσία συγκεκριµένης ποσότητας από το σηµείο πρόσβασης. Μια απόδειξη έχει τη µορφή που φαίνεται στο παρακάτω σχήµα: ηµόσιο κλειδί οµάδας-παρόχου Πιστοποιητικό καταναλωτή Timestamp Όγκος δεδοµένων κίνησης Υπογραφή µε το ιδιωτικό κλειδί του καταναλωτή Ευστράτιος Γ. ηµόπουλος 19

Ο όγκος δεδοµένων κίνησης (το βάρος της απόδειξης δηλαδή) καθορίζεται από το σηµείο πρόσβασης. Έτσι υπογράφοντας την απόδειξη ο καταναλωτής δέχεται την µέτρηση που έκανε το σηµείο πρόσβασης για την υπηρεσία που κατανάλωσε. Για την αποφυγή κακόβουλων χρηστών που θα µπορούσαν να αρνηθούν να υπογράψουν την απόδειξη ενώ κατανάλωσαν υπηρεσία, το σηµείο πρόσβασης µπορεί να στέλνει τµηµατικές αποδείξεις κατά τη διάρκεια της συνόδου, οι οποίες διαφέρουν µεταξύ τους µόνο στο αναγραφόµενο βάρος της αποδείξεις (το οποίο συνεχώς αυξάνεται). Ωστόσο µόνο η τελευταία απόδειξη που έχει υπογραφεί έχει νόηµα να κρατιέται από το σηµείο πρόσβασης. Έτσι λοιπόν η απόδειξη που χαρακτηρίζει τη σύνοδο µπορεί να αναγνωριστεί µοναδικά από την ακόλουθη πλειάδα (διπλότυπα αποδείξεων δεν επιτρέπονται αυτές µε µικρότερο βάρος αγνοούνται). Αναγνωριστικό απόδειξης: {Πιστοποιητικό καταναλωτή, ηµόσιο κλειδί παρόχου, timestamp}. Η εγκυρότητα µια απόδειξης µπορεί να ελεγχθεί επαληθεύοντας τις δύο ψηφιακές υπογραφές που περιέχει. Πρώτον η υπογραφή που περιέχεται στο πιστοποιητικό του καταναλωτή, ώστε να επιβεβαιωθεί ότι ο καταναλωτής είναι όντως µέλος της οµάδας που καθορίζεται στο πιστοποιητικό. εύτερον, η υπογραφή της απόδειξης η οποία επαληθεύεται χρησιµοποιώντας το δηµόσιο κλειδί του καταναλωτή (το οποίο περιέχεται στο πιστοποιητικό του). Οι αποδείξεις σχηµατίζουν ένα λογικό γράφο αποδείξεων. Οι κόµβοι του γράφου αυτού είναι τα αναγνωριστικά των οµάδων, ενώ οι κατευθυνόµενες ακµές του δείχνουν το χρέος από τον καταναλωτή προς τον πάροχο. Τα βάρη των ακµών είναι ίσα µε τον όγκο της κίνησης που κατανάλωσε ο κόµβος-πηγή από τον κόµβο-στόχο. Η απόδειξη ανάλογα µε τον αλγόριθµο κρυπτογράφησης που έχει χρησιµοποιηθεί µποερί να είναι από 211bytes µέχρι µερικά kilobytes. Το P2PWNC πρωτόκολλο υποστηρίζει RSA και ECC υπογραφές µεταβλητού µεγέθους. Περισσότερα µπορεί να διαβάσει κανείς στο [9]. Ευστράτιος Γ. ηµόπουλος 20

2.3.3 Αποθήκες αποδείξεων Οι αποθήκες αποδείξεων (receipts repositories) όπως προδίδει το όνοµα τους είναι ο χώρος στον οποίο φυλάσσονται οι υπογεγραµµένες αποδείξεις ή αλλιώς το ιστορικό των συναλλαγών µεταξύ των οµάδων. Αφού ολοκληρωθεί µια WLAN σύνοδος, η οµάδα-πάροχος θα αποθηκεύσει την καινούργια απόδειξη στην αποθήκη αποδείξεων του εξυπηρετητή της οµάδας. Κάθε σηµείο πρόσβασης έχει διαµορφωθεί ώστε να µπορεί να συνδέεται µε τον εξυπηρετητή της οµάδας του για να µπορεί να αποθηκεύει την απόδειξη. Με αυτόν τον τρόπο, όλα τα σηµεία πρόσβασης µίας οµάδας αποθηκεύουν τις αποδείξεις που κερδίζουν στην ίδια αποθήκη αποδείξεων. Η αποθήκη αποδείξεων είναι όπως είναι φυσικό πεπερασµένου µεγέθους. Όταν είναι γεµάτη και πρέπει να αποθηκευτεί µία νέα απόδειξη, τότε διαγράφεται από την αποθήκη εκείνη µε το παλαιότερο timestamp. Όπως έχουµε αναφέρει ήδη υπάρχουν δύο προτεινόµενες αρχιτεκτονικές για το P2PWNC στην βιβλιογραφία, η κατανεµηµένη και η κεντρικοποιηµένη. Οπότε υπάρχουν και δύο µορφές αποθηκών ανάλογα µε το ποια από τις δύο αρχιτεκτονικές χρησιµοποιούµε. Στην κεντρικοποιηµένη περίπτωση υπάρχει µία αποθήκη αποδείξεων στην οποία φυλάσσεται το ιστορικό όλων των οµάδων στη έµπιστη κεντρική οντότητα. Αντίθετα στην κατανεµηµένη περίπτωση κάθε οµάδα διατηρεί τη δική της αποθήκη αποδείξεων στην οποία είναι αποθηκευµένο ένα τµήµα του ιστορικού των συναλλαγών του συστήµατος. Στις προσοµοιώσεις που ακολουθούν στην τέταρτη ενότητα της εργασίας έχει υλοποιηθεί η κατανεµηµένη αρχιτεκτονική και η επέκταση της µε χρήση super peers. Και στις δύο περιπτώσεις κάθε οµάδα έχει τη δική της αποθήκη αποδείξεων. Σηµαντικό είναι να κατανοήσει κανείς ότι η αποθήκη αποδείξεων µιας οµάδας δεν κρατάει µόνο τις αποδείξεις που έχουν ως πάροχο κάποιο δικό της σηµείο πρόσβασης. Είναι ενηµερωµένη και µε αποδείξεις που αφορούν άλλες οµάδες ως Ευστράτιος Γ. ηµόπουλος 21

παροχείς, κάτι το οποίο προκύπτει µέσα από τη λειτουργία του gossiping, όπως θα δούµε παρακάτω. 2.3.4 Super Peers Οι super peers αποτελούν τη νέα οντότητα του p2pwnc. Θεωρούµε ότι οι super peers είναι έµπιστοι χρήστες που ενδιαφέρονται για το καλό του συστήµατος. Όπως αναφέρεται και στο [6] θα µπορούσαµε να θεωρήσουµε ως super peers τους πρωτοπόρους του συστήµατος, αυτούς που δηµιούργησαν πρώτοι οµάδες. Ωστόσο, σε όσα ακολουθούν δεν έχει καµία σηµασία το πως έχουν επιλεγεί οι super peers. Όπως αναφέραµε και σε προηγούµενη ενότητα έχουµε θεωρήσει ότι το σύστηµα µας χωρίζεται σε λογικές περιοχές. Σε κάθε τέτοια περιοχή υπάρχει τουλάχιστον ένας super peer. Έχουµε κάνει την παραδοχή ότι οι super peers είναι καθολικά γνωστοί και εποµένως γνωρίζονται και µεταξύ τους. Στον αλγόριθµο που προτείνεται στην ενότητα 3 και στις προσοµοιώσεις τις ενότητας 4 δεν έχει θεωρηθεί πως οι super peers έχουν µεγαλύτερες υπολογιστικές ή αποθηκευτικές δυνατότητες σε σχέση µε τους υπόλοιπους κόµβους του συστήµατος. Εποµένως, η µοναδική αλλά απαραίτητη προϋπόθεση για να µπορεί να γίνει κάποιος super peer είναι να τηρεί πιστά τον κανόνα της ανταποδοτικότητας. Οι super peers µπορούν να καταναλώνουν όπως και οι υπόλοιποι χρήστες. Οι super peers θεωρούµε πως θα παίρνουν ως πελάτες πάντα υπηρεσία. Αυτό είναι λογικό να συµβαίνει γιατί όπως θα δούµε και στην τρίτη ενότητα οι υπόλοιποι χρήστες µπορούν να χρησιµοποιήσουν τις αποδείξεις που θα τους υπογράψουν οι super peers για να πάρουν υπηρεσία από µια οµάδα που δεν τους γνωρίζει βάζοντας τους super peers ως εγγυητές. Αυτό είναι και το κίνητρο για τους super peers. έχονται το επιπλέον υπολογιστικό κόστος, όχι µόνο για το καλό του συστήµατος, αλλά και για να µπορούν πάντα να παίρνουν υπηρεσία. Μοναδική αρµοδιότητα τους είναι όταν Ευστράτιος Γ. ηµόπουλος 22

τους ζητηθεί να τρέξουν τον αλγόριθµο της ανταποδοτικότητας για έναν χρήστη και να αποφανθούν εάν θα του έδιναν ή όχι υπηρεσία σε περίπτωση που τους το ζητούσε. Εάν θα του έδιναν υπηρεσία µπαίνουν εγγυητές για τον χρήστη αυτό. ηλαδή υπογράφουν αποδείξεις στον πάροχο της υπηρεσίας και ο καταναλωτής υπογράφει αποδείξεις στο super peer. Λεπτοµέρειες για τον αλγόριθµο θα δούµε όµως στην τρίτη ενότητα. 2.3.5 Έµπιστη Κεντρική Οντότητα Η οντότητα αυτή υπάρχει µόνο στην κεντρικοποιηµένη αρχιτεκτονική του P2PWNC και αναφέρεται για λόγους πληρότητας. Η οντότητα αυτή διατηρεί όλη την ιστορία των συναλλαγών του συστήµατος και καθορίζει τα κλειδιά (δηµόσια & ιδιωτικά) των οµάδων. Έχει σχεδιασθεί ώστε να έχει τις λιγότερες παρεµβάσεις στο σύστηµα, έχοντας περισσότερο συµβουλευτικό χαρακτήρα στο εάν µια οµάδα θα πρέπει να δώσει ή όχι υπηρεσία σε έναν υποψήφιο καταναλωτή. Ευστράτιος Γ. ηµόπουλος 23

2.4 Αρχιτεκτονικές 2.4.1 Κατανεµηµένη αρχιτεκτονική Εικόνα 2 : Κατανεµηµένη αρχιτεκτονική Στην κατανεµηµένη αρχιτεκτονική κάθε οµάδα έχει µία τοπική αποθήκη αποδείξεων, την οποία διαχειρίζεται ο εξυπηρετητής της οµάδας. Τα µέλη κάθε οµάδας µπορούν να επικοινωνούν µε τον εξυπηρετητή για να ενηµερώνουν µε τις πιο πρόσφατες αποδείξεις τις δικές τους αποθήκες αποδείξεων που έχουν µαζί τους. Οι αποδείξεις αυτές αναφέρονται στις προσοµοιώσεις ως receipts to merge, γιατί όντως πρόκειται για τις αποδείξεις που θα συγχωνευτούν κατά τη φάση του gossiping µε τις αποδείξεις του επισκεπτόµενου access point. O εξυπηρετητής της Ευστράτιος Γ. ηµόπουλος 24

οµάδας, όπως φαίνεται και στην παραπάνω εικόνα µπορεί να βρίσκεται σε κάποιο από τα σηµεία πρόσβασης της οµάδας. Μια πλήρως κατανεµηµένη αρχιτεκτονική έχει προσοµοιωθεί στο [9], αλλά και για µεγαλύτερο αριθµό χρηστών διαχωρισµένων σε περιοχές στον πρώτο προσοµοιωτή της παρούσας εργασίας. Τα αποτελέσµατα της προσοµοίωσης του συστήµατος µε την πλήρως κατανεµηµένη αρχιτεκτονική έχουν χρησιµοποιηθεί ως βάση σύγκρισης µε τα αποτελέσµατα της προσοµοίωσης για την αρχιτεκτονική µε super peers. Τα αποτελέσµατα αυτά βρίσκονται στην τέταρτη ενότητα. Ευστράτιος Γ. ηµόπουλος 25

2.4.2 Κεντρικοποιηµένη αρχιτεκτονική Εικόνα 3 : Κεντρικοποιηµένη αρχιτεκτονική Όπως βλέπουµε και στο παραπάνω σχήµα στην περίπτωση της κεντρικοποιηµένης αρχιτεκτονικής υπάρχει µία κεντρική οντότητα που διαθέτει στην αποθήκη αποδείξεων της το πλήρη γράφο του συστήµατος και µπορεί εποµένως να προτείνει στα σηµεία πρόσβασης να δώσουν ή όχι υπηρεσία σε έναν κινητό χρήστη. Ευστράτιος Γ. ηµόπουλος 26

2.4.3 Αρχιτεκτονική µε Super Peers Η αρχιτεκτονική µε super peers που προτείνεται σε αυτήν την εργασία είναι µια προέκταση της κατανεµηµένης αρχιτεκτονικής. Αν και συνεχίζει να διατηρεί την φυσική κατανοµή των κόµβων, δεν παύει να αποτελεί µία λογική στρωµάτωσηκεντρικοποίηση. Γεφυρώνει ουσιαστικά το χάσµα µεταξύ της κεντρικοποιηµένης και της κατανεµηµένης αρχιτεκτονικής προσπαθώντας να συνδυάσει τα πλεονεκτήµατα και των δύο. Πρέπει επίσης να σηµειωθεί πως οι super peers δεν απαιτείται να έχουν καµία παραπάνω υπολογιστική η αποθηκευτική ικανότητα σε σχέση µε τους υπόλοιπους χρήστες, επειδή ο επιπλέον φόρτος που έχουν δεν είναι σηµαντικός όπως θα δούµε στις προσοµοιώσεις της ενότητας 4. Στην αρχιτεκτονική αυτή προσθέτουµε στο σύστηµα µας έναν τουλάχιστον super peer. Από τον super peer ζητάει βοήθεια ένας χρήστης, όταν δεν µπορεί από µόνος του να πάρει υπηρεσία (εξαιτίας κακής φήµης). Αν και οι super peers µπορούν να προσφέρουν βοήθεια κάθε φορά που τους ζητείται, η χρήση τους αποκτά ιδιαίτερο νόηµα όταν αυξηθούν οι χρήστες του συστήµατος. Στην περίπτωση αυτή µπορούµε να καταλάβουµε ότι είναι αδύνατο να γνωρίζονται όλοι οι χρήστες µεταξύ τους. Έτσι το σύστηµα χωρίζεται σε λογικές περιοχές. Κάθε περιοχή αποτελείται από τους χρήστες εκείνους που επικοινωνούν συχνά µεταξύ τους και εποµένως γνωρίζονται καλά. Οι χρήστες των περιοχών, ωστόσο, µετακινούνται και σε άλλες περιοχές µε µικρότερη πιθανότητα (αυτό θα αναφέρεται στο εξής ως roaming). Σε αυτές τις περιπτώσεις εάν δεν µπορούν να πάρουν υπηρεσία από το σηµείο πρόσβασης, ζητάνε βοήθεια από τους super peers, σύµφωνα µε έναν αλγόριθµο που παρουσιάζεται στην τρίτη ενότητα. Με τον τρόπο αυτό καταφέρνουµε να πετύχουµε την κλιµάκωση του P2PWNC, ενώνοντας ουσιαστικά πολλά πλήρως κατανεµηµένα P2PWNC συστήµαταπεριοχές σε ένα µεγαλύτερο. Επίσης, όπως θα δούµε παρακάτω, ένα τέτοιο σύστηµα µπορεί να λειτουργήσει ακόµα και όταν δεν υπάρχει εµπιστοσύνη σε Ευστράτιος Γ. ηµόπουλος 27

ξένους super peers, δηλαδή σε super peers που δεν ανήκουν στην περιοχή του σηµείου πρόσβασης. Αρκεί να εµπιστεύεται το σηµείο πρόσβασης τον super peer (ή τους super peers εάν είναι περισσότεροι) της δικής του περιοχής. Όπως ήταν όµως αναµενόµενο σε αυτήν την περίπτωση η απόδοση του συστήµατος πέφτει γιατί οι super peers που γνωρίζουν καλύτερα τον roamer είναι οι super peers της δικής του περιοχής και όχι της περιοχής του σηµείου πρόσβασης. Για τον λόγο αυτό έχει προβλεφθεί ότι οι super peers (τους οποίους θεωρούµε έµπιστους και γνωστούς µεταξύ τους), θα επικοινωνούν µεταξύ τους και θα προτείνουν στο σηµείο πρόσβασης να δώσει συγκεκριµένη ποσότητα υπηρεσίας στον καταναλωτή. Αναλυτικά όµως θα δούµε την λειτουργία του συστήµατος µε αυτήν την αρχιτεκτονική στην ενότητα 3, ενώ στην ενότητα 4 θα δούµε την απόδοση της σε σύγκριση και µε την πλήρως κατανεµηµένη αρχιτεκτονική. 2.5 Μηνύµατα πρωτοκόλλου P2PWNC CONN (CONNection request) Το µήνυµα αυτό στέλνεται από τον υποψήφιο καταναλωτή (πελάτη) για να ζητήσει πρόσβαση από το επισκεπτόµενο σηµείο πρόσβασης (εξυπηρετητής). Ο υποψήφιος καταναλωτής µπορεί να αναγνωρίσει ένα σηµείο πρόσβασης που συµµετέχει στο P2PWNC από τα µικρά µηνύµατα (beacons) που στέλνει αυτό στο επίπεδο ζεύξης και τα οποία περιέχουν το πρόθεµα «P2PWNC-». Το µήνυµα CONN περιέχει το πιστοποιητικό µέλους που αντιστοιχεί στον συγκεκριµένο υποψήφιο πελάτη. Με αυτόν τον τρόπο το σηµείο πρόσβασης µαθαίνει το δηµόσιο κλειδί της οµάδας που ζητάει υπηρεσία. Μπορεί επίσης να πιστοποιήσει ότι ο συγκεκριµένος χρήστης είναι µέλος της οµάδας, επιβεβαιώνοντας το πιστοποιητικό µέλους µε το δηµόσιο κλειδί της οµάδας που βρίσκει από το πιστοποιητικό. Ευστράτιος Γ. ηµόπουλος 28

CACK (Connection request ACKnowledgment) Αυτό το µήνυµα υποδεικνύει στον πελάτη ότι το σηµείο πρόσβασης τον έχει πιστοποιήσει και ότι είναι πρόθυµο να συνεργαστεί µαζί του παρέχοντας του υπηρεσία. Έρχεται ως απάντηση σε ένα CONN µήνυµα. Η απάντηση CACK περιέχει τη χρονική σήµανση (timestamp) η οποία χαρακτηρίζει την έναρξη της συγκεκριµένης συνόδου. Οι αποδείξεις που θα ακολουθήσουν κατά τη διάρκεια της συνόδου θα έχουν όλες την ίδια χρονική σήµανση. Στο σηµείο αυτό πρέπει να σηµειωθεί ότι δεν υπάρχει αρνητικό CACK µήνυµα, δηλαδή εάν το σηµείο πρόσβασης αποφασίσει να µην συνεργαστεί απλά στέλνει ένα TCP FIN µήνυµα τερµατίζοντας την TCP/IP σύνδεση. Γενικότερα η φιλοσοφία των µηνυµάτων που ανταλλάσσονται µεταξύ των οµάδων του P2PWNC είναι ότι επειδή οι οµάδες ενδιαφέρονται για το δικό τους καλό θα στέλνουν το µικρότερο δυνατό αριθµό µηνυµάτων στο επίπεδο του P2PWNC. RREQ (Receipt REQuest) Περιοδικά το σηµείο πρόσβασης ζητάει από τον πελάτη να του υπογράψει µια απόδειξη, ώστε να αναγνωρίζει την ποσότητα υπηρεσίας που έχει µέχρι αυτή τη στιγµή καταναλώσει. Αυτό ισοδυναµεί µε το συνολικό αριθµό bytes που το σηµείο πρόσβασης προώθησε για να εξυπηρετήσει τον πελάτη. Το µήνυµα RREQ περιέχει το συνολικό αριθµό bytes που το σηµείο πρόσβασης έχει καταµετρήσει. Το πρώτο µήνυµα RREQ περιέχει επίσης το δηµόσιο κλειδί της οµάδας που συνεισφέρει. Ο πελάτης του P2PWNC πρέπει να απαντήσει µέσα σε ένα λογικό χρονικό διάστηµα (δεν προσδιορίζεται από το πρωτόκολλο) µε ένα µήνυµα RCPT που θα δούµε αµέσως µετά. RCPT (ReCeiPT) Το µήνυµα αυτό είναι η βασική µονάδα πληροφορίας για την κατανάλωση και συνεισφορά πόρων στο P2PWNC. Όπως έχουµε ήδη αναφέρει σε προηγούµενη Ευστράτιος Γ. ηµόπουλος 29

ενότητα το µήνυµα RCPT περιέχει το πιστοποιητικό µέλους του πελάτη (δηµόσιο κλειδί οµάδας πελάτη δηµόσιο κλειδί πελάτη υπογραφή οµάδας πελάτη), το δηµόσιο κλειδί της οµάδας του σηµείου πρόσβασης που συνεισφέρει, την ποσότητα κίνησης που µετρήθηκε από το σηµείο πρόσβασης µέχρι αυτό το χρονικό σηµείο (το βάρος της απόδειξης δηλαδή) και τη χρονική σήµανση της συνόδου (session timestamp). Όλα τα παραπάνω υπογράφονται ψηφιακά από τον πελάτη µε χρήση του ιδιωτικού κλειδιού που αντιστοιχεί στο πιστοποιητικό µέλους που είχε παρουσιάσει στο µήνυµα CONN και η υπογραφή αυτή περιέχεται στο µήνυµα RCPT. Σύµφωνα µε το πρωτόκολλο δηµιουργίας των αποδείξεων (δείτε περισσότερα στο [9]) περισσότερες από µία αποδείξεις θα δηµιουργηθούν κατά τη διάρκεια µίας συνόδου. Οι αποδείξεις αυτές θα έχουν αυξανόµενα βάρη και θα αναπαριστούν τις απαντήσεις του πελάτη στις διάφορες RREQ αιτήσεις του σηµείου πρόσβασης. Τελικά όµως µόνο η τελευταία απόδειξη έχει νόηµα να φυλάσσεται στην αποθήκη αποδείξεων καθώς όλες οι άλλες αποδείξεις µε την ίδια χρονική σήµανση και µικρότερα βάρη εκυρώνονται. Έτσι δεν µπορεί κανένας χρήστης του P2PWNC να ξεγελάσει κάποιον άλλο, δείχνοντας αποδείξεις από την ίδια σύνοδο αλλά µε διαφορετικά βάρη, γιατί οι αποδείξεις αυτές θα έχουν το ίδιο αναγνωριστικό (αναγνωριστικό µιας απόδειξης είναι ο συνδυασµός του πιστοποιητικού µέλους του καταναλωτή, του δηµοσίου κλειδιού της οµάδας που συνεισφέρει και της χρονικής σήµανσης). QUER (QUERy) Το µήνυµα αυτό ανταλλάσσεται εσωτερικά σε µία οµάδα. Χρησιµοποιείται από το σηµείο πρόσβασης για να επικοινωνήσει µε τον εξυπηρετητή της οµάδας του και να ρωτήσει εάν θα πρέπει να δώσει υπηρεσία σε έναν πελάτη που του έχει ζητήσει και πόση υπηρεσία θα πρέπει να του δώσει. Περιέχει το δηµόσιο κλειδί της οµάδας του υποψήφιου πελάτη. Ευστράτιος Γ. ηµόπουλος 30

QRSP (Query ReSPonse) Το µήνυµα αυτό είναι η απάντηση στο QUER. Είναι επίσης ένα µήνυµα που ανταλλάσσεται εσωτερικά σε µια οµάδα. Το στέλνει ο εξυπηρετητής µιας οµάδας ως απάντηση στο σηµείο πρόσβασης που του είχε στείλει το QUER. Σε αυτό συµπεριλαµβάνεται ο υπολογισµός που έχει κάνει ο εξυπηρετητής της οµάδας σχετικά µε την φήµη του υποψήφιου καταναλωτή. Την τελική απόφαση σχετικά µε το πόση υπηρεσία θα συνεισφέρει στον πελάτη θα την πάρει το σηµείο πρόσβασης. UPDT (UPDaTe) Το µήνυµα αυτό το στέλνει ένας κινητός χρήστης στον εξυπηρετητή της οµάδας του, όταν θέλει να ανανεώσει την αποθήκη αποδείξεων που έχει µαζί του µε τις πιο πρόσφατες αποδείξεις που υπάρχουν στην αποθήκη της οµάδας του. Το µήνυµα αυτό περιέχει µια σήµανση χρόνου. Ο εξυπηρετητής θα απαντήσει µε µια σειρά αποδείξεων που είναι πιο πρόσφατες από αυτήν την χρονική σήµανση. Αυτό θα το κάνει µέσω των RCPT µηνυµάτων και βέβαια δεν θα στείλει αποδείξεις που έχουν ως καταναλωτή την οµάδα που ανήκει ο κινητός χρήστης καθώς κάτι τέτοιο δεν θα τον βοηθούσε σε τίποτα. Το πως χρησιµοποιεί ένας κινητός χρήστες τις αποδείξεις αυτές θα το δούµε στην ενότητα που παρουσιάζεται ο gossiping αλγόριθµος. Λεπτοµέρειες για τον τρόπο που ανταλλάσσονται τα παραπάνω µηνύµατα στο P2PWNC, αλλά και για τη µορφή τους υπάρχουν στα [5] και [9]. Ευστράτιος Γ. ηµόπουλος 31

Όπως θα δούµε στην τρίτη ενότητα για την επικοινωνία µε του super peers είναι απαραίτητη η προσθήκη κάποιων επιπλέον µηνυµάτων και µικρή τροποποίηση σε υπάρχοντα µηνύµατα. 2.6 Αλγόριθµοι πρωτοκόλλου Στην ενότητα αυτή παρουσιάζονται οι τρεις βασικοί αλγόριθµοι που προτείνονται για χρήση στο P2PWNC. Στις προσοµοιώσεις που παρουσιάζονται στην έκτη ενότητα του [9] φαίνεται ότι η χρήση των παρακάτω αλγορίθµων είναι ευεργετική για τις οµάδες που τις χρησιµοποιούν και για την συνολική απόδοση του συστήµατος. Ωστόσο, κάθε οµάδα έχει τη δυνατότητα να αποφασίζει η ίδια για τους αλγόριθµους (τροποποιηµένους ή εντελώς διαφορετικούς) που θα τρέξει. 2.6.1 Αλγόριθµος ανταποδοτικότητας Η ιδέα πίσω από τον αλγόριθµο της ανταποδοτικότητας (reciprocity algorithm) είναι να χρησιµοποιήσει τις απειλές του αποκλεισµού από την κατανάλωση υπηρεσίας και την κατανάλωση υπηρεσίας χειρότερης ποιότητας ως τα κίνητρα που θα οδηγήσουν τις οµάδες του P2PWNC στο να συνεργάζονται προσφέροντας υπηρεσία σε όσους κινητούς χρήστες µπορούν να αποδείξουν ότι προέρχονται από συνεργάσιµες οµάδες. Για να µπορούν οι οµάδες να αποφασίζουν σε ποιες οµάδες χρωστάνε άµεσα ή έµµεσα υπηρεσία και σε ποιες όχι εισάγεται στο [9] µια µετρική που ονοµάζεται Υποκειµενική Μετρική Φήµης (Subjective Reputation Metric ή SRM). Οι τιµές της κυµαίνονται από 0 εώς 1 και ο υπολογισµός της γίνεται σε κάθε εξυπηρετητή οµάδας, όταν ένας πελάτης ζητήσει υπηρεσία. Όσο πιο κοντά στο 1 είναι η τιµή που θα επιστραφεί τόσο περισσότερο χρωστάει η οµάδα του σηµείου πρόσβασης Ευστράτιος Γ. ηµόπουλος 32

στην οµάδα του πελάτη και εποµένως τόσο καλύτερη είναι η υπηρεσία που έχει υποχρέωση να του δώσει. Η µετρική αυτή είναι όµως υποκειµενική γιατί µία κακή φήµη προς µια οµάδα δεν συνεπάγεται κακή φήµη προς όλες τις οµάδες και το αντίθετο. Για τον υπολογισµό της µετρικής αυτής ωστόσο είναι απαραίτητη η χρησιµοποίηση ενός απλού αλγόριθµου, ώστε να µην οδηγήσει τους κινητούς χρήστες στην αναζήτηση ευκολότερων εναλλακτικών λύσεων, όπως είναι µία 2G/3G συνδροµή. Όπως είναι φυσικό προκύπτουν µια σειρά θεµάτων ασφαλείας σχετικά µε τον αλγόριθµο και την προσπάθεια των χρηστών να παραπλανήσουν το επισκεπτόµενο σηµείο πρόσβασης. Επίσης υπάρχουν συγκεκριµένες προδιαγραφές που οδήγησαν στην επιλογή του προτεινόµενου αλγόριθµου. Η ανάλυση των ζητηµάτων αυτών δεν ωφελεί στην γενική κατανόηση των ενοτήτων που ακολουθούν και για αυτό παραλείπονται. Ο ενδιαφερόµενος αναγνώστης µπορεί να διαβάσει για αυτά τα θέµατα στην ενότητα 5 του [9]. 2.6.1.1 Ο Γράφος των Αποδείξεων Στην ενότητα αυτή θα αναφέρουµε συνοπτικά τι είναι ο γράφος αποδείξεων στο P2PWNC. Το πως δηµιουργείται ο γράφος αυτός θα το δούµε στην ενότητα που παρουσιάζεται ο gossiping αλγόριθµος. Ο γράφος αυτός βρίσκεται κατανεµηµένος στο σύστηµα. Κάθε οµάδα έχει διαφορετική-µερική εικόνα του γράφου. Κάθε κόµβος του γράφου είναι ένας οµότιµος κόµβος-οµάδα (peer) του συστήµατος. Μια κατευθυνόµενη ακµή από έναν κόµβο K προς έναν κόµβο Π (Κ- >Π) δείχνει ότι ο κόµβος Κ έχει καταναλώσει άµεσα υπηρεσία από τον κόµβο Π τουλάχιστον µία φορά. Το βάρος της ακµής Κ->Π ισοδυναµεί µε το άθροισµα των βαρών των αντιστοίχων αποδείξεων, δηλαδή των αποδείξεων που έχει υπογράψει ο καταναλωτής Κ στον πάροχο Π. Ευστράτιος Γ. ηµόπουλος 33

Πρέπει να σηµειώσουµε σε αυτό το σηµείο ότι µια ακµή από έναν κόµβο Κ προς έναν κόµβο Π, υποδηλώνει άµεσο χρέος του Κ στον Π. Ένας χρήστης Κ όµως µπορεί να χρωστάει έµµεσα σε έναν κόµβο Π όπως θα δούµε παρακάτω. ηλαδή, στην περίπτωση που έχουµε στον γράφο µια διαδροµή Κ->Α 1 ->Α 2 ->...->Α Ν ->Π, η διαδροµή αυτή επίσης υποδηλώνει ότι ο Κ χρωστάει στον Π αλλά έµµεσα. 2.6.1.2 Αλγόριθµος Max Flow Ο αλγόριθµος ανταποδοτικότητας του P2PWNC βασίζεται στον αλγόριθµο maximum flow ή Max Flow (MF).O MF είναι ένας θεωρητικός αλγόριθµος, ο οποίος µετρά την ποσότητα ροής, που µπορεί να περάσει από έναν κόµβο-πηγή προς έναν κόµβο-προορισµό του γράφου. Για να αποφύγουµε κακόβουλες επιθέσεις (Sybil attacks), θεωρούµε ότι ένας κόµβος P (Provider) χρωστάει σε έναν κόµβο C (Consumer) µόνο εάν οι δύο κόµβοι ενώνονται άµεσα ή έµµεσα στον γράφο. ηλαδή δεν αρκούµαστε στο να βρούµε κάποιο δέντρο στο γράφο µε ρίζα τον κόµβο C, δηλαδή µε κόµβους που έχουν ακµές προς τον C. Ένα τέτοιο δέντρο δείχνει ενδεχοµένως ότι κάποιοι χρήστες χρωστάνε στον C, αλλά µπορεί να µην είναι και έτσι. Το δέντρο αυτό θα µπορούσε να είναι ψεύτικο και οι υποτιθέµενοι χρήστες που χρωστάνε στον C να είναι ψεύτικες ταυτότητες (sybil IDs) που έχουν δηµιουργηθεί από τον ίδιο τον C (sybil attack) και παρουσιάζονται ως καταναλωτές του, ώστε να αυξήσει την φήµη του. Επειδή λοιπόν, στο P2PWNC δεν µπορεί ένας χρήστης να γνωρίζει τις ταυτότητες των υπολοίπων χρηστών και εποµένως να διακρίνει εάν µία Ευστράτιος Γ. ηµόπουλος 34