Software Defined Networks
eBook - ePub

Software Defined Networks

A Comprehensive Approach

  1. 352 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Software Defined Networks

A Comprehensive Approach

About this book

Software Defined Networks discusses the historical networking environment that gave rise to SDN, as well as the latest advances in SDN technology. The book gives you the state of the art knowledge needed for successful deployment of an SDN, including: - How to explain to the non-technical business decision makers in your organization the potential benefits, as well as the risks, in shifting parts of a network to the SDN model- How to make intelligent decisions about when to integrate SDN technologies in a network- How to decide if your organization should be developing its own SDN applications or looking to acquire these from an outside vendor- How to accelerate the ability to develop your own SDN application, be it entirely novel or a more efficient approach to a long-standing problem- Discusses the evolution of the switch platforms that enable SDN- Addresses when to integrate SDN technologies in a network- Provides an overview of sample SDN applications relevant to different industries- Includes practical examples of how to write SDN applications

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Software Defined Networks by Paul Goransson,Chuck Black in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Networking. We have over one million books available in our catalogue for you to explore.
Chapter 1

Introduction

Abstract

Chapter 1 provides background on the fundamental concepts underlying current state-of-the-art Internet switches. This chapter includes historical background on the evolution of computer networking. The roles of the data plane, control plane and management plane are defined and discussed and we provide a brief review of the architecture of the traditional data switch. This and other historical background is used to explain how the modern computer network has evolved into a complex beast that is challenging to manage and which has difficulty scaling to the requirements of some of today’s environments. General characteristics of the modern data center are discussed. We explain how the distributed control plane that has been at the core of the Internet architecture from its inception struggles to scale to meet the demands of the modern data center. We present Software Defined Networks (SDN) as a new approach to computer networking which attempts to address these weaknesses of the current paradigm. We explain that SDN’s highly scalable and centralized network control architecture is better suited to the extremely large networks prevalent in today’s mega-scale data centers.

Keywords

SDN; Data plane; Distributed control plane; Policy-based routing (PBR); Flow; Data center; Open source; Routing protocols
It is not often that an author of a technology text gets to read about his subject matter in a major story in a current issue of a leading news magazine. The tempest surrounding Software Defined Networking (SDN) is indeed intense enough to make mainstream news [1]. The modern computer network has evolved into a complex beast that is challenging to manage and that strugges to scale to the requirements of some of today’s environments. SDN represents a new approach that attempts to address these weaknesses of the current paradigm. SDN is a fundamentally novel way to program the switches utilized in modern data networks. SDN’s move to a highly scalable and centralized network control architecture is better suited to the extremely large networks prevalent in today’s megascale data centers. Rather than trying to crowbar application-specific forwarding into legacy architectures that are ill-suited to the task, SDN is designed from the outset to perform fine-grained traffic-forwarding decisions. Interest in SDN goes far beyond the research and engineering communities intrigued by this new Internet switching technology. If SDN’s technological promise is realized, it will represent nothing short of a tectonic shift in the networking industry, as long-term industry incumbents may be unseated and costs to consumers may plummet. Surely, though, along with this anticipation comes a degree of over-hype, and it is important that we understand not only the potentials of this new networking model but also its limitations. In this work we endeavor to provide a technical explanation of how SDN works, an overview of those networking applications for which it is well suited and those for which it is not, a tutorial on building custom applications on top of this technology, and a discussion of the many ramifications of SDN on the networking business itself.
This introductory chapter provides background on the fundamental concepts underlying current state-of-the-art Internet switches, where data plane, control plane, and management plane will be defined and discussed. These concepts are key to understanding how SDN implements these core functions in a substantially different manner than the traditional switch architecture. We also present how forwarding decisions are made in current implementations and the limited flexibility this offers network administrators to tune the network to varying conditions. At a high level, we provide examples of how more flexible forwarding decisions could greatly enhance the business versatility of existing switches. We illustrate how breaking the control plane out of the switch itself into a separate, open-platform controller can provide this greater flexibility. We conclude by drawing parallels between the way the Linux operating system has enjoyed rapid growth by leveraging the open-source development community and how the same efficiencies can be applied to the control plane on Internet switches.
We next look at some basic packet-switching terminology that will be used throughout the text. Following that we provide a brief history of the field of packet switching and its evolution.

1.1 Basic Packet-Switching Terminology

This section defines much of the basic packet-switching terminology used throughout the book. Our convention is to italicize a new term on its first use. For more specialized concepts that are not defined in this section, they will be defined on their first use. Many packet-switching terms and phrases have several and varied meanings to different groups. Throughout the book we try to use the most accepted definition for terms and phrases. Acronyms are also defined and emphasized on their first use; the book’s appendix on acronyms provides an alphabetized list of all acronyms used in this work. An advanced reader may decide to skip over this section. Others might want to skim this material and later look back to refer to specific concepts.
This terminology is an important frame of reference as we explain how SDN differs from traditional packet switching. To some degree, though, SDN does away with some of these historic concepts or changes their meaning in a fundamental way. Throughout this book, we encourage the reader to look back at these definitions and consider when the term’s meaning is unchanged in SDN, when SDN requires a nuanced definition, and when a discussion of SDN requires entirely new vocabulary.
A wide area network (WAN) is a network that covers a broad geographical area, usually larger than a single metropolitan area.
A local area network (LAN) is a network that covers a limited geographical area, usually not more than a few thousand square meters in area.
A metropolitan area network (MAN) is a network that fills the gap between LANs and WANs. This term came into use because LANs and WANs were originally distinguished not only by their geographical areas of coverage but also by the transmission technologies and speeds that they used. With the advent of technologies resembling LANs in terms of speed and access control, but with the capability of serving a large portion of a city, the term MAN came into use to distinguish these networks as a new entity distinct from large LANs and small WANs.
A wireless local area network (WLAN) is a LAN in which the transmission medium is air. The typical maximum distance between any two devices in a wireless network is on the order of 50 meters. Although it is possible to use transmission media other than air for wireless communication, we will not consider such uses in our use of this term in this work.
The physical layer is the lowest layer of the seven-layer Open Systems Interconnection (OSI) model of computer networking [10]. It consists of the basic hardware transmission technology to move bits of data on a network.
The data link layer is the second lowest layer of the OSI model. This is the layer that provides the capability to transfer data from one device to another on a single network segment. For clarity, here we equate a LAN network segment with a collision domain. A strict definition of a LAN segment is an electrical or optical connection between network devices. For our definition of data link layer, we consider multiple segments linked by repeaters as a single LAN segment. Examples of network segments are a single LAN, such as an Ethernet, or a point-to-point communications link between adjacent nodes in a WAN. The link layer includes: (1) mechanisms to detect sequencing errors or bit errors that may occur during transmission, (2) some mechanism of flow control between the sender and receiver across that network segment, and (3) a multiplexing ability that allows multiple network protocols to use the same communications medium. These three functions are considered part of the logical link control (LLC) component of the data link layer. The remaining functions of the data link layer are part of the Media Access Control component, described separately below.
Media Access Control (MAC) is the part of the data link layer that controls when a shared medium may be accessed and provides addressing in the case that multiple receivers will receive the data, yet only one should process it. The MAC layer is part of the data link layer. For our purposes in this book, we will not distinguish between data link layer and MAC layer.
The network layer provides the functions and processes that allow data to be transmitted from sender to receiver across multiple intermediate networks. To transit each intermediate network involves the data link layer processes described above. The network layer is responsible for stitching together those discrete processes such that the data correctly makes its way from the sender to the intended receiver.
Layer one is the same as the physical layer defined above.
Layer two is the same as the data link layer defined above. We will also use the term L2 synonymously with layer two.
Layer three is the same as the network layer defined above. L3 will be used interchangeably with layer three in this work.
A port is a connection to a single communications medium, including the set of data link layer and physical layer mechanisms necessary to correctly transmit and receive data over that link. This link may be of any feasible media type. We will use the term interface interchangeably with port throughout this text. Since this book also deals with virtual switches, the definition of port will be extended to include virtual interfaces, which are the endpoints of tunnels.
A frame is the unit of data transferred over a layer two network.
A packet is the unit of data transferred over a layer three network. Sometimes this term is used more generally to refer to the units of data transferred over either a layer two network (frames) as well, without distinguishing between layers two and three. When the distinction is important, a packet is always the payload of a frame.
A MAC address is a unique value that globally identifies a piece of networking equipment. Though these addresses are globally unique, they serve as layer two addresses, identifying a device on a layer two network topology.
An IP address is a nominally unique value assigned to each host in a computer network that uses the Internet Protocol for layer three addressing.
An IPv4 address is an IP address that is a 32-bit integer value conforming to the rules of Internet Protocol Version 4. This 32-bit integer is frequently represented in dotted notation, with each of the 4 bytes comprising the address represented by a decimal number from 0 to 255, separated by periods (e.g., 192.168.1.2).
An IPv6 address is an IP address that is a 128-bit integer conforming to the rules of Internet Protocol Version 6, introducing a much larger address space than IPv4.
A switch is a device that receives information on one of its ports and transmits that information out one or more of its other ports, directing this information to a specified destination.
A circuit switch is a switch whereby contextual information specifying where to forward the data belonging to a circuit (i.e., a connection) is maintained in the switch for a prescribed duration, which may span lapses of time when no data belonging to that connection is being processed. This context is established either by configuration or by some call setup or connection setup procedure specific to the type of circuit switch.
A packet switch is a switch whereby the data comprising the communication between two or more entities is treated as individual packets that each make their way independently through the network toward the destination. Packet switches may be of the connection-oriented or connectionless type.
In the connection-oriented model, data transits a network where there is some context information residing in each intermediate switch that allows the switch to forward the data toward its destination. The circuit switch described above is a good example of the connection-oriented paradigm.
In the connectionless model, data transits a network and there is sufficient data in each packet such that each intermediate switch can forward the data toward its destination without any a priori context having been established about that data.
A router is a packet switch used to separate subnets. A subnet is a network consisting of a set of hosts that share the same network prefix. A network prefix consists of the most significant bits of the IP address. The prefix may be of varying lengths. Usually all of the hosts on a subnet reside on the same LAN. The term router is now often used interchangeably with layer three switch. A home wireless access point typically combines the functionality of WiFi, layer two switch, and router into a single box.
To flood a packet is to transmit it on all ports of a switch except for the port on which it was received.
To broadcast a packet is the same as flooding it.
Line rate refers to the bandwidth of the communications medium connected to a port on a switch. On modern switches this bandwidth is normally measured in megabits per second (Mbps) or gigabits per second (Gbps). When we say that a switch handles packets at line rate, this means it is capable of handling a continuous stream of packets arriving on that port at that bandwidth.
WiFi is the common name for wireless communications systems that are based on the IEEE 802.11 standard.

1.2 Historical Background

The major communications networks around the world in the first half of the 20th century were the telephone networks. These networks were universally circuit-switched networks. Communication between endpoints involved the establishment of a communications path for that dialogue and the tearing down of that path at the dialogue’s conclusion. The path on which the conversation traveled was static during the call. This type of communications is also referred to as connection-oriented. In addition to being based o...

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Praise Page
  7. List of Figures
  8. List of Tables
  9. Foreword
  10. Preface
  11. Chapter 1. Introduction
  12. Chapter 2. Why SDN?
  13. Chapter 3. The Genesis of SDN
  14. Chapter 4. How SDN Works
  15. Chapter 5. The OpenFlow Specification
  16. Chapter 6. Alternative Definitions of SDN
  17. Chapter 7. SDN in the Data Center
  18. Chapter 8. SDN in Other Environments
  19. Chapter 9. Players in the SDN Ecosystem
  20. Chapter 10. SDN Applications
  21. Chapter 11. SDN Open Source
  22. Chapter 12. Business Ramifications
  23. Chapter 13. SDN Futures
  24. Appendix A. Acronyms and Abbreviations
  25. Appendix B. Blacklist Application
  26. Index