Fast and Secure Protocol

Last updated
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.

Contents

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

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

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. [9] 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

Related Research Articles

The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

Network throughput refers to the rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. The data that these messages contain may be delivered over physical or logical links, or through network nodes. Throughput is usually measured in bits per second, and sometimes in data packets per second or data packets per time slot.

In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

<span class="mw-page-title-main">Transport layer</span> Layer in the OSI and TCP/IP models providing host-to-host communication services for applications

In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end communication services for applications. It provides services such as connection-oriented communication, reliability, flow control, and multiplexing.

Explicit Congestion Notification (ECN) is an extension to the Internet Protocol and to the Transmission Control Protocol and is defined in RFC 3168 (2001). ECN allows end-to-end notification of network congestion without dropping packets. ECN is an optional feature that may be used between two ECN-enabled endpoints when the underlying network infrastructure also supports it.

Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking of new connections. A consequence of congestion is that an incremental increase in offered load leads either only to a small increase or even a decrease in network throughput.

FTPS is an extension to the commonly used File Transfer Protocol (FTP) that adds support for the Transport Layer Security (TLS) and, formerly, the Secure Sockets Layer cryptographic protocols.

In computer networks, a tunneling protocol is a communication protocol which allows for the movement of data from one network to another. It can, for example, allow private network communications to be sent across a public network, or for one network protocol to be carried over an incompatible network, through a process called encapsulation.

This article lists communication protocols that are designed for file transfer over a telecommunications network.

Transmission Control Protocol (TCP) uses a congestion control algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and congestion window (CWND), to achieve congestion avoidance. The TCP congestion-avoidance algorithm is the primary basis for congestion control in the Internet. Per the end-to-end principle, congestion control is largely a function of internet hosts, not the network itself. There are several variations and versions of the algorithm implemented in protocol stacks of operating systems of computers that connect to the Internet.

TCP global synchronization in computer networks can happen to TCP/IP flows during periods of congestion because each sender will reduce their transmission rate at the same time when packet loss occurs.

TCP tuning techniques adjust the network congestion avoidance parameters of Transmission Control Protocol (TCP) connections over high-bandwidth, high-latency networks. Well-tuned networks can perform up to 10 times faster in some cases. However, blindly following instructions without understanding their real consequences can hurt performance as well.

Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is either caused by errors in data transmission, typically across wireless networks, or network congestion. Packet loss is measured as a percentage of packets lost with respect to packets sent.

UDP-based Data Transfer Protocol (UDT), is a high-performance data transfer protocol designed for transferring large volumetric datasets over high-speed wide area networks. Such settings are typically disadvantageous for the more common TCP protocol.

In computer networks, goodput is the application-level throughput of a communication; i.e. the number of useful information bits delivered by the network to a certain destination per unit of time. The amount of data considered excludes protocol overhead bits as well as retransmitted data packets. This is related to the amount of time from the first bit of the first packet sent until the last bit of the last packet is delivered.

In computing, Microsoft's Windows Vista and Windows Server 2008 introduced in 2007/2008 a new networking stack named Next Generation TCP/IP stack, to improve on the previous stack in several ways. The stack includes native implementation of IPv6, as well as a complete overhaul of IPv4. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after a change in settings. The new stack, implemented as a dual-stack model, depends on a strong host-model and features an infrastructure to enable more modular components that one can dynamically insert and remove.

Bufferbloat is a cause of high latency and jitter in packet-switched networks caused by excess buffering of packets. Bufferbloat can also cause packet delay variation, as well as reduce the overall network throughput. When a router or switch is configured to use excessively large buffers, even very high-speed networks can become practically unusable for many interactive applications like voice over IP (VoIP), audio streaming, online gaming, and even ordinary web browsing.

The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the protocol provides the message-oriented feature of the User Datagram Protocol (UDP), while ensuring reliable, in-sequence transport of messages with congestion control like the Transmission Control Protocol (TCP). Unlike UDP and TCP, the protocol supports multihoming and redundant paths to increase resilience and reliability.

Secure Reliable Transport (SRT) is an open source video transport protocol that utilises the UDP transport protocol. The SRT Protocol specification is available as an Internet Draft from the IETF.

References

  1. 1 2 "Aspera high speed file transfer: Let the cloud protocol wars begin". The Register .
  2. 1 2 "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".
  9. Klimek, Ivan (2011). Wide Area Network Traffic Optimization. Faculty of Electrical Engineering and Informatics. Košice: Technical University of Košice. p. 49.