Embed
Email

Node Lookup in P2P Networks

Document Sample

Shared by: ewghwehws
Categories
Tags
Stats
views:
0
posted:
1/19/2012
language:
pages:
29
Node Lookup in P2P Networks

Node lookup in p2p networks

• Section 5.2.11 in the textbook.

• In a p2p network, each node may provide

some kind of service for other nodes and also

will ask other node for service.

• The problem is to locate a node who provides

the service I need.

• In our project there is a central server who

assigns nodes to others.

Node lookup in p2p networks

• P2P networks may have a very large number of

nodes, such that a single central server may not

be able to handle.

• Besides, there are legal issues.

• So, how to design lookup mechanism, such that I

can find the node providing the service I need?

• For simplicity, let’s use the same model as in our

project – Each node may have some files, and the

job is to find a node with the file I need.

Node lookup in p2p networks

• Any suggestions?

• Ask the nodes in the network one-by-one?

• Flood the network?

Node lookup in p2p networks

• Two costs you have to consider.

– The lookup time

– The number of messages sent

• Assume that there is only one node with the

file I need, what is the cost for

– Linear search?

– Flood?

– Are they any good?

The key idea

• There is really not so much you can do if the

network does not have a structure.

• Introduce structure to the network.

• Distributed Hash Table (DHT).

Chord

• Each node has a unique ID

– By hashing its IP address by SHA-1 to get a 160-bit

ID.

• Each file also has a unique ID, called key.

– By hashing the file name by SHA-1 to get a 160-bit

ID.

Chord

• Successor of a key x or ID x.

– Arrange the node as a circle. Start at x and travel

clockwise. The first (real) node you visit is the

successor of F.

Chord

• successor(F) is the node in charge of telling

other people where to get F.

• If a node has file F, he tells successor(F) that

he has F.

• So, if you can find successor(F), meaning that

the IP address of it, you are done.

Chord

• How to find successor(F)?

• Any suggestions?

Chord

• You know your location on the circle. You

know the location of F on the circle.

• If every node keeps the IP address of its

neighbor on the circle, need to do a linear

search.

Chord

• But you control what nodes should remember.

• What do you want the nodes to remember,

such that your searching time is small and

your number of message is small?

Chord

• What Chord does is this.

– remembering the successors of m locations if the

node ID and key are m bits.

• Consider a node with ID k. The ith entry of his

finger table is the IP address of the successor

of k+2i mod 2m.

• Given this, how do you design the routing

algorithm?

Chord

• Start with k as the routing point (RP).

• If RP < F < successor(RP), successor(RP) =

successor(F) and we are done.

• Else, let the next RP be the one in the RP’s

finger table that is the closest predecessor of

F. Repeat.

Chord

• Chord needs O(m) routing steps.

• The reason is every time, roughly speaking,

the distance from the RP to the key is at least

halved.

– WLOG, suppose the current RP is 0, and F is

between 2i and 2i+1. So if there is at least one valid

node between 2i and F, we will go to the first such

point, distance is halved.

Connection-orientated Service

Connection in data networks

• Another type of network, such as the

telephone network, was developed based on

the connection idea.

– Before communication, a connection must be set

up, which consists of physical circuits.

– After the communication is over, tear down the

connection.

Advantage

• The resources in the connection is reserved, so

interference-free from other connections. Can

guarantee certain Quality of Service

requirements.

• The connection (the physical circuits in the

routers) has been set up, the processing of data

packets is minimal. No need to check the header

for full destination address. The packet does not

even have to carry the address information.

Disadvantage

• People may reserve more resources than they

need. Such resources, even when idle, cannot

be used by others. A waste.

• The set up of the connection requires time.

For a large network, the delay can be 100ms.

Okay for telephone networks, not oaky for

some data services which just need to send a

single packet.

Virtual Circuit

• Implementing circuit in a datagram network?

– Datagram network forwards packets, there is no

physical circuits that can be set up for connections.

– Still, if we set up a virtual circuit, the routers will

know how to route the packets of this virtual circuit.

To reduce the complexity of routers.

– Before transmission, a virtual circuit is set up. Then, a

packet will carry the ID of the virtual circuit. The

virtual circuit ID is much smaller, and thus much easier

to deal with, than the full destination address. It is

also much smaller than the full destination address,

can save some overhead.

Virtual Circuit

H2

• When setting up the B D

virtual circuit, a VC ID

is picked. The router A F H3

knows where to C

forward a packet with

a certain VC ID. H1 E

• A practical problem in

a distributed

environment – A’s Table C’s Table

different stations may In Out In Out

pick the same VC ID. H1, 1 C, 1 A, 1 E, 1

– Labels can be H2, 1 C, 2 A, 2 D, 1

swapped without

causing confusion.

Exercise

• Find the

shortest

path from

A to all

other

nodes in

the

network.

Exercise

• Suppose a network runs the distance vector

algorithm. Suppose node A is adjacent to B, C,

and D, with link distance of 5, 2, and 9,

respectively. A receives advertisements from B, C,

and D about node E. From B: 5. From C: 10. From

D: 3. So to reach E, A will pick which node as the

next hop and the distance is

a. B, 12

b. C, 10

c. D, 12

d. None of the above.

Exercise

• A router has the following (CIDR) entries in its routing table:

Address/mask: Next hop

160.36.224.0/19: Interface 0

160.36.240.0/20: Interface 1

160.36.232.0/21: Router 1

Default: Router 2

For a packet with destination address of 160.36.243.15, the

router will forward it to

a. Interface 0

b. Interface 1

c. Router 1

d. Router 2

Exercise

• A router just received the following new IP

addresses: 57.6.40.0/21, 57.6.60.0/22,

57.6.36.0/22, all with the same outgoing line.

They

a. can be aggregated to 57.6.32.0/19.

b. can be aggregated to 57.6.48.0/19

c. cannot be aggregated.

d. None of the above.

Exercise

• Which of the following statements is true?

a. BGP is for routing between the ASes, and suffers

from the count-to-infinity problem.

b. OSPF is for routing within ASes, and is a distance

vector algorithm.

c. ARP is used when a node wants to know the IP

address of itself.

d. None of the above,

Exercise

• Suppose an input buffered switch has 4

inputs/outputs. If the buffer states at input 0 to 3

are (0,2,0,0), (1,2,3,0),(0,0,2,2), and (0,0,1,0),

respectively, what is the maximum number of

packets that can be sent in this time slot?

a. 2.

b. 3.

c. 4.

d. None of the above.

Exercise

4 1

C

• Line FG goes down. B D

• What message will node F have 6 1

2

in its routing table when DV is A 6

G

used? What will he do in the

first step? F 1 H

6 6

• What message will node F have 1

in its routing table when Path 6

Vector is used? What will he do 2

E

in the first step? J

6 I

6

Exercise

4 1

• Line FG goes down. C

B D

• What message will node F have 6 1

in its routing table when DV is 2

A 6

used? What will he do in the first G

step?

F 1 H

– B: 5 6 6

– E: 4 1

– I: 5 6

• What message will node F have 2

E

in its routing table when Path I J

6

Vector is used? What will he do 6

in the first step?

– B: 5, BCD

– E: 4, EFGCD

– I: 5, IFGCD



Related docs
Other docs by ewghwehws
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!