Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Communication Networks

Similar presentations


Presentation on theme: "Introduction to Communication Networks"— Presentation transcript:

1 Introduction to Communication Networks
CSEN 503 Introduction to Communication Networks Amr El Mougy Rana Eisa Hana Medhat **Slides are attributed to J. F. Kurose

2 Roadmap: Application layer
Web caches (proxy server) DNS 2: Application Layer

3 Web caches (proxy server)
Goal: satisfy client request without involving origin server user sets browser: Web accesses via cache browser sends all HTTP requests to cache object in cache: cache returns object else cache requests object from origin server, then returns object to client origin server HTTP response Proxy server HTTP request client HTTP request HTTP response client origin server 2: Application Layer

4 More about Web caching cache acts as both client and server
typically cache is installed by ISP (university, company, residential ISP) Why Web caching? reduce response time for client request reduce traffic on an institution’s access link. Internet dense with caches: enables “poor” content providers to effectively deliver content (but so does P2P file sharing) 2: Application Layer

5 Caching example Assumptions Consequences origin servers
average object size = 1,000,000 bits avg. request rate from institution’s browsers to origin servers = 15 req/sec delay from internet router to any origin server and back to router = 2 sec Consequences utilization on LAN = (15 requests/sec) . (1Mbits/request)/(100Mbps) = 15% utilization on access link = (15 requests/sec) . (1Mbits/request)/(15Mbps) = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds public Internet 15 Mbps access link institutional network 100 Mbps LAN institutional cache 2: Application Layer

6 Caching example (cont)
origin servers possible solution increase bandwidth of access link to, say, 100 Mbps consequence utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs often a costly upgrade public Internet 100 Mbps access link institutional network 100 Mbps LAN institutional cache 2: Application Layer

7 Caching example (cont)
possible solution: install cache suppose hit rate is 0.4 consequence 40% requests will be satisfied almost immediately 60% requests satisfied by origin server utilization of access link reduced to 60%, resulting in negligible delays (say 10 msec) total avg delay = Internet delay + access delay + LAN delay = .6*(2) secs + .4*milliseconds < 1.4 secs origin servers public Internet 15 Mbps access link institutional network 100 Mbps LAN institutional cache 2: Application Layer

8 If-modified-since: <date> If-modified-since: <date>
Conditional GET cache server Goal: don’t send object if cache has up-to-date cached version cache: specify date of cached copy in HTTP request If-modified-since: <date> server: response contains no object if cached copy is up-to-date: HTTP/ Not Modified HTTP request msg If-modified-since: <date> object not modified HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> object modified HTTP response HTTP/ OK <data> 2: Application Layer

9 DNS: Domain Name System
People: many identifiers: SSN, name, passport # Internet hosts, routers: IP address (32 bit) - used for addressing datagrams “name”, e.g., ww.yahoo.com - used by humans Q: map between IP addresses and name ? Domain Name System: distributed database implemented in hierarchy of many name servers application-layer protocol host, routers, name servers to communicate to resolve names (address/name translation) note: core Internet function, implemented as application- layer protocol complexity at network’s “edge” 2: Application Layer

10 DNS DNS services Hostname-to-IP-address translation host aliasing
Canonical, alias names mail server aliasing load distribution replicated Web servers: set of IP addresses for one canonical name Why not centralize DNS? single point of failure traffic volume distant centralized database Maintenance: update huge DB doesn’t scale! 2: Application Layer

11 Distributed, Hierarchical Database
Root DNS Servers com DNS servers org DNS servers edu DNS servers poly.edu DNS servers umass.edu yahoo.com amazon.com pbs.org Client wants IP for 1st approx: client queries a root server to find com DNS server client queries com DNS server to get amazon.com DNS server client queries amazon.com DNS server to get IP address for 2: Application Layer

12 DNS: Root name servers contacted by local name server that can not resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus other locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 36 other locations) m WIDE Tokyo (also Seoul, Paris, SF) 13 root name servers worldwide b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA 2: Application Layer

13 TLD and Authoritative Servers
Top-level domain (TLD) servers: responsible for com, org, net, edu, etc, and all top- level country domains uk, fr, ca, jp. Network Solutions maintains servers for com TLD Educause for edu TLD Authoritative DNS servers: organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web, mail). can be maintained by organization or service provider 2: Application Layer

14 Local Name Server does not strictly belong to hierarchy
each ISP (residential ISP, company, university) has one. also called “default name server” when host makes DNS query, query is sent to its local DNS server acts as proxy, forwards query into hierarchy 2: Application Layer

15 DNS name resolution example
root DNS server 2 Host at cis.poly.edu wants IP address for gaia.cs.umass.edu 3 TLD DNS server 4 5 iterated query: contacted server replies with name of server to contact “I don’t know this name, but ask this server” local DNS server dns.poly.edu 7 6 1 8 authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu 2: Application Layer

16 DNS name resolution example
requesting host cis.poly.edu gaia.cs.umass.edu root DNS server local DNS server dns.poly.edu 1 2 4 5 6 authoritative DNS server dns.cs.umass.edu 7 8 TLD DNS server 3 recursive query: puts burden of name resolution on contacted name server heavy load? 2: Application Layer

17 DNS: caching and updating records
once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after some time (often 48 hours) TLD servers typically cached in local name servers Thus root name servers not often visited 2: Application Layer

18 DNS Problem Consider the network diagram on the right depicting three hosts H1, H2 and H3, as well as three levels of hierarchical DNS-Servers. The three hosts perform a large number of domain-name lookups over the course of a day. When a given DNS-request is in the zone of a name-server, this means the server can resolve the domain-name directly, in other words it doesn't have to propagate the request to the next level. Imagine for example host H3 is issuing DNS-requests to DNS3. We say that the probability (Pz) of that request being in DNS3's zone is 17% when the expected number of requests DNS3 can resolve directly is 0.17 of the total number of requests. This in turn means that 0.83 of all the requests to DNS3 have to be propagated to DNS2. Furthermore, DNS2 and DNS3 perform caching. If for example the hit- rate of a certain cache (denoted CHR) is 1/10, this means that on the average, 1 in 10 requests can be resolved from that server's cache (the other 9 have to be resolved by propagation). Consider the table containing the probabilities and CHRs for the three name-servers. What is the overall average RTT for domain-name lookups, if RTT1, RTT2 and RTT3 denote the round-trip time from Hx to servers DNS1, DNS2 and DNS3 respectively? Server Pz CHR DNS1 100% - DNS2 43% 2/7 DNS3 17% 4/5

19 Solution Suppose 100 requests are sent to DNS3, consider the following: Of the 100 requests, how many will be resolved at server DNS3? n3 = 17 + (4/5) (100-17) = (1) Of the 100 requests, how many will be resolved at DNS2? Here we need to remember, that out of the 100 original packets, only some will be propagated to DNS2: i2 = (100 - n3) = 16.6 where i2 is the number of requests propagated to DNS2. The number of requests found in DNS2 zone out of the i2 packets: z2= i2 *(43/100) = 7.138 The number of requests resolved at DNS2 can now be calculated as follows: n2 = z2 + (2/7)*(i2-z2) = (2/7) * ( ) =9.84 (2) Since DNS1 has Pz = 100%, all the remaining packets will be resolved at DNS1, namely: n1 = i1 = n3 - n2 (3) Now we can calculate the weighted-average of the total RTT: RTT =(1/100)* (RTT1*n1 + RTT2*n2 + RTT3* n3) (4)


Download ppt "Introduction to Communication Networks"

Similar presentations


Ads by Google