Real Time Control Protocol

RTCP (ang. Real-time Transport Control Protocol) jest protokołem sterującym wspierającym protokół RTP (ang. Real-time Transport Protocol) w transporcie danych czasu rzeczywistego takich jak np. audio czy wideo. Pozwala monitorować dostarczanie danych oraz zapewnia w ograniczonym zakresie funkcje sterujące i identyfikacyjne. Opiera się na okresowej transmisji pakietów kontrolnych do wszystkich uczestników sesji.

Zadania RTCP edytuj

Protokół RTCP spełnia cztery zadania:

  • Dostarcza zwrotnej informacji odnośnie do poprawności odebranych danych,
  • Przenosi stały identyfikator transportowy źródła protokołu RTP zwany nazwą kanoniczną – CNAME (zawsze niezmienny, w przeciwieństwie do identyfikatora SSRC (ang. Synchronization Source), który może zmienić wartość w przypadku wykrycia konfliktu lub restartu systemu),
  • Dopasowuje częstotliwość wysyłanych pakietów kontrolnych do liczby użytkowników sesji,
  • Opcjonalnie – przenosi zminimalizowaną informację kontrolną sesji – np. wyświetlanie identyfikatora użytkownika (nadawcy) na ekranie monitora odbiorcy pakietów.

Format pakietu RTCP edytuj

Poniżej wymienione zostały typy pakietów RTCP przenoszące rozmaite informacje sterujące:

  • SR – (ang. Sender Report) Raport nadawcy – transmisja i przyjmowanie statystyki od uczestników sesji – aktywnych nadawców,
  • RR – (ang. Receiver Report) Raport odbiorcy – przyjmowanie statystyki od uczestników sesji niebędących aktywnymi nadawcami oraz jako kombinacja wraz z SR – raportowanie aktywnych nadawców przy liczbie źródeł sygnału powyżej 31,
  • SDES – (ang. Source Description) Opis źródła – dane identyfikacyjne źródła sygnału łącznie z CNAME,
  • BYE – zakończenie udziału w sesji uczestnika,
  • APP – specyficzne funkcje aplikacji.

Każdy pakiet RTCP zaczyna się stałą częścią podobnie jak pakiety RTP. Pojedyncze pakiety RTCP grupuje się w tzw. pakiet złożony (ang. compound) RTCP wysyłany jako pakiet pojedynczy przez protokoły niższego poziomu (warstwy) np. UDP. W zasadzie nie ma ograniczeń co do ilości pojedynczych pakietów RTCP w pakiecie złożonym. Każdy z indywidualnych pakietów RTCP w pakiecie złożonym może funkcjonować jako pakiet niezależny od pakietów pozostałych, muszą być jednakże spełnione pewne warunki, aby protokół mógł funkcjonować poprawnie.

Warunki poprawnego funkcjonowania protokołu RTCP edytuj

  • Informacje statystyczne powinny być wysyłane tak często jak pozwalają na to warunki łącza, aby zwiększyć ich dokładność i wiarygodność,
  • Nowi odbiorcy powinni odebrać identyfikator źródła sygnału (CNAME) tak szybko jak to możliwe,
  • Liczba możliwych typów pakietów mogących pojawiać się jako pierwsze w pakiecie złożonym powinna być ograniczona,
  • Pierwszy pakiet w pakiecie złożonym musi być pakietem raportowym tzn. SR lub RR,
  • Pakiet BYE (jeśli występuje) musi być ostatnim pakietem,
  • Pakiet SDES zawierający identyfikator źródła CNAME, musi być zawarty w każdym pakiecie złożonym. Inne informacje jakie może zawierać pakiet SDES są opcjonalne w zależności od potrzeb aplikacji (adres pocztowy, telefon, lokalizacja itp.).

Linki zewnętrzne edytuj