A Naming Service for Overlay Networks A Master of Computer Science - - PowerPoint PPT Presentation

a naming service for overlay networks
SMART_READER_LITE
LIVE PREVIEW

A Naming Service for Overlay Networks A Master of Computer Science - - PowerPoint PPT Presentation

A Naming Service for Overlay Networks A Master of Computer Science Presentation by Gregory Mattes J org Liebeherr, Advisor Multimedia Networks Group Department of Computer Science University of Virginia 22 July 2005


slide-1
SLIDE 1

A Naming Service for Overlay Networks

A Master of Computer Science Presentation

by

Gregory Mattes J¨

  • rg Liebeherr, Advisor

Multimedia Networks Group Department of Computer Science University of Virginia 22 July 2005

slide-2
SLIDE 2

Presentation Outline

  • Overlay Network Addressing
  • Naming Service Challenges
  • Naming Service Solution
  • HyperCast Naming Service
  • Naming Service Evaluation
  • Conclusion

A Naming Service for Overlay Networks 2

slide-3
SLIDE 3

Overlay and Substrate Networks

  • Built by applications
  • Self-organize to form network
  • Called an overlay
  • Uses underlay or substrate network for message transport: commonly the

Internet

A Naming Service for Overlay Networks 3

slide-4
SLIDE 4

Logical Addressing

Logical Address is an address of an application in an overlay network used for

  • verlay message routing.
  • Bit String: 10011
  • Coordinate tuple: (565, 359)

A Naming Service for Overlay Networks 4

slide-5
SLIDE 5

Logical Address Limitations

  • Cumbersome to use for application programmers

– Applications should not be dependent on logical address scheme – Applications, services, and users are not identified by logical addresses – Logical addresses cannot be used to define arbitrary groups of network peers – Logical addresses of an application may be variable

  • Applications prefer meaningful names

A Naming Service for Overlay Networks 5

slide-6
SLIDE 6

Mnemonic Names

  • Names like in DNS (www.example.com). In DNS names are structured,

but not as IP topology.

  • Mnemonic names can overcome the limitations of logical addresses.
  • Ex. 10011
  • Greg
  • Names have semantic information that identifies applications, services, and
  • users. Ex. (565, 359)
  • Police Officer
  • Names be used to identify groups of applications, services, and users.
  • Ex. (565, 359)
  • Police Officer, (234, 758)
  • Police Officer
  • Names are unstructured with respect to logical addressing schemes
  • Names are independent of logical addressing schemes

A Naming Service for Overlay Networks 6

slide-7
SLIDE 7

Logical Address and Name Comparison

Property Logical Address Name Useful for Message Routing Yes No (if unstructured) Logical Address Scheme Independent No Yes Application Specific Semantic Value No Yes Can Identify Groups No Yes Can Identify Users No Yes Names give a user-level addressing scheme, similar to DNS in the Internet.

A Naming Service for Overlay Networks 7

slide-8
SLIDE 8

Challenges and Issues of Naming Service for Dynamic Overlay Networks

  • Goals

– Bind logical address to a name – Name service for dynamic overlay networks that resolves bindings – No assumption of a fixed infrastructure, directory, or central respository – Ability to define group names – Deal with frequent changes of logical address (peer mobility)

  • Issues

– Is a naming service in a dynamic overlay network viable? – How will it perform? – How can names be trusted with no trusted third party? – How to disseminate information on bindings?

A Naming Service for Overlay Networks 8

slide-9
SLIDE 9

A Naming Service For Dynamic Peer Networks

  • All peers participate in the naming service in the same way

– Completely symmetric – No centralized directory – No designation of particular naming service nodes

  • Naming Service Operations

– Resolves forward queries: name

  • logical addresses

– Resolves reverse queries : logical address

  • names

– Incorporates trust relationships between peers – Operation to exchange trust information

A Naming Service for Overlay Networks 9

slide-10
SLIDE 10

Name Binding

Maps a logical address to a mnemonic name

Auth Name Name Logical Address Logical Signer Name Signer Flag Size Size Address Size Name 1 byte 2 bytes

  • 0 bytes

1 byte

  • 0 bytes

2 bytes

  • 0 bytes

Timestamp Logical Address Digital Digital Change Count Signature Size Signature 8 bytes 4 bytes 2 bytes

  • =0 bytes

Example: “Foo”, (34, 92), Non-Authoritative, 2 minutes old, 4 LA changes

A Naming Service for Overlay Networks 10

slide-11
SLIDE 11

Naming Service Functions

  • Create name bindings
  • Store name bindings
  • Exchange name bindings

– Push a name binding – Pull a name binding

  • Logical address query (forward query)
  • Name query (reverse query)
  • Invalidate name bindings

Application can invoke operations in any order

A Naming Service for Overlay Networks 11

slide-12
SLIDE 12

Pushing Name Bindings Operation

  • The push name bindings operation disseminates name bindings when they

are created (broadcast)

  • Peers store name bindings in tables
  • Traffic limited by radius (locality)

Push Radius Network Hops

Pushes "foo", (20,35) 2 network hops

A Naming Service for Overlay Networks 12

slide-13
SLIDE 13

Pulling a Name Binding (Forward Query)

  • A query initiated by a peer that wishes to learn the logical addresses

associated with a given name.

  • Hard: where to send query? Uses broadcast.

Query for "foo"

Query Radius Network Hops

A Naming Service for Overlay Networks 13

slide-14
SLIDE 14

Name Query Operation

  • A query initiated by a peer that wishes to learn the logical addresses

associated with a given name

  • Name query contains a logical address used in query routing
  • No broadcast

Query for (20,35)

A Naming Service for Overlay Networks 14

slide-15
SLIDE 15

Adding Trust to the Naming Service

  • In the absence of a trusted server, why/how should names be trusted?
  • Ensures integrity and authenticity of a name binding
  • Exchang trust information with peers to establish trust of name bindings
  • Verifies trust “on-the-fly”
  • Builds trust chains (series of certificates that terminates at trust anchor)
  • Compute digital signature for each binding
  • Verify digital signature for each binding

A Naming Service for Overlay Networks 15

slide-16
SLIDE 16

Query Operation with Trust

Responder Pull Name Bindings Msg Querier Certificate Request Msg Certificate Response Msg Query Message

A Naming Service for Overlay Networks 16

slide-17
SLIDE 17

Naming Service Implementation in the Hypercast System

  • Overlay Sockets
  • Unicast and multicast operations
  • Naming service implemented as a network service inside HyperCast overlay

socket

  • Solutions to all previously stated issues are implemented
  • Names are bound to logical addresses not sockets
  • Uses extensible network services architecture with finite state machine

paradigm

  • Naming Service API

A Naming Service for Overlay Networks 17

slide-18
SLIDE 18

Example Program: Naming API

HyperCastConfig config = HyperCastConfig.createConfig ("hypercast.xml"); I OverlaySocket socket = config.createOverlaySocket (null); socket.joinOverlay(); socket.setName ("foo"); I LogicalAddress [] logicalAddresses = socket.getLogicalAddressByName ("bar"); for (int i = 0; i < logicalAddresses.length; ++i) System.out.println ("LA for bar: " + logicalAddresses[i]);

A Naming Service for Overlay Networks 18

slide-19
SLIDE 19

Experiments

  • Test Bed

– Cluster of 20 Sun Microsystems Sunfires running Linux – Dual 2.8 GHz Xeon processors – 512 MB of physical memory – 1 Gbps ethernet interface – Connected by a single 1 Gbps ethernet switch – UDP datagrams are used for message transport in all experiments

  • Experiment Configurations

– “Linear” experiments – 40 row

  • 40 column “grid” experiments

A Naming Service for Overlay Networks 19

slide-20
SLIDE 20

Linear Experimental Setup

Responder Latency? Success Rate? Pull Name Bindings Msg Logical Address Query Msg Querier Choose: Queries Per Second (qps) Choose: Network Hops

A Naming Service for Overlay Networks 20

slide-21
SLIDE 21

Linear Network Experiments

20 40 60 80 100 10 20 30 40 50 60 70 80 90 100 Query Response Latency (ms) Network Hops from Querier to Responder Hop Count vs Latency 200 q/s 400 q/s 600 q/s 800 q/s 1000 q/s 20 40 60 80 100 100 200 300 400 500 600 700 800 900 1000 Query Response Latency (ms) Queries per Second Queries per Second vs Latency 20 hops 40 hops 60 hops 80 hops 100 hops 0.2 0.4 0.6 0.8 1 100 200 300 400 500 600 700 800 900 1000 Success Ratio Queries per Second Queries per Second vs Success Ratio 20 hops 40 hops 60 hops 80 hops 100 hops

A Naming Service for Overlay Networks 21

slide-22
SLIDE 22

Linear Network Experiments: Trust

2000 4000 6000 8000 10000 10 20 30 40 50 60 70 80 90 100 Query Response Latency (ms) Distance from Query Node to Responder Node (network hops) Hop Count vs Latency 50 q/s 60 q/s 70 q/s 80 q/s 90 q/s 100 q/s 2000 4000 6000 8000 10000 50 60 70 80 90 100 Query Response Latency (ms) Queries per Second Queries per Second vs Latency 10 hops 20 hops 30 hops 40 hops 50 hops 60 hops 70 hops 80 hops 90 hops 100 hops 0.2 0.4 0.6 0.8 1 50 60 70 80 90 100 Success Ratio Queries per Second Queries per Second vs Success Percentage 10 hops 20 hops 30 hops 40 hops 50 hops 60 hops 70 hops 80 hops 90 hops 100 hops

A Naming Service for Overlay Networks 22

slide-23
SLIDE 23

Grid Experimental Setup

  • Regular grid
  • Trade-off of Push vs. Pull
  • All sockets query; all sockets respond

Rows Columns Success Ratio? Latency? Network: 40 X 40 qps fixed Choose: Push Radius Pull Radius

A Naming Service for Overlay Networks 23

slide-24
SLIDE 24

Grid Experiments: Success Ratio

0.2 0.4 0.6 0.8 1 2 6 10 14 18 22 26 30 Success Ratio Pull (hops) Pull Distance vs. Success Ratio for various Push Distances All Pushes and Pulls Cached 100 queries per second; 25,000 queries push 2 hops push 6 hops push 10 hops push 14 hops push 18 hops push 22 hops push 26 hops push 30 hops

A Naming Service for Overlay Networks 24

slide-25
SLIDE 25

Grid Experiments: Latency

20 40 60 80 100 120 2 6 10 14 18 22 26 30 Latency (ms) Pull (hops) Pull Distance vs. Latency for various Push Distances All Pushes and Pulls Cached 100 queries per second; 25,000 queries push 2 hops push 6 hops push 10 hops push 14 hops push 18 hops push 22 hops push 26 hops push 30 hops

A Naming Service for Overlay Networks 25

slide-26
SLIDE 26

Grid Experiments: Success Ratio

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 4 8 12 16 20 24 28 4 8 12 16 20 24 28 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Success Ratio Success Ratio - Pushes and Pulls Cached Push Radius (network hops) Pull Radius (network hops) Success Ratio

A Naming Service for Overlay Networks 26

slide-27
SLIDE 27

Grid Experiments: Latency

5 10 15 20 25 30 35 4 8 12 16 20 24 28 4 8 12 16 20 24 28 5 10 15 20 25 30 35 40 Latency Latency - Pushes and Pulls Cached Push Radius (network hops) Pull Radius (network hops) Latency

A Naming Service for Overlay Networks 27

slide-28
SLIDE 28

Grid Experimental Setup: Mobility

  • Simulates mobile senario
  • Structure of network does not change
  • Not measuring overlay protocol’s ability to reconfigure

Choose: Mobility Push + Pull = Diameter Latency? Success Ratio?

A Naming Service for Overlay Networks 28

slide-29
SLIDE 29

Grid Experiments: Mobility

0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 90 100 Success Ratio Mobility (Logical Address Changes per Second) Pull Distance vs. Success Ratio push 30, pull 10 push 25, pull 15 push 20, pull 20 push 15, pull 25 push 10, pull 30 20 40 60 80 100 120 10 20 30 40 50 60 70 80 90 100 Latency (ms) Mobility (Logical Address Changes per Second) Pull Distance vs. Latency push 30, pull 10 push 25, pull 15 push 20, pull 20 push 15, pull 25 push 10, pull 30

A Naming Service for Overlay Networks 29

slide-30
SLIDE 30

Related Work

  • Internet

– MAC/IP - ARP: find MAC of IP – IP/Domain Name - DNS: find IP of name

  • Overlay

– Distributed Hash Table (DHTs): use overlay for lookup - built a better DNS – Content Addressable Networks (CAN) - names used for routing – Intentional naming system - attribute-based query, separate naming

  • verlay

Our work: if the world ran on an overlay network, what would DNS look like?

A Naming Service for Overlay Networks 30

slide-31
SLIDE 31

Conclusions

  • The design and development of a naming service for dynamically changing

application layer overlay networks without access to fixed infrastructure

  • Implemented in HyperCast
  • Solution for trust with no trusted third party
  • Insights into trade-offs between push/pull, caching, and mobility
  • Demonstrated viability
  • Experiments performance evaluation
  • Open questions

– Scaling (limited by experimental resources) – Groups not fully explored (subgroups)

A Naming Service for Overlay Networks 31