NetPipe
What is NetPipe?
What can I use it for?
How does it work?
Download NetPipe
About the author

NetPipe

Current version: v1.0.0 (Beta)

© 1999 by Jan Oberländer <mindriot@gmx.net>

What is NetPipe?

NetPipe is a simple Linux / Unix tool which allows the distribution of binary data within a subnet using UDP broadcasting techniques. Data can be sent from one workstation (server) to multiple computers (clients) within an IP network. NetPipe works via stdin and stdout, and thus data can be piped into and out from NetPipe.
Up

What can I use NetPipe for?

You can use NetPipe for any kind of data transferring and processing within a LAN, but its main purpose is to allow the replication of workstations. NetPipe allows you to retrieve a hard disk image and write it back to multiple clients by simply using commands like dd and piping into NetPipe.
Up

How does NetPipe work?

NetPipe uses two successive UDP ports (by default 9000/9001), the first one to transfer data from server to client, and the second one to send status messages from client to server. By using UDP broadcasting techniques and starting multiple clients, the data can be multicast.
The protocol employs four different transaction phases:
1. Seek phase
The server sends out ping-like packets and waits for client answers. This phase is finished once the expected number of clients has answered.
2. Initialization phase
The server tells the clients that the transaction is about to start and can send certain flags; all clients acknowledge.
3. Transaction phase
The server sends out data packets preceded by a header with a sequence number and the data size. The data integrity is ensured using a CRC-32 error checking code. Currently all clients are required to send an acknowledging packet for each received data packet; obviously this generates quite some network collisions, but I hope to fix this soon. Remember, NetPipe is still beta!
4. End-Of-Transaction
The server simply informs the clients that EOF has been reached and waits for the clients' acknowledgements before exiting.
Up

Where can I get NetPipe?

Download the latest NetPipe version right here. Up

About the author

Hi! My name is Jan Oberländer, as you might have guessed already. I'm currently studying Computer Science at the University of Karlsruhe. Up