Podcast
Questions and Answers
How does distribution time behave in a client-server architecture as the number of peers increases?
How does distribution time behave in a client-server architecture as the number of peers increases?
- It increases linearly and without bound. (correct)
- It decreases exponentially.
- It decreases to a minimal limit.
- It remains constant regardless of peers.
What is the role of a tracker in a P2P architecture?
What is the role of a tracker in a P2P architecture?
- To distribute files to peers directly.
- To track peers participating in a torrent. (correct)
- To manage file integrity between peers.
- To centralize storage of file chunks.
In the BitTorrent protocol, what process allows peers to optimize their chunk exchange?
In the BitTorrent protocol, what process allows peers to optimize their chunk exchange?
- Peer ranking.
- Chunk distribution.
- Tit-for-tat mechanism. (correct)
- File fragmentation.
When a peer first joins a torrent, what is their initial status regarding file chunks?
When a peer first joins a torrent, what is their initial status regarding file chunks?
How often does a peer re-evaluate which peers to send chunks to in the BitTorrent protocol?
How often does a peer re-evaluate which peers to send chunks to in the BitTorrent protocol?
What happens when a peer has downloaded the entire file in a torrent?
What happens when a peer has downloaded the entire file in a torrent?
What does 'optimistically unchoke' refer to in BitTorrent?
What does 'optimistically unchoke' refer to in BitTorrent?
What is a notable characteristic of peers in a P2P architecture like BitTorrent?
What is a notable characteristic of peers in a P2P architecture like BitTorrent?
What strategy does a CDN employ for directing clients to a server cluster?
What strategy does a CDN employ for directing clients to a server cluster?
Which method employs real-time measurements to determine the best cluster for clients?
Which method employs real-time measurements to determine the best cluster for clients?
Which component is NOT part of Netflix's video distribution architecture?
Which component is NOT part of Netflix's video distribution architecture?
How does Netflix prepare movie content for distribution?
How does Netflix prepare movie content for distribution?
What is one method Netflix uses for adaptive streaming?
What is one method Netflix uses for adaptive streaming?
Which is a potential drawback of using real-time measurements in a CDN?
Which is a potential drawback of using real-time measurements in a CDN?
For which of the following purposes does Netflix use the Amazon cloud?
For which of the following purposes does Netflix use the Amazon cloud?
What is an advantage of using the geographically closest server approach in CDN?
What is an advantage of using the geographically closest server approach in CDN?
What is a key characteristic of peer-to-peer (P2P) architecture?
What is a key characteristic of peer-to-peer (P2P) architecture?
Which of the following best describes how new peers impact a P2P network?
Which of the following best describes how new peers impact a P2P network?
In a content delivery network (CDN), what is the primary function of edge servers?
In a content delivery network (CDN), what is the primary function of edge servers?
What type of attack involves intercepting DNS queries and returning false information?
What type of attack involves intercepting DNS queries and returning false information?
Which method is commonly used to amplify traffic during a DDoS attack on DNS servers?
Which method is commonly used to amplify traffic during a DDoS attack on DNS servers?
What is the purpose of RFC 4033 in relation to DNS?
What is the purpose of RFC 4033 in relation to DNS?
During a DDoS attack, which server is most commonly bombarded with traffic?
During a DDoS attack, which server is most commonly bombarded with traffic?
What does the abbreviation 'MX' stand for in DNS records?
What does the abbreviation 'MX' stand for in DNS records?
In a file distribution scenario, which variable represents the upload capacity of the server?
In a file distribution scenario, which variable represents the upload capacity of the server?
What is the essential difference between a client-server model and a P2P model?
What is the essential difference between a client-server model and a P2P model?
Flashcards
DNS query message
DNS query message
A message sent to a DNS server to request information about a domain name (e.g., website address).
DNS reply message
DNS reply message
A message sent back from a DNS server containing the requested information about a domain name.
DNS identification
DNS identification
A unique 16-bit number used to match a DNS reply with its corresponding query, ensuring correct responses.
DNS flag (query/reply)
DNS flag (query/reply)
Signup and view all the flashcards
DNS flag (recursion desired)
DNS flag (recursion desired)
Signup and view all the flashcards
DNS flag (recursion available)
DNS flag (recursion available)
Signup and view all the flashcards
Authoritative DNS server
Authoritative DNS server
Signup and view all the flashcards
DNSSEC
DNSSEC
Signup and view all the flashcards
DNS registrar
DNS registrar
Signup and view all the flashcards
DNS Resource Record (RR)
DNS Resource Record (RR)
Signup and view all the flashcards
CDN (Content Delivery Network)
CDN (Content Delivery Network)
Signup and view all the flashcards
Cluster Selection Strategy
Cluster Selection Strategy
Signup and view all the flashcards
Geographic Closeness
Geographic Closeness
Signup and view all the flashcards
Real-time Measurement
Real-time Measurement
Signup and view all the flashcards
Adaptive Streaming
Adaptive Streaming
Signup and view all the flashcards
DASH (Dynamic Adaptive Streaming over HTTP)
DASH (Dynamic Adaptive Streaming over HTTP)
Signup and view all the flashcards
Netflix's Video Distribution
Netflix's Video Distribution
Signup and view all the flashcards
HTTP GET
HTTP GET
Signup and view all the flashcards
P2P Architecture
P2P Architecture
Signup and view all the flashcards
Client-Server Architecture
Client-Server Architecture
Signup and view all the flashcards
Distribution Time (P2P)
Distribution Time (P2P)
Signup and view all the flashcards
Distribution Time (Client-Server)
Distribution Time (Client-Server)
Signup and view all the flashcards
BitTorrent
BitTorrent
Signup and view all the flashcards
Torrent
Torrent
Signup and view all the flashcards
File Chunk
File Chunk
Signup and view all the flashcards
Tit-for-tat
Tit-for-tat
Signup and view all the flashcards
Study Notes
DNS Overview
- DNS (Domain Name System) translates domain names (e.g., www.example.com) into IP addresses (e.g., 192.168.1.1).
- This allows users to use memorable names instead of numerical IP addresses.
- A hierarchical system with different types of DNS servers working together: Root, TLD (Top-Level Domain), Authoritative, and Local.
Recursive Queries in DNS
- A recursive query puts the burden of name resolution on the contacted name server.
- This places a heavy load on the upper levels of the hierarchy.
- The contacted DNS server will query other servers until the answer is found.
DNS Caching
- DNS caching is used to improve performance and reduce the number of DNS messages on the internet.
- Caching improves performance by reducing delay.
- Caching saves bandwidth by reducing the amount of data transferred across the internet.
- Cache entries timeout after a specific time (TTL).
- TLD servers are typically cached in local name servers.
- Root name servers are not often visited due to caching.
DNS Records
- Resource records (RRs) contain name, address, and type of record.
- Type A: maps hostname to IP address of end device.
- Type NS: an authoritative name server for a domain.
- Type CNAME: maps alias hostname to canonical hostname.
- Type MX: indicates a mail server for an alias hostname.
DNS Protocol and Messages
- DNS uses query and reply messages, both with the same message form.
- Messages have identification (16-bit number) for matching queries and replies.
- Flags specify if recursion is desired or available, and whether the reply is authoritative.
DNS Messages Structure
- DNS messages have 12-byte headers.
- Identification: for query-reply matching.
- Questions: to be answered.
- Answers, Authority, Additional information: resource records providing the answer, for contact information about other servers, and additional helpful related data needed for the query.
Using nslookup
- nslookup is a command-line tool for querying DNS servers.
- It provides results showing domain names, addresses, and other relevant information (names of authoritative servers, addresses, etc).
Getting Your Information into the DNS
- Registering a domain name with a registrar.
- Providing the name, IP address of primary and secondary authoritative DNS servers.
- Using a registrar's function to put host name and A records into the relevant TLD server.
DNS Security
- DDoS Attacks target root and TLD servers with high traffic, often overwhelming them.
- Spoofing attacks intercept DNS queries and return false replies.
- DNS cache poisoning can occur where DNS servers receive bogus entries for a domain.
P2P Architecture
- No central server.
- Peers request service from other peers, and provide service in return.
- Self-scalable with new peers bringing new service, capacity, and demands.
File Distribution: Client-Server vs P2P
- Client-server distribution time increases linearly with the number of peers.
- P2P distribution time increases with the total upload capacity of all participating peers.
File Distribution: BitTorrent
- Tracker: tracks peers participating in the torrent.
- Peers in a torrent exchange file chunks and exchange portions of data in a tit-for-tat manner.
Video Streaming and CDNs
- Video traffic consumes a significant amount of Internet bandwidth.
- CDNs distribute video content over geographically distributed servers (caches) to improve performance and user experience.
- CDN placement strategies include "Enter Deep" and "Bring Home" locations.
Multimedia: Video
- Video is a sequence of images displayed at a constant rate (e.g., 24 images/second).
- Digital images are represented by an array of pixels.
- Coding techniques (spatial, temporal) reduce redundancy within and between images to decrease the number of bits needed to encode an image.
- CBR (constant bit rate) encoding maintains a fixed bit rate, while VBR (variable bit rate) adjusts the bit rate based on video content.
Streaming Stored Video
- In a simple stored video scenario, all clients receive the same encoding despite bandwidth variations.
- This can lead to a suboptimal experience.
Streaming Multimedia: DASH
- DASH (Dynamic Adaptive Streaming over HTTP) allows for adaptive encoding rates based on changing bandwidth conditions.
- Servers provide different chunks encoded at varying bit rates.
- Clients periodically measure server-to-client bandwidth and adjust playback to use more or less CPU-intensive or bandwidth-intensive encoding.
- Client-side intelligence manages buffer starvation and overflow.
Content Distribution Networks (CDNs)
- CDNs use multiple geographically distributed servers and cache content close to users to reduce latency, increase bandwidth availability, and distribute traffic load.
- CDN Placement Strategies involve choosing locations that are close to users (Enter Deep), and locations closer to ISPs (Bring Home).
CDN Services
- CDNs enhance regular hosting by reducing bandwidth consumption, minimizing latency, and scaling up for abnormal traffic loads.
- CDNs often store multiple copies of videos using a pull strategy where users request data, and store it locally.
Netflix Video Streaming Platform
- Netflix uses a combination of Amazon Cloud services and its own private CDN infrastructure.
- Netflix distributes various versions of videos in different formats suitable for different platforms and devices, with various bit rates for bandwidth optimization.
- Adaptive streaming (e.g. the DASH standard) is used for changing bandwidth and quality.
Socket Programming
- Socket programming is a way to build client-server applications that use sockets to communicate.
- Sockets provide a door between the process of a program running on an end-device and the transport protocol such as UDP or TCP.
Socket Programming with UDP
- UDP (User Datagram Protocol) is an unreliable datagram-based service.
- There is no connection or handshaking before sending client and server data.
- The sender explicitly appends the IP address and port number to each packet.
- UDP packets can be lost or arrive out of order.
Socket Programming with TCP
- TCP (Transmission Control Protocol) is a reliable byte stream-oriented service.
- A connection is required before data can be exchanged.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.