/
BGP-PCEP Tutorial ODL Summit, Seattle - Sept 2016 BGP-PCEP Tutorial ODL Summit, Seattle - Sept 2016

BGP-PCEP Tutorial ODL Summit, Seattle - Sept 2016 - PowerPoint Presentation

gabriella
gabriella . @gabriella
Follow
0 views
Uploaded On 2024-03-13

BGP-PCEP Tutorial ODL Summit, Seattle - Sept 2016 - PPT Presentation

Ajay Chhabria Ajay Lele Kevin Wang Brocade Giles Heron Cisco Setup Creation BGP BGP IPv4IPv6 Routes BGPLS Application Peer OpenConfig PCEP PCE initiated LSPs PCC initiated LSPs Delegation ID: 1047573

rib bgp pce pcep bgp rib pcep pce odl path pcc protocol ietf peer shell config computation port karaf

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "BGP-PCEP Tutorial ODL Summit, Seattle - ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. BGP-PCEP TutorialODL Summit, Seattle - Sept 2016Ajay ChhabriaAjay LeleKevin WangBrocadeGiles HeronCisco

2. Setup CreationBGPBGP IPv4/IPv6 RoutesBGP-LSApplication PeerOpenConfigPCEPPCE initiated LSPsPCC initiated LSPs (Delegation)Bandwidth UpdateSegment RoutingBMPFlowspecAgenda2

3. Basic understanding of BGP and PCEP protocolsFamiliarity with ODLResourcesLaptop with sufficient resources to create VMPre-requisites3

4. Setup Creation4

5. Lab Network Diagram5AS: 65504SJCLAXControllerSANSFCMINKCYPORSEA

6. Setup Components6VIRL Network SimulationCisco dCloudConference CenterOpenDaylight ControllerAnyconnect VPNController VMOpenDaylight Lab

7. Three options for creating Controller VMUse preconfigured VM from USB stick (login: odlsummit/odlsummit)Use Vagrant to launch preconfigured VM (login: vagrant/vagrant)Use any vanilla VM and configure manuallyUse ODL setup scripts for configuration https://github.com/kevinxw/opendaylight-setupInstall OpenDaylight ControllerInitialize ControllerConnect to dCloud session using Anyconnect VPNController VM7

8. Simulated network will be run in Cisco dCloud using VIRLFor today sessions will be pre-launched and run from Giles’ account.Register and login to dCloud https://dcloud.cisco.com/Search for “OpenDaylight Boron with Apps with 8 Nodes”Schedule and launch lab sessionNetwork Simulation8

9. Controller VM configured and ODL process runningdCloud Lab status page shows all steps completed and in greenPing from Controller VM to SJC router successfulSetup Verification9

10. 10ODL BGP/PCEP Plugins

11. 11ODL BGP/PCEP OverviewOSPFOSPFBGPCoreEdgeRoute ReflectorCoreEdgeRoute ReflectorEdgeEdgeBGPLink-State, IPv4, IPv6, Labelled Unicast, IPVPN, EVPN and Flowspec routesMPLS LSPs via PCEPEdgeBGPPCE-POSPFOSPFPCE-POSPFBGPOSPFBGPOSPFOSPFOSPFBGPAppPCE-PRESTCONFBGPTopology

12. 12Link-StateIPv4IPv6PCE-PBGPRRBGPBGPOSPFOSPFOSPFOSPFOSPFOSPFBGP-LSBGP/PCEP Topologies

13. BGP13

14. Exterior Gateway Protocol, used to exchange routing information between Autonomous SystemsExplicit connection establishment between peers (EBGP, IBGP, RR)No periodic routing updates; sent only when information changesMP-BGP enables supports for multiple address familiesOne or more attributes associated with prefixes; policies are applied on these attributesOverview14Message TypeDescriptionOPENExchange of options & capabilitiesKEEPALIVEHeartbeat message, Dead peer detectionUPDATETransfer routing informationNOTIFICATIONInform about exception conditionsROUTE-REFRESHRequest peer to re-send routing information

15. Standards Supported15RFC4271 - A Border Gateway Protocol 4 (BGP-4)RFC4456 - BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)RFC1997 - BGP Communities AttributeRFC4360 - BGP Extended Communities AttributeRFC4486 - Subcodes for BGP Cease Notification MessageRFC5492 - Capabilities Advertisement with BGP-4RFC5004 - Avoid BGP Best Path Transitions from One External to AnotherRFC6286 - Autonomous-System-Wide Unique BGP Identifier for BGP-4RFC6793 - BGP Support for Four-Octet Autonomous System (AS) Number SpaceRFC7311 - The Accumulated IGP Metric Attribute for BGPRFC5668 - 4-Octet AS Specific BGP Extended Communitydraft-ietf-idr-link-bandwidth - BGP Link Bandwidth Extended Communitydraft-ietf-idr-bgp-extended-messages - Extended Message support for BGP

16. Standards Supported16RFC4760 - Multiprotocol Extensions for BGP-4RFC2545 - Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain RoutingRFC7752 - North-Bound Distribution of Link-State and TE Information using BGPdraft-gredler-idr-bgp-ls-segment-routing-ext - BGP Link-State extensions for Segment Routingdraft-ietf-idr-bgpls-segment-routing-epe - Segment Routing Egress Peer Engineering BGP-LS ExtensionsRFC5575 - Dissemination of Flow Specification RulesRFC7674 - Clarification of the Flowspec Redirect Extended Communitydraft-ietf-idr-flow-spec-v6 - Dissemination of Flow Specification Rules for IPv6draft-ietf-idr-flowspec-redirect-ip - BGP Flow-Spec Redirect to IP ActionRFC3107 - Carrying Label Information in BGP-4draft-ietf-idr-bgp-prefix-sid - Segment Routing Prefix SID extensions for BGPRFC4364 - BGP/MPLS IP Virtual Private Networks (VPNs)RFC4659 - BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPNRFC7432 - BGP MPLS-Based Ethernet VPNdraft-ietf-bess-evpn-overlay - A Network Virtualization Overlay Solution using EVPNdraft-ietf-bess-evpn-vpws - VPWS support in EVPNRFC7911 - Advertisement of Multiple Paths in BGPRFC2918 - Route Refresh Capability for BGP-4

17. 17BGP Peer 1ODL BGP SpeakerBGP Peer 2Adj-RIB-InLoc-RIBAdj-RIB-OutExportPolicyAdj-RIB-InAdj-RIB-InAdj-RIB-OutAdj-RIB-OutImportPolicyProcessing of RoutesTopologyExporterIPv4/IPv6 Reachability TopologyLinkstateTopologyEffective-RIB-InEffective-RIB-InDecisionProcessEffective-RIB-InApp-RIBRESTCONFExternal AppImportPolicy

18. BGP RIB Model18List of RIBs, indexed by an IDNote: config  falseList of peers, indexed by peer-IDPeer role: ebgp, ibgp, or rr-clientAdj-RIB-InLoc-RIB – common to all peersEffective-RIB-InAdj-RIB-OutList of tables, indexed by AFI-SAFI Definition of route, augmented by each address-family modelSpecial application RIB, used for route injectionNote: config  truebgp-rib.yangBGP path attributes

19. BGP Path Attributes19bgp-message.yangORIGIN path-attributeAS-PATH path-attributeNEXT-HOP path-attributeLOCAL-PREF path-attribute

20. BGP Internet Routes20Augmentation on top of bgp-rib:routes for IPv4 routesList of IPv4 routes, indexedby IPv4 prefixbgp-inet.yang

21. BGP Linkstate Routes21Augmentation on top of bgp-rib:routes for Linkstate routesList of Linkstate routes, indexed by an opaque route-keybgp-linkstate.yang

22. BGP RIB RESTCONF Endpoints22

23. BGP-LS Topology Exporter23

24. Base Network Topology Model24network-topology.yangList of topologiesList of nodesList of termination-points on the nodeList of links between nodesAttributes associated with nodeAttributes associated with TPAttributes associated with link

25. Network Topology RESTCONF Endpoints25

26. BGP Topologies26IPv4 Reachability TopologyNode = Next hop IP address, augmented with igp-node-attributes containing list of prefixes that have this next-hopNo TP or Link informationLinkstate TopologyNode = IGP (OSPF) RouterTP = Interfaces on RouterLink = Link between Routers

27. To be execute from Karaf console (can be enabled to run on startup)feature:install odl-bgpcep-bgp-all (or install selectively)Set logging level as desiredlog:set DEBUG org.opendaylight.bgpcep.bgplog:set DEBUG org.opendaylight.protocol.bgpInstallation27

28. Three ways to configureEdit CSS config files (e.g. 41-bgp-example.xml)Use Netconf controller-config mount pointLeads to creation of uber currentconfig CSS fileUse OpenConfig APILimited support in Be, recommended method in Bo+Configuration stepsConfigure BGP RIB instanceConfigure one or more BGP peersConfigure Application RIB (optional)Tweak other settings e.g. BGP port, capabilities advertised (optional)Configuration28

29. Troubleshooting29InitializationIs ODL BGP speaker listening on port TCP/1790?Shell: sudo netstat -natp | grep 1790Is ODL process running?Shell: ps -ef | grep karafIs BGP feature deployed?Karaf console: feature:list -i | grep bgpCheck karaf.log file for initialization errorsConnectivityIs the BGP connection between ODL and peer established?Shell: sudo netstat -natp | grep 179Is ODL BGP speaker running on TCP/179 or is port 1790 fwded to 179?Shell: sudo iptables -t nat -L -n Is ODL BGP speaker and/or BGP peer able to reach each other?Shell: ping <peer-ip-address>Is ODL BGP speaker and/or BGP peer able to connect to each other on BGP port?Shell: telnet <peer-ip-address> <bgp-port>

30. Troubleshooting30ConfigurationDoes the BGP connection flap?Shell: sudo netstat -natp | grep 179Output shows different port numbers when run few minutes apartAre BGP speakers configured with correct peer addressE.g. Check contents of 41-bgp-example.xml config fileAre BGP speakers configured with correct AS numbersE.g. mis-matching AS number for IBGP connectionDo BGP speakers have mis-matching capabilitiesE.g. ODL supports 4-octet AS numbers onlyE.g. Both speakers should support the same address-familiesCheck karaf.log file for negotiation errors

31. Troubleshooting31Loc-RIB or Topology do not have expected entriesTrace the entries in the sequence they are processedAdj-RIB-In  Effective-RIB-In  Loc-RIB  Adj-RIB-OutApp-RIB  Loc-RIB  Adj-RIB-OutAdj-RIB-In  Effective-RIB-In  Loc-RIB  example-linkstate-topologyUse packet sniffer e.g. Wireshark to capture BGP traffic between peers and analyze it

32. PCEP32

33. Communication protocol for exchange of MPLS Traffic Engineering (TE) information between PCE and PCCDefined by RFC 5440Stateful extension to enable synchronization of LSP state between PCC and PCELSP management can happen in two waysPCE initiatedLSP is created and controlled by PCEPCC initiatedLSP is created by PCC which may then delegate it to PCEPCE can update it only if control is delegated by PCCOverview33Message TypeDescriptionOpen & KeepaliveInstantiate and maintain sessionsPCReqPath Computation requestPCRepReply to path computation requestPCNtfNotification message of a specific eventPCErrMessage sent upon the occurrence of protocol error

34. Standards Supported34RFC5440 - Path Computation Element (PCE) Communication Protocol (PCEP)RFC5541 - Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)RFC5455 - Diffserv-Aware Class-Type Object for the Path Computation Element Communication ProtocolRFC5521 - Extensions to the Path Computation Element Communication Protocol (PCEP) for Route ExclusionsRFC5557 - Path Computation Element Communication Protocol (PCEP) Requirements and Protocol Extensions in Support of Global Concurrent OptimizationRFC5886 - A Set of Monitoring Tools for Path Computation Element (PCE)-Based Architecturedraft-ietf-pce-pceps - Secure Transport for PCEPStateful extensions to the Path Computation Element Protocol, December 2013draft-ietf-pce-stateful-pce-07 - PCEP Extensions for Stateful PCEdraft-ietf-pce-pce-initiated-lsp-00 - PCEP Extensions for PCE-initiated LSP Setup in a Stateful PCE ModelSegment routing extension to the Path Computation Element Protocol, October 2014draft-ietf-pce-segment-routing-01 - PCEP Extension for segment routingdraft-ietf-pce-lsp-setup-type-01 - PCEP Extension for path setup typedraft-ietf-pce-stateful-sync-optimizations-03 - Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCEdraft-sivabalan-pce-binding-label-sid-00 - Carrying Binding Label/Segment-ID in PCE-based Networks

35. 35Harvest Network IntelligenceBGP-LSProgram for Optimized ExperiencePCE-PBGP-LS and PCE-P

36. PCEP Topology Model36network-topology-pcep.yangAugmentation on top of network-topology:node for PCC informationPCC information comprises of list of LSPs with associated details

37. PCEP Topology37Node = Path Computation Client (PCC), augmented with pcep-client-attributesNo TP or Link information

38. PCEP RPCs38RPCs for creation and removal of LSP – used by PCE initiated LSP use-caseRPC for updating LSP – in addition to PCE initiated, used by PCC initiated LSP + delegation use-case

39. To be execute from Karaf console (can be enabled to run on startup)feature:install odl-bgpcep-pcep-all (or install selectively)Set logging level as desiredlog:set DEBUG org.opendaylight.bgpcep.pceplog:set DEBUG org.opendaylight.protocol.pcepInstallation39

40. Two ways to configureEdit CSS config files (e.g. 39-pcep-provider.xml)Use Netconf controller-config mount pointLeads to creation of uber currentconfig CSS fileNo OpenConfig model availableConfiguration stepsNo special configuration requiredTweak default config params e.g. PCEP topology name (optional)Configuration40

41. Troubleshooting41InitializationIs ODL PCE listening on port TCP/4189?Shell: sudo netstat -natp | grep 4189Is ODL process running?Shell: ps -ef | grep karafIs PCEP feature deployed?Karaf console: feature:list -i | grep pcepCheck karaf.log file for initialization errorsConnectivityIs the PCEP connection between ODL PCE and PCC established?Shell: sudo netstat -natp | grep 4189Is PCC able to reach ODL PCE?Shell: ping <peer-ip-address>Is PCC able to connect to ODL PCE on PCEP port?Shell: telnet <odl-ip-address> <pcep-port>

42. Troubleshooting42ConfigurationDoes the PCEP connection flap?Shell: sudo netstat -natp | grep 4189Output shows different port numbers when run few minutes apartIs PCC configured with correct ODL PCE address and source address?E.g. Check PCC running-configCheck karaf.log file for negotiation errorsDoes PCC show up in ODL PCE PCEP Topology?Check LSP delegation config on PCC (PCC initiated)Is LSP state operationally UP?Check path provided in EROsCheck if PCC is configured currently e.g. MPLS-TE / RSVP configUse packet sniffer e.g. Wireshark to capture PCEP traffic between PCC & PCE and analyze it

43. BMP43

44. 44BMP (BGP Monitoring Protocol)BGPRRBGPBGPAppBMPRESTCONFBMPRFC 7854Enables access to peer’s Adj-RIB-In and Effective-RIB-InYou can get a LOT of prefixes

45. To be execute from Karaf console (can be enabled to run on startup)feature:install odl-bgpcep-bmpTwo ways to configureEdit CSS config files (e.g. 42-bmp-example.xml)Use Netconf controller-config mount pointLeads to creation of uber currentconfig CSS fileNo OpenConfig model availableConfiguration stepsNo special configuration requiredTweak default config params e.g. BMP port (optional)Installation and Configuration45

46. Flowspec46

47. 47RFC 5575Similar to OpenFlow but uses BGP to distribute match/action rulesSetting “Flows” (FlowSpec)Matches:Source / Destination IP prefixIP ProtocolSource / Destination TCP/UDP portICMP Type / CodeTCP FlagsPacket LengthDSCP FieldFragment (DF, IsF, FF, LF)Actions:Rate limitTraffic samplingRedirectionTraffic marking (DSCP)And more... (optional)

48. 48DDoS Mitigation using uRPFand IPv4/IPv6Point 192.0.2.1/32 to null on all nodesTurn on uRPFAdvertise routes with next-hop of 192.0.2.1 to discard

49. To be execute from Karaf console (can be enabled to run on startup)feature:install odl-bgpcep-bgp-flowspec (installed from odl-bgpcep-bgp-all)No special configuration requiredInstallation and Configuration49

50. Thanks50