Course: SDN: principles, protocols, implementations, v1.0
Duration: 4 days
Course description:
SDN Introduction
SDN vs. NFV
Possibile implementations:
Underlay vs. overlay approach
Software vs. hardware
Opensource vs. commercial
Openflow in SDN: controllers: northbound/southbound protocols
Datacenters and SDN
Connectivity switch – hypervisor/server requirements
L2 domains on hypervisors
Connecting L2 domains
Extension from the network
Designs: bridging, xconnect, tunneling – VXLAN/GENEVE…
Extension from the hypervisor
Designs: VXLAN tunneling
CLOS design
Tunnelling issues and approaches
Tunneling and mac learning approaches
Data plane learning
Control plane learning – EVPNs
VTEP address in the case of VPC/MLAG
Tunneling and BUM traffic
Routing between datacenter subnets
Distributed routing requirements – need for anycast router addresses
Asymmetric/symmetric routing issue
Asymmetric approach
Symmetric approach
Routing to the rest of the network
Tenant isolation/connection
Symetric VXLAN EVPN example
Building blocks of various SDN implementations
Southbound: protocols, data models, implementations, tunnelling mechanisms
Openflow and related protocols/imlementations
Openflow protocol
OVSDB protocol
Openvswitch
Introduction
Non openflow usage of openvswitch, labs
Linux veth pair, network namespaces
Using veth pair vs patches
Openflow usage of openvswitch, labs
Default behavior
Example with vlan tagg manipulation
Using remote controller
OVSDB protocol
Overlay tunneling: VXLAN , lab
Mininet introduction, basic lab, custom topologies, using remote controller
Controller: pushing flows to openflow switch, lab
Advanced openflow labs:
Implementing vlans
Implementing routing
Switch created flows
Example of “real” openflow network with ryu based controller
Netconf
Netconf protocol
Netconf and yang data models
Yang introduction
Yang labs
Yang explorer
Northbound protocols
RESTconf
Introduction, data models, json/xml representation
Postman, introduction and labs
Commercial products overview
VMWare NSX
Cisco ACI
Non openflow whitebox solutions: Cummulus linux