CSE 524: Lecture 5 Application layer protocols. Where we’re at… ● Internet architecture and history ● Internet protocols in practice ● Application layer.

Slides:



Advertisements
Similar presentations
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Advertisements

 This Class  Chapter 9  Next Class  Wrap up this semester  Demo/discuss programming assignments  Review what we have learned  Questionnaire/Feedback.
Domain Name System (or Service) (DNS) Computer Networks Computer Networks Term B10.
1 Computer Networks Application layer. 2 Application Layer So far –Socket programming, Network API Today –Application layer functions –Specific applications.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Domain Name System (or Service) (DNS) Computer Networks Computer Networks Spring 2012 Spring 2012.
EEC-484/584 Computer Networks Lecture 5 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
2: Application Layer1 FTP, SMTP and DNS. 2: Application Layer2 FTP: separate control, data connections r FTP client contacts FTP server at port 21, specifying.
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts, routers: –IP address (32 bit) - used for addressing datagrams –“name”, e.g., gaia.cs.umass.edu.
1 K. Salah Module 2.2: Domain Name System IP assigns 32-bit addresses to hosts (interfaces) –Binary addresses easy for computers to manage –All applications.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
Application Layer session 1 TELE3118: Network Technologies Week 12: DNS Some slides have been taken from: r Computer Networking: A Top Down Approach.
1 Lecture #1 DNS: Domain Name System HAIT Summer 2005 Shimrit Tzur-David.
1 An Overview of Applications Xin Liu ECS 152A Ref: slides by J. Kurose and K. Ross.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Domain.
Name Resolution and DNS. Domain names and IP addresses r People prefer to use easy-to-remember names instead of IP addresses r Domain names are alphanumeric.
CS640: Computer Networks Aditya Akella Lecture 17 Naming and the DNS.
Chapter 2 Application Layer
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
CS 4396 Computer Networks Lab
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts: – IP address (32 bit) - used for addressing datagrams – “name”, e.g.,
Domain Name System (DNS)
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
TELE 301 Lecture 11: DNS 1 Overview Last Lecture –Scheduled tasks and log management This Lecture –DNS Next Lecture –Address assignment (DHCP)
Ch-9: NAME SERVICES By Srinivasa R. Gudipati. To be discussed.. Fundamentals of Naming Services Naming Resolution The Domain Name System (DNS) Directory.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Computer Networks Mozafar Bag-Mohammadi Lecture 5 Naming and the DNS.
CS 471/571 Domain Name Server Slides from Kurose and Ross.
Domain names and IP addresses Resolver and name server DNS Name hierarchy Domain name system Domain names Top-level domains Hierarchy of name servers.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
DNS: Domain Name System
1 DNS: Domain Name System People: many identifiers: m SSN, name, Passport # Internet hosts, routers: m IP address (32 bit) - used for addressing datagrams.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams.
25.1 Chapter 25 Domain Name System Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
1 CSE 524: Lecture 15 Application layer (Part 2).
Naming and the DNS. Names and Addresses  Names are identifiers for objects/services (high level)  Addresses are locators for objects/services (low level)
Internet and Intranet Protocols and Applications Lecture 5 Application Protocols: DNS February 20, 2002 Joseph Conron Computer Science Department New York.
2: Application Layer1 DNS: Domain Name System People have many identifiers: SSN, name, passport number Internet hosts, routers have identifiers, too: IP.
CPSC 441: DNS 1. DNS: Domain Name System Internet hosts: m IP address (32 bit) - used for addressing datagrams m “name”, e.g., - used by.
Content distribution networks (CDNs) r The content providers are the CDN customers. Content replication r CDN company installs hundreds of CDN servers.
CS 3830 Day 10 Introduction 1-1. Announcements r Quiz #2 this Friday r Program 2 posted yesterday 2: Application Layer 2.
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
Lecture 5: Web Continued 2-1. Outline  Network basics:  HTTP protocols  Studies on HTTP performance from different views:  Browser types [NSDI 2014]
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
1 Kyung Hee University Chapter 19 DNS (Domain Name System)
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Web Server Administration Chapter 4 Name Resolution.
1. Internet hosts:  IP address (32 bit) - used for addressing datagrams  “name”, e.g., ww.yahoo.com - used by humans DNS: provides translation between.
COMP 431 Internet Services & Protocols
Application Layer, 2.5 DNS 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
CSEN 404 Application Layer II Amr El Mougy Lamia Al Badrawy.
Spring 2006 CPE : Application Layer_DNS 1 Special Topics in Computer Engineering Application layer: Domain Name System Some of these Slides are.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Introduction to Networks
Session 6 INST 346 Technologies, Infrastructure and Architecture
Chapter 9: Domain Name Servers
Introduction to Communication Networks
Cookies, Web Cache & DNS Dr. Adil Yousif.
EE 122: Domain Name Server (DNS)
DNS: Domain Name System
FTP, SMTP and DNS 2: Application Layer.
Presentation transcript:

CSE 524: Lecture 5 Application layer protocols

Where we’re at… ● Internet architecture and history ● Internet protocols in practice ● Application layer – Overview and functions – Network programming interface – Specific application protocols ● HTTP ● DNS, SMTP/POP, FTP ● Transport layer ● Network layer ● Data-link layer ● Physical layer

AL: Web Caches (proxy server) user sets browser: Web accesses via web cache client sends all http requests to web cache –if object at web cache, web cache immediately returns object in http response –else requests object from origin server, then returns http response to client Internet dense with caches enables “poor” content providers to effectively deliver content Goal: satisfy client request without involving origin server client Proxy server client http request http response http request http response http request http response origin server origin server

AL: More about Web caching ● Cache acts as both client to content servers ● Cache acts as server to its users ● Typically installed by ISP (university, company, residential ISP) ● Cache can do up-to-date check using If-modified-since HTTP header – Issue: should cache take risk and deliver cached object without checking? – Heuristics are used.

AL: Benefits of web caches Assume: cache is “close” to client (e.g., in same network) smaller response time: cache “closer” to client decrease traffic to distant servers –link out of institutional/local ISP network often bottleneck Further info on web caching – – –ICP origin servers public Internet institutional network 10 Mbps LAN 1.5 Mbps access link institutional cache

AL: Content distribution networks (CDNs) The content providers are the CDN customers. Content replication CDN company installs hundreds of CDN servers throughout Internet –in lower-tier ISPs, close to users CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers origin server in North America CDN distribution node CDN server in S. America CDN server in Europe CDN server in Asia

CDN example origin server distributes HTML Replaces: with h ttp:// HTTP request for DNS query for HTTP request for Origin server CDNs authoritative DNS server Nearby CDN server CDN company cdn.com distributes gif files uses its authoritative DNS server to route redirect requests

More about CDNs routing requests CDN creates a “map”, indicating distances from leaf ISPs and CDN nodes when query arrives at authoritative DNS server: – server determines ISP from which query originates –uses “map” to determine best CDN server not just Web pages streaming stored audio/video streaming real-time audio/video –CDN nodes create application-layer multicast overlay network

AL: Domain Name System (DNS) ● Internet hosts, routers like to use fixed-length addresses (numbers) – IP address (32 bit) - used for addressing datagrams ● Humans like to use variable-length names – – keywords ● DNS, keywords, naming protocols – Map from IP addresses to names – Map from names to IP addresses

AL: Original Name to Address Mapping ● Flat namespace – /etc/hosts – SRI kept main copy – Downloaded regularly ● Problems – Count of hosts was increasing: machine per domain  machine per user ● Many more downloads ● Many more updates

AL: Goals for a new naming system ● Implement a wide area distributed database – Scalability – Decentralized maintenance – Robustness, fault-tolerance – Global scope ● Names mean the same thing everywhere – Don’t need ● Atomicity ● Strong consistency

AL: Goals for a new naming system Why not centralize DNS? ● Single server with all name-to-IP address mappings – single point of failure – traffic volume – distant centralized database (performance) – maintenance – doesn’t scale!

AL: DNS (Domain Name System) ● ● ● distributed database implemented in hierarchy of many name servers ● decentralized control and management of data ● application-layer protocol used by hosts and name servers – communicate to resolve names (address/name translation) – core Internet function implemented as application-layer protocol ● complexity at network’s “edge” ● compare to phone network – Naming (none supported) – Addressing (complex mechanism within network)

AL: DNS nutshell solution ● Hierarchical canonical name space – root edu net org uk com ca gwu ucb ogi bu mit cse ece www

AL: DNS nutshell solution ● Authoritative name servers store parts of the database – Names assigned to authoritative name servers ● For a host, authority stores that host’s IP address, name ● Responds to queries for host’s IP address ● Perform name/address translation for that host’s name – Root name server knows authoritative servers for particular subdomains ● Hierarchy organizes authoritative name servers ● Reserving a domain gives you control of entry in root name server for particular names ● DNS hierarchical lookup – Each host has a pointer to a local name server for which to query for unknown names – Each local name server knows root of hierarchy – Root points to sub-levels, sub-levels point to deeper sub-levels, …, deeper sub-levels point to leaf name server representing authority for unknown name

AL: DNS nutshell figure Root name servers: may not know authoratiative name server may know intermediate name server: who to contact to find authoritative name server multiple root name servers for fault- tolerance Example: surf.eurecom.fr wants to talk to gaia.cs.umass.edu –contact local dns server –local dns contacts root –root contacts authoritative (or next level to authoritative) requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8

AL: DNS: Root name servers contacted by local name server that can not resolve any part of the name root name server: –contacts authoritative name server if name mapping not known –gets mapping –returns mapping to local name server b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA i NORDUnet Stockholm k RIPE London m WIDE Tokyo a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA 13 root name servers worldwide (all that fit in a 512 octet SOA record)

AL: DNS server name database ● DB contains tuples called resource records (RRs) – RR contains type, class and application data ● Before types added, only one record type (A) – Classes = Internet (IN), Chaosnet (CH), etc. – Each class defines types, e.g. for IN: ● A = address ● NS = name server ● CNAME = canonical name (for aliasing) ● HINFO = CPU/OS info ● MX = mail exchange ● PTR = pointer for reverse mapping of address to name ● nslookup example

AL: DNS record types Resource records (RR) and their types Type=NS – name is domain (e.g. foo.com) – value is IP address of authoritative name server for this domain RR format: (name, value, type,ttl) Type=A – name is hostname – value is IP address Type= CNAME – name is an alias name for some “cannonical” (the real) name – value is cannonical name Type=MX – value is hostname of mailserver associated with name

AL: DNS MX record type ● MX records point to mail exchanger for a name – E.g. mail.acm.org is MX for acm.org ● Addition of MX record type proved to be a challenge – How to get mail programs to lookup MX record for mail delivery rather than A record? – Needed critical mass of such mailers

AL: DNS server database distribution ● Administrative hierarchy – Organized into regions known as “zones” – “.” as separator – zone = contiguous section of name space ● Zones created by convincing owner node to delegate a subzone – umass.edu zone delegates cs.umass.edu to a different set of authoritative name servers – Each zone contains multiple redundant servers ● Primary (master) name server updated manually ● Secondary (redundant) servers updated by zone transfer of name space ● Provides fault-tolerance within zone ● Host name to address section – Top-level domains  edu, gov, ca, us, etc. – Sub-domains = subtrees – Human readable name = leaf  root path

AL: DNS client lookups ● Each host has a resolver – Typically a library that applications can link gethostbyname() – Local name servers hand-configured (e.g. /etc/resolv.conf) or automatically configured (DHCP) ● Can specify a file /etc/hosts ● Can specify a name server by its IP address (i.e ) – Host queries local name server for unknown names ● Name servers – Configured with well-known root servers ● Currently {a-m}.root-servers.net – Local servers ● Typically answer queries about local zone ● Typically do a lookup of distant host names for local hosts

AL: Lookup Methods ● Recursive queries – Server goes out and searches for more info on behalf of the client (recursive) – Only returns final answer or “not found” ● Iterative – Server responds with as much as it knows (i.e. name of server to contact next) – Client iteratively queries additional servers

AL: All recursive DNS example host surf.eurecom.fr wants IP address of gaia.cs.umass.edu 1. Contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts root name server, if necessary 3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host surf.eurecom.fr gaia.cs.umass.edu root name server authorititive name server dns.umass.edu local name server dns.eurecom.fr

AL: DNS: iterated queries ● recursive query: – puts burden of name resolution on contacted name server – heavy load? – root servers now disable recursive queries (RFC 2010) ● iterated query: – contacted server replies with name of server to contact – “I don’t know this name, but ask this server” requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8 iterated query

AL: Typical Resolution ● Client does recursive request to local name server ● Local name server does iterative requests to find name ● Local name server has knowledge of root servers ● Steps for resolving – Application calls gethostbyname() – Resolver contacts local name server (S 1 ) – S 1 queries root server (S 2 ) for ( – S 2 returns NS record for ogi.edu (S 3 ) – S 1 queries S 3 for – S 3 returns A record for ● Can return multiple addresses -> what does this mean?

AL: DNS Caching ● DNS responses are cached – Quick response for repeated translations – Other queries may reuse some parts of lookup ● NS records for domains ● DNS negative queries are also cached – Don’t have to repeat past mistakes – E.g. misspellings ● Cached data periodically times out – Soft state – Lifetime (TTL) of data controlled by owner of data – TTL passed with every record – TTL affects DNS-based load balancing techniques ● update/notify mechanisms under design by IETF – RFC 2136 –

AL: DNS Lookup Caching Example Client Local DNS server root & edu DNS server ogi.edu DNS server NS ogi.edu NS cse.ogi.edu www=IPaddr cse.ogi.edu DNS server

AL: Subsequent Lookup Example Client Local DNS server root & edu DNS server ogi.edu DNS server cse.ogi.edu DNS server ftp.cse.ogi.edu ftp=IPaddr ftp.cse.ogi.edu cse.ogi.edu entry cached