Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Εφαρμογής Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Σχετικά έγγραφα
Δίκτυα Υπολογιστών Επίπεδο εφαρμογής To Σύστημα Ονομασίας Τομέων DNS

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

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

Δίκτυα Επικοινωνιών Ι

Δίκτυα Επικοινωνιών Ι

Εισαγωγή στο DNS lookup

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

Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151)

Δίκτυα Επικοινωνιών Ι. Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εθνικό & Καποδιστριακό Πανεπιστήμιο Αθηνών. Επίπεδο Εφαρμογής. Διδάσκων: Λάζαρος Μεράκος

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

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

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

Δίκτυα Επικοινωνιών Ι

Domain Name System (DNS) (3 η άσκηση)

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

Δίκτυα Υπολογιστών Ενότητα 3: Domain Name System - DNS

Υπολογιστές και ίκτυα Η/Υ.

Εργαστήριο Wireshark: DNS

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

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

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

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

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

ΕΠΛ 012. Δίκτυα Τπολογιστών & Διαδίκτυο

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

Δίκτυα Η/Υ στην Επιχείρηση

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

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

DNS. Όλες οι άλλες υπηρεσίες του Διαδικτύου, (WWW και ) χρησιμοποιούν το DNS

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

Δίκτυα Υπολογιστών Επίπεδο Εφαρμογής Ιωάννης Κορίνθιος Δρ. Ηλεκτρολόγος Μηχανικός ΕΜΠ

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

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

Ασκήσεις Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας. ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών

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

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

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

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

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

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

Επίπεδο δικτύου IP διευθυνσιοδότηση

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Peer-to-Peer Technology

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Κεφάλαιο 2 Επίπεδο Εφαρµογής

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα εφαρμογής. Δίκτυα Υπολογιστών

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Εφαρμογές. Δίκτυα Υπολογιστών

Τεχνολογίες ιαδικτύου

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

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

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

Start/Programs/ Administrative Tools/DNS

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα εφαρμογής. Δίκτυα Υπολογιστών

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

Διαχειριστικό σύστημα ονομάτων χώρου

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

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

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

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ. Στρώμα εφαρμογής. Δίκτυα Υπολογιστών

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού

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

Network Address Translation (NAT)

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ

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

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

Δίκτυα Επικοινωνίας Υπολογιστών Ενότητα 3: Εισαγωγή. Μιχαήλ Λογοθέτης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων διευθύνσεων

Άσκηση 1. Ερώτηση 1: ο αριθμός των συνδρομητών που θα εξυπηρετηθούν στη συγκεκριμένη τυχαία κυψέλη.

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

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

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

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer

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

Δίκτυα Η/Υ Θεωρία. Διάλεξη 3η

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

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

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

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

Δίκτυα Υπολογιστών. Ενότητα 3: Εφαρμογές, υπηρεσίες και παγκόσμιος ιστός. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.

DISTRIBUTED CACHE TABLE: EFFICIENT QUERY-DRIVEN PROCESSING OF MULTI-TERM QUERIES IN P2P NETWORKS

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

Δίκτυα Υπολογιστών Λύσεις σειράς ασκήσεων επανάληψης

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

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

Transcript:

Δίκτυα Επικοινωνιών Δίκτυα Υπολογιστών και Στρώμα Εφαρμογής Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών

Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses Εργασία: μπόνους 2 μονάδες http://people.cn.ntua.gr/jenny/images/mydata/ dialekseis/ergasies2015.pdf e-mail επικοινωνίας: eadam@cn.ntua.gr cdemest@cn.ntua.gr

Βιβλιογραφία 3 J. Kurose and K. Ross, Computer Networking A top down approach, Pearson, 6 th edition, 2013

4 DNS

DNS Domain Name System 5 Ένα φυσικό πρόσωπο έχει πολλά χαρακτηριστικά ταυτότητας (π.χ. αριθμό ταυτότητας, ΑΜΚΑ, αριθμό διαβατηρίου κτλ.) Ένας κόμβος στο Internet χαρακτηρίζεται από: μια διεύθυνση IP, η οποία χρησιμοποιείται για την αποστολή/λήψη πακέτων ένα όνομα (π.χ. www.ntua.gr), το οποίο χρησιμοποιείται από τους χρήστες- φυσικά πρόσωπα για να προσπελάσουν τον συγκεκριμένο σταθμό Απαιτείται λοιπόν ένας μηχανισμός αντιστοίχισης μεταξύ IP διευθύνσεων και ονομάτων

DNS Domain Name System 6 Το πρωτόκολλο DNS επιλύει το πρόβλημα της αντιστοίχισης ονομάτων και IP διευθύνσεων Ανήκει στην κατηγορία των πρωτοκόλλων του στρώματος εφαρμογής Οι hosts επικοινωνούν με τους name servers για να επιλύσουν ονόματα (μετάφραση ονομάτων/διευθύνσεων) Η επίλυση ονομάτων αποτελεί θεμελιώδη λειτουργία στο Διαδίκτυο Χρησιμοποιούνται κατανεμημένες βάσεις Οι name servers οργανώνονται ιεραρχικά

DNS Υπηρεσίες & Δομή 7 DNS υπηρεσίες μετάφραση ονομάτων σε IP διευθύνσεις aliasing (χρήση ψευδώνυμων) n canonical, alias name n π.χ. το canonical name του www.ece.ntua.gr είναι ecewww.noc.ntua.gr mail server aliasing τοπική διανομή n mirrored Web servers: πολλές IP διευθύνσεις αντιστοιχούν σε ένα όνομα n π.χ. το www.cnn.com αντιστοιχεί σε 4 IP διευθύνσεις Γιατί να μην έχουμε κεντρικοποιημένη δομή; Απ: Δεν είναι κλιμακώσιμη (scalable) επιλογή n αν αποτύχει ο κεντρικός κόμβος, καταρρέει η λειτουργία της επίλυσης n μεγάλος όγκος κίνησης προς ένα σημείο n μεγάλες ανάγκες για συντήρηση

DNS Κατανεμημένη & ιεραρχική 8 οργάνωση Τρία «είδη» - επίπεδα name servers Root name servers Top-level domain (TLD) servers Authoritative DNS servers

DNS Root name servers 9

TLD και authoritative name servers 10 Top-level domain (TLD) servers είναι υπεύθυνοι για τις περιοχές ανώτερου επιπέδου π.χ..com,.edu,.org,.net αλλά και.gr,.uk,.it κτλ. Authoritative DNS servers είναι οι DNS servers ενός οργανισμού, οι οποίοι παρέχουν authoritative απαντήσεις για την αντιστοίχιση των ονομάτων των hosts του οργανισμού σε IP διευθύνσεις μπορούν να συντηρούνται είτε από τον ίδιο τον οργανισμό είτε από έναν service provider

Τοπικός DNS server 11 Δεν εμπίπτει αυστηρά στην ιεραρχία Κάθε ISP (εμπορικός, εταιρικός, πανεπιστήμιο) διαθέτει έναν καλείται συχνά default name server Όταν ένας host κάνει μια ερώτηση (query) απευθύνεται στον τοπικό DNS server Αυτός διαθέτει μια τοπική μνήμη (cache) με πρόσφατες αντιστοιχίσεις ονομάτων- διευθύνσεων (η οποία όμως μπορεί να είναι παρωχημένη!) Δρα ως μεσολαβητής, προωθώντας το αίτημα βάσει ιεραρχίας

DNS Παράδειγμα επίλυσης 12 Ο host cis.poly.edu θέλει την IP διεύθυνση του gaia.cs.umass.edu Ερ.: Γιατί την θέλει; Επαναληπτικό query Ο server ο οποίος ρωτήθηκε, αν δεν ξέρει την απάντηση, απαντά με το όνομα του server που πρέπει να ερωτηθεί local DNS server dns.poly.edu 1 2 8 root DNS server 3 4 5 7 TLD DNS server authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu 6

DNS Παράδειγμα επίλυσης 13 Αναδρομικό query H ευθύνη επίλυσης «πέφτει» στον server που ρωτήθηκε κάθε φορά Ενδέχεται να δημιουργείται μεγάλος φόρτος στα ανώτερα επίπεδα local DNS server dns.poly.edu 1 2 8 requesting host cis.poly.edu root DNS server 7 6 5 3 TLD DNS server 4 authoritative DNS server dns.cs.umass.edu gaia.cs.umass.edu

DNS Caching & ενημέρωση 14 εγγραφών Κάθε φορά που ένας name server μαθαίνει μια αντιστοιχία ονόματος IP διεύθυνσης, την αποθηκεύει προσωρινά (caching) μετά από ορισμένο χρόνο (TTL), η προσωρινή αυτή πληροφορία σβήνεται συνήθως η πληροφορία των TLD servers αποθηκεύεται προσωρινά στους τοπικούς name servers n με αυτόν τον τρόπο οι root name servers δεν ερωτώνται συχνά Υπάρχει ο κίνδυνος οι προσωρινές πληροφορίες να είναι παρωχημένες (out-of-date) στην περίπτωση π.χ. που ένας host αλλάξει IP διεύθυνση προτού γίνει expire το TTL στο standard RFC 2136 προτείνονται μηχανισμοί για την ανανέωση αυτής της πληροφορίας

DNS - Εγγραφές 15 DNS: distributed db storing resource records (RR) RR format: (name, value, type, ttl) type=a name is hostname value is IP address type=ns name is domain (e.g., foo.com) value is hostname of authoritative name server for this domain type=cname name is alias name for some canonical (the real) name www.ibm.com is really servereast.backup2.ibm.com value is canonical name type=mx value is name of mailserver associated with name

DNS Μηνύματα πρωτοκόλλου 16 Μηνύματα ερώτησης (query) και απάντησης (response), που έχουν την ίδια δομή Επικεφαλίδα identification: πεδίο 16bit, με ίδια τιμή σε κάθε ζεύγος ερώτησης/ απάντησης flags n query ή reply n επιθυμητή αναδρομή n διαθέσιμη αναδρομή n authoritative reply 2 bytes 2 bytes identification flags # questions # answer RRs # authority RRs # additional RRs questions (variable # of questions) answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs)

DNS Μηνύματα πρωτοκόλλου 17 2 bytes 2 bytes identification # questions # authority RRs flags # answer RRs # additional RRs όνομα, πεδία ερώτησης απαντήσεις ονόματα authoritative name servers επιπλέον τυχόν «χρήσιμη πληροφορία» questions (variable # of questions) answers (variable # of RRs) authority (variable # of RRs) additional info (variable # of RRs)

Εισάγοντας DNS εγγραφές 18 Έστω ότι θέλουμε να κατοχυρώσουμε το όνομα metaptyxiako.gr Κατοχυρώνουμε το όνομα σε έναν πάροχο με την κατάλληλη εξουσιοδότηση ( DNS registrant ) παρέχονται το όνομα και οι IP διευθύνσεις των authoritative name servers (primary και secondary) εισάγονται εγγραφές στον.gr TLD server (metaptyxiako.gr, dns1.metaptyxiako.gr, NS) (dns1.metaptyxiako.gr, 147.102.7.100, A) δημιουργούνται στον authoritative name server εγγραφή τύπου Α για το www.metaptyxiako.gr, και εγγραφή τύπου ΜΧ για την περιοχή metaptyxiako.gr

Κάνοντας επίθεση στο DNS 19 DDoS attacks βομβαρδισμός των root servers με ερωτήματα n μικρός κίνδυνος καθώς n η προσωρινή τοπική αποθήκευση επιτρέπει την αποφυγή ερώτηση στον root server n γίνεται «φιλτράρισμα» και απόρριψη των κακόβουλων ερωτήσεων βομβαρδισμός των TLD servers n μεγαλύτερος κίνδυνος Παρεμβολή στις ερωτήσεις Αποστολή εσφαλμένων ενημερώσεων στους DNS servers

20 Δίκτυα P2P

Αμιγής P2P αρχιτεκτονική 21 δεν υπάρχει always-on server οι διάφοροι τερματικοί κόμβοι (ομότιμοι κόμβοι peers) επικοινωνούν απευθείας μεταξύ τους αυτοί οι peers δεν είναι διαρκώς συνδεδεμένοι μεταξύ τους ενώ αλλάζουν και IP διευθύνσεις παραδείγματα εφαρμογών διαμοιρασμός αρχείων (BitTorrent) streaming (KanKan) VoIP (Skype)

Διαμοιρασμός αρχείων 22 client-server vs P2P Ερώτηση: Πόσος χρόνος απαιτείται για το διαμοιρασμό αρχείου (μεγέθους F) από έναν server σε Ν peers; Οι δυνατότητες των peers για upload/download είναι περιορισμένες u s : server upload capacity file, size F server u s u 1 d 1 u 2 d 2 d i : peer i download capacity u N d N δίκτυο (µε αρκετά µεγάλη χωρητικότητα) u i : peer i upload capacity d i u i

Χρόνος διανομής αρχείου client-server 23 μετάδοση από server: πρέπει να γίνει ακολουθιακό uploading N αντιγράφων του αρχείου ο χρόνος που απαιτείται για ένα αντίγραφο είναι ίσος με F/u s ο χρόνος που απαιτείται για N αντίγραφα είναι ίσος με ΝF/u s client: κάθε client πρέπει να κάνει download ένα αντίγραφο του αρχείου d min = min client download rate download time: F/d min F u s network d i u i χρόνος διανοµής του F σε N clients µέσω client-server προσέγγισης D c-s > max{nf/u s,,f/d min }

Χρόνος διανομής αρχείου 24 P2P μετάδοση από server: πρέπει να γίνει uploading τουλάχιστον ενός αντιγράφου του αρχείου ο χρόνος που απαιτείται για ένα αντίγραφο είναι ίσος με F/u s client: κάθε client πρέπει να κάνει download ένα αντίγραφο του αρχείου download time: τουλάχιστον F/d min για τον client με το μικρότερο d min download rate clients (ως σύνολο): πρέπει να κατεβάσουν (άρα και να ανεβάσουν) συνολικά NF bits max upload rate (limiting max download rate) είναι u s + Σu i F u s network d i u i χρόνος διανοµής του F σε N clients µέσω P2P προσέγγισης D P2P > max{f/u s,,f/d min,,nf/(u s + Σu i )} το ίδιο συμβαίνει όμως και εδώ αφού κάθε peer προσθέτει capacity αυξάνει γραμμικά με το Ν

Παράδειγμα Client Server vs P2P 25 Υποθέτουμε τα εξής: client upload rate = u, F/u = 1 hour, u s = 10u, d min u s Minimum Distribution Time 3.5 3 2.5 2 1.5 1 0.5 0 P2P Client-Server 0 5 10 15 20 25 30 35 N

P2P διανομή αρχείου - BitTorrent 26 το αρχείο χωρίζεται σε «κομμάτια» (chunks) των 256Kb οι peers στο torrent στέλνουν/λαμβάνουν chunks tracker: παρακολουθεί τους peers που συμμετέχουν σε ένα torrent torrent: ομάδα peers που ανταλλάσσουν chunks ενός συγκεκριμένου αρχείου Η Άννα φτάνει ανακτά τη λίστα των peers από τον tracker και ξεκινά την ανταλλαγή chunks µε τους peers στο torrent

P2P διανομή αρχείου - BitTorrent 27 όταν ένας peer «μπαίνει» στο torrent δεν έχει chunks, αλλά θα συγκεντρώσει από άλλους peers με την πάροδο του χρόνου δηλώνεται στον tracker για να λάβει τη λίστα με τους peers (IP διευθύνσεις τους) και συνδέεται με ένα υποσύνολο από αυτούς (neighbours) καθώς κάνει dowloading, ταυτόχρονα κάνει και uploading σε άλλους peers οι peers με τους οποίους ανταλλάσσει chunks μπορεί να αλλάξουν μόλις ο peer ολοκληρώσει το «κατέβασμα» του αρχείου μπορεί να δράσει είτε «εγωιστικά» είτε «αλτρουιστικά» n Ερώτηση: ποιος είναι «εγωιστής» και ποιος «αλτρουιστής»;

BitTorrent 28 Αίτηση & αποστολή file chunks αίτηση chunks ανά πάσα στιγμή οι διάφοροι peers έχουν διαφορετικά υποσύνολα file chunks κάθε peer περιοδικά ρωτάει τους άλλους peers για τη λίστα των file chunks κάθε peer ζητά από τους άλλους τα file chunks που του λείπουν, ξεκινώντας από τα πιο σπάνια αποστολή chunks (ανταποδοτικό σχήμα) ένας peer (π.χ. η Άννα) στέλνει chunks στους 4 εκείνους peers που της στέλνουν chunks με τον υψηλότερο ρυθμό n στους άλλους προσωρινά δε στέλνει n η λίστα των top 4 αναθεωρείται τακτικά (π.χ. κάθε 10 sec) κάθε 30 sec επιλέγει τυχαία έναν άλλο peer και αρχίζει να του στέλνει chunks n αυτός ο νέος peer μπορεί να μπει στη λίστα των top 4

BitTorrent «Μου δίνεις, σου δίνω» 29 Η Άννα «τυχαία»/«ευκαιριακά» ( opportunistically ) αρχίζει να στέλνει στο Βασίλη Η Άννα γίνεται ένας από τους top 4 τροφοδότες του Βασίλη. Ο Βασίλης ανταποδίδει Ο Βασίλης μπορεί να γίνει ένας από τους top 4 τροφοδότες της Άννας με υψηλότερο upload rate: βρίσκεις καλύτερους συνεργάτες και εν τέλει «κατεβάζεις» και εσύ το αρχείο ταχύτερα!

Distributed Hash Table (DHT) 30 Κατανεμημένος πίνακας κατακερματισμού Χρήση DHT Κυκλικά DHT και υπερκείμενα δίκτυα

Απλή βάση δεδομένων 31 Απλή βάση δεδομένων με ζεύγη (key, value) Παράδειγμα: key: Ονοματεπώνυμο, value: ΑΦΜ Ονοματεπώνυμο ΑΦΜ Τζένη Αδαμοπούλου 123456789 Κώστας Δεμέστιχας 987654321 Γιώργος Παπαδόπουλος 111123456 Παράδειγμα: key: Όνομα ταινίας, value: IP διεύθυνση Ταινία IP διεύθυνση Batman 147.102.7.35 Χ- Men 147.102.7.46 The Notebook 147.102.7.48

Πίνακας κατακερματισμού 32 Πιο βολικός τρόπος αποθήκευσης και αναζήτησης επί αριθμητικής αναπαράστασης του key Παράδειγμα: key = hash (original key) Ταινία (original key) key IP διεύθυνση Batman 1234 147.102.7.35 Χ- Men 2345 147.102.7.46 The Notebook 7890 147.102.7.48 Παράδειγμα: key = hash (original key) Χρήστης (original key) key IP διεύθυνση jenny 4567 147.102.7.35 kostas 2345 147.102.7.46 alex 3245 147.102.7.48 hash είναι μια συνάρτηση κατακερματισμού, π.χ. SHA-1, MD5

Distributed Hash Table (DHT) 33 Κατανεμημένα ζεύγη (key, value) σε εκατομμύρια peers ομοιόμορφη κατανομή των ζευγών στους peers Κάθε peer μπορεί να αναζητήσει σε μία βάση (query) με χρήση του key η βάση επιστρέφει την value που αντιστοιχεί στο key προκειμένου να εξυπηρετηθεί η αναζήτηση ανταλλάσσεται μικρός αριθμός μηνυμάτων μεταξύ των peers κάθε peer γνωρίζει μόνο την IP διεύθυνση για μικρό αριθμό άλλων peers ευέλικτο σχήμα ως προς τις συχνές αναχωρήσεις/αφίξεις peers

Κατανεμημένοι πίνακες 34 κατακερματισμού DHT πίνακας που έχει ο χρήστης Αλέξανδρος Ταινία (original key) key IP διεύθυνση Batman 1234 147.102.7.35 Batman 1234 147.102.7.46 The Notebook 7890 147.102.7.48 Η Άννα θέλει να κατεβάσει την ταινία Batman. Κάνει μια αναζήτηση για το key 1234 που αντιστοιχεί στην ταινία Batman. Οι μηχανισμοί του DHT (βλ. παρακάτω) προσδιορίζουν ότι ο Αλέξανδρος έχει την πληροφορία για το ποιοι peers έχουν το αντικείμενο 1234. Eν τέλει, η Άννα μαθαίνει ότι οι peers 147.102.7.35 και 147.102.7.46 είναι αυτοί που έχουν το ζητούμενο αντικείμενο.

Ανάθεση ζευγών key-value στους 35 peers κανόνας: ανάθεση ενός ζεύγους key-value στον peer με το «κοντινότερο» ID σύμβαση: «κοντινότερο» θεωρούμε το πιο «κοντινό» επόμενο του key ID Παράδειγμα: Έστω ότι έχουμε το σύνολο IDs {0, 1, 2,, 63} Έστω ότι έχουμε τους peers με ID: 1,12,13,25,32,40,48,60 n To key = 51 ανατίθεται στον peer 60 n To key = 60 ανατίθεται στον peer 60 n To key = 61 ανατίθεται στον peer 1

Κυκλικό DHT 36 Κάθε peer γνωρίζει τις IP διευθύνσεις (values) μόνο για τον αμέσως προηγούμενο και επόμενο του 1 60 12 48 40 32 13 25 overlay network

Επίλυση ερωτήματος 37 value 1 12 Ποιο είναι το value που αντιστοιχεί στο key 53; 60 13 48 Όταν έχουμε N peers απαιτούνται κατά μέσο όρο N/2=Ο(Ν) μηνύματα για την επίλυση της αναζήτησης 40 32 25 Ερ. : Γιατί γνώριζε ο peer 60 την αντιστοίχιση του key 53;

Κυκλικό DHT με συντομεύσεις 38 60 value 1 12 Ποιο είναι το value που αντιστοιχεί στο key 53; 48 40 32 Κάθε peer γνωρίζει τις IP διευθύνσεις του προηγούμενου, του επόμενου και των συντομεύσεων (γειτονικών ) του Αντί για 6 απαιτούνται τώρα 3 μηνύματα Δυνατότητα σχεδιασμού συντομεύσεων με Ο(log N) γείτονες και Ο (log N) μηνύματα σε μια αναζήτηση Ερ.: Γιατί ο peer 12 ρωτάει τον 32 και όχι τον 13; 25 13

Αποχώρηση peer 39 αναμενόμενη η αποχώρηση κάποιων peers θεωρούμε τώρα ότι κάθε peer ξέρει την IP διεύθυνση των δύο επόμενων του περιοδικά ελέγχει (ping) αυτοί «υπάρχουν» ακόμα αν ο αμέσως επόμενος αποχωρήσει, τότε τίθεται ο πρώην μεθεπόμενος ως αμέσως επόμενος Παράδειγμα: Ο peer 5 αποχωρεί Ο peer 4 ανιχνεύει την αποχώρηση του 5 και ρωτάει τον μεθεπόμενο του, τον peer 8 ποιος είναι ο επόμενος του Ο peer 4 γνωρίζει ως τώρα ως επόμενο τον peer 8 και ως μεθεπόμενο των peer 10 (φυσικά και τις IP διευθύνσεις τους) 1 15 12 10 8 O peer 5 εγκαταλείπει ξαφνικά 3 5 4

40 Ευχαριστώ για την προσοχή σας!