{{About|the routing protocol|the Dymo Corporation|DYMO Corporation}} {{Multiple issues| {{Technical|date=September 2020}} {{Orphan|date=January 2025}} }} The '''DYMO'''<ref>{{cite web |last1=Sharma |first1=Saloni |last2=Gupta |first2=Anuj Kumar |title=A Comprehensive Study of DYMO Routing Protocol |url=https://www.ijcaonline.org/archives/volume73/number22/13035-0106/ |website=ijcaonline.org |publisher=International Journal of Computer Applications |access-date=2 October 2025 |pages=23–28 |language=en |date=6 July 2013}}</ref> routing protocol is successor to the popular Ad hoc On-Demand Distance Vector (AODV) Routing protocol and shares many of its benefits. It is, however, slightly easier to implement and designed with future enhancements in mind.
DYMO can work as both a pro-active and as a reactive routing protocol, i.e. routes can be discovered just when they are needed. In any way, to discover new routes the following two steps take place:
# A special "Route Request" (RREQ) messages is broadcast through the MANET. Each RREQ keeps an ordered list of all nodes it passed through, so every host receiving an RREQ message can immediately record a route back to the origin of this message. # When an RREQ message arrives at its destination, a "Routing Reply" (RREP) message will immediately be passed back to the origin, indicating that a route to the destination was found. On its way back to the source, an RREP message can simply backtrace the way the RREQ message took and simultaneously allow all hosts it passes to record a complementary route back to where it came from.
So as soon as the RREP message reaches its destination, a two-way route was successfully recorded by all intermediate hosts, and exchange of data packets can commence.
==Example== +-----------+ +-----------+ | Carol |-------| Dave | +-----------+ +-----------+ | | | | | | +-----------+ +-----------+ | Alice | | Bob | +-----------+ +-----------+
* Step 1 ** '''Alice''' wants to exchange data with '''Bob''' ** '''Alice''' does not know a route to '''Bob''' yet, so it broadcasts a new RREQ for a route to '''Bob''' containing only information about itself * Step 2 ** Carol receives '''Alice''''s RREQ, remembers the contained information about how to reach '''Alice''' (directly), then appends information about itself and re-broadcasts the packet. * Step 3 ** Dave receives Carol's RREQ, remembers the contained information about how to reach Carol (directly) and '''Alice''' (via Carol), then appends information about itself and re-broadcasts the packet. ** At the same time, '''Alice''' also receives Carol's RREQ. Closer examination of the contained information reveals that even the very first information block - how to reach itself, '''Alice''' - is of no use. It thus discards the RREQ and does not re-broadcast it as Dave did * Step 4 ** Bob receives Dave's RREQ and remembers the contained information about how to reach Dave (directly), Carol (via Dave) and '''Alice''' (also via Dave). Realizing that he is the target of the RREQ he creates an RREP containing information about itself. He marks the RREP bound for '''Alice''' and - knowing that Dave can somehow reach '''Alice''' - sends it to Dave. ** Again, at the same time, Carol also receives Dave's RREQ, but - following the same logic as '''Alice''' before - ignores it. * Step 5 ** Dave receives the RREP to '''Alice''' sent by '''Bob''', remembers the information on how to reach '''Bob''' (directly), appends information about itself and - knowing that '''Alice''' can be reached via Carol, sends it to Carol. * Step 6 ** Carol receives the RREP to '''Alice''' sent by Dave, remembers the contained information on how to reach Dave (directly) and '''Bob''' (via Dave), then appends information about itself and - knowing that '''Alice''' can be reached directly, sends it to '''Alice'''. * Step 7 **'''Alice''' receives the RREP sent to her by Carol and remembers all information on how to reach Carol (directly), Dave (via Carol) and - most importantly - '''Bob''' (also via Carol). Now knowing how to reach '''Bob''' she can finally send her data packet for him to Carol. * Step 8 ** Carol receives the data packet for '''Bob''' from '''Alice'''. Because she knows Dave can reach '''Bob''' she forwards the packet to him. * Step 9 ** Dave receives the data packet for '''Bob'''. Because he knows '''Bob''' can be directly reached by him, he forwards the packet to him.
==References== {{Reflist}}
==External links== * [http://tools.ietf.org/html/draft-ietf-manet-dymo-26 Draft IETF v26] * {{YouTube|id = HqtL9-wmbwg|title = Lecture on May 19, 2009. AODV routing (part 1 of 4).}}
{{DEFAULTSORT:Dymo}} Category:Ad hoc routing protocols