Lecture 26 Announcements: Final Exam is Wednesday, December 14, 8am10am. Review sheet is posted. Reminders: No class on Thursday. Work on final project. Homework 8 due next Tuesday at the beginning of class for final exam review. Final project due Friday, December 9. Questions? Tuesday, November 28 CS 475 Networks - Lecture 26 1 Outline Chapter 9 - Applications 9.1 Traditional Applications 9.2 Multimedia Applications 9.3 Infrastructure Services 9.4 Overlay Networks Tuesday, November 28 CS 475 Networks - Lecture 26 2 Infrastructure Services Some essential protocols do not fit into the layered networking model. These protocols are are necessary for the smooth running of the Internet. Two such protocols are: Domain Name System (DNS) for mapping host names to IP addresses Simple Network Management Protocol (SNMP) for managing network infrastructure Tuesday, November 28 CS 475 Networks - Lecture 26 3 Name Service (DNS) All IP packets contain source and destination IP addresses (32 bit binary numbers). Host names however are much more user-friendly than IP addresses. Originally name-to-address bindings were contained in a file called hosts.txt that was maintained by the Network Information Center (NIC). The Domain Name System (DNS) was introduced in the 1980's. Tuesday, November 28 CS 475 Networks - Lecture 26 4 Name Service (DNS) Typically a user gives an application a host name. The application calls name resolution routines to translate the name to an IP address. The application then opens a connection to the destination using the IP address. Tuesday, November 28 CS 475 Networks - Lecture 26 5 Name Service (DNS) Domain Hierarchy DNS uses a hierarchical namespace. Names are processed from right to left and use a period as a separator. Domain Hierarchy Tuesday, November 28 CS 475 Networks - Lecture 26 6 Name Service (DNS) Name Servers The name hierarchy is partitioned into subtrees called zones. The top-level zone is managed by the Internet Corporation for Assigned Names and Numbers (ICANN). Zones Contain Name Servers Tuesday, November 28 CS 475 Networks - Lecture 26 7 Name Service (DNS) Name Servers Zones contain two or more (for redundancy) name servers. Name servers contain all of the information for the corresponding zone. Each name server runs a program (BIND or Microsoft DNS for example) that is accessed over the Internet. DNS clients send queries to name servers. The server can respond with either the requested information or a pointer to another DNS server. Tuesday, November 28 CS 475 Networks - Lecture 26 8 Name Service (DNS) Name Servers DNS viewed (more accurately) as a hierarchy of name servers Tuesday, November 28 CS 475 Networks - Lecture 26 9 Name Service (DNS) Name Servers DNS entries are a 5-tuple known as a resource record: <Name, Value, Type, Class, TTL> The Name is the host name. The Value depends on the Type. If Type=A, Value is the IP address. If Type=NS, Value contains the name of a name server that can answer the query. If Type=CNAME, Value is an alias. If Type=MX, Value contains the name of the mail server for the domain. Tuesday, November 28 CS 475 Networks - Lecture 26 10 Name Service (DNS) Name Servers The Class field was intended to allow other than Internet related entries. The only widely used Class is IN. The TTL is used by servers that cache resource records. The server should purge the record from the cache when the TTL expires. Tuesday, November 28 CS 475 Networks - Lecture 26 11 Name Service (DNS) Name Servers A root name server would contain NS and A records for all top-level domains (TLDs): <edu, a3.nstld.com, NS, IN> <a3.nstld.com, 192.5.6.32, A, IN> <com, a.gtld-servers.net, NS, IN> <a.gtld-servers.net, 192.5.6.30, A, IN> (For simplicity the TTL field is omitted in the examples.) Tuesday, November 28 CS 475 Networks - Lecture 26 12 Name Service (DNS) Name Servers A TLD server (for the EDU domain for example) would contain entries of the form: <bigu.edu, dns.bigu.edu, NS, IN> <dns.bigu.edu, 128.112.129.15, A, IN> <evansville.edu, ns1.evansville.edu, NS, IN> <ns1.evansville.edu, 208.94.148.4, A, IN> Tuesday, November 28 CS 475 Networks - Lecture 26 13 Name Service (DNS) Name Servers The bigu.edu name server might contain entries of the form: <bigu.edu, email.bigu.edu, MX, IN> <email.bigu.edu, 128.112.198.35, A, IN> <www.bigu.edu, webserver.bigu.edu,CNAME,IN> <webserver.bigu.edu, 128.112.198.40,A,IN> <cs.bigu.edu,dns1.cs.bigu.ednu,NS,IN> <dns1.cs.bigu.edu, 128.112.136.10, A, IN> Tuesday, November 28 CS 475 Networks - Lecture 26 14 Name Service (DNS) Name Servers Similarly a departmental level name server might contain entries of the form: <pluto.cs.bigu.edu, 128.112.136.20, A, IN> <neptune.cs.bigu.edu, 128.112.136.21, A, IN> <cs.bigu.edu, mail.cs.bigu.edu, MX, IN> <mail.cs.bigu.edu, 128.112.136.72, A, IN> <www.cs.bigu.edu,core.cs.bigu.edu,CNAME,IN> <core.cs.bigu.edu, 128.112.136.35,A,IN> <cs.bigu.edu,dns1.cs.bigu.edu,NS,IN> <dns1.cs.bigu.edu, 128.112.136.10, A, IN> Tuesday, November 28 CS 475 Networks - Lecture 26 15 Name Service (DNS) Name Resolution If a client needs to resolve pluto.cs.bigu.edu, it could send a query to the root server. The root server would respond with the NS and A records of the edu name server. The client could then query the edu server which would respond with the NS and A records of the bigu server and so on, until the cs.bigu.edu server responds with the desired IP address. Tuesday, November 28 CS 475 Networks - Lecture 26 16 Name Service (DNS) Name Resolution In practice, a client queries a local name server first. The IP address of a local name server is configured manually or via DHCP. Local servers cache responses. This allows them to respond to future requests for information without going out on the network. (A client is usually configured with a default domain. The default domain is appended to simple names before the query goes out, e.g. csserver becomes csserver.evansville.edu.) Tuesday, November 28 CS 475 Networks - Lecture 26 17 Name Service (DNS) Name Resolution Tuesday, November 28 CS 475 Networks - Lecture 26 18 Network Management (SNMP) Managing even a moderately sized network is no easy task. The Simple Network Management Protocol (SNMP) allows a network administrator to read and write information to different network nodes. An SNMP server runs on each node and responds to requests from an SNMP client. Tuesday, November 28 CS 475 Networks - Lecture 26 19 Network Management (SNMP) SNMP can return information on the System (uptime, name), Interfaces (MAC addresses, packets transferred), ARP table, IP (routing table), TCP (number of connections, timeouts), UDP (number of datagrams). There are several commercial and open source network management clients that are available. Nagios is popular among the open source crowd. Tuesday, November 28 CS 475 Networks - Lecture 26 20 In-class Exercise Use the whois command to query the registration database for contact and name server information for the evansville.edu domain. Use the dig command to query DNS for the IP address of www.evansville.edu. Use dig to find the name and IP address of the mail server for the evansville.edu domain (query for the MX record). Tuesday, November 28 CS 475 Networks - Lecture 26 21