Page tree

Versions Compared

Key

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

...

We've prepared a simple emulated Mininet topology, which contains 6 some OpenFlow switches to make up the SDN network. Connected around the edges of the SDN network are 4 emulated routers. The routers run a piece of software called Quagga, which is an open-source routing suite. 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 ASes.

...

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

  • The host node labelled "bgp" is our 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 hostsnodes, 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, and 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
onos> intents -s
Connectivity               total=             27   installed=        27
Connectivity               withdrawn=          0   failed=            0
Connectivity               submitted=          0   compiling=         0
Connectivity               installing=         0   recompiling=       0
Connectivity               withdrawing=        0
PointToPoint               total=             24   installed=        24
PointToPoint               withdrawn=          0   failed=            0
PointToPoint               submitted=          0   compiling=         0
PointToPoint               installing=         0   recompiling=       0
PointToPoint               withdrawing=        0
MultiPointToSinglePoint    total=              3   installed=         3
MultiPointToSinglePoint    withdrawn=          0   failed=            0
MultiPointToSinglePoint    submitted=          0   compiling=         0
MultiPointToSinglePoint    installing=         0   recompiling=       0
MultiPointToSinglePoint    withdrawing=        0
SinglePointToMultiPoint    total=              0   installed=         0
SinglePointToMultiPoint    withdrawn=          0   failed=            0
SinglePointToMultiPoint    submitted=          0   compiling=         0
SinglePointToMultiPoint    installing=         0   recompiling=       0
SinglePointToMultiPoint    withdrawing=        0
Path                       total=              0   installed=         0
Path                       withdrawn=          0   failed=            0
Path                       submitted=          0   compiling=         0
Path                       installing=         0   recompiling=       0
Path                       withdrawing=        0
LinkCollection             total=              0   installed=         0
LinkCollection             withdrawn=          0   failed=            0
LinkCollection             submitted=          0   compiling=         0
LinkCollection             installing=         0   recompiling=       0
LinkCollection             withdrawing=        0
UnknownType                total=              0   installed=         0
UnknownType                withdrawn=          0   failed=            0
UnknownType                submitted=          0   compiling=         0
UnknownType                installing=         0   recompiling=       0
UnknownType                withdrawing=        0
All                        total=             27   installed=        27
All                        withdrawn=          0   failed=            0
All                        submitted=          0   compiling=         0
All                        installing=         0   recompiling=       0
All                        withdrawing=        0

We see a total of 28 27 intents. The 24 PointToPointIntents are simple end-to-end flows which allow the external BGP routers to communicate with our internal BGP speaker. The three MultiPointToSinglePoint intents are the forwarding rules for the routes that we've learnt through BGP. Each route is translated into one MultiPointToSinglePoint intent which matches the traffic for that route at the ingress ports of the network, and forwards it along to the router who advertised the route to us. This is how we use routing information learnt from BGP to enable traffic to transit our network on these routes.

...