A method for determining and controlling traffic flow availability in a network, the method comprising: receiving an indication of a physical topology of the network comprising a plurality of physical links, a logical topology model comprising a plurality of logical links between a plurality of nodes, and a plurality of traffic flow demands; receiving a cross-layer network model that maps the logical topology model to the physical topology, wherein the cross-layer network model indicates which components in the physical topology fulfill the logical connections in the logical topology; iteratively, for a predetermined number of cycles: generating a failure sample, indicating a failure of a plurality of physical links in the physical topology; updating the logical topology model responsive to the failure of the plurality of physical links in the failure sample and based on the cross-layer network model; and determining, with a traffic engineering simulator, if the updated logical topology model is capable of satisfying the plurality of traffic flow demands, wherein the traffic engineering simulator accepts as input the updated logical topology model, information on link capacities, and the plurality of traffic flow demands, and returns information about which traffic flow demands are not either fulfilled or are partially fulfilled; calculating an average availability for each of the plurality of traffic flow demands and a distribution of the outage duration for each flow with a continuous time Markov Chain Monte Carlo simulation, wherein the continuous time Markov Chain includes more than two possible states of the physical network representing states between total failure and fully functional and determining a distribution of durations the plurality of traffic flow demands is not met; based on the calculated flow availability, reducing the sending rate of a service to increase the traffic flow availability. receiving an indication of a physical topology of the network comprising a plurality of physical links, a logical topology model comprising a plurality of logical links between a plurality of nodes, and a plurality of traffic flow demands; receiving a cross-layer network model that maps the logical topology model to the physical topology, wherein the cross-layer network model indicates which components in the physical topology fulfill the logical connections in the logical topology; iteratively, for a predetermined number of cycles: generating a failure sample, indicating a failure of a plurality of physical links in the physical topology; updating the logical topology model responsive to the failure of the plurality of physical links in the failure sample and based on the cross-layer network model; and determining, with a traffic engineering simulator, if the updated logical topology model is capable of satisfying the plurality of traffic flow demands, wherein the traffic engineering simulator accepts as input the updated logical topology model, information on link capacities, and the plurality of traffic flow demands, and returns information about which traffic flow demands are not either fulfilled or are partially fulfilled; generating a failure sample, indicating a failure of a plurality of physical links in the physical topology; updating the logical topology model responsive to the failure of the plurality of physical links in the failure sample and based on the cross-layer network model; and determining, with a traffic engineering simulator, if the updated logical topology model is capable of satisfying the plurality of traffic flow demands, wherein the traffic engineering simulator accepts as input the updated logical topology model, information on link capacities, and the plurality of traffic flow demands, and returns information about which traffic flow demands are not either fulfilled or are partially fulfilled; calculating an average availability for each of the plurality of traffic flow demands and a distribution of the outage duration for each flow with a continuous time Markov Chain Monte Carlo simulation, wherein the continuous time Markov Chain includes more than two possible states of the physical network representing states between total failure and fully functional and determining a distribution of durations the plurality of traffic flow demands is not met; based on the calculated flow availability, reducing the sending rate of a service to increase the traffic flow availability.