Classless and Subnet Address Extensions CIDR Topics There
Classless and Subnet Address Extensions (CIDR) • Topics: – There are problems with the IP addressing scheme we’ve studied – We’ll study some ways to get around these problems
Review: IP Addresses
Problems with IP Addresses • The designers of IP addresses did not foresee the Internet’s tremendous growth – Higher overhead to manage network addresses – Larger routing tables – IP addresses might one day be exhausted
Solution to IP Addresses Problems • The same IP network prefix can be shared by multiple physical networks • A site can choose to assign and use IP addresses in unusual ways internally as long as: – All hosts and routers at the site honor the site’s addressing scheme – The site’s addressing scheme is transparent to other sites on the internet
Strategy 1: Transparent Routers • A network with a class A IP address can be extended: H 1 H 2 10. 0 T H 3 H 4
Transparent Routers (cont) • Hosts on LAN are assigned IP addresses as if they were on WAN • LAN does not need its own network prefix • Traffic for hosts on LAN is multiplexed through T • Other hosts and routers on the WAN do not know T exists
Transparent Routers • Advantages – Require fewer network addresses (LAN doesn’t need a separate network prefix) – Load balancing • Disadvantages – Require a large address space – Do not provide all the services of standard routers
Strategy 2: Proxy ARP • Using ARP, map a single network prefix into two physical addresses Main network H 1 H 2 H 3 Router running proxy ARP R H 4 Hidden network H 5 H 6
Proxy ARP (cont) • Gives the illusion that all hosts are on the same physical network • Router R answers ARP requests on each network for hosts on the other • R answers ARPs with its own hardware address (it lies) • When R receives a datagram it forwards it to the correct physical address
Proxy ARP • Advantages – Require fewer network addresses – Only the router running proxy ARP needs to know what’s going on • Disadvantages – Can only be used if the network uses ARP for address resolution – Allows spoofing
Strategy 3: Subnet Addressing • Hierarchical addressing Network 128. 10. 1. 0 Rest of the internet R H 1 H 2 128. 10. 1. 1 128. 10. 1. 2 Network 128. 10. 2. 0 All traffic to H 3 H 4 128. 10. 0. 0 128. 10. 2. 1 128. 10. 2. 2
Subnet Addressing (cont) • R receives all traffic for network 128. 10. 0. 0 • R routes the datagram to a physical network based on bits in the hostid field of the IP address • Another level has been added to the addressing hierarchy
Subnet Addressing (cont) • Regular (Class B) IP address: 0 10 8 netid 16 24 hostid 31 • New interpretation (locally only): 0 10 8 netid 16 24 subnet 31 hostid
Subnet Addressing (cont) • Advantages – Minimizes network address usage – Accommodates growth • Disadvantages – Added layer of complexity – Difficult to change once hierarchy is established
Subnet Addressing (cont) • Flexible 0 10 8 netid 16 24 subnet 31 hostid Allows 256 physical networks with 256 hosts each 0 10 8 netid 16 19 sub 31 hostid Allows 8 physical networks with 8192 hosts each
Subnet Masks • 32 bits – 1 if the bit is part of the network address – 0 if the bit is part of the host address • Example - a class B network: 0 10 8 netid 16 24 subnet 31 hostid • Subnet mask: – 11111111 0000
Subnet Masks • Subnet bits do not have to be contiguous: – Mask = 11111111 00001010 10000000 0 10 8 netid 16 = subnet id = host id 24 31
Representing Subnet Masks in Dotted Decimal Notation • Example - a class B network: 0 10 8 netid 16 24 subnet 31 hostid • Subnet mask: – 11111111 0000 • Dotted Decimal: – 255. 0
Representing Subnet Masks in 3 -tuple Notation • Subnet mask: – 11111111 0000 • 3 -tuple notation – {<netid>, <subnet id>, <hostid>} – -1 means “all ones” – {-1, 0}
Routing in the Presence of Subnets • All hosts and routers must use a subnet routing algorithm Net 1 (not a subnet address) R 1 Net 2 (subnet of address N) H R 2 Net 3 (subnet of address N)
The Subnet Routing Algorithm • Recall the standard routing table: – (netid, next hop) • N = netid portion of IP address • Compare N with netid • Match = send datagram to next hop • Routing when subnets are in use: – (subnet mask, netid, next hop) • N = IP address & subnet mask • Compare N with netid • Match = send datagram to next hop
Using Subnet Masks for Routing • Host-specific routes – (20. 0. 0. 3, 30. 0. 0. 7) – (255. 255 , 20. 0. 0. 3 , 30. 0. 0. 7) • Default routes – (default, 40. 0. 0. 8) – (0. 0 , 40. 0. 0. 8) • Standard, non-subnet class B network – (128. 0. 0. 0, 10. 0. 0. 3) – (255. 0. 0 , 128. 0. 0. 0 , 10. 0. 0. 3)
A Unified Routing Algorithm Extract the destination IP address, D, from the datagram and compute the netid, N If N matches any directly connected network address deliver the datagram directly over that network else for each entry (M, N, NH) in the routing table { I = M&D if (I == N) then send datagram to NH } if no matches were found declare a routing error
Broadcasting to Subnets • IP address = 128. 0. 255 – Broadcast to all hosts on network 128 • What if network 128 has subnets? – Routers that interconnect the subnets must propagate the datagram to all physical networks – But the routers must take care not to route the datagrams in loops (reverse path forwarding) • Can you broadcast to just one subnet? – Yes: {network, subnet, -1}
Summary • Problem: IP v 4 addresses (especially class B) would be exhausted • Solutions: – Subnet addressing - conserve network addresses by using the same network address for multiple physical networks – New version of IP (v 6) with larger addresses – Supernet addressing - conserve class B network addresses by allowing a single organization to use multiple class C network addresses
- Slides: 25