oct 21, 2004cs573: network protocols and standards1 ip: addressing, arp, routing network protocols...
Post on 20-Dec-2015
220 views
TRANSCRIPT
Oct 21, 2004 CS573: Network Protocols and Standards
1
IP: Addressing, ARP, Routing
Network Protocols and Standards
Autumn 2004-2005
Oct 21, 2004 CS573: Network Protocols and Standards 2
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 3
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 4
Internet Address Classes
NETWORK
0 8 16 24 32 bits
NETWORK
NETWORK
IP MULTICAST ADDRESSES (28 BITS)
RESERVED FOR EXPERIMENTS
0
10
110
1110
11110
Class A
Class B
Class C
Class D
Class E
HOST (24 BITS)
HOST (16 BITS)
HOST (8 BITS)
Oct 21, 2004 CS573: Network Protocols and Standards 5
Internet Address Classes Class A
126 networks (0 and 127 reserved) Assigned to very large size networks where 65K <
number of hosts < 16M Class B
16384 networks Assigned to Intermediate size networks where 256 <
number of hosts < 65K Class C
2097152 networks Assigned to smaller networks where #hosts < 256
Oct 21, 2004 CS573: Network Protocols and Standards 6
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 00011110is written as 128. 10. 2. 30
Oct 21, 2004 CS573: Network Protocols and Standards 7
Internet Address Classes
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
Oct 21, 2004 CS573: Network Protocols and Standards 8
Uniqueness of IP Addresses Network numbers are assigned by a central
authority The Internet Network Information Center (InterNIC) Another authority, the IANA – Internet Assigned
Numbers Authority sets policy Network numbers are unique worldwide Host numbers are assigned by network
managers They must be unique within a given network
Thus, IP addresses are unique worldwide.
Oct 21, 2004 CS573: Network Protocols and Standards 9
Special Purpose IP Addresses 0.0.0.0
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)
255.255.255.255 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 the host on this network
Host part all ones Broadcast address on the network specified in the network
identifier; routers typically do not forward these datagrams Host part all zeros
Broadcast address on the network specified in the network identifier (it was an implementation error in some networks)
Oct 21, 2004 CS573: Network Protocols and Standards 10
Special Purpose IP Addresses 127.x.x.x
Means loopback (datagrams are looped back in software; they are not sent on any physical interface)
224.0.0.1 Multicast address for “All systems on this
subnetwork” 224.0.0.2
Multicast address for “All routers on this subnetwork”
Oct 21, 2004 CS573: Network Protocols and Standards 11
Internet Addresses
This Host
Host on this network
Limited broadcast (local net)
Directed broadcast (for NET)
Loopback
ALL 0’s
ALL 0’s HOST
ALL 1’s
NET ALL 1’s
ANYTHING127
Oct 21, 2004 CS573: Network Protocols and Standards 12
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 13
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: 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)
Oct 21, 2004 CS573: Network Protocols and Standards 14
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 15
ARP Message Format
PROTOCOL TYPE
TARGET IP (octets 0-3)
160 8 24
HLEN
HARDWARE TYPE
SENDER HA (octets 0-3)
TARGET HA (octets 2-5)
31
PLEN OPERATION
SENDER IP (octetS 0-1)SENDER HA (octetS 4-5)
TARGET HA (octets 0-1)SENDER IP (octetS 2-3)
Oct 21, 2004 CS573: Network Protocols and Standards 16
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 17
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 18
RARP Mechanism
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
Mechanism allows a host to ask about an arbitrary target
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
19
IP Routing
Network Protocols and Standards
Autumn 2002-2003
Oct 21, 2004 CS573: Network Protocols and Standards 20
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
Example: A sends IP Datagram to B
Router
A B C
Oct 21, 2004 CS573: Network Protocols and Standards 21
Routing IP Datagram Indirect delivery (i.e. through
intermediate routers) 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).
Oct 21, 2004 CS573: Network Protocols and Standards 22
Direct and Indirect Routing
Host A204.240.18.10
Host B204.240.18.20
Router
204.240.18.1
Internet
Host C36.14.0.200
Direct Routing: Packets sent directly usingMAC address of A
Indirect Routing: Packets sent to the MAC addressof the router. At the IP level, B isThe source and C is the destination
B wants to send packets to A and C!
Oct 21, 2004 CS573: Network Protocols and Standards 23
IP Routing Decisions
Network10.0.0.0
Network40.0.0.0
Network20.0.0.0
Network30.0.0.0
R1R2
R3
10.0.0.5
20.0.0.520.0.0.6 30.0.0.6
30.0.0.7
40.0.0.7
Routing Table of R2
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
Oct 21, 2004 CS573: Network Protocols and Standards 24
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 25
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 26
Proxy ARP
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
Main Router
A B C
Main NetworkTo Internet
Hidden NetworkED
Router R
Oct 21, 2004 CS573: Network Protocols and Standards 27
Proxy ARP Advantage of Proxy ARP Router
Can be added without disturbing the routing table in other hosts or routers on that network
Disadvantages: 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: Several IP addresses map to the same physical
address. How to distinguish between a legitimate Proxy ARP router and spoofing?