This document discusses NCTU's implementation of SDN-IP, which allows an SDN network to connect to external networks using BGP. It describes NCTU's SDN-IP topology featuring ONOS controllers connected to OpenFlow switches and Quagga routers. It also outlines the software stack, including ONOS, Quagga, Open vSwitch, and Ansible for configuration verification. Finally, it discusses a live demo of Taiwan's SDN-IP network at ONS 2016 and plans for future work integrating CORD and testing additional BGP software.
Knowledge engineering: from people to machines and back
Global SDN-IP Deployment at NCTU, Taiwan
1. Global SDN-IP Deployment
at NCTU
Ping-Chun Huang <pichuang@cs.nctu.edu.tw>
Min-Cheng Chan <charles@onlab.us>
Bao-Shuh Paul Lin <bplin@mail.nctu.edu.tw>
Chien-Chao Tseng <cctseng@cs.nctu.edu.tw>
3. About SDN-IP
NCTU SDN-IP Deployment 3
Allows an SDN to connect to external networks on the
Internet using standard Border Gateway Protocol (BGP)
From a BGP perspective,
SDN network appears as a single Autonomous System (AS)
– SDN-IP application provides integration mechanism
between BGP and ONOS.
– SDN-IP behaves as a regular BGP speaker
From ONOS perspective,
SDN-IP is just an ONOS application
– uses ONOS services to install and update appropriate
data forwarding rules
4. ONOS SDN-IP Implementation at NCTU
NCTU SDN-IP Deployment 4
Design Goal of SDN-IP
NCTU SDN-IP Implementation
NCTU SDN-IP Topology
Software Stack
Verification
SDN-IP Rack
Hardware Components
Open Source Projects
Live Demo in ONS 2016
Future work
5. Design Goal of SDN-IP
NCTU SDN-IP Deployment 5
Compatibility: can be integrated with networks that already
use BGP
Operational Flexibility:
Can run on one or multiple ONOS instances and
Can be used in a variety of BGP deployment scenarios
(full-mesh, Route Reflectors, confederations, …)
High Availability (HA): provides HA within SDN-IP itself
Scalability: Large-scale SDNs can be controlled by using
BGP-based Confederations and
multiple ONOS clusters, each running SDN-IP
Protocol Compatibility and Vendor Independence:
standard BGP protocol and not vendor-specific extensions.
6. ONOS SDN-IP Implementation at NCTU
NCTU SDN-IP Deployment 6
Design Goal of SDN-IP
NCTU SDN-IP Implementation
NCTU SDN-IP Network Topology
Software Stack
Verification
SDN-IP Rack
Hardware Components
Open Source Projects
Live Demo in ONS 2016
Future work
8. NCTU SDN-IP Network Topology
NCTU SDN-IP Deployment 8
ONOS
Cluster
L2 ToR Switch
OF1
OF4OF2
OF3
via NCHC/PacificWavevia NCHC/StarLight
NCTU
Test Net 2
Quagga1 Quagga2
NCTU
Test Net 1
AmLightKREONET
Control Link
Data Link
9. Flows of eBGP and iBGP
NCTU SDN-IP Deployment 9
iBGP
eBGP
ONOS
Cluster
L2 ToR Switch
OF1
OF4OF2
OF3
via NCHC/PacificWavevia NCHC/StarLight
NCTU
Test Net 2
Quagga1 Quagga2
NCTU
Test Net 1
AmLightKREONET
10. Flows in Control Plane and Data Plane
NCTU SDN-IP Deployment 10
ONOS
Cluster
L2 ToR Switch
OF1
OF4OF2
OF3
via NCHC/PacificWavevia NCHC/StarLight
NCTU
Test Net 2
Quagga1 Quagga2
NCTU
Test Net 1
AmLightKREONET
Control
Data
12. Configuration Verification
NCTU SDN-IP Deployment 12
Automatic configuration verification and management
Ansible
IaC (Infrastructure as Code) for automatically managing and
provision through source code
Adopt Ansible to
– Quickly verify network or machine status
– Manage multiple machines through one simple
command
Server
Command
(via ssh)
Control Machine
13. NCTU SDN-IP Implementation
SDN-IP Self-Verification at NCTU
NCTU SDN-IP Deployment 13
Verification Environment Set Up
Two additional ASs
Stream server and stream client, respectively
BGP information exchanged between ASs
Stream traffic routed from AS 65110 to AS 65120 Internet
QuaggaOF4
4 2
vSwitch
perfSONAR
10.113.10.3
10.113.10.1
10.113.10.2
NCTU
SDN-IP
Quagga OF2
4
2
vSwitch
10.113.20.2
10.113.20.1
AS 65113
AS 65120 AS 65110
Stream
Server
Stream
Client
14. ONOS SDN-IP Implementation at NCTU
NCTU SDN-IP Deployment 14
Design Goal of SDN-IP
NCTU SDN-IP Implementation
NCTU SDN-IP Network Topology
Software Stack
Verification
SDN-IP Rack
Hardware Components
Open Source Projects
Live Demo in ONS 2016
Future work