Learn Online with Cisco Live!
Total Page:16
File Type:pdf, Size:1020Kb
SDN Controllers - A Use Case Driven Approach to the Options Paul Cernick and Chad Peterson Contributors and Acknowledgements • Lukas Krattiger • Leo Boulton • David Jansen • Victor Moreno • Vaughn Suazo • Kevin Corbin • Yves Louis • Dave Malik • Babi Seal • Brenden Buresh • Lilian Quan • James Christopher • Jason Gmitter • Mike Herbert • Jim Pisano • Chad Hintz • Juan Lage • Matt Smorto • Errol Roberts • Jason Pfiefer • Giles Heron • Cesar Obediente • Lilian Quan • Brendan Kelly Agenda • Why SDN Controllers • Foundational Technical Requirements • Use Cases and Cisco’s Solutions • Conclusion and Questions Paul Cernick Chad Peterson • Technical Solutions Architect • Data Centre Consulting Systems Engineer • Global Service Provider Architecture • US Commercial - Central • CCIE 5383 – R&S + SP • CCIE 23213 – R&S + DC ? Why Did we Create this Session? Warning! Vast amount of technologies Not everything will be relevant to you…today Evolution of Network Configuration 1990s Today hq>enable hq# config terminal hq(config)# interface fastethernet 1/1 hq(config-if)# ip address NEXUS>enable NEXUS(config)# feature eigrp 1.1.1.1 255.255.255.0 NEXUS# config terminal NEXUS(config)# router eigrp Test1 hq(config-if)# no shutdown NEXUS(config)# interface NEXUS(config)# interface hq(config-if)# exit ethernet 1/1 ethernet 1/1 hq(config)# router eigrp NEXUS(config-if)# no switchport NEXUS(config-if)# ip router hq(config-router)# network 1.1.1.0 NEXUS(config-if)# ip address eigrp Test1 hq(config-router)# exit 1.1.1.1 255.255.255.0 NEXUS(config-if)# no shutdown hq(config)# exit NEXUS(config-if)# no shutdown NEXUS(config-if)# end hq# copy run start NEXUS(config-if)# exit NEXUS# copy run start Need More than Centralised Management Relationships Need More than Centralised Management SDN Use Cases Network Function Network Traffic Virtualization Abstraction Engineering SDN Use Cases Virtual Topology System Application Centric Open SDN Controller VTS Infrastructure OSC ACI Foundational Technologies VXLAN DC Fabric Journey Spanning Tree Protocol Virtual Layer 2 Port-Channel FabricPath DC Fabric Journey Virtual Extensible LAN Spanning Tree Protocol Layer 3 Virtual Port-Channel VXLAN 44517 FabricPath VXLAN 32145 VTEP VTEP VTEP VTEP VTEP VXLAN Virtual Virtual Switch Local LAN Switch Segment Virtual Switch VXLAN Tunnel Encapsulation Tunnel VXLAN 48 Dst. MAC Addr. 48 Src. MAC Addr. Mac HeaderMac 16 VLAN Type Outer 0x8100 Bytes or 14 10 16 VLAN ID Tag 16 Ether Type 0x0800 IP Header Outer 72 IP Header Misc Data Protocol 8 0x11 HeaderUDP VTEP IPs VTEP 16 Header Checksum Bytes 20 32 Outer Src. IP 32 Outer Header Dst. IP VXLAN 16 UDP Src. Port Original L2 FrameL2 Original FCS 16 UDP Dst Port 8 Bytes 8 16 UDP Length 16 Checksum 0x0000 VXLAN 8 VNID 16 million RRRR1RRR FCS 24 Reserved 8 Bytes 8 24 VNID 8 Reserved VXLAN Problems Layer 3 No Peer-Auth VXLAN 44517 Flood & Learn VXLAN 32145 VTEP VTEP VTEP VTEP VTEP VTEP Virtual Virtual Switch Local LAN Switch Segment Virtual Switch DC Fabric Journey Spanning Tree Protocol RR RR Virtual Layer 3 Port-Channel VXLAN 44517 FabricPath VXLAN 32145 VXLAN VXLAN with BGP EVPN SDN Journey Controller OpenFlow allows direct access to the forwarding plane of network switched devices. SDN Journey NSO Layer 3 VXLAN 44517 VXLAN 32145 VTEP VTEP VTEP VTEP VTEP Virtual Virtual Switch Switch API Controller APIs Application Programming Interface API Why We Care Collect list of used VLANS RESTful API’s Well Understood HTTP or HTTPS GET, PUT, POST, and DELETE Easy to Develop Against Client Server Versioned Response in HTML, JSON / XML API – Collect Information Collect List of Used VLANs POST: http://10.10.10.10/ins/ { "ins_api": { “version": “1.0”, “type": “cli_show”, “chunk": “0”, “sid": “1”, “input": “show vlan”, “output_format": “json”, } { List VLANS API – Collect Information Collect List of Used VLANs { "ins_api": { … 1 - default "body": { 101- n1k-l3 "TABLE_vlanbrief": { "ROW_vlanbrief": [ 123- VLAN0123 { 300- 1k-vtep "vlanshowbr-vlanid": "16777216", 999- VLAN0999 "vlanshowbr-vlanid-utf": "1", "vlanshowbr-vlanname": "default", … }, { "vlanshowbr-vlanid": "1694498816", "vlanshowbr-vlanid-utf": "101", List VLANS "vlanshowbr-vlanname": "n1k-l3", …} SDN Resets Business Opportunities New architecture with separate control and data planes Security, Load Balancing, Applications and Other Services Open programmable networks APIs and APIs SDN Platform Open Protocols New business models and revenue opportunities Efficiency in both capital and operational expenses Physical Network Physical Network VTS Use Case – Network Function Virtualisation High Level Virtual Topology System (VTS) Use Case Internet vFW CPE CPE vWAAS Customer SP Customer Metro and Access Metro and Access Prem Core Prem NFV Use Case Admin Tools Customer Portal OSS/BSS REST API Orchestration & Controllers Layer NSO VTS vCenter Plug-in VTS OpenStack Virtual Overlay Networking Layer BGP-EVPN MPLS VPN Network VXLAN VPN PE & VXLAN Gateway Nexus 9300 (ToR) Nexus 9300 (ToR) VLANs VLANs VLANs VLANs Virtual Infrastructure, VNF & PNF Layer PNF1 OVS dVS PNF2 VNF1 VNF2 VNF1 VNF2 Cisco Virtual Topology System (VTS) Overlay Provisioning and Management System Cisco Network Services Orchestrator (Tail-f) VMware vCenter GUI Flexible Overlays REST API Automated Physical and Virtual Overlays Seamless Integration with Orchestrators Bare-metal and Virtualized Workloads Automated Overlay Provisioning Service Chaining Automated DCI/WAN Integration Cisco Virtual Scalable VXLAN Mgmt. Open and Programmable Topology System REST-Based Northbound APIs MP-BGP EVPN Control Plane Multi-protocol Support Virtual Tenant Networks Multi-hypervisor Support High Performance Virtual Forwarding YANG CLI NX-API BGP-EVPN Nexus Portfolio Nexus 2k – 9k VTS Architecture Cisco Network Services Orchestrator (Tail-f) VMware vCenter GUI Unified Information Model (REST API) Virtual Topology System Policy Plane Policy Service and Infrastructure Policy Inventory Database Resource Management Control Plane Device Management IOS XRv YANG CLI NX-API BGP-EVPN Virtual Compute Environment OVS VTF DVS Cisco Nexus 2000, 3000, Cisco Nexus Cisco ASR 5000, and 7000 Series 9000 Series 9000 Series 3rd Party VM Cisco NSO VTS Architecture Manager vCenter GUI REST API Virtual Topology System BGP EVPN RR RR (VTS) Spine BGP RR - Border MP WAN / Internet Leaf 3rd Party Cloud V V V V V …. V OVS / dVS VTF RESTCONF/YANG DCI IP / MPLS WAN Physical Virtual Integrated Virtual Service Provider Oriented Architecture 3rd Party VM Cisco NSO VTS Architecture Manager vCenter GUI REST API Virtual Topology System RR RR (VTS) Spine RR Border WAN / Internet VXLAN Leaf 3rd Party Cloud V V V V V …. V OVS / dVS VTF DCI IP / MPLS WAN Physical Virtual Integrated Virtual Service Provider Oriented Architecture 3rd Party VM Overlay Provisioning Cisco NSO Manager Use Case vCenter GUI REST API Virtual Topology System (VTS) VXLAN Overlay • Layer-2 / Layer-3 VXLAN Border Configuration using MP-BGP EVPN control-plane Leaf V V V V V V • Allocate and Manage …. resources • Support for Physical and OVS / dVS Virtual End-Hosts • End-to-End Automation Physical • Openstack and vCenter integration Virtual VTS Architecture Virtual Topology System DCI Policy Plane Policy Service and Infrastructure Policy Inventory Database Border Leaf VTEP Resource Management Control Plane Device Management IOS XRv Spine Spine REST NX-API, API Cisco VTS CLI, YANG ToR VTEP ToR VTEP ToR VTEP VMware vCenter Hypervisor Hypervisor Hypervisor VM VM VM VM x86 Server x86 Server x86 Server VTS Architecture DCI Border Leaf VTEP Spine Spine REST NX-API, API Cisco VTS CLI, YANG ToR VTEP ToR VTEP ToR VTEP VMware vCenter Hypervisor Hypervisor Hypervisor VM VM VM VM x86 Server x86 Server x86 Server VTS – OpenStack Workflow vlan 1,1700-711,2000 vlan 1706 vn-segment 46006 6 VTS provisions VTEP, evpn VLAN for each VTEP evi 46006 vni and EVPN on ToR/VTF bgp rd auto 8 Create router and attach route-target import auto interfaces to tenant networks route-target export auto interface nve1 no shutdown 1 source-interface loopback0 Create Tenant 2 Tenant and Tenant Networks Spine Spine member vni 46006 Networks Created host-reachability protocol bgp mcast-group 224.1.1.1 REST NX-API, API Cisco VTS CLI, YANG 3 VNID assigned for each network ToR VTEP ToR VTEP ToR 7 Neutron agent modified to request VLAN VLAN VLAN VLAN VTEP 4 Attach VM to information Network from VTS VMware vCenter Hypervisor Hypervisor Hypervisor VLAN before VM VM VM VM programming 5 VM Host info captured by VTS x86 Server x86 Server x86 Server vSwitch and mapped to the right ToR & ToR port using topology database ACI Use Case – WordPress as a Service What is WordPress? • Open-source content management system • Originally a blogging platform, now a wider scope • 23% of the top 10million websites are powered by WordPress WPaaS Components and Requirements • 3 Types of servers – both BM and VM • Internal management L3 network • User L3 network • SSH access on all servers • All communication should be as restrictive as possible – only allow what must be allowed Traditional Implementation vlaninterfaceip access100 - listvlan db400100-provide namedescriptionpermit db tcp 192.168.200.0 InternalDatabase MgmtL3 0.0.0.255interface vlan192.168.100.0200hsrp 400100 0.0.0.255 3306 namepermit phpMyAdmin versiontcp 192.168.250.0 2 0.0.0.255 vlan192.168.100.0300 ip 0.0.0.255192.168.40.1192.168.100.1 3306 nameippermitaddress wp tcp 192.168.40.0192.168.40.1/24192.168.100.2/24 0.0.0.255 192.168.100.0 vlaninterface0.0.0.255400ip access 22vlan -500group db-provide out namedescription internal