1 / 17

10. DNS, HTTP, Unix Socket Programming

10. DNS, HTTP, Unix Socket Programming. DNS (Domain Name Service) Domain Name Name Resolution HTTP (Hyper Text Transfer Protocol) Request Response Persistent Connection Socket Programming API. DNS Overview. Attributes of an object name address itself Name space

samson
Télécharger la présentation

10. DNS, HTTP, Unix Socket Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10. DNS, HTTP,Unix Socket Programming DNS (Domain Name Service) Domain Name Name Resolution HTTP (Hyper Text Transfer Protocol) Request Response Persistent Connection Socket Programming API

  2. DNS Overview • Attributes of an object • name • address • itself • Name space • defines set of possible names • consists of a set of name to value bindings

  3. Properties • Names versus addresses • Location transparent versus location-dependent • Flat versus hierarchical • Global versus local • Absolute versus relative • Unique versus ambiguous

  4. Examples • Hosts cheltenham.cs.princeton.edu 192.12.69.17 192.12.69.17 80:23:A8:33:5B:9F • Files /usr/llp/tmp/foo (server, fileid) • Users Larry Peterson llp@cs.princeton.edu

  5. User 1 2 user @ cs.princeton.edu cs.princeton.edu Name Mail server program 4 192.12.69.5 192.12.69.5 3 TCP 192.12.69.5 5 IP Examples (cont) • Mailboxes • Services nearby ps printer with short queue and 2MB

  6. Domain Naming System • Hierarchy • Name chinstrap.cs.princeton.edu

  7. Root name server … Princeton Cisco name server name server … CS EE name server name server Name Servers • Partition hierarchy into zones edu com gov mil org net uk fr … … … … … princeton mit cisco yahoo nasa nsf arpa navy acm ieee cs ee physics ux01 ux04 • Each zone implemented by two or more name servers

  8. Resource Records • Each name server maintains a collection of resource records (Name, Value, Type, Class, TTL) • Name/Value: not necessarily host names to IP addresses • Type • NS: Value gives domain name for host running name server that knows how to resolve names within specified domain. • CNAME: Value gives canonical name for particle host; used to define aliases. • MX: Value gives domain name for host running mail server that accepts messages for specified domain. • Class: allow other entities to define types • TTL: how long the resource record is valid

  9. Root Server (princeton.edu, cit.princeton.edu, NS, IN) (cit.princeton.edu, 128.196.128.233, A, IN) (cisco.com, thumper.cisco.com, NS, IN) (thumper.ciscoe.com, 128.96.32.20, A, IN) …

  10. Princeton Server (cs.princeton.edu, optima.cs.princeton.edu, NS, IN) (optima.cs.princeton.edu, 192.12.69.5, A, IN) (ee.princeton.edu, helios.ee.princeton.edu, NS, IN) (helios.ee.princeton.edu, 128.196.28.166, A, IN) (jupiter.physics.princeton.edu, 128.196.4.1, A, IN) (saturn.physics.princeton.edu, 128.196.4.2, A, IN) (mars.physics.princeton.edu, 128.196.4.3, A, IN) (venus.physics.princeton.edu, 128.196.4.4, A, IN)

  11. CS Server (cs.princeton.edu, optima.cs.princeton.edu, MX, IN) (cheltenham.cs.princeton.edu, 192.12.69.60, A, IN) (che.cs.princeton.edu, cheltenham.cs.princeton.edu, CNAME, IN) (optima.cs.princeton.edu, 192.12.69.5, A, IN) (opt.cs.princeton.edu, optima.cs.princeton.edu, CNAME, IN) (baskerville.cs.princeton.edu, 192.12.69.35, A, IN) (bas.cs.princeton.edu, baskerville.cs.princeton.edu, CNAME, IN)

  12. Root 2 name server cicada.cs.princeton.edu 3 princeton.edu, 128.196.128.233 4 1 Local Princeton cicada.cs.princeton.edu cicada.cs.princeton.edu name name Client server server cs.princeton.edu, 192.12.69.5 192.12.69.60 8 5 cicada.cs.princeton.edu 192.12.69.60 cicada.cs.princeton.edu, 6 CS name server 7 Name Resolution • Strategies • iterative • recursive • Local server • need to know root at only one place (not each host) • site-wide cache

  13. HTTP • Message format: • Request START_LINE <CRLF> MESSAGE_HEADER <CRLF> <CRLF> MESSAGE_BODY <CRLF> GET http://www.cs.princeton.edu/index.html HTTP/1.0 GET /index.html HTTP/1.1 Host: www.cs.princeton.edu

  14. HTTP Methods in Request • GET: retrieve document • HEAD: retrieve meta-information • POST: give information to server • PUT: store document under specified URL • DELETE: delete specified URL • TRACE: loopback request message • CONNECT: for use by proxies • OPTIONS: request information about available options

  15. HTTP • Response HTTP/1.1 404 Not Found HTTP/1.1 200 OK Server: Netscape-Enterprise/4.1 Date: … Expires: … CONTENTS of the FILE

  16. HTTP • Persistent Connection in HTTP/1.1 • Image files • Cost of TCP connections • Persistent connection: KEEP-ALIVE

  17. Socket Programming API • Server Side (passive open) • Bind • Listen • Accept • Close • Client Side (active open) • Bind • Connect • Close

More Related