Using the OpenDaylight BGP Speaker

20
Using the OpenDaylight BGP Speaker Giles Heron, Cisco

Transcript of Using the OpenDaylight BGP Speaker

Page 1: Using the OpenDaylight BGP Speaker

Using the OpenDaylight BGP Speaker Giles Heron, Cisco

Page 2: Using the OpenDaylight BGP Speaker

•  Overview  

•  BGP-­‐LS/PCE-­‐P  

•  IPv4  and  IPv6    

•  Adver8sing  BGP  routes  

•  Flowspec  

•  BMP  

Agenda

Page 3: Using the OpenDaylight BGP Speaker

Overview

Page 4: Using the OpenDaylight BGP Speaker

BGP/PCEP  Overview

OSPF  

OSPF  

BGP  

Core  

Edge  

Route  Reflector  

Core  

Edge  

Route  Reflector  

Edge  Edge  

BGP  

Link-­‐State,  IPv4,  IPv6  and  Flowspec  routes  

MPLS  LSPs  via  PCEP  

Edge  

BGP  

PCE-­‐P  

OSPF  

OSPF  

PCE-­‐P  

OSPF  

BGP  

OSPF  

BGP  

OSPF  

OSPF  

OSPF  

BGP  

App  

PCE-­‐P  

RESTCONF  

BGP  

Topology  

Page 5: Using the OpenDaylight BGP Speaker

•  LinkState  Routes:  intra-­‐domain  routes  •  From  ISIS  or  OSPF  and  adver8sed  via  BGP-­‐LS  •  Used  to  create  linkstate  topology  

•  IPv4/IPv6  Routes:  routes  across  domains  •  “Internet  routes”  •  Can  both  learn  routes  and  adver8se  them  

•  FlowSpec  Routes:  packet  filters  •  Like  OpenFlow  rules  but  can  leverage  BGP  RR  infrastructure  •  Ac8ons  encoded  as  BGP  communi8es  

Routes

Page 6: Using the OpenDaylight BGP Speaker

Routes  –  the  BGP  RIB  (or  RIBs!)

Page 7: Using the OpenDaylight BGP Speaker

•  LinkState  

•  IPv4  

•  IPv6  

•  PCE-­‐P  

Topologies

BGP  

RR   BGP   BGP  

OSPF  

OSPF  

OSPF  OSPF  

OSPF  

OSPF  

BGP-­‐LS  

Page 8: Using the OpenDaylight BGP Speaker

1.  Modify  41-­‐bgp-­‐example.xml  

2.  Use  RESTCONF  •  hUp://localhost:8181/restconf/config/network-­‐topology:network-­‐topology/

topology/topology-­‐netconf/node/controller-­‐config/yang-­‐ext:mount/config:modules  

Steps:  1.  (op8onally)  modify  port  to  listen  on  (if  179  then  need  to  run  as  root!)  2.  Configure  RIB  3.  Configure  Peers  

Configuring  BGP

Page 9: Using the OpenDaylight BGP Speaker

Network:  OSPF  or  IS-­‐IS  (IGP)  Routes:  distributed  from  IGP  into  BGP-­‐LS  RIB:  Learned  from  BGP-­‐LS  speaker  Topology:  Lists  of  nodes  (routers)  and  links  

   

 RESTCONF  URL:  

 http://localhost:8181/        restconf/operational/        network-­‐topology:network-­‐topology/topology/        example-­‐linkstate-­‐topology  

BGP-­‐LS  Topology

OSPF  

OSPF  

OSPF  OSPF  

OSPF  

OSPF  

BGP-­‐LS  

App  

BGP-­‐LS  

Topo  Bldr  

RESTCONF  

Page 10: Using the OpenDaylight BGP Speaker

•  List  of  all  PCCs  (Path  Computa8on  Clients)  

•  For  each  PCC,  list  of  LSPs  for  which  it  is  the  head-­‐end  device.  

•  Topology:  Created  by  PCE-­‐P  plugin  

 RESTCONF  URL:  

 http://localhost:8181/      restconf/operational/      network-­‐topology:network-­‐topology/      topology/pcep-­‐topology  

PCE-­‐P  Topology

MPLS  

MPLS  

MPLS  MPLS  

MPLS  

MPLS  

BGP-­‐LS  

PCE-­‐P  

PCE-­‐P  

PCE-­‐P  

App  

PCE-­‐P  

RESTCONF  

Node    LSPs              x      ..,..,..              y      ..,..,..              z      ..,..,..  

LSPs  

Page 11: Using the OpenDaylight BGP Speaker

•  PCE  creates  MPLS-­‐TE  Label  Switched  Paths  on  PCC  

•  Can  modify  LSP  a`er  setup  or  delete  LSP  

PCE-­‐P  LSPs  (dynamic)

RESTCONF  URL:    http://localhost:8181/  

 restconf/operations/    network-­‐topology:network-­‐topology/    topology/pcep-­‐topology:add-­‐lsp        (update-­‐lsp  /  remove-­‐lsp)  

MPLS  

MPLS  

MPLS  MPLS  

MPLS  

MPLS  

BGP-­‐LS  

PCE-­‐P  

PCE-­‐P  

PCE-­‐P  

App  

PCE-­‐P  

RESTCONF  

Node    LSPs              x      ..,..,..              y      ..,..,..              z      ..,..,..  

LSPs  

Page 12: Using the OpenDaylight BGP Speaker

•  PCC  delegates  locally  configured  MPLS-­‐TE  LSP  to  PCE  for  path  selec8on:  

 

•  Use  update-­‐lsp  RPC  to  set  path  

PCE-­‐P  LSPs  (delegated)

interface  tunnel-­‐te1    ipv4  unnumbered  Loopback0    signalled-­‐name  foo  !    destination  192.168.100.4    path-­‐option  1  dynamic  pce    pce      delegation  

MPLS  

MPLS  

MPLS  MPLS  

MPLS  

MPLS  

BGP-­‐LS  

PCE-­‐P  

PCE-­‐P  

PCE-­‐P  

App  

PCE-­‐P  

RESTCONF  

Node    LSPs              x      ..,..,..              y      ..,..,..              z      ..,..,..  

LSPs  

Page 13: Using the OpenDaylight BGP Speaker

Demo BGP-LS/PCE-P

Page 14: Using the OpenDaylight BGP Speaker

Network:  BGP  sessions  between  ASes  Routes:  IPv4  unicast  BGP  routes  RIB:  Learned  from  Route  Reflector  Topology:  List  of  BGP  next-­‐hops  

   (and  prefixes  per  next-­‐hop)    RESTCONF  URL:  

 http://localhost:8181/        restconf/operational/        network-­‐topology:network-­‐topology/topology/        example-­‐ipv4-­‐topology  

IPv4  (BGP)  Topology

BGP  

RR   BGP   BGP  

App  

BGP  

Topo  Bldr  

RESTCONF  

Page 15: Using the OpenDaylight BGP Speaker

•  IPv4/IPv6  Routes:  inter-­‐domain  routes  

•  FlowSpec  Routes:  packet  filters  

•  APP  RIB  is  config  (main  RIB  is  opera8onal)  •  APP  RIB  is  an  iBGP  peer  of  the  main  RIB  •  So  need  eBGP  to  real  peers  (for  now!)  

AdverJsing  BGP  Routes  (ApplicaJon  RIB)

OSPF  

OSPF  

OSPF  OSPF  

OSPF  

BGP  

OSPF  BGP  OSPF  

App  

BGP  

RESTCONF  

App  RIB  BGP  RIB  

Page 16: Using the OpenDaylight BGP Speaker

Demo Advertising IPv4 Routes

Page 17: Using the OpenDaylight BGP Speaker

RFC5575  -­‐  Similar  to  OpenFlow  but  uses  BGP  to  distribute  match/ac8on  rules  

SeKng  “Flows”  (FlowSpec)

Matches:  •  Source  /  Des8na8on  IP  prefix  •  IP  Protocol  •  Source  /  Des8na8on  TCP/UDP  port  •  ICMP  Type  /  Code  •  TCP  Flags  •  Packet  Length  •  DSCP  Field  •  Fragment  (DF,  IsF,  FF,  LF)  

AcJons:  •  Rate  limit  •  Traffic  sampling  •  Redirec8on  •  Traffic  marking  (DSCP)  •  And  more...  (op8onal)  

Page 18: Using the OpenDaylight BGP Speaker

•  dra`-­‐ied-­‐grow-­‐bmp-­‐11  

•  Enables  access  to  peer’s  adj-­‐rib-­‐in  and  effec8ve-­‐rib-­‐in  •  Means  you  get  a  shedload  of  prefixes!  

BMP  (BGP  Monitoring  Protocol)

BGP  

RR   BGP   BGP  

App  

BMP  

RESTCONF  

BMP  

Page 19: Using the OpenDaylight BGP Speaker

Demo BMP

Page 20: Using the OpenDaylight BGP Speaker

Thank you

20