Download presentation
Presentation is loading. Please wait.
Published byMagdalen Nicholson Modified over 8 years ago
1
Node Lookup in P2P Networks
2
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.
3
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.
4
Node lookup in p2p networks Any suggestions? Ask the nodes in the network one-by-one? Flood the network?
5
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?
6
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).
7
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.
8
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.
9
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.
10
Chord How to find successor(F)? Any suggestions?
11
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.
12
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?
13
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 i th entry of his finger table is the IP address of the successor of k+2 i mod 2 m. Given this, how do you design the routing algorithm?
14
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.
15
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 2 i and 2 i+1. So if there is at least one valid node between 2 i and F, we will go to the first such point, distance is halved.
16
Connection-orientated Service
17
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.
18
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.
19
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.
20
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.
21
Virtual Circuit When setting up the virtual circuit, a VC ID is picked. The router knows where to forward a packet with a certain VC ID. A practical problem in a distributed environment – different stations may pick the same VC ID. – Labels can be swapped without causing confusion. B E F D C A H1 H2 A’s Table In Out H1, 1 C, 1 H2, 1 C, 2 H3 C’s Table In Out A, 1 E, 1 A, 2 D, 1
22
Exercise Find the shortest path from A to all other nodes in the network.
23
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.
24
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
25
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.
26
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,
27
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.
28
Exercise Line FG goes down. What message will node F have in its routing table when DV is used? What will he do in the first step? What message will node F have in its routing table when Path Vector is used? What will he do in the first step? A G F E I J H D C B 4 1 1 1 2 1 2 6 6 6 6 6 6 6
29
Exercise Line FG goes down. What message will node F have in its routing table when DV is used? What will he do in the first step? – B: 5 – E: 4 – I: 5 What message will node F have in its routing table when Path Vector is used? What will he do in the first step? – B: 5, BCD – E: 4, EFGCD – I: 5, IFGCD A G F E I J H D C B 4 1 1 1 2 1 2 6 6 6 6 6 6 6
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.