Pre-print archive of my dissertation on Efficient Planning and Offline Routing Approaches for IP Networks, Departement of Communication Networks, Technische Universitaet Hamburg-Harburg 2006
Implementation of energy efficient coverage aware routing protocol for wirele...ijfcstjournal
In recent years, wireless sensor network have been used in many application such as disaster reservation,
agriculture, environmental observation and forecasting .Coverage preservation and energy consumption
are two most important issues in wireless sensor networks. To increase the network lifetime, we propose an
energy efficient coverage aware routing protocol for wireless sensor network for randomly deployed sensor
nodes. Some of the routing protocol is based on energy efficiency and some are based on coverage aware.
The proposed routing protocol is based on both the issues i.e. coverage and energy, in which we first find
the k-mean i.e. the degree of coverage, so that we can use this in the selection of cluster heads in wireless
sensor network by using Genetic Algorithm for increasing network lifetime and coverage. For cluster head
selection each node evaluates its k-mean and energy by internal function which used as fitness function in
genetic algorithm. The proposed algorithm “Implementation of energy efficient coverage aware routing
protocol for Wireless Sensor Network” is designed for homogeneous wireless sensor network. Simulations
results show that proposed algorithm increases the network lifetime by reduce the energy consumption and
preserve coverage. Simulation is done with MATLAB and a comparison of algorithm with benchmark
algorithms is also performed.
Implementation of energy efficient coverage aware routing protocol for wirele...ijfcstjournal
In recent years, wireless sensor network have been used in many application such as disaster reservation,
agriculture, environmental observation and forecasting .Coverage preservation and energy consumption
are two most important issues in wireless sensor networks. To increase the network lifetime, we propose an
energy efficient coverage aware routing protocol for wireless sensor network for randomly deployed sensor
nodes. Some of the routing protocol is based on energy efficiency and some are based on coverage aware.
The proposed routing protocol is based on both the issues i.e. coverage and energy, in which we first find
the k-mean i.e. the degree of coverage, so that we can use this in the selection of cluster heads in wireless
sensor network by using Genetic Algorithm for increasing network lifetime and coverage. For cluster head
selection each node evaluates its k-mean and energy by internal function which used as fitness function in
genetic algorithm. The proposed algorithm “Implementation of energy efficient coverage aware routing
protocol for Wireless Sensor Network” is designed for homogeneous wireless sensor network. Simulations
results show that proposed algorithm increases the network lifetime by reduce the energy consumption and
preserve coverage. Simulation is done with MATLAB and a comparison of algorithm with benchmark
algorithms is also performed.
Network clustering is an important technique used in many large-scale distributed systems. Given good design and implementation, network clustering can significantly enhance the system\'s scalability and efficiency. However, it is very challenging to design a good clustering protocol for networks that scale fast and change continuously. In this paper, we propose a distributed network clustering protocol SDC targeting large-scale decentralized systems. In SDC, clusters are dynamically formed and adjusted based on SCM, a practical clustering accuracy measure. Based on SCM, each node can join or leave a cluster such that the clustering accuracy of the whole network can be improved. A big advantage of SDC is it can recover accurate clusters from node dynamics with very small message overhead. Through extensive simulations, we conclude that SDC is able to discover good quality clusters very efficiently.
ieee projects 2012 for cse in networking trichy, ieee projects 2012 for networking chennai, ieee projects 2012 for cse bangalore, ieee projects 2012 for it hyderabad, ieee projects 2012 for me pune, ieee projects 2012 for mca nagpur, ieee projects 2012 for me cse tirupati, ieee projects for cse 2012 titles cochin, ieee projects for cse 2012 free download mysore, ieee projects for cse 2012 hubli, ieee mini projects for cse 2012 vijayawada
Cenet-- capability enabled networking: towards least-privileged networkingJithu Joseph
In today's IP networks, any host can send packets to any other host irrespective of whether the recipient is interested in communicating with the sender or not. The downside of this openness is that every host is vulnerable to an attack by any other host. We ob- serve that this unrestricted network access (network ambient authority) from compromised systems is also a main reason for data exfiltration attacks within corporate networks. We address this issue using the network version of capability based access control. We bring the idea of capabilities and capability-based access control to the domain of networking. CeNet provides policy driven, fine-grained network level access control enforced in the core of the network (and not at the end-hosts) thereby removing network ambient authority. Thus CeNet is able to limit the scope of spread of an attack from a compromised host to other hosts in the network. We built a capability-enabled SDN network where communication privileges of an endpoint are limited according to its function in the network. Network capabilities can be passed between hosts, thereby allowing a delegation-oriented security policy to be realized. We believe that this base functionality can pave the way for the realization of sophisticated security policies within an enterprise network. Further we built a policy manager that is able to realize Role-Based Access Control (RBAC) policy based network access control using capability operations. We also look at some of the results of formal analysis of capability propagation models in the context of networks.
IMPACT OF PARTIAL DEMAND INCREASE ON THE PERFORMANCE OF IP NETWORKS AND RE-OP...EM Legacy
12th GI/ITG CONFERENCE ON MEASURING, MODELLING AND EVALUATION OF COMPUTER AND COMMUNICATION SYSTEMS 3rd POLISH-GERMAN TELETRAFFIC SYMPOSIUM
PGTS 2004
Eueung Mulyana, Ulrich Killat
OPTIMIZATION OF IP NETWORKS IN VARIOUS HYBRID IGP/MPLS ROUTING SCHEMESEM Legacy
12th GI/ITG CONFERENCE ON MEASURING, MODELLING AND EVALUATION OF COMPUTER AND COMMUNICATION SYSTEMS
3rd POLISH-GERMAN TELETRAFFIC SYMPOSIUM
PGTS 2004
Eueung Mulyana, Ulrich Killat
Network clustering is an important technique used in many large-scale distributed systems. Given good design and implementation, network clustering can significantly enhance the system\'s scalability and efficiency. However, it is very challenging to design a good clustering protocol for networks that scale fast and change continuously. In this paper, we propose a distributed network clustering protocol SDC targeting large-scale decentralized systems. In SDC, clusters are dynamically formed and adjusted based on SCM, a practical clustering accuracy measure. Based on SCM, each node can join or leave a cluster such that the clustering accuracy of the whole network can be improved. A big advantage of SDC is it can recover accurate clusters from node dynamics with very small message overhead. Through extensive simulations, we conclude that SDC is able to discover good quality clusters very efficiently.
ieee projects 2012 for cse in networking trichy, ieee projects 2012 for networking chennai, ieee projects 2012 for cse bangalore, ieee projects 2012 for it hyderabad, ieee projects 2012 for me pune, ieee projects 2012 for mca nagpur, ieee projects 2012 for me cse tirupati, ieee projects for cse 2012 titles cochin, ieee projects for cse 2012 free download mysore, ieee projects for cse 2012 hubli, ieee mini projects for cse 2012 vijayawada
Cenet-- capability enabled networking: towards least-privileged networkingJithu Joseph
In today's IP networks, any host can send packets to any other host irrespective of whether the recipient is interested in communicating with the sender or not. The downside of this openness is that every host is vulnerable to an attack by any other host. We ob- serve that this unrestricted network access (network ambient authority) from compromised systems is also a main reason for data exfiltration attacks within corporate networks. We address this issue using the network version of capability based access control. We bring the idea of capabilities and capability-based access control to the domain of networking. CeNet provides policy driven, fine-grained network level access control enforced in the core of the network (and not at the end-hosts) thereby removing network ambient authority. Thus CeNet is able to limit the scope of spread of an attack from a compromised host to other hosts in the network. We built a capability-enabled SDN network where communication privileges of an endpoint are limited according to its function in the network. Network capabilities can be passed between hosts, thereby allowing a delegation-oriented security policy to be realized. We believe that this base functionality can pave the way for the realization of sophisticated security policies within an enterprise network. Further we built a policy manager that is able to realize Role-Based Access Control (RBAC) policy based network access control using capability operations. We also look at some of the results of formal analysis of capability propagation models in the context of networks.
IMPACT OF PARTIAL DEMAND INCREASE ON THE PERFORMANCE OF IP NETWORKS AND RE-OP...EM Legacy
12th GI/ITG CONFERENCE ON MEASURING, MODELLING AND EVALUATION OF COMPUTER AND COMMUNICATION SYSTEMS 3rd POLISH-GERMAN TELETRAFFIC SYMPOSIUM
PGTS 2004
Eueung Mulyana, Ulrich Killat
OPTIMIZATION OF IP NETWORKS IN VARIOUS HYBRID IGP/MPLS ROUTING SCHEMESEM Legacy
12th GI/ITG CONFERENCE ON MEASURING, MODELLING AND EVALUATION OF COMPUTER AND COMMUNICATION SYSTEMS
3rd POLISH-GERMAN TELETRAFFIC SYMPOSIUM
PGTS 2004
Eueung Mulyana, Ulrich Killat
ILIC Dejan - MSc: Secure Business Computation by using Garbled Circuits in a ...Dejan Ilic
This thesis introduces a web based system for secure evaluation of economic function, named Secure Business Computation (SBC), in the manner suggested by Yao 1982
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
Efficient Planning and Offline Routing Approaches for IP Networks
1. Efficient Planning and Offline Routing Approaches
for IP Networks
Vom Promotionsausschuss der
Technischen Universität Hamburg-Harburg
zur Erlangung des akademischen Grades
Doktor-Ingenieur
genehmigte Dissertation
von
Eueung Mulyana
aus Bandung Indonesia
2006
2. ii
1. Gutachter (referee): Prof. Dr. Ulrich Killat
2. Gutachter (referee): Prof. Dr. Friedrich H. Vogt
Tag der mündlichen Prüfung (date of oral examination): 28.02.2006
3. Acknowledgement
The work presented in this thesis was done during my activity at the Communication
Networks’ Department of the Hamburg University of Technology (TUHH).
I would like to thank my supervisor Prof. Dr. Ulrich Killat for giving me the chance
to work in his department on this interesting topic and for giving me free hand with the
research. Prof. Killat is the person who first got me interested in the problems addressed
in this thesis. Many of his suggestions and criticisms have been of invaluable inspiration
in the progress of this work.
To all colleagues of the department Communication Networks I am very grateful for their
cooperation, support and for many interesting discussions.
Last, but not least, I would like to thank my family: my parents, my wife Ayi, my brothers
and sister and my children. Without their love and support, this thesis would not have been
written.
iii
4. iv
Und auf der Erde sind dicht beieinander Landstriche und Gärten von Weinstöcken, Kornfelder
und Dattelpalmen, die auf Doppel- und auf Einzelstämmen aus einer Wurzel wachsen; sie werden
mit dem selben Wasser getränkt, dennoch lassen Wir die einen von ihnen die anderen an Frucht
übertreffen. Hierin liegen wahrlich Zeichen für ein verständiges Volk (13:4).
Und Er hat das für euch dienstbar gemacht, was in den Himmeln und was auf Erden ist; alles
ist von Ihm. Hierin liegen wahrlich Zeichen für Leute, die nachdenken (45:13).
Untuk orang-orang tercinta:
mamah, ayi, ageung, teteng, wawah dan teteh
shafiyya dan ibrahim
5. Abstract
Historically, planning and optimization of communication networks have always been a
central topic in many research efforts. This also holds for the Internet, which emerges
as the most suitable platform for the current and the future multi-service networks and
which shall be able to handle very complex tasks with regard to service quality, guarantee
and reliability. For this reason, researchers are working in two directions: with or without
fundamental changes in the classical Internet Protocol (IP) networks. Therefore, different
approaches for next generation IP networks are proposed.
This dissertation primarily addresses routing issues in diverse IP networks. Routing is one
of the fundamental aspects in communication networks, assuring that the information to
be exchanged between communicating instances always reaches the correct destination.
It has also a direct impact on service quality and delivery. Proper control on routing can
help network operators to balance traffic load, to preventively avoid congestion and, in
general, to efficiently provision resources in the networks, meeting some performance
requirements while minimizing network’s cost.
The scientific contributions of this dissertation are in the following aspects: we present
several efficient algorithm frameworks for dealing with Traffic Engineering (TE) prob-
lems in diverse IP networks, including the classical and MPLS (Multi-Protocol Label
Switching) enabled IP networks with and without service differentiation. In some cases,
specific issues related to over-provisioning and protection are also addressed. Further-
more, since the nature of IP traffic is very dynamic, we pursue investigation of the im-
pacts of demand changes on routing efficiency. Finally, to incorporate traffic variations
explicitly, several simple traffic uncertainty models are introduced and the corresponding
traffic engineering approach under such uncertain traffic conditions is proposed.
v
7. Kurzfassung
Kommunikationsnetzplanung und Optimierung sind immer ein zentrales Thema bei vie-
len Forschungsaktivitäten. Dies trifft auch auf das Internet zu, das sich den letzten Jahren
als die anerkannte Plattform für derzeitige und zukünftige Mehrdienstnetze entwickelt
hat und als ein Mehrdienstnetz in der Lage sein soll, mit komplexen Aufgaben bezüglich
der Dienstqualität, Garantie und Zuverlässigkeit umzugehen. Über die Frage, ob hierfür
grundsätzliche Änderungen in IP (Internet Protocol) Netzen notwendig wären, sind die
Forscher bisher nicht einig. Daher gibt es unterschiedliche Vorstellungen, wie die nächste
Generation von IP Netzen aussehen soll.
Diese Dissertation behandelt das Routing in unterschiedlichen IP Netzen. Routing ist
eine der Grundfunktionen von Kommunikationsnetzen und gewährleistet das sichere und
Ressourcen-schonende Erreichen des Kommunikationspartners. Ferner hat Routing einen
direkten Einfluss auf die erreichbare Dienstgüte. Optimierte Routingsverfahren kön-
nen unter anderem dazu beitragen, die Netzlast gleichmäßig zu verteilen, Verkehrsstau
präventiv zu vermeiden und im allgemeinen, die Netzressourcen effizient zu verwalten.
Dies sollte einher gehen mit der Etablierung aller gewünschter Verkehrsbeziehungen und
einer Minimierung der entstehenden Netzkosten.
Die wissenschaftliche Beiträge dieser Dissertation liegen in den folgenden Aspekten. Wir
präsentieren effiziente Algorithmen um das sogenannte Traffic Engineering (TE) Problem
in unterschiedlichen IP Netzen zu behandeln. Dies beinhaltet sowohl klassische als auch
MPLS-fähige (Multi-Protocol Label Switching) Netze mit und ohne Dienstunterschei-
dung. In einigen Fällen werden spezielle Themen wie Überdimensionierung und Aus-
fallsicherheit ebenfalls behandelt. Da der IP Verkehr naturgemäß äußerst dynamisch ist,
werden auch die Auswirkungen von Verkehrsänderungen auf die Ressourcennutzung un-
tersucht. Letztlich, um Verkehrschwankungen explizit zu berücksichtigen, werden auch
Modelle für unsichere Verkehrsvoraussagen eingeführt und ensprechende Traffic Engi-
neering Verfahren unter solchen Verkehrsbedingungen untersucht.
vii
11. Contents xi
A Hints for LSP Design under Demand Uncertainty 123
B Acronyms 125
List of Figures 127
List of Tables 131
Bibliography 133
Curriculum Vitae 141
13. List of Publications
1. Eueung Mulyana, Shu Zhang, and Ulrich Killat. Internet Traffic Engineering for
Partially Uncertain Demands. In Proceedings of 19th International Teletraffic Cong-
ress ITC 19, pages 809 - 818, Beijing China, August/September 2005.
2. Eueung Mulyana, Henning Stahlke, and Ulrich Killat. Dimensioning of Multi-
Class Over-Provisioned IP Networks. In Proceedings of 19th International Teletraf-
fic Congress ITC 19, pages 2137-2146, Beijing China, August / September 2005.
3. Eueung Mulyana and Ulrich Killat. Routing Optimization in IP/MPLS Networks
under Per-Class Over-Provisioning Constraints. In Proceedings of the 2nd Inter-
national Network Optimization Conference INOC 2005, pages 551-556, Lisbon
Portugal, March 2005.
4. Eueung Mulyana and Ulrich Killat. Optimizing IP Networks for Uncertain De-
mands Using Outbound Traffic Constraints. In Proceedings of the 2nd International
Network Optimization Conference INOC 2005, pages 695-671, Lisbon Portugal,
March 2005.
5. Eueung Mulyana and Ulrich Killat. Load Balancing in IP Networks by Optimis-
ing LinkWeights. European Transactions on Telecommunications, 16(3):253-261,
May/June 2005.
6. Eueung Mulyana and Ulrich Killat. Optimizing IP Networks in a Hybrid IGP/MPLS
Environment. Annals of Telecommunications, Special Issue on Traffic Engineering
and Routing, 59(11):1373-1388, November/December 2004.
7. Eueung Mulyana and Ulrich Killat. Optimization of IP Networks in Various Hybrid
IGP/MPLS Routing Schemes. In Proceedings of the 3rd Polish-German Teletraffic
Symposium PGTS 2004, pages 295-304, Dresden Germany, September 2004.
8. Eueung Mulyana and Ulrich Killat. Impact of Partial Demand Increase on the Per-
formance of IP Networks and Re-optimization Approaches. In Proceedings of the
3rd Polish-German Teletraffic Symposium PGTS 2004, pages 275-284, Dresden
Germany, September 2004.
xiii
14. xiv Contents
9. Eueung Mulyana and Ulrich Killat. An Offline Hybrid IGP/MPLS Traffic Engi-
neering Approach under LSP constraints. In Proceedings of the 1st International
Network Optimization Conference INOC 2003, pages 416-421, Evry/Paris France,
October 2003.
10. Eueung Mulyana and Ulrich Killat. An Alternative Genetic Algorithm to Optimize
OSPF Weights. In Proceedings of 15-th ITC Specialist Seminar on Internet Traffic
Engineering and Traffic Management, pages 186-192, Wuerzburg Germany, July
2002.
11. Eueung Mulyana and Ulrich Killat. A Hybrid Genetic Algorithm Approach for
OSPF Weight Setting Problem. In Proceedings of the 2nd Polish-German Teletraf-
fic Symposium PGTS 2002, pages 39-46, Gdansk Poland, September 2002.
15. Chapter 1
Introduction
In recent years, the Internet has evolved to the most dominant communication network
carrying diverse applications including those, which are traditionally served by dedicated
networks, such as voice and video services. Such different applications certainly require
different levels of Quality of Service(QoS), on which the early IP networks1
unfortunately
were not focused. The Internet was not designed to guarantee a particular degree of
performance but it was created with best effort service in mind where connectivity was
the most important issue [QPS+
03].
For these reasons, the Internet has continuously been a topic of research and has been
enhanced accordingly. Today, to a certain extent, the Internet has proven its important
role in providing efficient data-centric and multi-service applications, so that it is be-
lieved to be the underlying platform for future communication networks, the Next Gen-
eration Networks(NGNs) [ALM+
01]. Generally, when dealing with performance issues,
the corresponding research is termed Traffic Engineering (TE), which is basically com-
posed of two aspects: (i) performance evaluation, which encompasses the application of
technology and scientific principles to the measurement, characterization and modeling
of (Internet) traffic; and (ii) performance enhancement and optimization, which covers
the issues of controlling traffic according to performance requirements, while utilizing
network resources economically and reliably [ACWX02].
The optimization aspects can be achieved though capacity management and traffic man-
agement. The first includes routing control and network resource dimensioning (e.g.
bandwidth, buffer and computational resources). The last includes: nodal traffic control
functions such as admission control, traffic conditioning, queue management, scheduling;
and other functions that regulate traffic flow through the network or that arbitrate ac-
cess to network resources between different packets or between different traffic streams.
Furthermore, these optimization aspects can also be viewed from a control perspective:
1
IP stands for Internet Protocol, the network layer protocol on which the Internet is based
1
16. 2 Chapter 1: Introduction
preventive (offline) vs. reactive (online). In the first case, the traffic engineering control
system takes preventive action to obviate predicted unfavorable future network states. In
the second case, the control system responds correctively and adaptively to events that
have already transpired in the network [ACWX02].
This dissertation addresses planning and management issues in IP networks. Specific
focus is put on routing, which is one of the most significant functions that have to be
performed by the Internet to fulfill its basic task: proper information exchange between
communicating nodes. Thus, here the term "Traffic Engineering" is always referred to as
"routing control". As such a control function can operate at different levels of temporal
resolution, ranging from short (e.g. miliseconds) to intermediate (e.g. days or weeks)
level, we limit the scope of this dissertation to the latter case i.e. to medium-term, or
even to long-term2
, control activities, where the corresponding computation is performed
offline. The challenge of research in this area is to control and to steer traffic through the
network in the most effective way while satisfying some requirements (e.g. performance,
minimization of cost).
1.1 Contributions
Today’s IP networks are diverse, in the sense that many network operators apply differ-
ent instruments in order to meet QoS and other requirements in their networks. Thus,
traffic engineering is sometimes unique for each type of network. This dissertation is
mainly concerned with offline routing control in diverse IP networks. The notion "diverse
IP networks" refers to networks with different routing technologies such as the classical
Interior Gateway Protocols (IGPs)3
, Multi-Protocol Label Switching (MPLS) or hybrid
IGP/MPLS4
. Our contributions are primarily in the aspects outlined in the following Sub-
sections 1.1.1 through 1.1.3.
1.1.1 Traffic Engineering
At first, we propose a novel hybrid Genetic Algorithm (GA) to deal with the trafic engi-
neering problem in the classical IP networks. The algorithm combines a population-based
search capability in GA with a simple individual-based search heuristic, that simulates the
behavior of network’s administrators when they try to reroute traffic on/to a certain link.
The work in this area has been published in [MK02a], [MK02b] and [MK05a].
Afterwards, a traffic engineering approach for several transitional IP networks is pre-
2
We will discuss different time-scales for network planning and management in Chapter 2.
3
In this dissertation, the terms "classical IP networks" and "IGP networks" are used synonymously.
4
Hybrid IGP/MPLS networks will also be called as transitional IP networks.
17. 1.2: Outline 3
sented. The basic idea was to establish a few explicit routing paths by making use of
MPLS, instead of changing link-metric values as in pure IGP networks. Some results
for and the comparison between various hybrid IGP/MPLS schemes are also given. This
work has been reported in [MK03], [MK04b] and [MK04c].
At last, we investigate the impact of partial (non-linear) demand increase and develop a
methodology to decide when and how reoptimization should be performed. Two methods
for reoptimization based on local search frameworks are suggested. The work is published
in [MK04a].
1.1.2 Multi-Class IP/MPLS Networks
Routing in multi-class IP/MPLS networks is much more flexible than in a pure IGP net-
work: (i) routing can be implemented on a per service-class basis; and (ii) both shortest
path and source routing are possible to be deployed. In this regard, we propose an offline
traffic engineering approach for the problem of per-class unsplittable routing in IP/MPLS
networks to specifically address per-class over-provisioning requirements. Such per-class
over-provisioning is a simple, practical and less expensive means for providing QoS. Fur-
thermore, we also consider the problem of dimensioning of such a network under sev-
eral different routing schemes. Novel mathematical formulations and the some heuristic
frameworks for solving these problems are also given. This work is reported in parts in
[MK05c] and [MSK05].
1.1.3 Demand Uncertainty
To obtain accurate demand information between node-pairs in a network is becoming
more and more difficult, particularly as the network size grows. In such a situation, tak-
ing traffic variations explicitly into account when making routing decisions, may provide
a better performance predictability. In this regard, we propose: (i) several simple traffic
uncertainty models based on information of outgoing/incoming traffic from/to each node
in a network; (ii) a flexible traffic model, addressing a situation where demands are com-
posed of both fixed and uncertain parts. The corresponding approach for routing control
under such demand conditions is also presented. This work has been published in parts in
[MK05b] and [MZK05].
1.2 Outline
This dissertation is structured as follows.
18. 4 Chapter 1: Introduction
Chapter 2 describes some fundamental notions for network planning and reviews the op-
timization approaches, focusing on those, which are intensively used for solving the prob-
lems in the subsequent chapters. It first addresses the basic terminology of networks and
network planning. Then, it discusses several optimization approaches, covering linear
programming and some heuristic frameworks.
In Chapter 3, we present a compact overview of routing in IP networks. This embraces the
classical hop-by-hop destination based shortest path routing, routing via label switching in
MPLS enabled IP networks, and also the more flexible class-based routing in IP networks
applying MPLS and service differentiation.
Chapter 4 reveals our novel approach for solving the problem of traffic engineering in clas-
sical and transitional IP Networks. The latter is referred to as combined routing scheme
in classical IP networks, where some nodes are MPLS enabled. Furthermore, this chapter
also discusses the impact of partial demand increase on network utilization and presents
a simple policy and two reoptimization approaches to deal with the issue.
Chapter 5 deals with the problem of offline routing control and with the joint problem of
routing and dimensioning for multi-class IP/MPLS networks. In all problems, we partic-
ularly emphasize over-provisioning constraints, since they are of paramount importance
for providing a good quality of service in the network. Moreover, the resilience aspect
is also considered, by simultaneously planning backup paths for routing under network
failures.
Chapter 6 is devoted to routing optimization under demand uncertainty. At first, the cor-
responding demand models are introduced, the impact on link occupancy is explained
and the corresponding link load calculation is derived. At last, we also introduce the con-
cept of partially uncertain demands to address a situation where traffic is composed of
both fixed and uncertain parts, providing flexibility to deal with common practical cases,
where only a subset of the necessary information can precisely be determined.
Chapter 7 gives a summary of this dissertation and points out some directions for futher
research.
19. Chapter 2
Network Planning and Optimization
This chapter is devoted to the introduction of some basic issues related to network plan-
ning and optimization. We first review some fundamental notions which are intensively
used throughout this dissertation. Afterwards, a general network planning and manage-
ment framework is presented, providing a clear view to the role of the specific problems
addressed in the following chapters. In the last section, we discuss several optimization
approaches and especially focus on those being used for solving the problems presented
in this thesis.
2.1 Terminology
A communication network consists of equipment interconnected by transmission media,
allowing communication entities (users) to exchange information, which may be voice,
graphics, video or data. A public communication network connects a large collection of
users, that are typically distributed over different geographical locations. The telephone
network is probably the most historical example of a such public network, that exists
since several decades. In recent years, the global computer network (i.e. the Internet)
plays an increasing role and has become a standard platform for the current and future
multi-media communication. From a functional point of view, networks can be subdi-
vided into access and backbone(core) networks. Access networks are connected directly
to customers, while a backbone network joins all access networks together. As our fo-
cus is on backbone networks only, in this dissertation the term "network" always means
"backbone network".
A communication network is an object with a certain structure (often called network
topology) and with a set of attributes. The topology can be viewed as a graph which
consists of nodes connected by links. The attributes describe the network’s status and its
5
20. 6 Chapter 2: Network Planning and Optimization
PSTNIP ATM
Fibers/Cables/Ducts
IP
Optical Layer (e.g. WDM)
Transport Layer (e.g.SDH)
Figure 2.1: An example of multi-layer network architecture
specific configuration e.g. link capacities or routing parameters. A communication net-
work carries communication traffic from ingress (source) to egress (destination) nodes.
This traffic can be thought of as an aggregation of individual customers’ traffic, which is
connected to a common pair of ingress and egress nodes. Since for cost and efficiency
reasons, a network does not always provide a point-to-point physical connection between
node pairs, the network resources have to be shared for all traffic in the network. These
resources may be given in terms of transport bandwidth on the links, switching capacity
or forwarding resources at the nodes.
Traffic demands for a whole network can be pictured as a traffic matrix, in which each
element of the matrix specifies the traffic volume between any two nodes in that network.
In order to fulfil these demands, the corresponding traffic has to be routed through one
or more paths connecting the ingress and egress nodes. The amount of traffic associated
with a route can be thought of as a flow. It is obviously clear, that for the purpose of traffic
routing there shall be sufficient resources available in the network. Therefore, the need
for network planning and management is becoming apparent, since network resources are
limited and correspond directly to factors such as investment or operational cost.
Apart from the functionality to exchange information, communication networks may
completely differ from each other. Differences can exist, for instance, in communica-
tion protocols and thus in nodal equipment and transmission technology. Moreover, due
to the use of digital technology, it is common that a network is working on the top of
another. Figure 2.1 gives such a multi-layer architecture1
. It shows among other things,
1
The notion "Transport Layer" in the figure is not to be confused with OSI Transport Layer. Here, it
is used for the context of general networking i.e. for carrying services with lower data-rates (usually) over
long distances.
21. 2.2: Network Planning and Management 7
that IP networks can make use of either ATM (Asynchronous Transfer Mode) or directly
SDH (Synchronous Digital Hierarchy) networks. SDH networks in turn can use WDM
(Wavelength Division Multiplexing) networks to deliver services2
. A similar layering ar-
chitecture can also be deployed for the PSTN (Public Switched Telephone Network). In
regard to this multi-layer architecture, it is useful to distinguish two types of networks: (i)
traffic networks, where demands are stochastic in nature (e.g. packet, voice or high speed
on-demand circuit); they have also the switching/routing capability to handle short-lived
requests on-demand; and (ii) transport networks, which provide high-data rate services
that are required to be set up on a semi-permanent or permanent basis. Note that in such a
multi-layer architecture, each layer has its own definition of traffic, link capacity and node
functionality [PM04]. This dissertation is dealing with planning and management issues
in IP networks, which can be categorized as traffic networks. For dimensioning problems,
as those to be addressed in Chapter 5, we also need to consider the underlying transport
network, since transport granularities are different from one type of transport network to
another.
2.2 Network Planning and Management
Network Planning and Management (NPM) addresses all activities related to the network
development and evolution. There are basically three NPM activities, which correspond
to different time-scales [PM04]3
:
• long-term (months to years) activities to design or extend the network in order to
meet demands and requirements for a long period of time. These include for exam-
ple: topology design, node and link dimensioning, capacity expansion, routing and
resilience planning.
• medium-term (days to weeks) activities, which cover a list of actions to achieve the
convergence towards the established long-term plans. Routing control (offline) can
also be seen as a medium-term activity, at which routing is reconfigured to meet
service requirements or to obtain a better network usage.
• short-term (real-time to hours) activities, which incorporate real-time operations
such as packet level operations (marking, scheduling, policing, buffer manage-
ment), restoration or online routing control.
Figure 2.2 shows a generic interaction model for the NPM activities both for traffic and
transport networks. Long and medium-term NPM activities consider the current and fore-
2
We refer to [Tan03] for a comprehensive overview of these different types of networks.
3
Different and coarser time granularities can also be used, in particular when planning focuses on trans-
port networks as in [Rob99] and [DDT+
00].
22. 8 Chapter 2: Network Planning and Optimization
and Resource Management
Long−Term Activities
Medium−Term Activities Short−Term Activities
Routing Update Various
Controls
Topology
Forecast,
Capacity Change
Marketing Input
(e.g. new Customers)
Traffic
Data
(Statistics)
Traffic
Data
(Statistics)
Network
e.g. Network Design
e.g. (Near)Real Time Traffice.g. Offline Resource
Management
Figure 2.2: A generic model for Network Planning and Management
cast information regarding customers, services and other strategical issues. The outcomes
of the process are dependent on particular details of the activities. These can be a topo-
logical change, link capacity upgrades, routing updates or even a complete new network
design. For operational networks, current network status and traffic information are also
considered by all NPM activities. They may possibly trigger a new management action
e.g.: (i) if the current situation deviates significantly from the forecast in the case of long
and medium term activities; or (ii) if a specific event such as congestion occurs in the case
of short term management activities.
The issues addressed in this work are mainly related to long and medium-term NPM
activities in IP Networks. The first issue is about offline traffic engineering, which can
be viewed as a medium-term management problem, in order to balance traffic, to avoid
congestion or in general to efficiently provision network’s links for providing a desired
QoS level. In this context, the network has to satisfy the current transmission demands
with the already installed capacities without additional capital investment. The second
issue is about network dimensioning problem, which is usually handled as a long-term
NPM activity. For these reasons, if it is not stated explicitly, in this dissertation we use
23. 2.3: Optimization Approaches 9
the term "planning and management" for the context of long and medium-term activities.
Each NPM activity is carried out in order to achieve certain objectives and fulfill some
requirements. Generally, these objectives and requirements can be in the form of either
efficiency/performance measures or network’s cost. For long-term activities, the former
is usually taken as requirements and the latter as objectives. For medium-term activities,
where no new capital investment is expected, the former is also used as objective. In
large network planning and design, networks have two types of cost: (i) CAPital EXpen-
diture (CAPEX); and (ii) OPerational EXpenditure (OPEX). CAPEX refers to cost that
is primarily due to installation of capacity and equipment in the network while OPEX
refers to cost incurred due to operational needs of the network. Many design problems
are considered under either one or the other category. A network designer might devise a
slick solution that can decrease CAPEX, but on the other hand, can increase OPEX due
to implementation complexity. In fact, there have been many cases where solutions that
save CAPEX never made it to implementation in actual networks, simply because they
are too complicated to be deployed [PM04].
2.3 Optimization Approaches
In the area of Operations Research (OR), optimization is defined as a discipline which
is concerned with finding the maxima and minima of (objective) functions of many vari-
ables, possibly subject to some constraints. The respresentation of an optimization prob-
lem is often called as mathematical program. If the objective is a linear function, and the
constraints are linear equalities or inequalities, the corresponding mathematical program
is called Linear Program (LP)4
.
Most of planning and management problems in communication networks can be de-
scribed by multi-commodity flow models and mathematically formulated by linear or
non-linear systems. The term multi-commodity comes from the fact that there are multi-
ple demands (or commodities) that need to be routed in the network simultaneously and
they compete for available resources (e.g. link capacities). Multi-commodity network
flow problems are frequently pure LP problems as long as, roughly speaking, the objec-
tive function is linear and bifurcated flows are allowed as independent decision variables.
Such pure LP problems in most cases can be effectively solved to optimality using the
well known simplex algorithm.
Unfortunately, many NPM problems are not pure LP problems, since (some) binary/ in-
tegral variables are necessary to be included in the formulation due to technological or
other restrictions. Solving such problems is far from trivial, and usually we can expect
4
Sometimes we also use the acronym LP for Linear Programming.
24. 10 Chapter 2: Network Planning and Optimization
with great likehood that the problems are NP-complete5
and intrinsically can not be solved
in an exact way in a reasonable time for large networks. In other words, in these cases,
optimal solutions are frequently unreachable and one might use approximations to obtain
good, but not necessarily optimal, solutions. Such solution procedures are called heuris-
tic methods or simply heuristics. General heuristics that can be applied to many different
problems are called meta-heuristics. They are basically high level concepts for exploring
solution spaces by using certain strategies, which are often non-deterministic (random-
triggered). Furthermore, a heuristic that always takes the best immediate or local solution
while solving a problem is called greedy heuristic. Such a heuristic is usually problem
specific.
In this dissertation, heuristics are also used for cases where a problem can not be expressed
as a linear program. This would generally mean that: (i) either such a problem is difficult
to be expressed as a mathematical program; or (ii) the resulting formulation is non-linear.
In the following subsections, we will discuss some of these approaches in more details.
Special focus is put on those, which will be intensively used for solving the problems
considered in Chapters 4, 5 and 6.
2.3.1 Linear Programming
As stated earlier, a linear program is a mathematical model, in which the aim is to find a
set of non-negative values for the unknowns or variables which maximize or minimize a
linear equation or objective function, whilst satisfying a system of linear constraints. A
linear program in which some, but not all, of the variables are required to be integers, is
called a Mixed Integer Linear Program (MILP). If it is required that all the variables are
integers, the corresponding linear program is called Integer Linear Program (ILP). For
minimization problems, a linear program6
can be expressed as follows:
minimize z = j cjxj (2.1)
j aijxj ≤ bi, ∀i ∈ [1, m] (2.2)
xj ∈ R+
, ∀j ∈ [1, n]
where xj is the j-th decision variable, cj cost coefficient of variable j, aij coefficient for
variable j in constraint i, and bi right hand side of constraint i. An IP or a MIP can be
5
In complexity theory, the NP-complete problems are the most difficult problems in the complexity
class NP (Non-deterministic Polynomial), in the sense that they are the ones most likely not to be in the
complexity class P (Polynomial). A common and reasonably accurate assumption in complexity theory is
that "P" means "easy" and "not in P" means "hard". We refer to [Mar99], [PM04], [BG00] and [WIK05b]
for formal definitions and further details of the complexity classes.
6
Depending on the context, the notion "LP" is used both to point: (i) to the class of linear program,
which includes MILP and ILP; and also (ii) to the pure linear program i.e. without integrality constraints.
25. 2.3: Optimization Approaches 11
obtained by constraining all or a certain set of xj to be in Z+
. Each set of xj values for
all values of j that is compliant with the constraints, is called a feasible solution. The
optimal solution is the feasible solution that minimizes the objective function.
Pure LP problems can be solved using the famous simplex algorithm. The set of all fea-
sible solutions to a given LP problem is a convex polytope7
formed by the intersection of
hyperplanes8
, which are defined by the constraint equations. If a unique solution exists
it is at a vertex of the polytope. To avoid labourous investigation of an excessive num-
ber of vertices the simplex method provides a systematic computing scheme progressing
from vertex to vertex in a direction of improving the objective function. Another popular
solving method for LP problems, known as Interior Point Method (IPM), was introduced
since the simplex method suffers from the exponential worst case behavior. However, for
most practical applications, the simplex approach is proven to be very efficient.
Infeasible or Integer?
no
Bounding
Initialize;
Mark the node as inactive;
yes
Are there still active nodes?
Choose an active node;
Mark the node as inactive;
END
Solve LP on these nodes;
Branching(create 2 active nodes);
no
no
yes
yes
Solve LP relaxation of root node;
Infeasible or Integer?
Figure 2.3: The Branch and Bound algo-
rithm
INFEA
z = −14
(2 ; 2)
INT
z = −13.5
(1.5 ; 3)
FRAC
x <= 31
x >= 41
x <= 12 x >= 22
x <= 21
x >= 31
x <= 22 x >= 32
A
B C
D E
F G
IH
z = −16.5
(3.5 ; 1.5)
FRAC
INFEA
z = −16
FRAC
(3 ; 1.75)
z = −13
(3 ; 1)
INT
z = −15.5
FRAC
(2.5 ; 2)
(2 ; 2.25)
FRAC
z = −15
Figure 2.4: An example of BB-tree
The standard algorithm for solving ILP and MILP problems is Branch and Bound (BB),
which is basically a technique to speed up enumeration in a search tree. As indicated by
7
A polytope can be thought of as the generalization to any dimension of polygon in two dimensions.
8
A hyperplane is an N-dimensional analogy of (two-dimensional) plane in (three-dimensional) space
and divides the N + 1 dimensional space into two half-spaces.
26. 12 Chapter 2: Network Planning and Optimization
its name, two fundamental operations in BB are: (i) branching i.e. the process and the
strategy of creating two child subproblems from a parent problem; and (ii) bounding i.e.
the process to get upper and lower bounds within a feasible subproblem. As an effect
of branching, instead of solving the "difficult" parent problem, we try to solve a set of
"easier" child subproblems. Futhermore, with the help of the established bounds, some of
the child subproblems can be discarded. Lower bounds9
can be found e.g. by relaxation
techniques. The LP relaxation of an ILP or a MILP is the linear program obtained by: (i)
considering the same objective function; (ii) considering the same constraints; and (iii)
relaxing the integrality property of the variables. The optimal value of the LP relaxation
is the lower bound of the optimal value of the original ILP or MILP problem. Thus, if the
optimal solution of the LP relaxation is compliant with the integrality constraints , it is
also the optimal solution of the original ILP or MILP problem.
Figure 2.3 depicts the branch and bound algorithm. It will be explained by making use of
a BB-tree (as shown in Figure 2.4) for the following problem:
minimize z = −3x1 − 4x2
subject to 2x1 + 4x2 ≤ 13
−2x1 + x2 ≤ 2
2x1 + 2x2 ≥ 1
6x1 − 4x2 ≤ 15
xj ∈ Z+
, ∀j ∈ {1, 2}
At the beginning, the root node10
is defined and solved (e.g. by using the simplex al-
gorithm). Since, as indicated by node A in Figure 2.4, the solution is fractional, i.e.
(x1 = 3.5; x2 = 1.5), the algorithm will continue with branching. Suppose that we do
branching on variable x1 as shown in the figure, forming nodes B and C. Node C is in-
feasible, while node B is fractional. Thus, node B is further processed. Since an integer
solution is not yet found so far, the bounding procedure is not performed and the process
is continued with branching. The results are nodes D and E. Now, node D is integer and
used as temporary upper bound (best solution). Node E is fractional and processed by
the bounding procedure. In this case the lower bound at E (z = −15.5) is better than
the current upper bound (z = −13). So it will again do branching, which yields nodes F
and G. Node G is infeasible and node F is fractional with z = −15 which is still better
than the upper bound. Branching at F results in nodes H and I. Node H is integer, which
is better than the current upper bound. Thus it is adopted as the temporary upper bound
value. Node I is fractional with z = −13.5 which is worse than the current upper bound
with z = −14. Hence, it will be discarded. Since there are no more active nodes, the
algorithm terminates and the temporary best solution is becoming the final solution of the
problem.
9
As from now, if it is not explicitly stated, it is always assume that we consider minimization problems.
10
Note that a node in terminology of BB represents a subproblem, except the root node which represents
the original LP relaxation problem.
27. 2.3: Optimization Approaches 13
Convex Hull
2
x1
LP Relaxation
x
Figure 2.5: An illustration of feasible regions: LP relaxation vs. convex hull
Although the branch and bound approach can considerably reduce the number of sub-
problems to be evaluated, the remaining number will often still be so large that it heavily
reduces the size of the problems that can be handled. The efficiency of BB depends on
the quality of the lower bounds obtained by solving node problems of the BB-tree. If
these bounds are close to the optimal integer solution then we can expect that the majority
of the nodes will never be visited as most of the BB-tree branches will not be entered.
Therefore, it may happen that it is advantageous to spend more time in a node and try to
find a better lower bound than the one resulting from simple LP relaxation [PM04]. This
is the basic idea behind an enhancement of BB technique called Branch and Cut (BC).
The basic way to achieve better lower bounds is to construct valid inequalities in the
BB-tree nodes. Such inequalities are generated and inserted to problems, on top of the
standard constraints. The idea is to exploit the integrality of variables in order to produce
inequalities that are valid for all integral solutions and at the same time remove parts
of the polytope which contains non-integral optimal solutions. It is also desirable that
such inequalities define the faces (facets)11
of the convex hull12
of the solution set for the
original problem. For clarity, Figure 2.5 shows the depiction of the feasible regions of an
LP relaxation and of a convex hull of the non-relaxed problem. If we can find a set of
valid inequalities defining the convex hull of a problem, the corresponding problem can
be solved easily since the solution of an LP for the transformed problem will always be a
feasible solution of the original MILP/ILP problem.
For solving the problems addressed in this dissertation, insofar LP, MILP or ILP are con-
cerned, a commercial solver tool called CPLEX [CPL01] is used. For MILP and ILP
11
A facet is a part of a hyperplane, forming a boundary for a polytope.
12
A convex hull is the smallest polytope containing all feasible solutions of the non-relaxed version of a
problem.
28. 14 Chapter 2: Network Planning and Optimization
problems, it exploits a (type of) branch and cut algorithm. Since it is a general solver, the
cuts (i.e. valid inequalities) added to the model are also very general (we refer to [CPL01]
for the details) i.e. CPLEX does not exploit specific structures of the considered problem.
There are currently many publications addressing the issue of performing specific cuts for
specific problems. However, such an approach is beyond the scope of this dissertation.
2.3.2 Greedy Heuristics
Greedy Algorithm for Routing Problem
for all demands d ∈ D do
determine all possible routes Rd;
for all possible route r ∈ Rd do
calculate incremental cost for assignment d to r;
end for
select route r with the lowest cost;
establish demand d on the chosen route r;
end for
Figure 2.6: A greedy algorithm for routing problem
Greedy heuristics are simple and straightforward. They are called "greedy", in the sense
that in each algorithm step they take decisions on the basis of information at hand without
regard for future consequences. In other words, in each phase the algorithms decide for
a local optimum in the hope that at the end they reach a near if not a global optimal so-
lution. The main benefit of such algorithms is, that they can construct a feasible solution
very fast. Figure 2.6 gives an example of a greedy algorithm for solving network’s routing
problem, in order to minimize a certain cost parameter. It basically tries for each elemen-
tary demand d to assign a route r, which is optimal at the time the allocation is done (i.e.
locally optimal). Surely, with this allocation strategy, an end result is very much depen-
dent on the sequence, in which the demand pool D is processed. And by using such a
mechanism (as a part) in our optimization procedure, we essentially transform our prob-
lems to sequential ordering problems (SOPs). The effectiveness of such an approach has
been previously investigated for example in [Bec01].
2.3.3 Plain Local Search
Local search is a meta-heuristic search algorithm, which is based on the concept of neigh-
borhood. A neighborhood of a solution vector x is a set of solutions that are in some
sense close to x, for example because they can be easily computed from x or because they
29. 2.3: Optimization Approaches 15
Plain Local Search PLS−1
x∗
← xo;
while (not stopCriteria) do
x ← move(x∗
);
evaluate(x );
if(x better than x∗
) x∗
← x ;
end while
C
*
D
x (A)
x (C)*
x (B)*
B Neighborhood
Neighborhood
Neighborhood
of
of
of
A
Figure 2.7: A general Plain Local Search PLS−1 framework
Plain Local Search PLS−2
x∗
← xo;
while (not stopCriteria) do
x ← move(xo);
evaluate(x );
if(x better than x∗
) x∗
← x ;
end while
Neighborhood of
*x (A) = xo
B
C
D
EA
Figure 2.8: A general Plain Local Search PLS−2 framework
share a significant amount of structure with x. For example in many combinatorial opti-
mization problems, solutions can be represented as sequences or vectors. These solution
representations enable the use of p−exchange neighborhoods i.e. neigborhoods that are
obtained by exchanging p elements in a given sequence or vector [AL03].
The basic principle underlying local search is to start from an initial candidate solution
xo and then, iteratively, make moves from one candidate solution to another candidate
solution from its direct neighborhood (x ). This is illustrated in Figure 2.7. Let the best
temporary solution be denoted by x∗
. At each iteration a move operator is called, to pick a
neighbor x around x∗
. If the neighbor x is better than x∗
, x will be adopted as the new x∗
;
otherwise the algorithm proceeds with another move action. The "walk" in the solution
space is visualized in Figure 2.7 right. Point A represents the initial solution xo, which
is also the initial best solution x∗
(denoted by x∗
(A)). The circle around A illustrates
the neighborhood around x∗
(A). The algorithm performs a move operation (indicated by
an arrow) to point B which is a neighbor of A and better than x∗
(A). At point B, the
corresponding neighborhood is also searched to find better solutions than x∗
(B), which is
for example the point C. The search process is continued till the predefined stop criteria
are satisfied.
The above explained local search algorithm will be referred to as Plain Local Search PLS-
1, in order to distinguish it from a slightly different variant named PLS-2. Sometimes
30. 16 Chapter 2: Network Planning and Optimization
1st Neighborhood
3rd Neighborhood
*x (A) = xo
2nd Neighborhood
B
C A
E
D
F
of
Figure 2.9: An example for a variable neighborhood structure applied to PLS−2
we want to find solutions which still have significant similarities with the given initial
solution. In this case, we can concentrate searching on neighborhoods around a static
solution point. Such local search algorithm and an example of moving paths in a single
neighborhood are displayed in Figure 2.8.
In order to increase the chance to escape from local optima, sometimes it is worth to de-
ploy a variable neighborhood structure. Let Λ be a set of numbers, where each p ∈ Λ
is representing the number of different elements of the current solution x and a neigh-
bor x in the neighbourhood structure Hp. Figure 2.9 shows an example for a variable
neighborhood structure around a static solution point (PLS-2) with three different types
of neighborhoods. The search can be configured in such a way, that smaller neighbor-
hoods are explored first and a larger neighborhood is chosen if the the previous smaller
neighborhood is completely13
explored. Thus, Hp can be characterized by the following
function:
Y(x, x ) = j Yj(x, x ) = p ∀x ∈ Hp(x) (2.3)
where
Yj(x, x ) =
1 if the j-th element of x is not equal than that of x
0 else
(2.4)
Hp(x) ∩ Hq(x) = ∅, ∀p = q ∈ Λ (2.5)
13
In fact, due to the huge number of possible solutions, we do not perform exhaustive search in a neigh-
borhood. Instead, we define a criterion, for which it can be assumed that a neighborhood is completely
explored.
31. 2.3: Optimization Approaches 17
Simulated Annealing
x∗
← xo; x ← xo; T ← To;
while (not stopCriteria) do
while (not equilibrium(T)) do
x ← move(x);
evaluate(x );
p ← computeProbability(T, x , x);
if(accept(x , p)) x ← x ;
if(x better than x∗
) x∗
← x;
end while
T ← update(T);
end while
F
Neighborhood
A
of
xo
xo
Solution Space
B
C
D
E
G
Figure 2.10: A general Simulated Annealing framework
The property (2.5) is necessary in order not to explore again the previously searched
neighborhoods. The concept of variable neighborhood as discussed above, is universal
and can be applied to all meta-heuristics based on local search framework. This includes
the PLS−1 or simulated annealing, which will be addressed in the next subsection.
2.3.4 Simulated Annealing
Simulated Annealing (SA) was invented in 1983 by Kirkpatrick, Gellat and Vecchi, in-
spired by the physical process of cooling down a material in a heat bath i.e. a process
known as annealing. It belongs to the oldest meta-heuristics and is one of the first algo-
rithms which had an explicit strategy to avoid local optima by allowing moves towards
less performing solutions with a certain probability, which is a function of the parame-
ter called temperature. The probability of doing such a move is decreasing during the
search. Here we focus on a general SA framework as displayed in Figure 2.10. Similar
to the plain local search approach, in each iteration step a move operator is called to pick
a neighbor x around the current solution x. But here we explicitly distinguish between x
and the temporary best solution x∗
, since as stated earlier, the solution x is also allowed
to move to less performing solutions. After evaluating x and computing the acceptance
probability p, it will be checked whether x is accepted and whether x∗
needs to be up-
dated. The temperature is decreased each time the equilibrium for the current temperature
is reached. The search process is terminated if the system is frozen i.e. all stopping cri-
teria are satisfied. If ψ(x) represents the objective value of the solution x and T denotes
the parameter temperature, the acceptance probability for minimization problems can be
32. 18 Chapter 2: Network Planning and Optimization
expressed as follows:
p =
1 if ψ(x ) < ψ(x)
exp(−ψ(x )−ψ(x)
T
) if ψ(x ) ≥ ψ(x)
(2.6)
It simply says that: (i) if the neigbor x is better than the current solution x (i.e. ψ(x ) <
ψ(x)), then x will be updated by x ; (ii) if the neighbor is worse than the current solution,
x can still be accepted as x with the probability p; and (iii) the lower the temperature
(i.e. the longer the algorithm’s running time) and the worse the quality of the neighbor,
the lower the value of p. An abstract visualization for the moving path in the solution
space for simulated annealing is depicted in Figure 2.10 right. Two paths are available in
the figure, indicating the moving path for the temporary current solution x (i.e. the path
A-B-C-D-E-F-G) and that for the temporary best solution x∗
(i.e. the path A-D-F). As
can be seen in the Figure, during the search, x can leave the best temporary solution x∗
and not find it again.
Temperature
The starting temperature T shall enable that in the beginning nearly all perturbations are
accepted. In practice, T can be chosen as the objective value of the initial solution i.e.:
To = ψ(xo) (2.7)
A cooling schedule (updating rule) for the temperature could be in the form of:
Tk+1 = γ · Tk (2.8)
where Tk is the current temperature, Tk+1 is the temperature of the next iteration and
γ is a decreasing factor less than 1. At the end, T should be so small that only a very
small number of perturbations is accepted i.e. almost only improving solutions should be
accepted.
Equilibrium and Frozen State
Equilibrium and frozen state can be defined according to some parameters. The easiest
way is by using a simple and general criterion such as a predefined number of iterations.
Note that the equilibrium state is measured only for a constant temperature value, while
the frozen state for the whole process. Several other parameters can also be used in
combination with a maximum number of iterations e.g.: (i) if ψ(x∗
) is not improved at
least % after K1 iterations; or (ii) if the number of accepted moves is less than % of
the last K2 iterations (recall that a move will be accepted on a random basis depending
on the probability value p). Furthermore, for the frozen state we could also look at the
temperature value e.g. when the temperature gets below a predefined constant Tmin the
system is assumed to be frozen.
33. 2.3: Optimization Approaches 19
2.3.5 Genetic Algorithms
no
Regeneration
Crossover
Mutation
Parents Selection
Initialize Population
Stop Criteria fulfilled ?
END
yes
Survivors Selection
Figure 2.11: A general Genetic Algo-
rithm framework
(best 50 chromosomes)
00
0000
11
1111
00
0000
11
1111
50 Chromosomes
Population
Population
Selection
(remove 10%)
45 Chromosomes
Selection (parents)
10 Chromosomes
Offsprings
10 Chromosomes
Selection
Population
55 Chromosomes
Crossover
Mutation
Figure 2.12: An example of population dy-
namics
Genetic Algorithms (GAs) were introduced by Holland in 1975, inspired by nature’s capa-
bility to evolve individuals influenced by adaptation to the environment. In the optimiza-
tion context, genetic algorithms use the concepts from population genetics and evolution
theory in order to optimize the fitness of a population of individuals through recombi-
nation (crossover) and mutation of their genes. Figure 2.11 shows a block diagram of a
common GA implementation. At first, a solution in the problem domain has to be ap-
propriately encoded and transformed to a chromosome14
in GA domain. The encoding
mechanism is usually problem specific i.e. it depends much on the problem under con-
sideration. At the beginning of the algorithm, the population has to be initialized i.e.
some individuals or chromosomes have to be generated randomly or according to a cer-
tain rule. After this, the evolution phase is taking place. The evolution consists of some
mechanisms to perform selection and to form new individuals using genetic operators
called crossover and mutation. Generally, crossover is intended to exploit the structure
present in the available (good performing) individuals, while mutation is used to increase
the capability to explore the solution space without getting stuck in local optima. Both
of these genetic operators aim at producing some (hopefully) better individuals for the
next iteration. The least successful individuals (according to their fitness parameter) from
the previous iteration will naturally be removed and then be substituted by the new ones.
Applying the described processes in many iterations we continously improve the average
quality of the solutions until the predefined stopping criteria are met. As in PLS and SA
14
Throughout this dissertation we use the terms "chromosome" and "individual" interchangeably.
34. 20 Chapter 2: Network Planning and Optimization
frameworks, the stopping criteria can be derived from the standard parameters: the maxi-
mum number of iterations, the improvement status of ψ(x∗
) or their combination. In what
follows, some general implementation issues will be discussed.
Population Dynamics
There are no standardized rules to decide how many chromosomes should be in the pop-
ulation, since the size of the population is not directly correlated with the quality of the
solutions. Figure 2.12 shows an example of population dynamics in a genetic algorithm.
The size of the population is hold constantly at 50 individuals. Some of them, in this
case 10 individuals, are selected as parents of the new individuals. Survivors of current
generation are then selected by removing several individuals. After that, the population
for the next generation is constructed by applying once again the selection mechanism,
holding the population size the same as the previous generation.
Selection
Selection is done based on fitness. There are basically two selection mechanisms: (i)
parents selection to get some parent individuals for a new generation; and (ii) survivors
selection, which is intended to keep best individuals within the population and remove a
certain number of the least performing individuals in the current generation. For parents
selection we should find a strategy that: (i) ideally gives better individuals a better chance
of being parents than less good individuals; and (ii) also gives less good individuals at
least some chance of being parents, as they may provide some useful genetic material.
This task can be fulfilled by a so-called rank selection: individuals in the population are
ranked and each of them receives a probability value (to be selected) from this ranking.
The probability value is measured relative to the probability value of the last (i.e. worst)
individual; this means the last but one will have twice that probability etc. Of course these
values have to be normalized such that the sum of these probability values must equal
one. Afterwards, the probability values are mapped on the corresponding non overlapping
intervals in the range [0, 1] and a randomly chosen number in this interval is used to select
an individual. For survivors selection, we can simply sort the individuals according to
their fitness from best to worst and then remove some of the least performing individuals.
Forming New Individuals
New individuals are generated by two standard GA operators: crossover and mutation.
Crossover produces new individuals that inherit genes from their parents. On the other
hand, mutation enables offsprings to have different genes as those from their parents.
35. 2.3: Optimization Approaches 21
SA / GA PLS
1
10
0
Figure 2.13: A hybridization scheme between SA/GA and PLS
Since both crossover and mutation are dependent on how a chromosome is encoded, de-
tails of such mechanisms are also problem specific and can not be discussed until the
problem and the corresponding encoding mechanism are defined.
2.3.6 Hybridization
Each optimization approach mentioned above has its own advantages. Therefore, it is
sometimes worth to make a hybridization of two or more approaches, combining their
advantages together. In this subsection, two types of hybridization will be introduced.
Firstly, we combine PLS together with SA or GA. PLS is very simple and usually has
a good convergence behavior i.e. for relatively short execution time it can find good
solutions. Unfortunately, it can also get stuck in local optima, simply because it has
no explicit mechanism to avoid such a situation. On the other hand, SA or GA based
approaches are theoretically able to explore a larger solution space and thus to avoid local
optima. But they have a relatively slower convergence behavior. The basic idea behind
the hybridization is illustrated in Figure 2.13. It shows the execution process of PLS or
SA/GA as a function of a boolean variable σPLS, which indicates whether a condition for
performing PLS is satisfied (σPLS = 1) or not (σPLS = 0).
In the case of SA-PLS approach, this hybridization can easily be performed in a normal
SA approach, by modifying the acceptance probability as follows:
p =
1 if ψ(x ) < ψ(x)
exp(−ψ(x )−ψ(x)
T
) if ψ(x ) ≥ ψ(x)and σPLS = 0
0 otherwise
(2.9)
This means if σPLS = 1, the probability p will have the value of 1 if the neighbor x is
better than x, and the value of 0 if x is worse than x. This is the behavior of PLS. For
σPLS = 0 equation (2.9) is equivalent to (2.6). Note that for a quite low temperature
value, which is roughly equivalent with a long execution time, a normal SA behaves
approximately like PLS. Thus, this modification mainly effects the SA characteristics at
high temperature values.
36. 22 Chapter 2: Network Planning and Optimization
(best 50 Chr.)
000000000
000
111111111
111
000000000000
111111111111Population
45 Chromosomes
Population
Search result
55 or 56 Chromosomes
(1 or 0 Chr.)
PLS
Crossover
Mutation
1 Chromosome
Selection (parents)
10 Chr.
Selection
Population
50 Chromosomes
(remove 10%)
10 Chr.
Offsprings
Selection
Figure 2.14: Population dynamics in a hybrid GA-PLS scheme
For the case of GA-PLS approach, it is a bit more complicated, mainly because genetic
algorithm is a population based (multi-agent) approach, while PLS is a single-agent ap-
proach. One possibility is to construct a quasi parallel PLS process at a certain GA evo-
lution cycle (iteration), where the variable σPLS has the value of 1. This possibility is
displayed as a part of population dynamics in Figure 2.14 (cf. Figure 2.12). Here, an
individual is selected from a number of best individuals in the population and used as
input for the PLS process. If PLS is able to find a better solution (than the original input
individual), it will be sent to the population as a new individual.
Note that for such hybrid approaches, the PLS function is active if σPLS = 1. In both
SA-PLS and GA-PLS approaches, this activation can base on the simple criteria such as:
(i) if a certain number of iteration is reached; or (ii) if the best temporary solution x∗
is
just improved. Furthermore, in simulated annealing it is also possible to activate PLS, if
the neighborhood around x∗
is not yet completely explored.
Due to the huge number of possible solutions, performance of stochastic search ap-
proaches is sometimes still far from expectation e.g. in terms of convergence or solu-
tion quality. But often, the existence of simple problem-specific heuristics can improve
performance a lot. In this regard, a hybridization between such a simple heuristic and
a stochastic search algorithm is of particular importance. Figure 2.15a gives a general
diagram of a hybrid algorithm, which makes use of simple improving heuristics. Search
algorithms meant in the diagram are stochastic search algorithms e.g. PLS, SA, GA, SA-
37. 2.3: Optimization Approaches 23
Algorithm
Solution e.g. in terms of a
Sequence of Demands
(b)
Improving
Improved Solution
Solution
(a)
Search
Algorithm
Simple
Heuristic
Greedy
Heuristic
Search
Objective Value
Figure 2.15: Hybridization of general search algorithms with simple heuristics
PLS, GA-PLS or others. A simple improving heuristic takes a solution from the search
algorithm and tries to improve that solution (stochastically or deterministically). Thus, in
local search terminology for instance, it can be adopted as a new type of (in addition to
a standard random) move operator. In Figure 2.15b another hybrid algorithm is depicted.
Here, a greedy heuristic is used in order to interpret and assess a solution produced by
the stochastic search algorithm. In the case of network routing problems, an example
would be that the search algorithm optimizes the sequence in which the greedy heuristic
processes the demands. Thus, the applicability of this kind of hybridization is strongly
related to how a solution is represented inside the stochastic search algorithm and how
the information contained in a solution can be used by the greedy heuristic to construct
an actual solution. Such a hybridization, as reported in [Bec01] has several benefits: (i)
a greedy heuristic is typically simple and can always produce feasible solutions; (ii) the
solution space to be explored is usually (much) smaller compared to the original solution
space, where the stochastic search algorithm is performed without greedy heuristics; this
might increase the performance of the search algorithm. The latter is a also direct impact
of the problem transformation, as implicitly stated by using greedy heuristics. For ex-
ample, consider a network’s routing problem with 10 node-pairs, each has 10 candidate
paths. The solution space contains 1010
possible solutions. If we now use the greedy
heuristic as discussed in Subsection 2.3.2 and encode a solution as a specific sequence of
demands, in which they are processed by the greedy heuristic then the current solution
space now contains 10! possible solutions. Unfortunately, this mechanism sometimes will
introduce problems. As the search process is reduced to a certain area of the (original) so-
lution space, several good or optimal solutions might be excluded. However, as has been
shown in [Bec01], due to the largeness of the solution space in most planning problems
in communication networks, such a problem happens rarely.
39. Chapter 3
Overview of IP Routing
The Internet is a large network that connected about 160 million hosts (in June 2002)1
,
which are organized in about 13,000 distinct domains2
, called Autonomous Systems
(ASes) [QPS+
03]. With the decommissioning of the NSFNet3
Internet backbone net-
work in 1995, the Internet now functions with no single central network at all and en-
tirely consists of the various commercial Internet Service Providers (ISPs), private net-
works and Research and Education Networks (RENs), as connected at their peering points
[WIK05a]. Global connectivity is provided by so-called Tier-1 ISPs; these represent the
highest hierarchy level of the network and exchange traffic to each other on a revenue-
neutral basis (i.e. a Tier-1 ISP does not pay for transit on other Tier-1 ISP networks).
An AS has its own routers and routing policies, and connects (peers) to other ASes to
exchange traffic with remote hosts. A peering link could connect to a public Internet
Exchange Point (IXP), or directly to a private peer or transit/upstream provider. Inside
an AS, the network can be viewed as a directed graph, where nodes and arcs represent
routers and IP links, respectively. A typical ISP network architecture is depicted in Figure
3.1. Since an ISP usually offers services at several places, geographically the network
consists of several Point-of-Presences (PoPs) where a set of routers is maintained. From
a simplified perspective, a network consists of a combination of Core Routers (CRs) con-
nected to other PoPs, Border Routers (BRs) connected to other ASes, Hosting Routers
(HRs) connected to media servers, and Access Routers (ARs) connected directly to cus-
tomers [XTF+
02]. In an operational network, this split in functionality simplifies the
requirements for each router. For example: (i) an AR should provide high port density to
connect to a large number of customers with various access speeds and technologies; (ii) a
CR should provide high packet forwarding performance; etc. Furthermore, isolating peer
1
In January 2005 it increased to more than 310 million hosts [ISC05].
2
A domain corresponds roughly to one company or one Internet Service Provider.
3
NSFNet stands for National Science Foundation Network, which was the scientific research and edu-
cation network in the USA.
25
40. 26 Chapter 3: Overview of IP Routing
Access Links
CR: Core Router
HR: Hosting Router
BR: Border Router
AR: Access Router
HR
HR
CR
CR
AR
AR
CR
CR
HR
BR CR
CR
AR
CR
CRBR
PoP
Peering Links
PoP: Point of Presence
Figure 3.1: A typical ISP architecture
traffic to a small set of BRs simplifies the management of inter-domain routing policies
[FGL+
00].
Currently, Internet routing is handled by two distinct protocols: Exterior Gateway Pro-
tocol (EGP) and Interior Gateway Protocol (IGP). On one hand, EGP is used for routing
between ASes, distributing reachability information and selecting the best route to each
destination that is compatible with the routing policies of the transit domains without
knowing their topology. The Border Gateway Protocol (BGP) is the current de facto
standard inter-domain routing protocol. On the other hand, IGP handles routing inside a
single domain, determines the best route to reach each internal subnetwork or host, based
on some metrics (e.g. delay, bandwidth). The most commonly used IGPs todays are Open
Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).
To increase routing flexibility and provide QoS in IP networks, several new enhancements
have recently been proposed. There are two technologies which are of paramount impor-
tant and likely to be a common standard for IP networks in providing better services in
the near future. These are Multi-Protocol Label Switching (MPLS) and Differentitated
Services (DiffServ). MPLS provides a basic means to efficiently steer IP traffic, while
DiffServ gives the possibility to differentiate treatments for IP packets with respect to
their class of service. Both will be addressed later on in this chapter.
In this dissertation we only focus on intra-domain routing, including MPLS. Surely,
41. 3.1: Classical IP Networks 27
MPLS can also be applied for inter-domain routing, but the use of such a mechanism
is still problematic. This is because each ISP is administratively independent, and inter-
domain coordination is in practice very difficult to realize.
The rest of this chapter is organized as follows. Section 3.1 describes routing in classical
IP networks. Here, the term "classic" is used to refer to IP networks that route traffic using
an IGP. In Section 3.2 MPLS is briefly reviewed. Finally, Section 3.3 reveals the DiffServ
architecture and the corresponding impacts on routing in the network.
3.1 Classical IP Networks
Communication in the Internet works in the following way. The transport layer protocol
TCP (Transport Control Protocol) takes data streams and breaks them up into packets
(datagrams). Each packet is transmitted through the networks, possibly being fragmented
into smaller units as it goes. When all the pieces finally get to the destination machine,
they are reassembled by the network layer into the original packet. This packet is then
handed over to the transport layer, which inserts it into the receiving process input stream.
If a packet is lost somewhere, the transport layer at both sides will initiate a retransmis-
sion. Thus, the network layer such as IP is only responsible to route packets from one end
to another without considering reliability of delivery [Tan03, PM04].
The first IGP used in the Internet was the Routing Information Protocol (RIP), which
is a distance vector protocol based on the Bellman-Ford algorithm inherited from the
ARPANET4
. Distance vector protocols maintain information on a per-node basis in terms
of a routing table, which contains a vector of distances to all known destinations. Neigh-
boring routers regularly exchange their routing tables, so that with this information each
router is able to compute and update its own distances and again report them to the neigh-
bors. In RIP, the distance (metric) is very simple: the number of hops (i.e. hop-count),
which is expressed as an integer varying between 1 and 15; the value 16 denotes infinity.
RIP worked well in small systems, but less well as ASes got larger. It also suffered from
the count-to-infinity5
problem and slow convergence.
These problems were the motivation in developing several protocols based on link-state
technology. The principle of link state routing is very simple. Instead of trying to com-
pute "best routes" (shortest paths) in a distributed fashion, all the nodes will maintain a
complete copy of the network map and perform a complete computation of the best routes
from this local map. Each record in database represents one link in the network and has
been advertised by a node that is responsible for it. It contains an interface identifier and
4
ARPANET is the progenitor of the Internet, was established in 1969 by the U.S. Defence Advanced
Research Agency (DARPA).
5
We refer to [Tan03, Hui95] for detail explanations.
42. 28 Chapter 3: Overview of IP Routing
information describing the state of the link: the destination and the distance (also called
as link cost, metric or weight). With this information, by using Dijkstra’s algorithm, each
node can easily compute the shortest path from itself to all other nodes. As all nodes have
the same database, the routes are coherent and loops cannot occur [Hui95].
Today, the main IGP protocols are OSPF and IS-IS, which belong to link-state protocols.
IS-IS is actually very similar to OSPF, but it has been specified by the International Or-
ganization for Standardization (ISO). Compared to RIP, OSPF is in general much more
complex. OSPF supports a variety of distance metrics e.g. physical distance, delay or
cost. However, for path computation only one metric is used at a time. It also allows
hierarchical routing and is more stable (faster convergence). Therefore, it is used in larger
networks such as enterprise and ISP internal networks. For the rest of this dissertation,
we always use the term "IGP" mainly to refer to "OSPF". Otherwise it will be stated
explicitly. In the following paragraphs, we will review the routing mechanism facilitated
by IGP to provide a basis for our traffic engineering approach, which will be addressed in
next chapter. Our interest is mainly on data-plane operations6
.
An IP datagram consists of a header and a data part. The header has a 20-byte fixed part
and a variable length optional part. The header consists of several pre-defined fields. In
the context of routing, only the destination address field is of prominent interest, since
packets are routed based on their destinations. An extended feature to support routing
based on class of service as specified in the Type of Service (ToS) field is in practice
rarely used. It does not play any substantial role until the introduction of MPLS and
DiffServ (see Section 3.3).
The main advantage of shortest path routing is that it can be implemented in a distributed
way, in a form known as (connectionless) hop-by-hop destination based routing. Figure
3.2 gives an example of such a routing mechanism. Assume that we have a six-router
network which is configured as displayed in Figure 3.2a. Router 1 connects to network A,
whilst router 5 and router 6 to network B and network C, respectively. Each router main-
tains the complete network map and computes shortest paths to all destinations, which
in turn are used for constructing a routing table consisting of next hop and interface7
information. Figures 3.2b and 3.2c show an example of the shortest path tree and the
corresponding routing table seen from router 1. If a packet arrives at a certain router, it
will look at the destination address and forward the packet to the correct outgoing inter-
face as specified by its routing table. This illustrates in Figure 3.2d. Two packets with
destinations B4 (representing host number 4 inside network B) and C1 (representing host
number 1 inside network C) arrive at router 1, will be forwarded to router 3. Since router 3
also has a routing table derived from the same network map, it knows that the packet with
6
Routing has two types of operations: data-plane and control-plane operations. The data-plane opera-
tions are those that are performed on every packet whereas the control-plane sets up information to facilitate
data-plane operations (e.g. routing table).
7
A link may consist of several interfaces.
43. 3.1: Classical IP Networks 29
Destination Next Hop Interface
B4
C1
B4
C1
B4
C1
6
5
3
C
2 A
1 2
43
5 6
1
1 2
4
5 6
network A
network B network C
5
53
2
1 2
2
A
B
C
direct
3
3
1−A
1−3
1−3
3
(a) (b)
(c)
(d)
4
B
C1
C1B4
Figure 3.2: Hop-by-hop destination-based IP routing
destination network B must be forwarded to router 5 and that with destination network C
to router 4. This process continues till those packets reach their destination hosts.
In OSPF networks, it is possible, to some extent, to do load balancing. Using the so-called
Equal-Cost Multi-Path (ECMP) rule, if there are multiple shortest paths to a particular
destination, the corresponding traffic is equally split over the outgoing links belonging
to these shortest paths. In practice, the split may not exactly follow ECMP; that is, the
split decision is not done on a packet-by-packet basis in a round robin manner among
the multiple outgoing links that coincide with the (multiple) shortest paths [PM04]. This
is because such a mechanism may introduce packet disordering problems, which can in
many cases lead to performance degradation that is not easy to overcome. Therefore the
following load balancing schemes are generally recommended:
• destination based load balancing i.e. in the case of multiple shortest paths, traffic
44. 30 Chapter 3: Overview of IP Routing
Destination Next Hop Interface
C2
C3
C4 C2
C1
C3
C4
C4
C3
C3
C4
C1
C2
C1
C2
C1
C2
6
1 2
43
5 6
network A
network B network C
1
11
1
1 1
1
(a)
6
3
(d)
A direct 1−A
3 1−3
2 1−2
B 3 1−3
C
(c)
(b)
1
2 3
4 5
A
C
B
1 2
4
5
C3
C4
C1
Figure 3.3: Hop-by-hop routing with ECMP
to a certain host inside a certain network is routed on a single path and traffic to
different hosts in the same network could travel through different paths.
• per transport connection load balancing. In this scheme, even if multiple shortest
paths are available, packets that belong to a particular transport session are routed
on a specific shortest path. Packets for another session, which may have the same
pair of origin-destination routers, can take a different shortest path.
In contrast to packet-by-packet load balancing scheme, both per-destination and per-
transport connection schemes may result in inequal traffic splitting. This is very depen-
dent on many factors such as network sizes, types of applications, the algorithm chosen
by routers’ vendor etc. In this work we always assume ECMP to mean equal split in terms
of traffic volume.
Figure 3.3 depicts hop-by-hop routing with ECMP rule. Setting the weights as in Figure
3.3a results in several ties. For example, router 1 has a shortest path structure as in Figure
45. 3.2: IP/MPLS Networks 31
3.3b and builds its routing table as in Figure 3.3c. Now, if several packets with destination
network C arrive at router 1, it will try to balance the load among the available interfaces
i.e. forward the packets to node 2 and 3. A similar situation also happens at router 3,
where two interfaces lead to shortest paths. Furthermore, Figure 3.3d also illustrates a
per-destination load balancing scheme as mentioned in this paragraph.
3.2 IP/MPLS Networks
Multi-Protocol Label Switching (MPLS) is a forwarding scheme. As it has been dis-
cussed in the previous section, in the traditional IP forwarding paradigm, an independent
forwarding decision is made at each hop as a packet travels from one router to the next.
The IP header is analyzed and the next hop is chosen based on this analysis and the infor-
mation in the routing table. In an MPLS environment, the analysis of the packet header
is performed just once, when a packet enters the MPLS domain. At these ingress points,
Label Switching Routers (LSRs) classify IP packets into Forwarding Equivalence Classes
(FECs) based on a variety of factors, including e.g. a combination of the information
carried in the IP header of the packets and the local routing information maintained by
the LSRs. A label, which can be read in the first 20-bit field of an MPLS header, is then
assigned to each packet according to its FEC. An MPLS header that is encapsulated be-
tween the link layer and the network layer header, also contains a 3-bit experimental field
(EXP − formerly known as Class-of-Service/CoS field), a 1-bit label stack indicator and
an 8-bit Time-To-Live (TTL) field.
Inside an MPLS domain, an LSR examines the label and possibly the experimental field
and uses this information to make packet-forwarding decisions. This label is used as a
look-up index to the label forwarding table. Each incoming packet will be processed
according to the corresponding label forwarding entry: the incoming label is replaced by
an outgoing label and the packet is switched to the next LSR. Before a packet leaves an
MPLS domain, its label is removed. The path between an ingress LSR and an egress LSR
is called a Label Switched Path (LSP).
Figure 3.4 shows an example of routing inside an MPLS domain. In Figure 3.4a the
arrows represent two LSPs. The first LSP is between LSR 1 (ingress) and LSR 5 (egress),
using label sequence 10 and 20. The second LSP originates from LSR 1 and terminates
at LSR 6, using label sequence 30, 40 and 50. Figure 3.4b gives the forwarding table
for LSR 1. In this example, the FECs are derived only from destination networks. Since
LSR 1 is the ingress point, the table basically specifies mapping from FECs to outgoing
labels. From LSR 3 point of view, the label forwarding table looks like Figure 3.4c.
It only maps incoming to outgoing labels, since LSR 3 is in the middle (core) of the
network. Now consider the case that two packets with destination C1 and B4 arrive at
ingress LSR 1. The packet headers will be analyzed before they are processed according
46. 32 Chapter 3: Overview of IP Routing
Dest. Label
Inter−
faceLabel
Inter−
face
In Out
Label
Inter−
faceLabel
Inter−
face
In Out
1−A −
1−3
1−3
30
1 2
4
5
C
B
1 2
43
5 6
network A
network B network C
(a) (b)
(c)
10
20
30
40
50
6
3
(d)
3−5
3−4
30
10
20
1−3
1−3
20
40
40
50
10
B4
B4
B4
C1
C1
C1
C1
B4
C1
30
10
1−A −
Figure 3.4: Routing with MPLS
to the forwarding table: (i) label 10 is inserted to packet B4, which is then forwarded to
LSR 3; (ii) label 30 is imposed to packet C1, which is also forwarded to LSR 3. At LSR
3, these packets are switched: incoming packet with label 10 is forwarded to LSR 5 with
outgoing label 20, while that with label 30 is forwarded to LSR 4 with outgoing label
40. At the egress LSRs 5 and 6, the labels are removed and the packets are sent to the
destination hosts.
As inherently indicated in the previous example, An LSP is uni-directional from sender
to receiver. LSPs can be set up either manually or signaled using protocols for label
distribution. In the first case, one has to manually assign labels on all LSRs (ingress,
transit and egress). In the second case, a signaling protocol is used to set up the path and
dynamically assign labels. One just needs to configure the ingress routers, since transit
and egress routers accept signaling information from the ingress router and they set up
and maintain the LSP cooperatively. In both cases, the issue which intermediate LSRs
an LSP may traverse is a management concern to be settled during a planning or a path
47. 3.3: Differentiated Services 33
computation phase. The ability to set up Explicit Routes (ERs) for the LSPs is one of the
most useful features of MPLS, since it provides a complete control over a routing path.
This has not been easy to implement in the classical IP routing technology. For the latter
case, it is also possible to set up LSPs automatically:
• by using (vanilla) Label Distribution Protocol (LDP). The LSPs established by the
LDP are identical to the routing paths yielded by hop-by-hop IP routing. LDP
basically maps network layer routing information from IGP directly to MPLS layer.
Two LSPs as depicted in Figure 3.4a could be generated by LDP for the weight
system as shown in Figure 3.2a.
• by using either Constraint-based Routing Label Distribution Protocol (CR-LDP)
or Resource reSerVation Protocol with Traffic Engineering extension (RSVP-TE).
These protocols perform Constraint-Based Routing (CBR)8
to automatically com-
pute the intermediate hops of an LSP. LSP setup can be control driven i.e. triggered
by control traffic such as routing updates. Or, it can be data driven i.e. triggered by
the request of a flow or an aggregation of flows [XN99].
3.3 Differentiated Services
There are two architectures for adding QoS capabilities to today’s IP networks: Integrated
Services (IntServ) and Differentiated Services (DiffServ/DS). IntServ maintains an end-
to-end QoS for an individual or a group of flows with the help of a signaling protocol
such as RSVP. The idea behind IntServ is that routers have to be able to reserve resources
in order to provide QoS for specific user packet streams or flows. This unfortunately
requires flow-specific9
state to be maintained in the routers, which in turn makes IntServ
lacking scalability, since the amount of state information increases proportionally with
the number of flows. DiffServ, on the other hand, works on the provisioned-QoS model
where network elements are set up to service multiple classes of traffic, with varying
requirements. Its basic idea is to keep packet forwarding simple by categorizing traffic
into (a small number of) different classes and thus removing flow-specific information
from the network core. Therefore, DiffServ is the preferred technology for large-scale IP
QoS deployments [FE02].
Traffic entering a DS-domain is classified, policed and possibly conditioned at the edges
of the network, and assigned to different Behaviour Aggregates (BAs). Each behaviour
8
CBR denotes a class of routing algorithms that base path selection decisions on a set of requirements
or constraints, in addition to destination.
9
Here, the definition of flow is more general than that as given in Chapter 2. For example, packets with
the same value of (src. address; src. port; dest. address; dest. port) might be considered as a flow.
48. 34 Chapter 3: Overview of IP Routing
Label
Inter−
faceLabel
Inter−
face
In Out
Class
FEC
Dest.
Label
Inter−
faceLabel
Inter−
face
In Out
network A
30 60
40
C
C
60
70
(a)
4−6
4−6
80
network C
50
4−3
4−2
80
50
LSP 1
LSP 2
(b)
(c)
40
70
1
1−2
1−3
2
−
−
43
1−A
1−A 30
5 6
P
BE
Figure 3.5: Class-based routing in a DS-MPLS network
aggregate is identified by a single Differentiated Services Code Point (DSCP), which is lo-
cated at the first six bits in the DS-field10
of the IP header. Within the core of the network,
scheduling and queueing control mechanisms are applied to the traffic classes accord-
ing to the Per-Hop Behaviour (PHB) associated with the DSCP. By assigning traffic of
different classes to different DSCPs, the DiffServ network provides different forwarding
treatements and thus different levels of QoS. Currently, several PHBs are defined:
• The Expedited Forwarding (EF) PHB. The EF PHB is used to provide premium
services i.e. for traffic with low loss, low delay, low jitter, assured bandwidth re-
quirements, such as Voice over IP (VoIP), video or online trading software.
• The Assured Forwarding (AF) PHB. The AF PHB is used to support data traffic
with assured bandwidth requirements. It is further divided into four subclasses.
Within each subclass it is possible to specify 3 drop precedence values. This PHB
can be used to provide olympic services (i.e. three tiers of services: gold, silver and
bronze, with decreasing quality).
• The Default (DF) PHB. The DF PHB represents the default forwarding behaviour.
Packets, which are not identified as belonging to another class, belong to this ag-
gregate. This PHB is typically used for the classical best effort services.
DiffServ can be deployed together with MPLS. In this so-called DS-MPLS architecture,
packets marked with DSCP will enter the MPLS network and PHB is enforced by every
10
The DS-field replaces the original ToS byte in IPv4 (IP version 4) or the Traffic Class field in IPv6.
49. 3.3: Differentiated Services 35
LSR along the path. As LSRs do not have any knowledge of the IP header, PHB has
to be achieved by looking at different information. Two general approaches are used to
mark MPLS traffic for QoS handling within an MPLS network [DR00, CIS]. In the first
method, the DS coloring information is mapped in the EXP field of the MPLS header.
LSPs that use this approach are called E-LSPs, where packets are buffered and sched-
uled in accordance with the EXP fields. Alternatively, the label associated with each
MPLS packet carries the portion of the DS marking that specifies how a packet should be
queued. The dropping precedence portion of the DS marking is carried in the EXP bits.
The ingress LSR examines the DSCP in the IP header and selects an LSP that has been
provisioned for that QoS level. LSPs using this approach are called L-LSPs where QoS
information is inferred from the MPLS label.
It is obvious that routing by means of E-LSPs can happen both at class or coarser granu-
larity, while that using L-LSPs can only occur at class granularity. Since in our context,
we consider class-based routing, it does not really matter which type of LSP is used. This
chapter will be closed with an example of a class-based routing mechanism inside a DS-
MPLS network as described in Figure 3.5, which is, to a great extent, self explanatory.
Consider that we have two classes of traffic to be routed from LSR 1 to LSR 6: premium
traffic (denoted by P) and best effort traffic (BE). This means that two LSPs (one for each
class) has to be established. These are, for example, configured as in Figure 3.5a. Assume
that LSP 1 is allocated for premium and LSP 2 for best effort traffic. At ingress LSR 1 the
label forwarding table has to be set appropriately i.e. class information has to be included
in the FECs. Such a label forwarding table is given in Figure 3.5b. Actually, this is the
only difference between DS and non DS-compliant MPLS networks, since in the core of
the network, packets are switched in the same manner (cf. Figure 3.4c and Figure 3.5c).
Note that for the case of E-LSPs, LSPs 1 and 2 could use the same label at link (4,6), as
labels do not correspond to DSCP. By contrast, in the case of L-LSPs, two LSPs for two
different traffic classes can not share labels, even if the paths are identical.
51. Chapter 4
Traffic Engineering in Classical and
Transitional IP Networks
To cope with the rapid growth of the Internet and due to increasing requirements for ser-
vice quality, some efforts have been invested by Internet Service Providers (ISPs), to build
a more scalable network architecture and expand network infrastructure and capacity. An-
other important issue is traffic engineering, that could give ISPs some degree of control
of the traffic distributed over the network. In routing context, traffic engineering means
mapping traffic flows onto the existing physical network topology in the most effective
way to accomplish desired operational objectives. This issue is the main focus of this
chapter, which is organized as follows. First, in Section 4.1 we deal with traffic engi-
neering problem in classical IP networks. After that, in Section 4.2 we consider several
types of transitional IP networks and propose the corresponding traffic engineering solu-
tion. Further, Section 4.3 addresses the issue of partial demand increase and its impact on
resource occupancy. Finally, some general remarks and other traffic engineering related
activities are given in Section 4.4.
4.1 Metric-Based Traffic Engineering
The Internet was designed as a best effort network and was not designed to guarantee a
particular level of performance, certainly not end-to-end quality of service [Gou01]. In
this regard, traffic engineering can be viewed as a part of efforts to improve the capabil-
ity of IP networks to provide better services. In classical IP networks, there are several
approaches for deploying traffic engineering: by optimizing the parameters used for rout-
ing decisions, so that a better network performance will be obtained [FT00] [SKK00]
[Gou01] [MK02b] [KP00] [BAGLM00], or by using explicit routing in an overlay model
with ATM or Frame Relay technology [WWZ01]. Recent developments in MPLS open
37
52. 38 Chapter 4: Traffic Engineering in Classical and Transitional IP Networks
new possibilities to address some of the limitations of IP systems concerning traffic en-
gineering. However, in this section we consider only the case, where traffic engineering
is performed by optimizing routing paramters. It is worth to investigate this possibility
because: (i) the information provided by the "classical" routing protocol might still be
used in the future (even in more advanced networks), since it provides a simple, scalable
and robust connectionless routing mechanism, (ii) it seems that a more sophisticated and
widely standardized routing scheme might not be soon becoming reality, and (iii) many
internet domains are still working with "classical" routing schemes.
Most routing protocols in classical IP networks (like OSPF or IS-IS) follow the same
principle: they use weights, also called link costs or metrics, to determine the shortest
paths to route the traffic. These weights are static (i.e. traffic independent), dimensionless
and defined as a set of values associated with the links on the network, which can be set
in a router’s database. Then, each router computes the shortest paths to all destination
using Dijkstra’s algorithm according to these metric values. In case of multiple shortest
paths, some vendors have implemented a load balancing mechanism like ECMP. Thus,
the traffic flow will be split roughlya
evenly over several shortest paths. Depending on
demands and network configuration, the above described mechanism may lead to the
situation where some parts of the network being over-utilized, which in turn degrades the
network performance due to congestion and packet losses, while some other parts being
under-utilized.
Given a network topology and predicted traffic demands, the problem of metric-based
traffic engineering in IP networks is to find a set of link-weights that optimizes network
performance i.e. that spreads the load on the network more uniformly. Finding an ex-
act solution for this problem is proven to be NP-complete [FT00][FT02]. For small or
at most medium-sized networks, depending on the associated link structure, methods to
find the exact solution such MILP are still applicable [SKK00] [KP00] [BAGLM00]. But
the NP-completeness of the problem implies that as the network grows the resulting inte-
ger program is too complex to be solved in reasonable computation time. In such cases
heuristics have to be deployed. A heuristic is more flexible in terms of optimization crite-
ria (constraints) and might suffer less from the scalability problem. Recent work such as
reported in [MKSB02] tries to utilize MILP on large networks by using a decomposition
method and optimize the parts of the network independently. Such an approach can be
seen as a form of heuristic as well. There is also some work using meta-heuristic frame-
work like local-search [FT00][FT02] or simulated-allocation [GPS+
00]. To the best of
our knowledge, at the time we started the research, there were only a few publications i.e.
[ERP02][KP00] that applied evolutionary computation frameworks to the problem. The
earlier versions of the work presented in this section have been published in [MK02a],
[MK02b] and [MK05a].
a
In practice, it is difficult to achieve exact even splitting due to the reasons mentioned in Section 3.1.
However, for computation purpose we always assume that in case of ties a flow is evenly split.
53. 4.1: Metric-Based Traffic Engineering 39
(b)(a)
6
11
1
1
1
1
2
21
2
3
5
5
121
3 4
5 6
2
3 4
5 6
1
2
4
6
5
3
1
2 3
4 5
1
Figure 4.1: Shortest path structures seen from node 1 for the case of unique and non-
unique shortest path metrics
Contributions
Our contributions are mainly in the following aspects :
• We introduce a novel Hybrid Genetic Algorithm (HGA), which combines a popula-
tion-based search capability in GA with a simple individual-based search heuristic,
that simulates network administrators behavior when they try to overcome conges-
tion problems in certain links.
• We propose a plain but flexible optimization objective, that considers both maxi-
mum link utilization and weight reconfiguration simultaneously.
• We consider both multiple and unique shortest path routing schemes.
The remainder of this section is organized as follows. In the next subsection we first
present a mathematical model of the problem and define the lower bound of the solution
obtained from a so-called general routing problem [FT00][FT02]. In Subsection 4.1.2
we propose an objective function that takes the weights’ changes to be performed for an
existing operational network into consideration. After that, in Section 4.1.3 we explain
the proposed hybrid genetic algorithm to solve the problem. Finally, some computational
results will be presented in Section 4.1.4.
4.1.1 Problem Formulation
As previously mentioned, demands in IP networks are routed along paths, which are se-
lected using Dijkstra’s shortest path algorithm with respect to link weights. In the case of