lectures9-10

advertisement
Today’s Topics*
 ICMP
 DHCP
 Domain Naming
 DNS
 Byte ordering
* Based in part on slides by Paul D. Paulson.
1
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
2
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

3
ICMP Header Example
 Type
 Code
3
0 = 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.
4
ICMP
message
types
5
Types of messages
 Internet Control Message Protocol (ICMP)
defines 2 classes of messages
error messages
 informational messages

6
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
1. router sends when the TTL is reduced to zero
2. destination host sends when the reassembly timer
expires before all fragments arrive.
7
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
8
ICMP Applications
 ping
 echo
 traceroute
 Discovery

path, MTU, etc.
 etc.
9
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
10
traceroute
 Uses UDP with TTL field set and sends to a
non-existent port
 Finds route via expanding ring search

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
11
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
12
”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

13
Today’s Topics
 ICMP
 DHCP
 Domain Naming
 DNS
 Byte ordering
14
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”

15
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
16
DHCP client-server scenario
A
B
223.1.2.1
DHCP
server
223.1.1.1
223.1.1.2
223.1.1.4
223.1.2.9
223.1.2.2
223.1.1.3
223.1.3.1
223.1.3.27
223.1.3.2
E
arriving DHCP
client needs
address in this
network
17
DHCP client-server scenario
DHCP server: 223.1.2.5
DHCP discover
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
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
arriving
client
yiaddr is “your
internet
address”
DHCP request
time
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
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
18
Today’s Topics
 ICMP
 DHCP
 Domain Naming
 DNS
 Byte ordering
19
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
20
The Domain Name System
 The computer needs 32-bit binary addresses
 Humans "need" mnemonics
 DNS provides translation between symbolic
names and IP addresses
21
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)
22
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
23
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.
24
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

25
Top-level
domains
(TLD)
26
Geographic structure
http://www.iana.org/cctld/cctld-whois.htm
 TLDs are USA-centric
 Geographic TLDs (ccTLD)
are used for organizations
in other countries.
Examples:
TLD Country
.uk
United Kingdom
.cn
China
.in
India
.jp
Japan
.pg
Papua New Guinea
.cl
Chile
.ke
Kenya
27
Geographic structure
 Countries define their own internal
hierarchy:
 .ac.jp and .edu.au are used for academic
organizations in Japan and Australia,
respectively
28
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
29
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
30
DNS: Domain Name System
Internet routers:
 Use IP addresses to
forward/route datagrams
(e.g., 123.14.44.2)
People:
 Use names
(e.g., www.amazon.com)
Question:
Domain Name System:
 distributed database:
implemented in hierarchy of
many name servers
 application-layer protocol:
running at host, routers, &
name servers to resolve
names (address/name
translation)
 How to map between IP
addresses and name ?
Answer:
 DNS
31
DNS
DNS services
 hostname to IP address
translation
 Web server aliasing

Canonical, alias names
 mail server aliasing
Why not centralize DNS?
 single point of failure
 traffic volume
 distant centralized database
 maintenance
doesn’t scale!
 load distribution

replicated Web servers:
set of IP addresses for
one canonical name
32
Distributed, Hierarchical Database
Root DNS Servers
com DNS servers
yahoo.com
DNS servers
amazon.com
DNS servers
org DNS servers
pbs.org
DNS servers
edu DNS servers
poly.edu
umass.edu
DNS servers DNS servers
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
33
DNS: Root name servers
 contacted by local name server that can not
resolve name
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)
e NASA Mt View, CA
f Internet Software C.
Palo Alto, CA (and 36
other locations)
k RIPE London (also 16 other locations)
i Autonomica, Stockholm
(plus 28 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
34
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
35
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
36
DNS name
resolution example
root DNS server
iterated query:
2
3
 Host at
eecs.oregonstate.edu
wants IP address for
gaia.cs.umass.edu
 Each server replies
with name of server
to contact
TLD DNS server
4
5
local DNS server
dns1.oregonstate.edu
1
8
requesting host
7
6
authoritative DNS server
dns.cs.umass.edu
eecs.oregonstate.edu
gaia.cs.umass.edu
37
DNS name
resolution example
recursive query:
 puts burden of
2
name resolution on
contacted name
server

heavy load?
root DNS
server
3
7
local DNS server
dns1.oregonstate.edu
1
6
TLD DNS
server
5
4
8
requesting host
authoritative DNS server
dns.cs.umass.edu
eecs.oregonstate.edu
gaia.cs.umass.edu
38
DNS: caching and updating records
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
39
Today’s Topics
 ICMP
 DHCP
 Domain Naming
 DNS
 Byte ordering
40
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
41
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.
42
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
43
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
44
Download