Δίκτυα Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 9: Πολυμέσα Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε Κάντε κλικ για να ξεκινήσετε
Βιβλιογραφία James F. Kurose - Keith W. Ross, Δικτύωση Υπολογιστών, εκδ. Γκιούρδας. Tanenbaum, Wetherall, Δίκτυα Υπολογιστών, Εκδ. Κλειδάριθμος. Douglas E. Comer, Δίκτυα και διαδίκτυα υπολογιστών και εφαρμογές τους στο Internet, Κλειδάριθμος. Monteiro, J. M., Cruz, R. S., Patrikakis, C. Z., Papaoulakis, N. C., Calafate, C. T., & Nunes, M. S. (2013). Peer-to-Peer Video Streaming. In R. Farrugia, & C. Debono (Eds.), Multimedia Networking and Coding (pp. 254-313). Hershey, PA: Information Science Reference. doi:10.4018/978-1-4666-2660-7.ch010. Charalampos Z. Patrikakis, Angelos- Christos Anadiotis, Penetrating with DDoS Attacks, (διαθέσιμο στο διαδίκτυο: http://pentestmag.com), PenTest Magazine, vol2 no 5, Aug 2012, pp [16-22]. Pendegraft, N. (2003). The TCP/IP Game. In T. McGill (Ed.), Current Issues in IT Education (pp. 117-124). Hershey, PA: IRM Press. doi:10.4018/978-1- 93177-753-7.ch009. Τμήμα των σημειώσεων είναι βασισμένο σε συνοδευτικό υλικό του βιβλίου των James F. Kurose - Keith W. Ross, Computer Networking, Pearson publications 2
Περιεχόμενα 9.1 Δικτυακές εφαρμογές πολυμέσων 9.2 Διακίνηση αποθηκευμένου video 9.3 Voice-over-IP 3
Προσδοκώμενα Αποτελέσματα Στην ενότητα αυτή θα μάθετε για: Δικτυακές εφαρμογές πολυμέσων, Κατηγοριοποίηση των εφαρμογών, Τρόπους μετάδοσης πολυμεσικού υλικού, Voice over IP. 4
9.1 Δικτυακές εφαρμογές πολυμέσων 5
Πολυμέσα: Ήχος audio signal amplitude Αναλογικό σήμα ήχου με σταθερού ρυθμού δειγματοληψία. Τηλ.: 8,000 δείγματα/sec CD μουσική: 44,100 δείγματα/sec. Κάθε δείγμα κβαντίζεται. Π.χ., 28=256 πιθανές κβαντισμένες τιμές. Κάθε κβαντισμένη τιμή παρουσιάζεται σε bits, π.χ., 8 bits για 256 τιμές. Σφάλμα κβαντισμού Ρυθμός δειγματοληψίας (N δείγματα/sec) Κβαντισμένη τιμή του αναλογικού σήματος Αναλογικό σήμα time 6
Πολυμέσα: Ήχος audio signal amplitude Π.χ: 8,000 δείγματα/sec, 256 τιμές κβαντισμού: 64,000 bps. Ο δέκτης μετατρέπει τα bits σε αναλογικό σήμα: Πτώση στην ποιότητα. Σφάλμα κβαντισμού Κβαντισμένη τιμή του αναλογικού σήματος Αναλογικό σήμα Π.χ ρυθμών: CD: 1.411 Mbps. MP3: 96, 128, 160 kbps. Τηλεφωνία Internet: 5.3 kbps και πάνω. Ρυθμός δειγματοληψίας (N δείγματα/sec) time 7
Πολυμέσα: video video: ακολουθία από εικόνες που απεικονίζονται σε σταθερό ρυθμό. Π.χ. 24 εικόνες/sec. Ψηφιακή εικόνα: Πίνακας από pixels. Κάθε pixel απεικονίζεται από bits. Κωδικοποίηση: Χρήση πλεονασμού μέσα και μεταξύ των εικόνων για την ελάττωση του # bits στην κωδικοποίηση της εικόνας. Χωρική (μέσα στην εικόνα). Χρονική (από τη μία εικόνα στην άλλη). Παράδειγμα χωρικής δειγ/ιας: αντί να σταλούν N τιμές του ιδίου χρώματος (όλες μωβ), στέλλονται μόνο δύο τιμές: τιμή χρώματος (μωβ) και αριθμός επαναλήψεων (N)...... frame i Παράδειγμα χρονικής δειγ/ιας: αντί να αποστέλλονται ολόκληρα frame σε i+1, στέλλονται μόνο οι διαφορές από το frame i frame i+1 8
Πολυμέσα: video CBR: (constant bit rate): Συγκεκριμένος ρυθμός κωδ/σης video. VBR: (variable bit rate): Ο ρυθμός κωδ/σης του video μεταβάλλεται ανάλογα με τις χωρικές και χρονικές αλλαγές. Παραδείγματα: MPEG 1 (CD-ROM) 1.5 Mbps. MPEG2 (DVD) 3-6 Mbps. MPEG4 (συχνή χρήση στο Internet, < 1 Mbps). Παράδειγμα χωρικής δειγ/ιας: αντί να σταλούν N τιμές του ιδίου χρώματος (όλες μωβ), στέλλονται μόνο δύο τιμές: τιμή χρώματος (μωβ) και αριθμός επαναλήψεων (N)...... frame i Παράδειγμα χρονικής δειγ/ιας: αντί να αποστέλλονται ολόκληρα frame σε i+1, στέλλονται μόνο οι διαφορές από το frame i frame i+1 9
3 ΤΥΠΟΙ ΕΦΑΡΜΟΓΩΝ ΔΙΚΤΥΑΚΩΝ ΠΟΛΥΜΕΣΩΝ streaming, αποθηκευμένος ήχος, video Streaming: μπορεί να αρχίσει η αναπαραγωγή πριν κατέβει όλο το αρχείο. Αποθηκευμένο (σε server): γρηγορότερη μετάδοση από την αναπαραγωγή ήχου/video. π.χ., YouTube, Netflix, Hulu. Voice/video over IP Η διαδραστική φύση της ανθρώπινης επικοινωνίας αναμένει μικρές καθυστερήσεις. π.χ., Skype. Ζωντανό streaming ήχος, video. π.χ., ζωντανή μετάδοση αθλητικού αγώνα. 10
9.2 Διακίνηση αποθηκευμένου video 11
ΣΤΕΛΝΟΝΤΑΣ ΑΠΟΘΗΚΕΥΜΕΝΟ VIDEO 1. Καταγεγραμμένο video (π.χ., 30 frames/sec) 2. Αποστολή video Καθυστέρηση δικτύου (σταθερή) 3. Λήψη video, εμφάνιση στον client (30 frames/sec) time streaming: αυτή τη στιγμή, ο client παίζει τα πρώτα μέρη του video,ενώ ο server ακόμα στέλνει το υπόλοιπο. 12
buffered video ΣΤΕΛΝΟΝΤΑΣ ΑΠΟΘΗΚΕΥΜΕΝΟ VIDEO Σταθερού ρυθμού μετάδοση video Κυμαινόμενη καθυστέρηση δικτύου Λήψη video από client Αναπαραγωγή σταθερού ρυθμού στον client Καθυστέρηση αναπαραγωγής στον client Αποθήκευση στον client και καθυστέρηση αναπαραγωγής: Αντισταθμίζει την καθυστέρηση από το δίκτυο. time 13
STREAMING ΠΟΛΥΜΕΣΑ: UDP Ο server αποστέλλει σε ρυθμός κατάλληλο για τον client. Συχνά: ρυθμός αποστολής = ρυθμός κωδ/σης = σταθερός ρυθμός. Ο ρυθμός μετάδοσης δεν επηρεάζεται από τα επίπεδα συμφόρησης. Μικρή καθυστέρηση στην αναπαραγωγή (2-5 sec) λόγω της καθυστέρησης δικτύου. Το UDP μπορεί να κοπεί από firewalls. 14
STREAMING ΠΟΛΥΜΕΣΑ: HTTP Το αρχείο πολυμέσων αποκτάται μέσω HTTP GET. Στέλνεται με το μέγιστο δυνατό ρυθμό μέσω του TCP. Ο ρυθμός αποστολής κυμαίνεται λόγω του ελέγχου συμφόρησης του TCP και των επαναμεταδόσεων. Μεγαλύτερη καθυστέρηση στην αναπαραγωγή: ομαλός ρυθμός παράδοσης από το TCP. Το HTTP/TCP περνάει ευκολότερα από firewalls. 15
STREAMING ΠΟΛΥΜΕΣΑ: DASH DASH: Dynamic, Adaptive Streaming over HTTP Server: Χωρίζει το αρχείο video σε πολλά κομμάτια. Κάθε κομμάτι αποθηκεύεται, κωδικοποιείται σε διαφορετικούς ρυθμούς. Αρχείο manifest: παρέχει τα URLs για τα διάφορα κομμάτια. Client: Μετράει περιοδικά το εύρος ζώνης μεταξύ αυτού και server. Ζητάει ένα-ένα τα κομμάτια, συμβουλευόμενος τι manifest. Επιλέγει το μέγιστο δυνατό ρυθμό κωδ/σης, σύμφωνα με το εύρος ζώνης. Μπορεί να επιλέξει διαφορετικούς ρυθμούς κωδ/σης σε διαφορετικές χρονικές στιγμές (ανάλογα με το εύρος ζώνης). 16
STREAMING ΠΟΛΥΜΕΣΑ: DASH DASH: Dynamic, Adaptive Streaming over HTTP «Νοημοσύνη» στον πελάτη: ο πελάτης προσδιορίζει: Πότε θα ζητήσει το επόμενο τμήμα (έτσι ώστε να μην ξεχειλίσει ο buffer αλλά ούτε και να αδειάσει). Τι ρυθμό κωδ/σης να ζητήσει (Ψηλότερη ποιότητα όταν είναι διαθέσιμο περισσότερο εύρος ζώνης). Που να αναζητήσουν τα κομμάτια (μπορούν να τα ζητήσουν από τον URL server που είναι «κοντά» στον πελάτη ή που έχει το περισσότερο διαθέσιμο εύρος ζώνης). 17
ΔΙΚΤΥΑ ΔΙΑΜΟΙΡΑΣΜΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ (CDN) Πρόκληση: Πως θα μοιράσουμε περιεχόμενο (επιλεγμένο από εκατομμύρια videos) σε εκατοντάδες χιλιάδες ταυτόχρονους χρήστες? 1 η επιλογή: Ένας μεγάλος «mega-server» Μοναδικό σημείο βλάβης. Σημείο συμφόρησης δικτύου. Μεγάλες διαδρομές σε απομακρυσμένους clients. Πολλά αντίγραφα του video θα φεύγουν από την γραμμή. Αυτή η λύση δεν μπορεί να κλιμακωθεί (scale up)! 18
ΔΙΚΤΥΑ ΔΙΑΜΟΙΡΑΣΜΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ (CDN) Πρόκληση: Πως θα μοιράσουμε περιεχόμενο (επιλεγμένο από εκατομμύρια videos) σε εκατοντάδες χιλιάδες ταυτόχρονους χρήστες? 2 η επιλογή: αποθήκευση/εξυπηρέτηση πολλών αντιγράφων από videos σε διάφορες γεωγραφικά κατανεμημένες τοποθεσίες (CDN). Θα μπουν CDN servers σε πολλά δίκτυα πρόσβασης. Πιο κοντά στους χρήστες. 19
CDN: ΑΠΛΟ ΣΕΝΑΡΙΟ Ένας client ζητά το video http://netcinema.com/6y7b23v Το video είναι αποθηκευμένο σε CDN στο http://kingcdn.com/netc6y&b23v 1. O Bob παίρνει το URL για το video http://netcinema.com/6y7b23v Από την ιστοσελίδα του netcinema.com 2 1 6. Αίτηση για video στον 5 KINGCDN server, (streamed over HTTP) netcinema.com 3 2. Βρίσκει τη διεύθυνση του http://netcinema.com/6y7b23v Από τον local DNS 4 4&5. Ο KingCDN s authoritative DNS επιστρέφει τη διεύθυνση IP address του KIingCDN server ο οποίος έχει το video 3. Ο DNS του netcinema s επιστρέφει το URL http://kingcdn.com/netc6y&b23v netcinema s authorative DNS KingCDN.com KingCDN authoritative DNS 20
9.3 Voice-over-IP 21
Voice-over-IP(VoIP) Απαιτήσεις καθυστέρησης από άκρο σε άκρο: πρέπει να διατηρείται η δυνατότητα «συζήτησης». Μεγάλες καθυστερήσεις χαλούν την αλληλεπίδραση. <150 ms: καλή τιμή. > 400 ms: άσχημη τιμή. Περιλαμβάνει και καθυστερήσεις στο επίπεδο εφαρμογών. Αρχικοποίηση συνεδρίας: Πως διαφημίζει ο καλών την ΙΡ δ/ση, τον αριθμό της πόρτας και τους αλγόριθμους κωδ/σης; Επιπρόσθετες υπηρεσίες: Προώθηση κλήσεων, καταγραφή τους. 22
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ VoIP Ήχος ακροατή: Εναλλασσόμενες περιόδους ομιλίας και σιγής. 64 kbps κατά τη διάρκεια της ομιλίας. Πακέτα δημιουργούνται μόνο κατά την ομιλία. Τμήματα των 20 ms σε 8 Kbps: 160 bytes δεδομένων. Πρόσθεση επικεφαλίδας του επιπέδου εφαρμογής σε κάθε τμήμα. Τμήμα + επικεφαλίδα ενθυλακώνονται σε TCP ή UDP segment. Η εφαρμογή στέλνει το segment στο socket κάθε 20 ms κατά τη διάρκεια της ομιλίας. 23
Σε αυτή την ενότητα μιλήσαμε για: 9.1 Δικτυακές εφαρμογές πολυμέσων 9.2 Διακίνηση αποθηκευμένου video 9.3 Voice-over-IP 25
Δίκτυα Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 9: Πολυμέσα Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε