Module 9: Application layer Flashcards

1
Q

What is an application-layer protocol

A

“Overlay Network”
runs on top of TCP/UDP
each node is an end-host

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why should we prefer overlay networks?

A

Route by content rather than addresses

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Solution 1 for P2P search: Centralized Index

A

example: napster
assume a centralized index system that maps files to machines that are alive

how to find a file:
query the index system -> return a machine that stores the required file
download the file via FTP

advantages: simplicity, easy to implement sophisticated search engines on top of the index system

disadvantages: robustness, scalability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Solution 2 for P2P Search: Flood-based Approach

A

Example: Gnutella network
flood-based
- send request to all neighbors
- neighbors recursively forward the request
- eventually a machine that has the file receives the request, and it sends back the answer

advantages: totally decentralized, highly robuse

disadvantages: not scalable, the entire network can be swamped with request (to alleviate this problem, each request has a TTL)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

flood-based approach

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Solution 3: DHT-based Approach

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Does DHTs have a flattening effect with the increase in the number of nodes?

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Content Addressable Network

A

Associate to each node and item a unique id in a d-dimensional coordinate space

Properties
Routing table size O(d)
guarantees that a file is found in at most d*nˆ1/2 steps, where n is the total number of nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

CAN example: 2-D space

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

chord is a DHT

A

associate to each node and item a unique id in a uni-dimensional space 0..2ˆm - 1

key design decision: decouple correctness from efficiency

properties
- routing table size O(log(N)) where N is the total number of nodes
- guarantees that an item is found in O(log(N)) steps using its key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

consistent hash [karger 97]

A

desired features:
- balanced - load is equal across buckets
- smoothness - little impact on hash bucket when buckets are added/removed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Why is hashing not good for guaranteeing load-balancing?

A

Is not flexible to change in the number of servers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Consistent Hash [Karger 97]

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Lookup for chord protocol (naive)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Ring stabilization is a combination of a stabilize function and a notify function.

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what does chord protocol do to achieve robustness?

A
17
Q

DHT Optimizations

A
18
Q

How do you achieve robustness if requests or lookup requests along the way fail due to node failure or message losses?
A. Hop-by-hop reliability
B. End-to-end reliability
C. Ring robustness

A

A and B