Netsend

Description OR What The Heck Is Netsend?

Netsend considered at a low-level isn't really more then a simple IO wrapper. Netsend transmit and receive files just like every other filetransfer application. The difference is HOW netsend utilise the Operating System - nor the lowest common denominator of available functionality (e.g. portability) is the main goal. Intention is to crush the last quantum of the Linux Network Stack to gain maximum network performance.

If you are familiar with transport level protocols, aware of implementation and network challenges and know how to bypass it (socket options, /proc, ...) then netsend IS the fastest data transfer application for Linux.

Last but not least: netsend isn't your friend if you just ordinary want to transfer files. rsync(1) or netcat(1) are more general purpose applications for this aim. But the user interface isn't quit complex — in opposite: it's easy as count to 23.

Feature List:

  • Freedom to choose between IO operation mode:
    • read(2)/write(2)
    • mmap(2)/write(2)
    • sendfile(2)
    • splice(2)
  • Supported transport layer protocols:
    • TCP (Transmission Control Protocol)
    • UDP (User Datagram Protocol)
    • DCCP (Datagram Congestion Control Protocol)
    • SCTP (Stream Control Transmission Protocol)
    • UDP LITE (User Datagram Protocol - LITE)
  • Supported internet layer protocols:
    • IPv4 (Internet Protocol version 4)
    • IPv6 (Internet Protocol version 6)
    • TIPC (Transparent Inter-process Communication)
  • Congestion avoidance algorithms
    • bic
    • westwood
    • vegas
    • scalable
    • hybla
    • htcp
    • cubic
    • reno
  • Integrated round trip time (rtt) probe (average, covariance, standard deviation)
  • Advises the kernel about how to handle memory paging
  • Socket option wrapper functionality
  • Complete IPv6 support
  • Multicast support
  • Extensive statistics
  • ... and many more (maybe you ideas soon, see development page :-)
Discover your network and keep your copper/fiber burning! ;-)