The Underwater Networks Project

Learn more »

At the heart of the Unet project, we have UnetStack, an agent-based network stack and simulator designed to run highly optimized protocols for use in underwater communication networks. Although the default stack provides everything needed to get a basic underwater network working, the real power of the stack lies in its customizability and extensibility. It not only allows you to easily configure a network to meet your needs, but also to automate network management, develop, simulate and test new network protocols, and implement software-defined signaling at the physical layer.


New to underwater networks? Unet is the perfect place to explore and learn about underwater networks. You simply need a computer with a Java VM to get started. Once you are ready to start testing to sea, you can copy your solution to a set of supported underwater modems.

Get started »


Each underwater network is different. Control which agents are active, and configure them. Use scripts to add complex behaviors. Integrate with underwater sensors, AUVs or control centers using Java, Groovy, Python or C. Develop new agents and protocols, if you have special needs.

Find out how »


Use the simulator to test your solutions and protocols in a simulated underwater network. Interact with your application or agents in real-time, or switch to a discrete-event mode to collect days or weeks of network performance statistics in minutes.

Network simulator »



Need to transmit an arbitrary signal, or listen to the sound in the water? Use the baseband service to transmit and record acoustic signals, or even live stream acoustic data for real-time diagnostics and processing, on modems that support this service.

Baseband service »


Simply copy your agents and scripts to supported underwater modems, and you are ready to test at sea. No need for porting or recompilation! Effortlessly take what you have tested in simulation out for field testing.

Underwater modems »


Developed something cool with UnetStack that you’d like to share? We have an open source user contributions repository where you can share your work. Or send us a link to your repository or web site, and we’ll link you in.

Contribute »