Lineær nettverkskoding - Linear network coding
Nettverkskoding er et forskningsfelt grunnlagt i en serie papirer fra slutten av 1990-tallet til begynnelsen av 2000-tallet. Konseptet med nettverkskoding, særlig lineær nettverkskoding , dukket imidlertid opp mye tidligere. I en avis fra 1978 ble det foreslått en ordning for å forbedre gjennomstrømningen av en toveiskommunikasjon gjennom en satellitt. I denne ordningen overfører to brukere som prøver å kommunisere med hverandre datastrømmene sine til en satellitt, som kombinerer de to strømmer ved å summere dem modulo 2 og deretter kringkaster den kombinerte strømmen. Hver av de to brukerne kan, etter mottak av kringkastingsstrømmen, dekode den andre strømmen ved å bruke informasjonen i sin egen strøm.
2000-papiret ga sommerfuglens nettverkseksempel (diskutert nedenfor) som illustrerer hvordan lineær nettverkskoding kan overgå ruting. Dette eksemplet tilsvarer ordningen for satellittkommunikasjon beskrevet ovenfor. Det samme papiret ga et optimalt kodeskjema for et nettverk med en kildenode og tre destinasjonsnoder. Dette er det første eksemplet som illustrerer optimaliteten til konvolusjonell nettverkskoding (en mer generell form for lineær nettverkskoding) over et syklisk nettverk.
Lineær nettverkskoding kan brukes til å forbedre nettverkets gjennomstrømning, effektivitet og skalerbarhet , samt motstandsdyktighet mot angrep og avlytting. I stedet for bare å videreformidle pakkene med informasjon de mottar, tar nodene i et nettverk flere pakker og kombinerer dem sammen for overføring. Dette kan brukes for å oppnå størst mulig informasjon flyten i et nettverk .
Det er matematisk bevist at i teorien er lineær koding nok til å oppnå den øvre grensen i multicast-problemer med en kilde. Linjær koding er imidlertid ikke tilstrekkelig generelt (f.eks. Multikilde, multisink med vilkårlige krav), selv ikke for mer generelle versjoner av linearitet, for eksempel konvolusjonskoding og filterbankkoding . Å finne optimale kodeløsninger for generelle nettverksproblemer med vilkårlige krav er fortsatt et åpent problem.
Koding og dekoding
I et lineært nettverkskodingsproblem er en gruppe noder involvert i å flytte dataene fra kildenoder til synke noder. Hver node genererer nye pakker som er lineære kombinasjoner av tidligere mottatte pakker, multiplisert med koeffisienter valgt fra et endelig felt , typisk av størrelse .
Hver node, med indegree , genererer en melding fra den lineære kombinasjonen av mottatte meldinger av forholdet:
der verdiene er koeffisientene valgt fra . Merk at siden operasjoner blir beregnet i et endelig felt, har den genererte meldingen samme lengde som de originale meldingene. Hver node sender den beregnede verdi sammen med koeffisientene , som brukes i nivå .
Sinknoder mottar disse nettverkskodede meldingene, og samler dem i en matrise. De originale meldingene kan gjenopprettes ved å utføre Gaussisk eliminering på matrisen. I redusert rad echelon-form tilsvarer dekodede pakker radene i skjemaet .
En kort historie
Et nettverk er representert med en rettet graf . er settet med noder eller hjørner, er settet med rettet lenker (eller kanter), og gir kapasiteten til hver lenke av . La være maksimalt mulig gjennomstrømning fra node til node . Ved max-min strømnings snitt teorem , blir øvre avgrenset av minimumskapasiteten til alle kutt , som er summen av kapasitetene til kantene på en klippe, mellom disse to noder.
Karl Menger beviste at det alltid er et sett med kantdelte stier som oppnår øvre grense i et unicast- scenario, kjent som max-flow min-cut-setningen . Senere ble Ford – Fulkerson-algoritmen foreslått for å finne slike baner i polynomisk tid. Deretter beviste Edmonds i avisen "Edge-Disjoint Branchings" den øvre grensen i kringkastingsscenariet også er oppnåelig, og foreslo en polynomial tidsalgoritme.
Situasjonen i multicast- scenariet er imidlertid mer komplisert, og faktisk kan en slik øvre grense ikke nås ved hjelp av tradisjonelle rutingideer . Ahlswede, et al. bevist at det kan oppnås hvis ytterligere databehandlingsoppgaver (innkommende pakker blir kombinert i en eller flere utgående pakker) kan gjøres i mellomnodene.
Sommerfuglenettverkseksemplet
Sommerfuglenettverket brukes ofte til å illustrere hvordan lineær nettverkskoding kan overgå ruting . To kildenoder (øverst på bildet) har informasjon A og B som må overføres til de to destinasjonsnodene (nederst). Hver destinasjonsknutepunkt vil vite både A og B. Hver kant kan bare ha en enkelt verdi (vi kan tenke oss en kant som overfører litt i hver tidsluke).
Hvis bare ruting var tillatt, ville den sentrale lenken bare kunne bære A eller B, men ikke begge deler. Anta at vi sender A gjennom sentrum; da mottok venstre destinasjon A to ganger og ikke kjenner B i det hele tatt. Å sende B utgjør et lignende problem for riktig destinasjon. Vi sier at ruting ikke er tilstrekkelig fordi ingen rutingsplaner kan overføre både A og B samtidig til begge destinasjonene. I mellomtiden tar det fire tidsluker totalt for begge destinasjonsnodene å kjenne A og B.
Ved å bruke en enkel kode, som vist, kan A og B overføres til begge destinasjoner samtidig ved å sende summen av symbolene gjennom de to reléknutepunktene - med andre ord, vi koder A og B ved hjelp av formelen "A + B". Den venstre destinasjonen mottar A og A + B, og kan beregne B ved å trekke de to verdiene. På samme måte vil den rette destinasjonen motta B og A + B, og vil også være i stand til å bestemme både A og B. Derfor, med nettverkskoding, tar det bare tre tidsluker og forbedrer gjennomstrømningen.
Tilfeldig lineær nettverkskoding
Tilfeldig lineær nettverkskoding er en enkel, men kraftig kodingsplan, som i kringkastingsordninger gir nær optimal gjennomstrømning ved hjelp av en desentralisert algoritme. Noder overfører tilfeldige lineære kombinasjoner av pakkene de mottar, med koeffisienter valgt fra et Galois-felt. Hvis feltstørrelsen er tilstrekkelig stor, nærmer seg sannsynligheten for at mottakeren (e) vil oppnå lineært uavhengige kombinasjoner (og derfor oppnår nyskapende informasjon) 1. Det bør imidlertid bemerkes at selv om tilfeldig lineær nettverkskoding har utmerket gjennomstrømningsytelse, hvis en mottakeren får et utilstrekkelig antall pakker, er det ekstremt usannsynlig at de kan gjenopprette noen av de originale pakkene. Dette kan adresseres ved å sende ytterligere tilfeldige lineære kombinasjoner til mottakeren får riktig antall pakker.
Åpne problemer
Lineær nettverkskoding er fortsatt et relativt nytt emne. Basert på tidligere studier er det tre viktige åpne problemer i RLNC:
- Høy dekoding av beregningskompleksitet på grunn av bruk av eliminasjonsmetoden Gauss-Jordan
- Høy overføring overhead på grunn av feste av store koeffisientvektorer til kodede blokker
- Lineær avhengighet blant koeffisientvektorer som kan redusere antall innovative kodede blokker
Trådløs nettverkskoding
Sendingkarakteren til trådløs (kombinert med nettverkstopologi) bestemmer interferensens natur . Samtidige overføringer i et trådløst nettverk fører vanligvis til at alle pakkene går tapt (dvs. kollisjon, se Multiple Access with Collision Unngåelse for trådløs ). Et trådløst nettverk krever derfor en planlegger (som en del av MAC- funksjonaliteten) for å minimere slik forstyrrelse. Derfor blir gevinster fra nettverkskoding sterkt påvirket av den underliggende planleggeren og vil avvike fra gevinstene som sees i kablet nettverk. Videre er trådløse lenker vanligvis halvdupleks på grunn av maskinvarebegrensninger; dvs. en node kan ikke samtidig sende og motta på grunn av mangel på tilstrekkelig isolasjon mellom de to banene.
Selv om nettverkskoding opprinnelig ble foreslått å brukes på nettverkslag (se OSI-modell ), har nettverkskoding i trådløse nettverk blitt mye brukt i enten MAC-laget eller PHY- laget. Det er vist at nettverkskoding når den brukes i trådløse nettverk trenger oppmerksom design og tanker for å utnytte fordelene med pakkemiksing, ellers kan ikke fordeler realiseres. Det er også en rekke faktorer som påvirker gjennomstrømningsytelsen, for eksempel protokoll for lagring av medieadgang, algoritmer for overbelastningskontroll, etc. Det er ikke tydelig hvordan nettverkskoding kan eksistere samtidig og ikke bringe i fare hva eksisterende overbelastnings- og strømningskontrollalgoritmer gjør for internett vårt .
applikasjoner
Siden lineær nettverkskoding er et relativt nytt emne, er det fortsatt i bruk i næringer. I motsetning til annen koding, er lineær nettverkskoding ikke helt anvendelig i et system på grunn av det smale spesifikke bruksscenariet. Teoretikere prøver å koble til virkelige applikasjoner. Faktisk ble det funnet at BitTorrent-tilnærming er langt bedre enn nettverkskoding.
Det er forutsatt at nettverkskoding er nyttig innen følgende områder:
- På grunn av flerkilde, multicast-innholdsleveringsnatur av informasjonssentrisk nettverk generelt og Navngitt datanettverk spesielt, kan den lineære kodingen forbedre over all nettverkseffektivitet.
- Alternativ til viderekobling av feilretting og ARQ i tradisjonelle og trådløse nettverk med pakketap. f.eks: Kodet TCP , ARQ for flere brukere
- Robust og motstandsdyktig mot nettverksangrep som snooping, avlytting, reprise eller datakorrupsjonsangrep.
- Digital fildistribusjon og P2P fildeling. f.eks: Lavine fra Microsoft
- Distribuert lagring.
- Gjennomstrømningsøkning i trådløse nettverk. f.eks: COPE , CORE , Kodebevisst ruting , BATMAN
- Buffer og forsinkelse reduksjon i romlige sensornettverk: Spatial buffer multiplexing
- Reduser antall pakkesendinger for en enkelt hopp trådløs multicast-overføring, og forbedre dermed nettverksbåndbredden.
- Distribuert fildeling
- Streaming av lav kompleksitet til mobile enheter
- Device-to-Device (D2D) utvidelser
Det er nye metoder som dukker opp for å bruke nettverkskoding i multiaccess-systemer for å utvikle Software Defined Wire Area Networks (SD-WAN) som kan tilby lavere forsinkelse, jitter og høy robusthet. Forslaget nevner at metoden er agnostisk for underliggende teknologier som LTE, Ethernet, 5G.
Modenhet og problemer
Siden dette området er relativt nytt, og den matematiske behandlingen av dette emnet for tiden er begrenset til en håndfull mennesker, har nettverkskoding ennå funnet veien til kommersialisering av produkter og tjenester. Det er uklart på dette stadiet om dette emnet vil seire, eller opphøre som en god matematisk øvelse.
Forskere har tydelig påpekt at det er nødvendig med spesiell forsiktighet for å utforske hvordan nettverkskoding kan eksistere sammen med eksisterende ruting, mediatilgang, overbelastning, strømningskontrollalgoritmer og TCP-protokoll. Hvis ikke, kan det hende at nettverkskoding ikke gir store fordeler og kan øke beregningskompleksiteten og minnekravene.
Se også
Referanser
- Fragouli, C .; Le Boudec, J. & Widmer, J. "Network coding: An instant primer" i Computer Communication Review , 2006.
Ali Farzamnia, Sharifah K. Syed-Yusof, Norsheila Fisa "Multicasting Multiple Description Coding Using p-Cycle Network Coding", KSII Transactions on Internet and Information Systems, Vol 7, No 12, 2013.
Eksterne linker
- Nettverk koding hjemmeside
- En bibliotek for koding av nettverk
- Raymond W. Yeung, Information Theory and Network Coding, Springer 2008, http://iest2.ie.cuhk.edu.hk/~whyeung/book2/
- Raymond W. Yeung et al., Network Coding Theory, now Publishers, 2005, http://iest2.ie.cuhk.edu.hk/~whyeung/netcode/monograph.html
- Christina Fragouli et al., Network Coding: An Instant Primer, ACM SIGCOMM 2006, http://infoscience.epfl.ch/getfile.py?mode=best&recid=58339 .
- Avalanche Filesystem, http://research.microsoft.com/en-us/projects/avalanche/default.aspx
- Tilfeldig nettverkskoding, https://web.archive.org/web/20060618083034/http://www.mit.edu/~medard/coding1.htm
- Digitale fontenkoder, http://www.icsi.berkeley.edu/~luby/
- Coding-Aware Routing, https://web.archive.org/web/20081011124616/http://arena.cse.sc.edu/papers/rocx.secon06.pdf
- MIT tilbyr et kurs: Introduksjon til nettverkskoding
- Nettverkskoding: Nettverkets neste revolusjon?
- Kodningsbevisst protokolldesign for trådløse nettverk: http://scholarcommons.sc.edu/etd/230/