Sieć odporna na opóźnienia — Delay-tolerant networking

Sieć odporna na opóźnienia ( DTN ) to podejście do architektury sieci komputerowej, które ma na celu rozwiązanie problemów technicznych w sieciach heterogenicznych, w których może brakować ciągłej łączności sieciowej. Przykładami takich sieci są te działające w mobilnych lub ekstremalnych środowiskach naziemnych lub planowane sieci w kosmosie.

Ostatnio pojęcie sieci odpornej na zakłócenia zyskało popularność w Stanach Zjednoczonych dzięki wsparciu DARPA , która sfinansowała wiele projektów DTN. Zakłócenia mogą wystąpić z powodu ograniczeń zasięgu radiowego sieci bezprzewodowej, rzadkości węzłów mobilnych, zasobów energetycznych, ataku i szumu.

Historia

W latach 70., zachęceni malejącym rozmiarem komputerów , naukowcy zaczęli opracowywać technologię routingu między niestałymi lokalizacjami komputerów. Podczas gdy dziedzina routingu ad hoc była nieaktywna przez całe lata 80-te, powszechne stosowanie protokołów bezprzewodowych ożywiło tę dziedzinę w latach 90-tych, ponieważ sieci mobilne ad hoc (MANET) i samochodowe sieci ad hoc stały się obszarami rosnącego zainteresowania.

Równolegle z działaniami MANET (ale niezależnie od nich), DARPA sfinansowała NASA, MITER i inne, aby opracować propozycję Internetu Międzyplanetarnego (IPN). Pionier Internetu Vint Cerf i inni opracowali początkową architekturę IPN, związaną z koniecznością technologii sieciowych, które mogą poradzić sobie ze znacznymi opóźnieniami i uszkodzeniem pakietów w komunikacji dalekiego zasięgu. W 2002 roku Kevin Fall zaczął dostosowywać niektóre pomysły z projektu IPN do sieci naziemnych i ukuł termin „ sieć odporna na opóźnienia” i akronim DTN. Artykuł opublikowany na konferencji SIGCOMM w 2003 roku daje motywację dla DTNs. Połowa 2000 roku przyniosła wzrost zainteresowania sieciami DTN, w tym rosnącą liczbę konferencji akademickich na temat sieci odpornych na opóźnienia i zakłócenia oraz rosnące zainteresowanie łączeniem pracy z sieci czujników i MANET z pracami nad DTN. W tej dziedzinie dokonano wielu optymalizacji klasycznych algorytmów sieci ad hoc i odpornych na opóźnienia i zaczęto badać takie czynniki, jak bezpieczeństwo, niezawodność, weryfikowalność i inne obszary badań, które są dobrze rozumiane w tradycyjnych sieciach komputerowych .

Rozgromienie

Zdolność do transportu lub trasowania danych ze źródła do miejsca docelowego jest podstawową umiejętnością, którą muszą posiadać wszystkie sieci komunikacyjne. Sieci odporne na opóźnienia i zakłócenia (DTN) charakteryzują się brakiem łączności, co skutkuje brakiem natychmiastowych ścieżek od końca do końca. W tych trudnych środowiskach popularne protokoły routingu ad hoc, takie jak AODV i DSR, nie ustanawiają tras. Wynika to z tego, że te protokoły próbują najpierw ustalić kompletną trasę, a następnie, po jej ustaleniu, przesyłają rzeczywiste dane. Jednakże, gdy natychmiastowe ścieżki od końca do końca są trudne lub niemożliwe do ustalenia, protokoły routingu muszą przyjąć podejście „przechowuj i przesyłaj”, w którym dane są stopniowo przenoszone i przechowywane w całej sieci w nadziei, że ostatecznie dotrą do miejsca przeznaczenia. Powszechną techniką stosowaną do maksymalizacji prawdopodobieństwa pomyślnego przesłania wiadomości jest powielanie wielu kopii wiadomości w nadziei, że uda się dotrzeć do miejsca docelowego. Jest to wykonalne tylko w sieciach z dużą ilością pamięci lokalnej i przepustowością międzywęzłową w stosunku do oczekiwanego ruchu. W wielu typowych przestrzeniach problemowych ta nieefektywność jest równoważona przez zwiększoną wydajność i skrócone czasy dostawy, możliwe dzięki maksymalnemu wykorzystaniu dostępnych możliwości nieplanowanych spedycji. W innych, gdzie dostępne możliwości przechowywania i przepustowości międzywęzłowej są bardziej ograniczone, wymagany jest bardziej dyskryminujący algorytm.

Inne obawy

Protokoły pakietowe

W ramach wysiłków zmierzających do zapewnienia wspólnych ram dla rozwoju algorytmów i aplikacji w sieciach DTN, w 2007 r. opublikowano RFC 4838 i RFC 5050 w celu zdefiniowania wspólnej abstrakcji dla oprogramowania działającego w zakłóconych sieciach. Protokół ten, powszechnie znany jako protokół pakietowy, definiuje serię ciągłych bloków danych jako pakiet — w którym każdy pakiet zawiera wystarczającą ilość informacji semantycznych, aby umożliwić aplikacji postęp, w przypadku gdy pojedynczy blok może nie być. Paczki są routowane w sposób zapisywania i przekazywania między uczestniczącymi węzłami za pomocą różnych technologii transportu sieciowego (w tym zarówno transportu opartego na protokole IP, jak i nie opartego na protokole IP ). Warstwy transportowe przenoszące wiązki w swoich sieciach lokalnych nazywane są warstwami konwergencji wiązek. Architektura pakietu działa zatem jako sieć nakładkowa , zapewniając nową architekturę nazewnictwa opartą na identyfikatorach punktów końcowych (EID) i gruboziarnistych ofertach usług .

Protokoły korzystające z tworzenia pakietów muszą wykorzystywać preferencje na poziomie aplikacji do wysyłania pakietów przez sieć. Ze względu na charakter przechowywania i przekazywania protokołów odpornych na opóźnienia, rozwiązania routingu dla sieci odpornych na opóźnienia mogą czerpać korzyści z dostępu do informacji z warstwy aplikacji. Na przykład na planowanie sieci można wpływać, jeśli dane aplikacji muszą być odbierane w całości, szybko lub bez zmian w opóźnieniach pakietów. Protokoły pakietowe gromadzą dane aplikacji w pakiety, które można przesyłać w heterogenicznych konfiguracjach sieci z gwarancjami usług wysokiego poziomu. Gwarancje usług są zazwyczaj ustalane na poziomie aplikacji, a specyfikacja RFC 5050 Bundle Protocol zawiera oznaczenia „zbiorcze”, „normalne” i „przyspieszone”.

W październiku 2014 r. Internet Engineering Task Force (IETF) powołała grupę roboczą Delay Tolerant Networking, aby przejrzeć i zmienić protokół określony w RFC5050. Protokół pakietu dla CCSDS to profil RFC5050, który dotyczy w szczególności użyteczności protokołu pakietowego do przesyłania danych w misjach kosmicznych.

Problemy z bezpieczeństwem

Głównym celem protokołu pakietu było rozwiązywanie problemów związanych z bezpieczeństwem. Możliwe ataki przybierają formę węzłów zachowujących się jak „czarna dziura” lub „zalewacz”.

Kwestie bezpieczeństwa sieci odpornych na opóźnienia różnią się w zależności od środowiska i aplikacji, chociaż uwierzytelnianie i prywatność są często krytyczne. Te gwarancje bezpieczeństwa są trudne do ustanowienia w sieci bez trwałej łączności, ponieważ sieć utrudnia skomplikowane protokoły kryptograficzne, utrudnia wymianę kluczy, a każde urządzenie musi identyfikować inne sporadycznie widoczne urządzenia. Rozwiązania są zazwyczaj modyfikowane w oparciu o mobilne sieci ad hoc i rozproszone badania bezpieczeństwa, takie jak wykorzystanie rozproszonych urzędów certyfikacji i schematów PKI . Oryginalne rozwiązania ze społeczności badawczej tolerującej opóźnienia obejmują: 1) wykorzystanie szyfrowania opartego na tożsamości , które umożliwia węzłom odbieranie informacji zaszyfrowanych ich publicznym identyfikatorem; oraz 2) korzystanie z tablic manipulacyjnych wraz z protokołem plotkowania ;

Realizacje

Istnieje kilka implementacji protokołu Bundle:

BPv6 (RFC5050, protokół pakietu dla CCSDS )

Główne implementacje BPv6 to: wymienione poniżej. Istnieje szereg innych implementacji.

  • NASA Interplanetary Overlay Network (ION) – napisane w C; zaprojektowany do pracy na szerokiej gamie platform; jest zgodny z ograniczeniami oprogramowania do lotów kosmicznych (np. brak dynamicznej alokacji pamięci).
  • IBR-DTN -- oparty na C++; działa na routerach z OpenWRT; zawiera również aplikacje JAVA (aplikacje routera i użytkownika) do użytku w systemie Android.
  • DTN2 -- oparty na C++; zaprojektowany jako referencyjny/nauczający/nauczający implementację Protokołu Wiązkowego.

BPv7 (Internet Research Task Force RFC)

Projekt BPv7 wymienia sześć znanych implementacji.

  • µPCN -C; zbudowany na POSIX API oraz FreeRTOS i przeznaczony do pracy na tanich mikrosatelitach.
  • PyDTN -- Python; opracowany przez X-works i podczas IETF 101 Hackathon.
  • Terra -- Java; opracowany w kontekście naziemnej sieci DTN.
  • dtn7-go – Idź; wdrożenie skoncentrowane na łatwej rozbudowie i nadające się do badań.
  • dtn7-rs -- Rdza; przeznaczone do środowisk o ograniczonych zasobach i wymaganiach dotyczących wydajności.
  • Międzyplanetarna Sieć Nakładek (ION) NASA — C; przeznaczone do użytku w środowiskach wbudowanych, w tym w komputerach pokładowych statków kosmicznych.

Wysiłki badawcze

Różne wysiłki badawcze badają obecnie problemy związane z DTN:

Niektóre wysiłki badawcze skupiają się na DTN dla Internetu międzyplanetarnego , badając użycie protokołu Bundle w kosmosie:

  • Projekt Saratoga na Uniwersytecie Surrey , który był pierwszym testem protokołu wiązki w kosmosie na satelicie UK-DMC Disaster Monitoring Constellation w 2008 roku.
  • Eksperyment NASA JPL Deep Impact Networking (DINET) na pokładzie statku kosmicznego Deep Impact / EPOXI .
  • BioServe Space Technologies, jeden z pierwszych twórców ładunków, który zaadoptował technologię DTN, wykorzystał swoje ładunki CGBA (Commercial Generic Bioprocessing Apparatus) na pokładzie ISS , który zapewnia platformy obliczeniowe/komunikacyjne, do implementacji protokołu DTN.
  • NASA, ESA używają eksperymentalnego Internetu międzyplanetarnego do testowania robota z Międzynarodowej Stacji Kosmicznej

Zobacz też

Bibliografia