|
Po co jest potrzebny SIP (Session Initiation Protocol)? W sieci istnieje wiele
aplikacji i usług, które potrzebują mechanizmów do tworzenia i
zarządzania sesją użytkownika. Sesja jest niczym innym jak wymianą
informacji między skojarzonymi ze sobą uczestnikami. Implementacja tych
aplikacji jest o tyle skomplikowana, że uczestnicy sesji często moga
zmieniać swoje położenie, mogą być adresowani przez wiele nazw z nimi
skojarzonych, co gorsze mogą nawet porozumiewać się przez wiele
różnorodnych mediów.
W związku z czym powstało
wiele protokołów, których zadaniem jest dostarczanie w trybie
rzeczywistym informacji w takiej sesji (czy to danych należących do
głosu, wideo czy wiadomości czysto tekstowych). SIP (Session Initiation Protocol) współpracuje z tymi protokołami, dostarczając punktom końcowym w sieci Internet (nazywanych agentami użytkowników
UA - user agent) odkrywanie jeden drugiego i uzgadnianie
charakterystyki sesji, którą chcą przeprowadzić. Dla lokalizacji
uczestników sesji, SIP umożliwia stworzenie infrastruktury hostów
sieciowych (nazywanych agentami proxy - proxy agent), do
których agenci użytkowników wysyłają żądania rejestracji i zaproszenia
do sesji (oraz inne). SIP jest więc doskonałym narzędziem dla
tworzenia, modyfikowania i zakończenia sesji, która działa niezależnie
od leżących niżej protokołów transportowych oraz bez zależności od typu
zestawionej sesji.
Czym jest SIP?
SIP
jest protokołem sterującym warstwy aplikacyjnej modelu OSI, który może
zastawić, zmodyfikować i zakończyć sesje multimedialne (np. konferencje
lub wywołanie telefonii internetowej VoIP). SIP umożliwia również
zaproszenie uczestników do juz zestawionej sesji, np. do konferencji
multicastowej. Dane typy mediów można dodac (lub analogicznie usunąć) z
istniejącej sesji. SIP przezroczyście wspiera także usługi odwzorowania
nazw (name mapping) i przekierowań (redirection), które umożliwiają
mobilność użytkownika, co oznacza, że może on mieć jeden identyfikator
widoczny z zewnątrz niezależnie od swojej lokalizacji sieciowej.
SIP obsługuje pięć aspektów zestawienia i zakończenia komunikacji multimedialnej:
- Lokalizacja użytkownika - czyli określenie systemu końcowego, który będzie wykorzystany do komunikacji;
- Dostępność użytkownika - czyli określenie gotowości strony wywoływanej do włączenia się do komunikacji;
- Możliwości użytkownika - czyli określenie medium i parametrów tego medium do wykorzystania;
- Zestawienie sesji - czyli dzwonienie, zestawienie parametrów sesji po obu stronach wywołania, stronie wywołującej i wywoływanej;
- Zarządzanie sesją - zawiera transfer i zakończenie sesji, modyfikację parametrów sesji i usługi przywołania.
Szczegółowe
informacje o SIP można znaleźć w RFC3261 na stronach organizacji IETF
(Internet Engineering Task Force). SIP nie jest sztywno zintegrowanym
systemem komunikacyjnym, jest on raczej komponentem, który można użyć z
innymi protokołami IETF by zbudować kompletną architekturę
multimedialną. Taka architektura będzie zawierać takie protokoły jak Real-time Transfer Protocol (RTP) dla dla transportu danych w czasie rzeczywistym i dostarczania informacji zwrotnej o QoS (jakości usług), Real-Time Streaming Protocol (RTSP) do sterowania dostarczaniem strumienia medialnego, Media Gateway Control Protocol (MEGACO) do sterowania bramami (gateways) do sieci publicznej PSTN oraz Session Description Protocol
(SDP) dla opisania sesji multimedialnej. W związku z tym SIP powinien
być stosowany w powiązaniu z innymi protokołami, aby dostarczyć
kompletną usługę dla użytkownika. Mimo to podstawowe funkcjonalności
SIP nie zależą od jakiegokolwiek protokołu.
SIP
nie dostarcza usług, a jedynie dostarcza prymitywy, które mogą zostać
wykorzystane do implementacji różnych usług (np. SIP dostarcza
prymitywę, a w powiązaniu z nią SDP może opisać daną sesję).
SIP
nie oferuje usług związanych ze sterowaniem konferencji, takich jak np.
sterowanie salą debat czy głosowaniem oraz nie opisuje jak konferencja
powinna być zarządzana. SIP może zostać wykorzystany do zainicjowania
sesji, która wykorzystuje inny protokół steroania konferencją.
Wiadomości SIP i sesje zestawione przez protokół mogą przechodzić przez
wiele różnych sieci, mimo to, SIP nie ma żadnych możliwości rezerwacji
zasobów sieciowych.
W
związku z naturą usług prowadzonych w sieci, sprawy bezpieczeństwa są
bardzo istotne. Dlatego też SIP dostarcza zbiór usług bezpieczeństwa,
które zawierają prewencję przed atakami DOS (denial-of-service),
uwierzytelnienie (zarówno użytkownik do użytkownika jak i proxy do
użytkownika), ochronę integralności oraz usługi szyfrowania i
prywatności. SIP współpracuje z protokołem IPv4 jak i z IPv6.
|