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



Σχετικά έγγραφα
ΠΡΟΤΥΠΗ ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΜΕΤΡΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΕΞΙΣΟΡΡΟΠΗΣΗΣ ΦΟΡΤΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝΤΑ SIP

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

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

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

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

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

Network Address Translation (NAT)

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

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

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

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

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

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

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

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

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

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

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

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

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

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

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

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

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

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

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Τηλεφωνία. Νοήμον Δίκτυο

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

Επαναληπτικές Ασκήσεις Μαθήματος

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

Συνεχής ροή πολυµέσων

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

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

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

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

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Επίπεδο Δικτύου: Διαδικτύωση

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

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

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

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

1.8 Το μοντέλο OSI 1 / 33

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Φύλλο Κατανόησης 1.8

Η ΤΑΥΤΟΤΗΤΑ ΜΑΣ. Αναλαμβάνουμε τη μελέτη, εγκατάσταση και υποστήριξη όλων των τηλεπικοινωνιακών συστημάτων VοIP.

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

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

Συμφωνία Διασύνδεσης - MyTelco Ltd. Υπόδειγμα Προσφοράς Διασύνδεσης και Παροχέα. Παράρτημα 4 Τεχνικά Πρότυπα

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

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

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

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

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

Δίκτυα και Διαδίκτυο

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

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

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

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

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Δίκτυα ΙΙ Τομέας Πληροφορικής,

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

Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

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

Τηλεφωνία. Νοήμον Δίκτυο

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

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

Υποστήριξη Κινητικότητας στο Internet. Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Δίκτυα Ευρείας Περιοχής. Επικοινωνίες Δεδομένων Μάθημα 10 ο

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

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή Πρότυπο τριών Διαστάσεων Λειτουργίας Μοντέλο Διαχείρισης FCAPS Το Δίκτυο του Ε.Μ.Π. Περιβάλλον Εργαστηριακών Ασκήσεων

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

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

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

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

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

SOS Ερωτήσεις Δίκτυα Υπολογιστών ΙΙ

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

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

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

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

Οδηγός Ψηφιακών Υπηρεσιών Κινητής Τηλεφωνίας

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

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

Transcript:

ΠΡΟΤΥΠΗ ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΠΑΡΑΜΕΤΡΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΕΞΙΣΟΡΡΟΠΗΣΗΣ ΦΟΡΤΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝΤΑ SIP Η Διπλωματική Εργασία παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου Αιγαίου Σε Μερική Εκπλήρωση των Απαιτήσεων για το Δίπλωμα του Μηχανικού Πληροφοριακών και Επικοινωνιακών Συστημάτων των Κεχαγιά Βασίλη Μπάκα Ευάγγελο ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Η ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ ΔΙΔΑΣΚΟΝΤΩΝ ΕΓΚΡΙΝΕΙ ΤΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΩΝ ΚΕΧΑΓΙΑ ΒΑΣΙΛΗ ΜΠΑΚΑ ΕΥΑΓΓΕΛΟ: Καμπουράκης Γεώργιος, Επιβλέπων Ημερομηνία 5/9/2008 Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Γκρίτζαλης Στέφανος, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Κωνσταντίνου Ελισάβετ, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ii

ΠΕΡΙΛΗΨΗ Η υπηρεσία Voice over IP (VoIP) χρησιμοποιεί το πρωτόκολλο του Διαδικτύου (Internet Protocol) για να μεταφέρει τηλεφωνικές συνομιλίες, μετατρέποντας τη φωνή σε πακέτα δεδομένων. Παράλληλα, η υπηρεσία Voice over IP αποτελεί μέρος των υπηρεσιών μετάδοσης σε πραγματικό χρόνο, η οποία τείνει να αντικαταστήσει τη συμβατική τεχνολογία του τηλεφώνου ανατρέποντας τα δεδομένα και τις τιμές των τηλεφωνικών υπηρεσιών παγκοσμίως. Στόχος της συγκεκριμένης εργασίας είναι η δημιουργία και η εκτίμηση της απόδοσης (performance evaluation) μιας πρότυπης αρχιτεκτονικής εξισορρόπησης φόρτου εργασίας (load balancing architecture) ειδικά για SIP εξυπηρετητές (Servers). Το Session Initiation Protocol (SIP) είναι ένα από τα αναδυόμενα πρωτόκολλα αρχικοποίησης σύνδεσης για την παροχή τηλεπικοινωνιακών υπηρεσιών διαμέσου του Διαδικτύου. Είναι επίσης γνωστό πως το συγκεκριμένο πρωτόκολλο δε χρησιμοποιεί ειδικά διαμορφωμένους μηχανισμούς ασφάλειας για να ικανοποιήσει τις απαιτήσεις ασφάλειας που δημιουργούνται, αλλά αξιοποιεί ήδη υπάρχοντες γνωστούς μηχανισμούς ασφάλειας, όπως τα πρωτόκολλα SSL, IPsec και ο μηχανισμός S/MIME. Με βάση το σενάριο της εργασίας, όταν ένας SIP πελάτης αιτείται την αρχικοποίησης μιας κλήσης SIP, μια δικτυακή οντότητα που καλείται SIP Balancer, εκτελεί μια διαδικασία επιλογής του περισσότερου προτιμητέου SIP server για να την εξυπηρετήσει, βασιζόμενος: 1) Στα διαθέσιμα DNS SRV records των SIP servers 2) Σε διάφορες μετρήσιμες παραμέτρους φόρτου εργασίας (workload metrics), οι οποίες συλλέγονται από τους υπάρχοντες SIP proxy servers που λειτουργούν στο συγκεκριμένο υποδίκτυο. Οι παράμετροι αυτοί μπορεί να είναι: ο φόρτος του κάθε SIP server (memory consumption, overall workload, κλπ), οι κλήσεις που εξυπηρετεί, η δικτυακή απόστασή του, και τα συνολικά χαρακτηριστικά του υλικού του. Στην παρούσα διπλωματική καταγράφονται και αναλύονται όλα τα θέματα που σχετίζονται με τη μελέτη, το σχεδιασμό και την ανάπτυξη της υπηρεσίας διαμοιρασμού φορτίου και περιγράφεται λεπτομερώς η λύση που υιοθετήθηκε και υλοποιήθηκε. Αρχικά, γίνεται μία αναφορά στα γενικότερα συστήματα εξισσορόπησης φόρτου που υπάρχουν σε διάφορες υπηρεσίες. Στην συνέχεια περιγράφεται η υπηρεσία VoIP και το πρωτόκολλο SIP. Ακολούθως αναλύονται γενικότερα σχήματα εξισσορόπησης φόρτου καθώς και του μοντέλου που υλοποιήθηκε. Εξετάζεται διεξοδικά ο λόγος υιοθέτησης αυτού του μοντέλου, τα προβλήματα που παρουσιάστηκαν και οι τρόποι με τους οποίους αντιμετωπίστηκαν. Επιπλέον παρουσιάζεται ο SER (Sip Express Router) και οι επιμέρους λειτουργίες του και παραθέτετε ο κώδικας και οι μετρήσεις απόδοσης και ποιότητας της υλοποιημένης υπηρεσίας. Τέλος παρουσιάζονται όλες οι απαραίτητες ρυθμίσεις που έλαβαν χώρα στον Balancer αλλά και στους SIP Proxy ενώ επεξηγούνται οι τροποποιήσεις στην συνολική αρχιτεκτονική του συστήματος. iii

Κεχαγιάς Βασίλης Μπάκας Ευάγγελος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ 2008 iv

ABSTRACT The Voice over Ip Service, (VoIP) uses the Internet Protocol to transfer telephone calls, turning speech into packets of data. Moreover the VoIP service is part of the real-time transfer services, which tends to replace the conventional telephone technology, setting new standards (amid very low price calls), in global telephony services. The purpose of this project is the creation and performance evaluation of a new load balancing architecture for SIP servers. The Session Initiation Protocol (SIP) is one of the upcoming protocols regarding the initiation of the connection which will provide telecommunication services through the internet. This protocol does not use any specially designed security mechanisms in order to suffice the security requirements but instead takes advantage of well known security mechanisms such as SSL, IPsec, S/MIME. According to this project s scenario, when a SIP client requests the initiation of a SIP call, a network entity called SIP balancer, runs a selection routine to specify the most appropriate SIP server for our call, based on: 1) The available DNS SRV records of the SIP servers 2) In a variety of countable work-load parameters (workload metrics), which are collected from the existing and operating SIP proxy servers. These parameters are the load in each SIP server (memory consumption, overall workload, etc), the calls currently serviced and its overall characteristics. In this project we recorded and analyzed all the subjects related to the study, the design and the development of this service, while thoroughly describing the selected and implemented solution. Initially there is a mention in the general load balancing systems to be found in different services. To continue with, the protocols of VoIP and SIP are described. Next we analyze the general load balancing schemes along with the model we implemented. We concentrate to the reasons we implement this model, the problems that occurred and the solutions we come up with. We present the SER (Sip Express Router) along with its functions. We have also included the source code plus the efficiency and quality measurements of our service implementation. Finally we describe all the necessary adjustments both to balancer and SIP Proxy and the architecture differences between this solution and the default. Kexagias Basilis Mpakas Vagelis Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN 2008 v

ΕΥΧΑΡΙΣΤΙΕΣ - ΑΦΙΕΡΩΣΕΙΣ Ευχαριστούμε ιδιαίτερα τον επιβλέποντα της διπλωματικής μας εργασίας κ. Καμπουράκη Γεώργιο, Λέκτορα του Τμήματος Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων του Πανεπιστημίου Αιγαίου για την υποστήριξη, την καθοδήγηση και τη συνεχή συνεργασία κατά τη διάρκεια της εκπόνησης της διπλωματικής εργασίας. Ευχαριστίες οφείλονται στον καλό μας συνάδελφο κ. Γενειατάκη Δημήτρη, ο οποίος μας προσέφερε τη βοήθειά του σε τμήματα της εργασίας στα οποία είχε εξειδικευμένες γνώσεις. Τέλος, θα θέλαμε να ευχαριστήσουμε τους γονείς μας για την καθοδήγηση, την υπομονή και την συμπαράστασή τους, καθ όλη την διάρκεια των σπουδών μας. Το μεγαλύτερο μερίδιο της επιτυχούς ολοκλήρωσης της φοίτησης μας, οφείλεται σε εκείνους. vi

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΕΡΙΛΗΨΗ...iii ABSTRACT...v ΕΥΧΑΡΙΣΤΙΕΣ - ΑΦΙΕΡΩΣΕΙΣ...vi ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ...vii ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ...ix ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ...x ΚΕΦΑΛΑΙΟ 1 - Εισαγωγή...12 1.1 Διαδικτυακές Υπηρεσίες...12 1.2 Διατήρηση Πληροφοριών...14 1.3 Χαρακτηριστικά των Load Balancer...15 ΚΕΦΑΛΑΙΟ 2 - Εισαγωγή στο VOIP...17 2.1 Πρωτόκολλα...19 2.1.1 SIP...19 2.1.2 Session Description Protocol SDP (Πρωτόκολλο Περιγραφής Συνόδου)...63 2.1.3 H.323...73 2.1.4 Real-Time Transport Protocol RTP...87 2.2 To VoIP στην πράξη...92 2.3 ΕNUM...96 2.3.1 Χρήσεις του ENUM...99 ΚΕΦΑΛΑΙΟ 3 - Σχήματα Load Balancing...101 3.1 Ανάλυση Τεχνολογιών Εξισορρόπησης Φόρτου...101 3.1.1 Εξέλιξη...102 3.2 Πρόσθετες Τεχνολογίες Εξισορρόπησης Φόρτου...103 3.3 Αλγόριθμοι Εξισορρόπησης Φόρτου...104 3.4 Αρχιτεκτονική και Στοιχεία Δικτύου...105 3.5 Συνάρτηση Αξιολόγησης...109 ΚΕΦΑΛΑΙΟ 4 - SIP Express Router SER...111 4.1 Γενική Αρχιτεκτονική...111 4.2 Στόχοι και Λειτουργική Αρχιτεκτονική...113 4.2.1 Υποστήριξη Βασικών SIP Υπηρεσιών...114 4.2.2 Προγραμματισμός και Διεπαφή Δημιουργίας Υπηρεσιών...114 4.2.3 Υποστήριξη Υπηρεσιών...116 4.2.4 Αυθεντικοποίηση, Εξουσιοδότηση και Χρέωση...117 4.2.5 Πύλες Εφαρμογών...118 4.2.6 Εφαρμογές Ενοποιημένων Μηνυμάτων...119 vii

4.3 Τεχνική Περιγραφή...119 ΚΕΦΑΛΑΙΟ 5 - Πηγαίος Κώδικας και Τεκμηρίωση...120 5.1 Λειτουργίες του Προγράμματος...120 5.2 SER Balancer...120 5.3 SER Proxy...126 ΚΕΦΑΛΑΙΟ 6 - Μετρήσεις Απόδοσης και Ποιότητας...138 6.1 Περιγραφή Σεναρίων...138 6.2 Μεθοδολογία...139 6.3 Αποτελέσματα και Συμπεράσματα...141 ΒΙΒΛΙΟΓΡΑΦΙΑ...145 ΠΑΡΑΡΤΗΜΑ I - Ser Configuration Files...149 Π.1 SER Balancer...149 Π.2 SER Proxy...153 ΠΑΡΑΡΤΗΜΑ II - Υλοποίηση της Συνάρτησης Count_calls()...158 ΠΑΡΑΡΤΗΜΑ III - Παράρτημα Ακρωνυμίων...162 viii

ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Πίνακας 2-1: Υποχρεωτικές κεφαλίδες για το αίτημα INVITE...51 Πίνακας 2-2: Παραδείγματα για την κεφαλίδα From...53 Πίνακας 2-3: Παραδείγματα για την κεφαλίδα From...54 Πίνακας 2-4: Παραδείγματα για την κεφαλίδα Το...55 Πίνακας 2-5: Παραδείγματα για την κεφαλίδα Via...56 Πίνακας 2-6: Παραδείγματα για την κεφαλίδα Contact...59 Πίνακας 2-7: Ετικέτες χαρακτηριστικών γνωρισμάτων...60 Πίνακας 2-8: Κλάσεις αποκρίσεων SIP...62 Πίνακας 2-9: Λίστα πεδίων SDP στην απαιτούμενη σειρά...65 Πίνακας 2-10: Τιμές των ιδιοτήτων...71 Πίνακας 2-11: Οικογένεια προτύπων Η.32x της ITU...74 Πίνακας 2-12: Πρωτόκολλα που σχετίζονται με το Η.323...76 Πίνακας 2-13: Τύποι πακέτων RTCP...89 Πίνακας 2-14: RTP/AVP Audio and Video...90 Πίνακας 2-15: Βασικά βήματα για την εγκατάσταση μια κλήσης VoIP...98 Πίνακας 2-16: Βασικά βήματα για την εγκατάσταση μια VoIP κλήσης με χρήση του ENUM...99 ix

ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Σχήμα 1-1: Παράδειγμα δύο αρχιτεκτονικών Load Balancing...13 Σχήμα 2-1: Η στοίβα πρωτοκόλλων πολυμέσων διαδικτύου...20 Σχήμα 2-2: Η θέση του SIP στο δίκτυο...22 Σχήμα 2-4: Το απλούστερο μοντέλο επικοινωνίας μεταξύ δύο UA...25 Σχήμα 2-5: Το απλούστερο μοντέλο επικοινωνίας μεταξύ ενός UA και ενός PA...25 Σχήμα 2-6: Υλοποίηση υπηρεσίας κλήσης με απόκρυψη...27 Σχήμα 2-7: Δίκτυο SIP με πύλες...29 Σχήμα 2-8: Αλληλεπίδραση μεταξύ UA, εξυπηρετητών και location service...30 Σχήμα 2-9: Δίκτυο SIP που χρησιμοποιεί proxy server...30 Σχήμα 2-10: Παράδειγμα κλήσης SIP με proxy server...31 Σχήμα 2-11: Τραπέζιο SIP...32 Σχήμα 2-12: Διαδικασία forking με proxy...34 Σχήμα 2-13: Παράδειγμα επικοινωνίας με χρήση redirect server...38 Σχήμα 2-14: Παράδειγμα κλήσης SIP με redirect server...39 Σχήμα 2-15: Βασική αρχή λειτουργίας του registration server...42 Σχήμα 2-16: Μήνυμα INVITE που δεν περιέχει περιγραφή SDP...50 Σχήμα 2-17: Δένδρο απόφασης για την προώθηση μηνύματος σύμφωνα με την κεφαλίδα Via...58 Σχήμα 2-18: Στοιχεία του δικτύου H.323...76 Σχήμα 2-19: Παράδειγμα ροής κλήσης στο H.323...79 Σχήμα 2-20: Ακολουθία τερματισμού κλήσης στο H.323...81 Σχήμα 2-21: Συνδέσεις FastStart με χρήση του H.323...82 Σχήμα 2-22: Συνοπτική σύγκριση των πρωτοκόλλων Η.323 και SIP...84 Σχήμα 2-23: Επικεφαλίδα των πακέτων RTP...87 Σχήμα 2-24: Εταιρικό τηλεφωνικό δίκτυο...92 Σχήμα 2-25: Εσωτερική τηλεφωνία VoIP...93 Σχήμα 2-26: Τηλεφωνία IP και PSTN...94 Σχήμα 2-27: Πλήρης τηλεφωνία VoIP...95 Σχήμα 3-1 Διάταξη του FWLB...103 Σχήμα 3-2 Επικοινωνία Balancer SIP Proxy...106 Σχήμα 3-3 Διάγραμμα κλήσεων μεταξύ όλων των εμπλεκομένων οντοτήτων...108 Σχήμα 4-1: Γενική Αρχιτεκτονική του SER...112 Σχήμα 4-2: Εννοιολογικό μοντέλο του SER...113 Σχήμα 6-1 : Οντότητες και αρχιτεκτονική υλοποίησης μετρήσεων... Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης. x

xi

ΚΕΦΑΛΑΙΟ 1 - Εισαγωγή Στην επιστήμη υπολογιστών ο όρος load balancing, ή εξισορρόπηση φόρτου, περιγράφει το διαμοιρασμό μιας λειτουργίας που θέλουμε να εκτελείται απρόσκοπτα μεταξύ ενός αριθμού διακομιστών με σκοπό τη μείωση ή καλύτερη εξισορρόπηση του φόρτου εργασίας όπως φαίνεται και στο Σχήμα 1-1. Αυτό γίνεται για να επιτευχθεί η συνεχής και απρόσκοπτη λειτουργία ενός συστήματος. Ο φόρτος μοιράζεται σε ένα αριθμό από διακομιστές που εξυπηρετούν ένα σκοπό. Αν κάποιος από αυτούς παρουσιάσει κάποιο πρόβλημα, οι υπόλοιποι συνεχίζουν το έργο απρόσκοπτα αν και επιβαρύνονται περισσότερο. 1.1 Διαδικτυακές Υπηρεσίες Μια από τις πιο κοινές εφαρμογές εξισσορόπησης φόρτου είναι η παροχή μιας υπηρεσίας από πολλαπλούς εξυπηρετητές, γνωστή και ως φάρμα από εξυπηρετητές. Πολλά τέτοια συστήματα περιλαμβάνονται σε δημοφιλές ιστοσελίδες, σε μεγάλους χώρους διαδικτυακής συζήτησης (chat rooms) και σε ιστοσελίδες με μεγάλη κίνηση από μεταφορά αρχείων File Transfer Protocol sites (MySpace,Facebook). Για τις διαδικτυακές υπηρεσίες την εξισορρόπηση φόρτου την αναλαμβάνει μια εφαρμογή, η οποία ακούει σε κάποια πόρτα (port) και οι πελάτες συνδέονται σε αυτή για να χρησιμοποιήσουν την υπηρεσία αυτή. Ο balancer προωθεί τα μηνύματα στους διακομιστές, οι οποίοι συνήθως του απαντούν. Αυτό επιτρέπει στο balancer να απαντά αυτός στους πελάτες χωρίς αυτοί να καταλάβουν ποτέ αυτόν τον διαχωρισμό. Επίσης αποτρέπει τους πελάτες από το να έρχονται σε απευθείας επαφή με τους διακομιστές, προσφέροντας κάποια πλεονεκτήματα στην ασφάλεια κρύβοντας τους την δομή του συστήματος και αποφεύγοντας τυχόν επιθέσεις στο επίπεδο στοίβας δικτύου. Μερικοί balancer παρέχουν και κάποιες ειδικές υπηρεσίες σε περίπτωση που όλοι οι διακομιστές δεν είναι διαθέσιμοι. Αυτό περιλαμβάνει την προώθηση των αιτήσεων στον εφεδρικό balancer ή την αποστολή σχετικού μηνύματος λάθους. Ένα εναλλακτικό μοντέλο balancing, το οποίο δεν απαιτεί κάποια εξειδικευμένη εφαρμογή ή εξοπλισμό είναι το Round Robin Domain Name System (DNS). Σε αυτήν την τεχνική πολλαπλές διευθύνσεις συνεργάζονται με ένα domain name (πχ www.example.org). Οι πελάτες είναι ελεύθεροι να επιλέξουν σε ποιο διακομιστή θέλουν να συνδεθούν. Σε αντίθεση όμως με την προηγούμενη τεχνική, εδώ οι πελάτες μπορούν να δουν την εσωτερική δομή του δικτύου των διακομιστών. Η τεχνική αυτή παρουσιάζει πλεονεκτήματα αλλά και μειονεκτήματα τα οποία εξαρτώνται από τον βαθμό ελέγχου του εξυπηρετητή DNS και του βαθμού εξισσορόπησης φόρτου που επιθυμούμε [1]. 12

Υπάρχει όμως και μια πληθώρα αλγόριθμων για load balancing, οι οποίοι μπορούν να αποφασίσουν σε ποιον διακομιστή θα αναθέσουν την κάθε κλήση σύμφωνα με κάποια κριτήρια. Ένας απλός αλγόριθμος είναι η τυχαία ανάθεση ή το απλό Round Robin. Πιο σύνθετοι αλγόριθμοι λαμβάνουν απόφαση εξετάζοντας το φόρτο του κάθε διακομιστή, το χρόνο απόκρισης του, τον αριθμό των ενεργών κλίσεων που εξυπηρετεί, τη γεωγραφική θέση του, τις δυνατότητες του ή το ποσοστό του συνολικού φόρτου που του έχει ανατεθεί. Σε συστήματα που απαιτούνται υψηλά επίπεδα απόδοσης χρησιμοποιείται load balancing πολλών επιπέδων. Σχήμα 1-1: Παράδειγμα δύο αρχιτεκτονικών Load Balancing 13

1.2 Διατήρηση Πληροφοριών Ένα μεγάλο πρόβλημα που προκύπτει σε ένα σύστημα εξισσορόπησης φόρτου είναι όταν απαιτείται από τους διακομιστές να διατηρήσουν στη μνήμη τους ορισμένες πληροφορίες για τους πελάτες που εξυπηρετούν για μελλοντική χρήση. Το πρόβλημα εμφανίζεται όταν κάποιος διακομιστής χρειαστεί κάποιες πληροφορίες για έναν πελάτη, οι οποίες έχουν αποθηκευτεί σε κάποιο άλλο διακομιστή όπως επίσης και αν τέτοια στοιχεία δεν αποθηκεύονται για μελλοντική χρήση. Μια λύση είναι η συνεχή εγγραφή των πελατών στον ίδιο διακομιστή. Ένα αρνητικό στοιχείο της τεχνικής αυτής είναι ότι δεν υπάρχει αυτόματη διαδικασία ανάνηψης στην περίπτωση αποτυχίας του συστήματος, με αποτέλεσμα αν ο διακομιστής που έχει τις πληροφορίες πέσει ή βγει εκτός δικτύου να μην μπορούν οι υπόλοιποι να λάβουν τις πληροφορίες. Οι αναθέσεις σε ένα συγκεκριμένο εξυπηρετητή μπορούν να γίνονται ανάλογα με το όνομα του χρήστη, με την διεύθυνση IP του πελάτη ή και τυχαία. Εξαιτίας όμως κάποιων ιδιοτροπιών όπως το DHCP, Network Address Translation(NAT) και web proxies οι διευθύνσεις των πελατών μπορούν να αλλάζουν με κάθε διαφορετικό αίτημα και έτσι αυτή η μέθοδος μπορεί να είναι σε κάποιες περιπτώσεις αναξιόπιστη. Οι τυχαίες αναθέσεις πρέπει να αποθηκεύονται στη μνήμη του balancer, ο οποίος δημιουργεί ένα αρχείο αποθήκευσης πληροφοριών. Αν κάποιος balancer πέσει ή αντικατασταθεί οι πληροφορίες αυτές χάνονται, ενώ επίσης μπορεί να χρειαστεί να υπάρχει κάποια περίοδος, η οποία αν ξεπεραστεί, οι πληροφορίες αυτές να διαγράφονται ώστε να μην ξεπεράσουν το διαθέσιμο χώρο τον οποίο έχουμε ορίσει στο σύστημα για το σκοπό αυτό. Επίσης η τυχαία ανάθεση πελατών απαιτεί και τη διατήρηση μιας κατάστασης από τους πελάτες κάτι που είναι δύσκολο, για παράδειγμα αν ο πελάτης έχει απενεργοποιήσει την επιλογή των cookies. Οι πιο εξεζητημένοι load balancers χρησιμοποιούν πολλαπλές τεχνικές διατήρησης πληροφοριών για να αποφύγουν τις αρνητικές επιπτώσεις της κάθε επιμέρους τεχνικής [3]. Μια εναλλακτική λύση είναι να δώσουμε σε όλους τους διακομιστές πρόσβαση σε όλα τα στοιχεία του κάθε διακομιστή ξεχωριστά. Αυτό μπορεί να γίνει με ένα διαδικτυακό σύστημα αρχείων ή με μια δικτυακή σχεσιακή βάση δεδομένων. Ανάλογα με την υλοποίηση αυτή η τεχνική μπορεί να παρουσιάσει ένα νέο σημείο αποτυχίας, το οποίο ενδέχεται να υπονομεύσει την αξιοπιστία του συστήματός μας. Επίσης, η ανάγκη ανταλλαγής πληροφορίας μεταξύ των εξυπηρετητών μπορεί να επηρεάσει αρνητικά την απόδοση και την ασφάλεια του συστήματος. 14

1.3 Χαρακτηριστικά των Load Balancer Οι αλγόριθμοι που υλοποιούν κάποια μέθοδο load balancing πρέπει να είναι υπεύθυνοι για την κατανομή του φόρτου στην κάθε επεξεργαστική μονάδα ή κόμβο, μεταφέροντας τον πολύ φόρτο σε μονάδες που έχουν λιγότερο [4]. Έτσι γενικά οι αλγόριθμοι εξισορρόπησης φορτίου μπορούν να κατηγοριοποιηθούν σε 3 τύπους: Στατικούς αλγορίθμους Load Balancing: αυτοί οι αλγόριθμοι κατανέμουν τον φόρτο αναθέτοντας εργασία σε κάθε κόμβο πριν την εκκίνηση του συστήματος. Αλγόριθμοι Δυναμικού Load Balancing: οι αλγόριθμοι αυτής της κατηγορίας μπορούν να διαμοιράσουν το φόρτο με στοιχεία που συλλέγουν κατά την εκκίνηση του συστήματος. Προσαρμόσιμοι αλγόριθμοι Load Balancing: οι αλγόριθμοι αυτής της κατηγορίας μπορούν αυτόματα να προσαρμόζονται στην τρέχουσα κατάσταση του συστήματος ανάλογα με κάποιες παραμέτρους που αξιολογούν δυναμικά. Ορισμένα από τα χαρακτηριστικά των balancer παρουσιάζονται παρακάτω: Ασύμμετρος φόρτος: Με την χρήση μιας αναλογίας μπορούμε να ορίσουμε χειροκίνητα ποιοι διακομιστές θα αναλαμβάνουν μεγαλύτερο φόρτο από κάποιους άλλους. Αυτό συμβαίνει πολλές φορές όταν κάποιος διακομιστής είναι περισσότερο γρήγορος από κάποιους άλλους. Ενεργοποίηση προτεραιότητας: Όταν ο φόρτος ανέλθει σε κάποιο όριο ή ο αριθμός των διαθέσιμων διακομιστών πέσει σε κάποιο όριο τότε ενεργοποιούνται οι εφεδρικοί διακομιστές. Κατανεμημένα συστήματα προστασίας από επίθεση της μορφής Denial of Service (DDoS): Οι balancers παρέχουν χαρακτηριστικά όπως τα SYN cookies και τις υποχρεωτικές καθυστερήσεις. Οι διακομιστές που τοποθετούνται πίσω από τον balancer δεν έρχονται σε επαφή με τον πελάτη μέχρι να ολοκληρωθεί η χειραψία TCP, έτσι ώστε να αποφευχθούν τυχόν επιθέσεις της μορφής SYN flood. Συμπίεση των ιστοσελίδων http: Μειώνονται τα ποσοστά των δεδομένων που κινούνται υποχρεώνοντας όλους τους νέους φυλλομετρητές να χρησιμοποιούν συμπίεση της μορφής gzip. Αποθήκευση στην προσωρινή μνήμη του TCP (TCP buffering): Αυτός ο αλγόριθμος μπορεί να αποθηκεύει τις απαντήσεις στην προσωρινή μνήμη του balancer και να περιμένει ώστε να τις λάβουν οι πιο αργοί πελάτες επιτρέποντας στον διακομιστή να συνεχίσει με το επόμενο αίτημα. 15

HTTP cashing: Με τον τρόπο αυτό ο αλγόριθμος μπορεί να αποθηκεύει κάποια στατικά περιεχόμενα έτσι ώστε κάποια αιτήματα να τα χειρίζεται ο balancer και να μην απασχολούν τον διακομιστή. Φιλτράρισμα περιεχομένου: Ορισμένοι αλγόριθμοι μπορούν αυθαίρετα να αλλάξουν την κίνηση των δεδομένων. Ασφάλεια HTTP: Ορισμένοι αλγόριθμοι μπορούν να αποκρύψουν τις ιστοσελίδες που εμφανίζουν λάθος, να αφαιρούν από τις κεφαλίδες, από το αναγνωριστικό των εξυπηρετητών και να κωδικοποιούν τα cookies έτσι ώστε οι τελικοί χρήστες να μην μπορούν να τα χρησιμοποιήσουν. Προτεραιότητα σειράς: Οι αλγόριθμοι αυτοί παρέχουν τη δυνατότητα αλλαγής προτεραιότητας της κίνησης ανάλογα με το είδος της. Έλεγχος περιεχομένου: Πολλοί αλγόριθμοι μπορούν να αποστέλλουν διαφορετικές αιτήσεις σε διαφορετικούς διακομιστές ανάλογα με το περιεχόμενο που διαθέτουν. Αυθεντικοποίηση των πελατών: Δηλαδή, η απαίτηση από το σύστημα οι χρήστες να αυθεντικοποιούνται πριν αποκτήσουν πρόσβαση σε κάποια ιστοσελίδα ή κάποια υπηρεσία. Φιλτράρισμα για Spam: Τουλάχιστον ένας balancer ελέγχει τις διευθύνσεις IP από τα πακέτα και τα απορρίπτει αν προέρχονται από γνωστούς spammers πριν καν φτάσουν στον κανονικό balancer. Τείχος προστασίας(firewall): Οι απευθείας συνδέσεις με τους διακομιστές απαγορεύονται για λόγους ασφάλειας. 16

ΚΕΦΑΛΑΙΟ 2 - Εισαγωγή στο VOIP Το Voice over IP (VoIP) είναι ένας όρος που χρησιμοποιείται στην IP τηλεφωνία για ένα σύνολο λειτουργιών που διαχειρίζονται την παράδοση των φωνητικών πληροφοριών με χρήση του πρωτοκόλλου διαδικτύου IP searchnetworking.com Στην ουσία το VoIP σημαίνει ότι η φωνή, ή οποιοδήποτε άλλο είδος ηχητικών δεδομένων, μεταφέρεται μέσω του Internet Protocol (IP). Μια VoIP υπηρεσία μπορεί να υλοποιηθεί χρησιμοποιώντας ποικίλα πρωτόκολλα σηματοδοσίας, ποικίλους αλγόριθμους κωδικοποίησης φωνής και ποικίλα εξαρτήματα και τηλεφωνικές συσκευές. Στην πραγματικότητα, ακόμα και η μεταφορά video μέσω IP μπορεί να θεωρηθεί VoIP γιατί από τεχνική άποψη δεν είναι πολύ διαφορετική από μια κανονική κλήση VoIP εκτός από το ότι έχει αυξημένες απαιτήσεις σε εύρος ζώνης και CPU. Δηλαδή, μπορεί να θεωρηθεί σαν ένα add-on στο VoIP. Το VoIP δεν είναι τόσο καλά καθορισμένο όσο η τηλεφωνία μέσω του δικτύου PSTN. Δεν έχει καθοριστεί ακόμα ένα ενιαίο παγκόσμιο πρότυπο σηματοδοσίας και είναι πολύ πιθανή η χρήση περισσότερων από ένα πρότυπα, τα επόμενα χρόνια. Απλές εφαρμογές VoIP υπάρχουν εδώ και χρόνια και υλοποιήθηκαν σε διαφορετικά εργαλεία άμεσων μηνυμάτων όπως τα ICQ, MSN Messenger, AOL Messenger. Συνήθως, το κάθε εργαλείο χρησιμοποιεί την δική του, ιδιωτική, λύση σηματοδοσίας. Οι λειτουργίες άμεσων μηνυμάτων και φωνητικής συζήτησης δεν μπορούν να θεωρηθούν ως αντικατάσταση για μια επαγγελματική σύνδεση PSTN και δεν είναι κατάλληλες για ευρεία χρήση. Όμως, το VoIP έχει ξεπεράσει τα περισσότερα προβλήματα που υπήρχαν αρχικά και η χρήση του γίνεται όλο και πιο ευρεία τα τελευταία χρόνια. Επίσης, το VoIP αναμένεται να αντικαταστήσει εξολοκλήρου το δίκτυο PSTN τις επόμενες δεκαετίες. Ο ρυθμός με τον οποίο θα γίνει η μεταφορά αυτή, εξαρτάται από έναν αριθμό παραγόντων. Ο σημαντικότερος από αυτούς είναι ίσως ο κύκλος αντικατάστασης προϊόντων των μεγάλων τηλεπικοινωνιακών εταιριών, οι οποίες θα υιοθετήσουν αυτή τη νέα τεχνολογία μόνο όταν θα είναι πιο φθηνή από την συντήρηση της υπάρχουσας υποδομής PSTN [5]. Το VoIP πρέπει να φτάσει ή καλύτερα να ξεπεράσει τα πρότυπα και την άνεση στην χρήση που παρέχονται στο PSTN. Το PSTN υπάρχει εδώ και δεκαετίες και η χρήση του είναι πολύ εύκολη αλλά και απαραίτητη για τον μέσο καταναλωτή. Επίσης, όπως ήδη αναφέρθηκε, το VoIP είναι πολύ νεότερο από το PSTN. Η ιδέα υλοποίησής του υπάρχει εδώ και κάποιο χρονικό διάστημα, αλλά η ευρεία χρήση και ολοκληρωμένη υλοποίησή του έχει μόλις αρχίσει. Αν και είναι πιο λειτουργικό από το PSTN, έχει ακόμα ελλείψεις σε συγκεκριμένους τομείς, όπως στην ευκολία χρήσης. Η ποιότητα της υπηρεσίας (Quality of Service) είναι επίσης ένα άλλο θέμα. Τεχνικά μια κλήση VoIP εκτελείται ως εξής [6]: 17

Ο Analog Digital Converter (ADC) μετατρέπει την αναλογική φωνή σε ψηφιακά σήματα (bits). Τα bit συμπιέζονται σε μορφή κατάλληλη για την μετάδοση της φωνής, δηλαδή σε πακέτα φωνής (voice packet). Τα πακέτα φωνής ενθυλακώνονται σε πακέτα δεδομένων χρησιμοποιώντας ένα πρωτόκολλο πραγματικού χρόνου (συνήθως το RTP). Η πραγματοποίηση της κλήσης γίνεται με τη χρήση κάποιου πρωτοκόλλου σηματοδοσίας όπως το Η.323 ή το SIP. Ο παραλήπτης αποσυνθέτει τα πακέτα, εξάγει τα δεδομένα και τα μετατρέπει σε σήματα αναλογικής φωνής, τα οποία αποστέλλονται σε κάποιο είδος ηχείου (ηχητικό σύστημα προσωπικού υπολογιστή, ακουστικά, τηλέφωνο, κλπ). Για να καταστεί το VoIP αποδεκτό και επιτυχημένο πρέπει να παρέχει (τουλάχιστον) ισότιμες υπηρεσίες με αυτές του PSTN. Η ποιότητα της ομιλίας του PSTN μπορεί εύκολα να επιτευχθεί γιατί τα codecs που χρησιμοποιούνται για τη συμπίεση και μετάδοση μιας τηλεφωνικής κλήσης του PSTN είναι ξεπερασμένα. Όμως, η καθυστέρηση των κλήσεων IP μπορεί να δημιουργήσει ένα σοβαρό πρόβλημα. Η καθυστέρηση που υπάρχει κατά την εκτέλεση μιας τηλεφωνικής κλήσης VoIP πρέπει να είναι μικρότερη από 0.3 δευτερόλεπτα γιατί σε άλλη περίπτωση δεν μπορεί να επιτευχθεί η συνομιλία[7]. Λόγω του γεγονότος ότι δεν υπάρχουν παγκόσμιες υλοποιήσεις QoS, δεν μπορεί να εγγυηθεί μια μέγιστη καθυστέρηση από τους παρόχους υπηρεσιών VoIP. Ένα άλλο σημαντικό θέμα είναι η νομοθεσία στην οποία υπόκεινται οι υπηρεσίες VoIP αφού προς το παρόν δεν υπάρχει κανένα σχετικό ευρωπαϊκό ή παγκόσμιο νομοθετικό πλαίσιο. Στην περίπτωση που το VoIP υλοποιηθεί σωστά, μπορεί να έχει πολλαπλά πλεονεκτήματα ώστε να υπερτερήσει τελικά της συμβατικής τηλεφωνίας PSTN [8]. Τα σημαντικότερα από αυτά είναι: μείωση κόστους, απλοποίηση, σταθεροποίηση, εξελιγμένες εφαρμογές Όπως είναι φυσικό το κυριότερο επιχείρημα για τη χρήση του VoIP είναι η μείωση του κόστους, που μπορεί να επιτευχθεί στις υπεραστικές κλήσεις και στις κλήσεις προς το εξωτερικό. Οι πολυεθνικές εταιρίες χρησιμοποιούν ήδη IP δίκτυα για τη μεταφορά διεθνών κλήσεων χωρίς μεγάλο κόστος. Η απλοποίηση θα επιτευχθεί μαζί με την επίτευξη προτυποποίησης σε έναν ικανοποιητικό βαθμό και θα έχει ως αποτέλεσμα μειωμένες απαιτήσεις σε εξοπλισμό. Για παράδειγμα, μπορεί πολύ εύκολα να σχεδιαστεί ένα κέντρο κλήσεων με VoIP soft phone στους υπολογιστές των πελατών ώστε να μην είναι χρήσιμες πλέον οι τηλεφωνικές συσκευές. Με την αλλαγή των διαφορετικών δομών συστημάτων σε ένα ενιαίο είναι πιο εύκολη η διαχείριση και ο 18

εντοπισμός των σφαλμάτων. Είναι επίσης σημαντικό να σημειωθεί ότι για τη χρήση του VoIP χρειάζεται μόνο ένα δίκτυο και επομένως ενοποιούνται τα δίκτυα PSTN και IP. Τέλος, το VoIP μπορεί να προσφέρει πολύ περισσότερες εφαρμογές από το τηλεφωνικό σύστημα PSTN, γεγονός το οποίο θα μπορούσε να είναι ένα καλό επιχείρημα ώστε οι τελικοί χρήστες να εμπιστευθούν και ακολούθως να μεταπηδήσουν σε ένα σύστημα VoIP. Οι εφαρμογές αυτές εμπεριέχουν υποστήριξη για πολυμεσικές εφαρμογές, όπως η τηλεφωνία video που αναφέρθηκε παραπάνω και άλλες μορφές υπηρεσιών δεδομένων όπως η διαχείριση παρουσίας (presence management). 2.1 Πρωτόκολλα Το καλό με τα πρότυπα είναι ότι υπάρχουν πολλά για να διαλέξεις Andrew S. Tanenbaum Για να μεταδοθούν τα δεδομένα φωνής πάνω από ένα IP δίκτυο μπορούν να χρησιμοποιηθεί ένας αριθμός πρωτοκόλλων. Στις επόμενες ενότητες περιγράφονται τα πιο διαδεδομένα πρωτόκολλα του VoIP όπως παρουσιάζονται και στο Σχήμα 2-1. 2.1.1 SIP Το SIP (Session Initiation Protocol Πρωτόκολλο Έναρξης Περιόδου Εργασίας) είναι ένα πρωτόκολλο σηματοδοσίας του επιπέδου εφαρμογής, το οποίο αναπτύχθηκε και σχεδιάστηκε από την IETF [9]. Το πρωτόκολλο σχεδιάστηκε έχοντας ως στόχο την εύκολη υλοποίηση, την εύκολη εξελιξιμότητα και την ευελιξία. Οι προδιαγραφές του SIP περιγράφονται στο RFC 3261 [10]. Το πρωτόκολλο χρησιμοποιείται για τη δημιουργία, την τροποποίηση και τον τερματισμό συνόδων μεταξύ των συμμετεχόντων. Στην περίπτωση του SIP η σύνοδος περιλαμβάνει ένα ζευγάρι αποστολέα και παραλήπτη που επικοινωνούν μεταξύ τους και τις καταστάσεις στις οποίες μπορεί να βρεθεί το παραπάνω ζεύγος κατά τη διάρκεια της επικοινωνίας. Παραδείγματα τέτοιων συνόδων αποτελούν οι τηλεφωνικές κλήσεις μέσω internet, η διανομή πολυμέσων, οι πολυμεσικές διασκέψεις, τα κατανεμημένα ηλεκτρονικά παιχνίδια, κλπ. 19

Signaling Media Utility SDP Media coding Application Layer H.323 SIP RTP DNS DHC Transport Layer TCP UDP Internet Layer IP Physical / Link Layer AALx PPP ATM V.90 Ethernet 802.11 Σχήμα 2-1: Η στοίβα πρωτοκόλλων πολυμέσων διαδικτύου 2.1.1.1 Η ιστορία του SIP Το SIP αναπτύχθηκε αρχικά από το Multi-Party Multimedia Session Control Working Group του IETF, γνωστό και ως MMUSIC. Η έκδοση 1.0 υποβλήθηκε ως internet-draft το 1997. Οι σημαντικές αλλαγές που έγιναν στο πρωτόκολλο οδήγησαν στην έκδοση 2.0, η οποία υποβλήθηκε ως internet-draft το 1998. Το πρωτόκολλο πέτυχε το προτιμώμενο επίπεδο προτυποποίησης τον Μάρτιο του 1999 και δημοσιεύτηκε ως RFC 2543 [11] τον Απρίλιο του 1999. Το Σεπτέμβριο του 1999, ιδρύθηκε η ομάδα εργασίας του SIP από την IETF για να ανταποκριθεί στο αυξανόμενο ενδιαφέρον για το πρωτόκολλο. Τον Ιούλιο του 2000 δημοσιεύτηκε ένα internet-draft που περιείχε διορθώσεις σφαλμάτων και επεξηγήσεις, το οποίο αναφέρεται ως RFC 2543 bis. Το έγγραφο δημοσιεύτηκε τελικά ως RFC 3261, το οποίο αντικαθιστά την αρχική προδιαγραφή RFC 2543. Επιπλέον, δημοσιεύτηκαν αρκετά έγγραφα RFC που επεκτείνουν το SIP. Η δημοτικότητα του SIP στον IETF οδήγησε στο σχηματισμό άλλων ομάδων εργασίας σχετικές με το SIP. Η ομάδα εργασίας Session Initiation Protocol INvestiGation (SIPPING) δημιουργήθηκε για να ερευνήσει τις εφαρμογές του SIP, να αναπτύξει τις απαιτήσεις των επεκτάσεών του και να εκδώσει τα έγγραφα των βέλτιστων τρεχουσών πρακτικών (BCP Best Current Practices) σχετικά με τη χρήση του SIP. Η ομάδα εργασίας SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) συστάθηκε για να προτυποποιήσει πρωτόκολλα που αφορούν εφαρμογές παρουσίας και άμεσων μηνυμάτων. Άλλες ομάδες που χρησιμοποιούν το SIP είναι οι ομάδες εργασίας PSTN and Internet Internetworking (PINT) και Service in the PSTN/IN Requesting InTernet Services (SPIRITS). 20

Το SIP ενσωματώνει στοιχεία από δύο ευρέως χρησιμοποιούμενα διαδικτυακά πρωτόκολλα: το Πρωτόκολλο Μεταφοράς Υπερκειμένου (Hypertext Transfer Protocol - HTTP) που χρησιμοποιείται για την πλοήγηση στο δίκτυο και το SMTP που χρησιμοποιείται για την υπηρεσία E-Mail. Από το HTTP, το SIP δανείστηκε την αρχιτεκτονική πελάτη εξυπηρετητή, τη χρήση των Ενιαίων Εντοπιστών Πόρων (Uniform Resource Locator - URL) και των Ενιαίων Αναγνωριστικών Πόρων (Uniform Resource Identifier URI). Από το SMTP, το SIP δανείστηκε ένα σχήμα κωδικοποίησης κειμένου και τη χρήση των κεφαλίδων. Για παράδειγμα, το SIP χρησιμοποιεί κεφαλίδες του SMTP όπως τις To, From, Date και Subject. 2.1.1.2 Το SIP στο δίκτυο Όπως ήδη ειπώθηκε το SIP είναι πρωτόκολλο ελέγχου επιπέδου εφαρμογής που μπορεί να εγκαταστήσει, να τροποποιήσει και να τερματίσει πολυμεσικές συνόδους, π.χ. τηλεφωνικές κλήσεις μέσω internet. Το SIP προσφέρει επίσης τη δυνατότητα συμμετοχής επιπλέον χρηστών σε μια ήδη υπάρχουσα κλήση, π.χ. συνόδους multicast. Ένα ακόμα χαρακτηριστικό είναι η τροποποίηση των παραμέτρων της επικοινωνίας και η προσθήκη ή αφαίρεση πολυμέσων [12]. Όπως ορίζεται στο RFC 3261, το SIP προσφέρει τέσσερις βασικές λειτουργίες [13]: Εντοπισμός χρήστη: Η λειτουργία αυτή είναι υπεύθυνη για τη μετάφραση του ονόματος του χρήστη στην τρέχουσα διεύθυνση δικτύου. Για παράδειγμα, η μετάφραση μιας διεύθυνσης παρόμοιας με αυτές που χρησιμοποιούνται στο e-mail, σε μια IP διεύθυνση. Η συγκεκριμένη λειτουργία περιλαμβάνει και κάποια χαρακτηριστικά μεταφερσιμότητας, που βοηθούν στον εντοπισμό της διεύθυνσης του χρήστη κατά τη διάρκεια της μετακίνησής του σε διαφορετικές τοποθεσίες του SIP δικτύου. Για παράδειγμα, όταν ο χρήστης μετακινείται σε διαφορετικό υποδίκτυο, το SIP URI (IP διεύθυνση) θα πρέπει να αλλάξει ανάλογα με το υποδίκτυο στο οποίο βρίσκεται. Με τον τρόπο αυτό βρίσκει την πιο πρόσφατη διεύθυνση του χρήστη. Διαπραγμάτευση χαρακτηριστικών: Η εν λόγω λειτουργία διασφαλίζει ότι όλοι οι συμμετέχοντες σε μία συνεδρία θα συμφωνήσουν μεταξύ τους για τα χαρακτηριστικά που θα υποστηρίζονται πριν την εγκατάσταση της. Εφόσον όλοι οι χρήστες δεν έχουν τις ίδιες δυνατότητες, ανταλλάσουν πληροφορίες μέχρις ότου να επιτευχθεί συμφωνία μεταξύ τους. Διαχείριση κλήσεων: Η ευθύνη για τη διαχείριση των συμμετεχόντων σε μια σύνοδο ελέγχετε με την παρούσα λειτουργία. Αυτό περιλαμβάνει την προσθήκη, την αφαίρεση, την μεταφορά των συμμετεχόντων καθώς και την ενεργοποίηση της λειτουργίας αναμονής. Για παράδειγμα, επιτρέπει σε ένα νέο χρήστη να λαμβάνει την ροή των δεδομένων βίντεο κατά τη διάρκεια μιας τηλεδιάσκεψης. 21