1 / 14

CS 5565 Network Architecture and Protocols

CS 5565 Network Architecture and Protocols. Godmar Back. Lecture 13. Announcements. Problem Set 1 was due today Late days can be used Project 1A due Feb 22 11:59pm Make sure you ask questions about concurrency facilities if you have any Problem Set 2 due Mar 4 12:20pm.

tarae
Download Presentation

CS 5565 Network Architecture and Protocols

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. CS 5565Network Architecture and Protocols Godmar Back Lecture 13

  2. Announcements • Problem Set 1 was due today • Late days can be used • Project 1A due Feb 22 11:59pm • Make sure you ask questions about concurrency facilities if you have any • Problem Set 2 due Mar 4 12:20pm CS 5565 Spring 2006

  3. Layering in Project 1 create layer instance dl_client dl_server • Encapsulation: • application layer does not see UDP • your transport layer doesn’t know anything about file transfer • Two implementations of “your layer”: A and B • Could be two subclasses of abstract class; or two object (.o) modules providing different implementations application layer ? ? ? your transport layer UDP sendto/recvfrom socket CS 5565 Spring 2006

  4. UDP & Socket Programming

  5. UDP Sockets: Summary socket() socket() connect()(optional) bind() send() acts like sendto() recvfrom() recv() acts like recvfrom() sendto() CS 5565 Spring 2006

  6. S: 10.0.0.2:3045D: 10.0.0.1:80 sendto(10.0.0.1:80) Payload socket() bind(*, 80) socket() S: 10.0.0.1:80 S: 10.0.0.2:3045 S: 10.0.0.2:??? recvfrom(&from)from:10.0.0.2:3045 S: 10.0.0.3:512D: 10.0.0.1:80 Payload recvfrom(&from)from:10.0.0.3:512 S: 10.0.0.1:53 S: 10.0.0.3:512 recvfrom(&from)from:10.0.0.3:512 bind(*, 53) S: 10.0.0.3:512D: 10.0.0.1:53 Payload bind(10.0.0.3,512) UDP Demultiplexing 10.0.0.1 10.0.0.2 10.0.0.3 CS 5565 Spring 2006

  7. Application Protocols Part 2: DNS continued

  8. Why not centralize DNS? single point of failure traffic volume distant centralized database maintenance doesn’t scale! DNS services Hostname to IP address translation Host aliasing Canonical and alias names Mail server aliasing Load distribution Replicated Web servers: set of IP addresses for one canonical name DNS CS 5565 Spring 2006

  9. Resource Types CS 5565 Spring 2006

  10. Caching and Local Name Servers • Q: do we want every (of the 280 million) Internet hosts be contacting a dozen or so root servers all the time? • A: No. Caching is needed • Local Name Servers bundle queries by clients they serve and cache their results CS 5565 Spring 2006

  11. Local Name Server • Does not strictly belong to hierarchy • When a host makes a DNS query, query is sent to its local DNS server • Acts as a proxy, forwards query into hierarchy. • Each ISP (residential ISP, company, university) has one (or more.) • Also called “default name server” or resolver • Contacted by resolver library (libresolv.so, or part of libc – provides such functions as gethostbyname(), getaddrinfo() etc. – more on this later CS 5565 Spring 2006

  12. Once (any) name server learns mapping, it caches mapping cache entries time out (disappear) after some time 86,400 seconds per day TLD servers typically cached in local name servers Thus root name servers not often visited Aside: Local Name Server crucial resource Proper cache management required See Bernstein’s comments on caching in BIND (Berkeley Internet Name Domain) Caching Records CS 5565 Spring 2006

  13. DNS Protocol: Query Types • Possible constellations: • Client’s resolver library talks to local name server • Local name server talks to other name servers: root server, TLD servers, … • Beauty of DNS Protocol: same protocol can be used for either constellation • Uses two query types • Recursive: “please resolve this name for me and send me the result” • Good for client, harder for server • Iterated: “please tell me what you know about the name – partial resolution is okay, I’ll ask the next server in hierarchy” • Easy for server, harder for client CS 5565 Spring 2006

  14. Host at gback.cs.vt.edu wants IP address for godmar.stanford.edu Sends recursive query to voodoo Voodoo performs iterative queries local DNS server voodoo.slo.cs.vt.edu root DNS server a.root-servers.net Recursive vs. Iterative Queries 2 TLD DNS server a3.nstld.com 3 4 5 6 7 1 8 authoritative DNS server Argus.stanford.edu requesting host gback.cs.vt.edu godmar.stanford.edu CS 5565 Spring 2006

More Related