Lesson 12 - Applications (CDNs and Overlay Networks) Flashcards
What are the major challenges that Internet applications face?
- peering point congestion - No motivation to improve expensive peering points between networks. Which causes lag between these peering points.
- Inefficient routing protocols (BGP suffers against not accounting for congestion control and malicious activities)
- Unreliable networks - physical and software outages
- Inefficient communication protocols (TCP)
- Scalability
- Application limitations
- Slow rate of change adoption.
What are the major shifts that have impacted the evolution of the Internet ecosystem?
- Development and growth of CDNs
2. topological flattening due to use of IXPs
Explain “Enter deep” approach of CDN server placement.
With this philosophy, the CDNs place many smaller server clusters “deep” into the access networks around the world.
Explain “Bring home” approach of CDN server placement.
With this philosophy, CDNs place fewer larger server clusters at key points (typically in IXPs, not in access networks), “bringing the ISPs home.”
What are the 2 main steps in CDN server selection?
- mapping the client to a cluster.
2. select a server in the cluster.
What is the simplest approach to select a cluster? What are the limitations of this approach?
pick the geographically closest cluster.
really picks the cluster closest to the LDNS
may not be best end-to-end connection.
network conditions are dynamic
There is a second approach to select a cluster, which is based on measurements. What are those measurements and how to obtain them?
Active: LDNS pings clusters
Passive: LDNS monitors network traffic for each subnet.
Explain the proposed distributed system that uses a 2-layered system. What are the challenges of this system?
- coarse-grained global layer with large time scale
- fine-grained per-client decision layer that operates at the millisecond timescale. (more up-to-date)
downside: needs to have data for different subnet-cluster pairs. some of the clients deliberately need to be routed to sub-optimal clusters.
What are the strategies for server selection? What are the limitations of these strategies?
assign random server - random server may be overloaded
assign least loaded sever - server may not have requested content cached. Results in Unnecessary requests for content.
assign a server with the content requested - if server fails all content tables need to be recalculated.
What is consistent hashing? How does it work?
consistent hashing is a distributed hash table. The goal is to balance load, by assigning roughly the same number of content IDs, and requires relatively little movement of these content IDs when nodes join and leave the system.
How it works:
servers and the content objects are mapped to the same ID space such that each server has one backup neighbor (like a one-way circle). Content objects are assigned to servers. If a server leaves the ID space, its content is assigned to its neighbor.
What are the main steps that a host takes to use DNS?
- The user runs the client side of the DNS application.
- The browser extracts the hostname and passes it to client side of the DNS application.
- DNS Client sends a query containing the hostname
- DNS Client receives a reply with the IP address.
- host initiates a TCP connection to the HTTP server using the ip address.
What are the services offered by DNS, apart from hostname resolution?
- Mail server/Host aliasing:
2. Load distribution
What is the structure of DNS hierarchy?
Root DNS servers -> Top Level Domain (TLD) Servers -> Authoritative servers -> Local DNS serves.
Explain the interaction of the various DNS servers.
Please suggest answer.
What is the difference between iterative and recursive DNS queries?
In an iterative query, Host A is notified by Host B that Host C has the DNS record. Then Host A queries Host C.
In a recursive query, Host B queries Host C and replies to Host A with the result.