The Underwater Networks Project

Learn more »

March 26, 2016 – UnetStack and simulator v1.3, with an IDE, released and available for download.

v1.3 Highlights:

  • New integrated development environment (IDE).
  • Declarative PDU framework to make packet encoding and decoding a breeze.
  • Declarative finite state machine (FSM) framework to enable you to focus on protocol logic, rather than FSM programming.
  • Tutorial to demonstrate the new frameworks, and to get you started on developing your own medium access control (MAC) agents.
and much 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. UnetStack is easily customized to meet your needs. Control which agents are active, and configure them. Use Groovy to add event-triggered behaviors and scripts. Reconfigure your stack dynamically, or even remotely.

Read more »


The basic stack does not adequately meet your needs? No problem – simply extend UnetStack using Java or Groovy. Develop and test your own network protocols. Add network agents with sophisticated behaviors. Develop new channel models for performance simulation.

Read more »


Need to integrate UnetStack with an underwater sensor, an autonomous underwater vehicle or with a mission control center? With full Java and Groovy support, it is simple to interface with existing systems over serial ports, network sockets, or web services.

Read more »


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 »


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 »