NetTap: An Efficient and Reliable PC-Based Platform for Network Programming

01 March 2000

New Image

NetTap is a new platform for prototyping, field-testing, and deploying network services. NetTap is based on a PC running FreeBSD. NetTap can be configured as a bridge, router, or host. NetTap's API allows user-level network applications to send or receive packets, on standard network adapters, without copying or system call overheads. NetTap's watchdog timer and simple bypass switch can be configured to preserve network connectivity in case of NetTap failure. Experiments demonstrate substantial performance advantages of the NetTap API over FreeBSD's network programming APIs (Berkeley packet filters, ipfw, and divert sockets.) In particular, NetCounter, an application for capturing and aggregating IP network billing records, achieves greater throughput on NetTap at user level than does Free BSD's IP forwarding at kernel level.