15-744: Computer Networking

Slides:



Advertisements
Similar presentations
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
Advertisements

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
SDN and Openflow.
15-744: Computer Networking
A Routing Control Platform for Managing IP Networks Jennifer Rexford Computer Science Department Princeton University
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Internet Routing (COS 598A) Today: Telling Routers What to Do Jennifer Rexford Tuesdays/Thursdays.
Routing and Routing Protocols
Tesseract A 4D Network Control Plane
MPLS networking at PSP Co Multi-Protocol Label Switching Presented by: Hamid Sheikhghanbari 1.
Chapter 1: Hierarchical Network Design
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Software-Defined Networks Jennifer Rexford Princeton University.
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
Objectives: Chapter 5: Network/Internet Layer  How Networks are connected Network/Internet Layer Routed Protocols Routing Protocols Autonomous Systems.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
LAN Switching and Wireless – Chapter 1
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
June, 2006 Stanford 2006 Ethane. June, 2006 Stanford 2006 Security and You  What does security mean to you?  Data on personal PC?  Data on family PC?
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Introducing Network Design Concepts Designing and Supporting Computer Networks.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Advanced Computer Networks Lecturer: E EE Eng. Ahmed Hemaid Office: I 114.
Transport Layer3-1 Network Layer Every man dies. Not every man really lives.
CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS 
Computer Networks 0110-IP Gergely Windisch
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Ethane: Taking Control of the Enterprise Presenter: KyoungSoo Park Department of Electrical Engineering KAIST.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Routing and Routing Protocols CCNA 2 v3 – Module 6.
Software Defined Networking BY RAVI NAMBOORI. Overview  Origins of SDN.  What is SDN ?  Original Definition of SDN.  What = Why We need SDN ?  Conclusion.
Building Enterprise Applications Using Visual Studio®
SDN challenges Deployment challenges
Virtual Data Center LAN
Multi Node Label Routing – A layer 2.5 routing protocol
CIS 700-5: The Design and Implementation of Cloud Networks
Multi-layer software defined networking in GÉANT
HybNET: Network Manager for a Hybrid Network Infrastructure
15-744: Computer Networking
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Networking Devices.
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Revisiting Ethernet: Plug-and-play made scalable and efficient
NOX: Towards an Operating System for Networks
Chapter 4 Data Link Layer Switching
Chapter 4: Routing Concepts
Overview of SDN Controller Design
CHAPTER 3 Architectures for Distributed Systems
CCNA 2 v3.1 Module 6 Routing and Routing Protocols
CS 457 – Lecture 8 Switching and Forwarding
Software Defined Networking (SDN)
Routing.
Module 5 - Switches CCNA 3 version 3.0.
Software Defined Networking (SDN)
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
SDN + NetSec Vyas Sekar.
COMP/ELEC 429/556 Introduction to Computer Networks
Lecture 10, Computer Networks (198:552)
EE 122: Lecture 13 (IP Multicast Routing)
Routing.
Reconciling Zero-conf with Efficiency in Enterprises
Control-Data Plane Separation
Presentation transcript:

15-744: Computer Networking L-6 Software-Defined Networking (SDN)

Software-Defined Networking Motivation Enterprise network management Scalable SDN Readings: A Clean Slate 4D Approach to Network Control and Management Onix: A Distributed Control Platform for Large-scale Production Networks Optional reading Ethane: Taking Control of the Enterprise

Software-Defined Networking Motivation Enterprise network management Scalable SDN Readings: A Clean Slate 4D Approach to Network Control and Management Onix: A Distributed Control Platform for Large-scale Production Networks Optional reading Ethane: Taking Control of the Enterprise

4D: Motivation Network management is difficult! Operators goals should be implemented as “workarounds” Observation: current Internet architecture bundles control logic and packet handling (e.g., OSPF) Challenge: how to systematically enforce various, increasingly complex high-level goals?

Design choices Incremental deployment Advantage: easier to implement Disadvantage: point solution? 4D advocates a clean-slate approach Build control plane/network management from the ground up Constraint: no change of packet formats Insight: Decouple the control and data planes

Example 1: Front- Office Data Center ACL Interface i1.1 is configured with a packet filter that drops all packets from the BF subnet, and interface i3.1 drops all packets from the AF subnet. The new link (dotted) changes the routing such that packets sent from AF to BD will travel from R2 to R1 to R3 to BD—completely avoiding the packet filter installed on interface i3.1

Example 2: Spurious Routing If AS1’s policy is to not provide AS3 with transit service for d, it does not announce d in its eBGP sessions with AS3. However, if AS3 wishes to be unscrupulous (e.g., use AS1 for transit service without paying), it can assume AS1 does know a way to d (e.g., so AS1’s own customers can reach d). If AS3 sends packets for d to br.nyc.as1, they will definitely be delivered, as br.nyc.as1 must have a route to d in order to handle legitimate traffic from AS2.

Management today Data plane Control plane Management plane Packet forwarding mechanisms Control plane Routing protocols Distributed Management plane Has to reverse engineer what the control plane does Work around rather than work with!

Driving principles Network-level objectives Network-wide views High-level, not after-the-fact Network-wide views Measurement/monitoring/diagnosis Direct control No more “reverse engineering” or “inversion” Direct configuration

4D Architecture Decision plane Dissemination plane Discovery plane routing, access control, load balancing, … Dissemination plane control information through an independent channel from data Discovery plane discover net. elements and create a logical net. map Data plane handle individual packets given state by decision plane (e.g., forwarding tables, load balancing schemes,…)

Challenges for 4D Complexity – can we re-implement everything within 4D framework? Stability failures – is network-wide view stable enough for decision making? Scalability problems – will decision computation and dissemination scale? Response time – will latency to central controller be an issue? Security vulnerabilities

Research Agendas Decision plane Dissemination plane Discovery plane Data plane

Research Agendas Decision plane Dissemination plane Discovery plane Data plane

Research Agendas Decision plane Algorithms Satisfying Network-Level Objectives Traffic engineering Reachability policies Planned maintenance Leveraging network structure Multiple network-level objectives Finding the right separation of timescales Coordination Between Decision Elements Introducing Hierarchy in the Decision Plane

Research Agendas Decision plane Algorithms Satisfying Network-Level Objectives Coordination Between Decision Elements Distributed election algorithms Independent DEs Introducing Hierarchy in the Decision Plane

Research Agendas Decision plane Algorithms Satisfying Network-Level Objectives Coordination Between Decision Elements Introducing Hierarchy in the Decision Plane Large network managed by a single institution Multiple networks managed by different institutions

Research Agendas Decision plane Dissemination plane Discovery plane Connecting decision elements with routers/switches Flooding vs. spanning-tree vs. source routing Achieving direct control Consistent update semantics Discovery plane Data plane

Research Agendas Decision plane Dissemination plane Discovery plane Support for decision-plane algorithms Accuracy and naming Bootstrapping with zero pre-configuration beyond a secure key Supporting cross-layer auto-discovery Data plane

Research Agendas Decision plane Dissemination plane Discovery plane Data plane Packet-forwarding paradigms Advanced data-plane features

Where are we? Controller 4D (vision) Config Config

Where are we? Controller OpenFlow Config Config

Where are we? Controller Ethane (concrete example) Config Config

Where are we? Controller E.g., ONIX Config Config

Software-Defined Networking Motivation Enterprise network management Scalable SDN Readings: A Clean Slate 4D Approach to Network Control and Management Onix: A Distributed Control Platform for Large-scale Production Networks Optional reading Ethane: Taking Control of the Enterprise

Motivation Enterprise configuration Existing solutions Error prone: 60% of failures due to human error Expensive: 80% of IT budget spent on maintenance and operations Existing solutions Place middleboxes at chokepoints Retrofit via Ethernet/IP mechanisms

Driving question Make enterprises more manageable What’s good about enterprises Security policies are critical Already somewhat centralized

Three principles in Ethane Descriptive/declarative policies Tie it to names not locations/addresses Packet paths determined explicitly by policy Binding between packet and origin No spoofing Accountability

How Ethane Works First packet sent to Controller Subsequent packets use FlowTable No host-to-host communication without explicit permission

Ethane in use Registration Bootstrapping Authentication 4. Flow set up explicit registration of users, hosts, and switches Bootstrapping spanning tree Authentication controller authenticates the host and assigns IP user authenticates through a web form 4. Flow set up 5. Forwarding

Switch Design Simplified Ethernet-like switch Flow Table No VPN, no routing protocols, smaller tables, etc. Flow Table Controller-only update Forward/drop actions Local switch manager Maintains secure channel to controller

Reliability Cold standby Warm standby Fully replicated Primary controller is root of spanning tree Switches/users need to re-auth Warm standby Separate spanning tree for every controller Replicate bindings among controllers Only latest switches/users need to re-auth Fully replicated Multiple active controllers Partition workload

Policy Language Common tasks expressed as predicates Allow, deny, waypoint Interpret vs compile

Policy Language

Advantages of Ethane Switches Dumb No complex distributed protocol Focus purely on forwarding Save forwarding rule space (try to keep only “active” flows)

Potential concerns Controller “DDoS” Controller scalability Broadcast traffic Latency

Software-Defined Networking Motivation Enterprise network management Scalable SDN Readings: A Clean Slate 4D Approach to Network Control and Management Onix: A Distributed Control Platform for Large-scale Production Networks Optional reading Ethane: Taking Control of the Enterprise

ONIX ONIX Controller Config Config ONIX: How to build a controller platform?

What are the key challenges? Usability Performance Flexibility Scalability Reliability/availability …

ONIX

ONIX Design Decisions “Data-centric” API Treat all networking actions as data actions Read Alter Register for changes in network state

Core component == NIB Network information base Analogous to forwarding information base Graph of all network entities Switches, ports, interfaces, links etc Applications read/register/manipulate NIB

Default network entity classes Core component == NIB NIB is a collection network entities Each entity is a key-value pair Default network entity classes

Functions provided by the ONIX NIB API ONIX NIB APIs Functions provided by the ONIX NIB API

Three scalability strategies Partition Can we split the state into independent sub-sets? E.g., different subnet forwarding rules on a switch Aggregate zoom-in/zoom-out at different aggregation levels Tradeoff with weaker consistency/durability E.g., replicated transactional DB for network topology E.g., one-hop DHT for link utilization info

Reliability Network element failure ONIX instance failure discovered by traditional data plane mechanisms application is in charge of deciding about the alternative policy after node/link failure ONIX instance failure Option 1: other instances detect failure and take over Option 2: have multiple instances manage each network element at all times (ONIX helps handles consistency) Infrastructure failure Use dedicated control backbone

Killer apps for ONIX Why did VMWare buy Nicira? Distributed Virtual Switch Multi-tenant virtualization

Summary 4D: An general vision for design Ethane: End-to-end enterprise network management ONIX: A distributed control platform

Next Lecture Router Design Readings: A Fast Switched Backplane for a Gigabit Switched Router Scaling Internet Routers Using Optics (read intro)