1

In terrestrial networks, Transmission Control Protocol (TCP) is used at the transport layer to establish reliable end to end communication with peers. TCP does this by using a three-way handshake. Whereas UnetStack provides a transport service which sends the data, reliably to its peer using its default implemented SWTTransport protocol.

I have experimented, sending a datagram using a transport service(for reliability) over a 2 node network from node A to node B. In logs I haven't found any 3 way hanshaking packets, been exchanged between node A and node B, before node A sends datagram to node B.

My questions-

  1. Is there even a need for 3 way handshake here?
  2. Also is there a need for TCP agent, which ensures a reliable communication between nodes?
PrajwalB
  • 31
  • 1

1 Answers1

1

This may not answer your question but can give you broad idea about the challenges.

Underwater networks, such as those managed by UnetStack, often use different protocols than terrestrial networks due to the unique challenges of underwater communication. These challenges include long propagation delays, high error rates, and low bandwidth.

  1. Is there even a need for a 3-way handshake here?
  • In terrestrial networks, a 3-way handshake is used in TCP to establish a reliable connection between two nodes. This process involves the exchange of SYN (synchronize) and ACK (acknowledge) packets. However, in underwater networks, the use of a 3-way handshake may not be efficient due to the long propagation delays. Instead, UnetStack uses its own protocol, for reliable data transmission. The specifics of this protocol, including whether it uses a handshake mechanism, would be detailed in the UnetStack documentation or source code, specifically refer this part.
  1. Is there a need for a TCP agent, which ensures a reliable communication between nodes?
  • While TCP is a common protocol for ensuring reliable communication in terrestrial networks, it may not be the best fit for underwater networks due to the reasons mentioned above. UnetStack likely implements its own mechanisms for ensuring reliable communication, such as the SWTTransport protocol or even you can write your own agent. Whether a TCP-like agent is needed would depend on the specific requirements of your network but in underwater networks it is not recommanded that you hold your channel for so long as the available BW is extremely low compare to terrestrial networks.
Jay Patel
  • 1,374
  • 1
  • 8
  • 17