1. A system for providing network communications, the system comprising: a TCP/IP stack module stored in memory and executed by a processor to: receive application data in a data flow, inform a communications scheduler module that the data flow has data to be transmitted over a network, and generate at least one data packet for the data flow from the application data to be transmitted over the network when directed by the communications scheduler module; the communications scheduler module stored in memory and executed by the processor to: determine the capacity of a path, select a suitable path, select a prioritized data flow for the selected path, and direct the TCP/IP stack module to generate the at least one data packet for the data flow from the application data in the selected data flow so that the prioritized data flow is transmitted over the network immediately; and a communications interface module stored in memory and executed by the processor to transmit the at least one data packet for the data flow via the selected path at an optimal transmission rate, wherein the data flow is transmitted over the selected path without waiting for lost packets or acknowledgements to indicate network congestion.