We investigate the problem of localizing an underwater sensor node based on message broadcasting from multiple surface nodes. With the time-of-arrival measurements from a DSP-based multicarrier modem, each sensor node localizes itself based on the travel time differences among multiple senders to the receiver. Using one-way message passing, such a solution can scale to accommodate a large number of nodes in a network. We consider the issue from not only the physical layer, but also at the node processing layer by incorporating a tracking solution. We present simulation results, testing results in a swimming pool featuring both stationary and moving receivers, and results from a lake test with a mobile receiver.