- How to deploy a testbed to experiment routing protocols for UnetStack acoustic modems communication in an underwater network?
- Which modem (model) is more suitable for this experiment?
UnetStack - Routing Protocols
292 Views Asked by B R Chandavarkar At
1
There are 1 best solutions below
Related Questions in UNETSTACK
- Is there a way to supply bathymetry to the custom channel?
- How to write Modem Drivers for non-subnero modems?
- Setting physical channel parameters from an agent
- How do i record JANUS signal as wav file?
- Native library `yoda_phy_pa_x86_64` not found while installing Unet audio in macOS
- Calculating Dropped Packet using trace.json for a simulation in UnetStack3
- How to connect two computers using unet audio?
- How to make data structure global in unetstack so that multiple agents can update information in that data structure?
- How to dynamically calculate path for Node (USV) for connected 2-UAV which are surveying in orthogonal lawnmower pattern in simulation?
- Creating a communication between client and server node in unetstack using UnetSocket
- Creating multiple UnetSockets in UnetStack to exhaust the server
- Unetstack C API with Unetsim simulator
- UnetStack - Routing Protocols
- Adding a new node in the topology after the given time interval
- encountering an error while running the simulation for SlottedFama in Unet IDE
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Answer to Q1
The default stack when you boot up a Unet simulator or a modem with UnetStack support has two agents that relate to routing protocols.
The
routeragent (org.arl.unet.net.Router) does packet routing based on its routing tables. Theroutes,addroute,delroute,delroutestoanddelroutesclosures allow you to manually modify the routing tables. Just typehelp routerin the Unet shell to get more information:The
rdpagent (org.arl.unet.net.RouteDiscoveryProtocol) populates the routing table for therouteragent. Therreqandtraceclosures allow you to interact with this agent. Typehelp rdpfor more information:If you want to implement your own routing protocol, the easiest option is to create your own agent that populates the routing table for
router. This is done by sendingRouteDiscoveryNtfmessages to therouteragent. For many routing protocols, this is sufficient, and easy to do.If your routing protocol is more complicated and cannot be implemented by changing routing tables dynamically, you can remove the default
routeragent (frometc/setup.groovyfile) and add your own routing agent implementation instead. Your routing agent must support the Routing service: A routing agent essentially accepts datagrams for any destination and sends them on the next hop. The agent also listens to datagram notifications from the Link agent, and forwards them on the next hop, if they are meant to be packets to be routed. Typically, a routing agent will have to add its own headers to know which packets are to be routed and to where, based on the protocol being implemented.Answer to Q2
Any modem that supports UnetStack should work. Here's a list of known modems that currently support UnetStack.