...
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.
...