Sieć skoncentrowana na treści

W przeciwieństwie do opartej na protokole IP, zorientowanej na hosta architektury internetowej , sieci zorientowane na treść (CCN) kładą nacisk na zawartość, czyniąc ją bezpośrednio adresowalną i rutowalną. Punkty końcowe komunikują się na podstawie nazwanych danych zamiast adresów IP. CCN charakteryzuje się podstawową wymianą komunikatów żądań treści (zwanych „zainteresowaniami”) i komunikatów zwrotnych dotyczących treści (zwanych „obiektami treści”). Jest uważana za sieci zorientowanej na informacje (ICN).

Celem CCN jest zapewnienie bardziej bezpiecznej, elastycznej i skalowalnej sieci, a tym samym zaspokojenie współczesnych wymagań Internetu w zakresie dystrybucji chronionych treści na masową skalę do różnych zestawów urządzeń końcowych. CCN ucieleśnia model bezpieczeństwa, który wyraźnie zabezpiecza poszczególne elementy treści, zamiast zabezpieczać połączenie lub „potok”. Zapewnia dodatkową elastyczność przy użyciu nazw danych zamiast nazw hostów (adresów IP). Ponadto nazwana i zabezpieczona zawartość znajduje się w rozproszonych pamięciach podręcznych, wypełnianych automatycznie na żądanie lub selektywnie wypełnianych wstępnie. Na żądanie z nazwy CCN dostarcza użytkownikowi nazwaną zawartość z najbliższej pamięci podręcznej, pokonując mniej przeskoków sieciowych, eliminując zbędne żądania i ogólnie zużywając mniej zasobów. CCN rozpoczął się jako projekt badawczy w Palo Alto Research Center (PARC) w 2007 roku. Pierwsza wersja oprogramowania (CCNx 0.1) została udostępniona w 2009 roku. CCN jest przodkiem powiązanych podejść, w tym nazwanych sieci danych . Technologia CCN i jej baza kodów open source zostały przejęte przez Cisco w lutym 2017 r.

Historia

Zasady stojące za sieciami zorientowanymi na informacje zostały po raz pierwszy opisane w 17 oryginalnych zasadach Projektu Xanadu Teda Nelsona w 1979 r. W 2002 r. Brent Baccala przedstawił Internet-Draft rozróżniający sieci zorientowane na połączenie i zorientowane na dane i zasugerował, że Internet architektura internetowa szybko stawała się coraz bardziej zorientowana na dane. W 2006 roku projekt DONA na UC Berkeley i ICSI zaproponował architekturę sieci zorientowaną na informacje, która ulepszyła TRIAD poprzez włączenie bezpieczeństwa (autentyczności) i trwałości jako prymitywów pierwszej klasy w architekturze. 30 sierpnia 2006 r. pracownik naukowy PARC, Van Jacobson, wygłosił w Google wykład zatytułowany „Nowe spojrzenie na sieci”. Projekt CCN został oficjalnie uruchomiony w PARC w 2007 r. W 2009 r. PARC ogłosił projekt CCNx (Content-Centric Network), publikując 21 września 2009 r. specyfikacje interoperacyjności i implementację typu open source na stronie internetowej projektu CCNx. Oryginalny CCN projekt został opisany w artykule opublikowanym na Międzynarodowej Konferencji na temat powstających Eksperymentów i Technologii Sieciowych (CoNEXT) w grudniu 2009 roku.

Coroczne spotkania społeczności CCNx odbywały się w latach 2011, 2012, 2013 i 2015.

Specyfikacja protokołu dla CCNx 1.0 została udostępniona do komentowania i dyskusji. Prace nad CCNx odbywają się otwarcie w ICNRG IRTF .

Specyfikacja

Specyfikacja CCNx została opublikowana w niektórych projektach IETF . Specyfikacje obejmowały:

Bezproblemowa integracja danych w otwartym środowisku została zaproponowana jako główny czynnik przyczyniający się do ochrony bezpieczeństwa analiz w chmurze i kluczowego szyfrowania sieci. Siła napędowa przyjęcia tych heurystyk była dwojaka: przerwane wsadowo strumienie danych pozostają ograniczone do optymalnego środowiska działania oraz bezpieczny współdzielony dostęp do chmury w zależności od integracyjnych procesów analitycznych.

Oprogramowanie

Oprogramowanie CCNx było dostępne na GitHub .

Motywacja i korzyści

Funkcjonalnym celem protokołu internetowego wymyślonego i stworzonego w latach 70. było umożliwienie dwóm maszynom, z których jedna zawiera zasoby, a druga pragnie dostępu do tych zasobów, na rozmowę ze sobą. Zasada działania polegała na przydzielaniu adresów punktom końcowym, umożliwiając w ten sposób lokalizowanie i łączenie tych punktów końcowych.

Od tych początków nastąpiły fundamentalne zmiany w sposobie korzystania z Internetu — od rozpowszechnienia usług sieci społecznościowych po przeglądanie i udostępnianie treści cyfrowych, takich jak filmy wideo, zdjęcia, dokumenty itp. Zamiast zapewniać podstawową łączność, Internet stały się w dużej mierze siecią dystrybucji z ogromnymi ilościami treści wideo i stron internetowych przepływających od dostawców treści do widzów. Dzisiejsi użytkownicy Internetu coraz częściej domagają się szybszego, wydajniejszego i bezpieczniejszego dostępu do treści, bez względu na to, gdzie te treści mogą się znajdować.

Sieci są również wykorzystywane w wielu środowiskach, w których tradycyjny model komunikacji TCP/IP nie pasuje. Internet rzeczy (IoT) i sieci czujników to środowiska, w których model komunikacji źródło-miejsce docelowe nie zawsze zapewnia najlepsze rozwiązanie.

CCN został zaprojektowany do pracy w wielu środowiskach, od szybkich centrów danych po czujniki o ograniczonych zasobach. CCN ma być:

  • Bezpieczny — model komunikacji CCN zabezpiecza dane, a nie potok komunikacyjny między dwoma określonymi hostami końcowymi. Jednak wszechobecne buforowanie treści i brak bezpiecznego potoku komunikacyjnego między hostami końcowymi stanowią wyzwanie dla ochrony treści przed nieautoryzowanym dostępem, co wymaga dodatkowej uwagi i rozwiązań.
  • Elastyczność — CCN używa nazw do komunikacji. Nazwy mogą być niezależne od lokalizacji i są znacznie bardziej elastyczne niż adresy IP. Elementy sieci mogą dokonywać bardziej zaawansowanych wyborów na podstawie nazwanych żądań i danych.
  • Skalowalny — CCN umożliwia skalowanie sieci, umożliwiając buforowanie, włączając natywny ruch multiemisji, zapewniając natywne równoważenie obciążenia i ułatwiając planowanie zasobów.

Podstawowe koncepcje

Komunikaty Content Object to nazwane ładunki, które są porcjami danych o rozmiarze sieci. Nazwy to hierarchiczne serie segmentów nazw binarnych przypisywanych obiektom treści przez wydawców treści. Podpisy to kryptograficzne powiązania między nazwą, ładunkiem i identyfikatorem klucza wydawcy. Służy to do pochodzenia. Komunikaty o zainteresowaniu to prośby o obiekty treści pasujące do nazwy wraz z pewnymi opcjonalnymi ograniczeniami dotyczącymi tego obiektu.

Podstawowy protokół działa w następujący sposób: Konsumenci żądają treści, wysyłając wiadomość o zainteresowaniu z nazwą żądanej treści. Sieć kieruje zainteresowanie na podstawie nazwy przy użyciu najdłuższego dopasowania prefiksu . Odsetek opuszcza stan, gdy przechodzi przez sieć. Stan ten zapisywany jest w Tabeli Odsetek Oczekujących (PIT). Po znalezieniu dopasowania (gdy Zainteresowanie pasuje do Obiektu Treści) treść jest odsyłana z powrotem na odwrotnej ścieżce Zainteresowania, zgodnie ze stanem PIT utworzonym przez Zainteresowanie.

Ponieważ zawartość jest identyfikowalna (poprzez nazwę i powiązanie bezpieczeństwa), każdy obiekt zawartości może być buforowany. Wiadomości o zainteresowaniach mogą być porównywane z pamięciami podręcznymi po drodze, nie tylko u wydawców.

Możliwe jest również rozproszone buforowanie w sieci skoncentrowanej na treści, co wymaga wielofunkcyjnych parametrów dostępu do całej bazy danych. Zasadniczo umożliwia to współużytkowanym algorytmom szyfrowania sieci stosowanie ograniczeń dostępu opartych na rolach dla użytkowników na podstawie zdefiniowanych poziomów autoryzacji.

wydania CCNx

CCNx 0.x

Zainteresowania dopasowują obiekty treści na podstawie przedrostków nazw. Na przykład Zainteresowanie dla /a/b pasowałoby do obiektu treści o nazwie /a/b/c/d lub /a/b. Zainteresowania obejmują ograniczenia w postaci selektorów. Pomagają one sieci wybrać, które z możliwych dopasowań prefiksu są rzeczywistymi dopasowaniami. Na przykład Zainteresowanie może wykluczać określone nazwiska, prosić o minimalną lub maksymalną liczbę dodatkowych segmentów nazw itp.

Obiekty treści mają niejawny składnik nazwy końcowej, który jest równy skrótowi obiektu treści. Może to być użyte do dopasowania do nazwy.

Kodowanie pakietów odbywa się za pomocą CCNB (zastrzeżony format oparty na typie binarnego XML).

Ostatnia wersja tej gałęzi to 0.8.2 Oprogramowanie jest dostępne na licencji GPL. Dostępne są również specyfikacje i dokumentacja .

CCNx 1.x

CCNx 1.x różni się od CCNx 0.x w następujący sposób:

Zainteresowania pasują do obiektów treści na podstawie dokładnych nazw, a nie przedrostków imion. W związku z tym Zainteresowanie dla /a/b/ będzie pasować tylko do Obiektu treści o nazwie /a/b. Zainteresowania mogą ograniczać dopasowania do KeyID wydawcy lub ContentObjectHash obiektu.

Zagnieżdżony format typ-długość-wartość (TLV) jest używany do kodowania wszystkich komunikatów w sieci. Każda wiadomość składa się z zestawu nagłówków pakietów i wiadomości protokołu, która zawiera nazwę, treść (lub ładunek ) oraz informacje użyte do kryptograficznej weryfikacji wiadomości – wszystkie zawarte w zagnieżdżonych TLV.

Specyfikacja CCNx 1.0 jest dostępna pod adresem: http://blogs.parc.com/ccnx/specifications/

Prace pochodne

  • Nazwane sieci danych to projekt finansowany przez NSF, oparty na oryginalnym kodzie CCNx 0.x.
  • CCN-lite to lekka wersja CCNx funkcjonalnie współpracująca z CCN 0.x.

Powiązane projekty

  • GreenICN to projekt skupiający się na scenariuszach odzyskiwania danych po awarii z wykorzystaniem paradygmatu Information Centric Networking.

Zobacz też