routing techniques in data center networks

26
Routing Techniques in Data Center Networks Shaista Habib, Fawaz S. Bokhari and Samee U. Khan 1 Introduction Data Centers are the core of cloud computing as they consist of thousands of com- puters which are interconnected in a way to provide cloud services. A Data Center Network (DCNs) can be defined as centralized infrastructure providing several large scale computing and diversified network services like video streaming and cloud computing to its subscribed users [1]. With the proliferation of internet applications, the demand for DCNs are increasing as they provide efficient platform for data stor- age to such applications. Figure 1 shows the block diagram of data center networks, where end users get services from data centers via the internet. In order to make data centers quick and cost effective, dynamic resources allocation is provided by assign- ing services to any server or machine in the network. Similarly, the performance isolation between services should also be managed in DCNs. This involves lot of server to server communication and huge amount of traffic is routed among servers in a data center network. Other than the economical (cost-effective) and technical motivations behind the deployment of data center networks, they are designed to facilitate its users. Data centers have some unique characteristics that make them different from other networks such as the internet or LAN. First of all, data centers are designed to deliver large scale computing services and data intensive communications such as web searching, email and network storage. These types of services and applications S. Habib () · F. S. Bokhari University of the Punjab (P.U.C.I.T), Lahore, Pakistan e-mail: [email protected] F. S. Bokhari e-mail: [email protected] S. U. Khan North Dakota State University, Fargo, USA e-mail: [email protected] © Springer Science+Business Media New York 2015 507 S. U. Khan, A.Y. Zomaya (eds.), Handbook on Data Centers, DOI 10.1007/978-1-4939-2092-1_16

Upload: others

Post on 10-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks

Shaista Habib, Fawaz S. Bokhari and Samee U. Khan

1 Introduction

Data Centers are the core of cloud computing as they consist of thousands of com-puters which are interconnected in a way to provide cloud services. A Data CenterNetwork (DCNs) can be defined as centralized infrastructure providing several largescale computing and diversified network services like video streaming and cloudcomputing to its subscribed users [1]. With the proliferation of internet applications,the demand for DCNs are increasing as they provide efficient platform for data stor-age to such applications. Figure 1 shows the block diagram of data center networks,where end users get services from data centers via the internet. In order to make datacenters quick and cost effective, dynamic resources allocation is provided by assign-ing services to any server or machine in the network. Similarly, the performanceisolation between services should also be managed in DCNs. This involves lot ofserver to server communication and huge amount of traffic is routed among serversin a data center network. Other than the economical (cost-effective) and technicalmotivations behind the deployment of data center networks, they are designed tofacilitate its users.

Data centers have some unique characteristics that make them different fromother networks such as the internet or LAN. First of all, data centers are designed todeliver large scale computing services and data intensive communications such asweb searching, email and network storage. These types of services and applications

S. Habib (�) · F. S. BokhariUniversity of the Punjab (P.U.C.I.T), Lahore, Pakistane-mail: [email protected]

F. S. Bokharie-mail: [email protected]

S. U. KhanNorth Dakota State University, Fargo, USAe-mail: [email protected]

© Springer Science+Business Media New York 2015 507S. U. Khan, A. Y. Zomaya (eds.), Handbook on Data Centers,DOI 10.1007/978-1-4939-2092-1_16

Page 2: Routing Techniques in Data Center Networks

508 S. Habib et al.

Fig. 1 Block Diagram of Data Center Network

demand high bandwidth to transfer data among distributed components in a datacenter. For this purpose, data centers have usually high bisection bandwidth to avoidhot spots between any pair of machines in the network. Moreover, data centershave thousands of servers which are densely interconnected and normally have 1:1oversubscription ratio among the links. Since, data centers are built using commodityhardware and their failure is also a natural situation, there is a requirement of agilityso that any server can service any demand. All these failure should be transparentto the client. Without agility a specific number of servers are fixed for a specificapplication. If number of request increase or decrease, resources becomes overloadedor underutilize respectively.

Routing protocols typically determine how communications between routers takeplace. They determine the best routes and share network information with theirneighbors. Since, data traffic flows inside, outside, and within the servers, routingprotocols are therefore, needed to route and forward data among servers in the net-work. Similarly, in order to explore services of data centers infrastructure, efficientrouting protocols are required which are different from the traditional internet routingprotocols such as OSPF and BGP. It is found that these traditional internet protocolsare not suitable for DCNs due to its unique characteristics. Recently, many routingand forwarding schemes have been proposed for data centers [6–11,15,16,17–20].

Page 3: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 509

One of the major objectives of data center networks from routing perspectiveis to connect several data center servers. Due to multiple interconnections, datacenter becomes efficient and fault tolerant. Three communication patterns are usedin data centers i.e., one-to-one, one-to-all and all-to-all communication. One-to-onecommunication or traffic pattern is the most typical form of communication in datacenters. For example, a large file is transferred from one location to another machine.Similarly, one-to-all type of communication involves replicating chunks of datafrom one machine/server to several servers to ensure data reliability in data centernetworks. Many applications such as Google File System (GFS) [2] and CloudStore[3] works in this fashion. Lastly, all-to-all traffic in which, every server transmitsdata to every other server. This type of traffic pattern is generated by MapReduce [4]type jobs.

Most existing data centers implement a tree like network configuration, whichsuffers from network scalability, high cost and single point of failure [9]. However,there has been research on designing efficient data center structures and topologieswhich take into account the characteristics of DCNs. These proposed structures fallinto two categories namely switch-centric and server-centric data centric structures.As the names suggest, in switch-centric data center structure, the routing and for-warding is performed by the switches in a data center, whereas in server-centric,servers are also involved in forwarding and somewhat routing of the data in theDCN.

Generally, routing scheme determine routes between any two servers with shortlatency but in DCN, this requires further optimization in many parameters like mini-mum latency, maximum reliability, maximum throughput and energy, etc. Also if anylink gets down or fail then a routing protocol should route traffic using alternate pathwithout interrupting running application. All these optimizations come under trafficengineering (TE) problem. In data centers, multiple paths exist among servers, there-fore, multipath routing can be used which helps in load balancing and fault tolerance[10]. There has some work done in designing efficient multipath routing algorithmsfor data center networks [10, 11]. To take advantage of multiple paths Equal CostManagement Protocol (ECMP) and Valiant Load Balancing (VLB) techniques areused. ECMP performs static load splitting among flows [11], where as VLB ran-domly selects any intermediate switch that will forward incoming traffic towards thedestination. Since, data centers typically consist of huge amount of servers, and eachdevice consumes power, therefore, a lot of research has also been done on designingefficient power saving routing protocols [9, 13]. In DCN, efficient multicasting rout-ing schemes [5, 20] are also required in instances when query searchers are redirectedto multiple indexing servers [12] which reduces cost of repeated transmission task.Similarly, in Content Distribution Networks (CDNs), where request routing is used[15, 16], several challenges exists such as routing of the client requests to a suitablesurrogate server for serving and the chosen surrogate server should be nearest to theclient and have minimum load.

Within the scope of this chapter, we focus on the problem of routing and dataforwarding in the context of data center networks (DCNs). The rest of the chapter is

Page 4: Routing Techniques in Data Center Networks

510 S. Habib et al.

Fig. 2 Classification of data center routing schemes

organized as follows. We provide a comprehensive review of some of the recent well-known routing and data forwarding techniques in DCNs and classify these routingprotocols according to their most prominent attributes in Sect. 2 together with theobjectives and limitations of each of the approach. In Sect. 3, we discuss the openissues and challenges in the design of such routing schemes, followed by the chapterconclusion in Sect. 4.

2 Classification of Routing Schemes in Data Centers

In literature, several routing protocols have been proposed for data center networks[5–11,21–23] and they can be classified based on different criteria and approachedthat is used in those schemes. The criteria that we have used for classification isbased on four parameters. The first parameter is topology-aware routing schemes inwhich we further classify the approaches based on a particular data center structuredesign i.e. switch-centric or server-centric approaches. The second parameter forclassification is energy-aware which means that the main objective of the routingalgorithm is to conserve energy or to reduce power consumption in data centers. Ourthird classification parameter represents the routing algorithms which are designedfor either unicast, or multicast routing in data centers. All of these routing schemesin this classification have employed some type of traffic engineering approach andhence we call it traffic-sensitive routing approaches. There are some routing schemesdefined for content distribution networks (CDNs) which are data centers in essencebut are given different name because of their peculiar functionality of distributingcontent across multiple networks. We have classified such routing schemes on ourfourth parameter i.e. routing for CDNs. The classification tree of all these protocols(which are discussed in this chapter) is shown in Fig. 2. Note that our classificationbased on these parameters may not be disjoint from each other and therefore, a par-ticular traffic-sensitive routing scheme may overlap with another scheme belongingto a different category.

Page 5: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 511

Fig. 3 a A Bcubek is constructed from n BCubek-1 and nk n-port switches. b A BCube1 withn= 4 [6]

2.1 Topology-Aware Routing

The term topology means physical layout of a network. Routing algorithms whichtake into account the physical layout of the network for calculating routing pathsand forwarding can be classified as topology-aware routing. We further classifythese topology-aware routing protocols into server-centric and switch-centric routingapproaches. Briefly, in server centric approach, the servers in a typical data centernetwork act as relaying nodes in multi-hop communication. BCube [6] and Dcell[8] fall under this category. On the contrary, in switch centric approach, switches indata center networks act as relay nodes. Portland [7], VL2 [5] and M. Al-Fares [11]lie in this category. Next, we will study some of the existing topology-aware routingschemes in data center networks.

2.1.1 Server-Centric Approach

BCube In [6], the authors have proposed a novel data center network architecturecalled BCube which is designed specifically for shipping-container based modulardata centers (MDC). MDC are ad-hoc data centers consisting of thousands of serverswhich are interconnected through switches that are readily deployable on a shipping-container. The authors have argued that existing conventional routing protocols likeOSPF [26] does not scale well and lacks the load balancing feature which is neces-sary in a multi-path BCube network architecture. They have designed a novel BCubesource routing (BSR) algorithm for MDC which takes into account the particularnetwork structure of a BCube architecture. The BCube source routing provides max-imum utilization of the available capacity, automatically load balance the traffic andscale up to thousands of routers. The rationale behind the selection of source routingfor MDC is that the intermediate routers do not have to route the traffic, they justhave to forward the data being sent to them and instead, the source will do all therouting decisions. The proposed Bcube structure is shown in Fig. 3.

In BSR routing algorithm, when a source obtains k + 1 parallel paths towards adestination, it sends probe packets on these paths and if any path is unavailable due

Page 6: Routing Techniques in Data Center Networks

512 S. Habib et al.

to link failure, the source runs Breath First Search (BFS) algorithm [27] to determinealternate path. The failed link and the existing parallel paths are removed from theBCube graph and then BFS is applied. The intermediate servers upon receiving apacket determine the next hop and if the incoming link bandwidth is smaller than thebandwidth value mention in probe packet then it updates the probe bandwidth valueand send probe response containing updated value. If next hop is not available, thena message about path failure is sent back to the source node. Similarly, if networkcondition changes due to path failure, the source perform alternate path adoption.

The authors have also considered the possibility of external communication in theirproposed BSR routing algorithm. They have introduced the concept of aggregatorand gateway nodes which are used to communicate with external networks. Anaggregator is an ordinary layer-2 switch with 10G uplinks. Any Bcube server thatconnects with the aggregator node acts as gateway node. When there is a packet forsome external network from internal server then it will be passed through gatewaynode. Gateway node performs the address mapping either manually or dynamically.When a packet arrives on a gateway node, it removes the Bcube packet header andsends the packet to the external network. The paths from the external network to theinternal servers can be erected in the same manner.

The authors in [8] have proposed a novel network structure for data center net-working called DCell. Their proposed structure is fault tolerant and can performvery well in situations of very few link or node failures. They have also proposeda distributed routing algorithm which is fault tolerant and provides high data centerthroughput and is scalable also. The authors have implemented DCell on a real testbed and performed comparative evaluations with shortest-path first (SPF) routing. Itis found that DCell is resilient to node and link failures and provides high aggregatenetwork throughput.

2.1.2 Switch-centric Approach

VL2 In [5], the authors propose a flexible data center network architecture calledVL2 consisting of low cost ASIC switches which are arranged into a Clos topology[28] and is scalable in nature. The proposed network architecture provides uniformhigh capacity among servers, and layer-2 forwarding and routing semantics. Forthe provision of these services, VL2 uses flat addressing so that service instancescan be placed anywhere in the network. In addition to that, the proposed schemeimplements routing and forwarding with the help of aValiant Load Balancing [29, 30]mechanism to distribute traffic evenly across network paths and an end-system basedaddress resolution feature which facilitates scalability, without introducing too muchcomplexity at the network control plane.

For routing and forwarding inVL2, two types of IP addresses are used i.e., locationspecific IP addresses (LA) and application specific IP addresses (AA). AA remainssame even after migration of a virtual machine (VM) within a data center, but LAaddresses change. In order to provide load balancing and hot spot free forwarding,VL2 implements two mechanisms. One is the Valiant Load Balancing (VLB) and the

Page 7: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 513

Fig. 4 VL2 Directory System Architecture [5]

second is Equal Cost Management Protocol (ECMP). VLB distributes traffic amongintermediate nodes and ECMP distributes load among equal cost paths. VL2 agentsrunning on each server implement VLB using encapsulation by sending traffic tointermediate nodes by selecting randomly chosen paths. Upon reception, an inter-mediate node de-encapsulates and sends the packet to the Top of Rack (ToR) switchfor further forwarding.

For address resolution, the conventional address resolution protocol (ARP) is re-placed by a Directory system to handle broadcast and multicast traffic. Directorysystem consists of directory servers (DS), who keep AA-LA mappings. Each DSperforms three tasks, i.e., lookup, updates for AA-LA mapping and third one is re-active cache update under live VM migration. DS helps to trace physical locationof application. When any two servers want to communication with each other, AAaddresses are used and the source queries to DS for AA-LA mapping of the desti-nation server. After address resolution is done, the packet can be forwarded to thedestination server. Since, directory servers provide mapping functions, therefore,they can enforce access control policies. Figure 4 shows the proposed VL2 directorysystem architecture.

One of the limitations of VL2 is that it does not guarantee absolute bandwidthbetween any servers, which is a requirement for many real time applications. More-over, the proposed architecture is highly dependent on Clos topology [28] whichrequires that switches implement OSPF, ECMP, and IP-in-IP encapsulation, whichlimits its deployment [1].

Portland In [7], the authors have proposed a scalable fault-tolerant layer-2 datacenter network fabric. Existing layer-2 and layer-3 network protocols face some lim-itations e.g., lack of scalability, difficult management, inflexible communication, orlimited support for virtual machine migration. Some of these limitations are inherentfrom Ethernet/IP style protocols when trying to support arbitrary topologies in data

Page 8: Routing Techniques in Data Center Networks

514 S. Habib et al.

center networks. However, today’s DCNs are mostly managed by a single logicalnetwork fabric with a known baseline topology and growth model. The authors havetherefore taken this particular characteristics of DCN into consideration and designedPortland; a scalable, fault tolerant layer-2 routing and forwarding protocol for suchnetworks.

PortLand implements a centralized process called Fabric Manager which containsthe network configuration in terms of its topology and does the ARP resolutionfunction for forwarding. In order to achieve efficient routing and forwarding, theauthors have proposed a Pseudo MAC (PMAC) addressing scheme. Each host in thePortland architecture is assigned a unique PMAC address which is used to encodethe physical location of the host in the network topology and an actual MAC address(AMAC). When a source node wants to send some data to a destination node, theingress switch upon receiving a packet looks for the source MAC address in thepacket and checks its local table for AMAC to PMAC mapping. If no such entryis found, it will be created and then will be sent to the fabric manager for furtherprocessing of the ARP request. Similarly, when the packet reaches a particular egressnode, it performs the necessary PMAC to AMAC mapping and then it is eventuallysent to the destination node. In this way, the fabric manager in PortLand helps toreduce broadcastARP traffic at the ethernet layer. Figure 5 shows how anARP requestis processed in PortLand architecture. The authors have called this ARP resolutionmechanism as proxy ARP. When a packet is received by an edge switch in step 1,it creates an Address Resolution Protocol (ARP) request for IP to MAC mappingand sends this request to fabric manager to lookup its PMAC in step 2. The fabricmanager then returns the PMAC address to the edge switch as shown in step 3 ofFig. 5. Finally, in step 4, the edge switch creates an ARP reply and sends it to thesource node for further routing.

One of the limitations of PortLand is that it requires a multi-rooted fat-tree topol-ogy thus making it not applicable to other commonly used DCN topologies. Also,since, a single fabric manager is used to resolve address resolution protocol requests,there is a greater chance of malicious attacks on the fabric manager. Similarly, inPortLand, every edge switch should have at least half of its ports connected toservers [1]. The authors have shown through implementation and simulation resultsthat PortLand holds promise for supporting a plug-and-play large-scale data centernetworks.

A Scalable, Commodity Data Center Network Architecture The authors of [11]have proposed a scalable data center network architecture consisting of commoditymachines (switches and routers). The proposed architecture enables any arbitraryhost to communicate with another host in a data center network by fully utilizing itslocal network interface bandwidth. Moreover, it makes use of commodity switchesand machines to build large scale data centers which helps to reduce cost. The authorshave also claimed that their proposed architecture is backward compatible withoutany modification to hosts running Ethernet and IP protocols. It is assumed that thenetworking devices are arranged in a fat-tree topology in the proposed architecture. Anovel addressing scheme is proposed based on the fat-tree topology in which private

Page 9: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 515

Fig. 5 Proxy ARP [7]

Fig. 6 Simple fat-tree topology. Using the two-level routing tables, packets from source 10.0.1.2to destination 10.2.0.3 would take the dashed path [11]

addresses are assigned in the network and the format of the addressing scheme is10.pod.switch.1 where pod determines the pod number and switch determines theswitch number within a specific pod of a fat-tree topology. Figure 6 shows theaddressing scheme in a fat-tree topology of a DCN.

In order to achieve maximum bisection bandwidth, which requires evenly dis-tribution of traffic among the core switches of a DCN, the authors have extendedan existing OSPF-ECMP [31] routing algorithm. They have introduced a two levelprefix lookup, in which the primary table prefix points to the secondary table suf-fix. For a lookup query, If there is no entry against any prefix in the primary table

Page 10: Routing Techniques in Data Center Networks

516 S. Habib et al.

then searching will be terminated, otherwise, longest suffix matching is done in thesecondary table. It is possible that more than one prefix can point to a single suffix.

In order to understand the routing process in this architecture, let us consider anexample. A source host 10.0.1.2 wants to send a packet to let us say this destinationaddress 10.2.0.3 as shown in Fig. 6. First of all, the gateway switch near to the sourcewill do the packet lookup with the /0 first-level prefix. It will then forward the packetbased on the host ID byte according to the secondary table for that prefix. In that table,the packet matches the 0.0.0.3/ 8 suffix, which points to port 2 and switch 10.0.2.1.Switch 10.0.2.1 will also follow the same steps and forwards the packet on port 3which is attached to core switch 10.4.1.1. The core switch upon lookup will forwardthe packet to the destination pod 2. After the packet has successfully reached thedestination subnet, standard switching techniques are employed to deliver the packetto the destination host 10.2.0.3. The authors have performed extensive simulationsand evaluations to validate their proposed scheme. They have implemented theirproposed routing scheme including the two level lookup in the NetFPGA [32] usingcontent-addressable memory (CAM) [17] which is quite efficient in searching.

Table 1 summarizes all the above mentioned topology-aware routing and forward-ing schemes in data center networks. It states the objective of each algorithm, theprocedures that are used in obtaining an efficient routing algorithm and the limitationsof each scheme.

2.2 Energy-Aware Routing

Data centers consists of huge amount of devices. Each device consumes power. Forthis purpose efficient power saving routing protocols are needed so that energy canbe saved by keeping those devices in sleep mode which are not participating incommunication but without effecting DCN performance. For this purpose, in thissection, we will explore some of the existing energy-aware routing protocols in datacenter networks.

2.2.1 Green Routing

In [9, 24], the authors propose energy aware routing which helps to save energywithout compromising on routing performance. The energy consumed by power-hungry devices becomes a great trouble for many data centers owners. In the proposedconcept such idle devices can be shut down. The authors have proposed a heuristicalgorithm which first manipulates the network throughput by routing on all switches;this routing is called basic routing. Here throughput is taken as performance metric.Now one by one it removes switches until network throughput decreases to a predefinethreshold value, and then it stops removing switches anymore. In one iteration, thealgorithm removes one device and calculate the network throughput and compare itwith the threshold value. If the network throughput is not less than the threshold, it

Page 11: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 517

Table 1 Summary of the topology-aware routing approaches in DCNs

Techniques Objective Methodology Limitations

BCube [6] Design of networkarchitecture formodular data centers(MDC)

Routing andforwarding to achieveload balancing, faulttolerance and gracefuldegradation

Control overhead,scalability issue,wiring cost

Dcell [8] Design of a faulttolerant physicalnetwork infrastructure

DCell architecture,fault-tolerantdistributed routingprotocol

Wiring cost, not scal-able because construc-tion of complete graphat each level

VL2 [5] Design of a networkarchitecture forforwarding androuting that requiresminimal or no datacenter hardwarechange

Routing with VLBand ECMP to provideload balancing, flataddressing for serviceportability

Not scalable due toflat addressing, doesnot guarantee absolutebandwidth, dependenton Clos topology

PortLand [7] Scalable and faulttolerant layer-2routing andforwarding protocol

Ethernet compatiblerouting, forwardingand address resolutionprotocol, loop freeforwarding

Scalability due tolayer-2 forwarding,only applicable forfat-tree topology,single point of failurebecause of fabricmanager

M. Al-Fares [11] Design of a DCNinfrastructure tointerconnectcommodity switchesin fat-tree topology

Extension of existingrouting protocol,novel IP addressassignment, two-levelroute lookups formultipath routing,fault tolerance scheme

Wiring overheadbecause of fat-treetopology

updates the topology and goes to the next iteration otherwise the algorithm terminates.In the end, the algorithm puts all those devices in sleep mode which are not part ofthe updated topology.

The proposed heuristic routing algorithm contains three modules. The first moduleis the Route Generation (RG) module and the second module is the ThroughputComputation (TC) module. The third module is the Switch Elimination (SE) module.Now, we will explain each of the these modules proposed in [9].

Route Generation This module generates route for a selected traffic matrix at whichthe network throughput is maximum. The input inserted in this module is (G, T),where G is the data center topology and T is traffic matrix. RG() function returns allpossible paths for T then select only that path at which the network gives maximumthroughput. The data centre network is too large sometimes that it is not feasible todetermine all paths. This also increases the complexity of the algorithm because of

Page 12: Routing Techniques in Data Center Networks

518 S. Habib et al.

such large scale data centers. Moreover, we can take advantage of the topologicalstructure of the data center. Similarly, for a specific flow, if several paths exists, thealgorithm will select only that path on which least overlapping flows exists. If twoor more flows have the same number of overlapping flows then select the one whichhave least number of hop count.

Throughput Computation This module computes the throughput of a network ina given topology. The authors have used a max-min fairness model to add up thethroughputs of all flows.

Switch Elimination In this module, the algorithm will remove the switch whichis carrying the least amount of traffic in a single iteration using a greedy approach.The algorithm works by selecting any active switch carrying least traffic load andremoving it from the topology. The updated topology is then passed through thesecond round. It is also important to note that the eliminating switch should not bethe critical one which means that by removing it would disconnect the topology. Theauthors have tested their proposed algorithm on BCube [6] data center architectureand found that at low network load significant amount of energy is saved. However,when network load increases, energy saving is decreased due to the fact that nowalmost all switches carry too much traffic load and it becomes difficult to remove allof them.

2.2.2 Power-Aware Routing

The authors have proposed a throughput guaranteed power aware routing algorithmin [13]. The objective of the proposed algorithm is to reduce power consumed bynetworking devices in densely connected data centers. The idle links or deviceswhich are not involved in routing are put in sleep mode or shut down in order to savepower. The authors have proposed a model of throughput guaranteed power awarerouting and proved the time complexity of the algorithm to be NP-hard by reducingit to the famous 0–1 knapsack problem [25], The proposed model is a combinationof general power consumption model and simplified model. They have called theirproposed model a multi-granularity power saving strategy. Through this strategy, thepower consumption of network devices can be reduced at both the device level andthe component level. The propose heuristic algorithm consists of four steps. In step1: basic routing is performed. Step 2 gradually removes the switches in the networkand updates the topology without affecting the network throughput. In step 3, thealgorithm keeps on removing links until network throughput start decreasing. Thelast step 4, puts all the devices in sleep mode which are not included in final topology.

In addition to the basic working of the proposed algorithm, it has five modules.These are the route generation (RG), throughput computation (TC), switch elimi-nation (SE), link elimination (LE) and the reliability adaptation (RA) module. Therelationship among these five modules is shown in Fig. 7.

The input to the algorithm is the quadruplet (G, T, PR, and RP). Where G denotesdata center network topology, T denotes the traffic matrix. PR is the performance

Page 13: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 519

Fig. 7 Relationship among five modules of the proposed algorithm in [13]

threshold percentage and RP is the reliability parameter. As shown in Fig. 7, switchelimination module is initialized first followed by the link elimination module untilthe network performance in terms of the throughput starts to degrade. After this,the RA module takes the updated topology and adds some more links and networkdevices and gives updated topology.

Table 2 compares the energy-aware routing schemes surveyed above based on theirobjectives, the procedures that are used in obtaining an efficient routing algorithmand the limitations of each technique.

2.3 Traffic-sensitive Routing

Our third parameter for classification of existing routing schemes in data centernetworks is based on the type of traffic, a particular routing scheme is intended for. Forexample, whether a particular algorithm is designed for unicast, or multicast trafficor does it support multipath communication. We classify such routing algorithmsas traffic-sensitive routing schemes. Note that all of the surveyed routing schemesin this classification have applied some form of traffic engineering to achieve theirdesign objectives. [10,18–21] are the algorithms that fall in this category and we willexplore them in this section.

Page 14: Routing Techniques in Data Center Networks

520 S. Habib et al.

Table 2 Comparison of Energy-aware routing schemes in data center networks

Techniques Objective Methodology Limitations

Green Routing [9] Reducing energyconsumption in highdensity data centernetworks, withouteffecting networkperformance

Model formulation forenergy-aware routingproblem. Heuristicrouting algorithm

Scalability issue,centralized approach,network disconnection

Power-awareRouting [13]

Minimize networkpower to providerouting services

Throughputguaranteed routing,max-min fairnessmodel to calculatethroughput

Single point of failuredue to centralizedapproach, networkdisconnection

2.3.1 DARD

The authors of [18] have proposed a novel routing architecture called DistributedAdaptive Routing for Datacenter (DARD), which tries to fully utilize the bisectionbandwidth typically common in DCNs in order to avoid any hot spots between anypair of hosts in the network. The authors have argued that the classical TCP protocolcannot dynamically select paths according to the current traffic load in the networkwhich means that it is not adaptive to the network traffic load. Therefore, dynamicpath selection mechanisms are adopted which have their own pros and cons and theauthors have discussed those issues in [18]. However, to overcome the limitationsof existing path selection mechanisms, the authors have proposed an end-to-enddistributed path selection algorithm (DARD) that runs on the end hosts rather thanon the switches and is load-sensitive to the dynamic traffic in the network. Theproposed DARD architecture helps to move traffic from overloaded paths to theunder loaded paths efficiently.

An overview of the proposed DARD architecture is shown in Fig. 8. As it canbe seen in the figure, the proposed system consists of three components. One is theelephant flow detector which detects the if there is any elephant flows exists in thenetwork. The second component is the path state monitor which monitors the trafficload on each link by periodically querying the switches and the third component isthe path selector whose job is to move flows from overloaded paths to the underloaded paths.

Because of the distributed nature of the DARD algorithm, no end system or net-work device has complete network information and each end system has limited/localinformation based on which it selects paths. A hierarchical addressing scheme is usedto uniquely identify end-to-end path with a pair of source and destination nodes.DARD adopts different paths to carry flows towards a destination. The purpose ofdoing so is to maximize utilization of link capacities between any pair of servers, andto avoid retransmissions caused by packet reordering. There are two paths in DARDone is the Uphill Path that is a partial path encoded by source address to keep entries

Page 15: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 521

Fig. 8 DARD’s systemoverview [18]

allocated from upstream nodes and the second is the Downhill Path that is a partialpath encoded by destination address. The idea of splitting a path is taken from [33].

In DARD, when a packet is received by a switch, it notes the destination addressand runs the longest prefix matching algorithm. If a match is found, it will forwardthe packet to the corresponding downstream switch, otherwise, the switch finds thesource address in table and forwards the packet back to the corresponding switch inupward direction. The source adds source and destination address in the packet headerand the intermediate switches view the header and forward the packet accordingly.When the destination node receives the packet, it de-encapsulates and passes thepacket to the upper layer protocols. DARD notifies every end host about the trafficload in the network. Then each host will select appropriate paths for its outboundelephant flows according to the network conditions. Existing routing protocols canlead to oscillations and instability. The reason for this is that different resources moveflows to under-utilized paths in a synchronized manner. In DARD, path oscillationis prevented by introducing a fixed span and a random span of time interval betweentwo adjacent flow movements of the same end host.

The authors have performed extensive simulations and have implemented theirprototype in a real test-bed. The authors have show that DARD is a scalable routingalgorithm with reduced control overhead and provides efficient utilization of thebisection bandwidth in a data center network. The results have also shown that theDARD achieves fairness among elephant flows in the network.

Page 16: Routing Techniques in Data Center Networks

522 S. Habib et al.

Fig. 9 a Pseudocode for global first fit. b Pseudocode for simulated annealing algorithm [19]

2.3.2 Hedera

In [19], the authors have proposed a centralized scalable and dynamic scheduler forflow routing to efficiently utilize aggregate network resources in data center net-works. They called the flow scheduler as Hedera. The main objective of Hedera istherefore, to maximize the utilization of bisection bandwidth with least schedulingoverhead in data center networks. Hedera achieves this objective by implementinga global view of the routing and traffic information. The scheduler works by col-lecting flow information from switches to determine the non-conflicting paths forflows, and then instructs the switches to forward traffic respectively. The schedulermeasures the bandwidth utilization of each flow and when a flow demand is beyonda particular predefine threshold value, it is moved to an alternate route which fulfillsthe flow demand. The proposed scheduling system works by first detecting largeflows at the edge switches and then it computes alternate paths by running placementalgorithms (practical heuristic algorithms) to fulfill the bandwidth demand, followedby installing these paths on the switches.

Since, scheduling flows running in a network with the constraint that it should notexceed the capacity of any link in the network is called the multi-commodity-flowproblem which is an NP-complete problem [34], the authors have proposed two prac-tical heuristic algorithms for flow scheduling that can be applied to many topologiesin DCNs. The first heuristic they have used for flow scheduling is the Global FirstFit algorithm which is shown in Fig. 9a. With the possibility of having multiplepaths between same source and destination pairs, when a new flow is detected, thescheduler greedily assigns the first path that accommodates the demands. This way,the algorithm does not guarantee that it will schedule all the flows but it performsrelatively well in real scenarios. The second heuristic flow scheduling algorithm isbased on Simulated Annealing shown in Fig. 9b. It is a probabilistic approach for

Page 17: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 523

efficiently computing paths for flows. The input to the algorithm is the set of flowsto be scheduled and the flow demands. The algorithm searches through the solutionspace to find a near optimal solution to the scheduling problem. There is an energyfunction E that defines the energy in the current state. In each iteration, we moveto another state with an acceptance probability P, which is a function of the cur-rent temperature and the energies of current and neighboring states. The algorithmterminates when the temperature hits zero.

The authors have implemented Hedera on a real test-bed and have also performedsimulations to validate their findings. They have found that Simulate Annealingalways outperforms Global First Fit flow scheduling algorithm and provides nearoptimal solution to the flow placement problem.

2.3.3 ESM: Multicast Routing for Data Centers

In [20], the authors have explored the design of an efficient and scalable multicastrouting protocol for DCNs. Because of multiple interconnections among switchesin a data center network, the traditional multicast routing protocols are inefficientin the formation of multicast trees in such networks. Moreover, switches in datacenters have limited space to maintain multicast routing information which makesthe design of a multicast routing protocols more challenging. To resolve these issues,the authors propose ESM which constructs efficient multicast trees using source-to-receiver expansion approach rather than the traditional receiver-driven multicastrouting approach. To reduce the routing table size, ESM, combines In-packet BloomFilters and in-switch entries to make it a scalable multicast routing protocol.

For the construction of multicast tree for data forwarding, ESM implements amulticast manager. The manager builds the multicast tree using source-to-receiverexpansion approach which basically removes many unnecessary switches in theformed multicast tree. The problem of computing efficient multicast tree can betranslated into the problem of generating Steiner tree in general graphs and Steinertree problem in BCube has been proven to NP-Hard by the authors in [35]. Theyhave also shown that the heuristic algorithms to solve Steiner tree problem has ahigh computational complexity and therefore, they have designed an approximatealgorithm to generate multicast tree for routing in data center networks.

ESM, aggregates multiple multicast routing entries into a single entry by usingin-packet bloom filters. Actually, the tree information is encoded into the in-packetbloom filter instead of the usual multicast routing entries in the switch. However,there is a drawback in using in-packet bloom filters that is the network bandwidthis wasted. Therefore, the authors have combined both the in-packet bloom filter andthe traditional in-switch entries to achieve a scalable multicast routing in DCNs.

The authors have tested ESM’s source-to-receiver approach and compared it withthe traditional receiver-driven approach for multicast routing. They have found thatESM saves network traffic for tree building by 50 % and also doubles the appli-cation throughput when compared with receiver-driven approach. Similarly, theyhave found that combining in-packet bloom filter with in-switch entries significantlyreduces the number of routing entries inside the switches.

Page 18: Routing Techniques in Data Center Networks

524 S. Habib et al.

Fig. 10 a Knee switch example. b Forwarding model [10]

2.3.4 GARDEN

The authors of [10] have proposed a GenericAddressing and Routing for Data CenterNetworks (GARDEN) protocol. There are many routing and forwarding schemeswhich are designed for a particular network topology in a data center such as VL2[5], BCube [6], Portland [7], and DCell [8]. The main idea in this paper is to design aforwarding scheme for data center networks which is not dependent on any particularunderlying topology. In the proposed system, a multi-rooted tree is first constructed,so that the addressing of the nodes in the tree can be defined. Then a downward pathfrom each node to the root is constructed, and a locator is assigned to each path.These locators are actually assigned to each host or switch in the network based onthe newly created multi-rooted tree topology. As the name suggests, locators encodethe location of a particular node in the tree. This effectively means that the locatorsare used for forwarding instead of the usual MAC addressing. This significantlyreduces the forwarding states in the routing tables on each switch in the networkas locators are addressed according to the hierarchical structure of the multi-rootedtree.

The authors have proposed a forwarding model to populate the forwarding tablesin the switches. They have tried to explain their proposed forwarding model with thehelp of an illustrative example as in Fig. 10a. A single path from the source node tothe destination may consists of many steps (segments). As it can be seen in Fig. 10a,some segment has an upward direction (upward e.g. 21), some have downwarddirection (downward e.g. 23) and some have straight direction i.e. horizontal (e.g.32). The first switch towards the last downward path segment is called a knee and thehighest switch among all switches is called a peak switch. Based on this example,the authors have applied two traffic constraints. The first constraint is that the trafficshould change the direction from upward to downward only once and the secondconstraint is that the knee switch must be among the peak switches in a path. Now,

Page 19: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 525

Table 3 Comparison of the four traffic-sensitive routing techniques in data centers

Techniques Objective Methodology Limitations

DARD [16] Design of loadsensitive adaptiverouting

Routing algorithmbased on simulatedannealing, provableconvergence to Nashequilibrium

Requires modificationat the end hosts

Hedera [19] Maximize aggregatenetwork utilization(bisection bandwidth)

Global flow scheduler,two heuristic flowscheduling algorithm:simulated annealing andglobal first fit

Not scalable as it iscentralized

D. Li [20] Design of efficientmulticast tree forrouting with minimumswitches

In-pocket bloom filterand in-switch routingfor scalable multicastrouting, node basedbloom filter to encodetree

Complexity,centralized, ignorecontrol overhead

GARDEN [10] Design of genericaddressing, routingand forwardingprotocol for DCNs

Central controller toform multi-rooted tree,addressing, forwardingmodel to reduce states,load balancing, andfault-tolerance

Scalability, traffic loadnot considered, offlinesolution

the switch traffic can be divided into three forwarding classes based on the abovementioned two constraints i.e., FwT1, FwT2 and FwT3. Figure 10b shows the blockdiagram of the proposed forwarding model.

In order to implement and evaluate GARDEN, the authors have built differentsized testbeds of fat tree topologies. and compared the GARDEN forwarding statesfor different topologies, They have shown that GARDEN provide good fault toleranceand improved aggregate network throughput using different scheduling methods.

We compare the four algorithms surveyed above based on their objectives, themethodology that are used to provide efficient routing and forwarding, and thelimitations of each approach in Table 3.

2.4 Routing for Content Distribution Networks (CDN)

In this section, we will study some of the existing routing schemes specifically de-signed for content distribution/delivery networks (CDNs). We have classified therouting schemes in data center networks based on this parameter. A CDN is an over-lay network over multiple data center networks located in geographically dispersedlocations and are accessible via internet. The primary purpose of CDNs is to providecontent to its subscribed users by maintaining many surrogate or replica servers on

Page 20: Routing Techniques in Data Center Networks

526 S. Habib et al.

Fig. 11 A typical content distribution network (CDN)

locations which are geographically close to the end user. A typical content distribu-tion network is shown in Fig. 11. The protocols that have been proposed for contentdistribution networks are mostly propriety in nature and are not standardized as ofyet. However, the IETF [36] has initiated a working group called Content DeliveryNetworks Interconnections (CDNI [37]) to standardize the protocols in the domainof CDNs.

In addition to routing schemes in CDNs, we will also survey some of the routingschemes in data centers that do not completely lie in any of the above mentionedclassification parameters and therefore are also discussed in this section.

2.4.1 Request-Routing in CDNs

In [15], the authors have described CDN based request routing techniques that havebeen implemented by researchers. A typical CDN contains many surrogate servers,a distribution system, a request-routing system, and accounting systems. Surrogateservers are not the origin servers which are the servers that actually own the contents,instead, their responsibility are just to deliver the content closest to the end user.

When a client request for content, it reaches to the geographically nearest locatedsurrogate server which maps the request to deliver the content information. Thismapping is done by the Distribution system who interacts with the request-routingand accounting system for determining the availability of the requested content indifferent surrogate servers and the volume of content distribution respectively. The

Page 21: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 527

request routing system [38, 39] consisting of request routers directs the client re-quest to the appropriate surrogate server by taking into consideration the networkconditions and the load on surrogate server.

The authors have discussed many solutions to the request routing problem inCDNs. The first is the use of DNS servers for request routing in CDNs. In suchrouting, the client sends a name based query to the local Domain Name Server (DNS).If the name exists, the DNS returns the address of the corresponding surrogate serverthat is nearest to the client location. If look up fails, the local DNS forwards therequest to the DNS root. The DNS root server returns the address of the authoritativeDNS server. The authoritative DNS will return address of the surrogate server nearbyto the client. Then the client will get the content from the appointed surrogate server.But, this type of request routing has limitations as mentioned in [15] such as, theinherent scalability issue in DNS multi-level redirections. The second solution couldbe implemented at the transport-layer in which the requesting client’s IP address andport number will be checked and a session is established with corresponding surrogateserver. Similarly, application-level request routing solutions also exist which arenormally divided into two types i.e. header inspection and content modification. Inheader inspection, Uniform Resource Locator (URL) of the requested content isused for taking routing decisions. In the content modification method, the contentprovider can modify the references of the embedded items belonging to a particularcontent item, and the client can fetch the embedded item from the best designatedsurrogate server.

In [16] M. Wahlisch et. al., have done a measurement study on the efficiency ofcontent centric routing under various offered load. It is found that service efficiencydecreases due to the exhaustion of memory and processing resources due to theexcessive state allocations in such CDN based routing protocols.

2.4.2 Symbiotic Routing

The authors of [22] have proposed symbiotic routing in data center networks. In tra-ditional data center network architecture, one server is associated with other serversusing network devices like switches and routers, however, in CamCube which is aDCN topology proposed in [40], one server is attached with other servers directlyand forms a 3D torus topology which uses Content Addressable Network (CAN).In CamCube architecture, each service implements its own routing protocol whichresults in better performance at the service level. Each application will have a uniqueid and on every server, many application instances can be run. When a packet isreceived from any link, the kernel will be responsible for its delivery and inform viacall-back to the service running in the user space about the source link on whichthe packet was received. The authors have used a single queue mechanism per link.When a packet is transmitted on a link, all the services will be polled to determine towhich service this packet belongs and the packet is queued to that service queue. Therouting service in the proposed architecture performs the key-based routing. Keys inthe key-based routing determine the location of the server in the form of coordinate

Page 22: Routing Techniques in Data Center Networks

528 S. Habib et al.

space. Using key-based routing, all packets are directed towards the server, who isresponsible for the destination key.

The authors have evaluated individual services and concluded that by apply-ing their proposed optimized protocols, better application-level performance canbe achieved and network load can be reduced.

2.4.3 fs-PGBR: A Scalable and Delay Sensitive Cloud Routing Protocol

In [23], the authors propose an efficient routing protocol for accessing resourceswith minimum delay in the cloud. The proposed algorithm is called fast search-Parameterized Gradient Based Routing (fs-PGBR), which is fully distributed,scalable and provides minimum latency during resource discovery. The proposedalgorithm is an extension of PGBR [41], the idea of which is inspired fromchemotaxis (a bacteria motility process). In order to solve the typical scalabilityissue in existing PGBR problem, the authors have modified the hop count formulato make it scalable. With the modifications, each node compares the shortest pathof its neighbours and evaluates it against the maximum and minimum weight of itsneighbours. It is concluded that fs-PGBR is scalable its resource discovery delaysare minimum due to its shortest path adoption policy.

2.5 Summary of All Routing and Forwarding Techniques

We have provided the survey of existing routing and forwarding techniques in datacenter networks in the previous section and summarized them based on their ob-jectives, methodologies and limitations. We now present an overall summary of allthe routing approaches mentioned above in Table 4, which shows the comparison ofthese schemes based on six characteristics which are briefly described as follows:

Implementation How the routing and forwarding is performed in the proposedalgorithm i.e. in a centralized or distributed fashion?

L2/L3 Is the proposed routing and forwarding performed at Layer-2 (ethernet) orLayer-3 (network) or Layer 2.5 (shim layer) of the TCP/IP stack in a data centernetwork?

Server/Switch Centric Who is involved for forwarding in a proposed routingtechnique in a data center i.e. switches or servers?

Traffic What type of traffic/communication does the proposed routing protocolsupport i.e. unicast, or multicast?

H/W Change Does the algorithm requires any switch or server modifications?

Page 23: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 529

Table 4 Summary of characteristics of all routing approaches in data center networks

Characteristics Implementation L2/L3 Server/Switchcentric

Traffic H/Wchange

Topology

BCube [6] Distributed L3 Server-centric Unicast No Hypercube

Dcell [8] Distributed L3 Server-centric Unicast No Custom

VL2 [5] Distributed L2.5 Switch-centric Unicast No Clos

PortLand [7] Centralized L2 Switch-centric Multicast Yes Fat-tree

M. Al-Fares [11] Centralized L3 Switch-centric Unicast Yes Fat-tree

Green Routing[9]

Centralized L3 Switch-centric Unicast No Generic

Power-awareRouting [13]

Centralized L3 Switch-centric Unicast Yes Generic

DARD [16] Distributed L3 Server-centric Unicast No Generic

Hedera [19] Centralized L3 Switch-centric Unicast Yes Fat-tree

D. Li [20] Centralized L3 Switch-centric Multicast Yes Generic

GARDEN [10] Centralized L3 Switch-centric Unicast No Generic

Request-routing[15]

Centralized L3/4/5 Switch-centric Unicast No Generic

Symbioticrouting [22]

Distributed L3 Server-centric Multicast Yes Generic

Fs-PGBR [23] Distributed L3 Switch-centric Unicast No Generic

Topology Does the routing scheme takes into account the underlying physical net-work topology for generating paths and for forwarding? Is it designed for a particulardata center structure or is independent of any DCN topology i.e. generic.

3 Open Issues and Challenges

In spite of a reasonable amount of research in the late literature, there are still somechallenges and open issues that need to be addressed in designing efficient dataforwarding and routing schemes particularly in DCNs. Below, we outline what webelieve some of these challenges and open issues are.

Topology Independent Routing As explained in Sect. 2.1, most of the existing routingand forwarding schemes are designed for a particular data center network topology.There is a need to design efficient routing protocols for generic DCN topologies.Very few routing schemes have addressed this issue of topology independent routingand therefore, we believe that more research needs to be done in this area.

Page 24: Routing Techniques in Data Center Networks

530 S. Habib et al.

Load-balancing and Reliability More robust and efficient routing schemes are re-quired to intelligently balance the load among multiple paths between a source anddestination server in a data center network. Although, the existing schemes do par-tially solve the load balancing issue in DCNs, but a complete solution in terms of arouting and forwarding algorithm which is able to perform load balancing and alsoprovides fault-tolerance is still one of the major challenges of routing in DCNs.

Energy-efficiency Data centers consume lots of energy, therefore, energy conserva-tion or power saving in data centers is a hot research field nowadays. Although, somework has been done in designing efficient power-aware or energy-aware routing al-gorithms and we have gone through some of them in this chapter, but the concept ofenergy conservation in data centers is new and it is still progressing and evolving toits maturity.

Lack of Secure Routing Protocols There is a growing need to design secure routingprotocols to protect both the control plane and the data plane of a routing infrastructurein a data center network. Securing control plane means that the topology discoverymechanism should be protected and data plane security relates to protecting the flowdata from tampering or modification. The control plane security of a data centerrouting infrastructure can be made possible by the fact that most of the existing datacenter routing schemes are tightly coupled with the underlying physical networkinterconnections and topologies. However, to the best of our knowledge, there isno secure routing protocol particularly designed for data centers with the focus ofsecuring data plane of a DCN routing infrastructure. We believe the reason for thelack of research in secure routing is because data centers as a whole is still not fullymatured yet and therefore, a lot of research potential still exists in the field of routingdata and control plane security in DCNs.

4 Conclusions

In this chapter, we have discussed the problem of data forwarding and routing indata center networks. We have defined various types of communication patterns thatare commonly used in DCNs and have provided different data center structures andtopologies that most of the existing routing techniques in DCNs make use of. We thenpresented a survey of some of the existing forwarding and routing techniques in DCNsby classifying them using parameters such as energy, traffic and topology aware uponwhich many routing schemes are based. We discussed the rationale behind usingeach of these parameters for our classification. We have also tabulated a comparativesummary of all the discussed routing schemes based on six characteristics. Finally,we discussed some of the challenges and open issues in designing efficient routingschemes in DCNs.

Page 25: Routing Techniques in Data Center Networks

Routing Techniques in Data Center Networks 531

References

1. Md. Faizul Bari, Raouf Boutaba, “Data Center Network Virtualization: A Survey”, Communi-cations Surveys & Tutorials, IEEE (Volume:15, Issue: 2).

2. S. Ghemawat, H. Gobioff, and S. Leung. “The Google File System”, in SOSP, 2003.3. CloudStore. Higher Performance Scalable Storage. http://kosmosfs.sourceforge.net/.4. J. Dean and S. Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters,” in

Proc. USENIX OSDI, December 2004.5. A. Greenberg, J. Hamilton, N. Jain and etc., “VL2: A Scalable and Flexible Data Center

Network”, In Proceedings of ACM SIGCOMM’09, Aug 2009.6. C. Guo, G. Lu, D. Li, H. Wu, X. Zhang, Y. Shi, C. Tian, Y. Zhang, and S. Lu, “BCube: A High

Performance, Server-centric Network Architecture f or Modular Data Centers,” in Proc. ACMSIGCOMM, August 2009.

7. R. Mysore, A. Pamboris, N. Farrington and etc., “PortLand: A Scalable Fault-Tolerant Layer2 Data Center Network Fabric”, In Proceedings of ACM SIGCOMM’09, Aug 2009.

8. C. Guo, H. Wu, K. Tan, L. Shi, Y. Zhang, and S. Lu, “Dcell: A scalable and fault-tolerantnetwork structure for data centers,” SIGCOMM 2008.

9. Yunfei Shang, Dan Li, Mingwei Xu, “Green Routing in Data Center Network: Modeling andAlgorithm Design”. Proceedings of the first ACM SIGCOMM workshop on Green networking.

10. Yan Hu, Ming Zhu,Yong Xia, Kai Chen “GARDEN: Generic Addressing and Routing for DataCenter Networks”, Cloud Computing (CLOUD), 2012 IEEE 5th International Conference.

11. M. Al-Fares, A. Loukissas, and A. Vahdat, “A Scalable, Commodity Data Center NetworkArchitecture,” in Proc. ACM SIGCOMM, August 2008.

12. Kai Chen; Chengchen Hu; Xin Zhang; Kai Zheng; Yan Chen; Vasilakos, A.V.,” Survey onrouting in data centers: insights and future directions”, Network, IEEE (Volume:25, Issue: 4)

13. Mingwei Xu, Yunfei Shang, Dan Li, Xin Wang, “Greening Data Center Networks withThroughput-guaranteed Power-aware Routing”, Computer Networks Volume 57, Issue 15,29 October 2013, Pages 2880–2899.

14. http://en.wikipedia.org/wiki/Content_delivery_network.15. Md. Humayun Kabir, Eric G. Manning, Gholamali C. Shoja, “Request-Routing Trends and

Techniques in Content Distribution Network”.16. Matthias, Thomas, M.vahlenkamp, “Bulk of interest: performance measurement of content-

centric routing”, ACM SIGCOMM Computer Communication Review—Special october issueSIGCOMM ’12.

17. L. Chisvin and R. J. Duckworth. “Content-Addressable and Associative Memory: Alternativesto the Ubiquitous RAM”. Computer, 22(7):51–64, 1989.

18. Wu, Xin; Yang, Xiaowei, “DARD: Distributed Adaptive Routing for Datacenter Networks”,Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference

19. M.Al-Fares, S. Radhakrishnan, B. Raghavan, N. Huang, andA.Vahdat. “Hedera: Dynamic flowscheduling for data center networks”. In Proceedings of the 7th ACM/USENIX Symposiumon Networked Systems Design and Implementation (NSDI), San Jose, CA, Apr. 2010.

20. Dan Li, Jiangwei Yu, Junbiao Yu, Jianping Wu, “Exploring efficient and scalable multicastrouting in future data center networks”, INFOCOM, 2011 Proceedings IEEE.

21. Schlansker, Turner, Tourrilhes, Karp, “Ensemble routing for datacenter networks”, Architec-tures for Networking and Communications Systems (ANCS), 2010 ACM.

22. H. Abu-Libdeh et al., “Symbiotic Routing in Future Data Centers,” SIGCOMM, 2010.23. Julien Mineraud, Sasitharan Balasubramaniam, Jussi Kangasharju and William Donnelly, “Fs-

PGBR: a scalable and delay sensitive cloud routing protocol”, ACM SIGCOMM ComputerCommunication Special october issue SIGCOM, Volume 42 Issue 4, October 2012.

24. Yunfei Shang, Dan Li, Mingwei Xu, “Energy-aware Routing in Data Center Network”.Proceedings of the first ACM SIGCOMM workshop on Green networking.

25. R.M.Karp. Reducibility Among Combinatorial Problems, in R.E.Miller and J.W. Thatcher(Eds.), Complexity of Computer Computations. Plenum Press, New York, 1972.

Page 26: Routing Techniques in Data Center Networks

532 S. Habib et al.

26. J. Moy. OSPF: Anatomy of an Internet Routing Protocol. Addison-Wesley, 2000.27. http://en.wikipedia.org/wiki/Breadth-first_search28. W. J. Dally and B. Towles. Principles and Practices of Interconnection Networks. Morgan

Kaufmann Publishers, 2004.29. M. Kodialam, T. V. Lakshman, and S. Sengupta. “Efficient and Robust Routing of Highly

Variable Traffic”. In HotNets, 2004.30. R. Zhang-Shen and N. McKeown. “Designing a Predictable Internet Backbone Network”. In

HotNets, 2004.31. D. Thaler and C. Hopps. Multipath Issues in Unicast and Multicast Next-Hop Selection. RFC

2991, Internet Engineering Task Force, 2000.32. J. Lockwood, N. McKeown, G. Watson, G. Gibb, P. Hartke, J. Naous, R. Raghuraman, and

J. Luo. “NetFPGA–An Open Platform for Gigabit-rate Network Switching and Routing”. InIEEE International Conference on Microelectronic Systems Education, 2007.

33. X. Yang. “Nira: a new internet routing architecture”. In FDNA ’03: Proceedings of the ACMSIGCOMM workshop on Future directions in network architecture, pages 301–312, NewYork,NY, USA, 2003. ACM.

34. EVEN, S., ITAI, A., AND SHAMIR, A. “On the Complexity of Timetable and Multicom-modity Flow Problems”. SIAM Journal on Computing 5, 4 (1976), 691–703.

35. D. Li, J. Yu, J. Yu, and J. Wu, “Exploring efficient and scalable multicast routing in future datacenter networks,” in Proc. IEEE INFOCOM, Apr. 2011, pp. 1368–1376.

36. http://www.ietf.org/37. http://datatracker.ietf.org/wg/cdni/38. M. Day, B. Cain, and G. Tomlinson, “A Model for CDN Peering”, http://www.contentalliance.

org/docs/draft-daycdnp-model-03.html (work in progress), November 2000.39. B. Cain, F. Douglis, M. Green, M. Hofmann, R. Nair, D. Potter, and O. Spatscheck, “Known

CDN Request-Routing Mechanisms”, http://www.contentalliance.org/docs/draft-caincdnp-known-req-route-00.html (work in progress), November 2000.

40. P. Costa, A. Donnelly, G. O’Shea, and A. Rowstron. “CamCube: A Key-based Data Center”.Technical Report MSR TR-2010–74, Microsoft Research, 2010.

41. S. Balasubramaniam, J. Mineraud, P. Mcdonagh, P. Perry, L. Murphy, W. Donnelly, and D.Botvich. “An Evaluation of Parameterized Gradient Based Routing With QoE Monitoring forMultiple IPTV Providers”. IEEE Transactions on Broadcasting, 57(2):183–194, 2011.