Junos® OS OpenFlow Feature Guide

  • View
    228

  • Download
    4

Embed Size (px)

Text of Junos® OS OpenFlow Feature Guide

  • JunosOS

    OpenFlow Feature Guide

    Modified: 2017-02-02

    Copyright 2017, Juniper Networks, Inc.

  • Juniper Networks, Inc.1133 InnovationWaySunnyvale, California 94089USA408-745-2000www.juniper.net

    Juniper Networks, Junos, Steel-Belted Radius, NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the UnitedStates and other countries. The Juniper Networks Logo, the Junos logo, and JunosE are trademarks of Juniper Networks, Inc. All othertrademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.

    Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify,transfer, or otherwise revise this publication without notice.

    JunosOSOpenFlow Feature Guide

    Copyright 2017, Juniper Networks, Inc.All rights reserved.

    The information in this document is current as of the date on the title page.

    YEAR 2000 NOTICE

    Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through theyear 2038. However, the NTP application is known to have some difficulty in the year 2036.

    ENDUSER LICENSE AGREEMENT

    The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networkssoftware. Use of such software is subject to the terms and conditions of the End User License Agreement (EULA) posted athttp://www.juniper.net/support/eula.html. By downloading, installing or using such software, you agree to the terms and conditions ofthat EULA.

    Copyright 2017, Juniper Networks, Inc.ii

    http://www.juniper.net/support/eula.html

  • Table of Contents

    About the Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    Documentation and Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    Supported Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    Using the Examples in This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

    Merging a Full Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

    Merging a Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

    Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

    Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

    Requesting Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

    Self-Help Online Tools and Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

    Opening a Case with JTAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

    Chapter 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    OpenFlow Support on Juniper Networks Devices . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Understanding Support for OpenFlow on Devices Running Junos OS . . . . . . . . . . 18

    OpenFlow Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    OpenFlow Virtual Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    OpenFlow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    UnderstandingOpenFlowOperationandForwardingActionsonDevicesRunning

    Junos OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    OpenFlow Operation and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    OpenFlow Forwarding Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    Understanding the Virtual Switch Connection to the OpenFlow Controller on

    Devices Running Junos OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    Understanding the OpenFlow Version Negotiation Between the Controller and

    Devices Running Junos OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Understanding OpenFlow Flows and Filters on Devices Running Junos OS . . . . . 28

    Understanding How the OpenFlow Destination MAC Address Rewrite Action

    Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Understanding OpenFlow Flow Instructions on Devices Running Junos OS . . . . . 30

    Understanding How the OpenFlow Group Action Works . . . . . . . . . . . . . . . . . . . . 31

    Understanding OpenFlow Flow Entry Timers on Devices Running Junos OS . . . . 32

    OpenFlow Flow Entry Timer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Idle Timeout and Hard Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Purge Flow Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Understanding OpenFlow Barrier Messages on Devices Running Junos OS . . . . . 34

    Understanding OpenFlow Multipart Messages on Devices Running Junos OS . . . 34

    Supported Open Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    OpenFlow v1.0 Compliance Matrix for Devices Running Junos OS . . . . . . . . . . . . . 37

    OpenFlow v1.0 Compliance Matrix for QFX5100 and EX4600 Switches . . . . . . . 44

    OpenFlow v1.0 Compliance Matrix for EX4550 Switches . . . . . . . . . . . . . . . . . . . . 51

    iiiCopyright 2017, Juniper Networks, Inc.

  • OpenFlow v1.3.1 Compliance Matrix for Devices Running Junos OS . . . . . . . . . . . 60

    Chapter 2 OpenFlow Basic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Configuring Support for OpenFlow on MX Series Routers . . . . . . . . . . . . . . . . . . . . 71

    Configuring the OpenFlow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Configuring the OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Configuring the OpenFlow Routing Instance . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    Example: Enabling OpenFlow on MX Series Routers . . . . . . . . . . . . . . . . . . . . . . . 74

    Configuring Support for OpenFlow on EX9200 Switches . . . . . . . . . . . . . . . . . . . 78

    Configuring the OpenFlow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Configuring the OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Configuring the OpenFlow Routing Instance . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    Example: Enabling OpenFlow on EX9200 Switches . . . . . . . . . . . . . . . . . . . . . . . . 81

    Configuring Support for OpenFlow on QFX5100 and EX4600 Switches . . . . . . . 85

    Configuring the OpenFlow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    Configuring the OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    Example: Enabling OpenFlow on QFX5100 and EX4600 Switches . . . . . . . . . . . 87

    Configuring Support for OpenFlow on EX4550 Switches . . . . . . . . . . . . . . . . . . . . 91

    Configuring the OpenFlow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    Configuring the OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    Example: Enabling OpenFlow on EX4550 Switches . . . . . . . . . . . . . . . . . . . . . . . 93

    Chapter 3 Configuring OpenFlow Hybrid Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    Understanding OpenFlow Hybrid Interfaces on Devices Running Junos OS . . . . . 99

    Configuring OpenFlow Hybrid Interfaces on MX Series Routers . . . . . . . . . . . . . 100

    Configuring the Hybrid Physical Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Configuring the Hybrid Interface Logical Units . . . . . . . . . . . . . . . . . . . . . . . . 101

    Configuring the Non-Hybrid Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Configuring OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Configuring the Virtual Switch Routing Instances . . . . . . . . . . . . . . . . . . . . . 102

    Example: Configuring OpenFlow Hybrid Interfaces on MX Series Routers . . . . . . 103

    Configuring OpenFlow Hybrid Interfaces on EX9200 Switches . . . . . . . . . . . . . . 110

    Configuring the Hybrid Physical Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Configuring the Hybrid Interface Logical Units . . . . . . . . . . . . . . . . . . . . . . . . 110

    Configuring the Non-Hybrid Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Configuring OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    Configuring the Virtual Switch Routing Instances . . . . . . . . . . . . . . . . . . . . . . 112

    Example: Configuring OpenFlow Hybrid Interfaces on EX9200 Switches . . . . . . 112

    Chapter 4 Configuring OpenFlow Traffic Steering Across MPLS Networks . . . . . . . . . 121

    Understanding OpenFlow Traffic Steering Across MPLS Net