Fault Tolerance and Failure Recovery Techniques in Software-Defined Networking: A Comprehensive Approach.