czwartek, 24 maj 2012
NEXT / Artykuły / NEXT 2/2007 / Artykuły z NEXT 2/2007 / VoIP – aspekty techniczne
NEXT 2/2007 - okładka





Temat numeru:
Przejdź do innych artykułów:

NEXT 2/2007 - VoIP – aspekty techniczne

VoIP – aspekty techniczne - ikonka protokoły komunikacyjne VoIP

Data: 19 październik 2007
Identyfikator: 070247

Z technologii VoIP może korzystać każdy, zaczynając od prostych konfiguracji w domu, a kończąc na rozbudowanej infrastrukturze w firmie. Główną zaletą tego rozwiązania jest znaczna redukcja kosztów.

Strona 1 z 3
< Poprzednia 1 2 3 Następna >

Zdaniem eksperta

Krzysztof Kozłowski
twórca i webmaster www.nextmag.pl


Integracja transmisji głosu i danych umożliwia zbudowanie jednej uniwersalnej sieci do przenoszenia różnego rodzaju ruchu. Jednak zagadnienie jakości w telefonii IP, jak również wszędzie tam, gdzie wymaga się działania w czasie rzeczywistym, jest bardzo skomplikowane i stanowi nie lada wyzwanie. Dzisiejsze sieci IP wykorzystujące protokół IPv4 oferują bardzo ograniczone możliwości zapewnienia odpowiedniego QoS, a w szczególności odnosi się to do internetu. Mam nadzieję, że dzięki organizacjom pracującym nad nowymi protokołami oraz technologią VoIP uda się uzyskać elastyczność i efektywność sieci transmisji danych z zachowaniem funkcjonalności i niezawodności sieci telefonicznych.

Idea technologii przesyłania głosu przez sieć TCP/IP (VoIP) jest prosta w zrozumieniu, ale u jej podstaw leżą skomplikowane protokoły komunikacyjne i kodeki audio. Przybliżymy ich cechy oraz metody wykorzystania. Dodatkowo wskażemy rozwiązania, które są używane w domu, oraz te, które mają największe zastosowanie w firmach. Bardzo ważnym zagadnieniem jest bezpieczeństwo, podkreślimy więc typowe problemy z nim związane, oczywiście w kontekście VoIP.

Protokoły VoIP

Wśród protokołów VoIP należy wyróżnić dwa powszechnie używane: SIP (Session Initiation Protocol) oraz H.323. Niektóre programy implementują oba rozwiązania, jednak większą popularnością cieszy się SIP.

Z innych znanych rozwiązań można wskazać Jingle bazujący na jabberze, stosowany w usłudze Google Talk, IAX (Inter-Asterisk eXchange)/IAX2, będący protokołem wykorzystywanym w centralach telefonicznych IP, oraz własnościowy protokół stosowany przez aplikację Skype. Mniej popularne rozwiązania to: SCCP (Skinny Client Control Protocol), używane przez telefony IP firmy Cisco, oraz MGCP (Media Gateway Control Protocol), opracowane przez International SoftSwitch Consortium.

Jak działa protokół SIP

Gdy użytkownicy chcą nawiązywać połączenia, najpierw muszą zarejestrować się w serwerze rejestracji, aby inni mogli ich znaleźć. Z tego powodu zarówno użytkownik A, jak i użytkownik B wysyłają żądanie REGISTER do serwera SIP (może on pełnić jednocześnie funkcję Proxy i rejestracji), a następnie otrzymuje odpowiedź OK o kodzie 200, jeśli udało się go pomyślnie uwierzytelnić. Całość tej operacji jest nazywana transakcją – składa się z powiązanych żądań i odpowiedzi. Kolejną transakcją jest nawiązywanie połączenia. Użytkownik A zaprasza użytkownika B do połączenia. W tym celu wysyła żądanie INVITE do serwera, który odpowiada, wysyłając wiadomość TRIYING o kodzie 100 oraz żądanie do użytkownika B. Kiedy próba nawiązania połączenia przez użytkownika jest sygnalizowana dzwonkiem, wysyła on odpowiedź, tj. wiadomość 180 RING. Gdy połączenie zostanie odebrane, wysyła odpowiedź 200 OK. Te wiadomości docierają do użytkownika A, który wysyła żądanie potwierdze-nia ACK. Połączenie jest ustanowione i swoją pracę zaczyna protokół RTP, który może przesyłać głos zgodnie z parametrami określonymi przez protokół SDP. Gdy połączenie ma być zakończone, ostatnia transakcja polega na wysłaniu żądania BYE do serwera, który przekierowuje je do użytkownika B i odbiera od niego wiadomość OK 200.

Do czego służy protokół SIP?

Zadaniem protokołu SIP jest nawiązywanie, modyfikowanie i kończenie interaktywnej sesji użytkownika, na którą składają się elementy multimedialne, takie jak wideo, głos, komunikatory internetowe, gry sieciowe oraz wirtualna rzeczywistość. Jego pierwsza wersja pojawiła się w 1996 roku jako RFC 2543, ale obecnie obowiązuje wersja z RFC 3261.

W przypadku VoIP komunikacja pomiędzy dwoma stronami połączenia jest możliwa dzięki dwóm protokołom, które wykorzystuje SIP: RTP/RTCP (Real-time Transport Protocol/Real-time Transport Control Protocol) oraz SDP (Session Description Protocol). Pierwszy z nich odpowiada za przesyłanie głosu w czasie rzeczywistym, a drugi za negocjację przez uczestników wspólnych parametrów sesji, np. kodeków.

W protokole SIP, opracowanym przez społeczność internetową, wykorzystano mechanizmy połączeń peer-to-peer. Oznacza to, że wiadomości przesyłane są bezpośrednio pomiędzy stronami połączenia, które są przystosowane do tego typu komunikacji – bez konieczności pośrednictwa serwerów. Takie rozwiązanie zapewnia brak pojedynczego punktu awarii oraz wysoką skalowalność. Protokół działa w sposób zbliżony do popularnych internetowych usług, takich jak HTTP, FTP czy SMTP, tzn. opiera się na tekstowych żądaniach i odpowiedziach. Dzięki temu z łatwością może być integrowany z innymi usługami sieciowymi, takimi jak strony WWW, poczta elektroniczna czy też chaty.

W architekturze SIP można wskazać dwa podstawowe komponenty: agentów użytkowników (UA, User Agent) oraz serwerów SIP (trzy typy: proxy, rejestracji oraz przekierowania). Agent użytkownika podzielony jest na dwie części: kliencką, która wysyła żądania i odbiera odpowiedzi, oraz serwerową, która wysyła odpowiedzi. Taki mechanizm zapewnia sprawną komunikację między użytkownikami. Rolę agenta użytkownika pełni telefon IP lub softphone.

Serwery proxy, które dzielimy na stanowe i bezstanowe, przesyłają wiadomości SIP dalej, decydując, do którego odbiorcy mają trafić (trasują je). Pierwsze (stanowe) przechowują informacje o połączeniach i trasach, co pozwala im na przesyłanie transmisji różnymi drogami, wybierając najlepszy sposób dotarcia do adresata. Drugie (bezstanowe) wyłącznie przesyłają wiadomości dalej, bez wyboru trasy. Serwery rejestracji przechowują informacje (głównie o lokalizacji w sieci) każdego nowego, rejestrującego się użytkownika. Serwery przekierowania wysyłają odpowiedzi do użytkownika o konieczności zmiany trasy pakietów.

Jedną z podstawowych funkcji serwerów SIP jest odnajdywanie użytkowników. Polega ono przede wszystkim na znalezieniu w systemie DNS adresu IP odbiorcy. Użytkownik, który nawiązuje połączenie, zna bowiem tylko tzw. adres SIP URI (SIP Uniform Resource Identifier) użytkownika, z którym chce się połączyć, a nie jego adres IP. SIP URI ma postać bardzo zbliżoną do adresu e-mailowego, ponieważ określa nazwę użytkownika oraz nazwę domeny, nazwę maszyny lub adres IP, oddzielone znakiem @. Serwer może, np. poprzez odpowiednie zapytania kierowane do DNS, określić adres IP, port i typ transportu do adresata.

Wiadomości przesyłane za pomocą protokołu SIP mają postać tekstową, a ich treść można podzielić na kilka części: rozpoczynającą linię, pola nagłówków, pustą linię oraz główną treść (opcjonalną). W przypadku żądania (tzw. metody) pierwsza linia zawiera nazwę operacji, adres wysyłającego żądanie oraz numer wersji SIP, np. INVITE sip: next@nextmag.pl SIP/2.0. Podstawowe sześć metod to:
  • INVITE – zaprasza użytkownika do sesji lub chce dokonać zmiany parametrów sesji,
  • ACK – potwierdzenie nawiązania połączenia przez użytkownika,
  • OPTION – pyta o możliwości serwera,
  • BYE – kończy sesję,
  • CANCEL – anuluje oczekujące żądanie,
  • REGISTER – rejestruje użytkownika.
W przypadku odpowiedzi (kodu stanu) pierwsza linia zawiera wersję SIP, kod odpowiedzi (podobny jak w protokole HTTP, np. 200 czy 404) oraz krótki opis. Przykład nawiązywania połączenia SIP został umieszczony w ramce „Jak działa protokół SIP”.

Tagi: telekomunikacja  
Ocena: +++++    (aby ocenić, musisz się zalogować w serwisie)

< Poprzednia 1 2 3 Następna >

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.