<p>Preface xxi</p> <p>PART I MODERN NETWORKING 3</p> <p>Chapter 1: Elements of Modern Networking 4</p> <p>1.1 The Networking Ecosystem . . . . . . . . . . . . . . . . . . . 5</p> <p>1.2 Example Network Architectures . . . . . . . . . . . . . . . . . 7</p> <p>A Global Network Architecture . . . . . . . . . . . . . . . . . . 7</p> <p>A Typical Network Hierarchy . . . . . . . . . . . . . . . . . . 9</p> <p>1.3 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 11</p> <p>Applications of Ethernet . . . . . . . . . . . . . . . . . . . . 11</p> <p>Standards . . . . . . . . . . . . . . . . . . . . . . . . . . 14</p> <p>Ethernet Data Rates . . . . . . . . . . . . . . . . . . . . . 14</p> <p>1.4 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19</p> <p>Applications of Wi-Fi . . . . . . . . . . . . . . . . . . . . . 19</p> <p>Standards . . . . . . . . . . . . . . . . . . . . . . . . . . 21</p> <p>Wi-Fi Data Rates . . . . . . . . . . . . . . . . . . . . . . . 21</p> <p>1.5 4G/5G Cellular . . . . . . . . . . . . . . . . . . . . . . . . 23</p> <p>First Generation . . . . . . . . . . . . . . . . . . . . . . . 23</p> <p>Second Generation . . . . . . . . . . . . . . . . . . . . . . 23</p> <p>Third Generation . . . . . . . . . . . . . . . . . . . . . . . 24</p> <p>Fourth Generation . . . . . . . . . . . . . . . . . . . . . . 24</p> <p>Fifth Generation . . . . . . . . . . . . . . . . . . . . . . . 25</p> <p>1.6 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 25</p> <p>Cloud Computing Concepts . . . . . . . . . . . . . . . . . . 26</p> <p>The Benefits of Cloud Computing . . . . . . . . . . . . . . . . 27</p> <p>Cloud Networking . . . . . . . . . . . . . . . . . . . . . . 28</p> <p>Cloud Storage . . . . . . . . . . . . . . . . . . . . . . . . 28</p> <p>1.7 Internet of Things. . . . . . . . . . . . . . . . . . . . . . . 28</p> <p>Things on the Internet of Things . . . . . . . . . . . . . . . . 28</p> <p>Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . 29</p> <p>Layers of the Internet of Things . . . . . . . . . . . . . . . . . 29</p> <p>1.8 Network Convergence . . . . . . . . . . . . . . . . . . . . 30</p> <p>1.9 Unified Communications . . . . . . . . . . . . . . . . . . . 33</p> <p>1.10 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 37</p> <p>1.11 References . . . . . . . . . . . . . . . . . . . . . . . . . 37</p> <p>Chapter 2: Requirements and Technology 38</p> <p>2.1 Types of Network and Internet Traffic . . . . . . . . . . . . . . 39</p> <p>Elastic Traffic . . . . . . . . . . . . . . . . . . . . . . . . 39</p> <p>Inelastic Traffic . . . . . . . . . . . . . . . . . . . . . . . 40</p> <p>Real-Time Traffic Characteristics . . . . . . . . . . . . . . . . 43</p> <p>2.2 Demand: Big Data, Cloud Computing, and Mobile Traffic . . . . . . 45</p> <p>Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . 45</p> <p>Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 48</p> <p>Mobile Traffic . . . . . . . . . . . . . . . . . . . . . . . . 51</p> <p>2.3 Requirements: QoS and QoE . . . . . . . . . . . . . . . . . . 53</p> <p>Quality of Service . . . . . . . . . . . . . . . . . . . . . . 53</p> <p>Quality of Experience . . . . . . . . . . . . . . . . . . . . . 54</p> <p>2.4 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . 55</p> <p>Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 55</p> <p>Packet Forwarding . . . . . . . . . . . . . . . . . . . . . . 56</p> <p>Routing Protocols . . . . . . . . . . . . . . . . . . . . . . 57</p> <p>Elements of a Router . . . . . . . . . . . . . . . . . . . . . 59</p> <p>2.5 Congestion Control . . . . . . . . . . . . . . . . . . . . . . 60</p> <p>Effects of Congestion . . . . . . . . . . . . . . . . . . . . . 60</p> <p>Congestion Control Techniques . . . . . . . . . . . . . . . . 64</p> <p>2.6 SDN and NFV . . . . . . . . . . . . . . . . . . . . . . . . 67</p> <p>Software-Defined Networking . . . . . . . . . . . . . . . . . 67</p> <p>Network Functions Virtualization . . . . . . . . . . . . . . . . 69</p> <p>2.7 Modern Networking Elements . . . . . . . . . . . . . . . . . 71</p> <p>2.8 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 72</p> <p>2.9 References . . . . . . . . . . . . . . . . . . . . . . . . . 73</p> <p>PART II SOFTWARE DEFINED NETWORKS 75</p> <p>Chapter 3: SDN: Background and Motivation 76</p> <p>3.1 Evolving Network Requirements . . . . . . . . . . . . . . . . 77</p> <p>Demand Is Increasing . . . . . . . . . . . . . . . . . . . . . 77</p> <p>Supply Is Increasing . . . . . . . . . . . . . . . . . . . . . 77</p> <p>Traffic Patterns Are More Complex . . . . . . . . . . . . . . . 78</p> <p>Traditional Network Architectures are Inadequate . . . . . . . . . 79</p> <p>3.2 The SDN Approach . . . . . . . . . . . . . . . . . . . . . . 80</p> <p>Requirements. . . . . . . . . . . . . . . . . . . . . . . . 80</p> <p>SDN Architecture . . . . . . . . . . . . . . . . . . . . . . . 81</p> <p>Characteristics of Software-Defined Networking . . . . . . . . . . 85</p> <p>3.3 SDN- and NFV-Related Standards . . . . . . . . . . . . . . . 85</p> <p>Standards-Developing Organizations . . . . . . . . . . . . . . 87</p> <p>Industry Consortia . . . . . . . . . . . . . . . . . . . . . . 89</p> <p>Open Development Initiatives . . . . . . . . . . . . . . . . . 89</p> <p>3.4 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 91</p> <p>3.5 References . . . . . . . . . . . . . . . . . . . . . . . . . 91</p> <p>Chapter 4: SDN Data Plane and OpenFlow 92</p> <p>4.1 SDN Data Plane . . . . . . . . . . . . . . . . . . . . . . . 93</p> <p>Data Plane Functions . . . . . . . . . . . . . . . . . . . . . 93</p> <p>Data Plane Protocols . . . . . . . . . . . . . . . . . . . . . 95</p> <p>4.2 OpenFlow Logical Network Device . . . . . . . . . . . . . . . 95</p> <p>Flow Table Structure . . . . . . . . . . . . . . . . . . . . . 98</p> <p>Flow Table Pipeline . . . . . . . . . . . . . . . . . . . . . 102</p> <p>The Use of Multiple Tables . . . . . . . . . . . . . . . . . . 106</p> <p>Group Table . . . . . . . . . . . . . . . . . . . . . . . . 107</p> <p>4.3 OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . 109</p> <p>4.4 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 111</p> <p>Chapter 5: SDN Control Plane 112</p> <p>5.1 SDN Control Plane Architecture . . . . . . . . . . . . . . . . 113</p> <p>Control Plane Functions . . . . . . . . . . . . . . . . . . . 113</p> <p>Southbound Interface . . . . . . . . . . . . . . . . . . . . 116</p> <p>Northbound Interface . . . . . . . . . . . . . . . . . . . . 117</p> <p>Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 119</p> <p>5.2 ITU-T Model . . . . . . . . . . . . . . . . . . . . . . . . 120</p> <p>5.3 OpenDaylight . . . . . . . . . . . . . . . . . . . . . . . . 122</p> <p>OpenDaylight Architecture . . . . . . . . . . . . . . . . . . 122</p> <p>OpenDaylight Helium . . . . . . . . . . . . . . . . . . . . 124</p> <p>5.4 REST . . . . . . . . . . . . . . . . . . . . . . . . . . . 128</p> <p>REST Constraints . . . . . . . . . . . . . . . . . . . . . . 128</p> <p>Example REST API . . . . . . . . . . . . . . . . . . . . . 130</p> <p>5.5 Cooperation and Coordination Among Controllers . . . . . . . . 133</p> <p>Centralized Versus Distributed Controllers . . . . . . . . . . . . 133</p> <p>High-Availability Clusters . . . . . . . . . . . . . . . . . . . 134</p> <p>Federated SDN Networks . . . . . . . . . . . . . . . . . . . 135</p> <p>Border Gateway Protocol . . . . . . . . . . . . . . . . . . . 136</p> <p>Routing and QoS Between Domains . . . . . . . . . . . . . . 137</p> <p>Using BGP for QoS Management . . . . . . . . . . . . . . . 138</p> <p>IETF SDNi . . . . . . . . . . . . . . . . . . . . . . . . . 140</p> <p>OpenDaylight SNDi . . . . . . . . . . . . . . . . . . . . . 141</p> <p>5.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 143</p> <p>5.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 143</p> <p>Chapter 6: SDN Application Plane 144</p> <p>6.1 SDN Application Plane Architecture . . . . . . . . . . . . . . 145</p> <p>Northbound Interface . . . . . . . . . . . . . . . . . . . . 146</p> <p>Network Services Abstraction Layer . . . . . . . . . . . . . . 146</p> <p>Network Applications . . . . . . . . . . . . . . . . . . . . 147</p> <p>User Interface . . . . . . . . . . . . . . . . . . . . . . . 147</p> <p>6.2 Network Services Abstraction Layer . . . . . . . . . . . . . . 147</p> <p>Abstractions in SDN . . . . . . . . . . . . . . . . . . . . . 147</p> <p>Frenetic . . . . . . . . . . . . . . . . . . . . . . . . . . 150</p> <p>6.3 Traffic Engineering . . . . . . . . . . . . . . . . . . . . . 153</p> <p>PolicyCop . . . . . . . . . . . . . . . . . . . . . . . . . 153</p> <p>6.4 Measurement and Monitoring . . . . . . . . . . . . . . . . . 157</p> <p>6.5 Security . . . . . . . . . . . . . . . . . . . . . . . . . . 157</p> <p>OpenDaylight DDoS Application . . . . . . . . . . . . . . . . 157</p> <p>6.6 Data Center Networking . . . . . . . . . . . . . . . . . . . 162</p> <p>Big Data over SDN . . . . . . . . . . . . . . . . . . . . . 163</p> <p>Cloud Networking over SDN . . . . . . . . . . . . . . . . . 164</p> <p>6.7 Mobility and Wireless . . . . . . . . . . . . . . . . . . . . 168</p> <p>6.8 Information-Centric Networking . . . . . . . . . . . . . . . . 168</p> <p>CCNx . . . . . . . . . . . . . . . . . . . . . . . . . . . 169</p> <p>Use of an Abstraction Layer . . . . . . . . . . . . . . . . . . 170</p> <p>6.9 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 173</p> <p>PART III VIRTUALIATION 175</p> <p>Chapter 7: Network Functions Virtualization: Concepts and Architecture 176</p> <p>7.1 Background and Motivation for NFV . . . . . . . . . . . . . . 177</p> <p>7.2 Virtual Machines . . . . . . . . . . . . . . . . . . . . . . 178</p> <p>The Virtual Machine Monitor. . . . . . . . . . . . . . . . . . 179</p> <p>Architectural Approaches . . . . . . . . . . . . . . . . . . . 180</p> <p>Container Virtualization . . . . . . . . . . . . . . . . . . . . 183</p> <p>7.3 NFV Concepts . . . . . . . . . . . . . . . . . . . . . . . 184</p> <p>Simple Example of the Use of NFV . . . . . . . . . . . . . . . 188</p> <p>NFV Principles . . . . . . . . . . . . . . . . . . . . . . . 189</p> <p>High-Level NFV Framework . . . . . . . . . . . . . . . . . . 190</p> <p>7.4 NFV Benefits and Requirements . . . . . . . . . . . . . . . . 191</p> <p>NFV Benefits . . . . . . . . . . . . . . . . . . . . . . . . 191</p> <p>NFV Requirements . . . . . . . . . . . . . . . . . . . . . 192</p> <p>7.5 NFV Reference Architecture . . . . . . . . . . . . . . . . . . 193</p> <p>NFV Management and Orchestration . . . . . . . . . . . . . . 194</p> <p>Reference Points . . . . . . . . . . . . . . . . . . . . . . 195</p> <p>Implementation . . . . . . . . . . . . . . . . . . . . . . . 196</p> <p>7.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 197</p> <p>7.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 197</p> <p>Chapter 8: NFV Functionality 198</p> <p>8.1 NFV Infrastructure . . . . . . . . . . . . . . . . . . . . . . 199</p> <p>Container Interface . . . . . . . . . . . . . . . . . . . . . 199</p> <p>Deployment of NFVI Containers . . . . . . . . . . . . . . . . 203</p> <p>Logical Structure of NFVI Domains . . . . . . . . . . . . . . . 204</p> <p>Compute Domain . . . . . . . . . . . . . . . . . . . . . . 205</p> <p>Hypervisor Domain . . . . . . . . . . . . . . . . . . . . . 208</p> <p>Infrastructure Network Domain . . . . . . . . . . . . . . . . 209</p> <p>8.2 Virtualized Network Functions . . . . . . . . . . . . . . . . . 213</p> <p>VNF Interfaces . . . . . . . . . . . . . . . . . . . . . . . 213</p> <p>VNFC to VNFC Communication . . . . . . . . . . . . . . . . 215</p> <p>VNF Scaling . . . . . . . . . . . . . . . . . . . . . . . . 216</p> <p>8.3 NFV Management and Orchestration . . . . . . . . . . . . . . 217</p> <p>Virtualized Infrastructure Manager . . . . . . . . . . . . . . . 217</p> <p>Virtual Network Function Manager . . . . . . . . . . . . . . . 218</p> <p>NFV Orchestrator . . . . . . . . . . . . . . . . . . . . . . 219</p> <p>Repositories . . . . . . . . . . . . . . . . . . . . . . . . 219</p> <p>Element Management . . . . . . . . . . . . . . . . . . . . 220</p> <p>OSS/BSS . . . . . . . . . . . . . . . . . . . . . . . . . 220</p> <p>8.4 NFV Use Cases . . . . . . . . . . . . . . . . . . . . . . . 221</p> <p>Architectural Use Cases . . . . . . . . . . . . . . . . . . . 222</p> <p>Service-Oriented Use Cases . . . . . . . . . . . . . . . . . 223</p> <p>8.5 SDN and NFV . . . . . . . . . . . . . . . . . . . . . . . . 225</p> <p>8.6 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 228</p> <p>8.7 References . . . . . . . . . . . . . . . . . . . . . . . . . 229</p> <p>Chapter 9: Network Virtualization 230</p> <p>9.1 Virtual LANs . . . . . . . . . . . . . . . . . . . . . . . . 231</p> <p>The Use of Virtual LANs . . . . . . . . . . . . . . . . . . . 234</p> <p>Defining VLANs . . . . . . . . . . . . . . . . . . . . . . . 235</p> <p>Communicating VLAN Membership . . . . . . . . . . . . . . 236</p> <p>IEEE 802.1Q VLAN Standard . . . . . . . . . . . . . . . . . 237</p> <p>Nested VLANs . . . . . . . . . . . . . . . . . . . . . . . 239</p> <p>9.2 OpenFlow VLAN Support . . . . . . . . . . . . . . . . . . . 240</p> <p>9.3 Virtual Private Networks . . . . . . . . . . . . . . . . . . . 241</p> <p>IPsec VPNs . . . . . . . . . . . . . . . . . . . . . . . . 241</p> <p>MPLS VPNs . . . . . . . . . . . . . . . . . . . . . . . . 243</p> <p>9.4 Network Virtualization . . . . . . . . . . . . . . . . . . . . 247</p> <p>A Simplified Example . . . . . . . . . . . . . . . . . . . . 248</p> <p>Network Virtualization Architecture . . . . . . . . . . . . . . . 250</p> <p>Benefits of Network Virtualization . . . . . . . . . . . . . . . 252</p> <p>9.5 OpenDaylight's Virtual Tenant Network. . . . . . . . . . . . . 253</p> <p>9.6 Software-Defined Infrastructure . . . . . . . . . . . . . . . . 257</p> <p>Software-Defined Storage . . . . . . . . . . . . . . . . . . 259</p> <p>SDI Architecture . . . . . . . . . . . . . . . . . . . . . . 261</p> <p>9.7 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 263</p> <p>9.8 References . . . . . . . . . . . . . . . . . . . . . . . . . 263</p> <p>PART IV DEFINING AND SUPPORTING USER NEEDS 265</p> <p>Chapter 10: Quality of Service 266</p> <p>10.1 Background . . . . . . . . . . . . . . . . . . . . . . . . 267</p> <p>10.2 QoS Architectural Framework . . . . . . . . . . . . . . . . 268</p> <p>Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 269</p> <p>Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 271</p> <p>Management Plane . . . . . . . . . . . . . . . . . . . . . 272</p> <p>10.3 Integrated Services Architecture . . . . . . . . . . . . . . . 273</p> <p>ISA Approach . . . . . . . . . . . . . . . . . . . . . . . . 273</p> <p>ISA Components . . . . . . . . . . . . . . . . . . . . . . 274</p> <p>ISA Services . . . . . . . . . . . . . . . . . . . . . . . . 276</p> <p>Queuing Discipline . . . . . . . . . . . . . . . . . . . . . 277</p> <p>10.4 Differentiated Services . . . . . . . . . . . . . . . . . . . 279</p> <p>Services . . . . . . . . . . . . . . . . . . . . . . . . . . 281</p> <p>DiffServ Field . . . . . . . . . . . . . . . . . . . . . . . . 282</p> <p>DiffServ Configuration and Operation . . . . . . . . . . . . . . 284</p> <p>Per-Hop Behavior . . . . . . . . . . . . . . . . . . . . . . 286</p> <p>Default Forwarding PHB . . . . . . . . . . . . . . . . . . . 287</p> <p>10.5 Service Level Agreements . . . . . . . . . . . . . . . . . . 291</p> <p>10.6 IP Performance Metrics . . . . . . . . . . . . . . . . . . . 293</p> <p>10.7 OpenFlow QoS Support . . . . . . . . . . . . . . . . . . . 296</p> <p>Queue Structures . . . . . . . . . . . . . . . . . . . . . . 296</p> <p>Meters . . . . . . . . . . . . . . . . . . . . . . . . . . 297</p> <p>10.8 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 299</p> <p>10.9 References . . . . . . . . . . . . . . . . . . . . . . . . 299</p> <p>Chapter 11: QoE: User Quality of Experience 300</p> <p>11.1 Why QoE? . . . . . . . . . . . . . . . . . . . . . . . . 301</p> <p>Online Video Content Delivery . . . . . . . . . . . . . . . . . 302</p> <p>11.2 Service Failures Due to Inadequate QoE Considerations . . . . . 304</p> <p>11.3 QoE-Related Standardization Projects . . . . . . . . . . . . . 304</p> <p>11.4 Definition of Quality of Experience . . . . . . . . . . . . . . . 305</p> <p>Definition of Quality . . . . . . . . . . . . . . . . . . . . . 306</p> <p>Definition of Experience . . . . . . . . . . . . . . . . . . . 306</p> <p>Quality Formation Process . . . . . . . . . . . . . . . . . . 307</p> <p>Definition of Quality of Experience . . . . . . . . . . . . . . . 308</p> <p>11.5 QoE Strategies in Practice . . . . . . . . . . . . . . . . . . 308</p> <p>The QoE/QoS Layered Model . . . . . . . . . . . . . . . . . 308</p> <p>Summarizing and Merging the QoE/QoS Layers . . . . . . . . . 310</p> <p>11.6 Factors Influencing QoE . . . . . . . . . . . . . . . . . . . 311</p> <p>11.7 Measurements of QoE . . . . . . . . . . . . . . . . . . . 312</p> <p>Subjective Assessment . . . . . . . . . . . . . . . . . . . . 312</p> <p>Objective Assessment . . . . . . . . . . . . . . . . . . . . 314</p> <p>End-User Device Analytics . . . . . . . . . . . . . . . . . . 315</p> <p>Summarizing the QoE Measurement Methods . . . . . . . . . . 316</p> <p>11.8 Applications of QoE . . . . . . . . . . . . . . . . . . . . 317</p> <p>11.9 Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 319</p> <p>11.10 References . . . . . . . . . . . . . . . . . . . . . . . . 320</p> <p>Chapter 12: Network Design Implications of QoS and QoE 322</p> <p>12.1 Classification of QoE/QoS Mapping Models . . . . . . . . . . 323</p> <p>Black-Box Media-Based QoS/QoE Mapping Models . . . . . . . 323</p> <p>Glass-Box Parameter-Based QoS/QoE Mapping Models . . . . . . 325</p> <p>Gray-Box QoS/QoE Mapping Models . . . . . . . . . . . . . . 326</p> <p>Tips for QoS/QoE Mapping Model Selection . . . . . . . . . . . 327</p> <p>12.2 IP-Oriented Parameter-Based QoS/QoE Mapping Models . . . . . 327</p> <p>Network Layer QoE/QoS Mapping Models for Video Services . . . . 328</p> <p>Application Layer QoE/QoS Mapping Models for Video Services . . 328</p> <p>12.3 Actionable QoE over IP-Based Networks . . . . . . . . . . . . 330</p> <p>The System-Oriented Actionable QoE Solution . . . . . . . . . . 330</p> <p>The Service-Oriented Actionable QoE Solution . . . . . . . . . . 331</p> <p>12.4 QoE Versus QoS Service Monitoring . . . . . . . . . . . . . . 332</p> <p>QoS Monitoring Solutions. . . . . . . . . . . . . . . . . . . 334</p> <p>QoE Mo</p>