Systems and methods for controlling congestion on a packet data network are provided. The congestion control may be implemented between any two network nodes where a regulation of a data flow is desired to prevent a device overload from occurring. In order to provide regulation of a data flow, congestion control states are used where each state regulates the data flow in a specified manner. State transitions may occur in response to messages that include congestion information detected at a network node.