0% found this document useful (0 votes)
74 views12 pages

Traffic Engineering in SDN

1) MPLS uses label switching to facilitate faster forwarding decisions at routers. Label edge routers assign labels to packets to create label switch paths between routers. Packets are forwarded along the path by replacing the label at each hop. 2) MPLS can be used for traffic engineering to increase resource utilization and load balancing. It models tunnels between label edge routers to deterministically route traffic based on forwarding equivalence classes. 3) While traditional IGPs route based only on destination, MPLS traffic engineering considers bandwidth availability and traffic characteristics to map flows to paths and balance load across links.

Uploaded by

Ahsan Riaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views12 pages

Traffic Engineering in SDN

1) MPLS uses label switching to facilitate faster forwarding decisions at routers. Label edge routers assign labels to packets to create label switch paths between routers. Packets are forwarded along the path by replacing the label at each hop. 2) MPLS can be used for traffic engineering to increase resource utilization and load balancing. It models tunnels between label edge routers to deterministically route traffic based on forwarding equivalence classes. 3) While traditional IGPs route based only on destination, MPLS traffic engineering considers bandwidth availability and traffic characteristics to map flows to paths and balance load across links.

Uploaded by

Ahsan Riaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Ahsan Riaz

Traffic Engineering in SDN



throughput etc. while performance based on the
Abstract— SDN is a flexible and programmable network aspects related to the maximum utilization of
architecture which is best suited for the traffic engineering.
Traffic engineering and load balancing in SDN is very cost network resources. Efficiently managing the
effective having low complexity and high adaptability. We will network resources like bandwidths of different
do traffic engineering in an effective way to reduce complexity links etc. is the key component of the traffic
and traditional packet processing overheads. MPLS based
traffic engineering made route configuration and traffic engineering.
engineering easy and flexible. One of the main factors contributing and
motivating us towards Traffic engineering is the
I. INTRODUCTION congestion control. Both traffic and resource based
This topic defines issues and solutions related to performance based factors contributing towards
traffic engineering with respect to the resource traffic engineering are based on congestion
utilization and traffic management on available controlling aspects of the internet traffic. There can
links in an operational network using SDN. be two scenarios addressing towards congestion
Software defined networking come up with occurrence in the networks, when there are in
flexible network architecture by decoupling data efficient resources to handle the offered load of
and control plan and providing programmability in traffic over the internet or when with the
the networks. availability of efficient resources but inefficiently
Basic Reason for doing the traffic engineering in mapping of these resources to address the available
operational networks is utilization of performance. load of the internet traffic.
Generally it is concerned about the application, The first type of primary reason for congestion to
measurement, modeling and control of the internet occur can be controlled by either maximizing the
traffic to achieve the specific performance resource, developing or utilizing techniques like
objectives. The major goal of the traffic windowing, router queue management etc. that can
engineering is to formulate a solution for the be used to routes the traffic according to the
reliable and efficient utilization of network available resources without sending them extra
resources and gaining maximum possible load beyond their capacities. On the other hand
performance form it because over a large internet the second type of problem namely as inefficient
networks resources are so much costly that we use of available networks resources can be
can’t afford them to be free while overloading addressed by “Traffic engineering”.
others. So we need efficient techniques to utilize This motivates us to develop “Load Balancing”
all available links of operational networks under techniques to maximum utilization of resources to
specific conditions. gain high performance over the operational
network. Currents IGP’s poorly address the
II. MOTIVATION resource utilization factor while routing over the
The major performance objectives of traffic internet. They are not suitable for efficient traffic
engineering can be classified into two categories: engineering. They are based on the shortest path
1) Performance based on traffic identification to a given destination excluding the
2) Performance based on resources bandwidths availability and traffic characteristics
and putting the huge amount of traffic on the
Traffic oriented aspect of TE is the motivation for specific shortest path to possibly multiple
improving the QOS for network stream. QOS deals destinations or on the same router interface to
with many aspects of the network like minimum address congestion problem again.
packet loss, minimum packet delay, maximum First we are going to take a look on how MPLS
works!

III. MPLS (MULTI-PROTOCOL LABEL A. MPLS Models
SWITCHING) MPLS uses two types of models
MPLS approach uses a label based approach to - Virtual Private Networks (VPN)
facilitate the forwarding decisions at routers. A
- Traffic Engineering (TE)
designated router called “Label Edge Router” is
responsible for assignment of labels to all packets. VPN can be best describes by datagram based
All forwarding decisions are based on solely on model of MPLS. In this models every router in a
Label attached to the packet by creating a Label networks contains label binding mechanism to the
switch path (LSP) defined by the labels through routes/ paths learns from neighbor IGP’s (RIP,
LSR’s between two LER’s.[2] Packets are OSPF) etc. Routers advertise the corresponding
forwarded to destination by each intermediate hop labels for different destinations to their neighbors.
that is also Label switch router (LSR) along the These labels are used to route the data packet
Label switch path. On every hop existing label to towards the given destination. For example: in the
the packet is stripped off and new label is added to figure shown below, router R6 receives the
put it over the path towards destination. It is different label bindings for router R3 address, from
designed to make the routers able to do faster its two different neighbors router R2 and router
decision based on labels either by looking up long R4. Router R2 must use label 10024 to reach
prefix match to take final forwarding decision. By router R3 via router R4, and label 67 to reach
MPLS routers can make decisions with speed like router R3 via router R2. Thus when a packet
L2 devices. A protocol named as LDP is arrives at any router, if it satisfies destination
responsible for all these functionalities. address, it is forwarded to next hop by inserting the
labels with the packet advertised by that particular
hop for a given destination. The basic reason for
using labels in routing to get rid of long lookups in
routing tables of routers for fast and accurate
decision.

Figure1.5
Traffic engineering services of MPLS are based on have completely missed out the usage of flow
flow oriented model of MPLS, where two routers abstractions and map abstractions.
called “Label edge routers” are responsible for MPLS Flow Abstractions
calculation of path from one end to other end using So far we have discussed and defined the
SPF (Shortest Path Frist) technique. It makes the definitions and concepts of MPLS flows
concept of tunnels as shown in figure 1.5. All the (FEC+LSP) in MPLS networks. As compared to
data traffic having relevant FEC (Forwarding SDN we have concluded that MPLS based flow in
aquiline class) i.e. Destination address, travel simple MPLS networks is more complex than
through this tunnel to reach its destination. MPLS MPLS networks in SDN in term of forwarding
flow based models is widely used to provide traffic actions and match definitions.
engineering services by ISP’s. They use this Here is some difference between MPLS and SDN
models for being more deterministic about IP data in terms of treatment with packets as it seems both
models and to increase the utilization of network creates the packet flows.
resources. MPLS based traffic engineering also Logical Association
provides some other features like auto route, auto SDN
bandwidth, tunnel priorities, load balancing etc. In SDN there is logical association between the
packets addressed for particular destination. They
are treated in the same way by whole networks
from ever switch to switch and within the switch.
MPLS
On the other hand in MPLS networks, packets are
forwarded in LSP’s based on FEC. In MPLS FEC
provides logical association between the packets
going to particular destination. I.e. flows are
created on the basis of FEC.
Data Abstraction
SDN
Data abstraction in SDN shows that how data
Figure 1.6 packets switch in it. Packet switching is based on
the flow tables, queues and ports. With the help of
RSVP-TE is an extension to RSVP protocol that is this flow table, each Forwarding Element can
used with conjunction of MPLS for traffic identify the flow generically by examining the
engineering. It allows establishment of MPLS different parts of packet header.
LSP based on the network constrained parameters MPLS
such as bandwidth etc. Data abstraction in MPLS is different from SDN.
It differs from switch to switch. In MPLS LER is
IV. MPLS NETWORKS IN SDN responsible for the creation of flows on the basis of
FEC. Packets can be generically classified by
As we have discussed earlier MPLS works in two using multiple parts of headers. Different
kinds of models VPN &TE. Now we are going to techniques such that PBR (Policy Based Routing)
discuss that how MPLS relates to SDN, in help to classify the packets. Once packet have been
controller and data plane architecture and it classified and label has been assigned, during
provides MPLS based TE services as compared to switching from one router to other LSR can
traditional IP/MPLS. perform Label swapping after matching the flow
A. MPLS and Abstractions using its Flow table.
In previous section we have showed the definition Treatment within the Switch
of flows in MPLS, but here it is important to SDN
mention that MPLS flows make use of Maps. We
Once the flow has been identified by the switch in the information about topology like nodes, links,
SDN, same set of actions and rules applies on all costs and shortest paths to each destination.
the packets of that particular flow. For MPLS-TE Networks, same protocols are used
MPLS but in more advance level and with more
In MPLS more restrictive kinds of actions applies information about links like bandwidth used by the
after the identifications of particular flow of link, unused bandwidth etc. that can be used in TE
packets like pushing, popping and swapping the for load balancing purposes. By this every router
labels. have the same information as IP Networks but also
Layer Independent Switch API some additional information that enables MPLS-
SDN TE networks to perform more sophisticated path
All the data abstractions actions for all switches calculation by taking load of traffic to be
are controlled by Independent API based in the distributed on different available links with in the
controller such as (Open Flow). network
MPLS Same information is contained by SND Networks
Policy based routing; auto route can be the basic as IP Networks and MPLS-TE Networks. SDN
entities in the manipulations of FEC. On every additionally contains more information than other
switch LDP or RSVP works to perform the data networks. These information contains link state
abstraction with the help of independent and information, switches flow tables, sand switches
hidden API on the switches. queues information, port information and many
MPLS and Map Abstraction more. SDN has global information not only about
When comparing between SDN and MPLS, it is link states but also the states of switches. This map
important to distinguish between Map and Map can be used to perform tunneling, mobility
Abstraction. We are going to discuss them management, QOS and many more etc.
individually. Map Abstraction
So far we have discussed the different kinds of
maps and features supported by each kind of
networks maps. Now we are going to discuss the
Map Abstraction. It helps us to centralize the
decision making process. It enables us to write
control programs that have global view of the
networks and can perform networks functions in
more controlled and efficient way. Simple
IP/MPLS lack this kind of feature. There are
following benefits of using Map Abstraction in
terms of MPLS:
Figure 1.8, Network Maps in a) IP Networks b) MPLS TE c) SDN 1)Simplicity
Map Abstraction simplifies the implementation of
control programs by making the implementation
Maps centralized, by decoupling from the process of sate
In our sense map is the topological graph of the collections. In current IP/MPLS there are no
network. Let’s first look that how these maps are abstraction and centralized view. We can take the
different for different networks. In IP Networks example of simple IP network TE. In this kind of
routing protocols like OSPF, these kinds of network, every router has decision power and it
protocols share the link states with other routers. helps in the construction of shortest path using the
Every router can built its network topology map by cost assigned to each link in the network. Cost
using these link states sent by other router of the assigned to the links is based on the available band
network. Every router has its own map of the width of that link but networks operators have
whole network called topology. This map includes authority to change the bandwidth consumption by
the link at any time for TE purposes. It can create
disturbance in already build shortest paths and load that the provider or carrier to come up with the
balancing techniques. Other problems includes like vendor to discuss whether they will implement our
link failures, packet loss, congestion can also be provided solutions. The vendors will find out the
occurred. So there is the need of centerline standards of provided solution by taking in the
decision power to be come inside to solve and different standard bodies, and then carries labs
simplify this kind of problem. trials takes the place where they check the
2)Reducing Protocol Load operational performance of the solution, if very
Currently IP/MPLS have distributed protocols. things goes well then the new feature will be
That are responsible for providing routing and deployed in the network. This overall process is
other responsibilities including flooding, grouping, approximately 5 to 10 years long process. If during
error notifications like OSPF, IGMP.IS-IS etc. this time any things changes about the provided
there by increasing the processing load on solution the whole process comes again and the
individual routers. For TE (Traffic Engineering may be features becomes outdated.
Purposes), these protocols are required to
distribute extra information related to TE to others.
Thus again increasing the protocol and processing
load on routers as overall intelligence resides on
routers. Another complexity increment factor
include the layers of signaling protocols, and flow Figure 1.9, Network Functions in Today’s IP/MPLS
control protocols providing the services of QOS
along with TE. With the increasing complexity of SND have provided the extensibility to provide
different kinds of protocols to support different new features more easily. It does it without
kinds of features, vendor of routers also increases changing the network features a) new protocols b)
the computational power of the routers along with requiring the deployment of this new feature on
increasing the bandwidths of the overall networks. every switch.
But this solution is not satisfactory as it need 4)Global View
continuous up gradation of network resources with Another important feature of using map abstraction
the growing features provided by networks. is global view of overall network. With this view
SDN evolves as a suitable solution for this kind of we can easily optimize network performance
problem. It replaces the routers and switch CPU according to given needs and requirements. In
Load of the distributed protocols in the form of today’s network this kind feature and optimization
centralized applications and Switch API’s like can be done locally with the help of distributing
(Open Flow) that have global view of the network protocols that can lead to load over the network
and decision power. Even when we need to resources. We can take the example of MPLS-TE.
provide any new feature or service in the networks, As it was our main motivation that best usage of
it does not need to upgrade the routers software or networks resources is the main factor contributing
switch API’s. It can be done by creating the to TE. MPLS-TE is done by tunneling technique.
application program on the top of the Map Route taken by tunnel depends upon the available
Abstraction. Our implementation of TE is the best bandwidth of the link it is going to use. It reserves
example of this! the bandwidth for its uses by decreasing the un-
3)Extensibility reserved bandwidth. When more tunnels are routed
As we have discussed earlier, how map over the dame links, link become full and forces
abstractions makes it easy for us to develop the the other tunnels to take newer route. Bandwidth
application easily to provide new features. reservation done by particular tunnel depends on
Providing this new functionality means changing the traffic load between source and destination,
the existing features or to provide completely new also by the potential usage defined by the network
one without changing the state distribution operator. But actually traffic actually vary time to
mechanism. In today’s IP/MPLS networks, time. It cannot be fixed in advance through
implementation of new networks features requires particular tunnel. So actual bandwidth reservation
is different from the reserved one leading to non- It is important to note that LSP creation and
optimal usage of network resources. Vendors of admission control both are control plane concepts
routers have fixed this problem by Auto Route. not of data plane.
With this phenomenon head end of tunnel can be SDN based Admission Control
checked to find out actual usage of reserved Our SDN based approach take advantage of the
bandwidth and can be altered time to time. For this LSP creation and admission control polices to
only router are aware of this thing. This is local resides on control plane. We can develop
optimization. In SDN, we have global view of applications in map abstractions to do the
network states, we can easily identify the constraint routing, by running CSPF, creating
reservation of all the tunnels and their actual usage tunnels on data plane by using Open Flow. Open
at any time. Application can do global Flow will help for the distribution of Labels to
optimization and eliminating the network Churn. setup LSP’s along with required constraints. It also
keep controller ware of the un-reserved bandwidth
B. Traffic Engineering in SDN and Prototype
of links along the path. By having aware of
In this section we will discuss SDN approach to updated situation of the overall networks with the
Traffic Engineering based on MPLS (MPLS-TE) help of map, controller can response the requests
features and how it helps us to reproduce and sent by particular network operator or application
refine the IP/MPLS approach to TE. We will also for tunnels. Data plane switches are completely
discuss that how SDN based implementation unaware of this process. They do not perform any
provides possibilities for some other features of admission control functionalities.
MPLS related to TE that were not possible by Auto Route
traditional approaches of implementation. We will Auto Route is the best technique to route the traffic
focus of following features: into the tunnels once they have created
 LSP Admission Control successfully. Traffic from IP networks is routed by
 Auto Route LER (Label Edge Router) in the tunnels to provide
 Load Balancing/ Sharing specific Quality of service desired by the specific
data traffic. Figures below shows the configuration
 Auto Bandwidth
of tunnels conceptually and physically.
 LSP Priorities

LSP Admission Control


MPLS control plane uses admission control
policies for performing TE tasks. IP links have
maximum resolvable bandwidth capacity. LSP that
are also called tunnels can reserve the part of this
Figure 1.10 a) Conceptually b) Physically
available bandwidth to route the data using this
link. The route taken by the tunnel is determined Assume that packet flow from Router R1 to Router
by using CSPF (Constrained Shortest Path First) R3. Tunnels can be created between Router R5 to
by specifying constraints including bandwidth Router R2. Packets need to be re-routed through
requirements, type of service like low latency, high this tunnel. As conceptually these is only single
throughput etc. as discussed earlier in previous hop path between R5 to R2 and if flow take any
section. Shortest route is determined first along other path than this tunnel it have to pass to two
with specified constraints before creation of hops. It is important to note that the single hop
tunnel. If CSPF is unable to find out the route concept is conceptual; actually the data will travel
tunnel is rejected (Admission Control). Now over the IP links in the networks. Figure 1.10 (b)
tunnels is created on any other new link that will shows the actual path taken by the traffic to reach
be specifying our requirements. Already made the destination. But again despite the multiple
tunnel can also be used. One tunnel is created it is numbers of hops between source to destination,
maintained by signaling protocols like RSVP-TE. tunnels will be considered as single hop.
Tunnels are not exposed to distributing routing based on different types of traffic to different
protocols, because protocols will treat the tunnels tunnels.
as simple IP links, by destroying the purpose of SDN Based Auto route
their creation. Also there can be scaling problem as SDN provides automation and flexibility while
number of minks increases and more states need to routing the traffic. In simple IP/MPLS networks
be flooded and on failure of these large number of there was lack of flexibility as discussed in
traffic is created as notification by creating extra previous section. SDN provides us these features
overhead on the router. But problem is that if with programmatic solution implemented at
tunnels are not supposed to be in IP-routing map, controller via particular programmable API.
then how router route the packets in the tunnel?
At this point static routes, PBR/PBF an auto routes
plays its role.

Figure 1.12, Auto Route in SDN

As IP/MPLS networks approach in shown in figure


Figure 1.11 a) Need for Auto Route b) Effect of Auto Route on
routing Table
1.10 and Figure 1.11. SDN approach is shown in
the figure 1.12. It make uses of map to find out the
Consider the figure 1.12 (a), it shows two kinds of full visibility of every node and their link states.
maps used by MPLS network. One is for SPF These states that SDN will calculate from Open
based IP routing and other is for CSPF MPLS-TE Flow based switches, we can add more attributes
tunnels. As name Auto Route suggests that we can with link states related to traffic engineering TE,
re-route the packets in to tunnels automatically, by such as maximum resolvable bandwidth,
replacing the routing table calculations made by unreserved bandwidth, priorities and other operator
SPF protocol as shown in figure 1.12(b). Consider defined attributes etc. SDN make use of
a table of particular router of figure 1.10 above say programmatic applications to implement TE
R5, it shows the shortest paths to destinations. For routing for LSP’s. With help of map the resulting
example as shown in the figure, R5 table shows tunnels are introduced as unidirectional links to
two equal cost routes to R2, with different next perform routing.
hops R4and R6 with different out-going interfaces We can also route the different types of packet
12 and 9 respectively. R5 also contains tunnel to flows differently based on service needed by the
R2 that is invisible to SPF routing protocol. Here type of application i.e. VOIP, WEB, VEDI etc. we
actual role of Auto Route comes in and is shown in can use this type of approach because SDN do not
lower portion of figure 1.12 (b). It shows the use distributing protocols to find out and update
changes made by CSPF in the routing table. It the overall map of the network. In SDN this map is
replace the two entries R2 to tunnel T1. Here it is kept updated with the help of Open Flow based
important to note tunnels interface is logical switches and networks OS.
interface to which packets will be routed, that Load Sharing
actually built on the physical interface and label One of the limitations of Auto Route is that, it
from which tunnels starts satisfying the special cannot do load sharing. Load Sharing is the
requirements needed by the traffic. mechanism to share the traffic load on multiple
Auto Route make it easier to automatically route links to avoid congestion on particular link.
the traffic into tunnels, but it is quite inflexible. It Consider figure 1.10 (a) above. From source R1 to
can work as specified with SPF routing protocols destination R3, three equal paths exists. One is via
but it is quite harder to when any different tunnel and other two are via simple IP links
approach to routing has to be focused e.g. routing R5R6R2 and R5R4R2. As we know
when tunnel route is followed it actually going to
the IP Links say R5R6R2, leaving two routes SDN bandwidth reservation is not signaled to all
for doing Load Sharing for us R5R4R2 and LSP routers as in MPLS networks based on
R5 and R2. Due to Auto Route routes only one traditional infrastructure. Furthermore changes to
path is used increasing traffic load on tunnel. One link states needs only change in topology map not
simple solution is to create more tunnels for one the switches.
tunnels to share traffic load but it can create LSP- Priorities
management problem for us. So we are unable to This is the last feature that we will cover related to
do efficient load sharing. MPLS-TE. TE-LSP’s created by MPLS can
SDN Based Load Sharing reserve the resources i.e. bandwidth on 8 different
In SDN we have more control over routing. It uses levels starting from 0 to 7. 0 is considered highest
the topology map to share the load between level and 7 is lowest level of priority. Highest level
different tunnels. We can consider the tunnels as priority LSP can share reserved bandwidth with
unidirectional links. Our approach to this is simple. LSP with low priority, so that it can re-route the
In above example we route the packets to two packets in high level probity LSP if there is not
different routes to divide the traffic load on two enough un-reserved bandwidth for both.
different links one is tunnel and other is us SDN Based LSP- Priorities
R5>R4>R2. In our approach we have applied the In SDN all attributes related to LSP are maintained
load balancing technique on control plane but we at controller. So LSP Priorities are also maintained
can also do it on data plane with the select group at controller. Priority is the just a number that is
construct, which is the part of Open Flow maintained in topology map at controller. Data
specification 1.3. In this controller have capability plane elements i.e. switches have no information
to add physical port on R5, that leads to R4 also about reserved tunnels and changes in these. This
physical port and label represent tunnel. It is information are make used by the CSPF at
important to note we do not need tunnels if we two controller and result is sent to data plane via Open
routes are available with same costs. Flow messages to add, delete or modify flow
Auto Bandwidth entries in LSR’s corresponding to TE-Tunnel.
In previous section we have discussed the features
of auto bandwidth and also associated problem V. SDN BASED PROTOTYPE
with this like local optimization and network- In this section we are going to explain the
churn. In this section we will focus on this topic experimental configuration to implement TE
from implementation point of view. As we know concepts of MPLS in SDN based architecture. This
auto bandwidth is implemented on Head End of setup has two purposes, first to show how we have
TE tunnel. On periodic basis router collects reproduced MPLS-TE services provided by simple
bandwidth reservation of particular tunnel MPLS networks and second how implementation
probably after 5 mints and alters the available of MPLS-TE aspects can be made different in
capacity of the links to be used. The change SDN as compared to simple MPLS networks.
identified by the router is signaled to all other Data Plane
routers in LSP so that they can take advantage of it Till late 2010, there were not open low based
for routing the more traffic based on capacity of switches or controllers that provide us capabilities
the tunnel. of MPLS data plane via Open Flow. We have
SDN Based Auto Bandwidth added these MPLS data plane capabilities in
In SDN as we know all these kinds of decision are OpenVSwitch (OVS) Version 2.0 that fully support
based on the controller. Which is centralized point Open Flow version 1.1, 1.2 and 1.3.
to perform all these kind of tasks? Auto bandwidth Control Plane
is also done as an application that resides at the It is hosted at server running RYU as NOS
controller. Controller only needs the particular (Network Operating System). RYU have been
information from Open Flow based switches to chosen as a network operating system (controller)
make decision about tunnel assignment to other as it supports OpenFlow version 1.2 and higher.
flows based on available capacity of tunnel. In The software architecture is shown in the figure
1.13. We have used RYU as event generator and input and source MAC. Another table ip_to_mac is
connection handler to all OpenvSwithes used for storing the records for the IPv6 source and
collectively labeled as RYU CORE. We have also the mac. We first check in the ip_to_mac table and
used RYU based API Module, that enables us to if the IPv6 source exists in that then we will get the
find out IP routes to make the topology map for output port to which packets will be switched for
processing. Software architecture also contains all the subsequent packets that will come in the
databases for tunnels, packets flows and flow switch. If the entry will not found then controller
labels. All these applications present map will send flood the packet to all the switch ports
abstractions at control plane. and will not add any flow entry for that packet.

Figure 1.13, RYU Based Control Plane


Figure 1.14, Emulated WAN

Figure 1.14 shows the emulation of WAN


Experimental Setup network. This topology map is created by Map
For our experimental deployment we are using API. This topology has 15 nodes that resides t 15
Mininet Mininet is a tool in which we can emulate different cities of US.
SDN networks and can add/remove hosts and Experiments
controllers and all these components behave like a In this experiment we try to show the basic
part of real network. RYU have been chosen as a functionality of traffic engineering. We will also
network operating system (controller) as it try to show other features of TE as auto bandwidth
supports OpenFlow version 1.2 and higher. and DS-TE. Tunnel-Routing and Packet-Flow
Mininet supports add as many hosts as we want Routing: It is a two-step processes.
and we can create a topology of our own choice. a) Admission Control of bandwidth reserved
The first step in ipv6 networks is the assignment of TE-LSPs.
ipv6 to hosts. As hosts get IP addresses in ipv6
b) Routing packets through a newly created TE-
based networks by neighbor discovery and router
discover protocols. This is done by using Mininet LSP.
API. Programing the underlying switch as to
The diagram shows the flow of traffic flow
become a learning switch is our basic purpose.
without traffic engineering. The traffic can be
Ipv6 packets will be routed based on the flow
seen to flows from SFO and NY areas that
entries present in the flow table and each time a
wanted to go to Kansas, Phoenix, Huston and
new entry will come the switch will packet_out it
NY, all follow the shortest path, thus congesting
to the controller and based on the configuration
the SFO DEN  KAN NY links.
and programming the controller will either
instructors the switch to add a flow entry and will
tell which port it will have to forward it by sending
packet_in message to the switch or will just
discard that packet.
Two tables are being used for the output port
decision. For the layer2 switching mac_to_port
table is used. The table mac_top_port store the
Figure 1.15, Tunnel Routes, Bandwidth-Reservations & Auto-Route
In the diagram 1.15, we showed two tunnels. The tunnel was created with a 10mbs reservation. The
tunnels originate from SFO and terminate at reservation increases as we pass on more and more
Hyuston and NYC. These tunnels are routed over traffic. It increase till 39 Mbps as shown in the
IP link. For example the tunnel from SFO  NYC diagram.
is based on the IP network of
SFODENKANNYC links. Similarly the
link SFOHOU tunnel is routed via
SFODENKANHOU links.
Now we take the example flows from SFONYC.
Previously the said traffic traveled over the IP
links now get auto routed via the 1-hop tunnel. The
packets get imposed with labels in SFO and get
label-switched in the DEN and KAN routers,
which no longer have visibility into the IP packet.
Figure 1.17, Auto-Bandwidth and Priorities
The flow-entries in DEN and KAN which
previously matched on the IP-information in the Now the SFOHOU tunnel reserved 700 Mbps on
packet-header, subsequently idle timeout, as they the same link. The initial route taken by the
no longer match on the labeled-packets. NYCPHX tunnel goes via the NYCKAN
Admission-Control HOUPHX links as it is the shortest path that
The tunnels SFONYC and SFOHOU reserved satisfies the bandwidth requirements. It also
123 Mbps and 700 Mbps respectively. reserved 177 Mbps on the KANHOU link giving
a total of 896 Mbps reserved on the KANHOU
link that is just close to the maximum allowed that
is 900 Mbps. Now as auto bandwidth is turned on
the tunnel NYCHOU, if we increase the traffic
from 9 Mbps to 39 Mbps, the reservation will be
increased as well.
The reservation will increase from the maximum
allowed 900 Mbps that is not allowed. So one of
Figure 1.16, MPLS-TE Admission Control the two tunnels has to find another path. The
NYCHOU tunnel has the highest priority. So the
The maximum bandwidth that can be reserved on lower priority tunnel that is, NYCPHX tunnel
any link is 900 Mbps leaving only 77 Mbps of has to reroute its traffic. In Fig. b, it has been
bandwidth is un-reserved on the shown that the traffic is now rerouted via the route
SFODENKAN links. Now if a request is NYCATLMIAHOUPHX path. This is
made for bandwidth that exceeds that limit. In such what wanted to show that is dynamic bandwidth
a case the more traffic will be forced to user the allocation and tunnel priorities.
less-utilized path of the network – the Class-Based Routing and Load-Balancing
SFOSEACHIKAN links. This is a classic In this final diagram, we have shown how to do
example of admission control. If this was not done, class based routing and load balancing. First
the SFOKAN would have to be congested. example shows routing on the basis of traffic
Auto-Bandwidth and Priorities classes.
Now we will experiment with the auto bandwidth
and priorities features. Diagram shows two tunnels
that originate from NYC. First tunnel has a tail end
in Houston. The second has a tail-end in Phoenix.
We have turned on the auto bandwidth feature.
Accordingly the bandwidth reservation for this
tunnel tracks the actual usage of the tunnel. The
features described in Sec. 5.2.1, took only 4500
lines-of-code. To accomplish the same in
today’s network would require
implementations of OSPF-TE and RSVP-TE
(together ~ 80k LOC) and implementations of
all the features. At the time of this writing we
could not find an open-source implementation
Figure 1.18, Routing of Traffic-Classes and Load Sharing
of MPLS-TE features; and so we can only
In the diagram, it has been shows that w the estimate, based on experience that each feature
SFOKAN tunnel is marked to carry only video could take at a minimum 5-10k lines-of-code,
traffic. Whereas, the SFONYC 209 tunnel pushing the total LOC well above 100k. It is
carries both video and other traffic. In the SFO easy to see that our SDN based implementation
router, we enter rules via OpenFlow that is based
is much simpler given the two-orders of
on the destination IP and transport ports.
Destination IP is used to identify the tunnel and magnitude difference in the lines-of-code
transport port is user to identify the traffic class. required. While our implementations is not
We then insert the appropriate action tag. In the production-ready, two orders of magnitude
above example, we are not going to perform difference gives plenty of room to grow; giving
admission control for each and every class, instead us confidence that even production-ready code
we have made a little adjustment to our CSPF will be simpler to implement with the map-
algorithm.
abstraction.
In case of load balancing, there are two routes for
the traffic between SFO and KAN. Videos flows Finally, we achieved our second goal of
through a tunnel from SFOKAN and all other demonstrating that using SDN and the map-
traffic uses the route SFODENKAN. This all abstraction, we can implement the TE features in
is done for load balancing. This is such a feature ways that a) either greatly simplify the feature; or
that a traditional MPLS (without the use of SDN) b) provide a feature that MPLS-TE cannot provide.
cannot provide. Examples of these includes (i) our implementation
of Auto-Route in a more flexible and
VI. CONCLUSIONS programmatic way; and (ii) contention-free LSP
We have dawn following conclusions from our establishment.
SDN based MPLS networks from our prototype
 We achieved the initial goal of verifying our CHALLENGES
architectural ideas of introducing the map- Finding right combination for the simulation was a
abstraction in MPLS networks. We showed big challenge for us as to setup IPv6 all of the 3
that we can not only perform the basic components that is simulator, controller and switch
operations of creating and maintaining LSPs in much support openflow version 1.2+.
an OpenFlow enabled MPLS data-plane; but
ACKNOWLEDGMENT
we can also provide higher-level services such
as MPLS-TE by writing applications above a The corresponding developer of RYU Fujita has
guided in the basic setup of RYU. Waqas helped
map-abstraction purely in the control-plane.
us to for setting up Mininet and command line
 We validated the simplicity of our approach utilities for OVS.
when compared to more traditional approaches
seen today. Our implementation of the traffic- REFERENCES
engineering application together with all the [1] http://tools.ietf.org/html/rfc2702
[2] http://condor.depaul.edu/jkristof/
tdc375/2010_03-701/
[3] http://www.ciscopress.com/articles/article.asp?
p=680824
[4] ‘MPLS-TE and MPLS VPNs with OpenFlow’
Ali Reza Sharafat, Saurav Das, Guru Parulkar,
and Nick McKeown
[5] A Network in a Laptop: Rapid Prototyping for
Software-Defined Networks
[6] https://github.com/osrg/ryu/wiki/
OpenFlow_Tutorial
[7] https://github.com/mininet/mininet
[8] https://github.com/osrg/ryu
[9] http://ryu.readthedocs.org/en/latest/
ofproto_v1_3_ref.html
[10]http://ryu.readthedocs.org/en/latest/
ryu_app_api.html
[11]https://www.opennetworking.org/images/
stories/downloads/sdn-resources/onf-
specifications/openflow/openflow-spec-
v1.3.2.pdf
[12]http://conferences.sigcomm.org/sigcomm/
2013/papers/sigcomm/p547.pdf
[13]Technology Validation Experiment: IPv6 and
Multicast Support on OpenFlow by David R
Newman

You might also like