Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University www.arl.wustl.edu Wide Area OpenFlow Demonstration.

Slides:



Advertisements
Similar presentations
OpenFlow Global Configuration
Advertisements

An OpenFlow Extension for the OMNeT++ INET Framework
LACP Project Proposal.
Engineering Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong,
IP Forwarding Relates to Lab 3.
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
OpenFlow Switch Specification-v part1 Speaker: Hsuan-Ling Weng Date: 2014/12/02.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Networking Technologies for Cloud Computing USTC-INY5316 Instructor: Chi Zhang Fall 2014 Welcome to.
Flowspace revisited OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Rule Action.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
An Overview of Software-Defined Network
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
Connecting LANs, Backbone Networks, and Virtual LANs
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
OpenFlow: Enabling Innovation in Campus Networks
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
IP Forwarding.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 5: Ethernet Introduction to Networks.
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
Michael Wilson Block Design Review: Line Card Key Extract (Ingress and Egress)
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Chapter 4 Version 1 Virtual LANs. Introduction By default, switches forward broadcasts, this means that all segments connected to a switch are in one.
Mapping IP Addresses to Hardware Addresses Chapter 5.
1 VLANs Relates to Lab 6. Short module on basics of VLAN switching.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
Introduction to Mininet, Open vSwitch, and POX
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Supercharged PlanetLab Platform, Control Overview
Youngstown State University Cisco Regional Academy
Introduction to Networks v6.0
Programming Assignment
Instructor Materials Chapter 5: Ethernet
Scaling the Network: The Internet Protocol
Error and Control Messages in the Internet Protocol
Network Data Plane Part 2
SDN Overview for UCAR IT meeting 19-March-2014
An NP-Based Router for the Open Network Lab
An NP-Based Ethernet Switch for the Open Network Lab Design
SPP Version 1 Router NAT John DeHart.
Internet Control Message Protocol (ICMP)
The Stanford Clean Slate Program
An NP-Based Router for the Open Network Lab Overview by JST
Supercharged PlanetLab Platform, Control Overview
Next steps for SPP & ONL 2/6/2007
SPP Version 1 Router Traffic Examples
Design of a Diversified Router: November 2006 Demonstration Plans
Code Review for IPv4 Metarouter Header Format
Code Review for IPv4 Metarouter Header Format
Implementing an OpenFlow Switch on the NetFPGA platform
Scaling the Network: The Internet Protocol
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration

Planned Wide-Area OpenFlow WashU Princeton Stanford GaTech Texas NOX to SPP CP net FPGA NOX lookup parse hdrFmt queue SC

OpenFlow Site NOX to SPP via I2 Gateway Acts as gateway between Local OpenFlow Network and SPP node with OpenFlow code option. Implemented in NetFPGA? OpenFlow  SPP Receives Ethernet Frames from an OpenFlow Switch Encapsulates Ethernet frames in IP/UDP pkt Sends IP/UDP pkt to SPP SPP  OpenFlow Receives IP/UDP pkt from SPP node Removes IP/UDP encapsulation Sends Ethernet frame to OpenFlow switch

SPP Node CP net FPGA lookup parse hdrFmt queue SPP-NOX SC Switch NPE GPE LC TCAM Filter Updates OFP

SPP Node CP net FPGA lookup parse hdrFmt queue SC Switch NPE GPE LC TCAM Filter Updates IP DAddr (32b) Intf (4b) UDP DPort (16b) Protocol (8b) Type (8b) Rsv (4b) Rx UDP DPort (16b) T 0 (1b) Slice ID (VLAN) (11b) Rx IP DA Index (4b) MN Key Bits (32b) MN Key Bits (32b) MN Key Bits (32b) MN Key Bits 15-0 (16b) LC Lookup Key NPE Lookup Key SPP-NOX OFP

SPP Node CP net FPGA lookup parse hdrFmt queue SC Switch NPE GPE LC TCAM Filter Updates LC Lookup(Interface, IP DA, Protocol, Rx UDP Dport)  Slice ID Slice ID is encoded as VLAN used in Switch VLAN will be used as Slice ID in NPE on other side of Switch SPP-NOX OFP

SPP Node CP net FPGA lookup parse hdrFmt queue SC Switch NPE GPE LC TCAM Filter Updates Rx Meta-Interface: (Interface, Slice ID, Rx UDP Dport) NPE Lookup(Rx Meta-Interface, MN Key(112b))  Tx Meta-Interface Hit: Causes pkt to be sent out on specificed physical interface with a new encapsulation header Miss: Causes pkt to be sent to SC for communication to SPP-NOX SPP-NOX OFP

NPE Lookup Key: 144 bits 32 bits of Substrate Key 112 bits of MetaNet Specific key MetaNet Specific Lookup Key: 112 bits For IPv4 MN: IP DA (32b) IP SA (32b) Src Port (16b) Dst Port (16b) Proto/TCP Flags (16b) Proposed For OpenFlow (109b) VLAN Valid (1b) VLAN (12b) Src MAC (32b): Low 32 bits of Source MAC Dst MAC (48b) Ethertype (16b) We are considering increasing the size of the NPE lookup key to a total of 288 bits, giving us 256 bits for the MetaNet specific lookup key. Thus allowing us to support the full OpenFlow key (232b) NPE Lookup Key

Forward: Forwarding the pkt to physical ports and the following virtual ones: All: Send pkt out all interfaces, not including incoming interface Controller: Encapsulate and send packet to the controller Local: Send the packet to the switch’s local networking stack Table: Perform the actions in the flow table. Only for packet-out messages Packet-out messages are data packets that the controller wants to have the switch send out. In-Port: Send pkt out the input port Drop OpenFlow Required Actions

Forward: Forwarding the pkt to a physical ports and the following virtual ones: All: Send pkt out all interfaces, not including incoming interface Controller: Encapsulate and send packet to the controller Local: Send the packet to the switch’s local networking stack ???Table: Perform the actions in the flow table. Only for packet-out messages Packet-out messages are data packets that the controller wants to have the switch send out. In-Port: Send pkt out the input port Drop SPP-OpenFlow Supported Req’d Actions

Forward Normal: process the packet using the traditional forwarding path supported by the switch. Flood: Flood the packet along the minimum spanning tree Modify-Field Set VLAN ID Set VLAN Priority Strip VLAN Header Modify Ethernet SMAC Modify Ethernet DMAC Modify IP SA Modify IP DA Modify Transport Sport Modify Transport DPort OpenFlow Optional Actions

Forward Normal: process the packet using the traditional forwarding path supported by the switch. Flood: Flood the packet along the minimum spanning tree Modify-Field Set VLAN ID Set VLAN Priority Strip VLAN Header Modify Ethernet SMAC Modify Ethernet DMAC Modify IP SA Modify IP DA Modify Transport Sport Modify Transport DPort SPP-OpenFlow Supported Opt’l Actions

Uses an SSL Connection Can we support this? If we use the NOX software, how easy is it to change this? OpenFlow Switch/Controller Communication

Message Types: Immutable Messages: HELLO Exchanged between Switch and Controller upon connection startup. Negotiates OFP version to be used. ERROR Switch alerts Controller of problems or error conditions ECHO {REQUEST, REPLY} Initiated by either Switch or Controller, other side must reply. May be used to indicate: latency, bandwidth or liveness of the connection VENDOR Identifies Switch Vendor using IEEE OUI (Organizationally Unique Identifier) OpenFlow Protocol (OFP)

Message Types: Switch Configuration Messages (initiated by controller) FEATURES {REQUEST, REPLY} Controller requests switch to report its capabilities GET_CONFIG {REQUEST, REPLY} Controller queries current configuration of switch SET_CONFIG Controller sets configuration parameters of switch No response OpenFlow Protocol (OFP) (con’t)

Message Types: Asynchronous Messages (Switch to Controller) PACKET_IN Packets with no matching flow entry are sent to controller Packets that match a flow entry with an action of “send to controller” FLOW_EXPIRED: switch reports expiration/removal of an entry. Flow entries have idle timeouts assigned for inactivity removal Flow entries have a hard timeout for removal regardless of activity. Timeout based removal is done by the switch and the controller is notified. PORT_STATUS Switch sends port status messages to report port configuration state changes. OpenFlow Protocol (OFP) (con’t)

Message Types: Controller Command Messages PACKET_OUT Controller to send packets out a specified port on switch FLOW_MOD Add, Delete, Modify Flow entries in Flow Table PORT_MOD Set Switch port properties Statistics Messages: STATS {REQUEST, REPLY} Collect statistics from Switch OpenFlow Protocol (OFP) (con’t)

ADD Identical entry already exists (identical header fields and priority): Remove existing entry and its counters and add new entry. Conflicting entry already exists (same priority both could be match): Refuse addition and respond with OFPEFM_ADD_OVERLAP error message. No conflict: Add new entry so priority is handled appropriately. MODIFY If a flow entry with identical header fields does not exist then the new flow entry should be added and its counters zeroed. If one or more entries match then they are ALL modified MODIFY_STRICT If all fields including wildcards and priority match then that entry is modified DELETE If one or more entries match then they are ALL deleted DELETE_STRICT If all fields including wildcards and priority match then that entry is deleted OFP: FLOW_MOD Messages

ADD Can we tell if there are conflicts? MODIFY Only support _STRICT? MODIFY_STRICT DELETE Only support _STRICT? DELETE_STRICT SPP-OFP: FLOW_MOD Messages

FLOW_STATS Able to report per flow statistics TABLE_STATS Able to report per Flow Table statistics PORT_STATS Able to report per Port statistics STP Able to support 802.1d spanning tree protocol MULTI_PHY_TX Able to support transmitting received packet out multiple physical interfaces IP_REASM Able to support reassembly of IP fragments OFP: Capabilities

FLOW_STATS Able to report per flow statistics TABLE_STATS ???Able to report per Flow Table statistics PORT_STATS Able to report per Port statistics STP Able to support 802.1d spanning tree protocol MULTI_PHY_TX Able to support transmitting received packet out multiple physical interfaces IP_REASM Able to support reassembly of IP fragments SPP-OFP: Capabilities

Step 1: Fast Path Code Option Implementation Test using current set of control utilities to populate lookup table Step 2: SC/NOX Implemented using out-of-band SSL connections Step 3: SC/NOX Implemented through data path Still unclear how to support SSL for this. Plan for SPP Implementation