1. A computing device to test a communication network, the computing device comprising: a processor a memory coupled with the processor, the memory divided into a kernel space and a user space a hardware interface to the communication network a storage medium having instructions stored thereon which when executed cause the computing device to perform actions comprising: operating an application program within the user space operating a protocol stack within the kernel space, the protocol stack comprising a interfaced transport, network, and link layers in which data units are exchanged between and processed by adjacent layers operating an HTTP offload program within the kernel space, the HTTP offload program configured to receive a test request from the application program, the test request for conducting a test of the communication network, the HTTP offload program further configured to fulfill the test request by transmitting, receiving, and interpreting a plurality of HTTP messages via the protocol stack.