|
||
Κεφάλαιο 21 Εισαγωγή Στην καθημερινότητα μας όταν σερφάρουμε στο διαδίκτυο πολύ συχνά θα ακούσουμε μουσική, θα δούμε κάποιο video στον ελεύθερο μας χρόνο, θα ζητήσουμε πρόσβαση σε έναν web stream ραδιοφωνικό σταθμό κοκ. Στο κεφάλαιο αυτό θα περιγράψουμε τις τεχνικές με τις οποίες πραγματοποιούνται τα παραπάνω καθώς και τα απαραίτητα πρωτόκολλα που χρησιμοποιούν. Κάνοντας streaming ένα αποθηκευμένο ήχο ή video
![]() Παράδειγμα streaming αρχείου ήχου με web server ![]() Παράδειγμα διακομιστή με ένα metafile αρχείο ![]() Παράδειγμα χρήσης media server ![]() Παράδειγμα χρήσης media server και RTSP Διαδραστικός ήχος και video σε πραγματικό χρόνο Οι άνθρωποι επικοινωνούν μεταξύ τους σε πραγματικό χρόνο. Το διαδικτυακό τηλέφωνο ή το voice over IP είναι παραδείγματα εφαρμογών πραγματικού χρόνου. Η τηλεδιάσκεψη (video conferencing) είναι επίσης άλλο ένα παράδειγμα εφαρμογής πραγματικού χρόνου. Προτού όμως αναφερθούμε τα πρωτόκολλα πραγματικού χρόνου θα αναφερθούμε στα χαρακτηριστικά που διαθέτουν αυτά τα οποία είναι τα εξής: Χαρακτηριστικά πρωτοκόλλων πραγματικού χρόνου: Χρονική σχέση (Time Relationship) Τα δεδομένα πραγματικού χρόνου σε ένα δίκτυο μεταγωγής πακέτων απαιτεί την διαφύλαξη της χρονικής σχέσης ανάμεσα στα πακέτα μιας συνόδου. Για παράδειγμα, ας υποθέσουμε ότι ένας διακομιστής video πραγματικού χρόνου δημιουργεί, live video εικόνες και τις στέλνει στο διαδίκτυο. Αυτό το video ψηφιοποιείται και τεμαχίζεται σε πακέτα, καθένα από τα οποία κρατάει 10 δευτερόλεπτα πληροφορίας του video. Το πρώτο πακέτο ξεκινά την χρονική στιγμή 00:00:00, το δεύτερο πακέτο ξεκινά την χρονική στιγμή 00:00:10 και το τρίτο πακέτο την χρονική στιγμή 00:00:20. Ας υποθέσουμε 2 δευτερόλεπτα για κάθε πακέτο για να φτάσει στον τελικό του προορισμό. Ο παραλήπτης μπορεί να αναπαράγει το πρώτο πακέτο στο χρονικό διάστημα 00:00:01, το δεύτερο στο χρονικό διάστημα 00:00:11 και το τρίτο πακέτο στο χρονικό διάστημα 00:00:21. Παρόλα αυτά υπάρχει διαφορά ενός δευτερολέπτου ανάμεσα σε αυτό που στέλνει ο διακομιστής και σε αυτό που βλέπει ο πελάτης στην οθόνη του υπολογιστή του. Η παρακάτω εικόνα αποτυπώνει αυτό το παράδειγμα. ![]() Χρονική σχέση πακέτων μεταξύ πελάτη (client) και διακομιστή (server) Χαρακτηριστικά πρωτοκόλλων πραγματικού χρόνου: Jitter Τι θα συμβεί όμως αν υπάρξει καθυστέρηση στα πακέτα που μεταδίδονται ; Για παράδειγμα ας υποθέσουμε ότι το πρώτο πακέτο φτάνει το χρονικό διάστημα 00:00:01 (καθυστέρηση 1 δευτερολέπτου), το δεύτερο φτάνει το χρονικό διάστημα 00:00:15 (καθυστέρηση 5 δευτερολέπτων) και το τρίτο φτάνει το χρονικό διάστημα 00:00:27 (καθυστέρηση 7 δευτερολέπτων). Ο παραλήπτης μπορεί να αναπαράξει το πρώτο πακέτο στο χρονικό διάστημα 00:00:01 το οποίο και θα τερματίσει στο χρονικό διάστημα 00:00:11. Παρόλα αυτά το επόμενο πακέτο θα φτάσει στο χρονικό διάστημα 00:00:15, δηλαδή 5 δευτερόλεπτα αργότερα απο την λήξη του πρώτου πακέτου. Οπότε υπάρχει ένα χρονικό κενό ανάμεσα στο πρώτο και το δεύτερο πακέτο. Αυτό το φαινόμενο αποκαλείται Jitter. Η παρακάτω εικόνα αποτυπώνει ένα τέτοιο παράδειγμα. ![]() Φαινόμενο Jitter στην επικοινωνία Χαρακτηριστικά πρωτοκόλλων πραγματικού χρόνου: Χρονοσφραγίδες (timestamps) Οι χρονοσφραγίδες από μόνες τους δεν μπορούν να ενημερώσουν τον παραλήπτη αν ένα πακέτο έχει χαθεί. Για παράδειγμα ας φανταστούμε τις χρονοσφραγίδες 0, 10 και 20. Εάν το δεύτερο πακέτο χαθεί, ο παραλήπτης λαμβάνει μόνο δύο πακέτα με τις χρονοσφραγίδες 0 και 20. Ο παραλήπτης υποθέτει ότι το πακέτο με την χρονοσφραγίδα 20 είναι το δεύτερο πακέτο, που παράχθηκε μετά από το 1ο πακέτο. Ο παραλήπτης δεν γνωρίζει ότι το 2ο πακέτο έχει χαθεί. Οπότε λοιπόν οι αριθμοί ακολουθίας χρειάζονται σε τέτοιες περιπτώσεις. Οπότε με αυτόν τον τρόπο δεν θα υπάρχουν χρονικά κενά μεταξύ των πακέτων. Η παρακάτω εικόνα αποτυπώνει αυτό το παράδειγμα. ![]() Χρήση χρονοσφραγίδων (timestamps) στην επικοινωνία Απαιτούμενα χαρακτηριστικά για τα πρωτόκολλα πραγματικού χρόνου Γενικές πληροφορίες για το RTP και το RTCP Αναπτύχθηκαν προκειμένου να καλύψουν υπηρεσίες πραγματικού χρόνου (για παράδειγμα πολυμεσικές υπηρεσίες όπως video και ήχος). Ο αρχικός τους σχεδιασμός βασιζόταν για multicast επικοινωνίες, στην συνέχεια όμως χρησιμοποιήθηκαν και για unicast επικοινωνία. Μπορούν να χρησιμοποιηθούν για μονόδρομη επικοινωνία (Video on Demand - VoD) και για αμφίδρομη επικοινωνία (Video Conference). Τελευταία ενημέρωση: 23/02/2017 |
||
|
☰ | |