Dynamisk källrouting
Dynamic Source Routing ( DSR ) är ett routingprotokoll för trådlösa mesh-nätverk . Det liknar AODV genom att det bildar en rutt på begäran när en sändande nod begär en. Den använder dock källrouting istället för att förlita sig på routingtabellen vid varje mellanliggande enhet.
Bakgrund
För att bestämma källrutten krävs att adressen för varje enhet ackumuleras mellan källan och destinationen under ruttupptäckt. Den ackumulerade väginformationen cachelagras av noder som bearbetar ruttupptäcktspaketen . De inlärda vägarna används för att dirigera paket. För att åstadkomma källdirigering innehåller de dirigerade paketen adressen för varje enhet som paketet kommer att passera. Detta kan resultera i höga omkostnader för långa vägar eller stora adresser, som IPv6 . För att undvika att använda källrouting, definierar DSR valfritt ett flödes-id-alternativ som gör att paket kan vidarebefordras hop-by-hop.
Detta protokoll är verkligen baserat på källrouting, varvid all routinginformation upprätthålls (uppdateras kontinuerligt) vid mobila noder. Den har bara två stora faser, som är Route Discovery och Route Maintenance. Ruttsvar skulle bara genereras om meddelandet har nått den avsedda destinationsnoden (ruttpost som initialt finns i ruttbegäran skulle infogas i ruttsvaret).
För att returnera ruttsvaret måste destinationsnoden ha en rutt till källnoden. Om rutten finns i destinationsnodens ruttcache, skulle rutten användas. I annat fall kommer noden att vända på rutten baserat på ruttposten i meddelandehuvudet för ruttförfrågan (detta kräver att alla länkar är symmetriska). I händelse av dödlig överföring initieras ruttunderhållsfasen varvid ruttfelspaketen genereras vid en nod. Det felaktiga hoppet kommer att tas bort från nodens ruttcache; alla rutter som innehåller humlet är trunkerade vid den punkten. Återigen, ruttupptäcktsfasen inleds för att bestämma den mest livskraftiga rutten.
För information om andra liknande protokoll, se listan över ad hoc-routningsprotokoll .
Begränsning av bandbredd
Dynamic source routing protocol (DSR) är ett on-demand-protokoll utformat för att begränsa bandbredden som förbrukas av kontrollpaket i ad hoc trådlösa nätverk genom att eliminera de periodiska tabelluppdateringsmeddelanden som krävs i den tabelldrivna metoden. Den stora skillnaden mellan detta och de andra on-demand-routningsprotokollen är att det är beaconfritt och därför inte kräver periodiska hello-paketsändningar (beacon), som används av en nod för att informera sina grannar om dess närvaro. Det grundläggande tillvägagångssättet för detta protokoll (och alla andra on-demand routingprotokoll) under ruttkonstruktionsfasen är att upprätta en rutt genom att översvämma RouteRequest-paket i nätverket. Destinationsnoden, när den tar emot ett RouteRequest-paket, svarar genom att skicka ett RouteRequest-paket tillbaka till källan, som bär den rutt som det mottagna RouteRequest-paketet korsas av.
Tänk på en källnod som inte har en rutt till destinationen. När den har datapaket som ska skickas till den destinationen initierar den ett RouteRequest-paket. Denna RouteRequest översvämmas i hela nätverket. Varje nod, vid mottagande av ett RouteRequest-paket, sänder om paketet till sina grannar om den inte redan har vidarebefordrat det, förutsatt att noden inte är destinationsnoden och att paketets time to live (TTL) räknare inte har överskridits . Varje RouteRequest bär ett sekvensnummer som genereras av källnoden och den väg den har korsat. En nod, när den tar emot ett RouteRequest-paket, kontrollerar sekvensnumret på paketet innan det vidarebefordras. Paketet vidarebefordras endast om det inte är en dubblett av RouteRequest. Sekvensnumret på paketet används för att förhindra slingbildningar och för att undvika flera överföringar av samma RouteRequest av en mellannod som tar emot det genom flera vägar. Således vidarebefordrar alla noder utom destinationen ett RouteRequest-paket under ruttkonstruktionsfasen. En destinationsnod, efter att ha tagit emot det första RouteRequest-paketet, svarar på källnoden genom den omvända vägen som RouteRequest-paketet hade korsat. Noder kan också lära sig om närliggande rutter som passeras av datapaket om de drivs i det promiskuösa läget (driftssättet där en nod kan ta emot paketen som varken sänds ut eller adresseras till sig själv). Denna ruttcache används också under ruttkonstruktionsfasen.
Fördelar och nackdelar
Fördelarna är: Detta protokoll använder ett reaktivt tillvägagångssätt som eliminerar behovet av att regelbundet översvämma nätverket med tabelluppdateringsmeddelanden som krävs i ett tabelldrivet tillvägagångssätt. I ett reaktivt (on-demand) tillvägagångssätt som detta, etableras en rutt endast när det krävs och följaktligen elimineras behovet av att hitta rutter till alla andra noder i nätverket som krävs av det tabelldrivna tillvägagångssättet. De mellanliggande noderna använder också ruttcacheinformationen effektivt för att reducera kontrolloverheaden. Nackdelarna är: Nackdelen med detta protokoll är att ruttunderhållsmekanismen inte lokalt reparerar en trasig länk. Inaktuell ruttcacheinformation kan också resultera i inkonsekvenser under ruttens rekonstruktionsfas. Anslutningsfördröjningen är högre än i tabelldrivna protokoll. Även om protokollet fungerar bra i statiska miljöer och miljöer med låg rörlighet, försämras prestandan snabbt med ökande rörlighet. Även avsevärd routingoverhead är involverad på grund av källdirigeringsmekanismen som används i DSR. Denna routingoverhead är direkt proportionell mot vägens längd.
Det beskrevs först i:
- 2007 IETF MANET DRAFT RFC 4728 - Dynamic Source Routing Protocol (DSR) för mobila ad hoc-nätverk för IPv4"
externa länkar
- DSR-specifikation (RFC)
- piconet en POSIX-implementering med öppen källkod
- Bryans DSR NS-2 FAQ Handlar om implementeringen av DSR inom Network Simulator-paketet
- Simuleringsmodell för DSR MANET Routing Protocol