Term
What are some characteristics of traditional file serving? |
|
Definition
- Uses a central (ftp) server
- Clients download from server - heavy bandwidth
- Overloaded when new, big files are in high demand
- Issue affects services like online gaming
|
|
|
Term
What are some other distribution methods? |
|
Definition
- Anycast
- Discover nearest instance of service
- Transparencly adds local instances of service
- Multicast
- Send data from one sender to many receivers
- Content Delivery Networks (CDNs)
|
|
|
Term
What are some key characteristics of P2P? |
|
Definition
- Unmanaged
- No central resouces
- Typically uses personal devices
- Well-suited to immutable content
- Key issue is the algorithm(s) by which information objects are stored and retreived
- Prefer decentralised, self-organized systems
|
|
|
Term
What are some criteria for P2P design? |
|
Definition
- As decentralised as possible, with implicit redundancy
- Minimise bandwith requirements to original source
- Utilise peer to peer exchanges between nodes
- Split content in multiple parts for concurrent transfers
- Nodes can be added and removed from network
- File being shared can always be found
- Privacy is important
|
|
|
Term
What is some efficiency criteria to have in mind when designing P2P? |
|
Definition
- Balance workload
- Ensure availability of content
- Resources are volatile
- implies replication (Especially rarer chunks)
- Broadband makes difference
- Don't add undue overheads
- Provide anonimity
|
|
|
Term
What is the Napster model? |
|
Definition
- User registers and connects to central index server
- Requests file from index
- receive list of peers
- pick a peer and request
- receive file
- update index (as receiver should now offer file)
|
|
|
Term
What are the disadvantages of the Napster model? |
|
Definition
- Centralized index
- Can be replicated
- Point of failure
- Vulnerable to attacks
- Administrators can't be anonymous
|
|
|
Term
What does the BitTorrent model include? |
|
Definition
- Seeders and Leeches
- Seeders have complete file
- Leech is downloading peer
|
|
|
Term
What are the characteristics of a torrent file? |
|
Definition
- Created by user that wnts to share a file
- Node wishing to download must locate file by some protocol (may be hosted on site, etc)
- Torrent file holds metadata including
- Name and size
- Location of a tracker (url) that manages downloads of that particular file
- Checksum for each chunk (SHA-1)
|
|
|
Term
What are the characteristics of torrent file chunks? |
|
Definition
- Have checksums individually in the form of a hash
- Client generally prefers to download rare chunks first
- make it easy to suspend/resume downloads
- Chunks can be available as soon as downloaded
|
|
|
Term
What are the characteristics of a tracker? |
|
Definition
- Service to which peers connect to get information on where chunks reside (list of peers)
- Clients report information to the tracker periodically in exchange receive information about other clients they can connect to
- Tracker not involved in data transfer
- Does not have to have copy of file
- Tracker requires low bandwidth
- Tracker may restrict clients based on share ratio
- Users may run private trackers
|
|
|
Term
What is the pirate bay model? |
|
Definition
- Need nodes to be seeds not just leeches
- Preference given to downloading peers who are or who have also uploaded
- Peer supports downloading from multiple simultaneous peers by unchoking them
- P2P hampered by ADSL
|
|
|
Term
What are the downsides for BitTorrent? |
|
Definition
- Requires cooperation
- Model assumes seeders exist
- Reseeding may be necessary if original seeder is lost
- NATs can be problematic
- For inbound TCP connections to ports 6881 up
- Not usually configured by default in NAT routers
|
|
|
Term
What are the characteristics of trackerless BitTorrent? |
|
Definition
- Every peer effectively becomes a tracker
- Operate without dedicated tracker
- Uses Distributed Hash Table (DHT)
- DHT then provides a decentralised lookup service
- Store or retreive key-value pairs
- Create or delete entries
- PUT(key, data)
- GET(key, data)
- Data values are IP headers, ports
- Key is some hash of data/content
|
|
|
Term
What are the Distributed Hash Table (DHT) identifiers? |
|
Definition
- Unique identifier (UID)
- Usually referred to as a Globally UID (GUID)
- Can be secure hash of resource's state
- Impies self-certifying
- Implies content is static
- To ensure GUIDs are randomly distributed
- Implies flat lookup service
|
|
|