• No results found

Self organizing resource location and discovery

N/A
N/A
Protected

Academic year: 2020

Share "Self organizing resource location and discovery"

Copied!
183
0
0

Loading.... (view fulltext now)

Full text

(1)

LEABHARLANN CHOLAISTE NA TRIONOIDE, BAILE ATHA CLIATH TRINITY COLLEGE LIBRARY DUBLIN OUscoil Atha Cliath The University of Dublin

Terms and Conditions of Use of Digitised Theses from Trinity College Library Dublin

Copyright statement

All material supplied by Trinity College Library is protected by copyright (under the Copyright and Related Rights Act, 2000 as amended) and other relevant Intellectual Property Rights. By accessing and using a Digitised Thesis from Trinity College Library you acknowledge that all Intellectual Property Rights in any Works supplied are the sole and exclusive property of the copyright and/or other I PR holder. Specific copyright holders may not be explicitly identified. Use of materials from other sources within a thesis should not be construed as a claim over them.

A non-exclusive, non-transferable licence is hereby granted to those using or reproducing, in whole or in part, the material for valid purposes, providing the copyright owners are acknowledged using the normal conventions. Where specific permission to use material is required, this is identified and such permission must be sought from the copyright holder or agency cited.

Liability statement

By using a Digitised Thesis, I accept that Trinity College Dublin bears no legal responsibility for the accuracy, legality or comprehensiveness of materials contained within the thesis, and that Trinity College Dublin accepts no liability for indirect, consequential, or incidental, damages or losses arising from use of the thesis for whatever reason. Information located in a thesis may be subject to specific use constraints, details of which may not be explicitly described. It is the responsibility of potential and actual users to be aware of such constraints and to abide by them. By making use of material from a digitised thesis, you accept these copyright and disclaimer provisions. Where it is brought to the attention of Trinity College Library that there may be a breach of copyright or other restraint, it is the policy to withdraw or take down access to a thesis while the issue is being resolved.

Access Agreement

By using a Digitised Thesis from Trinity College Library you are bound by the following Terms & Conditions. Please read them carefully.

(2)

Self-O rganizing R eso u rce L ocation

and D iscovery

Diego Doval

D epartm ent of C om puter Science

Trinity College, Dublin

A thesis subm itted to th e University of Dublin, Trinity College,

in fulfillment of th e requirem ents for th e degree of

D octor of Philosophy (C om puter Science)

(3)

TRINITY CO LLEG E

(4)

D e cla r a tio n

1, the undersigned, declare th a t this work has not previously been sub­ m itted at this or any other University, and th a t, unless otherwise stated, it is entirely my own work.

P erm issio n to L end a n d /o r C opy

Trinity College Library may lend or copy this thesis on request.

Signed: (Diego Doval)

(5)
(6)

A ck n o w le d g e m e n ts

When 1 begun my work at Trinity College a t the end of Septem ber 2001 I wa« not only startin g a degree, I had also ju st arrived to a new country. My family, friends and colleagues all provided support and help, making this work possible.

I would like to thank, first, my supervisor. Prof. Donal O ’Mahony. Donal provided support and guidance w ithout constraining my work, always giving me freedom to advance in the direction 1 thought best while helping keep my feet (relatively) close to th e grovuid. I am also grateful for his assistance even in w hat were definitely non-research ta^sks, from finding a room to rent before 1 arrived in Dublin, to giving me advice on how to sort out my taxes.

Dr. Linda Doyle and Dr. Hitesh Tewari helped in many ways through encouragement, comments on my work, and proof-reading of papers as well as of this thesis. 1 would also like to acknowledge the help, feedback and ideas of the members of the Networks and Telecommunications Research Group, in particular Juan Flynn, Stephen Toner, Philip Mackenzie, Tim Forde and Derek Greene for their work on environm ents and applications th a t 1 used either directly or indirectly during the course of this work. They, and others like Brian Lehane and Patroklos Argyroudis were always willing to talk about all sorts of topics and helped me m iderstand b etter some areas of networking th a t were outside my main focus.

1 also want to thank my thesis examiners, Dr. Simon Dobson and Dr. Seif Haridi, for their comments and suggestions.

Beyond the im m ediate environm ent of College, I’d like to thank Dr. Telma C aputti, who provided unwavering support throughout the years in pursuing my ideas. She also proof-read the M athem atics sections of this work, giving me many good suggestions for improving the text and th e pre­ sentation.

(7)

My move to Ireland from th e US was m ade infinitely easier with the help of Dylan Parker, Tracey Mcllor, M artin Traverso, T anna Drapkin, Vic­ tor Calo and N atacha Poggio. They helped me pack, organize, and move. Through it all Marcelo Cominguez, Sergio Mirabelli and Fernando Koch pro­ vided good conversation and advice, regardless of the distance between us.

M artin helped me w ith other aspects of the move, and in many other ways since then. He also proof-read this thesis, providing insights, correcting typos and asking probing questions th a t hel{)ed me improve my work.

Tracey and Dylan went above and beyond the call of duty by not only helping me with a myriad details (and those th a t were more th an “details”— such as taking care of my furniture!), but also spending the next two years listening patiently to my ran ts regularly over th e phone at all hours, day or night. 1 am amazed at all th ey ’ve done for me, and 1 am deeply grateful for it.

1 would also like to express my gratitu de to Chris Vosnidis, who has always been there, and has helped me through more th an one rough patch in these last two years.

I am lucky to count them as friends.

(8)

A b str a c t

Networked applications were originally centered around backbone inter­ host coinmmiication. Over time, communications moved to a client-server model, where inter-host communication wa« used mainly for routing pur- jioses. As network nodes became more powerful and mobile, traffic and usage of networked applications has increasingly moved towards the edge of the network, where node mobility and changes in topology and network properties are the norm rather th an the exception.

D istributed self-organizing systems, where every node in the network is the functional equivalent of any other, have recently seen renewcxl interest due to two im portant developments. First, the emergence on the Internet of peer- to-peer networks to exchange d a ta has provided clear proof th a t large-scale deployments of these types of networks provide reliable solutions. Second, the growing need to support highly dynam ic network topologies, in particular mobile ad hoc networks, has underscored the design limits of current central­ ized systems, in many cases creating unwieldy or inadequate infrastructure to support these these new types of networks.

Resource Location and Discovery (RLD) is a key, yet seldom-noticed, building block for networked systems. For all its im portance, com paratively little research has been done to system atically improve RLD system s and protocols th a t ad ap t well to different types of network conditions. As a result, the most widely used RLD systems today (e.g., the In tern e t’s DNS system) have evolved in ad hoc fashion, mainly through IE T F Request For Conunents (RFC) docum ents, and so require increasingly complex and un­ wieldy solutions to adap t to the growing variety of usage modes, topologies, and scalability requirem ents found in to d a y ’s networked environments.

(9)

and changes in topology. T h e increasingly ad hoc n a tu re of netw orks in general a n d of th e In te rn e t in p a rtic u la r is m aking it difficult to in te rac t con­ sistently w ith these RLD services, which in som e cases were designed tw enty years ago for a hard-w ired In te rn e t of a few th o u sa n d nodes.

Ideally, a resource location a n d discovery system for to d a y ’s netw orked environm ents m u st be able to a d a p t to an evolving netw ork topology; it should m ain ta in correct resource location even w hen confronted w ith fast topological changes; a n d it should s u p p o rt work in an ad hoc environm ent, w here no c e n tral server is available and th e netw ork can have a sh o rt lifetime. Needless to say, such a service should also be ro b u st and scalable.

T his thesis addresses th e problem of generic, netw ork-independent re­ source location and discovery th ro u g h a system . Manifold, based on two peer-to-peer self-organizing protocols th a t fulfil th e reqxiirements for generic RLD services. O ur M anifold design is com pletely d istrib u te d and highly scalable, providing local discovery of resources as well as global location of resources in d ependent of th e underlying netw ork tra n s p o rt or topology. T h e self-organizing prop erties of th e vsystem sim plify deploym ent an d m aintenance of RLD services by elim inating dependence on expensive, centrally m anaged and m ain ta in e d servers.

(10)

C o n ten ts

1 I n t r o d u c tio n 9

1.1 Background and R eq u irem en ts... 10

1.2 Manifold; Generic Self-Organizing R L D ... 11

1.3 Summary of Goals ... 12

1.4 O rganization of this work ... 13

2 B a c k g r o u n d a n d R e la te d W ork 14 2.1 The Evolution of Networked S y s t e m s ... 15

2.1.1 The Origins of Centralized lnfra.struetvire... 15

2.1.2 Edge Networks and R L D ... 17

2.2 Types of R L D ... 19

2.2.1 Name re so lu tio n ... 20

2.2.2 Directory S ervices... 20

2.2.3 Search S e r v ic e s ... 20

2.2.4 Similarities ... 21

2.3 Usage patterns ...21

2.3.1 L o c a l/in e x a c t...21

2.3.2 G lobal/exact ...22

2.3.3 G lobal/inexact ... 22

2.4 Generic RLD: R e q u ire m e n ts ... 23

2.4.1 Correct and Time-Bounded ... 23

(11)

2.4.3 S c a la b ility ... 24

2.4.4 S upport mobility and dynam ic to p o lo g ies...24

2.4.5 Support low-resources ... 25

2.4.6 Support Discovery ... 25

2.4.7 S e c u r i t y ... 25

2.5 RLD and RLD-based Systems: State of the A r t ...26

2.5.1 D N S ... 27

2.5.2 D IIC P and N A T ... 30

2.5.3 I N S ... 32

2.5.4 L D A P ... 33

2.5.5 M o b ile lP ... 35

2.5.6 TRIA D ... 36

2.5.7 i 3 ... 38

2.5.8 S tate of the Art: Im p lic a tio n s ...40

2.6 The Manifold Algorithms: Evolution, and Related Work . . . 41

2.7 Introduction to P2P s y s te m s ...41

2.7.1 B ootstrapping Self-Organizing P 2 P ... 43

2.8 TTL-bascd P2P S y s te m s ... 45

2.8.1 G n u te l la ... 47

2.8.2 F re c n e t... 50

2.9 Overlay N e tw o rk s ... 52

2.9.1 C h o r d ... 58

2.9.2 C A N ...61

2.9.3 O ccanstore and T a p e s tr y ...64

2.9.4 O ther Systems ... 65

2.10 Comparison of P2P S y s te m s ... 70

3 M a n ifo ld , an O v erv iew 73 3.1 In tro d u c tio n ... 73

3.2 Resolving Inexact Queries: M a n if o ld - b ... 74

(12)

O

'!

Cn

cn

cn

Cn

3.4 D e s ig n ... 77

3.4.1 Algorithm Use and In te ra c tio n ... 78

4 M a n ifo ld -b 79 4.1 In tr o d u c tio n ... 79

4.2 The Algorithm ... 79

4.2.1 Node J o i n ...80

4.2.2 Node L e a v e ... 80

4.2.3 Key Search ...80

4.2.4 Key Insert, Key R e m o v e ... 82

4.3 Deahng with Node F a i l u r e ... 83

4.4 A n a ly s is ...83

4.5 Summary ... 87

5 M an ifold -g 89 .1 R estating the Problem of S e a rc h ... 89

.2 A Short D escriptio n... 90

5.2.1 The Neighbor F u n c tio n ... 91

5.2.2 Spacc Defined by the Neighbor F u n c t i o n ...93

.3 Searcli in a Complete ilypercube ...94

.4 An E x a m p le ... 97

.5 Operations in an Incomplete Ilypercube ... 97

.6 The Shadow Mapping: D e f in itio n ...99

.7 The Space-Complete Join F u n c t i o n ... 101

5.8 Building a network: A step-by-step e x a m p l e ...103

5.9 Search in an Incomplete H y p e rc u b e ...109

5.10 Performance in an Incomplete Ily p e rc u b e ... I l l 5.11 A n a ly s is ...112

(13)

6 M an ifold -g: E x te n sio n s an d Im p ro v em en ts 115

6.1 In tro d u c tio n ...115

6.2 H a s h i n g ...116

6.3 Search In a M eta-H y p ercu b e...116

6.3.1 Increased Number of C o n n e c tio n s ...116

6.3.2 P a r ti tio n i n g ...117

6.3.3 P artitioning W ith M ultiple C o n n e c t io n s ... 122

6.3.4 Combining the T e c h n iq u e s ... 123

6.4 A dapting th e Overlay Network to the Physical Topology . . . 123

6.4.1 An A bstraction of Physical D i s t a n c e ... 124

6.4.2 The Distance F u n c ti o n ...124

6.4.3 The Distance-Based Algorithm ... 126

6.4.4 Distance and Network A d a p ta b ility ... 130

7 M anifold: A n Im p le m e n ta tio n 132 7.1 I n tr o d u c tio n ... 132

7.2 Considerations for Mobile Ad Hoc N e tw o r k s ...133

7.2.1 Routing and Location ... 133

7.2.2 S c a la b ility ... 134

7.2.3 S e c u r i t y ...134

7.2.4 The N a m e s p a c e ... 134

7.2.5 Prerequisites and a s s u m p tio n s ...135

7.3 The Manifold L a y e r... 137

7.3.1 A High Level V i e w ...137

7.3.2 M essages...140

7.4 O p e ra tio n s ... 141

7.4.1 Operations: Node J o i n ...141

7.4.2 Operations: Node L e a v e ...142

7.4.3 Operations: S e a r c h ...143

7.5 Class/Flow D i a g r a m ... 145

(14)

7.7 A p p lic a tio n s... 147

8 C o n clu sio n s an d F u tu re W ork 149 8.1 C o n c lu s io n s ... 149

8.2 Summary of C o n trib u tio n s ... 150

8.3 Future W o rk ... 151

A H y p ercu b es: T h eo ry and P r o p e r tie s 155 A .l Definitions: the Boolean Spacc, and th e Concept of Distance . 155 A.1.1 Initial D e fin itio n s ... 155

A. 1.2 Hamming D i s t a n c e ... 158

A. 1.3 The Boolean Algebra as ll y p e r c u b e ... 159

A. 1.4 String U niqueness... 159

B M anifold M essa g e Form at 161 B .l In tro d u c tio n ... 161

B.2 Manifold-b Message T e m p la t e ...161

(15)
(16)

List o f F igu res

2.1 A Sample DNS Query-Reply C y c l e ... 28

2.2 I ’ypical LDAP C on figu ration ... 34

2.3 A M obilelP Node in a Foreign N e tw o rk ... 36

2.4 An node publishing its location to the i3 c l o u d ...39

2.5 A node sending d ata through the i3 cloud ...39

2.6 A Sample TTL-ba.sed P2P Network and Q u e ry ... 46

2.7 A Sample Lookup in a Small G nutella N e t w o r k ...50

2.8 A Sample Overlay Network and Q u e r y ... 55

2.9 The Basic Chord Ring T o p o lo g y ... 59

2.10 Chord Fingers for One N o d e ... 60

2.11 A Sample Chord L o o k u p ... 61

2.12 A Two Dimensional CAN ...62

2.13 A Two Dimensional CAN After a Node J o i n ... 63

2.14 A Sample Lookup in a Two Dimensional C A N ...63

4.1 Influence of the average number of neighbors on the network­ wide cycles necessary to resolve a r e q u e s t... 87

4.2 Infiucncc of the average number of neighbors on messages tra n s fe rre d ... 88

(17)

5.2 A Sample Search for Length-3 Strings Viewed in an Eiiclidean

S p a c e ... 98

5.3 Incomplete llypercube Example: Diagram Guide ...104

5.4 Incomplete Hypercube Example; Initial N etw o rk ... 104

5.5 Incomplete Hypercube Example: F irst N o d e ...105

5.6 Incomplete Hypercube Example: Second N o d e ... 106

5.7 Incomplete Hypercube Example: Third N o d e ...106

5.8 Incomplete Hypercube Example: Fourth N o d e ...107

5.9 Incomplete Hypercube Example: Fifth N o d e ...107

5.10 Incomplete Hypercube Example: Sixth N o d e ...108

5.11 Incomplete Hypercube Example: Seventh N o d e ... 109

5.12 Incomplete Hypercube Example: Eighth N ode?...110

5.13 Average and Maximum P ath Lengths compared to their theo­ retical m axinunn on a Manifold-g network of increasing num­ bers of n n o d e s ... 113

6.1 A Graphical Representation of P a rtitio n in g ... 119

6.2 A Search P ath in a P artitioned S p a c e ...120

6.3 Applying P artitioning R e c u rsiv e ly ... 121

6.4 A Sample Physical T o p o lo g y ... 128

6.5 A Two-Node Overlay N e tw o rk ...128

6.6 Node 1 Joins the N e t w o r k ...129

6.7 Node 4 Joins the N e t w o r k ... 129

6.8 Optimized Overlay T o p o lo g y ... 130

7.1 High Level Block Diagram of M a n if o ld ... 138

(18)

C h ap ter 1

In tro d u ctio n

Resource location and discovery (RLD) is a key building block for networked ajjplications and systems, since it provides abstractions between names and physical locations for machines, services, or people th a t correspond to th a t name. For users, RLD ab stracts a memorable or application-specific name (such a« ww'w.tcd.ie) from its physical network location, provides a way to map from eaay-to-reniember names to machines, and a w'ay to search for services or machines according to specific query terms.

In essence, resource location creates a level of indirection, and therefore a decoupling, between a resource' and its location. This decoupling can then be used to solve one or more problems: mai)ping hum an-readable names to machine names, obtaining related inform ation, autoconfiguration, sup po rt­ ing mobility, load balancing, etc. Resource discovery, on the other hand, facilitates search for resources th a t m atch certain characteristics, allowing then to perform a location request or using the resulting d a ta set directly.

(19)

Today, wc arc faccd with a multiphcity of apphcation-spccific RLD sys­ tems, some of them with self-organizing properties, most relying on central­ ized (though distributed) infrastructure to operate. Basic Internet services, such as name resolution, rem ain implemented as static, hierarchical, central­ ized systems. Additionally, recent developments in networking have given rise to heterogeneous environm ents where th e current solutions fit awkwardly, or not a t all.

1.1

B a ck g ro u n d an d R e q u ir em e n ts

During the initial stages of this work, wc studied both the m ajor current systems th a t perform RLD and the infrastructure on which they are based.

O ur analysis of the evolution of networked systems and services clarified the constraints th a t had driven previous developments, and it showed wide applicability a generic solution would have. As a result of this analysis, we derived general requirem ents th a t were common in all cases:

• Nodes are often mobile, making complete dependence on fixed infras­ tru ctu re difficult or impossible.

• The network tran sp o rt used can vary widely between im plem entations, as can between fixed and mobile implem entations.

• While current prototypes rarely exceed a few dozen nodes, it is expected th a t in the next few years it will be possible to create Mobile Ad floc Networks (M ANETs) of size ranging from only a few nodes to several hundred or even thousands, which places widely varying degrees of scalability requirem ents on the protocols th a t nm st support them. • M embership of th e network is determ ined dynam ically by location

(20)

To measure the applicability of a solution we identified the main categories of usage th a t would be given to the service, namely:

Inexact search: to find resources or people th a t m atch certain values in a query. This kind of search is relatively limited in reach, since the user is looking for resources in their vicinity^. A typical example of this would be looking for a printer in a conference location.

Exact search: to find resources th a t might be or not in the vicinity, and of which the user knows the full name. A typical example of this would be accessing a given Internet website.

1.2

M an ifold: G e n eric S elf-O rg a n izin g R L D

The requirements and usage pattern s expected of RLD allowed us to define the elements th a t would be necessary for a generic solution. We focused on designing a self-organizing system th a t used peer-to-peer (P2P) algorithm s to eliminate dependencies from centralized infrastructure, as well as providing a reliable, scalable service.

O ur solution is a hybrid system. Manifold, th a t incorporates two different self-organizing P2P algorithms:

1. Manifold-b, or “M anifold-broadcast” , An algorithm th a t supports in­ exact searches of (typically local) resources, and

2. Manifold-g, or “Manifold-global” , An algorithm th a t supports exact searches on a global scale, with extrem e scalability and low overhead. The first algorithm was an extension of initial work done exclusively for M ANETs [18], while the second was an original development: a self­ organizing algorithm with pro{)crtics th a t make it well-suited for resource- location problems, including node control over its data, guaranteed results,

(21)

and predictable tim e-bounds. We characterized this algorithm m athem ati­ cally and later related it to an emerging body of work generally identified as Overlay Networks^. We compared Manifold-g w ith other overlay network algorithm s, noting in particular th a t, while guaranteeing similar scalability and self-organization, they arc not designed from th e ground up to guarantee d a ta location (an im portant element since network nodes typically require control over the location and availability of the d a ta they publish).

Finally, we implem ented Manifold for use in mobile ad hoc networks. The im plem entation used the two algorithm s according to the requests per­ formed: Manifold-b is invoked when an inexact query (local in nature) is performed, while Manifold-g is invoked for exact queries (potentially global in nature). O ur im plem entation dem onstrated th e feasibility of the system and is currently in use in the DAWN network (a M ANET currently being deployed throughout the Trinity College cam pus) providing RLD for various experim ental applications.

Manifold, then, can be used in any type of network and will be able to bridge them , providing the basis for generic, transp ort- and topology- indejjendent resource location and discovery in large-scale, globally intercon­ nected heterogeneous networks.

1.3

Sum m ary o f G oals

The goals for this work were threefold:

• To properly define requirem ents and usage p attern s of RLD in heteroge­ neous network environm ents and wireless ad hoc networks in particular, • To identify a set of algorithm s th a t can provide resource location for

(22)

to the usage patterns th a t will define their performance in real-world applications, and,

• To dem onstrate th e feasibility of the system by describing an imple­ m entation in a real-world wireless ad hoc network.

1.4

O rganization o f th is work

(23)

C h a p ter 2

B ack grou n d and R e la te d W ork

Manifold includes two main elements: the service th a t p:>rovides generic self­ organizing RLD and the underlying algorithm s th a t make the service possi­ ble. Through this chapter, we will discuss th e background for each of those elements. T he analysis of the evolution and current state of th e art of the various components, as well a.s of th e services themselves, presented in this chapter, will allow us to derive requirements for a generic RLD service and the usage p attern s th a t will govern its interaction with other systems.

(24)

2.1

T h e E v o lu tion o f N etw ork ed S y stem s

2.1 .1

T h e O rigin s o f C en tra lized In fra stru ctu re

T h e first netw orked system s, developed in th e late 1960s, were designed to connect hosts across g rea t distances. T h is was a n a tu ra l outcom e of th e usage th a t existed a t th e tim e: powerful centralized m achines accessed th ro u g h term inals. As a resu lt, th e early A rp a n e t ro u te rs (IM Ps) were m eant to connect rem ote system s. However, alm ost im m ediately, as m ore m achines cam e online connected to th e sam e IM P, researchers found th a t m ore and m ore traffic was hap p en in g locally, th a t is, betw een m achines connected to th e sam e IM P th a t would therefore be w ithin th e sam e geographic location - a t th e tim e, th is phenom enon wjis called “incestuous tra fh c ” [54],

T h is “incestuous traffic” m arked th e a p p earan ce of w h at is now known aa LAN traffic. Since it was first identificid, LAN traffic has grown exponentially com pared to th e grow th in Inter-LA N (or In te rn et) traffic, to th e point w here to d ay In te rn et traffic is insignificant com pared to LAN traffic: th e m ajo rity of th e traffic ha.s been pushed to th e edge of th e global netw ork. In the early 1980s, a.s LANs were deployed, th e first In tern et-w id e resource location system s were being developed. M achine nam e to IP resolution for exam ple, initially a sim ple process - th e d istrib u tio n to system a d m in istra to rs of a hosts file w ith host nam e to IP address m ap p in g s- had becom e u n su itable for th e num ber of hosts and th e speed a t which th e netw ork was growing, th u s requiring th e creation of an a u to m a te d system : DNS [57].

T h a t is, even as LANs s ta rte d th eir geom etric grow th, th e first In te r­ net R esource L ocation an d Discovery system s (of which DNS is th e best known) were being designed and deployed - b u t w ith o u t tak in g into account th e requirem ents for th e dynam ics im posed by LANs: m ore varied topologies, g rea ter num ber of nodes, and, m ore im p o rtan tly , mobility.

(25)

(e.g., perform a calculation), to o b tain d a ta from it (e.g., o b tain a narne-to- ad dress m apping, serve a file) or to store d a ta in it (e.g., u p d a te a d a ta b a se record), and th e dissem ination of LANs h ap p en ed on th e backs of th e early personal com puters, which did not have th e storage of th e processing capac­ ity to deal w ith a n y th in g except th e ir own local tasks. Even some fifteen years later, in th e m id 1990s, when P C s were capable of perform ing m ore task s in “server-m ode” very few ap plications existed th a t to o k advantage of them , consequently lim iting interestin g in edge-only RLD.

For a long tim e since th e a p p earan ce of LANs th en . Resource L ocation and Discovery was split in two: global R LD , exem plified by DNS, and p e r­ form ed e ith e r betw een In te rn e t hosts or betw een clients and In te rn et hosts, and local R L D , such as shared prin ters, file servers, or co n tact d a ta b a ses us­ ing protocols such as LDAP. In a very real sense, th e firewalls th a t p ro tected LANs from ex tern al a tta c k were a frontline th a t delim ited th e difference be­ tw een global RLD and local RLD. T h ere were som e solutions for connecting cen tral d a ta b a se s betw een LANs, b u t, w ith th eir high cost and com plexity and (p erh a p s m ore im p o rta n tly ) lacking a sta n d a rd , th ey rem ained niche solutions.

In th e la te 90s, p eer-to-peer co m puting gained world-w ide prom inence in th e form of global m usic-sharing system s in which individual P C s were used to serve d igital m usic files. A lm ost overnight, a task t h a t had been typically confined to th e LAN (i.e., locate a p a rtic u la r file) could now be perform ed on a global scale, not betw een clients on th e sam e c o rp o ra te netw ork, not betw een a client on a LAN and a host on th e In te rn e t, b u t betw een clients residing on com pletely different LANs. T h e dividing line betw een local and global RLD h ad finally been crossed.

(26)

Appli-cations th a t before required a connection to a particular server now had to provide a connection to a particular user, regardless of the device, or the network, the user was on.

Mobile Ad Hoc Networks (M ANETs) have become an im portant area of innovation and research in the past few years, and most of the efforts have concentrated in solving the basic building blocks of the technology: hardware, routing protocols, and so on. M ANETs are typically wireless but they can equally include “wired” components. These networks interact with th e Internet through endpoints, connecting and disconnecting as they arc formed, or as they move across g(!ographical boundaries.

The Internet, which was originally designed as a network-of-networks, is fulfilling its promise. It is quickly changing from a set of static nodes connected to a high-speed backbone in “m onolithic” fashion to a collection of a m ultitude of small networks th a t comiect to each other depending on location and capabilities available at their entry point. In other words, the Internet itself is becoming an ad hoc network.

In this new context, s(^rvices designed for w hat was originally a static network of a few thousand nodes are increasingly strained to acconunodate new networked applications and systems.

2 .1 .2

E d g e N etw o rk s a n d R L D

In large part, the In tern et’s increasingly ad hoc nature is driven by the growth of networks connected at its endpoints, commonly referred to as “edge net­ works.”

(27)

The growth of edge networks and the variety of apphcations th a t are mak­ ing use of them (from messaging systems to gk)bal file-sharing apphcations) underscores th a t a self-organizing solution to the problem of RLD is not only possible but also desirable. For example, mobility, such as th a t exhibited by portable devices and M ANETs, presents a num ber of challenges for an RLD system. Devices in a mobile network might be turned on or off and might quickly move across locations with different types of infrastructure, sometimes switching to environm ents where a central server is not directly accessible or might not be available. Typical scenarios include a mix of de­ vices (e.g., handhelds, embedded devices, base stations, desktop computers) th a t use different physical layers (such as Bluetooth, IEEE 802.11b, E ther­ net) with different protocols, depending on various factors such as location and power consumption requirements.

These unique qualities mean th a t certain protocols and systems th a t work well in more static, homogeneous topologies (of which the best example is the Internet) might perform badly or not work at all in these kinds of network­ ing scenarios. For example, a Bluetooth-enabled cell phone lia^i no way of referencing a handheld device th a t might be running on a wireless network (e.g., IEEE 802.11b) even though the cell phone might have a connection path available through a desktoj) com puter with both B luetooth and wire­ less stacks. If this connection was possible, the cell phone might be able to determ ine th a t the handheld device is in range and therefore it should not display appointm ent reminders, since a device th a t is b etter suited for it (the handheld) is active in the vicinity.

(28)

ad hoc netw ork (e.g., F ire D e p a rtm en t) an d from th e In te rn e t (e.g., a gov­ ernm ent offtcial try in g to c o n ta c t som ebody on site from a rem ote location) would not be able to locate those nodes.

A M A N E T could easily function in a way sim ilar to a “fixed” netw ork such as th e In te rn et, w ith s ta tic nodes such as P C s connected th ro u g h IP- based protocols in a stable, slowly-evolving topology. B ecause of th e ir n a tu re , M A N E T s can also su p p o rt a highly dynam ic environm ent; m obile nodes th a t quickly change m em bership betw een different M A N E T s, nodes th a t quickly tu rn on and off, and others. In th e m ost ex trem e case a M A N E T could be form ed com pletely ind ep en d en tly from any in fra stru c tu re (e.g., by th e em ergency crews a t a d isaster site). Finally, M A N E T s, w ith or w ith o u t access to in fra stru ctu re , ru n on a variety of protocols th a t m ay not be com patible w ith each other, b u t th a t would still find useful to locate nodes or services betw een them .

If th e resource location problem is solved for large-scale m obile ad hoc n etw o rk s', th e sam e solution would apply for netw orks in general, including w ire d /s ta tic topologies (e.g., th e In tern et).

2.2

T y p e s o f R L D

Based on different system s t h a t im plem ent RLD functions (D escribed below in Section 2.5) we can identify th re e m ain categories of system s, covering th re e different types of RLD needs from users. T hese are: N am e R esolution, D irectory Services, and Search Services.

(29)

2.2.1

N a m e r e so lu tio n

Name resolution is the most basic and widely used RLD system. Naming is nccessary to m ap easy-to-rem ember names to physical machine locations (on the Internet, a narne-to-IP mapping). Naming is the core operation on any RLD system, and all types of resource location could, in general, be considered a type of nam e resolution problem, since they are trying to map a resource’s name with its physical location.

More recently, the use of RLD for name resolution has extended to the area of presence^ which tracks people, and sometimes software agents, across machines. Presence is a concept used by all Instant Messaging platforms [59].

2 .2 .2

D ir e c to r y S erv ices

D irectory services are extremely common, particularly in corporate intranets. They arc used to store inform ation regarding peopk^, machines, or even ser­ vices w ithin the organization. This differs from the concept of presence and name resolution in th a t it returns inform ation about a resource or person, rather th an their location.

2 .2 .3

S earch S e rv ices

More generic and open ended search services arc also common. Printing could be considered a special case of search, since a print operation on a nearby printer can be started using the appropriate search param eters. In large organizations, where employees often move between different offices or buildings, th e use of search allows them to locate particular items of inform ation, or the resources needed for particular tasks.

(30)

rcspcctivcly. This typically happens invisibly from the user’s point of view. Therefore, depending on the way it is implemented, search can be consid­ ered either a com ponent at the same level of directory services and name resolution, or middleware built on top of them.

2 .2 .4

S im ila rities

In csscnce, all of these services perform a m apping of keys to values. Some­ times those key/value mappings are updated frequently, sometimes not, but th a t is irrelevant with respect to the location/discovery process itself. As we will see in the following chapter, the difference lies in usage patterns: w hether we are trying to locate a resource th a t we already know about, or discover one th a t matches our needs.

2.3

U sa g e p a tte r n s

At the core of the problem of resource location and discovery is the way in which RLD services (such as thovse defined in the previous chapter) arc typically used. In any network, users will likely try to locate and contact resources (which may or may not belong to another user) according to their location, which divides typical usage into distinct categories.

These categories are in a sense present in the term s “Resource Location and Discovery” . Resource Discovery implies th a t the user wants to discover resources th a t might m atch certain attribu tes, while Resource Location im­ plies th a t th e user knows the nam e of the target resource, and only its physical location is unknown.

2.3.1

L o c a l/in e x a c t

(31)

is typically perform ed based on capabilities (e.g. a p rin ter, or a device th a t can act as relay to th e In te rn et) or based on inexact queries^ a storage system w ith a given nam e, or a n o th e r u se r’s hand h eld co m puter). D H C P (Section 2.5.2) lookups or L D A P(Section 2.5.4) queries are exam ples of lo­ c a l/in e x a c t requests.

In general, th is m eans finding resources th a t m atch certain values in a query. T his kind of search is lim ited in reach, since th e user is looking for n earby resources.

2 .3 .2

G lo b a l/e x a c t

W hen th e ta rg e t of th e search is beyond th e u ser’s physical reach, it is com ­ m only based on exact nam es (e.g., th e p rin te r a t th e u se r’s office, a p e rso n ’s SIP [71] address). A DNS (Section 2.5.1) query is an exam ple of an ('xact nam e search for a globally unique string. We define th is ty p e of search aa a global/exact search.

G enerally speaking, this ty p e of search is perform ed to find resources th a t m ight be or n ot in th e vicinity, and of which th e user knows th e full nam e. A global search, in th is context, requires th a t a resu lt be re tu rn e d if the resource exists anyw here in th e netw ork.

A dditionally, th e use-case of local/exact searches is a triv ia l subcase of th is one; even if th e resource to be located is w ithin physical proxim ity of th e user, th e usage case rem ains unchanged.

2 .3 .3

G lo b a l/in e x a c t

T h e final category th a t wc will consider is inexact searches perform ed on a global scale.

(32)

T h is kind of gencric fu n ctio n ah ty is c u rre n tly provided (partially ) by In­ te rn e t directories or search engines. A dditionally, m ost c u rre n t file-sharing system s arc global in scale; however, th ey provifie no guaran tees as to w h ether a resource can be found w ithin rea«onablc tim e lim its. B ecause of th is limi­ ta tio n , b o th In te rn e t search engines and large-scale file-sharing netw orks are m ore sim ilar to a local search b u t w ith vastly ex p an d ed scope, r a th e r th a n a tru ly global search th a t will g u a ra n tee location of a resource if it exists som ew here on th e netw ork.

G lobal/inexact search system s are m ore h m ited in ap plication th a n th e two previously described, and so its usage differs from th a t of resource lo­ catio n and discovery applications. Therefore, a system th a t provides this p a rtic u la r function in a decentralized form (and one th a t could m atch o th er requirem ents th a t we will specify later) is o u tsid e th e scope of th is work, and will n ot be discussed further.

2 .4

G en eric R LD : R e q u ir e m e n ts

T h e usage ])atterns identified above helped us e n u m e rate a requirem ent th a t a gencric RLD system m ust satisfy, w ith em phasis on generic RLD for h et­ erogeneous netw orks th a t m ust in te ro p e ra te on a global scale.

2.4 .1

C o rrect an d T im e -B o u n d e d

W hen RLD is global/exact, th e service m ust g u a ra n tee th a t th e ta rg e t of a search is found as long as it exists anyw here on th e netw ork^. A dditionally, th e search o p eratio n m ust be tim e-bounded, w ith th e goal of responding w ithin a reasonable tim e period to th e u se r’s request.

(33)

2 .4 .2

C o e x ist w ith L eg a cy S y ste m s

Bccausc any changc for the system has to come incrementally, nodes should be able to join the network w ithout special configuration requirements. Only running the necessary software on the node should be necessary. Further, when legacy systems, such as DNS, are available, the network should be able to revert to them if desired (since other target nodes might not be participating in the self-organizing network created by th e new service).

Additionally, gateways should exist to provide two-way resolution be­ tween other network nodes (particularly Internet nodes) and nodes in the resulting RLD network.

2 .4 .3

S c a la b ility

The resulting system could be used globally to connect distant ad hoc n et­ works (e.g., to make a voice-over-data phone call between handheld deviccs or cell phones w ithout using the op erato r’s infrastructure), or locally within a large scale ad hoc network (e.g., within a group of thousands a tte n d « » to a conference).

2 .4 .4

S u p p o rt m o b ility an d d y n a m ic to p o lo g ie s

A generic RLD solution must support constant membership changes, provid­ ing resource location for the new nodes and m aintaining validity of the query results, i.e., providing results th a t are up to d ate in term s of topology. Ad­ ditionally, it must provide correct results for queries for the remaining nodes of the network when one or more nodes leave the network or are switched off.

(34)

2 .4 .5

S u p p o rt lo w -reso u rces

M any of th e nodes p a rtic ip a tin g in th e netw ork will be low-resource nodes in one or m ore senses: lim ited in processing power, or low-power, w ith a slow netw ork connection, etc. As such, an RLD service m u st tak e into account this factor and eith er a) a d a p t to th e capabilities of th e nodes or b) have generally low resources as a m inim um to jo in and o p e ra te w ithin th e netw ork.

2 .4 .6

S u p p o rt D isc o v e r y

W hen perform ing local/inexo.ct searches o n ly , users will frequently know only th e general d etails of w h at th ey are a tte m p tin g to find, th a t is, when th ey arc engaging in discovery of a resource ra th e r th a n location. Therefore, the system nnist provide p a rtia l a ttr ib u te or strin g m atching on lo ca l/in e x ac t search to su p p o rt this functionality.

2 .4 .7

S ecu rity

An im p o rta n t issue in resource location is security, p a rticu la rly in a decen­ tralized netw ork such a^i th e one describc^d here. W hen resolving th e physical location of resources, a node shouki be able to verify th a t th e location re­ solved is valid and cu rren t. W ith o u t security, a m alicious netw ork user th a t has access to th e m essage flow in th e netw ork could:

• im p erso n ate o th er nodes and resources by answ ering requests for them .

• m odify query results being passed along an d change th e values passed.

(35)

Wc will leave the verification of th e identity of the node location/discovery result to higher level application layers w ith enough inform ation to make these checks (for example, by verifying signed security certificates), ju st like DNS does. In th e future, modifications similar to those currently being discussed for DNS IE T F [70] could also be applied.

2.5

R LD and R L D -based System s: S ta te o f

th e A rt

Throughout this section we will revisit systems th a t we identified a*s per­ forming RLD functions either impheitly or implicitly. Wc will present these systems starting from the most stand ard and broadly used to the most spe­ cialized and research-based.

Some of the systems we will describe appear, on the surface, to have little relevance to the subject of RLD. This is not the ca*se, however.

Solutions to specific {)roblems, such as m obility', are in fac:t using very specialized types of RLD. If a system is designed to support, for example, mobility of network nodes, it will generally revert to some form of indirection between its physical location and its global identifier. T h at, in tu rn, creates the need for p art of the system to be able to locate th a t global identifier, which is essentially a function performed by an RLD subsystem of some kind.

This type of specialization of RLD solutions is th e norm rath er th an the exception. The analysis of these systems, along with their differences and similarities, leads to two im portant conclusions. The first is th a t a generic RLD system would have potential application well beyond th a t of resolving names. The second is th a t, even though some of the systems use distributed (even, in some cases, self-organizing) environments, all of them are based,

(36)

implicitly or explicitly, on the assum ption th a t significant fixed infra^structure exists somewhere on th e network. These two conclusions underscore, in turn, the need to m aintain generality in our requirem ents (and, consequently, our design) and support varying degrees of scalability, as well as m aintain focus on working on a solution th a t could fimction completely disconnected from fixed infrastructure.

These systems, therefore, provide not only exam ples of how RLD is usu­ ally approached today but also of the broad applicability th a t a generic RLD solution would have.

2.5.1

D N S

On the Internet, it is the Domain Name System (DNS) [55] [56] [57] th a t provides the lowest level of name resolution servicc available, and is the pro­ totypical case of G lobal/E xact m atching m entioned in Section 2.3.2. Name resolution creates mappings of easy-to-rem ember names to physical nodes. In the case of the Internet, this means m apping service names to IP [28] numbers. DNS is hierarchical and relatively static, requiring propagation of names from root name servc^rs to a series of slaves across the network. Each IP subnetwork ha^s a fixed static reference to the physical location of the local name server node, using it to resolve the names of all other nodes into IP niunbers so th a t comnumication with them can be established. This scheme is dependent on servers; client machines are reachable only as p art of the subdom ain of a given server, assuming a correct setup.

(37)

as for servicing queries th a t correspond to its particular domain.

Nam e-to-address mappings published through the DNS system can be resolved by clients through their Internet Service Provider’s (ISP) or organi­ zation’s DNS servers, as shown in Figure 2.1.

Root DNS Server(s)

/ c a n \ n o - /th e target

server \ be found?

Target domain's DNS Server(s) yes

/ are \ the t a r g ^ \ (4)

servers

\known?^ yes - contact target domain nameservers no - contact

root nameservers

/ can \ . / the target yes \ b e found? ISP DNS

Server(s)

^is t h e \ value \ y ? i . cached"^ /

no returrv answer feturn DNS verroo client sends requestj Client (1)

Figure 2.1: A Sample DNS Query-Reply Cycle

T he cycle works as follows (Numbers at each step m atch correspond to those in the figure):

• Client requests a nam e (1), such cis www.somedomain.com, in response to a user’s action (e.g., navigating to a webpage).

[image:37.538.48.437.205.500.2]
(38)

• The chent’s server first tries to answer by itself using cached d a ta (3). If the answer is cached it is returned directly. Since the client’s server is not responsible for th e nam e and is ju st acting as a relay, the answer is marked as non-authoritative.

• If the answer is not found in the cache, or if th e value cached has expired (i.e., it is past the T T L, or Timo-To-Live, of th e value), then the server will try to contact the (authoritative) name servers for the domain directly (4) requesting the mapping. If the nam e servers are not known (i.e., not cached), the client’s server requests the address of the dom ain’s nam e servers from the Internet Root servers (5), which reside a t a well known address.

• Once the dom ain’s name servers are contacted, the client’s server re­ tu rns the result (6) or a DNS error (7) if the target nam e was not found.

The way in which DNS works points to a number of problems for dy­ namic systems. Aside from its dependency on hxed/centralized infrastruc­ ture, changes to the authoritative server for a domain (i.e., if the server is moved to a different location) have to be reported to the Root servers, which will propagate the new values to other servers as they perform new re- (juests (as the cached results expire). This typically means a delay of several days between a move of an authoritative nam e server and the propagation of its new address across th e internet. Increasingly, machines operate on autonom ous mode, not related to any particular infrastructure, and DNS’s stru ctu re prevents its use for more direct client-to-client communications.

(39)

requirem ents on the domain servers (particularly on the root servers), and their increased adm inistrative complexity, as well as their potential as points of attack or failure. Systems th a t solve some of th e problems observed in DNS, providing b etter load and adm inistration distribution, b ut still hier­ archical and largely centralized, have been proposed in th e past [10] [37] [49].

DNS resolution need not be implemented using a hierarchical system, though. Implementing DNS using a self-organizing network of servers has been proposed recently in [12]. While this would provide some improvements (most notably autom atic load balancing and faster updates) there would still be dependence on fixed infrastructure, namely, the set of servers th a t are responsible for replying to requests. In the next chapter we will discuss some additional elements th a t a full solution will require th a t would not be satisfied in th a t case (for example, how to deal with ad hoc wireless networks of small devices th a t have no connectivity to the Internet).

A stand ard setup of DNS on a client machine requires th a t the informa­ tion for the DNS server(s)’s IP addresses th a t serve the machine in cjuestion be entered by hand. This was appropriate initially, but Jis mobility and use of the Internet have become more widespread (thus bringing in less technical users) a simpler solution was required to provide th a t setup. This created a need for a protocol th a t would perform Local/Inexact searches (as defined in Section 2.3.1) for available DNS servers in the vicinity of the user.

The standard solution for this problem is provided by D HCP and NAT.

2.5.2

D H C P and NAT

(40)

the resource location problem if resource location is used to provide a “boot­ strap ” mechanism th a t can then initialize a node’s operating/connectivity param eters.

In DHCP, the client sends out a request to th e D HCP server by tran sm it­ ting on an IP broadcast address, essentially performing an open-ended search on the local network. The DHCP server responds to the request by providing a lease to an IP Address and other relevant details about the network, such a^s gateways or DNS servers.

The settings given to the client by the DHCP server arc not perm anent b u t timcvbound, to solve the problem of network failures (i.e., if a node fails the server will eventually take over th e IP assigned again when the lease expires). Along with the settings the server also tells the client about the period (leascvtirne) for which the settings are valid, and if the client needs to use the network beyond this time then it has to “renew” its lease.

For LANs, recent years have seen the growth of more dynamic network toj)ologies, and the need to easily provide Internet access to machines in them. Again, a Local/Inexact solution is required to locate a service th a t ])rovides th a t functionality.

NAT [79] (Network Address Translation) is a spccial type of autoconfig­ uration service th a t provides internet access to machines through a special type of gateway. A NAT gateway translates the clients’ internal network IP Addresses into the IP Address on the NAT-enabled gateway device, making th(^ network appear as a single device to the rest of the world. NAT gate­ ways typically interoperate closely with DHCP to provide zero-configuration Internet access for clients in small networks.

All communications from the private network are handled by the NAT device, which will ensure all the appropriate translations are performed to m aintain the “illusion” of one-to-one Internet connections for th e devices comiected through the NAT gateway.

(41)

the source IP Addrcss from the third layer in the IP stack (e.g., 192.168.1.5) and places its own public IP address (203.154.123.223) before sending it to its targ et host in the Internet. (In some cases, depending on the NAT mode, the source and destination port numbers, found in layer five of the IP stack, will be changed as well). The gateway then stores this inform ation in an in-memory table so when the expected reply arrives it will know to which w orkstation within its network it needs to forward it.

NAT is of note because its increasingly widespread use has given renewed im portance to the issues it raises. NAT makes it impossible for current nam ­ ing systems to resolve names behind the NAT server (unless another system, such as MobilelP, described in Section 2.5.5 below, is in use to bridge be­ tween the local network and the Internet). In essence, NAT tu rn s a network of com puters into an ad hoc network, with all the problems th a t entails for current centralized systems, and it is a situation solved by the system pre­ sented in this work (for a centralized solution to the N A T/nam iiig problem, see the description of TRIAD in Section 2.5.6 below).

2 .5 .3

IN S

T he last few years have seen some developments in the area of nam e res­ olution specifically, in particular on the Intentional Naming System [1], or INS. INS defines a network as a set of components: clients, services, and a decentralized network composed of “Intentional Name Resolvers” or INRs. Clients send requests to INRs, specifying a particular name-specifier, which is m atched against the services advertised in th e resolver network. Services periodically advertise their intentional names (INs) to the system to describe w hat they provide. Intentional names are based on a set of attrib u tes and values (i.e., key/value pairs) th a t allow expressing generic system inform ation in hierarchical form.

(42)

a lookup in its narnc-trcc. The lookup returns inform ation which includes the IP address(es) of the destination(s) w ith advertisem ents th a t m atch the requested name as well as a set of routes to next-hop INRs to support routing when mappings change in the middle of a session.

INRs also store m etric inform ation (such as load, distance, etc) to facil­ itate self-managing of the different param eters the service is subjected to. Load m anagem ent, for example, is thus performed by th e INRs.

While providing certain desirable qualities such as autom atic load balanc­ ing and self-management, INS is still dependent on network infrastructure th a t has to be m aintained (i.e., the INRs), making it less useful in purely ad hoc envirornnents where no central m anagem ent is possible.

2.5.4

LDAP

A nother example of search, but for inform ation related to a resource rather than its location, is th a t of LDAP [85] [86], a commonly used directory service to provide discovery of inform ation about resources, typically people, groups, and organizations. LDAP is a lightweight version of the X.500 Global D irectory Service [84].

LDAP directories reside on a server or cluster or servers, and are typically used to store inform ation about entities like people, offices, locations, etc., but it could equally store other types of relatively static information, essen­ tially anything th a t can be described by a set of attributes. In LDAP every entry has a prim ary key called the Distinguished Name (DN). DNs are unique w ithin a particular LDAP directory. An LDAP server uses a back-end data- store to store its data, but is not limited to using any particular database, achieving database-independerice through the a flexible notion of a schema for the d a ta it needs to store. The schema consists of entries organized in a hierarchy, optimized for reading rather th an writing.

A typical LDAP configuration is shown in Figure 2.2.

(43)

Clients

LDAP server/cluster

backend database

Figure 2.2: Typical LDAP Configuration

make inform ation about resources accessible to LDAP clients, and define operations th a t clients can use to search and up date th e directory. Typical LDAP operations include:

• searching and retrieving entries from the directory • adding new entries in the directory

• up dating entries in the directory • deleting entries in the directory • renam ing entries in th e directory

For example, to up date an entry in the directory, an LDAP client submits the distinguished name of th e entry with updated attrib u te inform ation to the LDAP server. The server uses the distinguished name to find the entry and performs a modify operation to up date the entry in the directory.

(44)

2 .5 .5

M o b ile lP

IP version 4 assumes th a t a node’s IP address uniquely identifies its physical attachm ent to th e Internet. Therefore, when a host trios to send a packet to another host, th a t packet is routed to the target ho st’s “home network” . In static environm ents this docs not present a problem, bu t when a node is mobile, packets could easily end up routing to the previous location where the node was, rath er th an its current location. This is solved by adding one level of indirection to the process, which in cffcct turns the problem into one of a special type of resource location. The level of indirection establishes a fixed point th a t can be easily contacted and th a t will be notified of changcs of the target node, thus adapting to mobility. The fixed point, whatever its form, thus becomes a dynam ic table th a t keeps th e position of the mobile node uj)dated as it moves, providing in essence G lobal/E xact resource location for the target machine, based on an identifier.

One such solution is M obilelP [64]. In MobilelP, when the target host is on its home network and a another host sends packets to it, those packets arc handled normally. However, if the target is mobile and away from its home network, it uses agents, to w'ork on behalf of it. The home agent must be able to communicate with both the home network and with th e mobile host when it is online, independently of the current position of the mobile host. The home agent then becomes a perm anent relay for th a t mobile host. The foreign agent, meanwhile, is responsible for relaying requests to th e mobile host in its foreign network.

An example of a M obilelP node in a foreign network is shown in Fig­ ure 2.3.

As we can see in the figure, the M obilelP host uses the foreign agent and th e home agent to receive inform ation from other clients, essentially letting the agents act as resolvers for its location.

(45)

client

h o m e a g e n t

I n t e r n e t ^ ^ ^ ^ ^ I I

\

Internet

M obilelP foreign r r n ^ — Z ^ ^ n h ° s t

a n p n t I I

a g e n t

Figure 2.3: A M obilelP Node iu a Foreign Network

on looking at jjeriodic adverts of the foreign agent and home agents.

W hen th e mobile host returns to its home network, it does not require

mobility capabilities, so it sends a deregistration request to the home agent

to deactivate tunnelling and to remove previous care-of address(es).

At this point, the mobile host does not have to (de)register again, until

it moves away from its network. The detection of th e movement is ba.sed on

th e same m ethod explained before.

While M obilelP’s solution appears to solve the problem of mobility, it

has one im portant drawback: since the agent rrmst be running constantly at

a fixed location, it must be managed from a centralized location as well. So

mobility in Mobile IP is obtained a t the cost of further centralization of the

infrastructure, with all th e subsequent disadvantages.

TRIAD [13] (which stands for Translating Relaying Internet A rchitecture

integrating Active Directories) is a content layer on top of IP th a t provides

scalable content routing, caching, content transform ation and load balancing,

[image:45.538.60.416.139.312.2]
(46)

in te g ratin g nam ing, ro u tin g and tra n s p o rt conncction setup.

To perform its functions, T R IA D creates a set of address realms th a t arc interconnected th ro u g h a hierarchy. A t th e leaf level, an address realm corresponds to an c e rtain netw ork owned by an organization, or a set of nodes organized w ithin a netw ork. T h e ro u te r th a t connects th is level to th e WAN acts as a T R IA D relay agent betw een realm s, tra n s la tin g addresses as it relays packets betw een th e realm s t h a t it interconnects. Higher-level address realm s correspond to local and global In te rn e t service providers (ISP s). B ackbone or w ide-area ISPs can coim ect a t peering points, as it h ap p en s today, b u t th ro u g h high-speed relay agent routers. W ith in a realm , th e o p e ra tio n of nam ing, addressing an d ro u tin g o p e ra tes th e sam e fis cu rre n tly w ith IPv4. T hus, T R IA D d o e sn ’t require changes in th e host or th e router.

E n d -to-end Internet-w ide identification of a host interface or m u lticast channel is provided using a hierarchical nam ing schem e based on DNS n am ­ ing. N am es are th e basis for all end-to-end identification, au th e n tic a tio n , and reference passing in T R IA D , since th ere is no o th er identifier for the host interface t h a t is global and p e rsiste n t, unlike addresses in IPv6 and in th e original In te rn e t arch itectu re. In p a rtic u la r, IPv4 addresses have no end-to-end significance since th ey can change depending on netw ork configu­ ratio n s, dynam ic hosting, and so on, and are reduced to th e role of tra n sie n t ro u tin g tags.

(47)

by routing inform ation along more optim al paths (compared to DNS). A nam e resolution cycle for TRIAD looks very much like the one presented for DNS in Figure 2.1, w ith the following im portant exceptions:

• The DNS servers are replaced by Content Routers, which allow pub­ lishing and propagation of the information.

• The round-trip times are shorter, because of IN R P ’s characteristics. • The Content R outers support resolution of generic names, not only of

the server name portion of them , allowing resolution of server names as well as of individual URLs.

TRIA D is, then, an indirection infrastructure th a t improves in several respects on previous systems, such as DNS, bu t th a t is again dependent on fixed infrastructure (as well as m odification/additions on the current Internet infrastructure).

2. 5 .7

i3

Finally, a solution proposed recently in a research context to essentially the same problem (but with wider applicability) is the Internet Indirection In­ frastructure [80], or i3. i3 provides a layer of indirection th a t decouples sender from receiver: sources send packets to a logical identifier and receivers ex­ press interest in packets sent to an identitier. Delivery is ’’best effort” like in to d a y ’s Internet, with no guarantees about packet delivery. The system is similar to IP m ulticast, but in IP m ulticast th e infrastructure m ust build efficient delivery trees; in i3 these arc managed by a trigger inserted into an overlay network (Overlay Networks are discussed in detail in Sections 2.9 and 2.9.1) which routes queries efficiently.

Figure

Figure 2.1: A Sample DNS Query-Reply Cycle
Figure 2.3: A MobilelP Node iu a Foreign Network
Figure 2.5: A node sending data through the i3 cloud
Figure 2.6: A Sample TTL-ba«ed P2P Network and Query
+7

References

Related documents