Matematyka zamiast retransmisji

Duńscy naukowcy, współpracując z badaczami z MIT oraz Caltech, opracowali nowy sposób transmisji danych przez Internet, wykorzystując do tego celu równania matematyczne zamiast przesyłania tradycyjnych pakietów.

W 1977 r. Abraham Lempel oraz Jacob Ziv pracujący w Israel Institute of Technology stworzyli algorytmy LZ1 oraz LZ2 umożliwiające bezstratną kompresję danych. W tym czasie nikomu jeszcze nawet nie marzył się Internet. Przełączanie pakietów było w powijakach, a stos TCP/IP stał się standardem dopiero pięć lat później. Jednakże wyniki badań tych naukowców położyły podwaliny większości systemów kompresji danych wykorzystywanych obecnie do przesyłania dużych ilości danych.

Teraz grupa naukowców z duńskiego uniwersytetu Aalborg, we współpracy z badaczami z MIT oraz Caltech chcą wprowadzić nowy sposób transmisji danych w Internecie, który ich zdaniem jest 5-10 razy szybszy od transmisji pakietów. Opracowana metoda wykorzystuje równania matematyczne. Brzmi niewiarygodnie? W pierwszej chwili rzeczywiście można pomyśleć, że to żart, ale po dokładnym zapoznaniu się z opublikowanymi dokumentami można dojść do wniosku, że pomysł jest realny.

Zobacz również:

  • WordPress 6.5 trafia na rynek. Oto 5 najważniejszych zmian

Internet się zapycha

Niemal 98 % ruchu telekomunikacyjnego przechodzi obecnie przez Internet. Dla porównania, w 1993 r. był to zaledwie 1 %, a w 2000 r. niewiele ponad 50 %. Jednocześnie z danych opublikowanych przez IEEE wynika, że szybkość przesyłania danych w Internecie wzrosła z 300 bit/s w 1984 do 1 Gbit/s w 2014 r. Oznacza to transmisję o 3,3 miliona razy szybszą. Z kolei ilość przesyłanych danych jest obecnie miliardy razy większa niż 30 lat temu. Intel potwierdza, że w samym 2010 r. przesłano więcej danych, niż w całej wcześniejszej historii Internetu do 2009 r. włącznie. Stąd prace nad takimi rozwiązaniami, jak to przedstawione przez Duńczyków, które może tchnąć powiew świeżości w Internet i pomóc w dostarczaniu usług, których oczekują współcześni użytkownicy.

Technologia bazuje na zastrzeżonym, opatentowanym algorytmie Random Linear Network Coding, pod którym to terminem kryje się specyficzne podejście do transmisji i kompresji danych w sieciach. Główną zaletą jest zdolność do strumieniowania skompresowanych danych w taki sposób, że można je odtworzyć, nawet jeśli brakuje jakichś części. Odbywa się to z wykorzystaniem kodowania sieciowego umożliwiającego, m.in. przesyłanie sygnałów różnymi drogami. Pakiety danych są przetwarzane we fragmentach i, w odróżnieniu od tradycyjnej transmisji pakietowej, możliwe jest ich odbieranie w dowolnej kolejności.

Transmisja na sterydach

W obecnych sieciach pakiety są wysyłane w określonej kolejności. Ten mechanizm zastąpiono równaniami matematycznymi. W transmisji TCP algorytm RLNC poprawia efektywność komunikacji, łącząc dane z wielu pakietów w jeden pakiet o takim samym rozmiarze. Wprawdzie wciąż trzeba przesłać tę samą liczbę pakietów, ale pakiety funkcjonują zamiennie. Przykładowo, jeśli odbiorca nie odebrał pakietu o numerze 21, może jako substytutu użyć kolejnego pakietu, co eliminuje konieczność retransmisji.

Zastosowane w protokole TCP mechanizmy zapewniające niezawodność transmisji dobrze sprawdzają się w sieciach przewodowych. Ich twórcy przyjęli założenie, że podstawową przyczyną utraty pakietów są przeciążenia sieci, co jest uwzględnianie, gdy zachodzi konieczność retransmisji. Natomiast w sieciach bezprzewodowych utrata pakietów może być spowodowana różnymi czynnikami. W efekcie TCP może nawet przy niewielkim współczynniku błędów powodować istotne spowolnienie transmisji. RLNC w taki sposób koduje pakiety, że jest w stanie odtworzyć dane zawarte w utraconych pakietach. Mówiąc najprościej, bazuje na regule mówiącej, że aby obliczyć dwie niewiadome, wystarczą 2 równania. W tym przypadku niewiadomymi są sumy kontrolne transmitowanych danych.

Funkcjonowanie tego rozwiązania naukowcy porównują do ruchu ulicznego bez czerwonych świateł. Równania matematyczne można wysyłać do przełączników i routerów jednocześnie ze wszystkich kierunków bez konieczności wstrzymywania transmisji. To oznacza, że ruch może odbywać się znacznie szybciej. Podczas eksperymentów z kodowaniem ruchu internetowego, zastosowane urządzenia sieciowe pracowały 5 do 10 razy szybciej.

W jednym z testów wykorzystano kilkuminutowy film. Używając metody opracowanej przez duńskich i amerykańskich badaczy, osiągnięto pięciokrotnie szybszy transfer danych w porównaniu do obecnie stosowanych metod. Ponadto wideo wyświetlało się płynnie na urządzeniu docelowym, podczas gdy przy transmisji pakietowej film zatrzymał się aż 13 razy w trakcie odtwarzania. To pokazuje, że algorytm RLNC jest szczególnie przydatny w odniesieniu do treści multimedialnych, jak strumieniowanie muzyki czy filmów. Dzięki nowej technologii możliwe ma być, np. przysyłanie wideo w jakości HD z wykorzystaniem pasma zaledwie 2 Mbit/s.

Kolejną zaletą rozwiązania opracowanego przez Duńczyków jest bezpieczeństwo. Ponieważ dane w połączeniach TCP pokonują zawszę tę samą ścieżkę, ułatwia to hakerom i organizacjom rządowym szpiegowanie komunikacji. Jednak zakodowane dane mogą „podróżować” różnymi trasami, a następnie zostać odtworzone tylko w docelowej lokalizacji i tylko przez określonego odbiorcę. Kodowanie sieciowe umożliwia także czerpanie korzyści z wielościeżkowej transmisji TCP (multipath TCP, zaimplementowane m.in. w iOS 7). Chodzi o możliwość jednoczesnego wykorzystania kilku adresów (interfejsów) IP, które dla aplikacji są widoczne jako tradycyjny, pojedynczy interfejs, podczas gdy w rzeczywistości dane są przesyłane kilkoma strumieniami jednocześnie. To umożliwia, m.in. zwiększenie szybkości transmisji danych czy lepsze reagowanie na błędy.

RLNC jest opatentowaną technologią, co oznacza konieczność opracowania nowych urządzeń sieciowych. Naukowcy powołali do życia firmę Steinwurk, która ma zająć się promocją tej technologii. Obecnie udostępniono już bibliotekę programistyczną Kodo napisaną w C++, która umożliwia implementację RLNC. W ten sposób technologia RLNC jest dostępna dla producentów sprzętu. Plotki głoszą, że naukowcy prowadzą tajne negocjacje, które mają umożliwić udostępnienie tej technologii do powszechnego użytku. Częścią tych działań jest otworzenie biura do Dolinie Krzemowej. Zaangażowany w projekt profesor Frank Fitzek jest przekonany, że technologia będzie wbudowana w większość produktów, ponieważ oferuje kilka bardzo przydatnych funkcji. Jedynym zagrożeniem, które może zahamować rozwój, to jego zdaniem patenty. Dotychczas firmy opatentowały już kilka solidnych rozwiązań dotyczących kodowania. Nad implementacją RLNC pracuje również firma Code On. Profesor stawia natomiast na bardziej otwarte podejście i maksymalne ułatwienie dostępu do technologii. Mają to ułatwić, m.in. specjalne kursy.

Zastosowania

Kodowanie sieciowe może być krytycznym elementem umożliwiającym wdrożenie kolejnej generacji sieci bezprzewodowych G5, sieci SDN, sieci CCN (Content Centric Networks) czy rozwoju koncepcji Internet of Things. Technologia może być wykorzystana, m.in. w satelitach telekomunikacyjnych, komunikacji mobilnej, a także w regularnej komunikacji między komputerami w Internecie. RLNC może przyspieszyć Internet, poprawić jakość strumieni wideo czy transmisji z wydarzeń na żywo czy też zmniejszyć rozmiar centrów danych przy jednoczesnym wzroście ich niezawodności. Warto dodać, że RLNC można stosować w różnych topologiach sieciowych, np. Point to Point, Multicast, Multipath, Wireless Mesh, Fixed Mesh czy w sieciach satelitarnych. Bardzo duże korzyści z zastosowania RLNC występują właśnie w tym ostatnim przypadku, ponieważ tego typu sieci charakteryzują się, m.in. bardzo długimi czasami RTT (Round Trip Time) czy też utratą pakietów powodowaną przez czynniki atmosferyczne.

Z pewnością będzie musimy poczekać jeszcze kilka lat, zanim kodowanie sieciowe wejdzie do szerszego użytku, o ile w ogóle to nastąpi. Duże organizacje, szczególnie operatorzy chmur publicznych, mogą rozpocząć wewnętrzne testy w swoich środowiskach sieciowych, np. do przesyłania danych między serwerami, znacznie wcześniej.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200