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 | edytuj kod]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 | edytuj kod]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 | edytuj kod]- 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 | edytuj kod]- H. Schulzrinne i inni, RTP: A Transport Protocol for Real-Time Applications, STD 64, RFC 3550, IETF, lipiec 2003, DOI: 10.17487/RFC3550, ISSN 2070-1721, OCLC 943595667 (ang.).