Book Image

Building Modern Networks

By : Steven Noble
Book Image

Building Modern Networks

By: Steven Noble

Overview of this book

<p>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.</p> <p>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.</p> <p>By the end of the book, you'll be well versed in simplifying the way you design, build, operate, and troubleshoot your network.</p>
Table of Contents (20 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
2
Networking Hardware and Software
4
Using REST and Thrift APIs to Manage Switches
9
Where to Start When Building a Next Generation Network

Preface

Building Modern Networks will brush up your knowledge of modern networking concepts and help you apply them to your software-defined infrastructure. Modern networking revolves around the construction, design, and usage of network. What describes a modern network? The latest development is that networking is the concept of Next Generation Networks (NGNs), which is the USP of this book. The book further allows you to study different types of NGNs with a deeper understanding.

As you master the NGN concepts, you will slowly move toward one of the major concepts of networking: understanding OpenFlow. As rightly stated by the Open Networking Foundation, OpenFlow is the first standard communications interface defined between the control and forwarding layers of an SDN architecture. OpenFlow allows direct access to and manipulation of the forwarding plane of network devices such as switches and routers, both physical and virtual. You will not only learn OpenFlow but also explore the Thrift and REST API in order to comprehend and control switches.

After OpenFlow, we will move on to grasp VMware NSX and ACI ideas. These concepts are like the building blocks of modern network. Eventually, we will move to the best part of learning all these concepts: implementing them! As we complete our take on initial concepts, we will move to actually building a modern network! In the last section of the book, we will apply all the notions of a modern network and design a NGN. As you learn how to build a modern network, we will also secure the network while working on its quality.

What this book covers

Chapter 1, Open and Proprietary Next Generation Networks, starts our journey from with concepts of NGNs, including hardware, software, and controllers. Here, we will also explore concepts such as open hardware, Open Source Network Operating Systems (ONOS), proprietary hardware, proprietary Network Operating Systems (NOS), and open source and proprietary software controllers.

Chapter 2, Networking Hardware and Software, discusses the multitude of open and closed hardware and software systems available to network architects. We will discuss the Open Compute Project (OCP), its goals, and members including Juniper Networks and Cisco, who are both mostly in the proprietary networking space.

Chapter 3, Exploring OpenFlow, talks about programmable networks. Specifically, it discusses how OpenFlow works, the different OpenFlow controllers available, and the hardware that can use OpenFlow.

Chapter 4, Using REST and Thrift APIs to Manage Switches, discusses the API-driven routing/switching applications. This concept allows you to have easier automation and management. Instead of programming systems box by box, you will now be able to use a central server or application to manage multiple systems.

Chapter 5, Using Postman for REST API Calls, teaches how to install Postman, use it to configure, and get the configuration from a switch running SnapRoute's FlexSwitch software. You will also consider how to program FlexSwitch using some of the extra features of Postman.

Chapter 6, OpenFlow Deep Dive, teaches the history of OpenFlow, why it was invented, and what issues it solves. We will also consider how OpenFlow works internally and how an OpenFlow agent and controller work together. Finally, we will set up ODL and ONOS.

Chapter 7, VMware NSX, gives you an idea about VMware NSX, its history, features, and use cases. You will now have a general understanding of what VMware NSX is and how you can integrate it into an existing or new SDDC.

Chapter 8, Cisco ACI, talks about Cisco ACI and how to navigate the CLI, GUI, and RESTful interfaces. We will also discuss how to set up a new APIC-driven network; configure the management network, users, tenants, and interfaces; and add a BGP ASN to the configuration.

Chapter 9, Where to Start When Building a Next Generation Network, talks about choosing between open and proprietary hardware and software. We will cover the support levels that can be expected and how your support needs may guide your decisions. We will cover the RFI and PoC concepts and how to handle them.

Chapter 10, Designing a Next Generation Network, teaches about determining the size and type of installation the equipment will be going in to. You will also learn about designing the network hardware layout based on the RFI/RFQ information and finally, you will understood how to assemble a final list of equipment to construct the NGN.

Chapter 11, Example NGN Designs, discusses designs using OpenFlow, SnapRoute, Cisco ACI, and NSX to design and build networks. We refer back to the chapters examining each to see how to do the deep configuration.

Chapter 12, Understanding and Configuring Quality of Service, explains QoS, how it works and how to use it with NGN technologies. Examples of simple QoS on both Linux and Windows will be shown along with the basic concepts of QoS in both OpenFlow and VMware NSX. We will cover both flat and hierarchical QoS and their uses in both enterprise and service provider networks.

Chapter 13, Securing the Network, teaches about general security concepts and how to apply them to different next generation systems. Using the OPNFV project, we will look at configuring switches using OpenFlow and virtual firewalls.

What you need for this book

To practice the examples and best practices explained in the book, you should have the following:

  • Postman
  • Access VirtualBox or another pc based hypervisor running Linux(r) to work with
    • OpenDaylight
    • ONOS
    • OVS
  • Cisco Nexus switch running NX-OS
  • Indigo (included with Broadcom OF-DPA)
  • Floodlight
  • Access to a non-production VMware system running NSX
  • Access to a non-production Cisco network using APIC

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.

Conventions

In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning. Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "In Rescue mode, you can run the onie-nos-install command to install an image from a web server or the onie-self-update command to upgrade ONIE".

A block of code is set as follows:

"NextHopList": [
  {
    "NextHopIntRef": "fpPort3",
    "NextHopIp": "192.168.30.2",
    "Weight": 0
  }
]

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

"NextHopList": [
  {
    "NextHopIntRef": "fpPort3",
    "NextHopIp": "192.168.30.2",
    "Weight": 0
  }
]

Any command-line input or output is written as follows:

curl -X GET http://10.1.1.1:8080/public/v1/state/BGPGlobal | python -m json.tool 

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Once you click on Send, you should be logged in to the APIC server."

Note

Warnings or important notes appear in a box like this.

Note

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book: what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of. To send us general feedback, simply email [email protected], and mention the book's title in the subject of your message. If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the color images of this book

We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/BuildingModernNetworks_ColorImages.pdf.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books-maybe a mistake in the text or the code-we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title. To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy. Please contact us at [email protected] with a link to the suspected pirated material. We appreciate your help in protecting our authors and our ability to bring you valuable content.

Questions

If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.