Software-defined Exchange Point Paper Review



While SDN has been widely adopted for intranet, it has rarely been considered for inter-domain communications. This paper aims to build an SDN solution for Internet exchange points (IXPs).


IXPs are interested in innovations. Routing algorithms between ASes like BGP are unreliable, inflexible, hard to manage. Specifically, for BGP, there are three disadvantages: fine-grained routing policy is not allowed; the end-to-end path is not able to be controlled by the network; and control program could not be expressed easily.

Previous Work

For the SDN-based exchange point, Google has proposed a solution that does not allow each tenant to create their own policies. Previous work has also utilized SDN for exchanging among own ASes, which does not allow multiple stakeholders to create policies independently. Lastly, Pyretic has been proposed as an abstraction for composing the control policies.


SDX has solved three crucial problems blocking the advance of SDN in IXPs. Firstly, SDX creates an isolated abstract environment for each ASes and later compose every participating ASes' policies into one realistic policy deployable to the switch. These policies are efficiently and safely combined, producing low computational overhead. Additionally, SDX does not break the current state: BGP is still supported as a default solution for routing.

The technique consists of two key takeaways: abstraction and compilation. With SDX, the developers could now create network policies as they could do in SDN for their respective inter-domain communication. While the policies are deployed to switches connecting each stakeholder, the abstraction forbids developers from infringing ASes of other stakeholders. The policies of each ASes would be collected and compiled for deployment.


For computing the policies for the traffic, SDX would aim to represent what BGP would react (forwarding, grouping) and only overwrite BGP behaviors on developers' scrutiny. For compilation, SDX would prepend conditions (matches) so as to isolate policies and add BGP policies to enforce consistency. Furthermore, optimizations for data plane like equivalence class representation and offloading and control plane are used to reduce overheads.


The system is evaluated by running SDX in emulation of real-world scenarios. The number of forwarding rules increase linearly as number of prefix groups increases, while compilation time grows exponentially. Burst of BGP updates would also increase the rules linearly as to the size of the update.


  1. Would compile-time optimization compare to simply prepending rules as the enforcement of isolation further reduces the overhead?

  2. Would it be possible to evaluate the cost of each stakeholder's policies?