Title: IP: Routing and Subnetting
1IP Routing and Subnetting
- Network Protocols and Standards
- Autumn 2004-2005
2Routing 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
3Routing 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 routers physical destination address
(which is found by means of ARP).
4Direct and Indirect Routing
B wants to send packets to A and C!
Host A 204.240.18.10
Internet
204.240.18.1
Router
Direct Routing Packets sent directly using MAC
address of A
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 B 204.240.18.20
Host C 36.14.0.200
5IP Routing Decisions
10.0.0.5
40.0.0.7
20.0.0.6
30.0.0.6
20.0.0.5
R3
R1
R2
30.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
6IP 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
7Routing 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?
8Proxy ARP
- Used to allow two physical networks to share the
same IP network prefix - Router Rs 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
To Internet
Main Network
A
B
C
Router R
E
D
Hidden Network
9Proxy 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?
10Issues in Addressing
- A large corporate/campus environment
- Large number of Local Area Networks
- Some with fewer than 256 hosts
- Some with more than 256 hosts
- If each physical network is assigned a network
number - Immense administrative overhead to manage a large
number of network addresses - Routing tables in routers become extremely large
(one entry for each physical network) - Insufficient number of class B prefixes to cover
medium sized networks (having more than 256 hosts)
11Subnetting
- Solution Provide the campus with a single class
B network - Give freedom to the campus network admin to
allocate host numbers to hosts - From outside, the whole campus is simply known by
the class B network ID - Inside, there may be a hierarchy that remains
transparent to the outside world
12Subnetting
- Consider a class B network
- How to allocate host numbers to hosts?
- A single LAN is out of question
- If host numbers are assigned randomly, i.e.,
without any hierarchy, the routers inside the
network will have to deal with large tables one
entry per host - Thus, a hierarchical structure is required
13Subnetting
H
H
H
H
Physical Network (Subnet 3)
Physical Network (Subnet 1)
R
H
H
R
R
H
R
Physical Network (Subnet 4)
Physical Network (Subnet 2)
R
H
H
H
H
H
14Subnetting
Network 128.10.1.0
Subnet 1
H1
H2
Internet
R
128.10.1.1
128.10.1.2
Network 128.10.2.0
Subnet 2
H4
H3
R is not a Proxy ARP router!
128.10.2.2
128.10.2.1
H1 wants to send an IP datagram to H3 Old
addressing dictates it is a direct
delivery With subnetting, it may become
indirect
15Subnetting
- We previously divided IP addresses in a network
portion and a host portion - More generally, think of a 32-bit IP address as
having an Internet part and a Local part - Internet part of the IP address identifies a site
(possibly with many physical networks) - The local portion identifies a physical network
and host at that site
Internet Part
Local Part
Internet Part
Subnet
Host
16Subnetting
Examples Class B IP address
Internet Part
Subnet
Host
16bits 8bits 8bits
Internet Part
Subnet
Host
16bits 3bits 13bits
17Subnet Implementation
Subnet Mask Specifies the bits of the IP
address used to identify the subnet
Internet Part of Address
Subnet
Host
16bits 8bits 8bits
11111111 11111111 11111111 00000000
Subnet Mask (32bits)
255. 255. 255. 0
Internet Part of Address
Subnet
Host
16bits 3bits 13bits 11111111
11111111 111 00000 00000000
255. 255. 224. 0
18Subnetting
- It is recommended that sites use contiguous
subnet masks - Avoid masks such as
- 11111111 11111111 11000010 11000000
- When choosing a subnet mask, balance
- Size of networks
- Number of networks
- Expected growth
- Ease of maintenance
- It is possible to use different masks in
different parts of the network
19Subnet Routing
- Conventional routing table entry
- (network address, next hop address)
- Network address format is predetermined for a
given class (e.g., first 16 bits for class B
addresses!) - With subnetting, routing table entry becomes
- (subnet mask, network address, next hop address)
- Then compare with network address field of
entries to find next hop address - Subnet mask indicates the network address!
20Subnet Routing
- The use of mask generalizes the subnet routing
algorithm to handle all the special cases of the
standard algorithm - Routes to individual hosts
- Default route
- Routes to directly connected networks
- Routes to conventional networks (that do not use
subnet addressing) - Merely combine the 32-bit mask field with the
32-bit IP address - Example To install a route for
- Individual host (Mask of all 1s, Host IP
address) - Default Route (Mask of all 0s, network address
all 0s) - Class B network address (Mask of two octets of
1s and two of 0s)
21Subnet Routing
- Algorithm
- Extract destination IP (D) from datagram
- Compute IP address of destination network N
- If N matches any directly connected network
address - Send datagram over that network (obviously
encapsulated in a frame) - Else
- For each entry in the routing table, do
- N bitwise-AND of D and subnet mask
- If N equals the network address field of the
entry, then route the datagram to the specified
next hop
22Supernet Addressing
- Use of many IP network addresses for a single
organization - Example
- To conserve class B addresses, issue multiple
class C address to the same organization - Issue increase in the number of entries in the
routing table - Solutions
- Collapse a block of contiguous class C address
into the pair (network address, count) where
network address is the smallest number in the
block
23Supernet Addressing
- It requires each block to be a power of 2 and
uses bit mask to identify the size of the block - Example
- Dotted decimal 32-bit binary equivalent
- Lowest 234.170.168.0 11101010 10101010 10101000
00000000 - Highest 234.170.175.255 11101010 10101010
10101111 11111111 - A block of 2048 addresses
- 32-bit mask is 11111111 11111111 11111000
00000000 - Do we really need address classes when we have
masks? - Answer NO ? CIDR (Classless Inter Domain Routing)
24Supernet Addressing
- In the router, the entry consists of
- The lowest address and the 32-bit mask
- A block of addresses can be subdivided, and
separate route can be entered for each
subdivision - When looking up a route, the routing software
uses a longest-match paradigm to select a route
25IPv6
- Motivation
- Limited address space
- Support for new applications
- Multimedia streams, for example
- Security
- Extensibility
26Features of IPv6
- Larger addresses
- 128 bit addresses
- Flexible header format
- Set of optional headers
- Support for flow identification
- Needed in resource allocation for multimedia
streams - Provision for protocol extension