openflow & software defined networking · 2018. 11. 10. · openflow & software defined...

41
OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1

Upload: others

Post on 26-Aug-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

OPENFLOW & SOFTWARE

DEFINED NETWORKING

Greg FerroEtherealMind.com and PacketPushers.net

1

Page 2: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

HUH ? OPENFLOW.

What is OpenFlow ? From the bottom up. With big words.

How OpenFlow does stuff.

Then WHY we want OpenFlow to do that

2

Page 3: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

OPENFLOW. WHAT IS IT ?

Nerd Glasses on please

3

Page 4: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

PLANES OF OPERATION

4

FORWARDINGPLANE

MANAGEMENTPLANE CONTROL

CLI/SSH/SNMP/XML

OSPF/BGP/LDP

Page 5: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

5

FORWARDINGPLANE

?

?

?

Page 6: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

6

FORWARDING TABLES

Forwarding Tables = Forwarding Information Base

= FIB

Page 7: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

FORWARDING TABLES ➜ RIBS

7

RIB

RIB

RIB

RIB

Page 8: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

ROUTING PROTOCOLS ➜ FIBS

8

RIB

RIB

RIB

RIB

RoutingProtocol

RoutingProtocol

RoutingProtocol

RoutingProtocol

Page 9: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

ROUTING PROTOCOLSGOOD ?

9

reliable

proven

deterministic ( knowable )

self healing

autonomous

scalable ?

Page 10: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

loosely coupled

hop by hop

homogenous system

change resistant

limited external configuration

not load based

destination only

10

ROUTING PROTOCOLS..... OR BAD?

Page 11: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

WHAT IF,INSTEAD OF THIS:

11

RIB

RIB

RIB

RIB

RoutingProtocol

RoutingProtocol

RoutingProtocol

RoutingProtocol

Page 12: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

Controller

WE USED A CENTRAL CONTROLLER

12

Controller updates the forwarding

tables (TCAM) of

Switches and Routers

Page 13: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

CONTROLLER ?

it’s software, it’s a program

connects to all devices

builds a network topology

runs an algorithm

then updates the Forwarding table by an API.

13

*

( & we don’t know much about it yet)*

Page 14: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

14

Network Model

OpenFlow

'OpenFlow' Controller

UI

Controller

Network

Page 15: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

!HOW IT DOES STUFF

15

Keep your Nerd Glasses on please

Page 16: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

FLOW TABLES

16

OpenFlow Draft Specification 1.1

Page 17: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

OPENFLOW

17

controller-to-switch

asynchronous

symmetric

Page 18: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

MATCH FIELDS

18

Ingress Port MetadataEther srcEther dstEther typeVLAN idVLAN priorityMPLS label , MPLS traffic class

IPv4 SRC, IPv4 DST IPv4 proto ( ARP opcode, IPv4 ToS bits)TCP/ UDP / SCTP src port, ICMP TypeTCP/ UDP / SCTP dst portICMP Code

Pretty Good

Selection

Page 19: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

MATCH FLEXIBILITY

19

Field Bits When  applicable Notes

Ingress  Port 32 All  packets Numerical  representa=on  of  incoming  port,  star=ng  at  1.  (physical  or  virtual  port)

Metadata 64 Table  1  and  above

Ethernet  source  address 48 All  packets  on  enabled  ports Can  use  arbitrary  bitmask

Ethernet  des=na=on  address 48 All  packets  on  enabled  ports Can  use  arbitrary  bitmask

Ethernet  type 16 All  packets  on  enabled  ports Ethernet  type  of  the  OpenFlow  packet  payload,  aOer  VLAN  tags.  802.3  frames  have  special  handling.VLAN  id 12 All  packets  with  VLAN  tags VLAN  iden=fier  of  outermost  VLAN  tag.

VLAN  priority 3 All  packets  with  VLAN  tags VLAN  PCP  field  of  outermost  VLAN  tag.

MPLS  label 20 All  packets  with  MPLS  tags Match  on  outermost  MPLS  tag.

MPLS  traffic  class 3 All  packets  with  MPLS  tags Match  on  outermost  MPLS  tag.

IPv4  source  address 32 All  IPv4  and  ARP  packets Can  use  subnet  mask  or  arbitrary  bitmask

IPv4  des=na=on  address 32 All  IPv4  and  ARP  packets Can  use  subnet  mask  or  arbitrary  bitmask

IPv4  protocol  /  ARP  opcode 8 All  IPv4  and  IPv4  over  Ethernet,  ARP  packets

Only  the  lower  8  bits  of  the  ARP  op-­‐  code  are  used

IPv4  ToS  bits 6 All  IPv4  packets Specify  as  8-­‐bit  value  and  place  ToS  in  upper  6  bits.

Transport  source  port  /  ICMP  Type 16 All  TCP,  UDP,  SCTP,  and  ICMP  packets Only  lower  8  bits  used  for  ICMP  Type

Transport  des=na=on  port  /  ICMP  Code

16 All  TCP,  UDP,  SCTP,  and  ICMP  packets Only  lower  8  bits  used  for  ICMP  Code

Shortcomings Exist

Page 20: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

PIPELINE PROCESSING

20

OpenFlow Enabled Switch

ActionSet

Table 0Frame In

ActionSet

Table 1

ActionSet

Table nFrame Egress……..

OpenFlow Enabled Switch

ActionSet

Group Table

Table 0Frame In

ActionSet

Table 1

ActionSet

Table nFrame Egress……..

ActionBuckets

ActionBuckets

ActionBuckets

Page 21: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

INSTRUCTIONS

21

Apply-Actions actions :Applies the specific actions immediately. Clear-Actions: Clears all the actions in the action set immediately. Write-Actions actions: Merges the specified actions into the current action set Write-Metadata metadata / mask: Writes the masked metadata value into the metadata field.

Page 22: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

WILDCARDS

22

MAC SRC

MAC DST SRC IP IP DST TCP

DportTCP SPort Action Count

* 00:02:. * * * Port1 250

* * * 10.2.2.1 80 * Port 3 320

* * 192.* * * * drop 890

* * 192.* * * * local 100

* * * * * * Controller 11

Page 23: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

IT’S ALL ABOUT THE CONTROLLER

23

Network Model

OpenFlow

'OpenFlow' Controller

UI

Controller

Network

So OpenFlow is an API !What does the controller do ? EVERYTHING

Page 24: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

24

“[OpenFlow] doesn’t let you do anything you couldn’t do on a network before” - Scott Shenker

OpenFlow You don’t need OpenFlow to solve every age-old problem. - Ivan Pepelnjak

REALITY CHECK

Page 25: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

SO WHY DO IT ALL ?

25

Page 26: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

ACTION POSSIBILITIES

26

set output port unequal path load balancing, multipath routing,

modify IPv4 fields NAT, QoS munging,

modify Ethernet fields set VLAN, set TOS,

push/pop MPLS tags interoperate existing MPLS networks

blah blah

blah

CLOUD

Page 27: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

EG, LOAD BALANCING

if every switch is a load balancerthen distributed processing means it costs nothingload balance by setting forwarding tables to balance different src/dst IP to different paths.

27

1

3

Core Core

Edge Edge Edge

Edge Edge Edge

LBLB

2X X

Page 28: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

WHY WE WANT OPENFLOWNerd Glasses off please

28

Page 29: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

GOOD PARENTS

Martin Casado, Nick McKeown

Big Vendors: Juniper, Brocade, NEC,

Small Vendors: OpenGear, et al

Flotilla of startups - Big Switch, Nicira etc

Big name comanies Google, Yahoo, Facebook

Indiana University setup “official” interoperability lab

29

Page 30: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

30

“Virtual tenant network plane in the controller”

Keep your existing Control plane OSPF, BGP, ISIS,

MPLS TE. ADD OpenFlow, don’t

replace anything

ADD OPENFLOWREPLACE NOTHING

Page 31: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

TOPOLOGY LITE

31

Topology independent virtual networks

Forwarding tables don’t dictate topology.

Cabling paths do.Routing protocols do.

Business partnerships do.

Page 32: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

DYNAMIC

32

Controller can repeatedly update forwarding tables

•Power saving (shutdown unneeded nodes)•change per flow topology on a “time” basis•

Page 33: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

SECURITY

33

Divert flow to service eg. IPS, Proxy, NAC,

perform security tasks or check

change forwarding table to forward

Page 34: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

DATA CENTRE

34

Hypervisor Hypervisor Hypervisor

Core Core

Edge Edge Edge

vHostvHost vHost vHost

vHost vHost

1

2

3

vHost

vHost

4

5

VM Migration- no arp

- no routing- no ip mobility- works today

Page 35: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

CAMPUS

35

Indiana University

3000 Access Points

Students, Teachers, Researchers, Admin

Dormitory, Classrooms, Offices,

Mobile forwarding privileges according to user type, user location, application

Student in dormitory / classroom

Researchers in Lans

Page 36: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

INTEGRATED MPLS/OPENFLOW

36

Page 37: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

3G NETWORKS

37

User control

DPI redirection

Counters

Page 38: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

WRAP

38

OpenFlow still early

It’s all about the controller giving us a better control plane

the controller is a another way of defining the flow forwarding in the network

software defined networking

you can do both, at once

Many Open Source projects

Many more commercial projects

Page 39: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

LIVE VIDEO STREAM! 26TH OCTOBER, 2011

h"p://bit.ly/AppliedOpenFlow    39

Page 40: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

LINKS

http://www.openflow.org http://www.opennetworkingfoundation.org/ http://www.openvswitch.org http://noxrepo.org/wp/ http://www.openflowhub.org/display/Beacon

40

Page 41: OPENFLOW & SOFTWARE DEFINED NETWORKING · 2018. 11. 10. · OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1. HUH ? OPENFLOW. ... Protocol

41

http://packetpushers.net

http://etherealmind.com

Thankyou