Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you haven't done so already, it's highly recommended that you go through the ONOS Tutorial first. This will give you some familiarity with the basic functionality of ONOS. In addition, you should read through the SDN-IP Architecture document to get an overview of how SDN-IP works.

Hopefully If you've already gone through themthe ONOS tutorial, so you'll already have the ONOS tutorial VM available. If not, check out the Setup your environment <LINK> section of the ONOS tutorial to get the VM ready.

...

When you start the VM, you'll be presented with a login screen. (If you're already logged into in to another tutorial, please log out by clicking the bottom-left icon, clicking "Logout", then click "Logout" again).

...

We've prepared a simple emulated Mininet topology, which contains some OpenFlow switches to make up the SDN network. Connected around the edges of the SDN network are emulated routers. The routers run a piece of software called Quagga, which is an open-source routing suite. Note that it is not mandatory to use Quagga: ; any software/hardware capable of speaking BGP will do. In our case we run the BGP part of Quagga on them, to simulate external BGP routers belonging to other administrative domains. The goal of SDN-IP is to be able to talk BGP with these routers in order to exchange traffic between the different external ASsASes.

This figure shows the topology as observed by ONOS. We can see 6 blue OpenFlow switches, and 5 peripheral nodes with yellow icons.

  • The node labelled "bgp" is our internal Internal BGP Speaker. It sits inside our SDN network and its job is to peer with all the External BGP Routers, learn BGP routes from them, and relay those routes to the SDN-IP application running on ONOS.
  • The other four nodes, labelled r1 through r4, are the External BGP Routers. They are the border routers that reside in other networks that want to exchange traffic with us.
  • Behind each router is a host. These are labelled h1 through h4 in Mininet. ONOS can't see these hosts, because they reside in other networks that are not controlled by ONOS. 

...

Code Block
mininet> h1 ping h2
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
From 192.168.1.254 icmp_seq=1 Destination Net Unreachable
From 192.168.1.254 icmp_seq=2 Destination Net Unreachable
From 192.168.1.254 icmp_seq=3 Destination Net Unreachable

Even if though ONOS is running and connected to switches, there are no applications loaded so there is nothing to tell ONOS how to control the network. We can also use the summary command to verify there are no flows or intents in the network.

...

First we need to install some helper applications that SDN-IP relies on. These features let ONOS read in various configuration files and respond to ARP requests on behalf of the hostsbetween the external routers and internal BGP speakers.

Code Block
onos> feature:install onos-app-config
onos> feature:install onos-app-proxyarp

Now, lets let's install the SDN-IP application so we can get some traffic flowing between our networks.

...

To make r4 advertise a new route, we have to change the configuration of the BGP router. In our case, the BGP router is a Quagga process, so we'll connect to the Quagga CLI and configure r4 to advertise a new route. (The Quagga CLI is complex and includes lots of options, but considering this is not a Quagga tutorial we won't go too into much through itdetail here. If you're interested, there's material online that will help you understand Quagga).

First, from the Mininet CLI we can start up an xterm new terminal on the r4 router so we can connect to the Quagga CLI.

...

A new terminal window will pop up which gives us a terminal on the r4 router node. The next few commands will by typed into this window - pay attention to the command prompt to ensure you're typing commands into the correct place.

...

Great! Now we can ping to h4 which is in the network we just received through BGP. This shows that whenever the routes learned through BGP are updated, SDN-IP reacts to the updates update and programs the data plane accordingly. 

...