DOC PREVIEW
Yale CPSC 433 - Network Applications DNS, UDP Socket

This preview shows page 1-2-3-21-22-23-43-44-45 out of 45 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Network Applications: DNS, UDP Socket 1/24/20122 Outline Ø Recap ❒ DNS ❒ Network application programming: UDP3 Recap: The Big Picture of the Internet ❒ Hosts and routers: ❍ >850 mil. hosts (2011) ❍ organized roughly hierarchical ❍ backbone links 10~40Gbps ❒ Software: ❍ datagram switching with virtual circuit support at backbone ❍ layered network architecture • use end-to-end arguments to determine the services provided by each layer ❍ the hourglass architecture of the Internet IP Ethernet Cable/DSL Wireless TCP UDP Telnet Email FTP WWW SSL4 Protocol Formats5 Recap: Client-Server Paradigm application transport network data link physical application transport network data link physical request reply ❒ The basic paradigm of network applications is the client-server (C-S) paradigm ❍ a client/server is a process at a port number of a host ❒ Key design questions of a C-S application: ❍ protocol extensibility ❍ scalability ❍ robustness ❍ security6 Recap: Email App mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP POP3 or IMAP SMTP Some nice protocol extensibility design features • separate protocols for different functions • simple/basic (smtp) requests to implement basic control; fine-grain control through ASCII header and message body • status code in response makes message easy to parseScalability/Robustness ❒ High scalability and robustness fundamentally require multiple email servers to serve the same email address 7 client need a email server IP address mail server mail server mail server yale.edu yale.edu yale.edu 130.132.50.7 130.132.50.8 130.132.50.9 mapping8 Mapping Functions Design Alternatives ❒ Map from an email address server name to IP address of email server mapping'name (e.g., yale.edu) 1 IP mapping'multiple IPs mapping'multiple IPs name (e.g., yale.edu)9 Mapping Functions Design Alternatives load balancer switch mapping'name (e.g., yale.edu) 1 IP mapping'name (e.g., yale.edu) 1 IP10 DNS: Domain Name System ❒ Function ❍ map between (domain name, service) to value, e.g., • (www.cs.yale.edu, Addr) -> 128.36.229.30 • (cs.yale.edu, Email) -> netra.cs.yale.edu ❒ Many benefits of introducing the mapping routers DNS Hostname, Service Address servers clients11 Dummy Design ❒ DNS itself can be considered as a client-server system as well ❒ How about a dummy design: introducing one super Internet DNS server? THE DNS server of the Internet register <name> resolve <name> OK/used already IP address12 DNS: Distributed Management of the Domain Name Space ❒ A distributed database managed by authoritative name servers ❍ divided into zones, where each zone is a sub-tree of the global tree ❍ each zone has its own authoritative name servers ❍ an authoritative name server of a zone may delegate a subset (i.e. a sub-tree) of its zone to another name server called a zone13 Email Architecture + DNS mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP POP3 or IMAP SMTP DNS14 Root Zone and Root Servers ❒ The root zone is managed by the root name servers ❍ 13 root name servers worldwide See http://root-servers.org/ for more details15 Linking the Name Servers ❒ Each name server knows the addresses of the root servers ❒ Each name server knows the addresses of its immediate children (i.e., those it delegates) Top level domain (TLD) Q: how to query a hierarchy?16 DNS Message Flow: Two Types of Queries Recursive query: ❒ Puts burden of name resolution on contacted name server ❍ the contacted name server resolves the name completely Iterated query: ❒ Contacted server replies with name of server to contact ❍ “I don’t know this name, but ask this server”17 Two Extreme DNS Message Flows client cicada.cs.yale.edu root name server 1 2 3 authoritative name server 5 6 TLD name server 4 client cicada.cs.yale.edu root name server 1 6 2 authoritative name server 4 3 TLD name server 5 Issues of the two approaches?18 Typical DNS Message Flow: The Hybrid Case requesting host cyndra.cs.yale.edu gaia.cs.umass.edu root name server 1 2 3 4 authoritative name server dns.cs.umass.edu 5 6 TLD name server 7 8 iterated query local name server 130.132.1.9 • Host knows only local name server • Local name server is learned from DHCP, or configured, e.g. /etc/resolv.conf • Local DNS server helps clients resolve DNS names19 Typical DNS Message Flow: The Hybrid Case requesting host cyndra.cs.yale.edu gaia.cs.umass.edu root name server 1 2 3 4 authoritative name server dns.cs.umass.edu 5 6 TLD name server 7 8 iterated query local name server 130.132.1.9 • Host knows only local name server • Local name server is learned from DHCP, or configured, e.g. /etc/resolv.conf • Local DNS server helps clients resolve DNS names • Benefits of local name servers • simplifies client • caches results20 DNS Records DNS: distributed db storing resource records (RR) ❒ Type=NS ❍ name is domain (e.g. yale.edu) ❍ value is the name of the authoritative name server for this domain RR format: (name, type, value, ttl) ❒ Type=A ❍ name is hostname ❍ value is IP address ❒ Type=CNAME ❍ name is an alias name for some “canonical” (the real) name ❍ value is canonical name ❒ Type=MX ❍ value is hostname of mail server associated with name ❒ Type=SRV ❍ general extension21 DNS Protocol, Messages DNS protocol : typically over UDP (can use TCP); query and reply messages, both with the same message format DNS Msg header: ❒ identification: 16 bit # for query, the reply to a query uses the same # ❒ flags: ❍ query or reply ❍ recursion desired ❍ recursion available ❍ reply is authoritative22 Observing DNS ❒ Use the command dig: ❍ force iterated query to see the trace: %dig +trace www.cnn.com • see the manual for more details ❒ Capture the messages ❍ DNS server is at port 5323 Evaluation of DNS Key questions to ask about a C-S application - extensible? - scalable? - robust? - security?24 What DNS did Right? ❒ Hierarchical delegation avoids central control, improving manageability and scalability ❒ Redundant servers


View Full Document
Download Network Applications DNS, UDP Socket
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Network Applications DNS, UDP Socket and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Network Applications DNS, UDP Socket 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?