ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ



Σχετικά έγγραφα
Συνεχής ροή πολυµέσων

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

Συστήματα Πολυμέσων. Ενότητα 17: Διανομή Πολυμέσων - Πρωτόκολλα πραγματικού χρόνου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

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

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

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1

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

ΠΤΥΧΙΑΚΗ. Θέμα πτυχιακής: Voice over IP. Ονοματεπώνυμο: Κόκκαλη Αλεξάνδρα

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

Υπηρεσίες δικτύου και πρωτόκολλα για πολυμεσικές επικοινωνίες

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

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

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

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

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

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

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

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Υπηρεσίες Πολυµέσων στο ιαδίκτυο

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

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

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 11: RTSP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών»

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

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

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

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

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

7.11 Πρωτόκολλα Εφαρµογής Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

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

Network Address Translation (NAT)

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

ΤΗΛΕΜΑΤΙΚΗ ΚΑΙ ΝΕΕΣ ΥΠΗΡΕΣΙΕΣ

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

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

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

Ποιότητα μετάδοσης πολυμεσικού περιεχομένου στο διαδίκτυο

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Εγγυημένη ποιότητα υπηρεσίας

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

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

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

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

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

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

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

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

ΠΟΛΥΜΕΣΑ ΣΤΟ ΙΑ ΙΚΤΥΟ

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

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

ΤΕΧΝΟΛΟΓΙΑ ΤΗΣ ΕΠΙΚΟΙΝΩΝΙΑΣ. VoIP H.323 / SIP. Ιωάννης Αναγνωστόπουλος

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

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

Voip Εφαρμογές και Ποιότητα Υπηρεσιών. Κεφαλέας Νικόλαος Μανικάκης Ιωάννης

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Νέες Επικοινωνιακές Τεχνολογίες

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

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

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

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

Αποµακρυσµένη κλήση διαδικασιών

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

Εργαστήριο ίκτυα Η/Υ ΙΙΙ

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

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

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

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

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

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Κεφάλαιο 3.3: Δίκτυα. Επιστήμη ΗΥ Κεφ. 3.3 Καραμαούνας Πολύκαρπος

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

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

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

Πολυμέσα σε Δίκτυα Κινητών Συσκευών

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

Εισαγωγή στις τεχνολογίες μετάδοσης

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

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Δίκτυα Τηλεπικοινωνιών. και Μετάδοσης

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

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 10: RTP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών»

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

Αριστοµένης Μακρής Εργαστήρια Η/Υ

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

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

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

Εφαρμογές των πολυμέσων

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

Transcript:

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

«Η δουλειά επεκτείνεται έτσι ώστε να καταλάβει όλο το χρόνο που διατίθεται για την ολοκλήρωσή της» Νόµος του Πάρκινσον

Περιεχόµενα Πρόλογος 3 Κεφάλαιο 1 ο Εισαγωγικές έννοιες 1.1 - Εισαγωγή 5 1.2 Φωνή µέσω IP (VoIP) 5 1.3 Μετάδοση packet voice 6 1.4 Πλεονεκτήµατα του VoIP έναντι του PSTN 7 1.5 Εξέλιξη του VoIP 9 1.6 Συγκεντρωµένες και κατανεµηµένες αρχιτεκτονικές 10 1.7 Τα πρωτόκολλα του VoIP 12 1.7.1 - H.323 12 1.7.2. - SIP (Session Initiation Protocol) 15 1.7.3 - MGCP/Η.248/Megaco 18 1.8. ιασύνδεση των δικτύων VoIP 19 1.9 Ποιότητα υπηρεσιών (QoS) 20 Κεφάλαιο 2 RTP/RTCP 2.1 Εισαγωγή 23 2.2 Ορισµοί 25 2.3 To RTP (Real-time Transport Protocol) 28 2.3.1 Η κεφαλίδα (header) του RTP 28 2.3.2 Πολύπλεξη συνόδων RTP 32 2.4 To RTCP (Real-time Control Protocol) 33 2.4.1 Αναφορές αποστολέα και παραλήπτη 37 2.4.1.1 SR Πακέτο RTCP αναφοράς αποστολέα 38 2.4.1.2 RR Πακέτο RTCP αναφοράς παραλήπτη 43 2.4.1.3 Στατιστικές πληροφορίες που µπορούν να ανακτηθούν από τα SR και RR 43 2.4.2 SDES Πακέτο RTCP περιγραφής πηγής 46 2.4.3 BYE Πακέτο RTCP «Αντίο» 48 Κεφάλαιο 3 Αλγόριθµοι συµπίεσης Ποιότητα υπηρεσιών 3.1 Εισαγωγή 50 3.2 Αλγόριθµοι κωδικοποίησης ήχου/βίντεο 51 3.2.1 Αλγόριθµοι κωδικοποίησης ήχου 52-1 -

3.2.1.1 Γενικά 52 3.2.1.2 Σηµαντικοί αλγόριθµοι κωδικοποίησης ήχου 54 3.2.2 Αλγόριθµοι κωδικοποίησης βίντεο 56 3.3 Καθυστέρηση 58 3.3.1 Γενικά 58 3.3.2 Πηγές καθυστέρησης 59 3.4 Αξιολόγηση ποιότητας υπηρεσιών 68 Κεφάλαιο 4 Προγραµµατιστικό µέρος 4.1 Εισαγωγή 73 4.2 Βασικές κλάσεις του JMF 74 4.2.1 - Κλάση Manager 74 4.2.2 Κλάση SessionManager ή RTPManager 78 4.2.2 Το µοντέλο Event του JMF 79 4.2.3 - Κλάση Format 81 4.3 Το πακέτο inconference 81 4.3.1 Κλάση AVTransmit 83 4.3.2 Κλάση AVReceive 86 4.3.3 Κλάση fullduplex 87 4.4 Πρόγραµµα ανάκτησης πειραµατικών δεδοµένων 88 Κεφάλαιο 5 Ανάλυση πειραµατικών δεδοµένων-αξιολόγηση 5.1 Εισαγωγή 90 5.2 Υπολογισµός συνολικής καθυστέρησης 91 5.3 Υπολογισµός του ποσοστού απώλειας πακέτων 91 5.4 Υπολογισµός jitter 92 5.5 - Υπολογισµός ρυθµαπόδοσης (throughput) 95 5.6 Μετρήσεις Παρουσίαση αποτελεσµάτων Αξιολόγηση 95 5.7 Γενικές παρατηρήσεις 116 Κεφάλαιο 6 Συµπεράσµατα Προτάσεις 6.1 Συµπεράσµατα 117 6.2 Προτάσεις περεταίρω µελέτης 119 Βιβλιογραφία 120-2 -

Πρόλογος Η παρούσα διπλωµατική εργασία αποσκοπεί στην προσέγγιση του θέµατος της µετάδοσης δεδοµένων πραγµατικού χρόνου µέσω δικτύων µεταγωγής πακέτων και πιο συγκεκριµένα µέσω του δηµόσιου Internet. Στο 1 ο κεφάλαιο γίνεται µια εισαγωγή στη µετάδοση φωνής µέσω πακέτων και αναλύονται τα πλεονεκτήµατά της έναντι της παραδοσιακής τεχνολογίας του τηλεφωνικού δικτύου. Έπειτα παρουσιάζονται τα πρωτόκολλα του VoIP και οι αντίστοιχες τοπολογίες δικτύου που ορίζουν. Τέλος, γίνεται αναφορά στα ζητήµατα που αφορούν την ποιότητα υπηρεσιών κατά τη µετάδοση δεδοµένων πραγµατικού χρόνου. Στο 2 ο κεφάλαιο παρουσιάζεται το πρωτόκολλο µεταφοράς RTP και το πρωτόκολλο ελέγχου του RTP (το RTCP). Στο 3 ο κεφάλαιο παρουσιάζονται οι ευρέως χρησιµοποιούµενοι αλγόριθµοι κωδικοποίησης και αποκωδικοποίησης ήχου και βίντεο. Στη συνέχεια γίνεται εκτενής ανάλυση των παραγόντων που επηρεάζουν την ποιότητα υπηρεσιών και προτείνονται λύσεις ώστε αυτή να εξασφαλιστεί. Τέλος, γίνεται αναφορά στην αξιολόγηση της φωνητικής επικοινωνίας µέσω δικτύων µεταγωγής πακέτων. Το 4 ο κεφάλαιο περιέχει µια σύντοµη παρουσίαση του πακέτου JMF που χρησιµοποιείται για την ανάπτυξη εφαρµογών πραγµατικού χρόνου σε Java και ακολουθεί η περιγραφή της εφαρµογής inconference που αναπτύχθηκε στα πλαίσια αυτής της εργασίας για αµφίδροµη επικοινωνία ήχου και βίντεο µέσω IP. Στο 5 ο κεφάλαιο παρουσιάζονται πειραµατικά δεδοµένα που ανακτήθηκαν µε προσοµοίωση για διάφορα κανάλια επικοινωνίας και γίνεται η αντίστοιχη αξιολόγηση της ποιότητας επικοινωνίας. Το 6 ο κεφάλαιο περιέχει τα συµπεράσµατα της εργασίας και προτάσεις περεταίρω µελέτης. Θα ήθελα να ευχαριστήσω θερµά τον κ ηµήτρη Μητράκο για την καθοριστική καθοδήγησή του και την εποπτεία αυτής της εργασίας. Ακόµη, το συνάδελφο και φίλο Βασίλη Μανωλόπουλο για την αµέριστη βοήθειά του όπου χρειάστηκε και για τη - 3 -

συµβολή του στη διεξαγωγή των πειραµάτων, το συνάδελφο και φίλο Γιώργο αγκάκη για τις πολύτιµες συµβουλές του και τον αγαπηµένο µου αδελφό Τάσο Παπαγεωργίου για τη συµβολή του στη δοκιµή της λειτουργίας της εφαρµογής inconference και στη διεξαγωγή των πειραµάτων. Χρυσόστοµος Παπαγεωργίου - 4 -

Κεφάλαιο 1 ο Εισαγωγικές έννοιες 1.1 - Εισαγωγή Το παραδοσιακό τηλεφωνικό δίκτυο υπάρχει εδώ και πάνω από έναν αιώνα, παρέχοντας τηλεφωνικές υπηρεσίες σε εκατοµµύρια ανθρώπους σε όλο τον κόσµο. Οι υπηρεσίες αυτές χαρακτηρίζονται από τη συνεχώς βελτιούµενη ποιότητα και το συνεχώς µειούµενο κόστος. Νέα χαρακτηριστικά υπηρεσιών, νέοι µέθοδοι πρόσβασης και νέα πρωτόκολλα έχουν εισαχθεί όλα αυτά τα χρόνια. Παρόλα αυτά, το τηλεφωνικό δίκτυο έχει γίνει πλέον αρκετά πολύπλοκο, ο εξοπλισµός που απαιτείται ακριβός, ενώ χρειάζεται πολύ χρόνο για την προσθήκη νέων υπηρεσιών. Την τελευταία δεκαετία, η βιοµηχανία των τηλεπικοινωνιών έγινε µάρτυρας ραγδαίων αλλαγών στον τρόπο που οι άνθρωποι και οι οργανισµοί επικοινωνούν. Πολλές από αυτές τις αλλαγές πηγάζουν από την αλµατώδη ανάπτυξη του ιαδικτύου (Internet) και των εφαρµογών που βασίζονται στο πρωτόκολλο του Internet (Internet Protocol IP). Το Internet έχει γίνει ένα ευρέως διαδεδοµένο µέσο επικοινωνίας και η συνολική ποσότητα τηλεπικοινωνιακής κίνησης σε δίκτυα που βασίζονται σε διακίνηση «πακέτων» πληροφορίας (packet-based networks) όπως το Internet- έχει γρήγορα ξεπεράσει την αντίστοιχη τηλεπικοινωνιακή κίνηση των παραδοσιακών τηλεφωνικών δικτύων, που βασίζονται σε κυκλωµατική µεταγωγή (circuit switched networks). 1.2 Φωνή µέσω IP (VoIP) Με την απαρχή αυτής της τεχνολογικής προόδου, έγινε σαφές στις εταιρείες τηλεπικοινωνιών ότι οι υπηρεσίες φωνής θα ήταν κάποιες από τις βασικότερες εφαρµογές που θα εκµεταλλεύονταν πλήρως το Internet. Αυτή η προσδοκία βασίζεται στον αντίκτυπο ενός νέου συνόλου τεχνολογιών που γενικά αναφέρεται ως «Φωνή µέσω του πρωτοκόλλου του Internet» -Voice over IP (VoIP) ή IP telephony. (Στη συνέχεια αυτού του κειµένου θα υιοθετηθούν οι παραπάνω ξενόγλωσσοι όροι). Βέβαια οι δύο παραπάνω όροι επιδέχονται κάπως διαφορετικές ερµηνείες. Έτσι: Ο όρος Voice over Internet Protocol (VoIP) είναι πιο γενικός και αναφέρεται σε όλους τους τύπους φωνητικής επικοινωνίας που χρησιµοποιούν την τεχνολογία του πρωτοκόλλου του Internet (IP) αντί για την παραδοσιακή τεχνολογία κυκλωµατικής µεταγωγής. - 5 -

Η τηλεφωνία µέσω Internet (Internet telephony) που αποκαλείται και Voice over the Internet (VoN), είναι µια υπηρεσία που οι τελικοί χρήστες αποφασίζουν να χρησιµοποιήσουν. Είναι µια εξειδικευµένη µορφή του VoIP, στην οποία µια κανονική τηλεφωνική κλήση µεταδίδεται µέσω του δηµοσίου Internet, παρακάµπτοντας όλο ή µέρος του κλασικού τηλεφωνικού δικτύου (Public Switched Telephone Network PSTN). Η τηλεφωνία µέσω Internet µπορεί να λάβει χώρα µεταξύ υπολογιστών, τηλεφώνων ή τηλεφώνουυπολογιστή. Σηµασία έχει ότι οι τεχνολογίες που χρησιµοποιούνται και στις δύο περιπτώσεις είναι κατά βάση κοινές. Εποµένως στη συνέχεια του παρόντος κειµένου θα αναφερόµαστε στο VoIP, που είναι πιο γενικός (και πιο εµπορικός) όρος. 1.3 Μετάδοση packet voice Για αρχή, ας δούµε εν συντοµία πώς πραγµατοποιείται η µετάδοση φωνής µέσω του Internet. Βήµα 1 ο : Επειδή όλες οι µεταδόσεις πρέπει να είναι ψηφιακές, η φωνή του καλούντος ψηφιοποιείται. Αυτό µπορεί να γίνει από την εταιρεία τηλεφώνου, από έναν πάροχο Internet (Internet Service Provider ISP) ή ακόµα από έναν προσωπικό υπολογιστή (PC). Βήµα 2 ο : Στη συνέχεια, µε χρήση πολύπλοκων αλγορίθµων, η ψηφιακή φωνή συµπιέζεται, τεµαχίζεται σε πακέτα και χρησιµοποιώντας το IP, τα πακέτα διευθυνσιοδοτούνται και στέλνονται στο δίκτυο για να επανασυναρµολογηθούν στον προορισµό τους. Πάλι, αυτή η συναρµολόγηση µπορεί να γίνει από την τηλεφωνική εταιρία, τον ISP ή από ένα PC. Βήµα 3 ο : Κατά τη διάρκεια της µετάδοσης στο Internet, κάποια πακέτα µπορεί να χαθούν, να καθυστερήσουν ή να καταστραφούν. Οι συµβατικές τεχνικές διόρθωσης λαθών θα απαιτούσαν την επαναµετάδοση των χαµένων ή κατεστραµµένων πακέτων, αλλά αν η µετάδοση είναι επικοινωνία φωνής πραγµατικού χρόνου (realtime), είναι προφανές ότι αυτή η τεχνική δε θα δούλευε γιατί θα είχαµε σηµαντικές καθυστερήσεις. Έτσι, πολύπλοκα συστήµατα ανίχνευσης και διόρθωσης λαθών χρησιµοποιούνται για να παράγουν ήχο που θα γεµίσει τα κενά των χαµένων πακέτων. Αυτή η διαδικασία βασίζεται στην πρόβλεψη του χαµένου κοµµατιού ήχου - 6 -

και στην παραγωγή της κατάλληλης ηχητικής πληροφορίας ώστε η υποβάθµιση της ποιότητας επικοινωνίας να είναι κατά το δυνατόν µικρότερη. Βήµα 4 ο : Αφού τα πακέτα µεταδοθούν και φτάσουν στον παραλήπτη τους, η µετάδοση συναρµολογείται και αποσυµπιέζεται για να αποκατασταθούν τα δεδοµένα σε µία προσέγγιση της αρχικής τους µορφής. Προφανώς µετά τις διαδικασίες της συµπίεσης, αποσυµπίεσης και µερικής καταστροφής των πακέτων, κάποια πληροφορία θα έχει χαθεί και η τελική ηχητική κυµατοµορφή θα είναι παραµορφωµένη ως προς την αρχική. Όπως φαίνεται από τα παραπάνω, η τεχνολογία του Internet, δηλαδή ο τεµαχισµός σε πακέτα και η αποστολή τους που µπορεί να γίνει από διαφορετικές διαδροµές για κάθε πακέτο και µε διαφορετικές καθυστερήσεις λόγω του δικτύου, που κατεξοχήν χρησιµοποιείται για µεταφορές δεδοµένων, µάλλον δεν είναι ιδανική για µεταφορά φωνής σε πραγµατικό χρόνο. Η τεχνολογία βελτιώνεται, αλλά ακόµη η ποιότητα της µετάδοσης φωνής µε την τεχνολογία «πακέτου» είναι κατώτερη από αυτή µιας εγκαθιδρυµένης σύνδεσης από άκρο σε άκρο που επιτυγχάνεται µε την τεχνική µεταγωγής κυκλώµατος. Αυτή η διαφορά στην ποιότητα, συνήθως γίνεται αντιληπτή στον µέσο ακροατή. Καθώς η τεχνολογία του IP βελτιώνεται, σίγουρα η ψαλίδα της διαφοράς ποιότητας µετάδοσης φωνής µεταξύ των κλασικών δικτύων µεταγωγής κυκλώµατος και µεταγωγής πακέτων θα κλείνει, αλλά οι περισσότεροι ειδικοί θεωρούν ότι η πλήρης ισοτιµία ποιότητας θα αργήσει µερικά χρόνια. 1.4 Πλεονεκτήµατα του VoIP έναντι του PSTN Έτσι, εύλογα τίθεται το ερώτηµα γιατί η βιοµηχανία των τηλεπικοινωνιών κινείται εµφανώς προς την κατεύθυνση του VoIP, αντί να εµµείνει στη χρήση του παραδοσιακού τηλεφωνικού δικτύου. Παρακάτω, παρουσιάζονται µερικά από τα σηµαντικότερα πλεονεκτήµατα της τεχνολογίας VoIP έναντι του κλασικού PSTN. Μεγαλύτερη αποδοτικότητα: Η συµβατική τεχνολογία µεταγωγής κυκλώµατος του PSTN απαιτεί ένα κύκλωµα µεταξύ του διακόπτη της τηλεφωνικής εταιρείας και του πελάτη που θα είναι ανοιχτό και κατειληµµένο καθ όλη τη διάρκεια της κλήσης, ανεξάρτητα από τον όγκο της µεταδιδόµενης πληροφορίας. Αντίθετα, στα δίκτυα IP, όλο το περιεχόµενο ταξιδεύει µέσα στο δίκτυο σε πακέτα που κατευθύνονται στον προορισµό τους από διαφορετικές διαδροµές και έτσι µοιράζονται τους πόρους του πιο αποτελεσµατικά. Χαµηλότερο κόστος: Μετακινώντας την τηλεπικοινωνιακή κίνηση (φωνής) σε δίκτυα IP, οι εταιρείες µπορούν να µειώσουν ή και να εξαλείψουν τα κόστη - 7 -

που σχετίζονται µε τη µεταφορά των κλήσεων στο παραδοσιακό τηλεφωνικό δίκτυο (PSTN), ειδικά των κλήσεων σε µεγάλες αποστάσεις (υπεραστικές, εξωτερικού). Οι πάροχοι υπηρεσιών αλλά και οι τελικοί χρήστες µπορούν ακόµη να εξοικονοµούν εύρος ζώνης (bandwidth) επενδύοντας σε µεγαλύτερες χωρητικότητες µόνο όταν αυτό είναι αναγκαίο. Αυτό καθίσταται δυνατό χάρη στην κατανεµηµένη φύση του VoIP και από τα µειωµένα λειτουργικά έξοδα, αφού οι εταιρείες συνδυάζουν φωνή και δεδοµένα σε ένα (κοινό) δίκτυο. Μεγαλύτερη αξιοπιστία: Τηρουµένων των αναλογιών, τα δίκτυα µεταγωγής πακέτων προσφέρουν µεγαλύτερη αξιοπιστία έναντι των δικτύων µεταγωγής κυκλώµατος επειδή τα δίκτυα IP αυτόµατα επαναδροµολογούν τα πακέτα παρακάµπτοντας τα προβληµατικά σηµεία του δικτύου, όπως δροµολογητές (routers)/κόµβους που δε λειτουργούν σωστά ή κατεστραµµένες γραµµές µεταφοράς. Ακόµη, τα δίκτυα IP δεν βασίζονται σε ένα ξεχωριστό δίκτυο σηµατοδοσίας, που µπορεί να είναι ευάλωτο σε βλάβες. Ανοιχτά πρότυπα και υποστήριξη νέων τεχνολογιών: Υιοθετώντας ανοιχτά πρότυπα, τόσο οι επιχειρήσεις όσο και οι πάροχοι υπηρεσιών µπορούν να προµηθευτούν εξοπλισµό από πολλούς προµηθευτές και να εξαλείψουν την εξάρτησή τους από «πατενταρισµένες» λύσεις. Ακόµη, το πρωτόκολλο του Internet διέπεται από µη ιδιοκτησιακό (non-proprietary) καθεστώς, το οποίο έχει συµφωνηθεί από σχεδιαστές software και hardware, και µπορεί να χρησιµοποιηθεί ελεύθερα από τον καθένα. Αυτή η ανοιχτή αρχιτεκτονική του Internet επιτρέπει στις επιχειρήσεις, αλλά ακόµα και στους τελικούς χρήστες, να αναπτύξουν το δικό τους software ή hardware αρκεί να ταιριάζει στο υπάρχον δίκτυο. Αντίθετα, το δίκτυο µεταγωγής κυκλώµατος λειτουργεί ως κλειστό σύστηµα δυσκολεύοντας τους καινοτόµους σχεδιαστές να χτίσουν και να υλοποιήσουν νέες εφαρµογές. Ολοκληρωµένα δίκτυα φωνής και δεδοµένων: Κάνοντας τη φωνή «ακόµα µία εφαρµογή του IP», οι εταιρείες µπορούν να φτιάξουν πραγµατικά ολοκληρωµένα δίκτυα για φωνή και δεδοµένα. Αυτά τα ολοκληρωµένα δίκτυα όχι µόνο παρέχουν παραπλήσια ποιότητα και αξιοπιστία όπως του σηµερινού PSTN, αλλά επιτρέπουν στις εταιρείες να επωφεληθούν γρήγορα και ευέλικτα από τις νέες ευκαιρίες που ανοίγονται στο δυναµικό χώρο των επικοινωνιών. Το τελευταίο είναι ίσως το σηµαντικότερο πλεονέκτηµα όχι µόνο του VoIP, αλλά γενικά των δικτύων µεταγωγής πακέτων έναντι των δικτύων µεταγωγής κυκλώµατος, - 8 -

αφού πλέον είναι φανερή η ροπή προς τα δίκτυα ολοκληρωµένων υπηρεσιών (integrated services networks). Με άλλα λόγια, µέσω του ίδιου δικτύου (και µίας µόνο σύνδεσης σε αυτό), ο τελικός χρήστης θα έχει πρόσβαση τόσο στον παγκόσµιο ιστό (world wide web), σε υπηρεσίες ηλεκτρονικού ταχυδροµείου (e-mail) και στις άλλες γνωστές υπηρεσίες που µέχρι τώρα µας προσέφερε η τεχνολογία του Internet, αλλά και σε υπηρεσίες πραγµατικού χρόνου (real time services), όπως η τηλεφωνία µέσω IP (VoIP, IP telephony), το βίντεο µέσω Internet (Video over IP), οι βιντεοδιασκέψεις µέσω Internet (Video Conferences), το βίντεο κατ απαίτηση (Video on Demand VoD), η διαδραστική τηλεόραση (interactive TV) και πολλές άλλες υπηρεσίες που ίσως να µην έχουµε ακόµη φανταστεί. Στη συνέχεια του παρόντος κειµένου και κυρίως στα κεφάλαια που ακολουθούν θα γίνει γενικά αναφορά για τα δεδοµένα πραγµατικού χρόνου (φωνής και βίντεο), κυρίως διότι οι τεχνικές που χρησιµοποιούνται είναι παραπλήσιες τόσο για τη φωνή όσο και για το βίντεο. Ιδιαίτερη έµφαση θα δοθεί όµως στην µετάδοση φωνής αφενός γιατί η µετάδοση της φωνής µέσω του IP είναι αυτό που πρωτίστως απασχολεί σήµερα τον κόσµο της τεχνολογίας των επικοινωνιών και των δικτύων, αφετέρου για την πιο εύκολη κατανόηση των τεχνικών µετάδοσης ροών µέσων πραγµατικού χρόνου (real time media streaming). 1.5 Εξέλιξη του VoIP Τα πρώτα εµπορικά προϊόντα VoIP άρχισαν να βγαίνουν στη αγορά το 1995. Απευθύνονταν κυρίως σε εταιρείες που ήθελαν να µειώσουν τα έξοδά τους για τηλεπικοινωνίες, µεταφέροντας την τηλεπικοινωνιακή τους κίνηση σε δίκτυα µεταγωγής πακέτων, παρακάµπτοντας το τηλεφωνικό δίκτυο και τις χρεώσεις του. Χωρίς την ύπαρξη καθορισµένων προτύπων, οι πρώτες υλοποιήσεις βασίζονταν σε πατενταρισµένη τεχνολογία. Καθώς αυτά τα δίκτυα τηλεφωνίας µέσω πακέτων (packet telephony) µεγάλωναν και εµφανίστηκαν απαιτήσεις διασύνδεσής τους, έγινε σαφές ότι η βιοµηχανία είχε ανάγκη από κάποια ευρέως αποδεκτά πρωτόκολλα για την τεχνολογία VoIP. Αρκετές οµάδες εργασίας ανταποκρίθηκαν στην πρόκληση, καταλήγοντας σε ξεχωριστά πρότυπα, το καθένα µε τα δικά του µοναδικά χαρακτηριστικά. Πιο συγκεκριµένα, οι προµηθευτές δικτυακού εξοπλισµού και οι πελάτες τους αφήνονται να βρουν τις οµοιότητες και τις διαφορές µεταξύ τεσσάρων διαφορετικών πρωτοκόλλων του VoIP για τη σηµατοδοσία (signaling) και τον έλεγχο κλήσης (call-control): - 9 -

H.323 Media Gateway Control Protocol (MGCP) Session Initiation Protocol (SIP) H.248/Megaco Κατά τη διάρκεια της υλοποίησης λειτουργικών εφαρµογών VoIP, οι µηχανικοί δικτύων πρέπει να καθορίσουν πώς κάθε ένα από αυτά τα πρωτόκολλα λειτουργεί και ποιο είναι καταλληλότερο για συγκεκριµένα δίκτυα και εφαρµογές. Αν και υπάρχει η άποψη ότι µόνο ένας τρόπος υπάρχει για να δηµιουργήσει κανείς ένα δίκτυο πακετοποιηµένης φωνής και ότι κανονικά θα έπρεπε να υπάρχει µόνο ένα πρωτόκολλο για το VoIP στο οποίο όλοι θα έπρεπε να συµµορφώνονται, η αλήθεια είναι ότι πολλά πρωτόκολλα και αρχιτεκτονικές για το VoIP έχουν χρησιµοποιηθεί µέχρι τώρα µε επιτυχία και απ ότι φαίνεται θα συνεχίσουν να χρησιµοποιούνται και στο προσεχές µέλλον. Έτσι, το σωστό είναι ότι δεν υπάρχει «καλύτερο» ή «χειρότερο» πρωτόκολλο για το VoIP, αλλά το πρωτόκολλο που µπορεί να υποστηρίξει καλύτερα τις υπηρεσίες που θέλουµε να αναπτύξουµε. Επειδή κανένα δίκτυο δεν είναι ακριβώς ίδιο µε κάποιο άλλο και επειδή η κάθε τηλεπικοινωνιακή επιχείρηση συνήθως θέλει να αναπτύξει διαφορετικές υπηρεσίες, έγκειται στους µηχανικούς και στους προγραµµατιστές να επιλέξουν το πρωτόκολλο που ταιριάζει περισσότερο στις απαιτήσεις τους. 1.6 Συγκεντρωµένες και κατανεµηµένες αρχιτεκτονικές Πριν αναφερθούµε στα πρωτόκολλα του VoIP πιο αναλυτικά, ας προσπαθήσουµε να εξηγήσουµε τις έννοιες των συγκεντρωµένων και κατανεµηµένων αρχιτεκτονικών δικτύου. Στο παρελθόν, όλα τα δίκτυα φωνής οικοδοµούνταν βάσει µιας συγκεντρωµένης αρχιτεκτονικής στην οποία «άβουλα» τερµατικά (τηλέφωνα) ελέγχονταν από κεντρικούς διακόπτες. Παρά το γεγονός ότι αυτό το µοντέλο λειτούργησε ικανοποιητικά για τις βασικές τηλεφωνικές υπηρεσίες, επέβαλλε ένα συµβιβασµό µεταξύ της απλοποιηµένης διαχείρισης του δικτύου (που υπήρχε) και την ανάπτυξη καινοτόµων υπηρεσιών για τα τερµατικά (που ήταν δύσκολο να αναπτυχθούν). Ένα από τα πλεονεκτήµατα της τεχνολογίας VoIP είναι ότι επιτρέπει την ανάπτυξη δικτύων είτε µε συγκεντρωµένη είτε µε κατανεµηµένη αρχιτεκτονική. Αυτή η ευελιξία επιτρέπει στις εταιρείες τηλεπικοινωνιών να κατασκευάζουν δίκτυα που - 10 -

χαρακτηρίζονται και από την απλοποιηµένη διαχείριση και από την ευκολία προσθήκης νέων υπηρεσιών, ανάλογα µε το πρωτόκολλο που χρησιµοποιείται. Γενικά, οι συγκεντρωµένες αρχιτεκτονικές σχετίζονται µε τα πρωτόκολλα MGCP και H.248/Megaco. Αυτά τα πρωτόκολλα σχεδιάστηκαν για µια κεντρική συσκευή που ονοµάζεται ελεγκτής πύλης πολυµέσων (media gateway controller) ή πράκτορας κλήσης (call agent)- που χρησιµοποιεί µια λογική µεταγωγής και ελέγχου κλήσεων. Η κεντρική συσκευή µιλάει στις media gateways, οι οποίες δροµολογούν και µεταδίδουν το ηχητικό/πολυµεσικό περιεχόµενο των κλήσεων (δηλαδή τη φωνητική πληροφορία). Στις συγκεντρωµένες αρχιτεκτονικές, η «νοηµοσύνη» του δικτύου είναι συγκεντρωµένη κεντρικά και τα τερµατικά είναι σχετικά άβουλα (µε περιορισµένα ή καθόλου εγγενή χαρακτηριστικά). Οι υπέρµαχοι της συγκεντρωµένης αρχιτεκτονικής, υποστηρίζουν αυτό το µοντέλο γιατί κεντρικοποιεί τη διαχείριση, παροχή και έλεγχο των κλήσεων. Απλοποιεί τις ροές των κλήσεων αναπαράγοντας το µέχρι τώρα γνωστό µοντέλο φωνητικών κλήσεων και είναι εύκολο να το καταλάβουν οι µηχανικοί που µέχρι τώρα ασχολούνταν µε φωνητικές επικοινωνίες. Οι επικριτές των συγκεντρωµένων αρχιτεκτονικών ισχυρίζονται ότι το µοντέλο δεν επιτρέπει ανάπτυξη νέων εφαρµογών και ότι γίνεται εµπόδιο κατά την ανάπτυξη εφαρµογών του VoIP που ξεφεύγουν από την παραδοσιακή φωνητική επικοινωνία. Οι κατανεµηµένες αρχιτεκτονικές σχετίζονται µε τα πρωτόκολλα H.323 και SIP, που επιτρέπουν τη νοηµοσύνη του δικτύου να κατανέµεται µεταξύ των τερµατικών σηµείων και των συσκευών ελέγχου κλήσεων. Ο όρος νοηµοσύνη αναφέρεται στην κατάσταση κλήσης, στα χαρακτηριστικά κλήσης, στη δροµολόγηση των κλήσεων στην παροχή, χρέωση και κάθε άλλη µορφή διαχείρισης κλήσεων. Τα τερµατικά µπορεί να είναι πύλες (gateways), εξυπηρετητές πολυµέσων ή κάθε άλλη συσκευή που µπορεί να ξεκινήσει ή να τερµατίσει µια κλήση. Οι συσκευές ελέγχου κλήσεων ονοµάζονται gatekeepers σε ένα H.323 δίκτυο και proxy ή redirect servers σε ένα δίκτυο SIP. Οι υπέρµαχοι των κατανεµηµένων αρχιτεκτονικών υποστηρίζουν αυτό το µοντέλο για την ευελιξία του, αφού επιτρέπει στις εφαρµογές VoIP να αντιµετωπίζονται σαν κάθε άλλη κατανεµηµένη εφαρµογή του IP και παρέχει την ευελιξία πρόσθεσης - 11 -

νοηµοσύνης σε κάθε τερµατικό ή συσκευή ελέγχου κλήσεων. Οι κατανεµηµένες αρχιτεκτονικές γίνονται πιο εύκολα αντιληπτές από µηχανικούς που ασχολούνται µε δίκτυα IP. Οι επικριτές της κατανεµηµένης αρχιτεκτονικής επισηµαίνουν ότι το PSTN πρέπει να είναι το µόνο µοντέλο αναφοράς όταν πρόκειται να αναπτύξουµε εφαρµογές φωνητικών κλήσεων, ενώ θεωρούν ότι τα κατανεµηµένα δίκτυα είναι πιο πολύπλοκα. 1.7 Τα πρωτόκολλα του VoIP Παρακάτω θα κάνουµε µια συνοπτική αναφορά στα πρωτόκολλα του VoIP που αναφέρθηκαν πιο πάνω. Περισσότερη έµφαση θα δώσουµε στο Η.323 και στο SIP, τα οποία αυτή τη στιγµή- χρησιµοποιούνται κατά κύριο λόγο για την ανάπτυξη δικτύων VoIP. 1.7.1 - H.323 Το Η.323 εκδόθηκε ως σύσταση από την ITU (International Telecommunication Union) το 1996, µε τίτλο «Συστήµατα επικοινωνιών πολυµέσων που βασίζονται σε πακέτα» ( Packet-base multimedia communication systems ). Με άλλα λόγια, το Η.323 ορίζει µια κατανεµηµένη αρχιτεκτονική για τη δηµιουργία πολυµεσικών εφαρµογών, συµπεριλαµβανοµένου και του VoIP. Η σύσταση αναθεωρήθηκε το 1998 και αυτό το αναθεωρηµένο πρότυπο ήταν η βάση για τα πρώτα ευρέως διαδεδοµένα συστήµατα τηλεφωνίας µέσω Internet. Σήµερα, η σύσταση βρίσκεται στην 4 η έκδοσή της. Εξαιτίας του ότι ήταν το πρώτο πρωτόκολλο για το VoIP που δηµοσιεύθηκε, σήµερα είναι το πιο διαδεδοµένο πρωτόκολλο VoIP για σηµατοδοσία και έλεγχο κλήσεων. Το Η.323 είναι περισσότερο ένα «πρωτόκολλο οµπρέλα», παρά ένα συγκεκριµένο πρωτόκολλο και αυτό γιατί αναφέρεται σε µεγάλο πλήθος συγκεκριµένων (επιµέρους) πρωτοκόλλων για κωδικοποίηση φωνής/βίντεο, εγκαθίδρυση κλήσεων, σηµατοδοσία, µεταφορά δεδοµένων, και άλλα θέµατα, αντί να προδιαγράφει αυτό τα αντίστοιχα θέµατα. Οι οντότητες στην τοπολογία του H.323 είναι κατά βάση i) τα τερµατικά (terminals), ii) οι φρουροί πύλης (gatekeepers) και iii) οι πύλες δικτύου (gateways). Το γενικό µοντέλο του απεικονίζεται στην Εικόνα 1.1. Στο κέντρο υπάρχει πύλες δικτύου (gateways) οι οποίες συνδέουν το Internet µε άλλου τύπου δίκτυα όπως για παράδειγµα το τηλεφωνικό. Μια τέτοια πύλη µιλάει τα πρωτόκολλα - 12 -

του Η.323 από την πλευρά του Internet και τα πρωτόκολλα του PSTN από την πλευρά της τηλεφωνίας. Τα τερµατικά, είναι οι συσκευές που επικοινωνούν. Ένα LAN µπορεί να έχει ένα φρουρό πύλης (gatekeeper) ο οποίος ελέγχει τα τερµατικά σηµεία που βρίσκονται µέσα στη δικαιοδοσία του, η οποία ονοµάζεται ζώνη (zone). Εικόνα 1.1 - Τοπολογία δικτύου Η.323 Ένα τηλεφωνικό δίκτυο χρειάζεται κάποια πρωτόκολλα. Το βασικό, που ορίζεται στη σύσταση G.711 της ITU, το γνωστό PCM που παρέχει ασυµπίεστο ήχο στα 64kbps µε 8 bits ανά δείγµα και 8000 δείγµατα το δευτερόλεπτο είναι ένα από αυτά. Όλα τα συστήµατα Η.323 επιβάλλεται να υποστηρίζουν το G.711. Επιτρέπονται όµως και άλλα πρωτόκολλα και αλγόριθµοι συµπίεσης φωνής και βίντεο. Έτσι, χρειάζεται ένα πρωτόκολλο που να επιτρέπει στα τερµατικά να διαπραγµατεύονται τον αλγόριθµο συµπίεσης που θα χρησιµοποιήσουν, το οποίο ονοµάζεται Η.245. ιαπραγµατεύεται επίσης και άλλα θέµατα της σύνδεσης, όπως το bitrate. Το RTCP απαιτείται για τον έλεγχο των καναλιών RTP. Χρειάζεται επίσης ένα πρωτόκολλο για εγκαθίδρυση και αποδέσµευση συνδέσεων, παροχή τόνων επιλογής, παραγωγή κουδουνίσµατος και όλα τα χαρακτηριστικά της τυπικής τηλεφωνίας. Εδώ χρησιµοποιείται το Q.931 της ITU (το οποίο είναι δανεισµένο από την τεχνολογία ISDN). Τα τερµατικά χρειάζονται ένα πρωτόκολλο για να µιλούν στον gatekeeper (αν υπάρχει). Για το σκοπό αυτό χρησιµοποιείται το Η.225. Το κανάλι µεταξύ προσωπικού υπολογιστή και gatekeeper το οποίο ελέγχεται από το πρωτόκολλο αυτό ονοµάζεται κανάλι Εγγραφής/Εισόδου/ Κατάστασης ή RAS (Registration/Admission/Status). Το κανάλι αυτό επιτρέπει, µεταξύ των άλλων στα τερµατικά να εισέρχονται στη ζώνη και να αποχωρούν από αυτή, να ζητούν και να επιστρέφουν εύρος ζώνης και να παρέχουν ενηµερωµένες πληροφορίες κατάστασης. Τέλος, χρειάζεται ένα πρωτόκολλο για την πραγµατική µετάδοση των δεδοµένων. Για το σκοπό αυτό χρησιµοποιείται το RTP. Όπως συνήθως, ο έλεγχος γίνεται µε το RTCP. (Για τα πρωτόκολλα RTP/RTCP θα γίνει - 13 -

εκτενής αναφορά στο επόµενο κεφάλαιο). Στην εικόνα 1.2 φαίνεται η σχετική θέση των προαναφερθέντων πρωτοκόλλων στη στοίβα πρωτοκόλλων του H.323. Εικόνα 1.2 - Στοίβα πρωτοκόλλων του Η.323 Στην εικόνα 1.3 φαίνονται τα λογικά κανάλια που ανοίγονται µεταξύ καλούντος και καλούµενου κατά τη διάρκεια µιας κλήσεις, κατά το πρωτόκολλο H.323. Εικόνα 1.3 - Λογικά κανάλια του H.323-14 -

Τέλος, θα πρέπει να επισηµανθεί ότι το πρωτόκολλο Η.323 δεν παρέχει εγγυήσεις σχετικά µε την ποιότητα υπηρεσιών, η οποία εξαρτάται από το υποκείµενο δίκτυο και την ποιότητα των συνδέσεων που αυτό παρέχει. 1.7.2. - SIP (Session Initiation Protocol) Το SIP (Πρωτόκολλο Έναρξης Συνόδου) προτάθηκε από την IETF (Internet Engineering Task Force) ως το RFC (Request For Comments) 3261. Στόχος ήταν η σχεδίαση ενός απλούστερου και πιο αρθρωτού τρόπου για την υλοποίηση του VoIP, αφού το προϋπάρχον Η.323 ήταν µεγάλο και περίπλοκο. Το SIP περιγράφει πώς εγκαθιδρύονται τηλεφωνικές κλήσεις, βιντεοδιασκέψεις και άλλες συνδέσεις πολυµέσων µέσω Internet. Σε αντίθεση µε το Η.323, το οποίο είναι ένα πλήρες πακέτο πρωτοκόλλων, το SIP είναι µία µόνο υποµονάδα, έχει σχεδιαστεί όµως για να παρέχει καλή διαλειτουργικότητα µε τις υπάρχουσες εφαρµογές του Internet. Το SIP µπορεί να εγκαθιδρύσει συνδιαλέξεις µεταξύ δύο µερών (απλές τηλεφωνικές κλήσεις), συνδιαλέξεις πολλών µερών (όπου όλοι µπορούν να ακούνε και να µιλάνε) και συνδιαλέξεις πολυδιανοµής (ένας αποστολέας, πολλοί παραλήπτες). Οι συνδιαλέξεις µπορεί να περιέχουν ήχο, βίντεο ή δεδοµένα. Το SIP ασχολείται µόνο µε την εγκαθίδρυση, τη διαχείριση και τον τερµατισµό των συνδιαλέξεων. Άλλα πρωτόκολλα, όπως τα RTP/RTCP χρησιµοποιούνται για τη µεταφορά των δεδοµένων. Το SIP είναι ένα πρωτόκολλο επιπέδου εφαρµογών και µπορεί να εκτελεστεί πάνω από το UDP ή το TCP. Το SIP υποστηρίζει ποικίλες υπηρεσίες στις οποίες περιλαµβάνονται ο εντοπισµός του καλούµενου και ο προσδιορισµός των δυνατοτήτων του καλούµενου, καθώς και η διαχείριση του µηχανισµού διευθέτησης και τερµατισµού κλήσεων. Στην απλούστερη περίπτωση το SIP εγκαθιδρύει µία σύνδεση από τον υπολογιστή του καλούντα στον υπολογιστή του καλούµενου. Αυτή την περίπτωση θα εξετάσουµε παρακάτω. Το πρωτόκολλο SIP βασίζεται σε κείµενο και έχει ως µοντέλο το HTTP. Το ένα άκρο στέλνει ένα µήνυµα κειµένου ASCII, το οποίο αποτελείται από ένα όνοµα µεθόδου στην πρώτη γραµµή και ακολουθείται από πρόσθετες γραµµές που περιέχουν κεφαλίδες για µεταβίβαση παραµέτρων. Οι βασικές µέθοδοι του SIP φαίνονται στον πίνακα 1.1. - 15 -

Μέθοδος Περιγραφή INVITE Αίτηση έναρξης µιας συνδιάλεξης ACK Επιβεβαίωση ότι η συνδιάλεξη έχει ξεκινήσει BYE Αίτηση τερµατισµού µιας συνδιάλεξης OPTIONS Ερώτηµα σε έναν υπολογιστή υπηρεσίας για τις δυνατότητές του CANCEL Ακύρωση µιας εκκρεµούς αίτησης REGISTER Πληροφόρηση ενός διακοµιστή ανακατεύθυνσης σχετικά µε την τρέχουσα θέση του χρήστη Πίνακας 1.1 Μέθοδοι του πρωτοκόλλου SIP Οι βασικές λειτουργικές οντότητες του SIP είναι οι παρακάτω: Τα τερµατικά σηµεία, που στο SIP ονοµάζονται πράκτορες χρήστη (User Agents UAs). (i) Τα UAs λειτουργούν ως πελάτες (clients) όταν απευθύνουν µια αίτηση SIP και ως εξυπηρετητές (servers) όταν δέχονται µια αίτηση SIP. (ii) Ο διαµεσολαβητής SIP (SIP proxy). Αυτή η οντότητα λειτουργεί ως SIP client και server για να κάνει αιτήσεις SIP εκ µέρους κάποιου άλλου client. (iii) ιακοµιστής εντοπισµού (registrar). Η οντότητα αυτή είναι ένας SIP server (που µπορεί να είναι µαζί µε ένα SIP proxy) που λαµβάνει, αυθεντικοποιεί και αποδέχεται αιτήσεις ΕΓΓΡΑΦΗ (REGISTER) από SIP clients. (iv) ιακοµιστής τοποθεσίας (Location Server). Αποθηκεύει πληροφορίες χρηστών σε µια βάση δεδοµένων και βοηθά στο να καθοριστεί που θα αποσταλούν οι αιτήσεις SIP. (v) ιακοµιστής αναδροµολόγησης (Redirect server). Απαντά σε µια αίτηση SIP µε µία διεύθυνση. Μετά ο αιτών επικοινωνεί µε τη διεύθυνση απευθείας. Στην εικόνα 1.4 φαίνεται µια τυπική τοπολογία δικτύου SIP. - 16 -

Εικόνα 1.4 - Τοπολογία δικτύου SIP Για να εγκαθιδρυθεί µια σύνοδος στο SIP, ο καλών είτε δηµιουργεί µια σύνδεση TCP Με τον καλούµενο και µέσω αυτής του στέλνει ένα µήνυµα INVITE, ή του στέλνει το µήνυµα INVITE µέσα σε ένα πακέτο UDP (είτε απευθείας, είτε δια µέσου ενός proxy. Ο καλούµενος επιβεβαιώνει τη λήψη του µηνύµατος για να αποδεχτεί την κλήση, ενώ η σύνδεση ολοκληρώνεται µε τριπλή χειραψία, δηλαδή ο καλών απαντά ένα µήνυµα επιβεβαίωσης (ACK) για να ολοκληρώσει το πρωτόκολλο. Ο τερµατισµός της συνδιάλεξης γίνεται µε την αποστολή ενός µηνύµατος BYE από οποιοδήποτε συµµετέχοντα και αφού ο άλλος συµµετέχων επιβεβαιώσει τη λήψη του. Η µέθοδος OPTIONS (επιλογές) χρησιµοποιείται για να ερωτηθεί µια µηχανή σχετικά µε τις δυνατότητές της και συνήθως χρησιµοποιείται πριν την έναρξη της συνδιάλεξης. Η µέθοδος REGISTER (εγγραφή) σχετίζεται µε την ικανότητα του SIP να εντοπίζει και να συνδέεται µε ένα χρήστη που δε βρίσκεται στην οικιακή του θέση. Το µήνυµα αυτό στέλνεται σε ένα διακοµιστή εντοπισµού του SIP, ο οποίος παρακολουθεί ποιος βρίσκεται πού και µπορεί αργότερα να ερωτηθεί για την τρέχουσα θέση του χρήστη ώστε να είναι δυνατή η λειτουργία της ανακατεύθυνσης. - 17 -

Στο SIP, τέλος, υπάρχει η δυνατότητα πραγµατοποίησης κλήσεων από έναν υπολογιστή σε ένα απλό τηλέφωνο, εάν διατίθεται µια κατάλληλη πύλη δικτύου (gateway) ανάµεσα στο Internet και το PSTN. 1.7.3 - MGCP/Η.248/Megaco Τα πρωτόκολλα MGCP και H.248/Megaco σχεδιάστηκαν για να παρέχουν µια αρχιτεκτονική όπου ο έλεγχος κλήσης και οι υπηρεσίες µπορούν να προστεθούν κεντρικά σε ένα δίκτυο VoIP. Κατ αυτή την έννοια, µια αρχιτεκτονική που χρησιµοποιεί αυτά τα πρωτόκολλα παρουσιάζει πολλές οµοιότητες µε την αρχιτεκτονική και τις υπηρεσίες του υπάρχοντος PSTN. Οι βασικές λειτουργικές οντότητες αυτών των πρωτοκόλλων είναι (i) Οι πράκτορες κλήσης (call agents) και (ii) οι πύλες πολυµέσων (media gateways). Οι λειτουργίες επεξεργασίας/ελέγχου των κλήσεων τοποθετούνται στους call agents. Ένας call agent µπορεί να ελέγχει µία ή περισσότερες media gateways. O call agent δεν είναι ανάγκη να είναι τοποθετηµένος κοντά στην media gateway. Αυτή η αρχιτεκτονική απλοποιεί τη λειτουργία των gateways. Στην εικόνα 1.5 φαίνεται µια τυπική τοπολογία δικτύου MGCP/H.248/Megaco. Εικόνα 1.1 - Τοπολογία δικτίου MGCP/H.248/Megaco Τα πρωτόκολλα αυτά χρησιµοποιούν το Πρωτόκολλο Περιγραφής Συνδιάλεξης (Session Description Protocol SDP) για να περιγράψουν το πολυµεσικό περιεχόµενο και για να γίνει δυνατή η εγκαθίδρυση κλήσεων µεταξύ των τερµατικών σηµείων. Τέλος, πρέπει να επισηµανθεί ότι δεν είναι δυνατή η επικοινωνία µεταξύ πολλών µερών (multiparty multimedia conference), λειτουργία που υπάρχει στα δίκτυα H.323 και SIP. - 18 -

Με µια τέτοια συγκεντρωµένη αρχιτεκτονική, τα MGCP και H.248/Megaco, επιτρέπουν την κατασκευή δικτύων µεγάλης κλίµακας, τα οποία είναι αρθρωτά, εύρωστα και επαρκή. Παρέχουν επίσης µηχανισµούς για τη διασύνδεσή τους µε άλλα δίκτυα VoIP και για την προσθήκη «νοηµοσύνης» στους call agents. Στον πίνακα 1.2 φαίνονται µερικές ενδιαφέρουσες λεπτοµέρειες που συνοψίζουν τις οµοιότητες και τις διαφορές των πρωτοκόλλων του VoIP. Πίνακας 1.2 - Τα πρωτόκολλα του VoIP συνοπτικά 1.8. ιασύνδεση των δικτύων VoIP Τα δίκτυα VoIP συνεχίζουν να αναπτύσσονται µε γρήγορο ρυθµό και οι πάροχοι υπηρεσιών VoIP συνεχώς προσθέτουν λειτουργικότητα σε αυτά. Παρόλα αυτά, επειδή ο κάθε φορέας χρησιµοποιεί το πρωτόκολλο που εξυπηρετεί καλύτερα τις εφαρµογές που θέλει να υλοποιήσει, φαίνεται πολύ πιθανό ότι τα δίκτυα VoIP θα συνεχίσουν να φτιάχνονται από πολλά πρωτόκολλα. Καθώς τα δίκτυα επεκτείνονται, γίνεται εµφανής η ανάγκη επιλογής κάποιου τρόπου διασύνδεσης των τοµέων που χρησιµοποιούν διαφορετικά πρωτόκολλα VoIP. Οι επιλογές που υπάρχουν είναι οι εξής: Μετάφραση µέσω χρονικής πολύπλεξης (TDM Time-division multiplexing): Σε αυτό το µοντέλο χρησιµοποιείται εξοπλισµός TDM ή πύλες VoIP για να γίνει η µετάφραση από ένα τοµέα πρωτοκόλλου σε έναν άλλο. Το πλεονέκτηµα αυτού του µοντέλου είναι ότι µπορεί να χρησιµοποιηθεί σήµερα. Το µειονέκτηµα είναι ότι εισάγει καθυστέρηση στο - 19 -

δίκτυο VoIP, και περιλαµβάνει άλλη µία µετάφραση πρωτοκόλλου (VoIP no1 <-> TDM <-> VoIP no2). Θεωρείται µία βραχυπρόθεσµη λύση µέχρι να γίνουν διαθέσιµοι οι µεταφραστές πρωτοκόλλων που βασίζονται στο IP. Αρχιτεκτονική ενός µόνο πρωτοκόλλου: Σε αυτό το µοντέλο, µία εταιρεία µετακινεί όλες τις συσκευές και υπηρεσίες της σε ένα µόνο πρωτόκολλο, απλοποιώντας το δίκτυο εξ ολοκλήρου. Το µειονέκτηµα αυτής της προσέγγισης είναι ότι ενδεχοµένως να µην είναι δυνατόν να µετακινηθούν τα πάντα σε ένα πρωτόκολλο, αφού αυτό µπορεί να περιορίσει τις παρεχόµενες υπηρεσίες. Μετάφραση πρωτοκόλλων: Σε αυτό το µοντέλο, χρησιµοποιούνται µεταφραστές πρωτοκόλλων που βασίζονται στο IP για να διασυνδέσουν δύο ή περισσότερους τοµείς VoIP. Οι µεταφραστές IP επιτρέπουν τη διατήρηση της ευελιξίας που προσδίδει η χρήση πολλών πρωτοκόλλων, δεν εισάγουν καθυστέρηση στο δίκτυο όπως οι µεταφραστές TDM, και δεν απαιτούν καµία αντικατάσταση του υπάρχοντος εξοπλισµού. Το µειονέκτηµα είναι ότι δεν υπάρχει κάποιο πρότυπο για τη µετάφραση µεταξύ πρωτοκόλλων, αν και γίνονται προσπάθειες να δηµιουργηθεί. Στο σηµείο αυτό θα πρέπει να αναφερθεί ότι το αδιαµφισβήτητα κοινό σηµείο όλων των πρωτοκόλλων του VoIP είναι το Πρωτόκολλο Πραγµατικού Χρόνου (Real Time Protocol RTP), το οποίο ανεξαρτήτως του πρωτοκόλλου που χρησιµοποιεί το δίκτυο IP είναι υπεύθυνο για την µετάδοση των ροών των πολυµεσικών δεδοµένων. Θα µπορούσε κανείς λοιπόν να το χαρακτηρίσει ως την «καρδιά» κάθε δικτύου ή εφαρµογής που πραγµατοποιεί µετάδοση σε πραγµατικό χρόνο. Το RTP θα παρουσιαστεί εκτενώς στο επόµενο κεφάλαιο και θα αποτελέσει το βασικό σηµείο µελέτης του παρόντος κειµένου. 1.9 Ποιότητα υπηρεσιών (QoS) Κλείνοντας το κεφάλαιο µε τις εισαγωγικές έννοιες θα πρέπει να αναφερθούµε στην Ποιότητα Υπηρεσιών (Quality of Service - QoS). Η έννοια QoS, εν γένει αναφέρεται στην «ικανότητα του δικτύου να εγγυηθεί την κατάλληλη απόδοση ώστε να ικανοποιήσει τις απαιτήσεις µιας εφαρµογής». Θα µπορούσε να χαρακτηριστεί πολυσύνθετη, αφού λαµβάνει τελείως διαφορετικές διαστάσεις ανάλογα µε την εφαρµογή η οποία µας ενδιαφέρει. Οι εφαρµογές IP πραγµατικού χρόνου, όπως η βιντεοδιάσκεψη (videoconference) και το VoIP είναι πολύ πιο ευαίσθητες στην QoS του δικτύου σε σχέση µε τις εφαρµογές αποθήκευσης και προώθησης όπως πχ το e- - 20 -

mail ή η µεταφορά αρχείων. Γενικός στόχος είναι να µη χάνονται σηµαντικά κοµµάτια πληροφορίας (ήχου ή βίντεο), ενώ ταυτόχρονα θα πρέπει να φτάνουν στον παραλήπτη τους σε περιορισµένο χρόνο. Τέσσερις παράµετροι χρησιµοποιούνται γενικά για να περιγράψουν το QoS σε realtime multimedia. Η καθυστέρηση (latency η delay), το jitter, το εύρος ζώνης (bandwidth) και η απώλεια πακέτων (packet loss). Αναλυτικότερα περιγράφονται παρακάτω: Καθυστέρηση από άκρο-σε-ακρο (end-to-end latency): Αναφέρεται στο συνολικό χρόνο µετάδοσης που κάνει ένα πακέτο σε µια ροή δεδοµένων για να φτάσει στο αποµακρυσµένο τελικό σηµείο. Το άνω όριο της καθυστέρησης για πακέτα ήχου και βίντεο δεν πρέπει να ξεπερνά τα 150ms (µπορεί να επεκταθεί στα 200-250ms για εφαρµογές που αναπτύσσονται από απλούς χρήστες του δικτύου και όχι από µεγάλους τηλεπικοινωνιακούς φορείς). Το µέσο µέγεθος για τα πακέτα βίντεο είναι συνήθως µεγάλο (800-1500 bytes) ενώ τα πακέτα ήχου είναι γενικά µικρά (480bytes ή λιγότερα). Αυτό σηµαίνει ότι η µέση καθυστέρηση για ένα πακέτο ήχου είναι συνήθως µικρότερη από αυτή ενός πακέτου βίντεο, αφού συνήθως οι routers δίνουν προτεραιότητα στα µικρά πακέτα έναντι των µεγάλων όταν υπάρχει συµφόρηση στο δίκτυο. Jitter: Είναι η τυπική απόκλιση των καθυστερήσεων των πακέτων σε µια συγκεκριµένη ροή δεδοµένων και δεν πρέπει να ξεπερνάει τα 20-50ms. Με άλλα λόγια οι χρονικές διαφορές µεταξύ των αφίξεων των πακέτων ήχου/βίντεο στο δέκτη θα πρέπει να είναι κατά το δυνατόν σταθερές. Για παράδειγµα αν στην πλευρά του δέκτη αναπαράγεται µία ηχητική κυµατοµορφή µε µη σταθερό ρυθµό, αυτό θα έχει ως αποτέλεσµα να λαµβάνουµε ήχο που «κολλάει» και δε γίνεται εύκολα η και καθόλου αντιληπτός. Καθυστέρηση µεταξύ των ροών (Inter-stream latency): Αναφέρεται στις σχετικές καθυστερήσεις που µπορούν να εµφανιστούν µεταξύ των ροών ήχου και βίντεο και βασίζεται στο πόσο οι σχετικοί µέσοι χρόνοι µετάδοσης µεταξύ των ροών διαφέρουν µεταξύ τους. Έτσι, όταν µία ροή ήχου προηγείται κατά περισσότερο από 30ms της αντίστοιχής της ροής βίντεο, ο µέσος άνθρωπος καταλαβαίνει ότι υπάρχει πρόβληµα συγχρονισµού. Όταν η ροή ήχου έπεται, το πρόβληµα γίνεται αντιληπτό όταν η διαφορά είναι µεγαλύτερη από 40ms. Απώλεια πακέτων (packet loss): Αναφέρεται στο ποσοστό επί τοις εκατό των πακέτων δε φτάνουν στον προορισµό τους ή φτάνουν πολύ - 21 -

καθυστερηµένα για διάφορους λόγους. Τα χαµένα πακέτα υποβαθµίζουν την ποιότητα του ήχου και του βίντεο. Το βίντεο φαίνεται να χάνει καρέ και η κίνηση να µην είναι οµαλή, ενώ ο ήχος παρουσιάζει κενά και διαλείψεις. Το ποσοστό των χαµένων πακέτων δε θα πρέπει να ξεπερνά το 3-5%. Κανένα πρωτόκολλο του VoIP, ούτε το RTP παρέχουν εγγυήσεις για την ποιότητα υπηρεσιών. Έτσι, η τελευταία έγκειται στο υπάρχον δίκτυο, στην πολιτική που ακολουθείται όσον αφορά τη διαχείριση των πόρων του δικτύου καθώς και από τη σχεδίαση της κάθε εφαρµογής. Στους τρόπους επίτευξης κατά το δυνατόν υψηλής ποιότητας υπηρεσιών θα γίνει αναφορά στα επόµενα κεφάλαια του παρόντος κειµένου. - 22 -

Κεφάλαιο 2 RTP/RTCP 2.1 - Εισαγωγή Το Πρωτόκολλο Μεταφοράς Πραγµατικού Χρόνου (Real-time Transport Protocol RTP) εκδόθηκε ως σύσταση της IETF (Internet Engineering Task Force) το 1996 και δηµοσιεύθηκε στο RFC 1889, µε τίτλο «RTP, ένα πρωτόκολλο µεταφοράς για εφαρµογές πραγµατικού χρόνου» ( RTP, A Transport Protocol for Real-Time applications ). Το RTP αναθεωρήθηκε το 2003, στο RFC 3550 της IETF. Το RTP παρέχει δικτυακές λειτουργίες µεταφοράς από άκρο-σε-άκρο, κατάλληλες για εφαρµογές που µεταδίδουν µέσα πραγµατικού χρόνου, όπως (διαδραστικό) ήχο και βίντεο, είτε σε δίκτυα αποκλειστικής διανοµής (unicasting), είτε σε δίκτυα πολυδιανοµής (multicasting). Οι λειτουργίες αυτές περιλαµβάνουν προσδιορισµό του τύπου των µεταφερόµενων δεδοµένων, αρίθµηση της σειράς των πακέτων, χρονοσφραγίδες κ.ά. Θα µπορούσε να χαρακτηριστεί ως πρωτόκολλο µεταφοράς που υλοποιείται στο επίπεδο εφαρµογών. Το πρωτόκολλο υποστηρίζει επίσης και τη χρήση µεταφραστών και µικτών επιπέδου RTP. Το RTP δεν υπαγορεύει δέσµευση πόρων του δικτύου και δεν εγγυάται την ποιότητα υπηρεσιών (QoS) για τις υπηρεσίες πραγµατικού χρόνου, η οποία έγκειται σε λειτουργίες χαµηλότερων επιπέδων. εν εγγυάται την έγκαιρη διανοµή των πακέτων, ούτε το ότι τα πακέτα θα φτάσουν στον προορισµό τους, ούτε ότι θα φτάσουν χωρίς να έχουν υποστεί κάποια καταστροφή, ούτε ότι το υποκείµενο δίκτυο είναι αξιόπιστο και διανέµει τα πακέτα µε τη σειρά που στάλθηκαν. Οι αριθµοί σειράς που έχει το κάθε πακέτο, όµως, επιτρέπουν στον αποδέκτη τους να ανακατασκευάσει την αλληλουχία τους κατά την αναπαραγωγή τους και να ανιχνεύσει τυχόν απώλειες ή καθυστερήσεις. Η µεταφορά των δεδοµένων επαυξάνεται από ένα πρωτόκολλο ελέγχου, το RTCP (Real Time Control Protocol), που επιτρέπει την παρακολούθηση της διανοµής των δεδοµένων και της ποιότητας υπηρεσιών µε τρόπο κλιµακωτό έως και για µεγάλα δίκτυα πολυδιανοµής, και παρέχει ελάχιστο έλεγχο και λειτουργίες αναγνώρισης. Το RTP είναι πρωτίστως σχεδιασµένο για να ικανοποιεί τις ανάγκες για διασκέψεις πολυµέσων πολλών συµµετεχόντων, χωρίς αυτό να σηµαίνει ότι περιορίζεται σε αυτή µόνο την εφαρµογή. Γενικά, χρησιµοποιείται από σχεδόν κάθε εφαρµογή που - 23 -

κάνει µετάδοση πολυµεσικών δεδοµένων πραγµατικού χρόνου. Ας αναφέρουµε εν συντοµία µερικές εφαρµογές όπου η χρήση του RTP είναι σχεδόν επιβεβληµένη. ιάσκεψη φωνής µέσω πολυδιανοµής (multicast audio conference) ιάσκεψη φωνής και βίντεο (audio & video conference) Τηλεφωνία µέσω IP Ραδιοφωνικός σταθµός µέσω IP Τηλεόραση µέσω IP Και πολλές άλλες εφαρµογές. Το RTP και το RTCP είναι σχεδιασµένα ώστε να είναι ανεξάρτητα από τα υποκείµενα επίπεδα µεταφοράς και δικτύου. Παρόλα αυτά, συνήθως τρέχουν πάνω από το UDP (User Datagram Protocol) και όχι πάνω από το TCP (Transport Control Protocol). Το TCP, ως γνωστόν, χρησιµοποιείται για παράδειγµα από τα πρωτόκολλα HTTP ή το FTP, όπου η ακεραιότητα των αρχείων είναι απαραίτητη. Το TCP είναι ένα πρωτόκολλο επιπέδου µεταφοράς σχεδιασµένο για αξιόπιστες επικοινωνίες σε δίκτυα χαµηλού εύρους ζώνης και µεγάλου ρυθµού σφαλµάτων. Όταν ένα πακέτο χάνεται ή καταστρέφεται, επαναµεταδίδεται. Η επιβάρυνση για την εγγυηµένη µεταφορά δεδοµένων, όµως, επιβραδύνει το συνολικό ρυθµό µετάδοσης. Επειδή στις εφαρµογές πραγµατικού χρόνου η έγκαιρη παράδοση των δεδοµένων είναι σαφώς πιο σηµαντική από την ακεραιότητα τους, το TCP δεν προτιµάται. Από την άλλη, το UDP είναι αναξιόπιστο πρωτόκολλο, αφού δεν εγγυάται την παράδοση των πακέτων ούτε την παράδοσή τους µε τη σωστή σειρά. Το πλεονέκτηµα από τη χρήση του όµως είναι ότι ο συνολικός ρυθµός µετάδοσης αυξάνεται και αυτό είναι το κύριο µέληµα σε τέτοιου είδους εφαρµογές. Στην εικόνα 2.1 φαίνεται πού τοποθετείται το RTP στη στοίβα πρωτοκόλλων του δικτύου TCP/IP. Εικόνα 2.1: Θέση του RTP στη στοίβα πρωτοκόλλων του TCP/IP - 24 -

Τέλος, θα πρέπει να αναφέρουµε ότι στις εφαρµογές πραγµατικού χρόνου, η µορφή των πακέτων που τελικά µεταδίδονται ακολουθεί ακριβώς την ίδια λογική µε οποιαδήποτε άλλη εφαρµογή του IP. Για παράδειγµα, έστω ότι έχουµε ένα πακέτο ήχου (που περιέχει κάποια ηχητική πληροφορία). Για να µεταδοθεί λαµβάνει µία κεφαλίδα RTP (RTP header) και περνά στο υποκείµενο δίκτυο µεταφοράς, έστω το UDP. Εκεί ενθυλακώνεται σε ένα πακέτο UDP, δηλαδή προσλαµβάνει µία κεφαλίδα UDP (UDP header) ενώ η κεφαλίδα RTP µαζί µε την ηχητική πληροφορία γίνονται το ωφέλιµο φορτίο (payload) για το πακέτο UDP. Οµοίως, Το πακέτο UDP γίνεται ωφέλιµο φορτίο για ένα πακέτο IP (επίπεδο δικτύου). Στη συνέχεια το πακέτο IP αποστέλλεται. Στην πλευρά του αποστολέα ακολουθείται η αντίστροφη διαδικασία. Καθώς ανεβαίνουµε στη στοίβα πρωτοκόλλων οι αντίστοιχες κεφαλίδες αφαιρούνται, µέχρι τελικά να ανακτηθεί η ηχητική πληροφορία. Η διαδικασία αυτή φαίνεται στην εικόνα που ακολουθεί. Εικόνα 2.2: Ενθυλάκωση ωφέλιµου φορτίου RTP σε πακέτα κατώτερων επιπέδων. 2.2 Ορισµοί Πριν προχωρήσουµε στην περιγραφή των πακέτων του RTP και του RTCP, καλό θα ήταν να παραθέσουµε κάποιους ορισµούς οι οποίοι θα βοηθήσουν στην κατανόηση σηµαντικών εννοιών και θα αποδειχθούν χρήσιµοι για τη συνέχεια. Ωφέλιµο φορτίο RTP (RTP payload): Τα δεδοµένα που µεταφέρονται από το RTP σε ένα πακέτο, για παράδειγµα δείγµατα ήχου ή συµπιεσµένα δεδοµένα βίντεο. Πακέτο RTP (RTP packet): Ένα πακέτο δεδοµένων που αποτελείται από την σταθερή κεφαλίδα του RTP, µια πιθανώς άδεια λίστα από συµβάλλουσες πηγές (βλ. παρακάτω) και το ωφέλιµο φορτίο. - 25 -

Πακέτο RTCP (RTCP packet): Ένα πακέτο ελέγχου που αποτελείται από ένα σταθερό µέρος κεφαλίδας (όµοιας µε αυτής του πακέτου RTP), ακολουθούµενης από δοµηµένα στοιχεία που ποικίλλουν ανάλογα µε το είδος του πακέτου RTCP. Τα είδη θα αναφερθούν στην αντίστοιχη παράγραφο. Συνήθως, πολλά πακέτα RTCP στέλνονται µαζί ως ένα σύνθετο πακέτο RTCP σε ένα µόνο πακέτο του υποκείµενου πρωτοκόλλου (UDP). Θύρα (port): Η αφηρηµένη έννοια που χρησιµοποιούν τα πρωτόκολλα µεταφοράς για να ξεχωρίσουν κάποιο προορισµό σε έναν δεδοµένο υπολογιστή. Τα πρωτόκολλα του TCP/IP προσδιορίζουν τις θύρες µε τη χρήση ενός θετικού αριθµού small integer. ιεύθυνση µεταφοράς (Transport address): Ο συνδυασµός µιας διεύθυνσης δικτύου και µιας θύρας που προσδιορίζει ένα τελικό σηµείο του επιπέδου µεταφοράς, για παράδειγµα µια διεύθυνση IP και µια θύρα UDP. Εναλλακτικά ονοµάζεται και socket. Τα πακέτα µεταδίδονται από µία διεύθυνση προέλευσης (source transport address) σε µία διεύθυνση προορισµού (destination transport address). Σύνοδος πολυµέσων (multimedia session): Ένα σύνολο από ταυτόχρονες συνόδους RTP. Για παράδειγµα µια βιντεοδιάσκεψη, µπορεί να περιέχει µια σύνοδο RTP ήχου και µία σύνοδο RTP βίντεο. Σύνοδος RTP (RTP session): Μία σχέση µεταξύ ενός συνόλου συµµετεχόντων που επικοινωνούν µέσω RTP. Ένας συµµετέχων µπορεί να εµπλέκεται σε πολλές συνόδους RTP ταυτόχρονα. Σε µια σύνοδο πολυµέσων, κάθε µέσο συνήθως µεταφέρεται σε µια ξεχωριστή σύνοδο RTP µε τα δικά της πακέτα RTCP εκτός και αν η κωδικοποίηση πολυπλέκει πολλά µέσα σε µία µόνο ροή δεδοµένων. Ένας συµµετέχων ξεχωρίζει τις διαφορετικές συνόδους RTP, χρησιµοποιώντας για τη λήψη της καθεµίας διαφορετικά ζεύγη διευθύνσεων προορισµού, όπου ένα ζεύγος διευθύνσεων (µεταφοράς) αποτελείται από µία διεύθυνση δικτύου συν ένα ζεύγος από θύρες για το RTP και το RTCP αντίστοιχα. Όλοι οι συµµετέχοντες σε µια σύνοδο RTP µπορεί να χρησιµοποιούν ένα κοινό ζεύγος διευθύνσεων προορισµού, όπως στην περίπτωση της πολυδιανοµής (IP multicast) ή τα ζεύγη µπορεί να είναι διαφορετικά για κάθε συµµετέχοντα, όπως στην περίπτωση της αποκλειστικής διανοµής (IP unicast). Στην περίπτωση του unicast ένας συµµετέχων µπορεί να λαµβάνει από όλους τους υπόλοιπους συµµετέχοντες στη σύνοδο χρησιµοποιώντας το ίδιο ζεύγος θυρών, ή ένα ξεχωριστό ζεύγος θυρών για τον καθένα. - 26 -

Το διακριτικό χαρακτηριστικό µιας συνόδου RTP είναι ότι διατηρεί ένα ξεχωριστό χώρο από προσδιοριστές SSRC (βλ. παρακάτω). Το σύνολο των συµµετεχόντων που συµπεριλαµβάνονται σε µία σύνοδο RTP αποτελείται από αυτούς που µπορούν να λάβουν ένα προσδιοριστή SSRC που µεταδίδεται από οποιονδήποτε άλλο συµµετέχοντα είτε µέσω RTP είτε µέσω RTCP. Για παράδειγµα, έστω ότι έχουµε µία διάσκεψη τριών µερών που υλοποιείται µέσω UDP unicast µε κάθε συµµετέχοντα να λαµβάνει από τους υπόλοιπους δύο σε διαφορετικά ζεύγη θυρών. Αν κάθε συµµετέχων στέλνει ανατροφοδότηση RTCP για τα δεδοµένα που ελήφθησαν από ένα συµµετέχοντα, µόνο σε αυτό το συµµετέχοντα, τότε η συνδιάσκεψη αποτελείται από τρεις ξεχωριστές συνόδους RTP (από σηµείο-σε-σηµείο). Αν κάθε συµµετέχων παρέχει ανατροφοδότηση RTCP για τη λήψη του από ένα συµµετέχοντα και στους δύο υπόλοιπους συµµετέχοντες, τότε η συνδιάσκεψη αποτελείται από µία πολύ-µερή σύνοδο RTP. Η τελευταία περίπτωση προσοµοιώνει τι θα συνέβαινε σε επικοινωνία µέσω IP multicast µεταξύ αυτών των τριών συµµετεχόντων. Πηγή συγχρονισµού (Synchronization source SSRC): Η πηγή µιας ροής πακέτων RTP, που προσδιορίζεται από έναν 32-bit αριθµητικό προσδιοριστή SSRC, που µεταφέρεται στην κεφαλίδα του RTP έτσι ώστε να είναι ανεξάρτητος από τη διεύθυνση του δικτύου. Όλα τα πακέτα από µία πηγή συγχρονισµού αποτελούν µέρος του ίδιου αριθµητικού χώρου όσον αφορά το χρονισµό και τον αριθµό ακολουθίας τους, ώστε ο αποδέκτης τους να τα οµαδοποιεί κατά πηγή συγχρονισµού για να τα αναπαράγει. Παραδείγµατα πηγών συγχρονισµού περιλαµβάνουν τον αποστολέα µιας ροής πακέτων που προέρχονται από µία πηγή σήµατος (πχ ένα µικρόφωνο, µια κάµερα), ή ένα µίκτη RTP (βλ παρακάτω). Μια πηγή συγχρονισµού µπορεί να αλλάξει το φορµάτ των δεδοµένων της (πχ την κωδικοποίηση του ήχου) κατά τη διάρκεια µιας συνόδου. Ο προσδιοριστής SSRC είναι µία τιµή που επιλέγεται τυχαία και πρέπει να είναι µοναδική εντός µίας συνόδου RTP. Ένας συµµετέχων δεν είναι ανάγκη να χρησιµοποιεί τον ίδιο προσδιοριστή SSRC για όλες τις συνόδους RTP σε µία σύνοδο πολυµέσων η σύνδεση µεταξύ των προσδιοριστών SSRC παρέχεται από το RTCP. Αν ένας συµµετέχων παράγει πολλαπλές ροές µέσα σε µία σύνοδο RTP, για παράδειγµα από δύο διαφορετικές κάµερες, κάθε µια επιβάλλεται να έχει το δικό της προσδιοριστή SSRC. Με άλλα λόγια, στη γενική περίπτωση ο προσδιοριστής SSRC χαρακτηρίζει τις διαφορετικές ροές πολυµέσων. Συµβάλλουσα πηγή (Contributing source CSRC): Η πηγή µιας ροής από πακέτα RTP που συνέβαλλε στη συνδυασµένη ροή που παρήχθη από έναν µίκτη RTP (βλ παρακάτω για µίκτη). Ο µίκτης εισάγει µία λίστα προσδιοριστών SSRC των - 27 -

πηγών που συνέβαλλαν στην παραγωγή ενός συγκεκριµένου πακέτου RTP, στην κεφαλίδα RTP αυτού του πακέτου. Αυτή η λίστα ονοµάζεται λίστα CSRC. Τελικό σύστηµα (End system): Μια εφαρµογή που παράγει το περιεχόµενο που θα αποσταλεί µε πακέτα RTP και/ή αναπαράγει/αποθηκεύει/επεξεργάζεται το περιεχόµενο των πακέτων RTP που έλαβε. Ένα τελικό σύστηµα µπορεί να λειτουργήσει ως µία ή περισσότερες SSRC σε µία ξεχωριστή σύνοδο RTP, αλλά συνήθως µόνο ως µία. Μίκτης (mixer): Ένα ενδιάµεσο σύστηµα που λαµβάνει πακέτα RTP από µία ή περισσότερες πηγές, ενδεχοµένως αλλάζει το φορµάτ των δεδοµένων, συνδυάζει τα πακέτα µε κάποιο τρόπο και προωθεί ένα νέο πακέτο RTP. Επειδή συνήθως οι πηγές δε θα είναι συγχρονισµένες µεταξύ τους, ο µίκτης µπορεί να κάνει χρονικές προσαρµογές µεταξύ των ροών και να δηµιουργήσει το δικό του χρονισµό για τη συνδυασµένη ροή. Έτσι όλα τα πακέτα που προέρχονται από τον µίκτη θα προσδιορίζονται από το SSRC του µίκτη. Μεταφραστής (Translator): Ένα ενδιάµεσο σύστηµα που προωθεί πακέτα RTP χωρίς να αλλάζει το SSRC τους. Παραδείγµατα µεταφραστών περιλαµβάνουν συσκευές που αλλάζουν την κωδικοποίηση των δεδοµένων και αντιγραφείς από multicast σε unicast 2.3 To RTP (Real-time Transport Protocol) 2.3.1 Η κεφαλίδα (header) του RTP Η τυποποιηµένη κεφαλίδα του RTP φαίνεται στην παρακάτω εικόνα. - 28 -

Εικόνα 2.3: Η κεφαλίδα του RTP Τα πρώτα 12 bytes της κεφαλίδας υπάρχουν σε κάθε πακέτο RTP, ενώ η λίστα των προσδιοριστών CSRC υπάρχει µόνο όταν εισάγεται από κάποιο µίκτη. Η σηµασία του κάθε πεδίου επεξηγείται στη συνέχεια: Version (V) - (Έκδοση): 2 bits Το πεδίο αυτό προσδιορίζει την έκδοση του RTP. Η τρέχουσα έκδοση είναι η δεύτερη, οπότε αυτό το πεδίο είναι πάντα 2. Padding (P) - (Γέµισµα): 1 bit Αν το bit του padding είναι στο 1, τότε το πακέτο περιέχει ένα ή περισσότερα πρόσθετα bytes στο τέλος, που δεν είναι µέρος του ωφέλιµου φορτίου του. Το τελευταίο byte του padding περιέχει έναν αριθµό που δηλώνει πόσα bytes γεµίσµατος υπάρχουν στο πακέτο, συµπεριλαµβανοµένου και του ιδίου. Το padding µπορεί να απαιτείται από κάποιους αλγορίθµους κρυπτογράφησης µε συγκεκριµένο µέγεθος µπλοκ ή για τη µεταφορά πολλών πακέτων RTP σε µία µόνο µονάδα δεδοµένων πρωτοκόλλου κατώτερου επιπέδου. Extension (X) - (Επέκταση): 1 bit Όταν το bit X είναι στο 1, η τυποποιηµένη κεφαλίδα πρέπει να ακολουθείται από ακριβώς µία «επέκταση κεφαλίδας», µε φορµάτ που ορίζεται στο πρωτόκολλο RTP. Η επέκταση κεφαλίδας δε θα µας απασχολήσει στο παρόν κείµενο, διότι χρησιµοποιείται σπάνια. - 29 -