Design and Evaluation of Protocol Stacks for Underwater Communications