Z okazji sobotniego wieczoru opowiem wam jak w praktyce wygląda implementacja rzeczy związanych z sieciami komórkowymi. Celowo będę pomijał szczegóły techniczne, ponieważ osoby niezaznajomione z tematem (a takich tutaj jest większość) mogłyby się bardzo łatwo w tym wszystkim pogubić. Jeśli ktoś chciałby dowiedzieć się czegoś więcej, zapraszam do pytania w komentarzach.
0. Międzynarodową organizacją, która standaryzuje sieci komórkowe jest 3rd Generation Partnership Project (3GPP). Powstała 26 lat temu z okazji trzeciej generacji sieci mobilnych i tak już sobie została. W międzyczasie stworzyła standardy dla czwartej (Long Term Evolution - LTE) oraz piątej (New Radio - NR) generacji. Na przestrzeni lat miała kilku konkurentów, między innymi organizację o nazwie 3GPP2 (kreatywne, prawda?), ale nikomu nie opłacało się wspieranie kilku różnych specyfikacji. Dlatego wszystko inne umarło śmiercią naturalną.
W skład 3GPP wchodzą delegaci firm (niekoniecznie bezpośrednio) związanych z sieciami komórkowymi, takich jak – Nokia, Ericsson, Qualcomm, Samsung, MediaTek i w cholerę innych.
Standardy sieci komórkowych ciągle ewoluują. Zachowanie wstecznej kompatybilności jest jednak bardzo ważne. Więc nowe zmiany to zwykle dodawanie ficzurów i ujednoznacznianie wcześniejszych zapisów.
1. Jedną z myśli przewodnich przyświecających stworzeniu 5G, było stworzenie „bardziej elastycznego” standardu, tak żeby operatorzy mogli go z łatwością dostosować do swoich wymogów. Na papierze to brzmi wspaniale! No ale jedyną elastyczną rzeczą, która działa w praktyce jest guma w gaciach, a operatorzy zwykle nie wiedzą co robią i używają tylko jednej konfiguracji w całej sieci.
2. Oczywiście na samym wstępie nie obyło się bez wpadek, takich jak PRACH format A1. Ten paździerz po prostu nie ma prawa działać, ale zanim 3GPP sobie to uświadomiło, znalazł się w standardzie i nikt teraz za bardzo nie wie jak go usunąć. Oczywiście, nikt go również nie używa, więc mamy martwy kawałek specyfikacji.
3. No ale bardziej na poważnie – bardziej elastyczny standard oznacza bardziej skomplikowany standard i więcej corner casów. Po stronie sieci nie jest to aż taki duży problem. gNB (stacje bazowe w New Radio) zwykle mają więcej mocy obliczeniowej niż UE (w dużym uproszczeniu smartphony). Poza tym, dostawcy sprzętu sieciowego zwykle sobie wybierają ficzury, które chcą wspierać.
4. Po stronie UE jest zupełnie inaczej – przede wszystkim UE jest cost-sensitve, dlatego dysponuje mniejszą mocą obliczeniową. Poza tym, UE ma działać wszędzie, dlatego musi wspierać zdecydowaną większość ficzurów. Nie wszystkie, ponieważ wspierać wszystkiego się po prostu nie da. Dlatego taki „elastyczny standard” jest lekkim zabójstwem.
5. Fast forward 5 lat później, mamy dojrzałe New Radio, wszystko jest pięknie i w ogóle. Tylko, że jest pewien kawałek standardu, który stwarza notoryczne problemy wszystkim dostawcą sprzętu sieciowego. Wszystkim! To oczywiście corner case wynikający z bardzo elastycznego speca. Teoretycznie jest wprost napisane „UE does not expect”, więc przynajmniej wiadomo, że ten corner case nigdy nie powinien się wydarzyć w praktyce. No, ale z niejasnych powodów wydarza się, w dodatku dość często. W końcu pada propozycja (Change Request - CR), aby ten problem rozwiązać!
6. Świetnie, tylko że rozwiązaniem ma być uelastycznienie elastycznego standardu. Także ten. Szczerze, jak po raz pierwszy to zobaczyłem, to włos na plecach mi się zjeżył. Wiedziałem, jak bardzo kosztowna będzie to zmiana z punktu widzenia implementacji oraz że zamieni kawałek kodu, który już teraz jest wielką maszyną zgadująco – losującą, w jeszcze większy ulep (ponieważ po prostu lepiej tego nie da się zaimplementować). Poza tym, uważałem że obecny standard jest już wystarczająco elastyczny i problem można rozwiązać odpowiednio dobierając parametry.
7. Dlatego zaangażowałem się w dyskusję z delegatami do 3GPP. Po długiej mailowej dyskusji przyznano mi rację – tak, teoretycznie ta zmiana nie jest potrzebna. Ale rozwiązanie problemu za pomocą zmiany konfiguracji byłoby dla dostawców sprzętu sieciowego, uwaga, trudne. Dlatego 3GPP zdecydowało wprowadzić tę zmianę. A ty się człowieku męcz!
Wiem, że nie tylko ja tutaj zajmuję się zawodowo sieciami komórkowymi, więc zapraszam kolegów z branży do podzielenia się swoimi historiami.
#technologia #ciekawostki #telekomunikacja #telcozhejto #programowanie #programista15k #pracait