1. A method implemented in an electronic device serving as a software-defined networking (SDN) controller in a network containing a plurality of network elements, each network element of the plurality of network elements containing a corresponding forwarding table for forwarding traffic, the method comprising: sending messages to the plurality of network elements from the electronic device, wherein each message contains a message identifier, wherein the message identifier indicates an order of the messages, wherein the plurality of network elements utilize at least some of the messages to update corresponding forwarding tables of the plurality of network elements, wherein the plurality of network elements asynchronously capture consistent states of the corresponding forwarding tables of the plurality of network elements, wherein all of the plurality of the network elements capture the consistent states of the corresponding forwarding tables within a predetermined time window, wherein each consistent state includes values, copied within the corresponding forwarding tables of the plurality of network elements, at one moment in time, and wherein each consistent state is associated with one message identifier; receiving a set of values from each network element of the plurality of network elements, wherein each value of the set of values is associated with one consistent state for one network element; receiving a request to recover the network to a previous state of the network, the request being triggered when a fault is detected in the network, wherein the request is received after the detected fault is contained by the electronic device; identifying a consistent state of the corresponding forwarding table for each network element of the plurality of the network elements utilizing message identifiers associated with the consistent states, wherein the identified consistent states represent the previous state of the network without the identified consistent states being captured at a same time at the plurality of network elements; and indicating the identified consistent state for each network element of the plurality of the network elements to the network element, wherein the network element updates the corresponding forwarding table to match the identified consistent state if the corresponding forwarding table is inconsistent with the identified consistent state.