1. A method for transmitting a cluster of packets, the method comprising: deferring, by a software component of a virtual machine, sending a request to transfer one or more pending packets until a triggering event is identified, the one or more pending packets being stored at respective guest packet addresses in a memory space that is shared by the software component and a virtual machine monitor; identifying, by the software component, the triggering event, wherein the triggering event is a time since a most recent receipt of an acknowledgement signal acknowledging transfer of at least one earlier transferred packet exceeds a predetermined maximum time; based on the identified triggering event, sending, by the software component to the virtual machine monitor, a request to transfer the one or more pending packets; and transferring, by a physical network interface device, the one or more pending packets from the shared memory space over a network, wherein transferring the one or more pending packets from the shared memory space over the network comprises enabling a clustering mode that causes delivering the one or more pending packets in groups.