16 Nov 2015
SDX: A Software Defined Internet Exchange
IETF Slide
http://www.ietf.org/proceedings/86/slides/slides-86-sdnrg-6
sigcomm 14 paper
http://gtnoise.net/papers/2014/gupta-sigcomm2014.pdf
3.1 Virtual SDX Switch Abstraction
- traditional exchange point
- each participating AS typically connects a BGP-speaking border
router to a shared layer-two network (a data plane for forwarding
packets) and a BGP route server (a control plane for exchanging
routing information).
- SDX
- each AS can run SDN applications that specify flexible policies for
dropping, modifying, and forwarding the traffic. The SDX must then
combine the policies of multiple ASes into a single coherent policy
for the physical switch(es).
each AS has the illusion of its own virtual SDN switch connecting
its border router to each of its peer ASes, as shown in Figure:
3.2 Integration with Interdomain Routing
The ASes must define SDX policies in relation to the advertised routes
in the global routing system. To do so, the SDX allows participating
ASes to define forwarding policies relative to the current BGP
routes. To learn BGP routes, the SDX controller integrates a route
server. Participants interact with the SDX route server in the same
way that they do with a conventional route server. The SDX route
server collects the routes advertised by each participant BGP router
and selects one best route for each prefix on behalf of each
participant, and re-advertises the best BGP route on the appropriate
BGP session(s). In contrast to today’s route servers, where each
participant learns and uses one route per prefix, the SDX route server
allows each participant to forward traffic to all feasible routes for
a prefix, even if it learns only one.
4 Efficient Compilation
We consider data-plane efficiency (Section 4.2), to minimize the
number of rules in the switches, and control-plane efficiency
(Section 4.3), to minimize the computation time under realistic
workloads.
5.1 Implementation
- The policy compiler (based on Pyretic)
- takes as input policies from individual participants that are
written in Pyretic—which may include custom route advertisements from
the participants—as well as BGP routes from the route server, and it
produces forwarding rules that implement the policies.
- The route server (based on ExaBGP)
- processes BGP updates from participating ASes and provides them to
the policy compiler and re-advertises BGP routes to participants based
on the computed routes.
reference
- [1] B. Ager, N. Chatzis, A. Feldmann, N. Sarrar, S. Uhlig, and
W. Willinger. Anatomy of a large European IXP. In Proc. ACM
SIGCOMM, 2012.
ONS 2 page — SDX: A Software Defined Internet Exchange
http://gtnoise.net/papers/2013/feamster-ons2013.pdf
- Architecture
- two instantiations of the SDX architecture:
- a single-site deployment, where an SDN controller acts as a
“smart route server” on behalf of the participating ASes at the
exchange; and
- a multi-site deployment, where SDN controllers across multiple
exchange points coordinate to enable more sophisticated wide-area
policies.
- Challenges
-
- developing appropriate isolation mechanisms, so that the
route selection mechanisms of each AS do not interfere with one
another.
- dealing with the realities of incremental deployment, which
give rise to heterogeneity: specifically, any particular AS is
likely to have conventional BGP peering relationships and
peering relationships at SDXes.
- determining the programmatic interface than an SDX
controller should expose to users of the exchange point, for
various classes of users (i.e., ISPs, content providers), and
how to resolve potential conflicts that may arise in route
selection and control when multiple parties can control route
selection at a single exchange point.