O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building Modern Networks

Book Description

Gain the edge with SDN, NFV, network virtualization, and networking on clouds

About This Book

  • Navigate through the complexities of delivering modern networking services with practical techniques and solutions
  • Build robust software defined networks and solve real-world problems involving challenges with next generation networks
  • Discover the best practices used by top industry professionals for network-related architecture, services, and applications and secure your networks

Who This Book Is For

This book is for Network Engineers and Network Administrators who are taking their first steps when deploying software-defined networks. Network Architects will also find this book useful when designing and building modern networks.

What You Will Learn

  • Understand Traditional Network Challenges to match modern applications requirements
  • Find out all about Next Generation Networks (NGN)
  • Explore the different APIs used to control NGN devices
  • Understand the different software controllers available to manage NGN hardware
  • Design a next generation network

In Detail

As IT infrastructures become more software-defined, networking operations tend to be more automated with falling levels of manual configuration at the hardware level. Building Modern Networks will brush up your knowledge on the modern networking concepts and help you apply them to your software-defined infrastructure.

In this book you'll gain the knowledge necessary to evaluate, choose, and deploy a next generation network design. We will cover open and closed network operating systems (NOS) along with the protocols used to control them such as OpenFlow, Thrift, Opflex, and REST. You will also learn about traffic engineering and security concepts for NGNs. You will also find out how to fine-tune your network using QoS and QoE.

By the end of the book, you'll be well versed in simplifying the way you design, build, operate, and troubleshoot your network.

Style and Approach

This practical tutorial shows you real-world solutions to design and build network services through cutting edge research.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the color images of this book
      2. Errata
      3. Piracy
      4. Questions
  2. Open and Proprietary Next Generation Networks
    1. Examples of next generation networking
      1. Terms and concepts used in this book
        1. Routing and switching concepts
          1. Routers and switches
          2. Control plane
          3. Data plane
        2. VLAN/VXLAN
        3. Network design concepts
          1. Local Area Network (LAN)
          2. Metro Area Network (MAN)
          3. Wide Area Network (WAN)
          4. The leaf-spine design
          5. The Clos network
          6. The Benes network
        4. Network controller concepts
          1. Controllers
          2. The OpenFlow controller
          3. The Supervisor module
          4. Juniper Routing Engine
          5. Built-in processor
          6. Facebook Wedge microserver
        5. Routing protocols
          1. Border Gateway Protocol (BGP)
          2. Open Shortest Path First (OSPF)
          3. Intermediate System to Intermediate System (IS-IS)
          4. Enhanced Interior Gateway Routing Protocol (EIGRP)
          5. Routing Information Protocol (RIP)
        6. Cables
          1. Copper cables
          2. Fiber/hot pluggable cables
          3. Breakout cables
    2. What defines a modern network?
      1. Modern network pieces
        1. SDN
        2. Next generation networking and hyperscale networks
        3. Open networking hardware overview
        4. Open networking software overview
        5. Closed networking hardware overview
        6. Closed networking software overview
        7. Network virtualization
        8. NFV
        9. Traffic engineering
      2. The history of open hardware and software
        1. Hardware providers
        2. Hyperscale networking
        3. Hyperscale hardware
      3. Software
        1. ONIE
        2. Cisco's Bootloader
        3. OpenBMC
        4. Forwarding agents
        5. Commercial products
        6. Closed source NOS
          1. IOS
          2. Junos OS
        7. Open source network operating systems
          1. Open Network Linux (ONL)
          2. OpenSwitch
          3. SONiC
        8. Software forwarding agents
          1. SwitchDev
          2. Indigo
          3. FBOSS
          4. SwitchD
          5. Open Route Cache (ORC)
        9. Software controllers
    3. Next generation networking examples
      1. Example 1 – migration from FDDI to 100Base-T
      2. Example 2 – NGN failure (LANE)
    4. Designing a modern network
      1. Scoping
      2. Greenfield and brownfield networks
        1. Next generation hardware
        2. NFV
        3. Traffic engineering
        4. Tools
        5. Network monitoring
      3. Network configuration
        1. RANCID
        2. Postman
        3. Git
    5. Summary
  3. Networking Hardware and Software
    1. Introducing the OCP
      1. Accepted open compute networking hardware
      2. Open compute networking software projects
        1. ONIE
        2. ONL
        3. SONiC
        4. SnapRoute
      3. Network hardware designs from the OCP
        1. Accton AS7712-32X
        2. Facebook/Accton Wedge 100
        3. Facebook's 6-pack and Backpack
      4. Hardware from Cisco and Dell
        1. Cisco Nexus 3232C
        2. Cisco Nexus 3172
        3. Cisco Nexus 9000
        4. Dell Z9100-ON
        5. Dell Z9500
    2. Summary
  4. Exploring OpenFlow
    1. Active and programmable network concepts
    2. The history of OpenFlow
      1. An overview of OpenFlow
      2. How OpenFlow works
      3. The growth of OpenFlow
        1. OpenFlow 1.0
        2. OpenFlow 1.1
        3. OpenFlow 1.2
        4. OpenFlow 1.3
        5. OpenFlow 1.4
        6. OpenFlow 1.5
    3. Understanding OF-DPA – the open source OpenFlow agent from Broadcom
      1. Using an OpenFlow agent such as Indigo
        1. OpenFlow capable OCP devices
      2. How controllers interact with OpenFlow agents
    4. OpenDaylight
      1. Brocade SDN Controller
      2. Cisco Open SDN Controller
    5. ONOS
    6. Summary
  5. Using REST and Thrift APIs to Manage Switches
    1. API concepts
      1. REST
      2. Apache Thrift
      3. SnapRoute – a RESTful API programmable routing stack
        1. Configuring an interface
        2. Thrift
    2. Summary
  6. Using Postman for REST API calls
    1. Showing and modifying the configuration of SnapRoute's FlexSwitch via Postman
    2. Summary
  7. OpenFlow Deep Dive
    1. History of OpenFlow
      1. Before OpenFlow
      2. After OpenFlow
        1. OF-DPA
        2. PicaOS
        3. Open Network Linux
    2. What issues does OpenFlow solve?
    3. Internal workings of OpenFlow
      1. Configuration
      2. State machine
      3. Message layer
      4. System interface
    4. How an OpenFlow controller and agent work together
      1. Floodlight
      2. Indigo
        1. Connecting Indigo and Floodlight together
    5. About OpenDaylight
      1. Installing OpenDaylight
      2. Installation platform
    6. ONOS
      1. Installing and configuring ONOS
    7. Summary
  8. VMware NSX
    1. NSX
      1. NSX Manager
      2. NSX Controller
    2. The history of virtualization
      1. Where VMware came in
        1. The difference between NSX, ACI, and OVS
    3. How to design a network using NSX
      1. Review of the leaf-spine design
    4. Installing VMware NSX
      1. Installation steps
      2. Working with NSX
        1. A walkthrough of other NSX features
    5. Summary
  9. Cisco ACI
    1. ACI terminologies and concepts
      1. Contracts
      2. APIC configuration
      3. Policy model
      4. Logical model
      5. Concrete model
      6. Tenants
    2. EPGs
    3. ACI modes
      1. ACI requirements
      2. Network design using ACI
      3. Configuration via the GUI
      4. Configuration via the CLI
      5. Configuration via wizards
      6. Configuration via REST
    4. Summary
  10. Where to Start When Building a Next Generation Network
    1. Network design fundamentals
      1. Multidimensional designs
        1. PoD
        2. Single-rack design
        3. Multi-rack PoD design
      2. Deciding on the hardware and software
        1. Proprietary hardware-based designs
        2. Open hardware-based designs
        3. Support needs
          1. 24x7x365 full support
          2. Business hours support
      3. Request for Information (RFI) and Request for Quotes (RFQ)
      4. Proof of Concept (PoC)
        1. Designing a PoC
        2. Running a PoC
        3. Finishing up a PoC
    2. Summary
  11. Designing a Next Generation Network
    1. Terminologies used in this chapter
      1. Equipment racks – two post, four post, and enclosed
      2. Airflow
      3. New versus old or greenfield versus brownfield
    2. Physical location
      1. New location – greenfield
      2. Old location – brownfield
    3. Using RFI/RFQ information to design the network
      1. Designing using the Cisco ACI
      2. Designing using open network hardware
    4. Assembling the network
      1. Putting the parts in place
    5. Migrating to the new network
    6. Summary
  12. Example NGN Designs
    1. Designs used in this chapter
      1. Leaf-spine design
      2. Core-aggregation design
      3. Using open hardware and software
      4. OpenFlow designs
      5. Open hardware with SnapRoute
        1. Configuring BGP
          1. Building the network
      6. Cisco ACI
        1. Design basics
      7. Open or proprietary network with NSX
    2. Summary
  13. Understanding and Configuring Quality of Service
    1. QoS
      1. Network behavior without QoS
      2. Generic traffic management
        1. Layer 2 – focused QoS functionality
        2. Layer 3 – focused QoS functionality
    2. Utilizing QoS
      1. Example of QoS in Linux
      2. Example of QoS in Windows
      3. Hierarchical QoS
    3. QoS in open source controllers
    4. QoS in NSX
    5. Summary
  14. Securing the Network
    1. Terminology used in this chapter
      1. Generic terms
      2. Cisco ACI-specific terms
      3. VMware NSX-specific terms
    2. The evolution of security on the internet
      1. Traffic steering
    3. Demilitarized/Demarcation Zone (DMZ)
      1. Designing a DMZ
      2. Implementing the DMZ
    4. Using network controllers to implement security
      1. Open source controllers and security
        1. Security using OpenDaylight
      2. Commercial controllers and security
        1. Security using Cisco ACI
          1. ACI layer 4-7 service graph
        2. Security using VMware NSX
      3. Mirroring traffic to a monitoring device
        1. Using a SPAN port
        2. Using an inline tap
    5. Summary