ίκτυα ϖολυµέσων και εφαρµογές streaming ίκτυα Υϖολογιστών ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Η επικοινωνία αφορά την ανταλλαγή δεδοµένων (προγράµµατα και αρχεία) αλλά και την κατανοµή του υπολογιστικούέργου. Τα δίκτυα µπορούν να χρησιµοποιηθούν για ποικίλους σκοπούς: Συνεργασία στον ερευνητικό τοµέα (π.χ. σύνδεση ερευνητικών µονάδων από διάφορα πανεπιστήµια) αλλά και διασκέδαση (π.χ. δικτυακά παιχνίδια) 2
ίκτυα Υϖολογιστών Τα δίκτυα µπορούν να αποτελούνται από οτιδήποτε, από τηλέφωνο µέχρι Η/Υ, τα οποία συνδέονται µε την βοήθεια απλών καλωδίων ή οπτικών ινών. Κάποιεςσυνδέσειςείναιασύρµατες. Σεαυτές, γίνεται χρήση ραδιοκυµάτων και υπέρυθρων σηµάτων 3 Τηλεδιάσκεψη Τηλεδιάσκεψη ή βιντεοδιάσκεψη η αµφίδροµη οπτικοακουστική επικοινωνία σε πραγµατικό χρόνο µεταξύατόµωνπουβρίσκονταισεδιαφορετικέςτοποθεσίες. Στόχος Να δίνει την αίσθηση στους συνοµιλητές της άµεσης οπτικοακουστικής επικοινωνίας που διατηρεί τη φυσικότητα και τον αυθορµητισµό µιας πρόσωπο µε πρόσωπο επικοινωνίας. 4
Τηλεδιάσκεψη - Χρήση Χρησιµοποιείται από οµάδες προκειµένου να επικοινωνήσουν µεταξύ τους για συνεργασία, ανταλλαγήιδεών, απόκτησηπληροφοριών, σύγχρονη εκπαίδευση και διαχείρισηοργανισµώνκ.α.. 5 Ροή Πολυµέσων Τι περιλαµβάνει ο όρος τεχνολογίες ροής συστήµαταυλικού (hardware), λογισµικό (software), πρωτοκόλλα επικοινωνίας και σχηµάτων κωδικοποίησης πολυµεσικού περιεχοµένου και ροών Πολυµεσικές ροές ίσον Ροές (streams) βίντεο και ήχου Τι σηµαίνει ο όρος συγχρονισµός περιεχοµένου Παράλληλη µετάδοση στατικών εικόνων 6
Ροή Πολυµέσων - Κατηγορίες Live Streaming -πραγµατικόχρόνο (real time) «ζωντανή» µετάδοση ενός γεγονός, µίας εκδήλωσης Video on Demand -µηπραγµατικόχρόνο (non real time) περιεχόµενο που έχει καταγραφεί και µεταδίδεται σε δεύτερο χρόνο µετάδοση ανάλογη της τηλεοπτικής εκποµπής µετάδοση κατά απαίτηση (on demand) 7 Ροή Πολυµέσων - Αρχιτεκτονική 1 2 3 Internet 4 Source Encoder Server 1 Σήµα audio/video 2 3 4 Ψηφιοποιηµένο σήµα (unicast) Ψηφιοποιηµένα σήµατα unicast ή multicast (live/on demand) Ψηφιοποιηµένο σήµα unicast ή multicast 8
Πηγές video Όσο καλύτερο είναι το σήµα εισόδου, τόσο καλύτερη θα είναι η ψηφιοποίηση, ανεξάρτητα από το bitrate Κατάταξη πηγών σήµατος φθίνουσας ποιότητας (σε παρένθεση το σύνηθες interface): Beta (Component Video) προσοχή: πολύακριβό DV (FireWire) S-VHS (S-video) VHS (Composite) προσοχή: πολύφτηνό PAL capture devices (704x576) 25 frames/sec Βέλτιστηψηφιοποίηση 352x288 (1/4 - CIF)ή176x144 (1/16 QCIF). Η αλλαγή του λόγου πλευρών καλό είναι να αποφεύγεται εκτός εάν υπάρχει ειδική επιλογή στο software 9 Πηγές audio Unbalanced: τα κοινά audio σήµατα που έχουµε στον υπολογιστή µας (2 επαφές/καλώδια για κάθε κανάλι) Balanced: Σήµατα συνήθως από µικρόφωνα ή κονσόλα που περιέχουνκαιφέρουσατάση (3 επαφέςγιακάθεσήµα) Mic level: απαιτούνεισόδουςυψηλήςευαισθησίας (100 µv) γιατί είναι πολύ αδύναµα Line level: απαιτούνεισόδουςχαµηλήςευαισθησίας (100mV). Στα περισσότερα συστήµατα Hi-Fi τέτοιο είναι το σήµα που οδηγείται στον τελικό ενισχυτή. Συνίσταται η χρήση ενός µείκτη για τη δηµιουργία του σήµατος εισόδου, έστω και µικρού (~150 ) γιατί οι κάρτες ήχου δεν προσφέρουν επαρκές εύρος διακύµανσης της έντασης 10
Παραδείγµατα Balanced Mixer Unbalanced 11 Αϖαιτήσεις αϖοθηκευτικού χώρου Πρακτικός κανόνας: Χώροςσε Mbytes = bitrateσε Kbps / 2 Π.χ. για ρυθµό 1Μbps χρειαζόµαστε περίπου 500ΜΒ αποθηκευτικού χώρου ανά ώρα Ο σκληρός δίσκος ενός κωδικοποιητή και ενός server θα πρέπει να είναι defragmented κατά το δυνατόν Οι κοινοί ATA/100 δίσκοι είναι επαρκείς για τις περισσότερες εφαρµογές Οι δίσκοι SCSI είναι χρήσιµοι όταν απαιτείται επεξεργασία και διακίνηση µεγάλων αρχείων (υψηλά bitrates) Το RAID (1 ή 5) είναι χρήσιµο για servers κυρίως 12
ιαδικτυακές Πολυµεσικές Εφαρµογές Πρώτες µορφές επικοινωνίας E-Mail Mailing Lists Forums Internet Relay Chat (IRC) Video Conference Ολοένα αναπτυσσόµενες µορφές Instant Messengers Voice & Video Capable Blogs Vlogs VoIP In-Game chat 13 Χαρακτηριστικά εφαρµογών ϖολυµέσων Οι εφαρµογές πολυµέσων είναι delay sensitive!!! Οι περισσότερες εφαρµογές πολυµέσων είναι losstolerant!!! Κατηγορίες εφαρµογών πολυµέσων Streaming stored audio and video Streaming live audio and video Real-time interactive video 14
Χαρακτηριστικά εφαρµογών ϖολυµέσων Streaming Stored Audio & Video 3 κύριαχαρακτηριστικά Stored media Response time 1 to 10 seconds απότηνστιγµήπουδόθηκετο client request Streaming RealPlayer, QuickTime, Windows Media Player Continuous Playout Από τι στιγµή που ξεκινά το playout, δεν πρέπει να υπάρξουν διακοπές ή χρονικές αλλαγές Streaming Live Video & Audio Παρόµοιοµετοπαραδοσιακό broadcasting of audio / video, αλλάη µετάδοση γίνεται µέσω διαδικτύου εν υπάρχει η δυνατότητα fast-forward!!! 15 Χαρακτηριστικά εφαρµογών ϖολυµέσων Real-Time Interactive Audio/Video Γνωστόκαισαν: internet phone NetMeeting, Instant Messenger, Skype, Oovoo etc. Τα TCP, UDP δεν παρέχουν εγγυήσεις για την καθυστέρηση στο δίκτυο Εννοείται ότι τα δεδοµένα πρέπει να είναι συµπιεσµένα Το επίπεδο της συµπίεσης να είναι ανάλογο του διαθέσιµου bandwidth Χρήση UDP για αποφυγή του φαινοµένου slow-start του TCP Χρήση buffer στον παραλήπτη για να οµαλοποιηθεί το jitter Το κάθε πακέτο να περιέχει timestamp ώστε ο παραλήπτης να ξέρει πότε να τα µεταδώσει. Αποστολή επιπρόσθετων πακέτων για αντικατάσταση αυτών που χάνονται 16
Streaming Stored Audio & Video Ο client ζητά το συµπιεσµένο audio/video Ο server ξεκινά να διασπά το ζητούµενο αρχείο σε πακέτα, προσθέτει τα απαραίτητα headers, και τα στέλνει στο δίκτυο RTP (Real-Time Protocol) πρωτόκολλογιατα headers Ο client λαµβάνει τα πακέτα και ξεκινά την παρουσίαση του περιεχοµένου µετά από λίγα δευτερόλεπτα. Η αλληλεπίδραση client - server επιτυγχάνεται µε το RTSP (Real-time Streaming Protocol) 17 Streaming Stored Audio & Video [2] Οιχρήστεςζητούντο audio/video file µέσωενός web client (web browser) Υπάρχει ενσωµατωµένη εφαρµογή (π.χ. Media Player) για την παρουσίαση (playout) του περιεχοµένου Ηεφαρµογήαυτήκάνει Decompression Αφαίρεση του Jitter ιόρθωση σφαλµάτων Το αποθηκευµένο audio/video µπορεί να βρίσκεται σε web server / streaming server 18
Streaming Stored Audio & Video [3] Αποστολή µέσω web server Το Audio/video file στον web server είναιένα κοινό object στο file system του server (π.χ. όπωςένα HTML file/jpeg File) Ηαπλήαυτήαρχιτεκτονικήδουλεύειωςεξής: Ο Browser δηµιουργεί σύνδεση TCP µε το server καιζητάένα audio/video file µέσω ενός HTTP µηνύµατος Ο Web server στέλνειτο audio/video file σε HTTP response messageστοοποίο περιέχεται και ο τρόπος κωδικοποίησης των Audio/Videoδεδοµένων Ο Client αναλύει το περιεχόµενο και ξεκινάτηνβοηθητικήεφαρµογή (Media Player) Ο Media Player ξεκινά την παρουσίαση (Playout) 19 Streaming Stored Audio & Video [2] Web Server sending audio/video file directly to Media Player Εναλλακτική λύση: σύνδεση µεταξύ server και player Ο Web browser ζητά και παραλαµβάνει ένα meta file (αρχείο που περιγράφει το αντικείµενο µας) και όχι το περιεχόµενο του αρχείου; Στην περιγραφή καθορίζεται η εφαρµογή που θα χρησιµοποιηθεί Ο Browser ξεκινά το media player και του δίνει το meta file Ο Player δηµιουργείένα TCP connection µετο server καιστέλνει HTTP request Σηµαντικό: ΤοΗTTP δενεπιτρέπειµεευκολίατιςεντολές pause/resume, FFwd, Jump!!! 20
Streaming Stored Audio & Video [6] Αποστολή µέσω streaming server Ο Streaming server µπορείναείναι proprietary (π.χ. Microsoft, Real networks ) ήανοικτόλογισµικό Το audio και το Video στέλλονται µε UDP Αυτή η αρχιτεκτονική απαιτεί 2 servers HTTP server (serves web pages, meta files ) Streaming Server (serves audio/video files) Ο media player επικοινωνείκατευθείανµετον streaming server µε ειδικά σχεδιασµένα πρωτόκολλα. 21 Streaming Stored Audio & Video [7] Streaming from a streaming server to a Media Player 22
Streaming Stored Audio & Video [8] Το Client buffer γεµίζει µε rate x(t) καιαδειάζειµε rate d Επιλογέςαποστολής audio & video Σταθερό rate µέσω UDP:Γιανααποφύγουµετιςεπιπτώσειςτων jitter, buffer και delay playback για 1-10 s. Transmit rate = d, the encoded rate. Το x(t) ισούταιµετο d εκτόςανέχουµεαπώλειεςπακέτων. Μέσω TCP, µεαποστολήπακέτωντοταχύτεροδυνατό:το TCP ξαναστέλνει δεδοµένα όταν υπάρχουν απώλειες. Το x(t) µεταβάλλεται και µπορεί να γίνει µεγαλύτερο του d. Ο Player µπορεί να χρησιµοποιήσει πολύ µεγάλο buffer για να εξασφαλίσει την οµαλή παράδοση (αρα και παρουσίαση στο χρήστη) 23 Πρωτόκολλο RTSP Real-Time Streaming Protocol Πρωτόκολλοεπικοινωνίαςτου Media Player & του streaming server για ανταλλαγή µηνυµάτων ελέγχου της µετάδοσης δεδοµένων (playback control) Τι ΕΝελέγχειτο RTSP: εν καθορίζει πως διαµοιράζονται τα δεδοµένα σε πακέτα πριν σταλούν στο δίκτυο ενπεριορίζειτηχρήσηείτετου UDP είτετου TCPγιατη µεταφορά των πακέτων δεδοµένων στο δίκτυο ενκαθορίζειτοντρόποπουοπαραλήπτης (media player) κάνει buffering 24
RTSP [2] Web browser HTTP GET presentation desc. SETUP PLAY Web server media player media stream PAUSE media server TEARDOWN client server 25 RTSP [3] 1. Ο Web browser ζητά από τον web server το αρχείο που περιγράφει τα δεδοµένα 2. Ο Web server στέλνει το αρχείο περιγραφής στον Web browser 3. Ο Browser δίνει εντολή εκκίνησης στον media player µε βάση το είδος των δεδοµένων που θα µεταδοθούν 1. Οι αναφορές στα media streams ξεκινούν µε rtsp:// 4. Ο Player στέλνει την εντολή RTSP SETUP στον streaming server 5. Ο Streaming server απαντάµε RTSP OK 6. Ο Player στέλνει µήνυµα RTSP PLAY 7. Ο Streaming server απαντά µε µήνυµα RTSP OK & και ξεκινά την αποστολή δεδοµένων ήχου / εικόνας στο δίκτυο 8. Μετηνολοκλήρωσητηςµετάδοσης, ο Player στέλνειµήνυµα RTSP TEARDOWN 9. Ο Server απαντά µε RTSP OK 26
Best-effort service (υϖηρεσία καλύτερης ϖροσϖάθειας) Το Network layer protocol (IP)προσπαθείνα µετακινήσει τα πακέτα δεδοµένων από τον αποστολέα στον παραλήπτη Καµία εγγύηση για End-to-end delay Jitter Packet loss Αντο delay καιτο Jitter δενείναιψηλάτότεηποιότηταµπορείνα προστατευθεί Το Internet phone και το conferencing έχουν απαιτήσεις σχετικά µε το χρόνο παράδοσης των πακέτων δεδοµένων 27 Best-effort service [2] Ενδεικτικήεφαρµογή : Internet phone Ο οµιλητής δηµιουργεί δεδοµένα που αποτελούνται από ήχο (λέξεις-φράσεις) (talk spurts) και περιόδους µη οµιλίας (silence) Η εφαρµογή δηµιουργεί πακέτα µόνο όταν υπάρχει οµιλία (8000 bytes per second) Κάθε 20 milliseconds ο αποστολέας οµαδοποιεί τα δεδοµέναανα 160 bytes (Chunk) Σε κάθε chunk µπαίνει µία ειδική επικεφαλίδα (header) Το chunk και η επικεφαλίδα περικλείονται σε ένα πακέτο UDP Έχουµε δηλαδή ένα νέο πακέτο κάθε 20 milliseconds 28
Best-effort service [3] Το κάθε πακέτο ταξιδεύει στο δίκτυο και φτάνει στον προορισµό του µετά από κάποιο χρονικό διάστηµα Μερικά πακέτα µπορεί να χαθούν Μερικά µπορεί να υποστούν διαφορετική καθυστέρηση Άραταπακέταµίαςφράσηςίσωςδενφτάσουνόλαµε 20ms διαφορά Ο παραλήπτης πρέπει να αποφασίσει τι θα κάνει για ταπακέταπουχάθηκανκαιπότεπρέπεινααρχίσειτο playout των πακέτων που έχει λάβει 29 Best-effort service - Περιορισµοί Απώλεια πακέτων (Packet Loss) Κάθε πακέτο UDP ενσωµατώνεται σε IP datagram και στέλνεται προς τον προορισµό του Το IP datagram µπορεί να χαθεί Το TCP µπορεί να επιλύσει αυτό το πρόβληµα Όταν διαπιστωθεί packet loss το TCP µειώνει τη συχνότητα µετάδοσης (transfer rate) µέχρι να επανέλθει η οµαλή λειτουργία του δικτύου Άρα το UDP προτιµείται παρά την πιθανότητα απωλειών Packet loss µεταξύ 1%και 20%µπορείναείναιανεκτό percent depending how the loss is concealed at the receiver Ηµέθοδοςτου FEC (Forward Error Correction) βοηθάστην απόκρυψηενόςποσοστούαπώλειας. Αν το loss υπερβεί το 20%, το stream ίσως δεν είναι ικανοποιητικής ποιότητας. 30
Best-effort service Περιορισµοί [2] Καθυστέρηση µεταφοράς (end-to-end delay) Η καθυστέρηση στη µεταφορά οφείλεται σε: Καθυστέρηση στη µετάδοση, στην επεξεργασία και στην αναµονή στην ουρά στους δροµολογητές (routers) Καθυστέρηση στα ενδιάµεσα links Καθυστέρηση στην επεξεργασία της εικόνας-ήχου Internet phone Η καθυστέρηση πρέπει να µην υπερβαίνει τα 150 milliseconds Τα 150-400 milliseconds είναι αποδεκτά αλλά όχι ιδανικά Καθυστέρηση µεγαλύτερη των 400 milliseconds πιθανό να επηρεάσει αισθητά την διαδραστικότητα Ο παραλήπτης των δεδοµένων µπορεί να απορρίψει τα πακέτα αν η καθυστέρηση ξεπερνά τα 400 milliseconds!!! 31 Ασφάλεια στο διαδίκτυο Απόκτηση πληροφοριών για το σύστηµα: Port Scanning Fingerprinting Μη εξουσιοδοτηµένη πρόσβαση Υποκλοπή κωδικών Λάθος διαµορφώσεις (ανοικτά συστήµατα) Από µη εξουσιοδοτηµένα σηµεία (π.χ. ανοιχτά σηµεία ασύρµατης πρόσβασης) ΕπιθέσειςΆρνησηςΥπηρεσίας (Denial of Service Attacks - DoS) Υποκλοπή και παραποίηση επικοινωνιών Packet sniffing "Man-in-the-Middle" attacks Κακόβουλο λογισµικό (malware) Ιοί, ούρειοι ίπποι (trojans) Αυτόµατα διαδιδόµενοι ιοί (worms) 52