(OSPF) protocol - Dr. Ayman El Sayed Official Web Site

pairs, the OSPF weight setting problem consists in determining weights to be assigned ...... CISCO (the leader company of the network devises) computes the.
1MB taille 3 téléchargements 268 vues
MENOUFIA UNIVERSITY Faculty of Electronic Engineering, Menouf Department of Computer Science& Engineering,

Optimizing weights of Open Shortest Path First (OSPF) protocol A Thesis Submitted for the Degree of Doctor of Philosophy By Ahmed Mahmoud Ahmed Abo Ghazala B.Sc. and M. Sc. In Computer Science& Engineering, Faculty of Electronic Engineering, Menoufia University

SUPERVISORS: Prof. Moawad I. Dessouky

(

)

Head of Electronics and Electrical Communications Engineering Dept Faculty of Electronic Engineering, Menoufia University

Dr. Ayman EL-SAYED

(

)

Dept. of Computer Science& Engineering, Faculty of Computers and Information, Menoufia University

Dr. Mervat Mousa

(

Dept. of Computer Science& Engineering. Faculty of Electronic Engineering, Menoufia University

2009

)

List of Publications Papers 1. Ahmed Abo Ghazala, and Ayman EL-SAYED, "OSPF Traffic Routing Protocol in Hybrid Network", International Workshop on Frontier of Parallel and Distributed System (FPDS2007) on International Conference on Network and Parallel Computing (IFIP), Dalian, China, September 18-21, 2007. 2. Ahmed Abo Ghazala, Ayman EL-SAYED, and Mervat Mousa, "A Survey for Open Shortest Path First Weight Setting (OSPFWS) Problem", The 2nd International Conference on Information Security and Assurance (ISA2008), Busan, Korea, 24-26 April 2008, and accepted from 5th International Conference on Information Technology and Applications (ICITA 2008), Cairns, Queensland, Australia 23 - 26 June 2008. 3. Ahmed Abo Ghazala, Ayman EL-SAYED, and Mervat Mousa, “A new approach

for

Open

Shortest

Path

Weight

Setting

Problem

(OSPFWSP)“,The 3rd International Conference on Convergence and hybrid Information Technology (ICCIT08), Busan, Korea, 11-13 November 2008, and is accepted from International Journal of Computer Science and Network Security (IJCSNS) 2008. 4. Ahmed Abo Ghazala, Ayman EL-SAYED, and Mervat Mousa, “Open Shortest Path First Weight Setting (OSPFWS) solving algorithms comparison and new method for updating weights”, is accepted from The 3rd International Conference on Convergence and hybrid Information Technology in Busan, Korea, 11-13 November 2008 ,and also is accepted from International Journal of Computer Science and Network Security ( IJCSNS) 2008.

II

Author Bibliography Name: Ahmed Mahmoud Abo Ghazala E_MAIL: [email protected] Current job: data network engineer Company: National Bank of Egypt

EDUCATION Menofia University , Faculty of Electronic Engineering • Master in Computer Science & Engineering 2005 • B.S. Engineering, Computer Science & Engineering Department 1998

Certificates CCNP 2006 CCNA 2005 CCIE (WRITTEN) 2008

Training Courses • English Course from AMERICAN UNVERSITY in Cairo

• • • • •

1) English Intermediate A On April 18, 2001 2) English Intermediate B On September 1ST, 2001 3) English Intermediate 303 On December 10TH, 2001 4) English Intermediate 304 On February 8TH, 2002 5) English advanced 401 On April 18TH, 2002 6) English advanced 402 On July 11TH, 2002 WINNT from Information Technology Institute (ITI) in Information Engineering June 2001. Computer network in Egyptian National Institute, Egypt “Multilayer switching “ in Fast lane ,Austria, 2004 CIPT1 ( IP telephony 1) in silicon , 2006 Advanced Router and Firewall Security in Nile, Austria 2007

III

ACKNOWLEDGMENT First, I want to thank my God for enabling me to make this thesis. I want to thank DR. Ayman EL-SAYED my supervisor for helping me to finish this thesis and providing support. I want to thank DR. Moawad Ibrahim Moawad for helping me that he advises me in many subjects. I want to thank DR. Mervat Mosa for teach me how to work under pressure and pushing me to study. I also want to thank my mother and my father for providing me a suitable climate for study. I thank brother for tolerating me during the months that I worked. I want to thank my wife for all things that give me to concentrate on studding. I thank my friends that have been an inspiration to me and helping me to strive for a better life. I want to thank National Bank of Egypt for providing me a suitable environment to test my proposal. Also thanks to the other people in my life who have supported and helping me in my career.

IV

ABSTRACT The problem of computing weights on the links and routing data in shortest paths known as OSPF weights setting problem (OSPFWSP) is NP complete. OSPFWSP is defined as given a set of traffic demands between origin-destination pairs, the OSPF weight setting problem consists in determining weights to be assigned to the links so as to make efficient use of network resources. In this thesis, three proposed algorithms are introduced for solving OSPFWS problem. The proposed algorithms used different ways for optimizing weights. The proposed algorithms suggest two methods for updating weights. First method is updating weights according to unallocated bandwidth, where increasing link weights values which associated link has big empty bandwidth and decreasing link weight which associated link has small empty bandwidth, this method denoted by Empty Bandwidth (EM) which algorithem1 used it. In some cases, this method does not give cleared improvements, some modification is done, and second method is developed. This method depends on mixing EM method with another technique which depends on increasing link weights values of the more utilized links, whereas decreasing link weights to the less utilized links. This method is denoted by Utilization and Empty (UE) and alogrithem2 used it. All proposed algorithms use a technique for avoiding stuck in local minima problem by accepting all solutions, and work on it but, it keeps only the best solution. The final algorithm algorithem3 use UE method and also manipulates the problem of recycling which the old algorithms fall in it, a new concept is developed that after UE method is getting stuck, then the algorithm 3 generates random solution to move search from region to another region. A comparison is done between all algorithms and legacy methods. The comparison proves that algorithm 3 is better than pervious two algorithm and all legacy methods. Some enhancements added to algorithm 3 where a modified cost function is introduced for compute number of congested links, and also new feature is added to determine congested links and compute bandwidth needed for avoiding congestion. V

Contents Chapter 1: Introduction 1.1 Over view of OSPFWSP…………………………………………………….. 1.2 Objective……………………………………………………........................... 1.3 Thesis Organization………………………………………………………….. Chapter 2: Open Shortest Path First (OSPF) 2.1 Introduction…………………………………………………………………... 2.2 Advantage of OSPF………………………………………………………….. 2.3 OSPF operations……………………………………………………...……… 2.3.1 Neighbor discovery…………………………………………………….. 2.3.2 Adjacencies (Database synchronization)………………………………. 2.4 Route calculation.............................................................................................. 2.4.1 Link-State Algorithm…………………………………………………... 2.4.2 Shortest Path First Algorithm (SPF)………………………………….... 2.4.3 OSPF weights calculation………………………………………............ 2.4.4 Shortest Path Tree………………………………………………............ 2.5 OSPF Packet …………………………………………………………………. 2.5.1 OSPF Packet Types.................................................................................. 2.6 Link-State Data Structures…………………………………………………… 2.7 OSPF LSA Types…………………………………………………………….. 2.8 Hierarchal natural of OSPF………………………………………………… Chapter 3: Advanced features of OSPF 3.1 Introduction…………………………………………………………………... 3.2 OSPF Network Types………………………………………………………… 3.2.1 Adjacency Behavior for a Point-to-Point Link………………………… 3.2.2 Adjacency Behavior for a Broadcast Network Link…………………… 3.2.3 Adjacency Behavior for an NBMA Network…………………………… 3.3 Route Summarization………………………………………………………… 3.4 OSPF Special Area Types……………………………………………………. 3.5 Authentication………………………………………………………………... 3.6 Type-of-service (TOS) ………………………………………………………. Chapter 4: OSPF Case Study in Hybrid Network 4.1 Introduction…………………………………………………………………... 4.2 MultiProtocol Label Switching (MPLS)……………………………………... 4.3 Frame Relay………………………………………………………………….. 4.4 Problem Description………………………………………………………….. 4.5 Implementation and Evaluation ……………………………………………... 4.5.1 First way of solutions: Access list method…………………………….. 4.5.2 Second way of solutions………………………………………………... 4.6 Summary……………………………………………………………………...

VI

2 4 4 6 7 9 9 10 11 11 12 13 13 14 14 14 16 16 19 19 20 20 21 21 22 22 23 24 25 27 29 33 35 36 38

Chapter 5: A Survey for Open Shortest Path First Weight Setting (OSPFWS) Problem 5.1. Introduction………………………………………………………………….. 40 5.2. Problem Formulation………………………………………………………… 42 5.3 Local Search Method……………………………………………………….... 44 5.4 Genetic Algorithm……………………………………………………………. 47 5.5 Simulated Annealing…………………………………………………………. 49 5.6 Hybrid Genetic Algorithm…………………………………………………… 50 5.7 Discussion and Comparison…………………………………………………….. 51 Chapter 6: Proposed Approaches for (OSPFWS) Problem 6.1 Introduction…………………………………………………………………... 54 6.2 Solutions paths……………………………………………………………….. 55 6.3 Problem solution methods …………………………………………………… 57 6.3.1 Empty bandwidth Method……………………………………………… 57 6.3.2 Utilization & Empty bandwidth (UE) method…………………………. 61 6.4 Proposed algorithms………………………………………………………….. 62 6.5 Implementation……………………………………………………………….. 62 6.6 The Network Simulator (NS2)……………………………………………….. 63 6.7 Bottleneck of the simulation…………………………………………………. 64 6.8 Steps of simulation…………………………………………………………… 64 6.8.1 Generate Topology procedure………………………………………….. 65 6.8.2 Generate traffic procedure……………………………………………… 67 6.8.3 Record traffic procedure………………………………………………... 67 6.8.4 Update weights procedure……………………………………………… 69 6.9 Evaluation criteria……………………………………………………………. 69 6.9.1 Cisco weight setting (inverse capacity)………………………………… 69 6.9.2 Unity weight setting……………………………………………………. 70 6.9.3 Random weight setting…………………………………………………. 70 6.10 Cases studies………………………………………………………………... 71 6.10.1 Case 1: Six nodes with seven links network…………………………. 71 6.10.2 Case 2: Seven nodes with thirteen links network…………………….. 75 6.10.3 Case 3: Ten nodes with fifteen link network ………………………... 80 6.10.4 Case 4: Ten nodes with fourteen links network……………………… 84 6.11 Summary…………………………………………………………………... 87 Chapter 7: Improvements & Discussion OF Proposed algorithm 7.1 Introduction…………………………………………………………………... 91 7.2 final Proposed Algorithm (alg3)…………………..…………………………. 92 7.3 Cases studies………………………………………………………………... 93 7.3.1 Case 1: Six nodes with seven links network ………………………… 94 7.3.2 Case 2: Seven nodes with thirteen links network………………………. 97 7.3.3 Case 3: Ten nodes with fifteen link network…………………………… 99 7.3.4 Case 4: Ten nodes with fourteen links network……………………… 102 7.4 Modified cost function……………………………………………………….. 105 7.5 Addition enhancements to the proposed algorithm…………………………... 106 VII

7.5.1 Determining congested links………………………………………….. 7.5.2 Bandwidth needed to avoid congestion……………………………… 76 Summary……………………………………………………………………... Chapter 8 Conclusion and future work 81 Conclusion …………………………………………………………………… 82 Future work…………………………………………………………………... References

VIII

107 108 110 113 115

List of Tables Table 5-1 Table 6-1 Table 6-2 Table 6-3 Table 6-4 Table 6-5 Table 6-6 Table 6-7 Table 6-8 Table 6-9 Table 6-10 Table 7-1 Table 7-2 Table 7-3 Table 7-4 Table 7-5 Table 7-6 Table 7-7 Table 7-8 Table 7-9 Table 7-10 Table 7-11 Table 7-12 Table 7-13 Table 7-14

Comparison between algorithms Traffic amounts via utilization in six nodes with seven links network Traffic amounts via cost function in six nodes seven links network Traffic amounts via link utilization in seven nodes thirteen links network Traffic amounts via cost function in seven nodes thirteen links network Traffic amounts via link utilization ten nodes fifteen links network Traffic amounts via cost function in ten nodes fifteen links network Traffic amounts via utilization in ten nodes fourteen links network Traffic amount via cost function in ten nodes fourteen links network Comparison among five method regard link utilization Comparison among five method regard cost function Traffic amounts via utilization in six nodes with seven links network Traffic amounts via cost function in six nodes seven links network Traffic amounts via link utilization in seven nodes thirteen links network Traffic amounts via cost function in seven nodes thirteen links network Traffic amounts via link utilization ten nodes fifteen links network Traffic amounts via cost function in ten nodes fifteen links network Traffic amounts via utilization in ten nodes fourteen links network Traffic amount via cost function in ten nodes fourteen links network modified cost function with third algorithm Number of Congested links at ten nodes fourteen links network Congested links at ten nodes fourteen links network Bandwidth required avoiding congestion Comparison between three method regard link utilization Comparison between three method regard cost function

IX

List of Figures Figure 2-1 Figure 2-2 Figure 2-3 Figure 2-4 Figure 2-5 Figure 2-6 Figure 3-1 Figure 3-2 Figure 3-3 Figure 4-1 Figure 4-2 Figure 4-3 Figure 4-4 Figure 4-5 Figure 4-6 Figure 4-7 Figure 4-8 Figure 4-9 Figure 4-10 Figure 5-1 Figure 5-2 Figure 5-3 Figure 6-1 Figure 6-2 Figure 6-3 Figure 6-4 Figure 6-5 Figure 6-6 Figure 6-7 Figure 6-8 Figure 6-9 Figure 6-10 Figure 6-11 Figure 6-12 Figure 6-13 Figure 6-14 Figure 6-15 Figure 6-16

Adjacencies (Database synchronization) Example of How OSPF compute shortest path OSPF Packets Consist of Nine Fields Flow chart of link state updates Divide OSPF domain to many parts OSPF area structure Direct connection between routers DR and BDR multi-access connection Routers connected in NBMA network MPLS forwarding scheme Layer 2 Frame Relay MultiProtocol label switching Network topology Frame relay link failure Error path will be taken if frame relay is fail the whole network architecture Access list solution Routing conversion method VRF divide LSR2 router Evolution of cost function with link load Steps of Genetic algorithm local minima problem Algorithms path for solving OSPFWS problem Traffic path when using new method Example of rank method Flow chart of the TCL script for proposed approach Six nodes with seven links network topology Traffic amounts via utilization in six nodes with seven links network Traffic amounts via cost function in six nodes seven links network Seven nodes with thirteen links network topology Traffic amounts via link utilization in seven nodes thirteen links network Traffic amounts via cost function in seven nodes thirteen links network Ten nodes with fifteen links network topology Traffic amounts via link utilization ten nodes fifteen links network Traffic amounts via cost function in ten nodes fifteen links network Ten nodes with fourteen links network topology Traffic amounts via utilization in ten nodes fourteen links network Traffic amount via cost function in ten nodes fourteen links network X

Figure 7-1 Figure 7-2 Figure 7-3 Figure 7-4 Figure 7-5 Figure 7-6 Figure 7-7 Figure 7-8 Figure 7-9

Flow chart, preventing stuck in local minima in PA Traffic amounts via utilization in six nodes with seven links network Traffic amounts via cost function in six nodes seven links network Traffic amounts via link utilization in seven nodes thirteen links network Traffic amounts via cost function in seven nodes thirteen links network Traffic amounts via link utilization ten nodes fifteen links network Traffic amounts via cost function in ten nodes fifteen links network Traffic amounts via utilization in ten nodes fourteen links network Traffic amount via cost function in ten nodes fourteen links network

XI

Abbreviation ABRs

Area Border Router

ANSI

American National Institute

AS

Autonomous System

ASBRs

Autonomous System Boundary Router

BDR

Backup Designated Router

BGP

Border Gateway Protocol

BW

BandWidth

DD

Database Description

DR

Designated Router

EGP

Exterior Gateway Protocols

EL

External Links

EM

Empty Bandwidth

ERP

Exterior Routing Protocol

GA

Genetic Algorithm

GT-ITM

Georgia Tech Internetwork Topology Models

HDLC

High-Level Data Link Control

IETF

Internet Engineering Task Force

IGP

Interior Gateway Protocol

IGPWG

Interior Gateway Protocol working group

IGRP

Interior Gateway Routing Protocol

IP

Internet Protocol

IR

Internal Router

IS-IS

Intermediate System-to-Intermediate System

ISPs

Internet Service Providers

LDP

Label Distribution Protocol

LERs

Label Edge Routers

XII

LSA

Link-State Advertisements

LSAck

Link-State Acknowledgment

LSDB LSPs

Link-State DataBase Label-Switched Paths

LSR

Label Switching Router

MAC

Media Addressee Control

MD5

Message Digest 5

MPLS

MultiProtocol Label Switching

NA

New Algorithm

NBMA

NonBroadcast Multi-Access

NL

Network Links

NS2

Network Simulator2

NSSAs

Not-So-Stubby Areas

OSI

Open System Interconnection

OSPF

Open Shortest Path First

OSPFWSP

OSPF Weights Setting Problem

PDN

Public Data Network

PPP

Point-to-Point

PVC

Permanent Virtual Circuit

QoS

Quality-of-Service

RFC

Request For Comments

RIP

Routing Information Protocol

RL

Router Links

RSVP

Resource Reservation Protocol

RSVP

Resource Reservation Protocol

SL

Summary Links

SPF

Shortest Path First

SVCs

Switched Virtual Circuits

TCL

Tool Command Language

TE

Traffic Engineering

XIII

TOS

Type-Of-Service

UE

Utilization and Empty

VINT

Virtual InterNetwork Test bed

VLSM

Variable Length Subnet Masks

VRf

Virtual Routing and Forwarding

W

Weight

XIV

Symbols G (N, A) C (a) (a) D (S, T) L (a) Ф fa(s,t) Ea Ua Dy Ox C (x,y) δ(X, Y) α Δ

Nodes and arcs Amount of traffic flow that the link can carry Arc How much traffic send from S to T Sum over all demands which is sent over link a Cost functions Traffic demand that flow from node s to node t and pass on link a The empty bandwidth of the link Utilization of the link Random number from [0,1] toY Random number from [0,1] to X Random number from [0,1] to X and Y The Euclidean distance between node X and node Y A parameter The largest Euclidean distance between any pair of nodes

XV

                                                                                               

Chapter 1

INTRODUCTION Internet is divided into many routing domains, called autonomous systems (ASes). ASes are networks that consist of routers and links connecting the routers. Routing protocols are divided into two types: interior routing protocol, and external routing protocol; external routing protocol is used for routing data between different autonomous systems whereas interior routing protocols used for routing data within autonomous systems. Most routing protocols fall into one of two classes: distance vector or link state. Distance vector which routes are advertised as vectors of (distance, direction), where distance is defined in terms of a metric and direction is defined in terms of the nexthop router. A link state router cannot be fooled as easily into making bad routing decisions, because it has a complete picture of the network, link state routers have firsthand information from all their peer routers. Each router originates information about itself; this information is passed around from router to router. Each router makes a copy of it but never changing it,

1

Chapter 1                                                                                                

Introduction

The ultimate objective is that every router has identical information about the internetwork, and each router will independently calculate its own best paths. OSPF is the most commonly used intra-domain Internet routing protocol [1]. Routing data according to some parameters, these parameters named weights (i.e. cost). In this thesis, three algorithms used for solving OSPF weights setting problem are proposed, Comparisons are made with the proposed algorithms and legacy methods and also discussion of results is done. However, many approaches are proposed for OSPFWS problem, there is not optimal solution to OSPFWS problem, genetic algorithm, local search, and simulated annealing are the famous algorithms used in solving OSPFWS problem.

1.1 Overview of OSPFWS problem An internetwork is a combination of networks connected by nodes denoted routers. When a packet is directed from a source to a destination, it passes through a lot of nodes until it reaches their destination node. A router checks its routing table, when a packet is ready to be forwarded. The routing table specifies the optimum path for the packet regard view of routing protocol. Routing protocols are responsible for creating entries in routing tables. If there is a change in the network topology, the routing protocol updates the entries in the tables. OSPF [2] is well known intra-domain routing protocol. This protocol is a unicast routing protocol that works within an autonomous system. An autonomous system is a group of networks and routers under the authority of a single administration. OSPF selects shortest path to route data, a shortest path tree is constructed by each router based on the paths generated from the shortest path tree. OSPF uses weights to select shortest path. a weight is associated with output side of each router interface. The weight value is assigned manually, the lower the weight the more likely the link is used to forward data so the setting of OSPF weight values plays basic role in routing data.

2

Chapter 1                                                                                                

Introduction

In this thesis, a problem related to OSPF routing protocol is addressed, namely OSPF Weight Setting problem. The objective of the thesis is to set the OSPF link weights to make efficient use of network resources (i.e., bandwidth). OSPF routing protocol is based on Dijkstra’s algorithm, Dijkstra’s algorithm computes the shortest paths for each pair of source and destination. Once shortest paths are discovered, they are stored in routing tables and routing is then done accordingly. Cisco recommends that the OSPF cost (i.e., link’s weight) is calculated as 108 divided by bandwidth (i.e., link’s capacity), they states that the weights are set to the inverse of the link’s capacity. However, this assumes that the flow is negligible compared to the capacity of the link [2], which may not always be the case. Cisco does not take into account traffic amount when it sets OSPF weights. OSPF is commonly deployed by Internet Service Providers (ISPs), and thus assigning appropriate weights to links allows ISPs to make better use of available resources. OSPFWS is a network provisioning mechanism, to be used off-line, for finding the optimal weights to be assigned to links, and provides an efficient use of network resources. The weights are configured at the routers before the OSPF routing protocol is initiated. In practical environment, it is not accepted to use OSPFWS as an online mechanism that reacts in real-time to changes in the topology as well traffic demands. which frequently updates the weights of a large number of links, so OSPF protocol recomputes new shortest paths based on the new weights every time a change occurring on the network. It makes the network instable. The OSPFWS problem is considered as a NP-hard problem.

3

Chapter 1                                                                                                

Introduction

1.2 Objective The objective is to find OSPF weight values of network links that minimize utilization of network links, and increase capability for supporting more traffic without increasing bandwidth and without congesting links in other words make more efficient use of network resources.

1.3 Thesis Organization The thesis is organized as follows:In Chapter 1, a quick view of OSPFWS problem is presented; also objective of the thesis is stated, and content of each chapter in the thesis. In Chapter 2, it begins with advantage of OSPF over RIP, It gives a wide overview on OSPF protocol including OSPF advantage, OSPF operation, and shortest path first algorithm and, OSPF features. In Chapter 3, it includes most advantage features of OSPF especially security of OSPF like Authentication. In Chapter 4, this chapter introduces a case study, it contains a problem related to OSPF routing in practical environment, and three proposed solutions to the problem are suggested and also comparison between the three proposals is made In Chapter 5, it is considered, one of most important chapters in the thesis which contains related work to OSPFWS problem. Pervious used algorithms in solving OSPFWSP like local search, simulated annealing and, genetic algorithm are explained in details; also comparison between all these algorithms is done.

4

Chapter 1                                                                                                

Introduction

In Chapter 6, this chapter contains the proposals of the thesis; it describes the

new concepts of the proposals which are used for solving OSPFWSP. Implementation of the proposals is explained, it contains the detailed steps of evaluation, suggested solution for OSPFWSP is discussed, the results of the first and second proposed algorithms are introduced and comparison with legacy methods is done. In Chapter 7, it contains proposed algorithm 3. It discusses the problem of recycling that appears in the first and second proposed algorithms; the solution is presented and is compared with first and second proposed algorithms. In Chapter 8, it includes the conclusion of the thesis, and proposed future work.

5

                                                                                               

Chapter 2

Open Shortest Path First (OSPF) 2.1 Introduction Open Shortest Path First is a famous Interior Gateway Protocol. It is a routing protocol to links state [3] that is developed for Internet Protocol (IP) networks by the Interior Gateway Protocol Working Group (IGPWG) of the Internet Engineering Task Force (IETF). The working group was formed in 1988 to design an IGP based on the Shortest Path First (SPF) algorithm for using in the Internet [4]. Similar to the Interior Gateway Routing Protocol (IGRP), OSPF was created, because in the mid-1980s with increasing of network sizes, the Routing Information Protocol (RIP), which was being used before OSPF is developed, was increasingly incapable of serving large heterogeneous internetworks. OSPF is derived from several research efforts, including Bolt Beranek, and Newman's (BBN's). SPF algorithm was developed in 1978 for the ARPANET (a landmark packet-switching network was developed in the early 1970s by BBN) [5], Dr. Radia Perlman's research on fault-tolerant broadcasting of routing information (1988) [6], BBN's work on area routing (1986), and an early version of OSI's Intermediate System-to-Intermediate System (IS-IS) routing protocol. Nowadays, Open Shortest Path First protocol is the most commonly used intradomain internet routing protocol. 6

Chapter 2 Open Shortest Path First                                                                                                 It has two basic characteristics:

1. The protocol is open, which means that its specification is in the public domain. The OSPF specification is published as Request For Comments (RFC 1247). 2. OSPF is based on the SPF algorithm, which sometimes is referred to as Dijkstra algorithm, Dijkstra’s algorithm is used in OSPF[7] The OSPF protocol is based on link-state technology, which is a departure from the Bellman-Ford vector based algorithms [8], and is used in traditional Internet routing protocols such as RIP. It denoted by distance vector routing protocol, Distance vector means, it uses hop count to determine which path is selected to route data, whereas Link-state means, it uses the state of the data lines to determine which path is selected to route the data. OSPF introduced new concepts such as authentication of routing updates, Variable Length Subnet Masks (VLSM), and route summarization, etc.

2.2 Advantage of OSPF OSPF gets off most of the issues which is presented in RIP protocol. • Hierarchical routing, OSPF supports the concept of distinct areas and multilevel routing, which provides the scalability to accommodate systems with thousands of routers. • The powerful using of VLSM is very useful in IP address reservation. • RIP uses Periodic broadcasts of the full routing table to maintain the routing tables [9], whereas OSPF uses IP multicast to send link-state updates. Multicast consumes less bandwidth than unicast. Also, updates are only sent in case of route changing or after long intervals, such as every 30 minutes. • RIP converges slower than OSPF. It means that it takes a lot of time to create routing tables, where Each router sends its routing table to its neighbor routers

7

Chapter 2 Open Shortest Path First                                                                                                

every 30 seconds; if any entry in one’s routing table is not refreshed for 180

seconds, it is considered obsolete and removed [10], this is considered inappropriate in large environments, and could causes routing inconsistencies whereas OSPF convergences faster than RIP. Because routing updates are propagated as soon as any changes in topology, it is triggered by topology changing. • Multi-path routing, OSPF is able to support multiple routing paths to a given destination, giving routers a choice in deciding how to balance data forwarding over multiple paths. When multiple shortest paths exist, a router typically splits traffic roughly evenly over each of the outgoing links along a shortest path to the destination [11]. This increases the capability of implementing load balance and redundancy. • OSPF allows for a logical definition of networks where routers can be divided into areas. This limits the advertising of link state updates over the whole network. This also provides a mechanism for aggregating routes, and prevents from the unnecessary propagation of subnet information. • High level of security, OSPF supports authentication mechanisms to validate router participation in network. • OSPF can corporate with other routing protocol, it allows for transferring and tagging of external routes which are injected into an Autonomous System. This keeps track of external routes which are injected by exterior protocols such as Border Gateway Protocol (BGP), which is used for routing data between different ASs. • Cost-based routing metrics, Unlike RIP, OSPF supports descriptive metrics to indicate the bandwidth, and capability of each individual network link.

• Traffic engineering, OSPF represents, and describes traffic-engineered networks with deep granularity.

8

Chapter 2 Open Shortest Path First                                                                                                

2.3 OSPF operations OSPF routers typically go through the following stages to maintain the operation of an entire network: • Neighbor discovery • Adjacencies • Route calculations

2.3.1 Neighbor discovery OSPF forms adjacencies between neighboring routers which operating in the same area. OSPF neighboring routers are configured for broadcast and non-broadcast networks using the Hello protocol to discover each other [12] and electing a Designated Router (DR), and a Backup Designated Router (BDR) for the area. Hello protocol packets are sent periodically to establish and maintain neighbor relationships between OSPF neighbors. OSPF goes through several stages when discovering a neighbor such as down, attempt, Init, and 2-way [13]. Hello packets format A hello packet contains the following information: Router ID: The router ID is a 32-bit number that uniquely identifies the router. Hello and dead intervals: If a router does not hear a Hello message from its neighbor within a "RouterDeadInterval", it assumes the link between them is failed [14]. Neighbors: The neighbor's field lists the adjacent routers with established two ways communication. Area ID: any two routers must share a common segment to communicate, and their interfaces must belong to the same OSPF area on that segment.

9

Chapter 2 Open Shortest Path First                                                                                                

Router priority: The router priority is an 8-bit number that indicates the priority of a router. DR and BDR IP addresses: These are the IP addresses of the DR and BDR routers for the specific network. Authentication password: If router authentication is enabled, two routers must exchange the same password. Stub area flag: A stub area is a special area. Two routers must agree on the stub area flag in hello packets Routers have to agree on four things to be neighbors: • Area-id. • Authentication. • Hello Interval, Hello and dead intervals. • Stub area flag.

2.3.2 Adjacencies (Database synchronization) Adjacency is the next step after the neighboring process. Adjacent routers, which go beyond the simple "Hello exchange", and proceed into the database exchange process. In order to minimize the amount of information exchange on a particular segment, OSPF elects one router to be DR, and one router to be BDR. On each multi-access segment, The BDR takes the role, if DR fails. Routers have a central point of contact for information exchange. Instead of each router exchanges updating with every other router on the segment, every router exchanges information with the DR and BDR. The DR and BDR relay the information to every router at the segment. In mathematical terms, this cuts the information exchange from: O (n2) to O (n) Where n is the number of routers on a multi-access segment. Due to exchanging of Hello packets, all routers share a common multi-access segment. One router is elected

10

Chapter 2 Open Shortest Path First                                                                                                

as a DR and another is elected as a BDR. Each router, on the segment (which already became a neighbor) tries to establish an adjacency with the DR and BDR. Each router, participating in OSPF uses IP multicast address 224.0.0.5 to send "Hello" packets periodically [15]. The adjacency building process takes effect after multiple stages have been fulfilled. Routers that become adjacent have the exact link-state database.

2.4 Route calculation Route calculation determines which paths are selected, to direct data from its sources to its destinations. It gives priorities to paths according to cumulative sum of link weights.

2.4.1 Link-State Algorithm OSPF uses a link-state algorithm in order to, build his routing table [16], and calculates the shortest path to all known destinations (sub networks). The algorithm by itself is quite complicated. The following is a simplified way to describe the various steps of link-state algorithm: • Upon start the routers or due to any change in routing information, a router generates LSA. This advertisement represents the collection of all link-states router. • All routers exchange link-states, by means of flooding. The routing information (i.e., LSA) is flooded within the linkstate routing domain [17]. Each router that receives linkstate advertisement update stores a copy in its link-state database, and propagates to update other routers. • After the database of each router is completed, the router calculates a Shortest Path for all destinations. The router begins to build his routing table. The router uses Dijkstra algorithm to calculate the shortest path for destinations,

11

Chapter 2 Open Shortest Path First                                                                                                

the associated weight, and the next hop to reach those destinations that forms routing table.

2.4.2 Shortest Path First Algorithm (SPF) The shortest path is calculated Using Dijkstra's shortest path algorithm [18]. OSPF mandates that each router computes a tree of shortest paths with itself as the root [19]. This tree shows the best routes to all destinations in the AS. The destination router in the first hop is extracted into the IP routing table. In the case of multiple shortest paths, some vendors have implemented OSPF so that performs load balancing across paths by equally splitting traffic on the corresponding set of next hops [20]. Dijkstra algorithm steps can be stated as following:1. The distance, between routers can be referred as weights. 2. Creates four types of lists (a distance list, a previous vertex list, a visited list, and a current vertex). 3. All the values in the distance list are set to infinity except the starting vertex is set to zero. 4. All values in visited list are set to false. 5. All values in the previous list are set to a special value signifying that they are undefined, such as null.

6. Current vertex is set as the starting vertex. 7. Mark the current vertex as visited. 8. Update distance and previous lists based on those vertices which can be immediately reached from the current vertex. 9. Update the current vertex to the unvisited vertex that can be reached by the shortest path from the starting vertex. 10. Repeat (from step 7) until all nodes are visited. The result of these steps determines the shortest path to each destination based on cumulative weight (cost). Because each router knows the complete topology, each

12

Chapter 2 Open Shortest Path First                                                                                                

router can compute all needed shortest Paths, even though all the routers build a shortest path tree using the same link-state database.

2.4.3 OSPF weights calculation OSPF calculates routes as follows. Each link is assigned a dimensionless metric, denoted weight (w). This integer cost ranges from 1 to 65535 (= 216- 1) and is shown in the link-state database. The cost of the paths is measured as the sum of the weights at all links along the path. Traffic is routed between any two nodes along the minimum cost path, which is computed using Dijkstra’s shortest path first (SPF) algorithm [21]. CISCO (the leader company of the network devises) computes the OSPF weights (costs) is inversely proportion to the bandwidth of that data link (BW). A higher bandwidth indicates a lower weight. It means that OSPF prefers to send data over high bandwidth links than low bandwidth links. Equation 2.1 used to calculate W = 108/BW (bps)

the weight.

(2.1)

2.4.4 Shortest Path Tree Network shown in figure 2-2 consists of seven routers with nine links; and weights are assigned at each interface. In order to build the shortest path tree for router Y, router Y is taken as a root of the tree, and calculating the smallest cost for each destination. Y

W 2

4

3

3

2

T

4

S

Q1

2

1

2

1

1

2

5

3

2

3

Z

X

Figure 2-2 Example of How OSPF selects shortest path

13

Chapter 2 Open Shortest Path First                                                                                                

When Router W sends data to router X, so which path is taken? There are four paths from router W to router X. WYSX, WYQX, WYTX and WZX. Cost of WYSX= 3+4+1 = 8, cost of WYQX= 3+3+2=8, cost of WYTX=3+3+1=7 and cost of WZX= 1+2= 3 so, cost of path WZX is the shortest path, then data takes path WZX when packet is sent from Y to X, Then when the router builds his shortest path tree, it prefers to use path WZX, and delete all other paths from shortest path tree.

2.5 OSPF Packet 2.5.1 OSPF Packet Types There are five type of OSPF packet [22]: • Hello: Establishes and maintains neighbor relationships. • DataBase Description (DBD): Describes the contents of the topological database. These messages are exchanged when an adjacency is initialized. • Link-State Request (LSR): Requests pieces of the topological database from neighbor routers. These messages are exchanged after a router discovers. • Link-State Update (LSU): Responds to a link-state request packet. These messages also are used for the regular dispersal of LSAs. Several LSAs can be included within a single link-state update packet. • Link-State Acknowledgment (LSAck): Acknowledges link-state update packets.

2.6 Link-State Data Structures Figure 2-4 shows link state updates flow chart. Each LSA entry has its own aging timer, which the link-state age field carries. The default timer value for OSPF is 30 minutes [23]. After a LSA entry ages; the router that originated the entry sends the LSA, with a higher sequence number, in a LSU to verify that the link is still active. The LSU contains one or more LSAs. This LSA validation method saves the

14

Chapter 2 Open Shortest Path First                                                                                                

bandwidth compared with distance vector routers, which send their entire routing table at short intervals.

Is entry on LSD?

LSU

Yes

Is sequence no the same

Yes

Ignore LSA

No

No Yes Add to database

Is sequence no higher?

Send LSACK Flood LSA

No

Run SPF to calculate new routing table

Send LSU with newer information to source

End

End

Figure 2-4 Flow chart of link state updates [13] When each router receives the LSU, and LSA does not already exist, the router does the following: • Adds the entry to its link-state database (LSDB) (A full OSPF LSDB provides a complete network map of the connectivity and default link weights of the network topology [24]). • Sends a link-state acknowledgment (LSAck) back. • Floods the information to other routers. • Runs SPF. • Updates its routing table. If the entry already exists and has the same sequence number, the router ignores this entry. If the entry already exists, but the LSA includes newer information (it has a

15

Chapter 2 Open Shortest Path First                                                                                                

higher sequence number), the router adds the entry to its LSDB, sends an LSAck back, floods the information to other routers, runs SPF, and updates its routing table. If the entry already exists but the LSA includes older information, it sends an LSU to the sender with its newer information.

2.7 OSPF LSA Types The set of LSAs in a router's memory is called the link state database and conceptually forms the topology graph for the router [25]. LSAs are the building blocks of the OSPF LSDB. Individually, they act as database records; in combination, they describe the entire topology of an OSPF network or area. Routers running OSPF advertise their link states on LSAs to the network, and OSPF routers can construct a complete view of the topology of the network from these LSAs. OSPF routers also advertise LSAs immediately when they detect the change of their link states caused by failures [26]. LSA advertisements are broken into eleven types [27]:

2.8 Hierarchal natural of OSPF OSPF is a hierarchical routing protocol. A hierarchical architecture provides to OSPF some features like: • Allows the support of large systems [28]. • capability of supporting large scale network • Providing the capability to divide the large network in to numbers of parts (areas) • Save bandwidth. OSPF uses flooding to exchange link-state updates between routers at all network which limits to flood within areas only. • Reduce the size of the Dijkstra calculations.

16

Chapter 2 Open Shortest Path First                                                                                                

Figure 2-5 dividing OSPF domain into many parts The high-level concept is illustrated in Figure 2-5 for a domain partitioned into four non-backbone areas [29]. Areas are developed in OSPF to limit a boundary on the explosion of link-state updates. Flooding and calculation of the Dijkstra algorithm on a router is limited to changes within an area. In OSPF network shown in figure 2-6, routers are classified to many types according to its configuration such that:• Routers that belong to multiple areas, and connect these areas to the backbone area are called Area Border Routers (ABR). • A router that has all of its interfaces within the same area is called an internal router (IR). • Routers, that act as gateways (redistribution) between OSPF, and other routing protocols or other instances of the OSPF routing process are called autonomous system boundary router (ASBR). Any router can be an ABR or an ASBR. OSPF protocol uses a two-layer area hierarchy: Transit area: An OSPF area, whose primary function is the fast and efficient movement of IP packets. Transit areas interconnect with other OSPF area types. OSPF area 0, also named the backbone area which distributes routing information among various types of non-backbone areas [30]. Regular area: An OSPF area, whose primary function is to connect users and resources. Regular areas are usually set up along functional or geographical groupings. A regular area does not allow traffic from another area to use its links to reach other areas. All traffic from other areas must cross a transit area such as area 0.

17

Chapter 2 Open Shortest Path First                                                                                                 Area 1

Area 2

Area 0

Backbone Internal Router

Internal Routers ABR ASBR External AS

Figure 2-6 OSPF area structure As mentioned before, OSPF protocol generates routing updates only when a change occurs in the network topology or at long period 30 minute. When a network link changes its state (i.e., goes up or down), the network is flooded with a link state advertisement (LSA) message [31]. Each router takes a copy of the LSA, updates its LSDB, and forwards the LSA to all neighboring routers. The LSDB is used to calculate the best paths through the network. It contains all routers, and their attached links in the area or network. Network hierarchy makes network protocols more scalable and robust, but also makes the network more complex and reduces the performance [32].

18

                                                                                               

Chapter 3

Advanced Features of OSPF 3.1 Introduction The "Open" in OSPF indicates that the routing protocol specification is publicly available. OSPF protocol was developed due to a need in the internet community to introduce a high functionality non-proprietary IGP for the TCP/IP protocol family. OSPF divides networks according to its physical topology. OSPF introduced new concepts such as authentication of routing updates, route summarization, and OSPF specification; also allowed for Type of Service (TOS) based routing [33]. OSPF was conceived at the successor to RIP and as such has a number of advanced features.

3.2 OSPF Network Types OSPF protocol defines three types of networks, based on their physical link type. OSPF operation on each type is different; including how adjacencies are established and the configuration required. There are three types of networks that are defined by OSPF

Point-to-point,

Broadcast,

and

Nonbroadcast

19

multi-access

(NBMA)

Chapter 3                                                Advanced feature of OSPF                                                                                                   3.2.1 Adjacency Behavior for a Point-to-Point Link Router A

Router B

Router C

Figure 3-1 direct connection between routers A point-to-point network joins a single pair of routers. Which, the router dynamically detects its neighboring routers by multicasting its hello packets to all OSPF routers, Figure 3-1 shows a point-to-point network between router A, router B, and router C which are directly connected. The default OSPF hello and dead intervals on point-to-point links are 10 seconds and 40 seconds, respectively [34].

3.2.2 Adjacency Behavior for a Broadcast Network Link

Router A

Router C

Router B

DR

BDR

Figure 3-2 DR and BDR multi-access connection An OSPF router on a multiaccess broadcast network such as Ethernet forms an adjacency with its DR and BDR as shown in Figure 3-2. Adjacent routers have synchronized LSDBs. A common media segment is the basis for adjacency, The routers on a segment must elect a DR and a BDR to represent the multiaccess broadcast network.

20

Chapter 3                                                Advanced feature of OSPF                                                                                                   The DR and BDR improve network functioning in the following ways:

1. DRs and, BDRs are responsible for issuing property updates for the subnet, and its associated links (managing link-state synchronization). 2. They help to limit the number of peering relationships established over a particular subnet. Routers on a broadcast subnet peer only with the DR and BDR for the network, rather than having to peer with all routers on the subnet (reducing routing update traffic) [35].

3.2.3 Adjacency Behavior for an NBMA Network

X.25 Frame Relay ATM

Figure 3-3 Routers connected in NBMA network When a single interface interconnects multiple sites over an NBMA network, the nonbroadcast nature of the network can create reachability issues. NBMA networks can support more than two routers, but have no broadcast capability. Figure 3-3 shows routers connected in NBMA network. If the NBMA topology is not fully meshed, then a broadcast or multicast sent by one router will not reach all the other routers.

3.3 Route Summarization The most advantages of the route summarization are: • Scalability. 21

Chapter 3                                                Advanced feature of OSPF                                                                                                   • CPU and memory utilization.

• Ability to mix small routers with large routers. A key feature of OSPF is the ability to summarize routes at area and autonomous system boundaries [36]. In order to scale for large networks containing hundreds and thousands of subnets, OSPF supports a two-level hierarchical routing scheme through the use of OSPF areas. Subnet addresses within an area are aggregated, and this aggregation is a crucial requirement for scaling OSPF to large AS domains [37], With route summarization, only summarized routes propagate into the backbone (area 0) and summary-LSAs are generated by ABRs for the destinations outside the area [38]. This summarization is important because it prevents every router from having to re-run the SPF algorithm, increases the stability of the network, and reduces unnecessary LSA flooding. The two types of summarization are Interarea route summarization and External route summarization

3.4 OSPF Special Area Types The OSPF divides a domain into a two-level hierarchy of areas, where the root is the backbone area connecting all other areas at the second level [39].Open Shortest Path First Protocol defines several special-case area types, including stub areas, totally stubby areas, and not-so-stubby areas (NSSAs), all these types are considered the second level.

3.5 Authentication Recently, the security of routing protocols has received a lot of attentions because the Internet and commercial backbone networks are critical infrastructures that need security protections [40].

22

Chapter 3                                                Advanced feature of OSPF                                                                                                  

OSPF is more secure than RIP, featuring several built in security mechanisms. It is pointed out that there are characteristics of link-state routing protocols, with respect to distance vector protocols, which make them more robust to some attacks [41]. Three different approaches to insure authenticity and integrity of routing messages between neighbors are specified in OSPF v2: •

None: No authentication or integrity assurance is used.

• Plain-text authentication: a clear text password is transmitted between neighbors to insure authenticity of messages. • Cryptographic Authentication: A keyed hash or message authentication code is transmitted to ensure authenticity and integrity which Message Digest 5 (MD5) authentication is used. While authentication is important and prevents foreign devices from suddenly appearing on the network, it does not prevent against insiders modifying flooded information. If a valid router becomes subverted or begins malfunctioning, it may flood incorrect data about its connected links, or it may modify information sent by other routers, or even impersonate other routers by originating data appearing to come from another router. That is results in the poisoning of routing tables for other routers in the domain. A poisoned routing table is one that contains information that does not reflect the actual topology of the network [42].

3.6 Type-of-service (TOS) One of the most important OSPF features is routing based on upper-layer type-ofservice (TOS) requests. TOS-based routing supports those upper-layer protocols that can specify particular types of service. An application, for example, might specify that certain data is urgent. If OSPF has high-priority links at its disposal, these can be used to transport the urgent datagram. TOS makes it possible to create some priority treatment of traffic based on its type [43].

23

Chapter 4

OSPF Case Study in Hybrid Network 4.1 Introduction On financial business, reliability of any company is the important factor to success, in IT world all data is sent electronically to center processing by network connections. Thus, it should be more than one line connection from branches to head office; many companies prefer to rent a standby network connection from another ISP with other technology. In this chapter, a case study describes a problem that occurs when Open Shortest Path First protocol is applied on a computer network, which consists of two lines with different technologies, is stated. The first technology is frame relay, and the second is MultiProtocol Label Switching (MPLS). Three solutions are proposed to this problem. First solution is using access list, second solution is using redistribute and, the third solution is using virtual routing and forwarding (Vrf). These solutions are implemented on real environment; the results discover that using virtual routing and forwarding method is the best solution.

24

   Chapter 4                                                 OSPF in Hybrid Network Routing protocol is a protocol that is used in determining the path of data packet from source to destination. In a system such as Internet, many different routing protocols are currently used. Internet is organized into a collection of Autonomous Systems, each of which is normally administered by a single entity. Each AS selects its own routing protocol to communicate between the routers within the AS. This is called an Interior Gateway Protocol or intradomain routing protocol. The most popular IGP has been the Routing Information Protocol. A newer IGP is Open Shortest Path First protocol. It is intended as a replacement for RIP. The IGP handles routes to destinations within the Autonomous System, but does not calculate routes beyond the AS boundary [44]. Separate routing protocols called Exterior Gateway Protocols or interdomain protocols are used between the routers in different ASs. A newer EGP is the Border Gateway Protocol. Each AS is composed of multiple networks operated under the same authority [45]. OSPF is famous intradomain protocol. When OSPF protocol is applied on pure frame relay network, there is no problem occurring in traffic routing. But, If OSPF protocol is applied on a computer network, which consists of frame relay and MPLS. A big problem in traffic routing is appeared.

4.2 MultiProtocol Label Switching (MPLS) Multi-protocol label switching (MPLS) is a versatile solution to address the problems faced by present day networks (speed, scalability, quality-of-service (QoS) management, and traffic engineering). MPLS is an advanced forwarding scheme that extends routing with respect to packet forwarding and path controlling. MPLS domain is a contiguous set of routers which operate MPLS routing and forwarding, and which are also in one routing or administrative domain [46]. MPLS capable router is called LSR (Label Switching Router).

25

   Chapter 4                                                 OSPF in Hybrid Network When packets enter a MPLS-based network, Label Edge Routers (LERs) gives them a label (identifier). These labels not only contain information based on the routing table entry (i.e., destination, bandwidth, delay, and other metrics), but also refer to the IP header field (source IP address), Layer 4 socket number information, and differentiated service. Once this classification is complete, and mapped, different packets are assigned to corresponding Labeled Switch Paths (LSPs), where Label Switch Routers (LSRs) place outgoing labels on the packets. At the ingress LSR of an MPLS domain, IP packets are classified, routed based on a combination of the information carried in the IP header of these packets, and local routing information maintained by the LSR. MPLS header, called label (identifier) [47], is then inserted for each packet. Within an MPLS domain, LSR will use the label as the index to look up the forwarding table of the LSR. The packet is processed as specified by the forwarding table entry. The incoming label is replaced by the outgoing label, and the packet is switched to the next LSR. Before a packet leaves an MPLS domain, its MPLS header is removed. This whole process is shown in Figure 4-1. The paths between the ingress LSRs, and egress LSRs are called Label-Switched Paths (LSPs). MPLS uses some signaling protocol such as Resource Reservation Protocol (RSVP) [48] or Label Distribution Protocol (LDP) [49] to set up LSPs.

MPLS

Figure 4-1 MPLS forwarding scheme In the Figure 4-1, LSR A uses the destination IP address on each packet to select the LSP, which determines the next hop and initial label for each packet. When LSR B 26

   Chapter 4                                                 OSPF in Hybrid Network receives the packets, it uses these labels to identify the LSPs, from which it determines the next hops (LSRs D and C) and labels. The egress routers (LSRs D and C) strip off the final label and route the packet out of the network. As MPLS uses only the label to forward packets, it is an independent protocol, because of the term "Multi-Protocol" in MPLS. Packet forwarding has been defined for all types of layer-2 link technologies, with a different label encoding used in each case.

4.3 Frame Relay Frame relay is a CCIT and American National Institute (ANSI) standard that defines the process for sending data over a Public Data Network (PDN) In simple terms, Frame Relay is a packet-switched network [50]. It is a communications networking protocol that defines how frames are routed through a fast packet network based on the address field in the frame. The frames contain header information, which tells the intervening network nodes where to route them, and which output port to use. A Permanent Virtual Circuit (PVC) is defined to link the sending and receiving end points. The circuit is bi-directional. Frame relay operates at layer 1 and 2 of Open System Interconnection (OSI) model as shown in Figure 4-2 [51], frame relay neither changes any thing in the transmission data nor interacts with layer 3 routing.

27

   Chapter 4                                                 OSPF in Hybrid Network

Figure 4-2 Layer 2 Frame Relay Frame relay networks simplify the switching process by moving the procedures for recovery from errors and congestion, through internodes packet retransmission and flow control, from the network to the network periphery, or end systems. These strategies also are free the link layer for designating the logical connections, and routing information that is normally carried in layer 3 of X.25-based packets [52].

28

   Chapter 4                                                 OSPF in Hybrid Network

4.4 Problem Description For scalability, OSPF allows the network to be divided into areas to define a two-level hierarchy and minimize routing update [53]. The problem that is discussed here occurs, if OSPF protocol is applied on a network in hub and spoke topology, and each branch has two data lines. One is frame relay connection and the other is MPLS connection. Next section discusses what happens if OSPF is applied on MPLS network. In Figure 4-3, two routers R1 and R2 have a MPLS connection through LSR1 and LSR2. OSPF protocol is applied between R1 and R2, BGP protocol is applied between LSR1 and LSR2. Thus BGP transfers the routing table of R1 through LSR1 and LSR2 to R2 and also transfers routing table of R2 thought LSR2 and LSR1 to R1 by routing redistribution method [54], this method carries OSPF routing tables over BGP traffic routing table. OSPF routing updates are transferred by BGP. When OSPF calculates the shortest path, it considers the routing tables from BGP as an external routing.

MPLS R2

BGP

R1 LSR1

LSR2

OSPF OSPF

Figure 4-3 MultiProtocol label switching However, in frame relay network, there is no dealing with routing tables because routers are connected like leased line, then no changes in routing tables (because frame relay works in layer 2, not layer 3). Then the routing tables are transferred as it is. The routers consider the routing tables that are transferred from the others via 29

   Chapter 4                                                 OSPF in Hybrid Network frame relay link as an internal routing. The diagram of the network is shown in Figure 4-4.

R2

R1

BGP LSR1

Branch 1 LSR2

Head Office

R3

Frame relay

Branch 2

MPLS

Figure 4-4 Network topology R1 is the head office router and have two branches R2 and R3. The branches have two data connections with the head office. R2 has R2-R1 (frame relay connection), and R2LSR2-LSR1-R1 (MPLS connection). R3 has R3-R1 (frame relay connection) and R3LSR2-LSR1-R1 (MPLS connection). OSPF protocol is running among R1, R2 and R3, and BGP protocol is running between LSR1 and LSR2. In normal case, all links is up and running. When R1 (i.e. it works as a head office) sends data to R2 via OSPF protocol, it selects between two paths, First path is "R1R2" namely frame relay path, and the second path is "R1-LSR1-LSR2-R2" namely MPLS path. OSPF protocol selects between the two paths according to weight values of the paths. The path that has low weight is selected, but if OSPF has two type of routing (external routing and internal routing), it selects internal routing regardless of weight values of paths. OSPF always considers the routing that is delivered from another protocol as external routing. R1 and R2 exchange routing tables from the two paths, frame relay path and MPLS path. Frame relay doesn't participate in layer three routing tables. It 30

   Chapter 4                                                 OSPF in Hybrid Network transfers routing tables as it is, but in relation to MPLS, routing tables is delivered by BGP. OSPF considers the routing tables that delivered from BGP as an external routing then R1 considers the routing table from R2 via MPLS path as an external routing, whereas R1 consider the routing table from R2 via frame relay path as an internal routing. Then R1 selects frame relay path "R1-R2" regardless the weights of the two paths. So if R2 sends data to R1 it selects also frame relay path "R2-R1" regardless weight values of the two paths. If frame relay link between R1 and R2 is fail, then the problem could happen. The traffic takes an undesired path. Figure 4-5 shows the network topology when the frame relay link is fail. In this network R1 is the head office. R2 and R3 are branches. R1 is in backbone area (area 0), R2 is in area 2, and R3 is in area 3.

R2

R1

LSR1

LSR2

Frame relay MPLS

R3

Figure 4-5 Frame relay link failure After R1-R2 frame relay link is fail, OSPF protocol starts to convergence to build its routing table, and selects another path of data other than the failed path, when R2

31

   Chapter 4                                                 OSPF in Hybrid Network sends data to R1, OSPF protocol has two routing paths, first path is "R2-LSR2-LSR1R1" and, second path is "R2-LSR2, R3-R1". In all cases, R2 sends data to LSR2, thus LSR2 selects between the two paths "LSR2LSR1-R1", and "LSR2-R3- R1". BGP is running in LSR2, BGP calculates link cost by metric, and it can be controlled, then BGP selects "LSR2-LSR1-R1”, and this is the correct path, there is no problem in selection of routing path in this direction. If R1 sends data to R2, OSPF protocol has to select between two routing paths. First path is "LSR1-LSR2-R2", and the second path is “R3-LSR2-R2” because the first path is updated to R1 via LSR1, and BGP is running in LSR1. R1 considers this route as an external routing. The second path route updates are delivered to R1 via R3, and then it is considered an internal routing because it is delivered from R3 via frame relay link and R3 takes this route update from LSR2. OSPF protocol is running in LSR2 then R3 takes the route of R2 as an internal routing, and send this updates to R1 via frame relay path R3-R1. Then the routing table that delivered to R1 for R2 via R3 is internal routing. OSPF selects "R1-R3-LSR2-R2" the internal routing path regardless of weights values of links. It is an error path because R2 leaves its own MPLS backup path without any traffic, and uses R3 frame relay path. Figure 4-6 shows the error path that data takes when frame relay link is fail. This error in OSPF traffic routing causes congestion in one line and leaves another link without any traffic. The proposal methods include several solutions for solving this problem.

32

   Chapter 4                                                 OSPF in Hybrid Network R2

R1 LSR1

LSR2

R3

Frame relay MPLS

Figure 4-6 error path will be taken if frame relay is fail

4.5 Implementation and Evaluation The solution is implemented on real environment, where R1 is router cisco7500; and R2, R3 is router Cisco 2600. The solution is applied on thirty routers 2600 connected with four routers 7500. It means that there are thirty branches and four routers as a head office router. The four routers are connected in full mesh topology. There are two sites. Each two routers are placed in site. Each branch has four connections with the two sites. Two of them are frame relay connection, and other two are MPLS connection, the topology of the test bed network is shown in Figure 4-7. For simplicity, a router 7500 as a head quarter, and only two branches are taken because the branches are identical. This model is shown in Figure 4-4. The reason of problem is that R3 advertises R2 routing table to R1 as an internal routing, whereas LSR1 advertises R2 routing table to R1 as external routing, thus there are two ways of solutions; first way, it consists of one method (access list method), and the idea is preventing R3 from updating R1 by R2 routing table, Second way: there are two methods (Routing conversion method, and Vrf (virtual routing and forwarding) method). It forces R3 to advertise R2 routing table to R1 as external routing.

33

   Chapter 4                                                 OSPF in Hybrid Network Branch A

Frame relay Cloud

MPLS Cloud

Switch 6500

Switch 6500

Router 7500

Router 7500

Switch 6500

Switch 6500

Router 7500

Router 7500 Frame relay Cloud

MPLS Cloud

Branch B Figure 4-7 the whole network architecture

4.5.1 First way of solutions: Access list method 34

   Chapter 4                                                 OSPF in Hybrid Network This method depends on the idea of preventing R3 from advertising R2 routing table to R1 via frame relay connection. The reason of the problem is, R1 gets R2 networks advertisement from R3, and R3 gets this updates from LSR2 then, if R3 is prevented from getting routing updates of R2 networks from LSR2, then R3 do not advertise any R2 routing table, when R1-R2 frame relay link fails. R1 will have only one path to R2, it is done by editing “access list” as the following:

ip access 101 ip deny A.B.C.D any router ospf 1 Redistribute aceess-group 101 in

Where A.B.C.D is IP addresses of R2 and 101 is access list ID. The access list “ip access 101 ip deny A.B.C.D any” means that it selects any packet which has source IP addressee like “A.B.C.D” and, has in destination addressee any IP. The statement “router ospf 1” means that enable OSPF routing protocol at this router with process ID =1. “Redistribute access-group 101 in” means, that applying the access list with ID 101 to the routing table of the OSPF process 1. This means, denying any updates of network A.B.C.D in routing table. This access list is applied in R3 manually by network administrator, and is put in global configuration mode. This access list denies any routing updates for R2 from LSR2 to R3, then R3 does not advertise any routing updates for R2 to R1 then R1 has only one path to R2 via MPLS. This method is applied and successively overcomes the error in routing selection, where R1 selects R1-LSR1-LSR2-R2 path, if R1-R2 frame relay connection fails instead of R1-R3-LSR2-R2 as shown in Figure 4-6 and figure 4-8.

R2

R1

LSR1

LSR2

35

Access list put here

   Chapter 4                                                 OSPF in Hybrid Network

Figure 4-8 Access list solution

4.5.2 Second way of solutions Routing conversion method: It depends on enforcing R3 to advertise R2 routing as an external routing. This is done by forcing R2 to advertise its routing table as an external routing. Figure 4-9 shows the direction of routing advertisement. By changing the configuration of R2 in order to, force R2 advertising its routing table as an external routing. This is done by redistributing the R2 direct network connected under OSPF routing. Then routing table of R1 is advertised to R3 as an external routing. R3 transfers this routing update as it is, via "R3-R1" frame relay path to R1 then the routing of R2 network is reach to R1 via R3 as an external routing and also LSR1 advertises R2 routing as external routing. Thus OSPF selects between two external routing paths “R1-LSR1-LSR2-R2", and "R2-R3-R1". Path selection process is controlled by adjusting the metric of redistribution. The metric is a parameter assigned to the redistribution command to weight the link cost of routing that is generated by this redistribution.

The following is an example of the configuration that is done in R2. Router ospf 1 Redistribute connected 36

   Chapter 4                                                 OSPF in Hybrid Network

Where router OSPF 1 means creating process instance number 1 to OSPF protocol, and redistribute connected means, advertising all direct connected networks to all subnets in the network.

R2 R2 Advertise routing as external routing

R1

LSR1

LSR2

Frame relay

R3

MPLS

Figure 4-9 Routing conversion method This method successively overcomes the problem, and the traffic routing takes the correct path.

Virtual routing and forwarding (Vrf) method: This method also depends on forcing R3 to advertise R2 connected networks as an external routing. Vrf divides router into two virtual routers by creating two Vrf which is shown in figure 4-10, one Vrf for each router R2, and R3. Each Vrf has its routing table, and then BGP transfers the routing updates from Vrf of R2 to Vrf of R3. The routing tables are transferred as an external routing. When R2 advertises its routing to Vrf of R2, BGP transfers this routing table to Vrf of R3; this routing table transfers to R3 as an external routing. R3 transfers the routing table for R2 to R1 via frame relay link as

37

   Chapter 4                                                 OSPF in Hybrid Network an external routing, and then the routing selection is controlled by metric as it is done with the later method.

R2 R1

LSR1

LSR2

R3 vrf R2 vrf

R3

Frame relay MPLS

Figure 4-10 VRF divide LSR2 router This method successively overcomes the problem, and the traffic routing takes the correct path. All configurations are done at the ISP site, there is not any configuration added in customer routers site.

4.6 Summary Access list method has many disadvantages, that it increases customer router processor utilization (branches), and also is configured at another branch router R3. It changes routing table, and that is not recommended, but it is easy to configure, if some error happens in configuration, it is very difficult to trace the problem, and if any branch wants to connect with the another branch, the configuration of the router at the branch has to be changed manually to delete the access list. Routing conversion method it is easy to implement, but it is not work at all internetwork operating system, CISCO router operating system (IOS) versions, but there is no affect for this method in router processor utilization. It is better than the previous method because in this method, there is not any configuration at another

38

   Chapter 4                                                 OSPF in Hybrid Network branch router. The last method, Vrf is the best one because of no configuration is done in customer router, and this keeps the main advantage of MPLS where customer does not treat with ISP core network. The performance is very good, and this is the important factor, this method has disadvantage that if the two branches want to connect with each other, it has to connect via head quarter routers, but the probability of connecting a branch with other is rarely, because the data is processed centralized. The comparison between three methods of solutions is summarized in the following Table 4.1,where Customer router utilization means Customer router processor utilization, ISP router utilization means internet services provider router processor utilization, Complexity of configuration means number of configuration lines and performance means author opinion. Table 4.1 comparison between three methods

Access list

conversation

Vrf

increase

No effect

No effect

No effect

increase

At Customer

At Customer

At ISP

router

router

router

Troubleshooting

difficult

easy

Difficult

Complexity of

Easy

Very easy

difficult

good

accepted

Very good

Customer router utilization ISP router utilization Where to configure

Increase

Routing

dramatically

configuration Performance

39

Chapter 5

A Survey for OSPF Weight Setting (OSPFWS) Problem 5.1 Introduction Open shortest path first is the most commonly used intera-domain routing protocol. It used to select the paths which traffic will take when it is routed within autonomous systems. OSPF calculates routes as follow. Each link is assigned weights by operator. Each node in the autonomous system computes shortest paths and creates destination tables used for routing data to next node on the path to its destination. Shortest paths are selected according to path cost. Path cost is determined by sum of its link weights. SO link weights values determine the shortest paths, in which turn determine the routing of network traffic flow. OSPF weights setting problem is to find a set of OSPF weights that optimizes network performance. OSPF weights setting problem is an NPhard problem.

40

  Chapter 5                                                               OSPFWS Problem In the last couple of years, various algorithms for OSPF weights setting problem are proposed. In this chapter, a survey of OSPF weights setting algorithms is presented and comparison of their performances is made. Traffic engineering aims to make more efficient use of network resources. Although it does not increase the bandwidth of the network, it enables sender to transmit more demands. With the growth of the internet, traffic approximately is doubling each year [55]. These developments highlight the important of traffic engineering. OSPF runs at most IP large network that directs traffic based on dimensionless static link weights. OSPF requires nodes to exchange routing information with all other nodes in the AS each node has to have completed network topology knowledge for computation of shortest paths. OSPF mandates that each node computes a graph of shortest paths with its self as a root [56]. This graph gives the least weight routes to all destinations nodes. In the case of multiple shortest paths, OSPF uses load balancing, and splits the traffic flow over several shortest paths which leaving from each router [57]. Weights are assigned by the network operator. It is ranging from 1 to 65535. The lower the weight, the greater the chance that traffic will be routed on that link. CISCO, a leader router vendor, by default assigns OSPF weights as inverse of the link capacity, and then the shortest paths is the higher bandwidth links. Because CISCO does not take into account traffic demands when calculates weights. This type of assigning weights does not guarantee that the network does not run efficiently. Then OSPFWS problem is determining weights to be assigned to links so as to optimize a cost function typically associated with network utilization measurement. Solutions are classified to four types according to which algorithm are used for solving as following: (1) Local search algorithm. (2) Genetic algorithm. (3) Simulated annealing algorithm.

41

  Chapter 5                                                               OSPFWS Problem (4) Hybrid genetic algorithm (i.e. genetic algorithm with local search algorithm).

5.2 Problem Formulation The general routing problem is defined as follows: If the network is represented in a directed graph, G (N, A) whose nodes and arcs represent routers and the links between them. Each arc (a) has a capacity C (a) which is the amount of traffic flow that the link can carry. For each pair S and T of nodes, there is a demand matrix D that tells how much traffic send from S to T where S as the source and T as the destination of the demand. Many of the entries of demand matrix D may be zero, and in particular, D (S, T) = 0 if there is no traffic flow from S to T in G (N, A). The general routing problem is defined like "there are no limitations to how the flow demand can be distributed between the paths from S to T". In order to evaluate the effectiveness of the different solutions to OSPFWS problem a linear multi-commodity flow routing problem (general routing problem) is solved with piecewise linear cost function, the general routing problem can be formulated as following: Let L (a) is the sum over all demands of the amount of flow for that demand which is sent over link a. then utilization of link a is L (a)/C (a) The objective function here is L (a) not excess C (a) for avoid congestion then the cost functions Φ is the sum of all costs of links at G (N, A). The cost function can be formulated as in [54] as follows: Φ=



Φa (L(a))

for all a ∈ A , Φa (0) = 0 and

a∈A

42

  Chapter 5                                                               OSPFWS Problem

Φ(x) =

1 3 10 70 500 5000

for 0≤ for 1/3 ≤ for 2/3 ≤ for 9/10 ≤ for 1≤ for 11/10 ≤

x / c(a) < 1/3 x / c(a) < 2/3 x / c(a) < 9/10 x / c(a) < 1 x / c(a) 1. Then optimal routing problem can be formulated as the following linear program [58]

Where fa(s,t) is the traffic demand that flow from node s to node t and pass on link a. The above formula is used in most solutions of OSPFWS problem. It is only used for comparison. 43

  Chapter 5                                                               OSPFWS Problem

Figure 5-1 Evolution of cost function with link load and C (a) = 1[54]

5.3 Local Search Method Local search is a metaheuristic [59] for solving computationally hard optimization problems. Local Search also referred to as Neighborhood Search or Hill Climbing which is the basis of many heuristic methods for combinatorial optimization problems. In isolation, it is a simple iterative method for finding good approximate solutions. The concept is try and error. Local search is used on problems that are formulated as finding a solution maximizing or minimizing a criterion among a number of candidate solutions. Local search algorithms move from solution to solution in the space of candidate solutions (the search space) until a solution deemed optimal is found or a time bound is elapsed [60]. A local search algorithm starts from a candidate solution, and then iteratively moves to a neighbor solution. This is only possible if a neighborhood relation is defined on the search space. Typically, every candidate solution has more than one neighbor solution; the choice of which one to move to is taken using only information about the

44

  Chapter 5                                                               OSPFWS Problem solutions in the neighborhood of the current one, hence the name local search. When selecting the neighbor solution is done by taking the one locally maximizing the criterion, the metaheuristic takes the name hill climbing. Termination of local search can be based on a time bound. Another common choice is to terminate when the best solution found by the algorithm is not improved in a given number of steps. Local search algorithms are typically incomplete algorithms, as the search may stop even if the best solution found by the algorithm is not optimal. This happens even if termination is due to the impossibility of improving the solution, as the optimal solution can lie far from the neighborhood of the solutions crossed by the algorithms. For the purposes of explaining local search, the following definition of a combinatorial optimization problem is considered. A combinatorial optimization problem is defined by a pair (X, F), where X is the set of all feasible solutions (i.e. solutions which satisfy the problem constraints) and F is the objective function that maps each element x in X to a real number. The goal is to find the solution x in X that minimizes the objective function F. The problem is stated as: min F(x). Local search can be used in OSPFWS problem. Benard and Fortez [58] are taken as an example for using local search to solve OSPFWS problem. They developed efficient algorithm using local search heuristic. The aim is determining a weight vector values that achieve the object function. The differences between local search heuristics arise essentially from how to select neighborhood, the way that it is explored, and the choice of the next solution from the neighborhood. Descent methods consider the entire neighborhood, select an improving neighbor and stop when a local minimum is found. They start with randomly generated weights values and defined it are moves up on, one of two operations applied to weight values: (1) Single weight change. They change one weight and start in process. (2) Evenly balancing flows.

45

  Chapter 5                                                               OSPFWS Problem They set the weight in order to split the flow of data as evenly as possible between different arcs. Local minimum problem is the most drawback of local search algorithm where the neighborhood exploration does not lead to a solution better than current one although it is often far from the optimal solution of the problem, they solve Local minimum problem by diversification. They used hashing table, this table generally reset at the end of all iterations, if the neighborhood exploration does not lead to a solution better than the current one, and they do not reset the table. If this happens for several iterations, more and more collisions occur and more potentially good solutions will be excluded, forcing the algorithm to escape from the region currently explored. For these collisions to appear at a reasonable rate, the size of the secondary hashing table must be. This approach for diversification is useful to avoid regions with a lot of local minima with the same cost, but it is not sufficient to completely escape from one region and go to a possibly more attractive one. Therefore, each time the best solution found is not improved for 300 iterations; they randomly perturb the current solution in order to explore a new region from the search space. The perturbation consists of adding a randomly selected perturbation, uniformly chosen between -2 and +2, to 10% of the weights small compared to the primary one. In their experiments, its size is 20 times the number of arcs in the network. Another problem due to local minimum is cycling, Tabu search algorithms is used (Glover [61]), for example, make use of a Tabu list that records some attributes of solutions encountered during the recent iterations and forbids any solution having the same attributes. They prove that by using local search for the same network and capacities, it could support a 50%–110% increasing in the demands.

5.4 Genetic Algorithm A genetic algorithm (GA) is a search technique used in computing to find exact or approximate solutions to optimization, and search problems. It derived from the principles of natural selection, and evolutionary theory [62, 63]. To use genetic algorithm, Two things have to be defined a genetic representation of the solution 46

  Chapter 5                                                               OSPFWS Problem domain, and a fitness function to evaluate the solution domain. Representation of the solution domain in OSPFWS problem is a value in the search space [1, 65535]; all values in the search space represent feasible solutions. In OSPWS problem Representation of solutions is in form of weights of links arrays. The fitness function determines the fitness weight values that achieve the object function. • First step: tailing of genetic algorithm for OSPFWS problem is represented. • Second step: initial population in this step, vectors of solutions is constructed for beginning the optimization process. Random numbers are selected from search space which is taken as solution vector, and all link weight values are set to 1 and are taken as another vector solution .values [1/bandwidth] can also be taken like CISCO recommendation these vectors are used to begin optimization. • Third step: evaluation function means, testing the solution vectors and shows how it fits thought fitness function, it is the basic part in genetic algorithm that each solution is applied in a simulated network or in real network, then generating traffic and measuring the load of links, finally computing the cost function which equal sum of all link utilization, the cost function value is the fitness value. • Fourth step: it is population partition which means arranging the solution vector (individuals) according to their fitness values into three classes: Class A called elite individuals, it contains the best solutions, and class B called middle class. It contains solution between class A, class C, and class C called lower class, and contains the worst solution. • Fifth step: is the parent selection, in this step solutions (parents) are selected to create the next improved solution (generation). Selection can be done like that: (1) random select from class A. (2) select other parent from class B and C. (3)

47

  Chapter 5                                                               OSPFWS Problem leave class A without updates but try to modifies class C by random generated solution. • Sixth step: crossover is used to vary the primary solution (parent) to next solution (child) in other meaning take some gens (weights values) from the first parent and others from the second parent to create the new chromosome (new vector for solution) for the children. • Seventh step: is mutation, it means changing some values of bad gens (weight) which reason of bad result. M. Ericsson, Resende, and Pardalos use genetic algorithm and get good results. They implement genetic algorithm to solve OSPFWS. They find that it was able to increase network traffic by 70% until the network becomes congested [64]. Figure 5-2 shows the all steps of genetic algorithm.

Figure 5-2 Steps of Genetic algorithm 48

  Chapter 5                                                               OSPFWS Problem

5.5 Simulated Annealing Simulated Annealing is a generic probabilistic meta-algorithm for the global optimization problem, namely locating a good approximation to the global optimum of a given function in a large search space. It originated as a generalization of a Monte Carlo method for examining the equations of state and frozen states of n-body systems. The first simulated annealing algorithm was proposed by Metropolis et al. in 1953 [65]. It was motivated by simulating the physical process of annealing solids. The process can be described as follows. First, a solid is heated from a high temperature and then is cooled slowly so that the system at any time is approximately in thermodynamic equilibrium. At equilibrium, there may be many configurations with each one corresponding to a specific energy level. The chance of accepting a change from the current configuration to a new configuration is related to the difference in energy between the two states [66]. S. Kirkpatrick, C. D. Gelatt and M. P. Vecchi were the first to introduce simulated annealing to optimization problems in 1983 [67], Since then, simulated annealing has been widely used in combinatorial optimization problems and has achieved, The power of simulated annealing is that, besides accepting solutions with improved values, it also, to a limited extent, accepts solutions with deteriorated values that is preventing simulated annealing from the problem of local minima. It has also great feature that regardless what values has been chosen at initiation configuration. It produces very good solutions. To use simulated annealing in OSPFWS problem like genetic algorithm, weight vector values are randomly selected to start optimization process. Simulated annealing starts to update any weight in weight vector values to move to another solution at search space, and after that evaluation of the new weight vector values is done like in genetic algorithm at step three, but it is different than genetic algorithm in that, it can accept defected solutions than the current solution by some probability. Simulated annealing is depends on four parameters: the initial temperature (T0), alpha (α), beta (β) and M.

49

  Chapter 5                                                               OSPFWS Problem In simulated annealing, each time the Metropolis loop is called, T is reduced to α M and M is increased to β M. Initial temperature values are set such that all the initial moves are accepted. This process is repeated for all the test cases with different scaled demand values. M. Sqalli, S. Sait, and M. Mohiuddin found that α=0.965, β=1.01, and M=10 are suitable parameters for OSPFWS problem. And simulated annealing is performing better than genetic algorithm [68].

5.6 Hybrid Genetic Algorithm L.S. Buriol, M.G.C. Resende , C.C. Ribeiro And M. Thorup [69] developed Hybrid Genetic Algorithm for OSPFWS problem, It is like genetic Algorithm method, but the difference is after running genetic Algorithm as in section 5.4, a local improvement procedure is applied to each offspring solution which is obtained by crossover from genetic Algorithm. The local improvement procedure analyzes solutions in the neighborhood of a current solution vector in the search for a solution having a smaller routing cost. If such a solution exists, then it replaces the current solution. Otherwise, the current solution is returned as a local minimum. The local improvement procedure is incorporated with the genetic algorithm, to enhance its ability to find better quality solutions with less computational effort. Local improvement is applied to each solution generated by the crossover operator. Besides being computationally demanding, the use of large neighborhoods in a hybrid genetic algorithm can lead to loss of population diversity, and consequently premature convergence to low quality local minima. The local improvement procedure examines the effect of increasing the weights of a subset of the arcs. These candidate arcs are selected among those with the highest routing costs and whose weight is smaller than the maximum weight value. To reduce the routing cost of a candidate arc, the procedure attempts to increase its weight to induce a reduction on its load. If this leads to a reduction in the overall routing cost, the change is accepted and the procedure is restarted. The procedure stops at a local minimum when no improvement results from changing the weights of the candidate arcs. Advantage of hybrid genetic algorithm is: it finds better solutions 50

  Chapter 5                                                               OSPFWS Problem in substantially less computation times and more robust, in the sense that it rarely gets stuck in suboptimal local minima, while the genetic algorithm often does so.

5.7 Discussion and Comparison Local search, Local search is good optimization algorithm used in OSPFWS problem but, it has a problem like local minima. Local minima is a problem which search algorithm stuck in a non optimal solutions Figure 5-3 illustrates point "N" is considered as the local minima point while there is an optimal solution than point "N". Y

N

M X

Figure 5-3 local minima problem It is point "M" but, this problem can be solved. In Local search, diversification can be done by randomly selecting a new neighborhood. It is avoided from getting trapped in local minima valleys. Another problem is cycling which re-computation of same routings under different weight settings. It can be solved by using of hash tables. Genetic algorithm: Ericsson, Resende, and Pardalos compare solving OSPFWS problem by Genetic algorithm with the local search procedure of Fortz and Thorup

51

  Chapter 5                                                               OSPFWS Problem (F&T), they state that the two heuristics find equally good solutions on the AT&T WorldNet backbone network instance, the 2-level hierarchical network instances, and the Waxman graph instances [64]. The running times of Genetic algorithm to solve OSPFWS problem varied from about 10 minutes to about 40 minutes on the IBM machine, while Fortz and Thorup mention CPU times only when they say that 5000 iterations of their algorithm took about one hour [70]. Simulated Annealing, The most merits in using simulated annealing in OSPFWS problem is it accepts worst solution than current solution; this gives this algorithm capability of avoiding local minima while local search algorithm trapped in it. Sqalli, Sait, and Mohiuddin [67] stat that simulated annealing is better than Genetic algorithm in many cases like maximum utilization and extra load. Hybrid Genetic Algorithm: Hybrid Genetic Algorithm finds solutions at least as good as genetic algorithm on all networks, and for all demand levels. It is not only found better quality solutions, but did so in less CPU, It also finds better solutions in substantially less computation times. The experimental results also showed that it is also more robust, in the sense that it rarely gets stuck in suboptimal local minima, while the genetic algorithm often does so. If Hybrid Genetic Algorithm is compared with a local search heuristic, it is more robust than local search algorithms. Hybrid Genetic Algorithm and local search are competitive in terms of solution quality and time. Hybrid Genetic Algorithm is better than local search for some cases of test problems, while local search is better for others. Moreover, the implementation of local search is based on limited-size hashing tables that limit the number of iterations it can perform and, consequently, the solution quality that can be obtained for larger problems [68].

52

  Chapter 5                                                               OSPFWS Problem Table 5-1 Comparison between algorithms Local search

Hybrid Genetic

Genetic

where compared to 50%–110% the InvCapOSPF It is better than increase in heuristic, Genetic and Results the demands increase network local search traffic by 70% rarely gets often gets stuck in The main stuck in Local suboptimal local problem suboptimal minima minima local minima Competitive in terms of It is better than local it is more performance solution search robust quality the algorithm 5000 less will run for iterations Running computation took about approximately 672 time times seconds one hour

53

Simulated annealing It depends on the size of the network avoiding local minima better in maximum utilization and extra load Not mentioned

Chapter 6

Proposed Approaches for OSPFWS Problem 6.1 Introduction A lot of proposals are introduced to solve open shortest path first weight setting problem. local search, genetic algorithm and simulated annealing are The famous algorithms that used for solving OSPWS problem; they are used for optimization. The main problems with pervious OSPFWS problem solutions are considering OSPFWS problem as an optimization problem. Proposed algorithms consider OSPFWS problem as network problem in setting OSPF weights. proposed algorithms manipulate problem of local minima and recycling. In this chapter, two algorithms for OSPFWS problem are proposed and two methods for updating weights are explained. The first method is used in algorithm 1 and the second method is used in algorithm 2, implementation of algorithm 1 and algorithm 2 is explained in details and comparison between the two algorithms and legacy methods is done

54

Chapter 6

Proposed Approaches of OSPFWS Problem

6.2 Solutions paths After studying most of famous methods for solving OSPFWS problem, it is cleared that all solutions follow nearly the same steps in solving, but every solution has its different concepts according to author proposal or used algorithms. First step is tailed the problem to be suitable for applying algorithm on it. Solutions take the path as fellow:• Solutions of OSPFWS problem are in form of set or array including network link weights values. • Creating an instance of the solutions (arrays of weights), the initiated solution can be taken as (random, unique all weights equal to one, inverse of capacity (1/ bandwidth)). • Running selected algorithm on the array of weights. • The selected algorithm updates weights according to its technique and author proposal. • All algorithms have to test the solution before moving to next step. • This test depends on object function.

• The end-ness of the algorithm depends on, no improving in solution or after limited numbers of iterations.

55

Chapter 6

Proposed Approaches of OSPFWS Problem

Start

Initiate weight values

Apply selected algorithm

Modify weights

Evaluated new weights

NO

Test object function YES

End

Figure 6-1 algorithms flowchart for solving OSPFWS problem Figure 6-1 illustrates flow chart of solving OSPFWS problem. The algorithm starts with Initiate weight and ends after weight values satisfy the condition of the object function.

56

Chapter 6

Proposed Approaches of OSPFWS Problem

6.3 Problem solution methods Two methods for updating OSPF weights are proposed, first method is denoted Empty Bandwidth (EM) method and second method denoted Utilization and Empty (UE) method. Algorithm 1 used Empty Bandwidth method whereas algorithm 2 and algorithm 3 used Utilization and Empty method. The proposed method introduces new concepts for solving OSPFWS problem. Empty Bandwidth method depend on empty part of bandwidth when updating weights whereas Utilization and Empty method depends on empty part of bandwidth and also utilization of links.

6.3.1 Empty bandwidth (EM) Method Algorithm 1 uses Empty bandwidth method for updating weights. It depends on updating weights according to empty part of bandwidth. Empty bandwidth method follows a new technique in updating weights; it computes empty part of bandwidth according to this formula. Ea = Ca – La

6.1

Where Ea is the empty bandwidth of the link Ca is the capacity of the link; it is equal to the amount of traffic that can pass across the link without any congestion. La (load) is the amount of traffic that acutely passes across the link. And update weights as following: • Decrease weight of more free bandwidth link (E+)

57

Chapter 6

Proposed Approaches of OSPFWS Problem

• Increase weight of less free bandwidth link (E-) Other method uses utilization in updating weights. Link utilization can be computed by this formula: U a = La / Ca Where U

a

6.2

is the utilization of the link and La, Ca are defined before, it denoted

utilization method, And update weights as following: • Increase weight of more utilized link (U+) • Decrease weight of less utilized link (U-) So Empty bandwidth method tends to direct data across the link that has more empty bandwidth, it is different than utilization method, utilization method prefers to direct data across the link that has less utilization, but not in all case the link that has less utilization, has also more empty bandwidth. Advantages of using Empty bandwidth in updating weights over using link utilization can be explained in next example. Router B

Router A

Router C

Router D

Figure 6-2 traffic path when using empty bandwidth Figure 6-2 shows an example to explain the advantage of using Empty bandwidth method in updating weights over using link utilization. It consists of four routers 58

Chapter 6

Proposed Approaches of OSPFWS Problem

connected with each other. Link bandwidth (CAB) between router A and router B is 128kbps. Link bandwidth (CAD) between router A and router D is 1Mbps. Link bandwidth (CBC) between router B and router C is 128kbps, link bandwidth (CDC) between router D and router C is 1Mbps. Also suppose, the load (LAB) between router A, and router B is 1 kbps, the load (LAD) between router A, and router D is ½ Mbps, the load (LBC) between router B, and router C is 1kbps, and the load (LDC) between router D, and router C is ½ Mbps. So , if router A wants to send data to router C ,then router A will have to select between two paths, first path is (router A , router B , router C), and second path is (router A , router D , router C ). In relation to utilization method, it tends to send data on low utilized links, but empty bandwidth method tends to send data on biggest empty (unallocated) bandwidth regardless the utilization. If router A decides to use utilization (U) to determine which path it takes. The utilization is computed using equation (6.2). Then first path links utilization is computed as follow: UAB = LAB / CAB = 1/128 UBC = LBC / CBC = 1/128 U1= UAB + UBC = 2/128 And second path links utilization is: UAD= LAD / CAD =512/1024 UDC= LDC / CDC=512/1024 U2= UAD + UDC = 1 59

Chapter 6

Proposed Approaches of OSPFWS Problem

Thus U1 < U2, router A tends to decrease weights of the first path (router A router B router C) links to send data across it, although the first path has smaller empty bandwidth than second path. But, if router A uses empty bandwidth method to decide which path will be selected so equation (6.1) is used to compute empty bandwidth. The empty bandwidth of the first path is EAB = ( CAB - LAB ) EBC= ( CBC - LBC ) EAB = (128 – 1) = 127K/S EBC= (128 -1) =127K/S And the empty bandwidth of the second path is: EBC= ( CAD - LAD ) E DC = ( CDC - LDC) EBC = (1024 – 512) = 512K/S E DC = (1024 – 512) = 512K/S Then decreasing the weights values for the second path (router A, router D, router C) to enable router A send data across it. So without using empty bandwidth method: • router A cannot send more than 127 kb/s • if router A send more than 127 kb/s the link will be congested

60

Chapter 6

Proposed Approaches of OSPFWS Problem

With using empty bandwidth method: • route A can send up to 512 kb/s • The network supports more traffic without increasing bandwidth

6.3.2 Utilization & Empty bandwidth (UE) method Algorithm 2 and algorithm 3 use Utilization and Empty method for updating weights. The results indicate that Utilization and Empty method is better than empty bandwidth method. UE method is considered as a mixed method for updating weights between Utilization method and empty bandwidth method. So Utilization and Empty method updates weight according to empty part of bandwidth and also according to link utilization; so Utilization and Empty method updates weights as following: • Increase weight of more utilized link (U+) • Decrease weight of less utilized link (U-) • Decrease weight of more free bandwidth link (E+) • Increase weight of less free bandwidth link (E-) If the four steps are put in probability order, it will be sixteen probabilities, a case study is taken and the sixteen probabilities are tested, after testing the sixteen probabilities it was experimentally found that the following probability give the best results. • Increase links weight value with high utilization (U+) • Decrease links weight value with low utilization (U-) • Increase links weight value with less bandwidth (E-)

61

Chapter 6

Proposed Approaches of OSPFWS Problem

Results indicate that Utilization and Empty method is better than empty bandwidth method. the two methods is compared it found that in most cases Utilization and Empty method give better results than empty bandwidth regard cost function and link utilization . Empty bandwidth method is better than Utilization and Empty method in case of most links have not same bandwidth

6.4 Proposed algorithms Algorithm 1 uses empty bandwidth method for updating weights while algorithm 2 uses Utilization and Empty method for updating weights also. Both algorithms use a technique for avoiding local minima problems where both algorithms accept all solutions regardless the solution is good or bad than the pervious solution but keep the best solution until reach final solution and stop after perform number of iteration this number is experimentally determined, next section illustrates the implementation of proposed algorithms. Algorithm 1 denoted by alg1 and algorithm 2 denoted by alg2

6.5 Implementation In this thesis network simulator 2 (NS2) is used for implementing the proposed algorithms, NS2 is the famous network simulator all over the world. It is open source code and it is well deign, it is tested from a lot of organization and can be trusted, NS2 can be installed on two platforms: Microsoft windows XP with help of CGYWIN, and Linux. CGYWIN prepares an environment like Linux environment on Microsoft windows platform (win32) and so, Linux programs can be installed on Microsoft windows, and runs. Because NS2 runs only on Linux, CGYWIN should be used to install NS over Microsoft windows platform. In implementing proposed algorithms, NS2 is installed on Linux (red hat) and, also in windows XP with help of CGYWIN. NS2 can be programmed by language called Tool Command Language (TCL).

62

Chapter 6

Proposed Approaches of OSPFWS Problem

Tool Command Language is a very powerful computer language; it is easy to learn dynamic programming language like TCL, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, TCL is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.

6.6 The Network Simulator (NS2) NS2 is a discrete event simulator targeted at networking research. NS2 provides substantial support for simulation of TCP, routing, and multicast protocols over wired, and wireless (local and satellite) networks. NS2 begin as a variant of the REAL network simulator in 1989, and has evolved substantially over the past few years. In 1995 ns development was supported by DARPA through the VINT (Virtual InterNetwork Test bed) project at LBL, Xerox PARC, UCB, and USC/ISI. Currently ns development is support through DARPA with SAMAN and through NSF with CONSER, both in collaboration with other researchers including ACIRI. NS has always included substantial contributions from other researchers, including wireless code from the UCB Daedelus and CMU Monarch projects and Sun Microsystems.

6.7 Bottleneck of the simulation The Bottleneck of any simulation is how to test the new setting parameter. In case of OSPFWS problem, any new Computing, which the OSPF routing resulting from a given setting of the weights turned out to be the computational bottleneck of the proposal, as many different solutions are evaluated during a convergence.

63

Chapter 6

Proposed Approaches of OSPFWS Problem

6.8 Steps of Simulated program Implementation of proposed algorithms as following:Steps of implementation • Create the topology • Generate traffic • Record traffic load • Evaluate the solutions • Compute empty bandwidth & utilization • Updates weights • Go to generate traffic procedure At the last step, the loop is repeated until program script reaches limited number of iterations or the script gives satisfied results according to cost function, after that the solutions are obtained in form of weight array for network links Figure 7-1 shows the flow chart of implementing steps for proposed algorithms. The TCL script consists of four procedures:• Generate topology procedure. • Generate traffic procedure. • Record traffic procedure. • Update weights procedure.

64

Chapter 6

Proposed Approaches of OSPFWS Problem

6.8.1 Generate Topology procedure In generate topology procedure; TCL script generates a network topology for preparing test bed network. Synthetic internetworks topology is produced using the generator GT-ITM [71], GT-ITM is based on a model of Calvert, Bhattacharjee, Daor, and Zegura [72]. This model places nodes in a unit square, thus getting a distance δ(X, Y) between each pair of node, in this procedure Varity values are used in link capacity to be similar to the real network, it also is chosen as a multiply of 2 to simulate real network bandwidth.

Georgia Tech Internetwork Topology Models (GT-ITM) GT-ITM is a widely-used facility for creation and analysis of graph models of network topology. Such models are widely used in simulation based evaluation and comparison of new protocols and algorithms, and also as a tool to understand the topological characteristics of the Internet [72]. The GT-ITM topology generator can be used to create flat random graphs and two types of hierarchical graphs, the N-level and transit-stub. After the topology is created by GT-ITM the script is converted to TCL format which NS2 can use it. Sgb2 program is used to convert GT-TTM files to NS files format.

65

Chapter 6

Proposed Approaches of OSPFWS Problem Start NS Instance

Topology generation

Traffic generation

Record traffic load

Is the number of iteration reaching limited Number?

YES

End

NO Compute empty bandwidth

Update weights according to EM alg1 or UE alg2

Figure 6-3, flow chart of the TCL script for proposed algorithms

66

Chapter 6

Proposed Approaches of OSPFWS Problem

6.8.2 Generate traffic procedure In generate traffic procedure, traffic between pairs of nodes is computed by this formula [57] (αОx DyC (x,y) e -δ(X,Y)/2Δ)

(6.3)

The traffic between node X and node Y is computed according to equation (6.3). For each node "X","Y", "Оx " and " Dy" are picked as a two random numbers from [0,1]. Further, for each pair of nodes also a random number is picked as C (x,y) from [0,1]. δ(X, Y) is the Euclidean distance between node X and node Y, which is the distance between the two nodes. In this formula α is a parameter and it taken equal 1, and Δ is the largest Euclidean distance between any pair of nodes. Above, the Оx and Dy model that different nodes can be more or less active senders and receivers, Because three random variables are multiplied , it is a quite large variation in the demands. The factor e -δ(X,Y)/2Δ implies that it will be relatively more demand between close pairs of nodes.

6.8.3 Record traffic procedure Record traffic procedure is the important procedure in the TCL script. It executes three main tasks, first task is computing traffic load at all the links of the network, second task is using this measurements of traffic load to compute cost function and utilization of the network links. To compute the utilization, the following formula is used: Q a = La / Ca

(6.4)

Q = Σ a = n Q a = La / Ca

(6.5)

U = Q/ N

(6.6)

67

Chapter 6

Proposed Approaches of OSPFWS Problem

Where • La is the traffic load on link a , • Ca is the bandwidth of link a , • U is the utilization • N number of links Also this formula is used for computing the cost function Φ(x) [54]

Φ(x) =

1 3 10 70 500 5000

for 0≤ for 1/3 ≤ for 2/3 ≤ for 9/10 ≤ for 1≤ for 11/10 ≤

x / c(a) < 1/3 x / c(a) < 2/3 x / c(a) < 9/10 x / c(a) < 1 x / c(a) 30

Generate random solutions N=0

NO

NO

If M > L L is limited number

YES

End

Figure 7-1, Flow chart, preventing stuck in local minima in PA

7.3 Case studies In this section, comparison between alg1, alg2 and third proposed algorithm is made; regard link utilization and cost function. The modification of third proposed algorithm solves problem of recycling that alg1, alg2 fall in it. Results indicate that alg3 is better than alg1 and alg2 in all cases. Alg3 is examined on four different network topologies.

93

Chapter 7

Improvements & Discussion of proposed algorithm

These networks consists of • Case1: six nodes with seven links. • Case2: seven nodes with thirteen links. • Case3: ten nodes with fifteen links. • Case4: ten nodes with fourteen links.

7.3.1 Case 1: Six nodes with seven links network In six nodes with seven links network; table 7-1 shows comparison between third proposed algorithm and both alg1and alg2 regard link utilization. Table 7-1 Traffic amounts via utilization in six nodes with seven links network Link Utilization Traffic amount 22657 45314 67971 90628 101956.5 113285 138207.7 156333.3 181256 203913 226570 249227

Alg1

Alg2

Alg3

0.084 0.18 0.27 0.33 0.37 0.42 0.51 0.58 0.67 0.77 0.87 0.88

0.08 0.16 0.24 0.32 0.36 0.4 0.49 0.55 0.64 0.72 0.8 0.87

0.068 0.128 0.192 0.25 0.3 0.33 0.4 0.42 0.49 0.56 0.63 0.64

Table 7-1 and figure 7-2 indicate third proposed algorithm achieves significant improvements in comparison with alg1 and alg2 regard link utilization, where alg3 reaches 64% alg1 reaches 88% and alg2 reaches 0.87%.

94

Chapter 7

Improvements & Discussion of proposed algorithm

When alg3 is used, Link utilization percent is lowest than link utilization percent when alg1 and alg2 are used. So third proposed algorithm enables the network to support more traffic without the need of increasing bandwidth, in this study case improvements are clear, because of the relation among number of nodes and number of links and number of traffic instances are quit suitable.

Traffic amount via Link utilization 1 0.9

Link utilization

0.8 0.7 0.6

Alg1

0.5

Alg2

0.4

Alg3

0.3 0.2 0.1

67 97 1 90 62 8 10 19 57 11 32 85 13 82 08 15 63 33 18 12 56 20 39 13 22 65 70 24 92 27

22 65 7 45 31 4

0

Traffic Amount in bytes

Figure 7-2, Traffic amounts via utilization in six nodes with seven links network Table 7-2 and figure 7-3 indicate a comparison between third proposed algorithm, alg2 and alg1 regard cost function , the third proposed algorithm enhances the results regard cost function, the third proposed algorithm has a lowest values of cost function at any amount of traffic in relation to alg2 and alg1. Cost function determines the range of traffic distribution instance, as the cost function decreases there is more traffic distribution and in turn more speed of network links is achieved.

95

Chapter 7

Improvements & Discussion of proposed algorithm

Table 7-2 Traffic amount via cost function in six nodes with seven links Cost Function Traffic amount 22657 45314 67971 90628 101956.5 113285 138207.7 156333.3 181256 203913 226570 249227

Alg1

Alg2

Alg3

7 9 11 22 29 29 105 5058 5652 10083 10575 15015

7 7 11 15 15 29 43 223 6073 10083 10573 10513

7 7 9 13 15 15 36 103 593 5093 10007 10007

Traffic amount via Cost function 7000 Cost Function

6000 5000 Alg1

4000

Alg2

3000

Alg3

2000 1000

39

13

56 20

12

33 18

63

08 15

82 13

32

85

57 11

19 10

62

8

1 90

97 67

45

31

4

0

Traffic amount in bytes

Figure 7-3, Traffic amounts via cost function in six nodes seven links network

96

Chapter 7

Improvements & Discussion of proposed algorithm

7.3.2 Case 2: Seven nodes with thirteen links network In seven nodes with thirteen links network; comparison between alg3, alg2 and alg1 is made regard link utilization and cost function with different traffic amount. Table 7-3 Traffic amount via link utilization in seven nodes thirteen links network

Traffic amount 944988.8 1574981 1889978 2204974 2519970 2834966 4409948 4724944 5039940 5354937

Alg1 0.107 0.179 0.21 0.25 0.28 0.31 0.5 0.53 0.57 0.61

Link Utilization Alg2 0.107 0.17 0.21 0.25 0.28 0.31 0.49 0.53 0.56 0.59

Alg3 0.105 0.176 0.21 0.24 0.28 0.31 0.49 0.52 0.56 0.59

Table 7-3 and figure 7-4 indicate comparison between third proposed algorithm and alg1 and alg2. It indicates that third proposed algorithm does not provide clear improvement than alg2 regard link utilization like pervious case, nearly third proposed algorithm and alg2 have the same results, so in this case at least third proposed algorithm does not perform worst than alg2 and alg1, the third algorithm performs like or better than the best of alg2 and alg1. Table 7-4 and figure 7-5 indicate comparison between third proposed algorithm, alg1 and alg2 regard cost function, the three methods got nearly the same results at low traffic amount but the third algorithm and alg2 have better results than alg1 at large traffic amount , third algorithm still has results not worst than alg2 and alg1.

97

Chapter 7

Improvements & Discussion of proposed algorithm Traffic amount via Link utilization

0.7 0.6

Link utilization

0.5 Alg1

0.4

Alg2 0.3

Alg3

0.2 0.1 0 944989 2E+06 2E+06 2E+06 3E+06 3E+06 4E+06 5E+06 5E+06 5E+06 Traffic amount in bytes

Figure 7-4, Traffic amounts via link utilization in seven nodes thirteen links network Table 7-4 Traffic amounts via cost function in seven nodes thirteen links network cost function

Traffic amount

1889978

Alg1 13 15 17

Alg2 13 15 15

Alg3 13 15 15

2204974

19

19

19

2519970

25

25

23

2834966

31

31

27

4409948

5100

114

114

4724944

5537

551

551

5039940

5546

567

558

5354937

10062

5134

5576

944988.8 1574981

98

Chapter 7

Improvements & Discussion of proposed algorithm

Traffic amount via Cost utilization 6000

Cost utilizationn

5000 4000 Alg1 3000

Alg2 Alg3

2000 1000

6. 6

0. 3

53 54 93

4

50 39 94

47 24 94

7. 8

6. 4

44 09 94

0. 2

28 34 96

3. 9

25 19 97

7. 6

22 04 97

1. 3

18 89 97

15 74 98

94 49 88

.8 1

0

Traffic amount in bytes

Figure 7-5, Traffic amount via cost function in seven nodes thirteen links network

8.3.3 Case 3: Ten nodes with fifteen link network In ten nodes with fifteen links network, Comparisons between the third algorithm, alg1 and alg2 are made. At this case third proposed algorithm has good performance than alg1 and alg2 regard link utilization, it has the lowest link utilization values at all traffic amount, if alg1 and alg2 are used the network links reach saturated case (sum of link utilization = 1) before the third proposed algorithm reaches. It means using third algorithm enables the network to support more traffic than using alg2 and alg1.

99

Chapter 7

Improvements & Discussion of proposed algorithm

Table 7-5 Traffic amounts via link utilization ten nodes fifteen links network

Link Utilization

Traffic amount 8430.379 16860.76 25291.14 33721.51 42151.89 50582.27 59012.65 67443.03

Alg1 0.139 0.27 0.425 0.556 0.685 0.82 0.949 1

Alg2 0.145 0.29 0.43 0.57 0.71 0.84 0.97 1

Alg3 0.136 0.27 0.41 0.55 0.68 0.81 0.9 0.99

Traffic amount via Link utilization 1.2

Link utilization

1 0.8 Alg1 0.6

Alg2" Alg3"

0.4 0.2 0 0.237237 8.430379 8430.379 16860.76 25291.14 33721.51 42151.89 50582.27 Traffic amount in bytes

Figure 7-6, Traffic amounts via link utilization ten nodes with fifteen links network Table 7-6 and figure 7-7 indicate comparison between alg1, alg2 and alg3 regard cost function, the third proposed algorithm still give better results than alg1 and alg2, it

100

Chapter 7

Improvements & Discussion of proposed algorithm

means fair distribution of traffic along links. It speeds the network in term of latency and also decreases the probability of occurring congestion. Table 7-6 Traffic amounts via cost function in ten nodes with fifteen links network cost function Traffic amount 8430.379 16860.76 25291.14 33721.51 42151.89 50582.27 59012.65 67443.03

Alg1

Alg2

Alg3

17 97 5033 5541 10547 15114 15620 25054

17 5020 5035 5541 10579 15176 20603 30023

15 25 112 5539 10032 10046 10108 15539

Traffic amount via Cost function 6000

Cost function

5000 4000 Alg1 3000

Alg2 Alg3

2000 1000 0 8430.378555

16860.75711

25291.13566

33721.51422

Traffic amount in bytes

Figure 7-7, Traffic amounts via cost function in ten nodes fifteen links network

101

Chapter 7

Improvements & Discussion of proposed algorithm

7.3.4 Case 4: Ten nodes with fourteen links network In ten nodes fourteen links network, comparison between alg1, alg2 and alg3 are made. Table 7-7 Traffic amounts via utilization in ten nodes fourteen links network Link Utilization Traffic amount 1011771 2023543 3035314 4047085 5058857 6070628 7082399 8094171

Alg1

Alg2

Alg3

0.15 0.31 0.48 0.63 0.77 0.91 1 1

0.14 0.31 0.47 0.62 0.7 0.84 0.92 1

0.144 0.29 0.43 0.58 0.7 0.8 0.92 1

Table 7-7 and figure 7-8 indicate comparison between alg3, alg2 and alg1 regard link utilization. The third proposed algorithm gives better results than alg1 regard link utilization, whereas it performs nearly like alg2, the third proposed algorithm has not any worst results in any traffic amount than alg2 or alg1.

102

Chapter 7

Improvements & Discussion of proposed algorithm Traffic amount via Link utilization

1.2

Link utilization

1 0.8 Alg1 0.6

Alg2 Alg3

0.4 0.2 0 1011771 2023543 3035314 4047085 5058857 6070628 7082399 8094171 Traffic amount in bytes

Figure 7-8, Traffic amounts via utilization in ten nodes with fourteen links network Table 7-8 and Figure 7-9 indicate comparison between alg3; alg1 and alg2 regard cost function. It indicates that the third proposed algorithm has better results than alg1 and alg2 at any traffic amount, in this case it observed a clear improvements regard cost function. It means good distribution of traffic instances so it speeds the network links and reduces latency.

103

Chapter 7

Improvements & Discussion of proposed algorithm

Table 7-8 Traffic amount via cost function in ten nodes with fourteen links network cost function Traffic amount Alg1

Alg2

Alg3

1011771

16

16

14

2023543

91

38

22

3035314

5044

5043

51

4047085

5665

10116

265

5058857

15046

15529

6115

6070628

15177

20532

10571

7082399

15614

20554

15120

8094171

21036

25534

16106

Traffic amount via Cost function 7000 6000

Cost function

5000 Alg1

4000

Alg2 3000

Alg3

2000 1000 0 1011771.327

2023542.655

3035313.982

4047085.31

5058856.637

Traffic amount in bytes

Figure 7-9, Traffic amount via cost function in ten nodes with fourteen links network

104

Chapter 7

Improvements & Discussion of proposed algorithm

7.4 Modified cost function The pervious cost function can be modified to determine how many links is congested. Equation (6.7) is experimental derived. The new cost function can be formulated as following:

Φ(x) =

1 3 10 70 500 n X 500

This line “Φ (x) = n X 500

for 0≤ for 1/3 ≤ for 2/3 ≤ for 9/10 ≤ for 1≤ for 11/10 ≤

x / c(a) < 1/3 x / c(a) < 2/3 x / c(a) < 9/10 x / c(a) < 1 x / c(a) n X 500 The number of congestion link is determined by this formula |T| = Φ / n X 500 Where |T| indicates the number of congested lines. The modified cost function is examined with the third proposed algorithm in case of ten nodes with fourteen links network, Table 7-9 shows the modified cost function with the number of congested links at different traffic amounts.

105

Chapter 7

Improvements & Discussion of proposed algorithm Table 7-9 modified cost function with third algorithm Cost Function (CF)

Traffic amount

Alg3 old CF

Alg3 new CF

NO OF CL

1011771

14

14

0

2023543

22

22

0

3035314

51

51

0

4047085

265

265

0

5058857

6115

8113

1

6070628

10571

14751

2

7082399

15120

21177

3

8094171

16106

22459

3

Where: CL is congested links. Alg3 old CF means the third algorithm cost function values by pervious cost function Alg3 new CF means the third algorithm cost function values by modified cost function.

7.5 Addition enhancements to the third algorithm The third proposed algorithm uses the modified cost function to detect how many numbers of congested links are exist in the network, in this section two more enhancements will be added to the third proposed algorithm as following. • Determining which links is congested • How much will bandwidth increased to avoid congestion

106

Chapter 7

Improvements & Discussion of proposed algorithm

7.5.1 Determining congested links Traffic load on any links is measured by actual numbers of packets passed the links plus the dropped packets by the sender due to congestion and, the capacity of the link is measured by maximum traffic amount that can passed the links without any drop so if the traffic load along the link is equal to or less than the capacity of the link then no congestion can happen and all the traffic can successful pass the links so if the traffic load excess the capacity of the link, the links will congested and packet will be dropped thus congestion will happen if the traffic load excess the capacity of the bandwidth so The link between nodes i and node j is congested if Cij – Lij < 0 Table 7.10 number of Congested links at ten nodes fourteen links network Cost Function (CF) Traffic amount Alg3 old CF

Alg3 new CF

NO OF CL

5058857

6115

8113

1

6070628

10571

14751

2

7082399

15120

21177

3

8094171

16106

22459

3

Case study network consists of ten nodes and fourteen links, Table 7-10 shows number of congested links from different traffic amount, there are four different traffic loads, it is observed that number of links are increased with increasing traffic loads and from the logical relationship, with increasing of traffic load on network links the loads along links excesses network link bandwidth so the probability of happening congestion is increased.

107

Chapter 7

Improvements & Discussion of proposed algorithm

Table 7-11 congested links in ten nodes with fourteen links network Traffic amount

NO OF CL

Congested links

5058857

1

9-0

6070628

2

9-0, 3-8

7082399

3

0-9 , 5-7,7-9

8094171

3

0-9 , 5-7,7-9

Table 7-11 shows the congested links of network at ten nodes and fourteen links network. By applied equation (7.1) in third proposed algorithm, third proposed algorithm can determine which links were congested; the table indicates that the congestion can be happen at different links with different traffic amounts.

7.5.2 Bandwidth needed to avoid congestion With increasing of network traffic, bandwidth has to be increased to avoid congestion, with modified cost function number of congested links are known and by adding some features to the third proposed algorithm the congested links are determined also, in this section some features added to the third proposed algorithm to know the increasing of the bandwidth needed to congested links to avoid links congestion, In practical environment , in case of increasing traffic loads network administrator increase all links by equal bandwidth , it is very cost, especial in large network and in large traffic loads so add such that feature to third proposed algorithm gives the algorithm more values.

108

Chapter 7

Improvements & Discussion of proposed algorithm

Congestion happen when traffic load excesses network capacity, so if the links capacity (bandwidth) is increased by the difference between traffic load and network capacity then no congestion will happen The link between node I and node J is congested If Cij – Lij < 0 So to avoid congestion between node I and node j the link between both nodes have to be increased by | Cij – Lij| Network consists of ten nodes and fourteen links is taken as a case study Table 7.12 Bandwidth required avoiding congestion Traffic amount

Congested links

bandwidth

5058857

9-0

128k/s

6070628

9-0, 3-8

512k/s,128k/s

7082399

0-9 , 5-7,7-9

1m/s, 128k/s,512k/s

8094171

0-9 , 5-7,7-9

1.5m/s, 1m/s,512k/s

Table 7-12 Indicates four different traffic amounts with the proposed bandwidth that has to be added to each link to avoid congestion. Adding these features to the third proposed algorithm so it is very easy to know which links needs to increasing bandwidth and saves cost of increasing all links, at the table the bandwidth is multiplies of 2 to simulate real increasing.

109

Chapter 7

Improvements & Discussion of proposed algorithm

7.6 Summary Four different network topologies are examined with the third proposed algorithm. These topologies are different in number of nodes and also number of links. The number of nodes and number of links of each network topology are shown in the following: a) Six node with seven links b) Seven node with thirteen links c) Ten node with fifteen links d) Ten node with fourteen links Each topology has different behavior with third algorithm, but in all cases alg3 performs better than both alg1 and alg2. In sex node with seven links network, alg2 performs better than alg1. Alg3 performs better than alg1, and alg2. There is obviously improvement regard link utilization, and also regard cost function, the third proposed algorithm performs better than both previous algorithms. In seven node with thirteen links network, the third proposed algorithm performs like alg2 and better than alg1, the third algorithm does not achieve any improvement more than alg2 in both link utilization comparison, and cost function comparison. The third proposed algorithm has obviously improvements in cost function than alg1. In ten node with fifteen links network, the third proposed algorithm performs better than alg2, and alg1 in both link utilization comparison and cost function comparison. Alg2 better than alg1 in link utilization comparison, but in cost function comparison, alg1 performs better than alg2.

110

Chapter 7

Improvements & Discussion of proposed algorithm

In ten nodes with fourteen links network, the third proposed algorithm performs nearly like alg2 and better than alg1 regards link utilization comparison but in cost function comparison there are obviously improvements in the third proposed algorithm than alg2 and alg1. Summary of the three algorithms comparison regard link utilization is depicted in the table 7-13. Table 7-13 Comparison among three method regard link utilization Link Utilization Network Topology

Alg1

Alg2

Alg3

6 node, 7 links

3

2

1

7node, 13 links

2

1

1

10 node, 15 links

2

3

1

10 node, 14 links

3

2

1

Where 1, 2, 3 indicate which best and worst respectively. Summary of cost function (CF) results after running the three algorithms are shown in Table 7-14. Table 7-14 Comparison between three algorithms regard cost function Cost Function

Network Topology

Alg1

Alg2

Alg3

6 node 7 links

3

2

1

7node 13 links

2

1

1

10 node, 15 links

2

3

1

10 node, 14 links

3

2

1

111

Chapter 7

Improvements & Discussion of proposed algorithm

Improvements in all cases regard link utilization are not clear, but improvements regard cost function is obvious, this is due to the following reasons: 1) Limited numbers of traffic instance can be generated according to PC resources such as Ram, cash memory, and speed of processor. 2) Cost function evaluates distribution range of the traffic (less cost function means more uniformly distribution among all network links) thus improvement in cost function is much better than improvement in link utilization. It is clear that if more traffic instances are generated, and tested in large topologies, proposed algorithms will give more improvements than in small topologies as topologies used in thesis, because a lot of traffic instances, and a lot of links give proposed algorithms chance to distribute the traffic instances among the links, and so this action will appear the capability of proposed algorithms.

112

Chapter 8

Conclusion and Future Work In this thesis, three proposed algorithms are introduced to solve Open Shortest Path First weight setting problem. Alg1 and alg2 are introduced, and are compared with OSPFWS legacy methods such as (Cisco, unit, random) methods. Finally, third proposed algorithm is developed for solving OSPFWSP. It is compared to alg1 and alg2; it is proved that third proposed algorithm performs much better than alg1 and alg2.

8.1 Conclusion In OSPF routing problem, for each arc a € A a weight wa has to be selected. These weights uniquely determine the shortest paths, the routing of traffic flow, the loads on the links, the utilization of the links, and finally, the cost function Φ. In the proposed algorithms, the object function is selected that minimizes the cost function. Weights values have to be selected from: SS solutions where: S = 2n, and n is the number of links.

113

Chapter 8                                             Conclusion &Future Work  Suppose, small network has 14 links, then the number of probability solutions is between 2828 solutions about 3 x 1040, it is an enormous number of solutions that indicates the difficulty of searching. The proposed algorithms begin to update weights array to obtain a good setting of weights values to minimize cost function. It is clear that the speed and the results depend on used algorithm. The proposed algorithms concepts are built on this idea: quality of the algorithm is determined by how to updates the weight values. OSPFWSP is a NP hard problem; a lot of proposals are made for solving it, a lot of algorithms used to solve this problem like local search, genetic algorithm, and simulated annealing. A survey is made for each algorithm; proposed algorithms are developed for solving OSPFWSP. This algorithm has new technique for preventing from falling in some problems faced other pervious used algorithms like local minima and recycling. Five different network topologies are tested with the proposed algorithms. It is found that the proposed algorithms have fantastic results in some topologies; the results indicate that third proposed algorithm performs much better than alg2 and alg1 also better than legacy OSPFWSP weight setting method (Cisco, unity, random). A modified cost function is proposed for determining number of congested links and a new feature is added to alg3 to determine bandwidth needed to links to avoid congestion.

114

Chapter 8                                             Conclusion &Future Work 

8.2 Future work Proposed algorithms are tested in small topologies which the biggest topology is ten nodes with fifteen links due to limited resources of the PC used for evaluating the performance of previous methods and proposed algorithms as well. In future work, it is suggested that: 1) Proposed algorithm has to be tested in large network topology, it is suggested that the result will be more improved. 2) In proposed algorithms, weights values are optimized to decrease cost function. the new idea is capacity of links can be taken as variable and optimized also to decrease cost function.

3) To use proposed algorithm simply in practical environment, graphic user interface (GUI) should be developed for TCL script that used for implementing proposed algorithms.

115

References 

References [1] D.Huang,Q.Cao,A.Sinha,J.Schniederjans,C.Beard,L. Harn,D.Medhi, "Addressing Intra-Domain Network Security Issues through Secure Link-state Routing Protocol: A New Architectural Framework", ACM05, April 2005. [2] S.Srivastava, G.Agrawal, M.Pioro, D.Medhi,“Determining link weight system under various objectives for OSPF networks using a lagrangian relaxation-based approach”, IEEE Transactions on Network and Service Management, Third quarter 2005. [3] Farid Baguenine, Abdelhamid Mellouk, “N-Best Optimal Path Ant Routing Algorithm for State-Dependent N Best Quality of service Routes in IP Networks”, 32nd IEEE Conference on Local Computer Networks, Dublin, On page(s): 747-754 Oct2007. [4] H. Alnuweiri, L. Wong, and T. Al-Khasib, “Performance of new link state advertisement mechanisms in routing protocols with traffic engineering extensions” ,IEEE Communications Magazine , Volume: 42, Issue: 5 ,On page(s): 151- 162, may 2004. [5] D. Comer, D, “Stevens Internetworking with TCP/IP”, 2006. [6] R. Perlman. “Network Layer Protocols with Byzantine Robustness”, PhD thesis, October, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science1988. [7] J. Sobrinho , “Algebra and Algorithms for QoS Path Computation and Hop-byHop Routing in the Internet “, IEEE/ACM Transactions on, Volume: 10, Issue: 4, August 2002. [8] R. E. Bellman,"On a routing problem. Quarterly of applied mathematics", 1958. [9] G. Malkin , RIP Version 2 ,RFC 2453 , November 1998. [10] L. Wang , D. Massey, L. Zhang, ,”Persistent Detection and Recovery of State Inconsistencies”Elsevier Science", Computer Networks, volume. 51, Issue. 6, On pages(s): 1444-1458, April 2007. [11] Dahai Xu , Mung Chiang , Jennifer Rexford , “ DEFT: Distributed Exponentially-weighted Flow Splitting”, in the IEEE INFOCOM proceedings, 2007. 116

References 

[12] S. Kim, J. Chung , “Analysis of MPLS Signaling Protocols and Traffic Dissemination in OSPF and MPLS”, First Asia International Conference on Modelling & Simulation (AMS'07), On page(s): 276-281, 2007. [13] cisco system ,"Building Scalable Cisco Internetworks" 2006 [14] C.Tsai, R. Jan, C.Chen, C.Huang, "Implementation of Highly Available OSPF Router on ATCA," The 13th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC) Melbourne, Qld, On page(s): 147-154,Dec 2007. [15] Wendell Odom , Rus Healy, Naren Mehta" CCIE Routing and Switching Exam Certification Guide", Third Edition, 2007 [16] P.Francois, O.Bonaventure, “Avoiding Transient Loops During the Convergence of Link-State Routing Protocols”, IEEE/ACM Transactions on Networking, San Francisco, CA, USA Volume:15, Issue:6, On page(s): 1280-1292 ,DEC 2007. [17] D. Huang, Q. Cao, A. Sinha, M. Schniederjans, C.Beard, L. Harn, D. Medhi, “New architecture for intra-domain network security issues “ , Communications of the ACM, Volume :49, Issue: 11 November 2006. [18] P. Mirchandani, “Implementation of K-shortest Path Dijkstra Algorithm used in All-optical Data Communication Networks”, SIE 546 Project, spring 2004 [19] U.Black, “IP Routing Protocols, RIP, OSPF, BGP, PNNI & Cisco routing protocols”, Prentice Hall, 2000. [20] A. Sridharan, R. Gu´Erin, C. Diot, “Achieving Near-Optimal Traffic Engineering Solutions for Current OSPF/IS-IS Networks”, IEEE/ACM Transactions on Networking (TON), San Francisco California, USA, On Pages: 234 – 247, 2005. [21] A. Nucci, S. Bhattacharyya, N. Taft, C. Diot,” IGP Link Weight Assignment for Operational Tier-1 Backbones”, IEEE/ACM Transactions on Networking, Volume :15, Issue: 4, On Pages: 789 - 802 August 2007. [22] W.Odom , J.Geier , N.Mehta" ,CCIE Routing and Switching Official Exam Certification Guide",Second Edition 2006

117

References  [23] A. Shaikh, C. Isett, A. Greenberg , M. Roughan, J.Gottlieb, “A case study of OSPF behavior in a large enterprise network ,“Internet Measurement Conference archive Proceedings of the 2nd ACM SIGCOMM Workshop on Internet measurement, on Pages: 217 - 230 , 2002. [24] S. Bae, T, S.Henderson, R.Thomas , "Traffic Engineering with OSPF MultiTopology Routing”, Military Communications Conference MILCOM 2007. IEEE, Orlando, FL, USA, On page(s): 1-7, October 2007. [25] A. Shaikh , A. Greenberg, “OSPF Monitoring: Architecture, Design and Deployment Experience”,USENIX Symposium on Networked Systems Design and Implementation (NSDI), March 2004. [26] Y.Hei, T.Ogishi S.Ano, T.Hasegawa, “OSPF Failure Identification based on LSA Flooding Analysis“,IM '07. 10th IFIP/IEEE International Symposium, Munich, Germany On page(s): 717-720, 2007. [27] D. Medhi, K. Ramasamy. “Network Routing: Algorithms, Protocols, and Architectures”, 2007. [28] W.Lai, W.Tsai, C.Da , “ Scalable Anycast System based on OSPF” ,Intelligent Information Hiding and Multimedia Signal Processing,IIHMSP 2007, Third International Conference on, Kaohsiung, Taiwan, Volume: 2, On page(s): 647650 , 26-28 Nov 2007. [29] J .Sucec, M. Fecko, J.Unger, S.Samtani, A.Staikos,” Planning Robust and Scalable OSPF Domains for Future Battlefield Networks”, Military Communications Conference, MILCOM 2007, IEEE29-31, Orlando, FL, USA, On page(s): 1-7 Oct 2007. [30] K.Manousakis, A. McAuley,” Designing OSPF Routing Areas to Meet Diverse End-to-End Performance”, Military Communications Conference,MILCOM 2007. IEEE, Orlando, FL, USA, On page(s): 1-7, 2007 [31] Y. Jia, I. Nikolaidis, P. Gburzynski ,"Alternative Paths vs. Inaccurate Link State Information in Realistic Network Topologies", International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2002), San Diego, USA, , On page(s): 162-169, 14-18 July 2002. [32] K.Manousakis, T. McAuley, R. Morera, J. Baras, J," Using multi-objective domain optimization for routing in hierarchical networks",Wireless Networks, Communications and Mobile Computing, 2005 International Conference ,

118

References  Maryland Univ, College Park, MD, USA ,Volume: 2, On page(s): 1460- 1465, June 2005. [33] H. Kochkar, T. Ikenaga, K. Kawahara, Y. Oie,” Increasing the Network Performance using Multiple Tables based QoS Routing with Load Balance”, Proc. of SPIE Performance, Quality of Service, and Control of Next-Generation Communication and Sensor Networks III, Boston, Massachusetts, USA, Volume: 6011, Oct 2005 [34] A. Basu, J.Riecke," Stability issues in OSPF routing",SIGCOMM San Diego, California, United States , On page(s): 225 - 236 , oct 2001 [35] C. Partridge, A.Snoeren , W.Timothy Stray, B.Schwartz, M.Condell, I. Castineyra,” FIRE: Flexible Intra-AS Routing Environment”, Selected Areas in Communications, IEEE Journal on”, On page(s): 410-425, Mar 2001. [36] P.Oppenheimer, “Top-Down Network Design”, 2004. [37] R. Rastogi, Y. Breitbart, M. Garofalakis, A. Kumar, “Optimal Configuration of OSPF Aggregates”, IEEE/ACM Transactions on Networking, Volume: 11, Issue: 2, on Page(s): 181 – 194, April 2003. [38] J.Jangeun ,M.Sichitiu, H.Flores, S.Eidenbenz,“The Optimum Number of OSPF Areas for MANETs" SECON '07, 4th Sensor, Mesh and Ad Hoc Communications and Networks, North Carolina State Univ., Raleigh,On page(s): 451-460,2007. [39] H. El-Sayed, M. Ahmed, M. Jaseemuddin, D. Petriu,” Framework for performance engineering of OSPF software”, IEE Proc.-Software, Annapolis, MA, USA,Volume: 153, Issue: 6, December 2006. [40] Mi.Yu,“Security Enhancements to Routing Protocols for Backbone Networks”, IEEE International Conference on Systems, Man, and Cybernetics ,Taipei, Taiwan. Volume: 3, On page(s): 1891-1896, October 2006, [41] A. Pescapè, G.Ventre, “Experimental analysis of attacks against intradomain routing protocols “, Journal of Computer Security, Volume: 13, Number 6 , on page(s) 877-903, 2005. [42] J. Goold , M.Clement , “ Improving Routing Security Using a Decentralized Public Key Distribution Algorithm”, Second International Conference on Internet Monitoring and Protection (ICIMP 2007) ,San Jose, CA, USA, July 2007. 119

References 

[43] A. Muchanga , “interdomain traffic engineering and faster restoration in optical networks", Doctoral Thesis. A thesis submitted to the Royal Institute of Technology, Stockholm, December 2006. [44] S.Agarwal,A.Nucci,S.Bhattacharyya,“Measuring the Shared Fate of IGP Engineering and Interdomain Traffic", 13th IEEE International Conference on Network Protocols (ICNP), Boston, Massachusetts, USA, On page(s): 236-245 November 2005. [45] S.Uhlig, S.Tandel,“Quantifying the BGP Routes Diversity Inside a Tier-1 Network”, proceedings of IFIP networking, Coimbra, Portugal, May 2006. [46] E. Rosen, A. Viswanathan, R. Callon," Multiprotocol Label Switching Architecture, Internet proposed standard RFC3031", January 2001. [47] A. Boudani, B.Cousin, C. Jawhar, M. Doughan,“Multicast Routing Simulator over MPLS Networks”, the 36th Annual Simulation Symposium, Orlando, Florida, March 2003. [48] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan, G. Swallow, “RSVP-TE: Extensions to RSVP for LSP tunnels”, IETF RFC3209, December 2001. [49] L. Andersson, P. Doolan, N. Feldman, A. Fredette, B. Thomas, “LDP specification”; IETF RFC3036, January 2001. [50] P.Wolcott, S. Goodman, “Global Diffusion of the Internet – I India: Is the Elephant Learning to Dance?”,Communications of the Association for Information Systems,Volume: 11, on page(s): 560-646, 2003. [51] T. Buckwalter, “Frame Relay: Technology and Practice”, Addison-Wesley, Published 2000. [52] M. Rahnema, “Frame relaying and the fast packet switching concepts and issues”, IEEE Network, Volume: 5, Issue: 4, On page(s): 18-23 ,July 1991. [53] A. Shaikh, Al.Greenberg, “OSPF Monitoring: Architecture, Design and Deployment Experience”, Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation, San Francisco, California Volume: 1, On Pages: 5-5, March 2004. [54] URL: http://www.cisco.com/en/US/products/ps6587/products_white_ paper0918 6a00800a4414.shtml 120

References 

[55] K.Coffman, A.Odlyzko, “Internet growth: Is there a "Moore's Law" for data traffic?” editors, Handbook of Massive Data Sets, Kluwer Academic Publishers, 2001. [56] Internet Engineering Task Force, OSPF version 2, Technical, Report RFC 1583, Network Working Group, 1994. [57] A. Feldmann, A. Greenberg, C. Lund, N. Reingold, J. Rexford, F. True, “Deriving traffic demands for operational ip networks: Methodology and experience”, IEEE/ACM Transactions on Networking, , Volume: 9 , issue 3 On page(s): 265-279, June 2001. [58] B. Fortz , M. Thorup, "Internet traffic engineering by optimizing OSPF weights," in Proceedings of IEEE INFOCOM, Tel-Aviv, Palestine, On page(s): 519528,March 2000. [59] M.Geiger," The Interactive Pareto Iterated Local Search (iPILS) Metaheuristic and its Application to the Biobjective Portfolio Optimization Problem", Computational Intelligence in Multicriteria Decision Making, IEEE Symposium, On Page(s):193-199, April 2007. [60] URL http://en.wikipedia.org/wiki/Local_ search_%28optimization%29 [61] F. Glover, “Future paths for integer programming and links to artificial intelligence,” Computers & Operations Research, volume: 13, on page(s): 533549, 1986. [62] D.E. Goldberg, “Genetic Algorithms in Search, Optimization, and Machine Learning”, Addison-Wesley, 1989. [63] J.Holland, “Adaptation in Natural and Artificial Systems”, MIT Press, Cambridge May, 1975. [64] M.Ericsson ,M.Resende, P.Pardalos, " A Genetic Algorithm FOR the Weight Setting Problem IN OSPF Routing", Journal of Combinatorial Optimization, October 2001. [65] N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, E. Teller, “Equation of State Calculations by Fast Computing Machines”, Phys, volume: 21, issue: 6, On page(s) 1087-1092, 1953.

121

References  [66] X.Wang, J.Garibaldi, “Simulated Annealing Fuzzy Clustering in Cancer Diagnosis”, International journal for computing and Informatica, On page(s) 617029, 2005. [67] S. Kirkpatrick, C. Gelatt, M. Vecchi, “Optimisation by Simulated Annealing”, IBM Research Report, RC 9355, 1982. [68] M. Sqalli, S. Sait, M.Mohiuddin “An Enhanced Estimator to Multi-objective OSPF Weight Setting Problem”, Network Operations and Management Symposium, On page(s) 950-955 NOV, 2006. , [69] L.Buriol, M. Resende , C. Ribeiro, M. Thorup ,"A Hybrid Genetic Algorithm for the Weight Setting Problem in OSPF/IS-IS Routing", (AT&T Labs Research Technical Report TD-5NTN5, March 2005. [70] B. Fortz and M. Thorup, ”Increasing internet capacity using local search.” , journal of Computational Optimization and Applications, Volume: 29, Number 1,ON page(s)13-48, October, 2004. [71] E. Zegura, “GT-ITM: Georgia tech internetwork topology models (software),” http://www.cc.gatech.edu/fac/Ellen.Zegura/gt-itm/gt-itm.tar.gz. [72] K. Calvert, J. Eagany, S. Meruguy, A. Namjoshi, J. Staskoy, E. Zeguray,” ” Extending and Enhancing GTITM”, the ACM SIGCOMM 2003 Workshops, page(s): 23 – 27, 2003.

122