1. A method for receiving data from a communication network, the method comprising: assigning a plurality of generic buffers in a host system to store Transmission Control Protocol (TCP) data received from a communication network when said host system has not posted an application buffer, where said received TCP data is in-order data or out-of-order data; maintaining a data structure organizing said assigned plurality of generic buffers based on a transmission sequence of said received TCP data; and transferring said received TCP data stored in said assigned plurality of generic buffers to at least one application buffer when said at least one application buffer is posted by said host system.