IP: Adressing, ARP, and Routing
Download
Report
Transcript IP: Adressing, ARP, and Routing
IP: Addressing, ARP, Routing
Network Protocols and Standards
Autumn 2004-2005
Oct 21, 2004
CS573: Network Protocols and Standards
1
IPv4
IP Datagram Format
IPv4 Addressing
ARP and RARP
IP Routing Basics
Subnetting and Supernetting
ICMP
Network Address Translation (NAT)
Dynamic Addressing
Oct 21, 2004
CS573: Network Protocols and Standards
2
Internet Addresses (IP Addresses)
Defined when IP was standardized in 1981
IP addresses are 32-bit long and consist of:
a network address part – network identifier
a host address part – host number within that
network
IP addresses are grouped into classes (A,B,C)
depending on the size of the network
identifier and the host part of the address
A fourth class (Class D) was defined later
(1988) for Multicast addresses
Oct 21, 2004
CS573: Network Protocols and Standards
3
Internet Address Classes
0
8
Class A
0
Class B
10
Class C
110
Class D
1110
Class E
11110
Oct 21, 2004
16
NETWORK
24
32 bits
HOST (24 BITS)
NETWORK
HOST (16 BITS)
NETWORK
HOST (8 BITS)
IP MULTICAST ADDRESSES (28 BITS)
RESERVED FOR EXPERIMENTS
CS573: Network Protocols and Standards
4
Internet Address Classes
Class A
Class B
126 networks (0 and 127 reserved)
Assigned to very large size networks where 65K < number
of hosts < 16M
16384 networks
Assigned to Intermediate size networks where 256 <
number of hosts < 65K
Class C
Oct 21, 2004
2097152 networks
Assigned to smaller networks where #hosts < 256
CS573: Network Protocols and Standards
5
Dotted Decimal Notation
Internet addresses are represented in
text by the dotted decimal notation
each byte is written in decimal values
(from 0 to 255)
example:
10000000 00001010 00000010 00011110
is written as 128. 10. 2. 30
Oct 21, 2004
CS573: Network Protocols and Standards
6
Internet Address Classes
Oct 21, 2004
Class
Lowest Network
Identifier Address
Highest Network
Identifier Address
A
1.0.0.0
126.0.0.0
B
128.0.0.0
191.255.0.0
C
192.0.0.0
223.255.255.0
D
224.0.0.0
239.255.255.255
E
240.0.0.0
247.255.255.255
CS573: Network Protocols and Standards
7
Uniqueness of IP Addresses
Network numbers are assigned by a central authority
Network numbers are unique worldwide
Host numbers are assigned by network managers
The Internet Network Information Center (InterNIC)
Another authority, the IANA – Internet Assigned Numbers
Authority sets policy
They must be unique within a given network
Thus, IP addresses are unique worldwide.
Oct 21, 2004
CS573: Network Protocols and Standards
8
Special Purpose IP Addresses
0.0.0.0
255.255.255.255
Means the host on this network
Host part all ones
Means limited broadcast. Used as a destination address to send packets to
all hosts on the local network where the source is. Packets sent to this
address are never relayed
Network part all zeros
Means this host, used by machines as source address when they boot up (if
they don’t know their IP address, and need to get it from a boot server)
Broadcast address on the network specified in the network identifier;
routers typically do not forward these datagrams
Host part all zeros
Oct 21, 2004
Broadcast address on the network specified in the network identifier (it was
an implementation error in some networks)
CS573: Network Protocols and Standards
9
Special Purpose IP Addresses
127.x.x.x
224.0.0.1
Means loopback (datagrams are looped back in
software; they are not sent on any physical
interface)
Multicast address for “All systems on this
subnetwork”
224.0.0.2
Oct 21, 2004
Multicast address for “All routers on this
subnetwork”
CS573: Network Protocols and Standards
10
Internet Addresses
ALL 0’s
ALL 0’s
This Host
HOST
Limited broadcast (local net)
ALL 1’s
NET
127
Oct 21, 2004
ALL 1’s
ANYTHING
Host on this network
Directed broadcast (for NET)
Loopback
CS573: Network Protocols and Standards
11
Translating Between IP and MAC
Addresses (ARP and RARP)
Each interface has an IP address at Layer 3,
and a MAC address at Layer 2
Assume that host A wants to send a packet to
host B (A and B on the same network)
Host A knows the IP address of host B;
however, in order to transmit the packet, host
A must somehow know or find out what the
MAC (layer 2) address of host B is!
Solution: the Address Resolution Protocol
(ARP), RFC826
Oct 21, 2004
CS573: Network Protocols and Standards
12
Address Resolution Protocol
Used to find the physical address of a target device on the local
physical network, given only the target’s IP address
Mechanism:
Oct 21, 2004
The source broadcasts a special packet asking the device with
target IP address to respond with a message carrying the (IP
address, physical address) mapping
All devices on the local physical network receive the broadcast, but
only the target recognizes its IP address and responds to the
request
When the source receives the reply, it sends the packet to the
target using the target’s physical address and places the mapping
in its cache (a cache is used to prevent repeated broadcasts for the
same destination)
CS573: Network Protocols and Standards
13
More on ARP
ARP refinements
Source includes its <IP address, physical address> mapping in the
ARP request anticipating the target’s need for it in the near future.
This avoids extra network traffic
When all machines receive the ARP request broadcast, they can
store the address mapping in their cache. Do they?
ARP is used when an IP to physical address mapping changes to
notify hosts on the network of the change
ARP messages are encapsulated in MAC frames. A special value
in the type field of the frame is used to indicate that it is
carrying an ARP message (0806 hex is used for ARP)
Entries in the local ARP cache for each host time out after a
certain period
Oct 21, 2004
CS573: Network Protocols and Standards
14
ARP Message Format
0
8
16
24
HARDWARE TYPE
HLEN
31
PROTOCOL TYPE
PLEN
OPERATION
SENDER HA (octets 0-3)
SENDER HA (octetS 4-5)
SENDER IP (octetS 0-1)
SENDER IP (octetS 2-3)
TARGET HA (octets 0-1)
TARGET HA (octets 2-5)
TARGET IP (octets 0-3)
Oct 21, 2004
CS573: Network Protocols and Standards
15
ARP Message
HARDWARE TYPE: specifies type of hardware interface for
which the request is made (e.g., 1 for Ethernet)
PROTOCOL TYPE: specifies high level protocol address supplied
in message (e.g. 0800 hex for IP)
HLEN and PLEN: specify length of fields for hardware address
and protocol address respectively
OPERATION: specifies if this is an ARP request or reply message
(1 for ARP request, 2 for ARP response, 3 for RARP request and
4 for RARP response)
HA and IP: hardware and IP addresses respectively
Oct 21, 2004
CS573: Network Protocols and Standards
16
Reverse ARP
Usually, a machine’s IP address is kept on its
secondary storage (OS finds it at start up)
Issue : Diskless Workstations!
files are stored on a remote server
need IP address to use TCP/IP to obtain initial boot image
Solution : Use physical address to identify machine
Given a physical network address, find the
corresponding Internet address
Reverse Address Resolution Protocol (RARP), RFC903
Oct 21, 2004
CS573: Network Protocols and Standards
17
RARP
Mechanism
Mechanism allows a host to ask about an arbitrary
target
Sender broadcasts a RARP request, supplying its physical
network address in the Target HA field
Only machines authorized to supply the RARP service (RARP
servers) process the request and send a reply filling in the
target internet address
thus sender HA is separate from target HA address
RARP server replies to sender’s HA
Ethernet frame Protocol Type for RARP is 8035 hex
Oct 21, 2004
CS573: Network Protocols and Standards
18
IP Routing
Network Protocols and Standards
Autumn 2002-2003
Oct 21, 2004
CS573: Network Protocols and Standards
19
Routing IP Datagram
Direct Delivery (i.e., not involving routers):
Transmission of an IP datagram between two machines on a
single physical network does not involve routers
The sender encapsulates the datagram in a physical frame,
binds the destination IP address to a physical hardware
address (using ARP), and sends the resulting frame directly
to the destination
The two machines are known to be on the same network
because they have the same network identifier
Router
Example:
Oct 21, 2004
A sends IP Datagram to B
A
CS573: Network Protocols and Standards
B
C
20
Routing IP Datagram
Indirect delivery (i.e. through intermediate
routers)
Oct 21, 2004
Host performs routing decisions based on routing
table indicating “next hop”
“Next hop” refers to next router IP address on this
network, via which the destination is reached
Routing decisions are made based on network
prefixes (not full IP address)
The sender encapsulates the datagram in a frame
with the router’s physical destination address
(which is found by means of ARP).
CS573: Network Protocols and Standards
21
Direct and Indirect Routing
B wants to send packets to A and C!
Host A
204.240.18.10
204.240.18.1
Direct Routing:
Packets sent directly using
MAC address of A
Host B
204.240.18.20
Router
Internet
Indirect Routing:
Packets sent to the MAC address
of the router. At the IP level, B is
The source and C is the destination
Host C
36.14.0.200
Oct 21, 2004
CS573: Network Protocols and Standards
22
IP Routing Decisions
10.0.0.5
Network
10.0.0.0
20.0.0.6
20.0.0.5
R1
40.0.0.7
30.0.0.6
R3
Network
20.0.0.0
Network
30.0.0.0
R2
30.0.0.7
Network
40.0.0.0
Routing Table of R2
Oct 21, 2004
To Reach Hosts on Network
Next Hop Address
20.0.0.0
Direct Delivery
30.0.0.0
Direct Delivery
10.0.0.0
20.0.0.5
40.0.0.0
30.0.0.7
CS573: Network Protocols and Standards
23
IP Routing Algorithm
Router receives an IP datagram with network portion N and
destination D
If N is directly connected
Transmit on that network
Else If host specific entry for D exists
Use next hop in that entry
Else If route entry for N exists
Use next hop in that entry
Else If default route for next hop exists
Use default route for next hop
Else
Declare error
Oct 21, 2004
CS573: Network Protocols and Standards
24
Routing Within Same Network
Consider a small company with a single LAN
to which a class C network address has been
assigned
The company is interested in adding another
small physical network (connected to old
network through a router) with a few hosts
Question: Could this company assign these
hosts IP addresses from the same C class
network? i.e., could the two LANs share the
same class C network address?
Oct 21, 2004
CS573: Network Protocols and Standards
25
Proxy ARP
To Internet
Main Router
Main Network
A
B
C
Router R
D
E
Hidden Network
Used to allow two physical networks to share the same IP
network prefix
Router R’s table is configured manually to route between these
two networks
Router R answers ARP requests on each network for hosts on
the other network, giving its own hardware address as the
target address
Oct 21, 2004
CS573: Network Protocols and Standards
26
Proxy ARP
Advantage of Proxy ARP Router
Disadvantages:
Can be added without disturbing the routing table in other
hosts or routers on that network
Does not generalize to complex network topologies (does
not scale)
Does not support a reasonable form of routing. (relies on
network managers to maintain tables of machines and
addresses manually)
Issues:
Oct 21, 2004
Several IP addresses map to the same physical address.
How to distinguish between a legitimate Proxy ARP router
and spoofing?
CS573: Network Protocols and Standards
27