User:Joho68/HYDRA File Transfer Protocol

The HYDRA File Transfer Protocol was developed by Arjen Lentz and Joaquim Homrighausen in 1992. HYDRA owes much to Zmodem and its designer, Chuck Forsberg, as well as to the Janus file transfer protocol, designed by Rick Huebner. A way to summarize the HYDRA file transfer protocol would be to say that it is a combination of Zmodem and Janus.

HYDRA is a bi-directional file transfer protocol. Two data channels are utilized to transmit and receive files simultaneously. HYDRA was developed at a time when it was common to connect two computers by means of modems or similar devices. The primary goal for the HYDRA development was to design a protocol that was a simple and robust as possible, and as such it is extremely tolerant to timeouts.

Unlike some other file transfer protocols, notably Kermit and Super Kermit, HYDRA does not feature data compression nor lost packet management as the designers felt this would increase the complexity of protocol implementations.

The only basic requirement HYDRA puts on the data link is that no special action is triggered when DLE (ASCII character 24) is encountered, and that all ASCII characters in the range 32 through 126 are passed on unmodified. All other characters can be escaped or encoded by the protocol as required by the link.

Data packets are exchanged with CRC-16 or CRC-32 protection. The HYDRA file transfer protocol data exchange method is negotiated at the beginning of a transfer. This includes packet encoding, character escaping, framing ("sliding windows"), and full streaming.

As with Zmodem and other similar protocols, the use of 32-bit long integers limits the theoretical maximum file size to be exchange to 4 GB.