TouSIX project - Technical overview
TouSIX (Toulouse SDN Internet eXchange) project aims at inserting SDN technologies into TouIX IXP.
The project main goal is to fix some difficulties encountered in exchange points with this technology.
Euro-IX raises some requirements and additional services requested by IXPs. On the port control and monitoring part, it is possible to find a SDN alternative.
For instance, we could raise precise statistics on the controlled topology by Ethertype. Moreover, those statistics can be more precise compared to sampling solutions like sFlow in some use cases.
Another possible feature is to restrict port acces by adding specific rules. Those rules will match some values present in the package. We could for example, force some MAC addresses to forward on a monitoring port.
Those are few examples on which SDN technologies can reveal its full potential.
The actual state of TouIX allows us to make this project possible. The topology size (on which includes dozen members and few equipments) gives more flexibility, unlike other structures with complex topologies and a large amount of members.
Diagram of actual topology
Active links, used to transit most of the traffic, are in red.
Blue links represents our backup.
Due to the multiple links avaliable between TLS00 and CIgent PoP, we aggregate two links for increasing avaliability.
Traffic forwarding represents only what have been defined in OpenFlow rules. This includes declared hosts, and authorized ethertypes. Packages which do not match on applied rules will be automatically dropped on network edges.
The management part of the topology is done on historical TouIX network. One host in this network is running TouSIX-Manager.
The first goal of this software is to put the base four managing the new TouSIX architecture.
To achieve that, we fixed our main objectives:
- Keep online the production as long as possible without human interaction.
- Make the IXP managment easier, with lots of graphical options avaliable.
- Allow the activation of additional SDN services with OpenFlow.
All the different components of TouSIX-Manager are described below:
We have two main parts on our solution: One or more customized OpenFlow controllers (Ryu), and a collection of web applications.
The controller part must follow three purposes:
- Reinforce IXP autonomy by keeping a showing network state, and keep it stable.
- Allow modification of OpenFlow rules by using a RESTful API
- Warns web applications on pre-determined events on the network (monitoring, alerts...)
This controler is based on Ryu, and adds application which suit our needs.
The second part contains most of the intelligence.
We can divide these web applications into four major functions:
- One function will manage the members on TouSIX. It will interact on administrative components of the website (page access, form updating...).
- Network statistics mangement. It will recive data emitted by the controller and forge graphs for end users.
- Use information stored in the database to generate BGP configuration. After member updates, automatic route server update will be performed.
- OpenFlow rules generation and deployment. The information to provide these functionnalities are stored in the database.
We focused our efforts on web applications for this project. Thus, Ryu use is not a restriction. We could achieve same functionnalities with other controllers.
The source code is avaliable on the link below: