This book reviews the concept of Software-Defined Networking (SDN) by studying the SDN architecture. It provides a detailed analysis of state-of-the-art distributed SDN controller platforms by assessing their advantages and drawbacks and classifying them in novel ways according to various criteria.
Additionally, a thorough examination of the major challenges of existing distributed SDN controllers is provided along with insights into emerging and future trends in that area. Decentralization challenges in large-scale networks are tackled using three novel approaches, applied to the SDN control plane presented in the book. The first approach addresses the SDN controller placement optimization problem in large-scale IoT-like networks by proposing novel scalability and reliability aware controller placement strategies. The second and third approaches tackle the knowledge sharing problem between the distributed controllers by suggesting adaptive multilevel consistency models following the concept of continuous Quorum-based consistency. These approaches have been validated using different SDN applications, developed from real-world SDN controllers.
Table of Contents
Acronyms ix
Preface xiii
Introduction xvii
Chapter 1 Toward a Decentralized SDN Control Architecture: Overview and Taxonomy 1
1.1. Introduction 1
1.2. Software-defined networking: a centralized control architecture 2
1.2.1. Conventional networking and the SDN paradigm 2
1.2.2. The SDN architecture 3
1.3. Physical classification of existing SDN control plane architectures 8
1.3.1. Physically centralized SDN control 8
1.3.2. Physically distributed SDN control 11
1.4. Logical classification of existing SDN control plane architectures 16
1.4.1. Logically centralized SDN control 17
1.4.2. Logically distributed SDN control 22
1.5. Conclusion 26
Chapter 2. Decentralized SDN Control: Major Open Challenges 27
2.1. Introduction 27
2.2. Scalability 28
2.2.1. Data plane extensions 30
2.2.2. Control plane distribution 32
2.3. Reliability 33
2.3.1. Control state redundancy 33
2.3.2. Controller failover 34
2.4. Controller state consistency 35
2.4.1. Static consistency 36
2.4.2. Adaptive multi-level consistency 37
2.5. Interoperability 38
2.5.1. Interoperability between the SDN controllers 38
2.5.2. SDN interoperability with legacy networks 38
2.6. Other challenges 39
2.7. Conclusion 40
Chapter 3 Scalability and Reliability Aware SDN Controller Placement Strategies 41
3.1. Introduction 41
3.2. Related work 42
3.3. The SDN controller placement optimization problem 44
3.3.1. Problem statement 44
3.3.2. Problem formulation 45
3.3.3. Placement metrics 45
3.4. The proposed SDN controller placement scheme 49
3.4.1. The adopted approach 49
3.4.2. Multi-criteria placement algorithms 50
3.4.3. Gradual strategies 52
3.5. Performance evaluation 53
3.5.1. Simulation settings 53
3.5.2. Simulation results 54
3.6. Discussion 60
3.7. Conclusion 62
Chapter 4 Adaptive and Continuous Consistency for Distributed SDN Controllers: Anti-Entropy Reconciliation Mechanism 65
4.1. Introduction 65
4.2. Related work 66
4.3. The consistency problem in SDN 68
4.3.1. Consistency trade-offs in SDN 68
4.3.2. Consistency models in SDN 69
4.4. Consistency models in ONOS 70
4.4.1. Strong consistency in ONOS 70
4.4.2. Eventual consistency in ONOS 71
4.5. The proposed adaptive consistency for ONOS 72
4.5.1. A continuous consistency model for ONOS 72
4.5.2. Our consistency adaptation strategy for ONOS 74
4.5.3. Our implementation approach 74
4.6. Performance evaluation 76
4.6.1. Experimental setup 76
4.6.2. Results 76
4.7. Conclusion 79
Chapter 5 Adaptive and Continuous Consistency for Distributed SDN Controllers: Quorum-Based Replication 81
5.1. Introduction 81
5.2. Background on eventual consistency in distributed data stores 83
5.2.1. Consistency and performance metrics 83
5.2.2. Adaptive consistency control 84
5.2.3. Existing modern tunable consistency systems 84
5.3. The proposed adaptive Quorum-inspired consistency for ONOS 86
5.3.1. A continuous consistency model for ONOS 86
5.3.2. Our Quorum-inspired consistency adaptation strategy for ONOS 87
5.4. Implementation approach on ONOS 93
5.4.1. Design of a CDN-like application 93
5.4.2. State synchronization and content distribution 94
5.4.3. Content delivery to customers 95
5.5. Performance evaluation 97
5.5.1. Application-specific performance and consistency metrics 97
5.5.2. Experimental setup 98
5.5.3. Results 103
5.6. Conclusion 112
Conclusions and Perspectives 115
C.1. Summary of contributions 115
C.2. Perspectives and future work 117
References 121
Index 139