Skip to content

Instantly share code, notes, and snippets.

@precurse
Created January 29, 2016 23:02
Show Gist options
  • Save precurse/0c705d6b372fb603f7f6 to your computer and use it in GitHub Desktop.
Save precurse/0c705d6b372fb603f7f6 to your computer and use it in GitHub Desktop.
SDN Retreat Notes
Keeps surprising me, to many DevOps is still a novelty.
Not to reinvent the wheel: https://dl.dropboxusercontent.com/u/778575/IMG_0964.jpg
http://www.pmacct.net # NetFlow collector and BGP agent.
http://sdn-internet-router-sir.readthedocs.org/en/latest/ # UI and API to pmacct
Puppet seems to be the choice for network vendors: Juniper, Arista and, lately, Cisco.
Ansible is a preferred tool for startups though.
http://www.ntop.org/products/netflow/nprobe/ # Outperforms many specialized pizza boxes
https://github.com/6connect/irrpt # IRR? Anyone uses it? Would JF be interested?
https://github.com/inex/IXP-Manager # Hey, http://yycix.ca.
https://github.com/spotify/napalm # Thanks, Spotify and Netflix! Complements Ansible nicely
https://github.com/Exa-Networks/exabgp # Another python toolkit (Thanks Samir!)
BGP Based SDN:
- Agents: Quagga, Bird, ExaBGP (or its fork Bagpipe BGP) or ODL (ONOS?)
- Eventual consistency for free
- BGP-LS
- FlowSpec (RFC5575)
- L3VPN (RFC 4364)
- EVPN (RFC 7432), , BGP Enc Community (RFC 5512)
- Remote Triggered Black Hole, there's an official IPv6 blackhole RFC 6666
- BGP in Datacentre @ Microsoft: draft-lapukhov-bgp-sdn-00
http://tsung.erlang-projects.org # Effective load testing
Procedures: Simplify -> Standardize -> Automate -> Abstract
RANCID -> git -> Gerrit -> Ansible (-> API)
http://xkcd.com/1205/
NETCONF and YANG:
Atomic, Consistent, Independent, Abstract API over XML. Not stateless!
Works best on JunOS.
YANG is a human readable data description language. Also, worst case of design by commitee. http://www.openconfig.net
NFV:
Use cases:
Virtual Appliances (i.e. BGP RR, FW, LB, IDS)
Enterprise Remote Site
4over6: IPv6 for access, VM-based psudowire termination vor IPv4 (Accessible via IPv6 anycast) <= Deutsche Telecom (Snabb sw on VMs)
vCE (per-customer services)
vPE: CPE <=> P
E sw <=> vPE
Heavy reliance on SR-IOV, DPDK, PF_RING, etc.
MPLS, IP tunnels, EVPN to pull the client's data into cloud. Also, source/segment routing. Also, Juniper Contrail.
https://github.com/Juniper/OpenClos # Neat ZTP script for Junipers
SDN Use Cases:
Arista XMPP(!) & ZTP, `show event-monitor sqlite .schema`
Traffic Engineering (PCEP RFC 5440)
Programmable Network Taps
Arista syslog server to let permitted flows through
https://www.opnfv.org/software/download
SDDC
"All infra is virtualised and delivered as service. Entirely delivered as software"
Amusing how distributed FS is said to be "for hipsters". People have barely moved from iSCSI to NFS.
http://www.potaroo.net
http://socketplane.io
Hyper-V Extensible Switch is plain amazing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment