Fast and Secure Protocol

From Wikipedia, the free encyclopedia
A screencast showing downloading the same file from the European Sequence Read Archive via wget/FTP and ascp/Aspera/FASP

The Fast Adaptive and Secure Protocol (FASP) is a proprietary data transfer protocol. FASP is a network-optimized network protocol created by Michelle C. Munson and Serban Simu, productized by Aspera, and now owned by IBM subsequent to its acquisition of Aspera. The associated client/server software packages are also commonly called Aspera.[1][2] The technology is patented under US Patent #8085781, Bulk Data Transfer, #20090063698, Method and system for aggregate bandwidth control.[3] and others.

Built upon the connectionless UDP protocol, FASP does not expect any feedback on every packet sent, and yet provides fully reliable data transfer over best effort IP networks. Only the packets marked as really lost must be requested again by the recipient. As a result, it does not suffer as much loss of throughput as TCP does on networks with high latency or high packet loss and avoids the overhead of naive "UDP data blaster" protocols.[4][5] The protocol innovates upon naive "data blaster" protocols through an optimal control-theoretic retransmission algorithm and implementation that achieves maximum goodput and avoids redundant retransmission of data. Its control model is designed to fill the available bandwidth of the end-to-end path over which the transfer occurs with only "good" and needed data.

Large organizations like the European Nucleotide Archive,[2] the US National Institutes of Health National Center for Biotechnology Information[6] and others[7] use the protocol. The technology was recognized with many awards including an Engineering Emmy from the Academy of Film and Television.

Security[edit]

FASP has built-in security mechanisms that do not affect the transmission speed. The encryption algorithms used are based exclusively on open standards. Some product implementation use secure key exchange and authentication such as SSH.

The data is optionally encrypted or decrypted immediately before sending and receiving with the AES-128. To counteract attacks by monitoring the encrypted information during long transfers, the AES is operated in cipher feedback mode with a random, public initialization vector for each block. In addition, an integrity check of each data block takes place, in which case, for example, a man-in-the-middle attack would be noticed.

Protocol[edit]

FASP's control port is TCP port 22 – the same port that SSH uses. For data transfer, it begins at UDP port 33001, which increments with each additional connection thread.[1]

FASP's flow control algorithm, unlike TCP's, completely ignores packet drops. Instead, it acts on changes in measured packet delivery time. When that is growing, queues are getting longer and channel bandwidth is exceeded; falling, queues are getting shorter. Acting on this information is complicated because the receiver has it and the sender needs it, but its lifetime is often less than the transmission delay; and measurements are noisy. Thus, the sender uses a predictive filter fed updates from the receiver.[8]

The transmission rate is chosen to match and not exceed the available channel bandwidth, and trigger no drops, accounting for all traffic on the channel. By contrast, TCP slowly increases its rate until it sees a packet drop and falls back, interpreting any drop as congestion. On a channel with long delay and frequent packet loss, TCP never approaches the actual bandwidth available. FASP cooperates with TCP flows on the same channel, using up bandwidth TCP leaves unused.

See also[edit]

References[edit]

  1. ^ a b "Aspera high speed file transfer: Let the cloud protocol wars begin". The Register.
  2. ^ a b "European Nucleotide Archive: Downloading using Aspera".
  3. ^ "Method and system for aggregate bandwidth control".
  4. ^ "Aspera - High-speed file transfer software -". downloads.asperasoft.com.
  5. ^ "FASP transfer protocol speeds data transmission to the cloud".
  6. ^ "NCBI 1000 Genomes: Aspera Download".
  7. ^ "Aspera Joint Partner Solutions". asperasoft.com. 20 January 2018.
  8. ^ "Ex Aspera Dev here. I did the encryption and early parallel work. There is a lot... | Hacker News".