Radio Network Controller (RNC) – element sieci radiowej zbudowanej w standardzie UMTS, kontrolujący zasoby radiowe na obszarze pokrywanym przez sygnał emitowany z podłączonych do siebie (zazwyczaj od kilkudziesięciu do kilkuset) stacji bazowych (Node B). Rozdziela zasoby radiowe pomiędzy użytkowników, monitoruje ich połączenia, podejmuje decyzje o zmianie ich parametrów. Bierze także udział w transmisji danych pomiędzy użytkownikami i stacjami bazowymi a siecią szkieletową operatora.
Obszar na którym operator komórkowy oferuje usługi użytkownikom swojej sieci pokryty jest sygnałem emitowanym przez stacje bazowe. Liczba stacji bazowych na danym obszarze zależy od liczby terminali (ang. User Equipment), które znajdują się na tym terenie i od generowanego przez nie ruchu telekomunikacyjnego (liczba zestawianych połączeń, mobilność, transfer danych). Od kilkudziesięciu do kilkuset stacji bazowych podłączonych jest do jednego RNC[a]. Kontroluje ono zasoby radiowe oferowane przez te stacje, oraz terminale połączone za ich pomocą z siecią operatora.
RNC połączone jest też z siecią szkieletową (ang. Core Network). W obrębie sieci szkieletowej rozwijane są dwie niezależne sieci:
Dane przesyłane poprzez sieć radiową w zależności od ich charakteru trafiają przez RNC do jednej z sieci szkieletowych – związanej z komutacją łączy lub pakietowej (zachodzi też proces odwrotny – dane z sieci szkieletowej poprzez RNC przesyłane są do stacji bazowych). Standardowym sposobem połączenia RNC z siecią szkieletową było przypisanie go do jednego MGW i jednej centrali MSC (jedna para MGW/MSC może być połączona z kilkoma RNC) i do jednego SGSN. Obecnie wdraża się też bardziej zaawansowane rozwiązanie, gdzie RNC jest połączone z całą grupą MGW i z pulą MSC oraz z pulą SGSN.
RNC może być też połączone z innymi RNC kontrolującymi sąsiadujące obszary. Połączenie to będzie wykorzystywane gdy użytkownik rozmawiający lub transmitujący dane przejdzie pod kontrolę stacji bazowej połączonej z innym RNC niż z tym, w którym zaczął transmisję (tzw. Iur Handover).
Sieć transportowa (tzw. backhaul) łącząca RNC z innymi elementami sieciowymi (sieć szkieletowa, stacje bazowe, inne RNC) może używać technologii ATM (uważanej za stabilniejszą) lub Ethernet (umożliwiającej większy transfer i łatwiej konfigurowalnej). Obecnie w sieciach komórkowych trwa migracja z technologii ATM na Ethernet, niemniej jest to proces długotrwały (np. ze względu na dużą istniejącą już infrastrukturę ATM). Do jednego RNC część stacji bazowych może być podpięta poprzez infrastrukturę wspieraną przez technologię ATM, a część poprzez sieć ethernetową. Istnieją także rozwiązania dual stack: user plane (czyli dane przesyłane od/do użytkownika) są przesyłane na bazie sieci ethernetowej, a control plane (czyli signalling, informacje kontrolujące połączenie) dzięki warstwie transportu opartej na ATM.
W RNC zdefiniowane są logiczne interfejsy poprzez które komunikuje się ono z innymi elementami sieciowymi. Interfejs Iub służy do wymiany informacji ze stacjami bazowymi (Node B). Interfejs Iu zdefiniowany jest jako połączenie z siecią szkieletową. Czasami używa się określeń Iu CS i Iu PS, aby wskazać, czy chodzi nam o połączenie z siecią związaną z komutacją łączy (CS) czy pakietową (PS). Dzięki interfejsowi Iur RNC może wymieniać informacje z innym RNC. Interfejs Mu używany jest przez operatora do zarządzania RNC i kontrolowaną przez niego siecią radiową (za pomocą platformy OSS - Operations Support System).
Poprzez interfejsy Iu, Iub i Iur przesyłane są właściwe dane do/od użytkownika (tzw. user plane) oraz informacje sterujące - signalling (tzw. control plane), za pomocą których RNC komunikuje się z elementami infrastruktury oraz telefonami w celu zarządzania połączeniami i siecią radiową. Poniżej znajduje się opis protokołów używanych do tego celu (signalling).
RANAP to protokół używany do przesyłania informacji pomiędzy RNC a siecią szkieletową (MSC Server lub SGSN) poprzez interfejs Iu:
RNSAP to protokół używany w interfejsie Iur do zapewnienia terminalom mobilności pomiędzy obszarami kontrolowanymi przez różne RNC. Dzięki niemu, RNC na terenie którego rozpoczęto połączenie może nim zarządzać, nawet jeśli jest ono kontynuowane poprzez stację bazową podpiętą do innego RNC.
NBAP to protokół używany w interfejsie Iub do kontrolowania stacji bazowych oraz oferowanych przez nich zasobów. Ze względu na kontekst, w jakim przesyłane są informacje na bazie tego protokołu, można mówić o dwóch jego podzbiorach: Common NBAP i Dedicated NBAP.
Common NBAP zawiera operacje związane z wpływem RNC na działanie NodeB, nie związane z konkretnymi UE już zdefiniowanymi/obsługiwanymi w tej stacji bazowej. Przykładowym zastosowaniem może być:
Dedicated NBAP to procedury związane z obsługą w stacji bazowej poszczególnych UE, które już mają zestawione połączenia obsługiwane przez to NodeB (te UE są już w niej zdefiniowane, posiadają w niej UE context). Przykładowym zastosowaniem takich operacji może być:
RRC (Radio Resource Control) to protokół używany do bezpośredniej komunikacji pomiędzy RNC i UE (komunikacja ta jest nawiązana poprzez stację bazową, ale ona nie analizuje przesyłanych za pomocą tego protokołu informacji, tylko przesyła je dalej do UE/RNC). Przykładowe zastosowania to:
Dane (np. pakiety IP lub cyfrowo zakodowany głos) przesyłane z sieci szkieletowej do sieci radiowej nie mogą być w takiej postaci transmitowane przez stację bazową. Poziom szumu związany z innymi transmisjami w komórce oraz z sygnałami pochodzącymi od innych komórek jest na tyle duży, że po wyodrębnieniu ich przez odbiornik ze wspólnego kanału transmisyjnego poziom błędu byłby tak wysoki, że nie byłoby możliwe prawidłowe odczytanie pierwotnej informacji. Dane odbierane przez RNC z sieci szkieletowej są więc formowane w tzw. RLC Packet Data Units, informacja w nich zawarta może być zwielokrotniona (dzięki redundancji łatwiej jest odzyskać dane, gdy część została utracona podczas transmisji), dodawane są sumy kontrolne i formowane są ramki radiowe (ang. radio frames), które są przesyłane do stacji bazowej a następnie transmitowane poprzez interfejs radiowy. Zachodzi też odwrotny proces - ramki radiowe wysłane przez terminal użytkownika są przez stację bazową przesłane do RNC, które "odzyskuje" z nich właściwą informacje i formuje z nich dane wygenerowane w pierwotnej formie, przed przesłaniem ich do sieci (np. pakiety IP lub cyfrowo zakodowany głos).
Inną ważną funkcją jest sterowanie ilością danych, które mogą być przesłane w jednej ramce radiowej w ciągu 10 ms (WCDMA Release 99, czyli transfer do 384 kbps), lub 2 ms (HSDPA). Dla każdej transmisji tworzony jest kanał transportowy i związany z nim bufor, w którym przetwarzane są dane w warstwie drugiej. Gdy podczas transmisji okazuje się, że terminal użytkownika nie nadąża z prawidłowym odebraniem informacji, RNC spowalnia jej transmisję. W WCDMA Release 99, RNC odpowiedzialne jest także za retransmisję informacji, która nie została prawidłowo odebrana przez odbiornik.
Terminale większości użytkowników są włączone, ale w nie mają nawiązanego połączenia z siecią - są w tzw. stanie Idle. RNC ma pewien wpływ na ich zachowanie. Poniżej przedstawiono pewne charakterystyczne przykłady.
Telefon komórkowy włączając się do sieci wybiera komórkę (ang.cell), która oferuje najsilniejszy sygnał (procedura cell selection)[b] na kanale pilota (ang. pilot channel). Za pomocą zasobów radiowych oferowanych przez tę komórkę przeprowadzi uwierzytelnianie w sieci szkieletowej, a później te zasoby będą mogły być użyte podczas procedury zestawienia połączenia do użytkownika tego telefonu. Podczas przemieszczania się telefonu badana jest siła sygnału emitowanego na kanale pilota przez różne komórki. W sytuacji gdy inna komórka oferuje silniejszy sygnał niż obecna następuje procedura cell reselection, od tej chwili telefon będzie mógł być "wywołany" podczas zestawienia do niego połączenia za pomocą zasobów tej nowej komórki. Poszczególne komórki są obsługiwane przez anteny będące częścią stacji bazowych połączonych z RNC. W RNC zdefiniowane są wszystkie obsługiwane przez nie komórki oraz ich parametry. Jednym z nich jest siła sygnału na kanale pilota w poszczególnych komórkach. Te ustawienia wykonywane na poziomie RNC determinują komórkę, która zostanie na konkretnym obszarze wybrana przez telefon za pomocą procedur cell selection/reselection.
Obszar na którym operator świadczy usługi związane z połączeniami głosowymi podzielony jest na tzw. Location Areas (LA). Jeden LA zawiera zazwyczaj kilkaset komórek. Na bazie komórek obsługiwanych przez jedno RNC definiuje się jedno lub kilka LA. Każdemu LA w sieci przypisany jest parametr nazywany Location Area Code (LAC), który jest liczbą z zakresu 1-65535. Podczas definiowania komórki w RNC przypisuje się jej wartość parametru LAC i tym samym determinuje, w którym Location Area się ona znajduje. Parametr LAC jest transmitowany w każdej komórce na kanale rozgłoszeniowym (broadcast channel). Telefon zmieniający komórkę (wykonujący procedurę cell reselection) odczytuje ten parametr i sprawdza czy zmienił LA. Jeśli tak, wysyła poprzez sieć radiową do MSC/VLR informację o tym (procedura Location Update). Innym parametrem zdefiniowanym w RNC i transmitowanym na kanale rozgłoszeniowym w komórkach w obrębie całego LA jest tzw. t3212. Określa on jak często telefon powinien wysyłać informację o swoim położeniu (LAC) do sieci nawet jeśli nie zmienia LA (tzw. Periodic Location Update). Konfiguracja RNC determinuje więc w jakich warunkach i jak często telefon aktualizuje swoje położenie wysyłając odpowiednią informację do sieci szkieletowej.
Aktualizowana przez telefon wartość LAC jest informacją związaną z położeniem telefonu, znaną w sieci szkieletowej. Kiedy ktoś nawiązuje połączenie głosowe z użytkownikiem tego telefonu, odpowiednia informacja (wraz z LAC zaraportowanym ostatnio przez telefon) trafia do RNC, które rozpocznie procedurę nazywaną paging - wyśle odpowiednią informację do wszystkich stacji bazowych obsługujących komórki należące do Location Area związanych z tym LAC. Informacja ta będzie transmitowana w tych komórkach na specjalnym przeznaczonym do tego kanale (paging channel). Telefony w stanie Idle nasłuchują na tym kanale tego typu informacji o połączeniach przychodzących. W jednej z komórek w tym LA będzie znajdował się telefon, do którego skierowana jest ta konkretna informacja. Odpowie na nią i sieć będzie w stanie zakończyć procedurę zestawiania połączenia pomiędzy jego obiema stronami.
Gdy telefon wysyła żądanie związane z zainicjowaniem połączenia, odpowiednia informacja dociera do RNC. Tam zaimplementowana jest logika związana z zestawieniem połączenia i przypisaniem dla niego zasobów w sieci radiowej. RNC wybiera komórkę (ang. cell) w której zostanie ustanowione połączenie (sugeruje się pomiarami siły i jakości sygnałów z poszczególnych anten, raportowanych przez telefon, oraz sytuacją w poszczególnych komórkach, np. poziom interferencji związany z zestawionymi tam połączeniami, liczba pozostałych do użycia kodów kanałowych). Podczas zestawiania połączenia RNC komunikuje się
RNC bierze udział (Outer Loop Power Control) w procedurze związanej z kontrolą mocy sygnału nadawanego przez terminale. Bezpośrednio kontrola mocy (Fast Closed-Loop Power Control) odbywa się w stacji bazowej, która przesyła (1500 razy na sekundę) do telefonu informacje o mocy z jaką powinien nadawać, ale RNC ma wpływ na parametry z jakimi zachodzi ten proces. W RNC każda transmisja jest monitorowana. Są sprawdzane sumy kontrolne w otrzymanych ramkach danych i porównywane z założonym dopuszczalny stopniem błędu (BLER - Block Error Rate). Jeśli błąd jest większy, RNC instruuje stację bazową aby zwiększyło współczynnik SIR (Signal To Interference, czyli stosunek mocy sygnału emitowanego przez User Equipment do mocy "szumu tła" w danej komórce), który jest punktem odniesienia dla stacji bazowej podejmującej decyzje o poinformowaniu telefonu o zmianie mocy nadawania sygnału. Także w przypadku lepszego niż założony dopuszczalnego stopnia błędu RNC poinformuje stację bazową o zmniejszeniu współczynnika SIR, tak aby telefon nie nadawał z niepotrzebnie dużą mocą (skoro mniejsza wystarczy do zapewnienia dobrej jakości transmisji). Tego typu instrukcje są wysyłane z RNC do stacji bazowej od 10 do 100 razy na sekundę.
RNC przechowuje w pamięci relacje zdefiniowane dla komórek obsługiwanych przez podpięte stacje bazowe. Dla każdej komórki, zdefiniowane są inne komórki, do których można z niej wykonać handover. Gdy User Equipment (UE) rozpoczyna transmisję, RNC przesyła mu informacje o innych komórkach (wykorzystujących tę samą częstotliwość), których siłę sygnału powinien monitorować. Gdy któraś z nich spełni wymagane kryteria, UE wyśle odpowiedni raport do RNC, które może wykonać operację soft/softer handoveru: sygnał z obu komórek będzie wykorzystywany przez UE (w obu będą nadawane te same dane, ale polepszy się jakość wysłanych/odebranych informacji). Wszystkie komórki, z których korzysta jednocześnie UE tworzą tzw. Active Set. Gdy sygnał z którejś z nich stanie się zbyt słaby, UE poinformuje o tym RNC, które wykona procedurę usunięcia tej komórki z Active Set przypisanego dla tej transmisji. Gdy sygnał z wykorzystywanej komórki słabnie, a żadna inna wykorzystującą tę samą częstotliwość nie spełnia wymaganych kryteriów, RNC może przesłać do UE listę komórek używających inną częstotliwość lub nawet listę komórek obsługiwanych w standardzie GSM, których sygnał powinien być monitorowany. Gdy któraś z nich spełni wymagane kryterium, RNC wykona tzw. hard handover, czyli rozłączy UE od zasobów dotychczasowej komórki i przypisze jej zasoby nowej (w przypadku handoveru do GSM, procedura ta zostanie wykonana wspólnie z BSC - odpowiednikiem RNC w sieciach GSM).
Terminal, który utrzymuje połączenie internetowe znacznie szybciej zużywa zasoby baterii niż taki, który pozostaje w stanie Idle. Podstawową strategią (Fast dormancy) dla telefonów, które przestawały, choćby na krótko, transmitować dane (np. użytkownik ściągnął za pomocą przeglądarki stronę WWW i zapoznaje się z jej zawartością lub aplikacja w smartfonie sprawdza cyklicznie informacje na portalu społecznościowym) było całkowite rozłączenie sesji. Rozwiązywało to problemy związane z nadmiernym zużyciem baterii, ale powodowało inne problemy dla sieci (np. znaczne obciążenie kanałów sygnalizacyjnych) oraz użytkownika (zmniejszał się komfort związany z użytkowaniem internetu w związku z czasem potrzebnym do ponownego nawiązania sesji). RNC posiada funkcjonalność, dzięki której tacy użytkownicy będą utrzymywani (przez pewien ustalony przez operatora czas) w specjalnych stanach CELL_PCH i URA_PCH, które charakteryzują się poborem mocy niewiele większym niż w stanie Idle oraz umożliwiają szybkie i mało obciążające dla sieci odnowienie sesji użytkownika.
Gdy użytkownik "rozłączy się", informacja o tym dotrze do RNC, które rozpocznie procedurę zwalniania zasobów w sieci radiowej i transportowej przypisanych do tego połączenia. Taka sama procedura zostanie zainicjowana, gdy użytkownik utraci połączenie z siecią (nie będzie z nim kontaktu przez pewien zdefiniowany w RNC czas).
RNC kontroluje zasoby radiowe oferowane przez podległe mu stacje bazowe. Potrafi monitorować stan tych zasobów, rozdzielać je pomiędzy użytkowników oraz wpływać na stopień ich zajętości.
Gdy nowe połączenie ma zostać zrealizowane na bazie zasobów radiowych oferowanych w pewnej komórce (np. User Equipment inicjuje nowe połączenie, lub następuje próba handoveru), RNC wykorzystuje mechanizm admission control do oszacowania czy może zezwolić na kontynuację tej procedury. Bierze pod uwagę ilość zasobów obecnie używanych w komórce, zasoby potrzebne do realizacji tego nowego połączenia oraz limit ustalony dla tej komórki przez operatora.
Niektóre zasoby, takie jak poziom interferencji w uplinku, lub sumaryczna moc wszystkich transmisji w downlinku zmieniają się dynamicznie. Ich wartość może np. nie być przeciwwskazaniem do odrzucenia żądania zestawienia nowego połączenia (i zajęcia dodatkowych zasobów), ale po pewnym czasie może przekroczyć ustalone limity, co ma negatywny wpływ na warunki transmisji. RNC cały czas monitoruje te zasoby w podległych sobie komórkach i może regulować ich wielkość np. poprzez zmianę parametrów poszczególnych transmisji (np. umożliwiany transfer) lub “przenoszenie” ich (handover) do innych dostępnych komórek.
Jednym z mechanizmów umożliwiających kontrolowanie wspomnianych powyżej zasobów jest channel switching. RNC za jego pomocą reguluje wielkość transferu umożliwianą dla poszczególnych połączeń, może także część z nich przenieść na wspólny kanał transmisyjny umożliwiający (bez przypisywania dedykowanych zasobów) pomieszczenie wielu użytkowników nie przesyłających dużych ilości danych. Mechanizm ten używany jest także, do optymalizowania liczby transmisji - np. gdy brakuje zasobów dla nowego połączenia pakietowego, zmniejsza się transfer innych połączeń, a zaoszczędzone zasoby mogą być użyte dla kolejnego użytkownika. RNC potrafi także optymalizować liczbę użytkowników połączeń głosowych przypisując im różnego rodzaju kodeki. Np. gdy nie brakuje wolnych zasobów, transmisje przeprowadzane są za pomocą kodeka AMR12200 (12.2 kbps), gdy liczba użytkowników znacząco się zwiększa, połączenia są realizowane za pomocą kodeka AMR5900 (5.9 kbps), oferującego gorszą jakość rozmowy, ale zajmującego mniej zasobów radiowych.
W systemach GSM, cdmaOne i CDMA2000 elementy infrastruktury sieciowej spełniające podobną rolę jak RNC nazywają się Base Station Controller. W standardzie LTE taki element nie występuje w ogóle, funkcjonalność RNC została przeniesiona do stacji bazowej (eNodeB). Ten trend rozpoczął się już także w standardzie UMTS - w przypadku technologii HSDPA część funkcji RNC (rozdzielanie kodów kanałowych pomiędzy użytkowników komórki i retransmisja danych przesyłanych do użytkowników) również zaimplementowano w stacji bazowej (Node B).
Czasami dla RNC stosuje się dodatkowe określenia w zależności od roli jakie przyjmuje w realizowanych przez siebie scenariuszach. Zasoby radiowe udostępniane przez stacja bazową są kontrolowane przez RNC. To RNC dla tej stacji bazowej jest określane jako Controlling RNC - CRNC.
Gdy User Equipment zaczyna transmisję używając zasobów radiowych oferowanych przez stację bazową kontrolowaną przez jedno RNC, z później używa zasobów oferowanych przez stacje bazową kontrolowaną przez inne RNC (zobacz rysunek obok) zachodzi tzw. Iur handover. RNC na terenie którego rozpoczęto transmisję (rozmowę) nazywane jest Serving RNC - SRNC. RNC na terenie którego kontynuowana jest transmisja to Drifting RNC - DRNC. DRNC bezpośrednio kontroluje stację bazową, która udostępnia zasobu radiowe, ale cała logika związana z utrzymaniem połączenia (także dalsze decyzje o handoverach) oraz komunikacja z siecią szkieletową nadal odbywa się w SRNC.
Oczywiście wszystkie RNC w sieci posiadają odpowiedni software, dzięki któremu mogą przyjmować każdą z opisanych powyżej ról.