Abstract: A network troubleshooting framework is described. In an implementation, a method includes detecting a discrepancy in operation of a network by supplying data that describes the network to a network simulation so that the network simulation provides an estimation of network performance. A determination is made as to whether the estimation of network performance differs from observed network performance of the network. A root cause of the discrepancy is diagnosed by injecting one or more of a plurality of faults into the network simulation until the estimation of network performance approximates the observed network performance.