1 / 44

Today’s Topics*

Today’s Topics*. ICMP DHCP Domain Naming DNS Byte ordering. * Based in part on slides by Paul D. Paulson. Error detection. IP provides best-effort delivery Internet layer can detect a variety of errors: Checksum TTL expires No route to destination network

anne-hays
Download Presentation

Today’s Topics*

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. Today’s Topics* • ICMP • DHCP • Domain Naming • DNS • Byte ordering * Based in part on slides by Paul D. Paulson.

  2. Error detection • IP provides best-effort delivery • Internet layer can detect a variety of errors: • Checksum • TTL expires • No route to destination network • Can't deliver to destination host (e.g., no ARP reply) • Internet layer discards datagrams with certain types of problems

  3. ICMP • Some types of errors can be detected and reported • Internet Control Message Protocol (ICMP) provides error-reporting mechanisms • Router sends control message back to source • Encapsulated in IP datagram • Contains coded information about the type of problem

  4. ICMP Header Example • Type3 • Code0 = net unreachable 1 = host unreachable 2 = protocol unreachable 3 = port unreachable 4 = fragmentation needed and DF set 5 = source route failed • Checksum • the 16-bit one's complement of the one's complement sum of the ICMP message starting with the ICMP Type. • Original IP Header + 64 bits of Data Datagram • IP header is at least 20 bytes. • Remainder is used by host to match message to appropriate process.

  5. ICMP message types

  6. Types of messages • Internet Control Message Protocol (ICMP) defines 2 classes of messages • error messages • informational messages

  7. Error message examples • Destination unreachable • router sends when it determines that a datagram cannot be delivered to its final destination • Fragmentation required • Router sends when it determines datagram is too large for outbound network • Time exceeded • message is sent in two cases • router sends when the TTL is reduced to zero • destination host sends when the reassembly timer expires before all fragments arrive.

  8. Informational messages • Echo request/reply • Sent to ICMP software on any computer • In response to a request, the ICMP software is required to send an ICMP echo reply message. • Address mask request/reply • Broadcast when a host boots • Router replies with the mask used in that subnet • Router path MTU discovery • Distributed path discovery

  9. ICMP Applications • ping • echo • traceroute • Discovery • path, MTU, etc. • etc.

  10. Reachability • An internet host, A, is reachable from another host, B, if datagrams can be delivered from A to B • ping program tests reachability - sends datagram from B to A and A echoes it back to B • Uses ICMP “echo request” and “echo reply” messages • Internet layer includes code to reply to incoming ICMP “echo request” messages • Does not have to go to application layer / port

  11. traceroute • Uses UDP with TTL field set and sends to a non-existent port • Finds route via expanding ringsearch • Sends ICMP “echo” messages with increasing TTL • Router that decrements TTL to 0 sends ICMP “time exceeded” ICMP message, with router's address as source address

  12. Expanding ring search • First datagram • TTL = 1 • gets to first router • is discarded and ICMP “time exceeded” message is returned • Next datagram • TTL = 2 • gets through first router to second router • is discarded and ICMP “time exceeded” message is returned • Continue until message from destination received

  13. ”Path MTU” discovery • Fragmentation should be avoided if possible • Source can determine path MTU - smallest MTU on path from source to destination • Probes path using IP datagrams with don't fragment flag set • Router responds with ICMP “fragmentation required” message • Source sends smaller probes until destination reached

  14. Today’s Topics • ICMP • DHCP • Domain Naming • DNS • Byte ordering

  15. IP addresses: how to get one? Q: How does a host get IP address? • hard-coded by system admin in a file • Windows: control-panel->network->configuration->tcp/ip->properties • UNIX: /etc/rc.config • DHCP:Dynamic Host Configuration Protocol: dynamically get address from as server • “plug-and-play”

  16. DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network Can renew its lease on address in use Allows reuse of addresses (only hold address while connected an “on”) Support for mobile users who want to join network (more shortly) DHCP overview: • host broadcasts “DHCP discover” msg • DHCP server responds with “DHCP offer” msg • host requests IP address: “DHCP request” msg • DHCP server sends address: “DHCP ack” msg

  17. E B A DHCP client-server scenario 223.1.2.1 DHCP 223.1.1.1 server 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 arriving DHCP client needs address in this network 223.1.1.3 223.1.3.27 223.1.3.2 223.1.3.1

  18. DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 DHCP client-server scenario arriving client DHCP server: 223.1.2.5 yiaddr is “your internet address” DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs time DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs

  19. Today’s Topics • ICMP • DHCP • Domain Naming • DNS • Byte ordering

  20. The need for naming • IP assigns 32-bit addresses to host interfaces • All applications use IP addresses through the TCP/IP protocol software • Binary addresses easy for computers to manage • … but difficult for humans to remember: • E.G.: telnet 134.82.11.70

  21. The Domain Name System • The computer needs 32-bit binary addresses • Humans "need" mnemonics • DNS provides translation between symbolic names and IP addresses

  22. Structure of DNS names • Each name consists of a sequence of alphanumeric components separated by periods • Examples: • comcast.com • www.oregonstate.edu • www.cnn.com • classes.engr.oregonstate.edu • Note: There is not a correspondence between the DNS name components and the fields of an IP address (dotted decimal notation)

  23. Structure of DNS names • Names are hierarchical, with most significant component on the right • Top-Level Domain (TLD) • Second from right is the domain name within the TLD • Approved by a global authority

  24. Structure of DNS names • Other names may be added by the organization that owns the name • hierarchical structure • Left-most component is computer name • NOTE: www does not necessarily imply web services. • It’s just a computer name in a domain.

  25. Structure of DNS names • Organizations apply for names in a TLD. E.G.: • oregonstate.edu • mozilla.com • Organizations determine own internal structure. E.G.: • eecs.oregonstate.edu • classes.eecs.oregonstate.edu • www.mozilla.com • en-US.www.mozilla.com

  26. Top-level domains (TLD)

  27. Geographic structurehttp://www.iana.org/cctld/cctld-whois.htm • TLDs are USA-centric • Geographic TLDs (ccTLD) are used for organizations in other countries. Examples:

  28. Geographic structure • Countries define their own internal hierarchy: • .ac.jp and .edu.au are used for academic organizations in Japan and Australia, respectively

  29. Internal names • Authority for creating new subdomains is delegated to each domain • Administrator of oregonstate.edu has authority to create classes.engr.oregonstate.edu • does not have to contact any central naming authority

  30. Physical location • DNS domains are logical concepts and need not correspond to physical location of organizations • E.G.,chinatoday.com is hosted partly in Beijing, partly in San Francisco • Note: some countries sell domain names in their ccTLDs • e.g. www.verisign.tv

  31. Internet routers: Use IP addresses to forward/route datagrams (e.g., 123.14.44.2) People: Use names (e.g., www.amazon.com) Question: How to map between IP addresses and name ? Answer: DNS Domain Name System: distributed database: implemented in hierarchy of many name servers application-layer protocol: running at host, routers, & name servers to resolvenames (address/name translation) DNS: Domain Name System

  32. Why not centralize DNS? single point of failure traffic volume distant centralized database maintenance doesn’t scale! DNS services hostname to IP address translation Web server aliasing Canonical, alias names mail server aliasing load distribution replicated Web servers: set of IP addresses for one canonical name DNS

  33. Root DNS Servers org DNS servers edu DNS servers com DNS servers poly.edu DNS servers umass.edu DNS servers pbs.org DNS servers yahoo.com DNS servers amazon.com DNS servers Distributed, Hierarchical Database Client wants IP for www.amazon.com; 1st approx: • client queries a root server to find com DNS server • client queries com DNS server to get amazon.com DNS server • client queries amazon.com DNS server to get IP address for www.amazon.com

  34. contacted by local name server that can not resolve name DNS: Root name servers k RIPE London (also 16 other locations) a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) iAutonomica, Stockholm (plus 28 other locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 36 other locations) m WIDE Tokyo (also Seoul, Paris, SF) 13 root name servers worldwide b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA

  35. TLD and Authoritative Servers • Top-level domain (TLD) servers: • responsible for com, org, net, edu, etc, and all top-level country domains uk, fr, ca, jp. • Network Solutions maintains servers for 'com' TLD • Authoritative DNS servers: • organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web, mail). • can be maintained by organization or service provider

  36. Local Name Server • does not strictly belong to hierarchy • each ISP (residential ISP, company, university) has one. • also called “default name server” • when host makes DNS query, query is sent to its local DNS server • acts as proxy, forwards query into hierarchy

  37. Host at eecs.oregonstate.edu wants IP address for gaia.cs.umass.edu local DNS server dns1.oregonstate.edu DNS name resolution exampleiterated query: root DNS server 2 3 TLD DNS server 4 5 6 7 • Each server replies with name of server to contact 1 8 authoritative DNS server dns.cs.umass.edu requesting host eecs.oregonstate.edu gaia.cs.umass.edu

  38. root DNS server 2 3 6 7 TLD DNS server 4 local DNS server dns1.oregonstate.edu 5 1 8 authoritative DNS server dns.cs.umass.edu requesting host eecs.oregonstate.edu gaia.cs.umass.edu DNS name resolution examplerecursive query: • puts burden of name resolution on contacted name server • heavy load?

  39. name servers cache mappings as they learn them cache entries timeout (disappear) after some time TLD servers typically cached in local name servers Thus root name servers not often visited DNS: caching and updating records

  40. Today’s Topics • ICMP • DHCP • Domain Naming • DNS • Byte ordering

  41. Byte-ordering • In all modern computer architectures, strings are stored in contiguous memory addresses in byte (character) order • However … storage of numeric values is architecture dependent • 16-bit integer (2 bytes) • 32-bit integer (4 bytes) • etc. • Different architectures store numeric values in different byte order

  42. Big-endian, Little-endian • Big-endian • Numeric (multi-byte) values are stored in "normal" byte order • most significant byte first • Example: Decimal 1523 = 05F3 (hex) Big-endian byte order is 05 F3 • Little-endian • Numeric (multi-byte) values are stored in "reverse" byte order • least significant byte first • Example: Decimal 1523 = 05F3 (hex) Little-endian byte order is F3 05 • NOTE: this refers to byte-order, NOT to the order of bits within the bytes.

  43. Big-endian, Little-endian • Example: 32-bit dotted-decimal 128.193.35.203 = 80C123CB (hex) Big-endian byte order is 80 C1 23 CB Little-endian byte order is CB 23 C1 80

  44. Big-endian, Little-endian • Intel architectures use little-endian • Sparc, Solaris (and other) architectures use big-endian • Problem with communication among various architectures. • Data sent over a network is a sequence of bytes (characters, integers, etc.) • Network order is always Big-endian

More Related