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?
What is the role of a tracker in a P2P architecture?
What is the role of a tracker in a P2P architecture?
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?
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
What does 'optimistically unchoke' refer to in BitTorrent?
What does 'optimistically unchoke' refer to in BitTorrent?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
Which component is NOT part of Netflix's video distribution architecture?
Which component is NOT part of Netflix's video distribution architecture?
Signup and view all the answers
How does Netflix prepare movie content for distribution?
How does Netflix prepare movie content for distribution?
Signup and view all the answers
What is one method Netflix uses for adaptive streaming?
What is one method Netflix uses for adaptive streaming?
Signup and view all the answers
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?
Signup and view all the answers
For which of the following purposes does Netflix use the Amazon cloud?
For which of the following purposes does Netflix use the Amazon cloud?
Signup and view all the answers
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?
Signup and view all the answers
What is a key characteristic of peer-to-peer (P2P) architecture?
What is a key characteristic of peer-to-peer (P2P) architecture?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
What type of attack involves intercepting DNS queries and returning false information?
What type of attack involves intercepting DNS queries and returning false information?
Signup and view all the answers
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?
Signup and view all the answers
What is the purpose of RFC 4033 in relation to DNS?
What is the purpose of RFC 4033 in relation to DNS?
Signup and view all the answers
During a DDoS attack, which server is most commonly bombarded with traffic?
During a DDoS attack, which server is most commonly bombarded with traffic?
Signup and view all the answers
What does the abbreviation 'MX' stand for in DNS records?
What does the abbreviation 'MX' stand for in DNS records?
Signup and view all the answers
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?
Signup and view all the answers
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?
Signup and view all the answers
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.