2. 2
Address Allocation Problem
• Exhaustion of the class B network address space
• The lack of a network class of size which is
appropriate for mid-sizes organization
– class C, with a max of 254 hosts, too small
– While class B, with a max of 65534 hosts, too
large
• Allocate block of class C instead and downside is
more routes entry in routing table
3. CIDR - Classless Interdomain Routing
• Goals:
– Restructure IP address assignments to increase efficiency
– Hierarchical routing aggregation to minimize route table
entries
Key Concept: The length of the network id (prefix) in IP
addresses is arbitrary/flexible and is defined by the
network hierarchy.
• Consequence:
– Routers use the IP address and the length of the prefix for
forwarding.
– All advertised IP addresses must include a prefix
4. CIDR Example
• CIDR notation of a network address:
192.0.2.0/18
• "18" says that the first 18 bits are the network part of the
address
• The network part is called the network prefix
• Example:
– Assume that a site requires an IP network domain that can support 1000 IP
host addresses
– With CIDR, the network is assigned a continuous block of 1024 = 210 (>1000)
addresses with a 32-10 = 22-bit long prefix
5. IPv6 vs. IPv4: Address Comparison
• IPv4 has a maximum of
232 4 billion addresses
• IPv6 has a maximum of
2128 = (232)4 4 billion x 4 billion x 4 billion x 4 billion
addresses
6. Notation of IPv6 addresses
• Convention: The 128-bit IPv6 address is written as
eight 16-bit integers (using hexadecimal digits for
each integer)
CEDF:BP76:3245:4464:FACE:2E50:3025:DF12
• Short notation:
• Abbreviations of leading zeroes:
CEDF:BP76:0000:0000:009E:0000:3025:DF12
CEDF:BP76:0:0:9E :0:3025:DF12
• “:0000:0000” can be written as “::”
CEDF:BP76:0:0:FACE:0:3025:DF12 CEDF:BP76::FACE:0:3025:DF12
• IPv6 addresses derived from IPv4 addresses have different formats. Convention
allows to use IPv4 notation for the last 32 bits.
128.143.137.144 -> 0:0:0:0:0:ffff:808F:8990 or
128.143.137.144 -> 2002:808f:8990:0:0:0:0:0 (called 6to4 address)
7. IPv6 Provider-Based Addresses
• The first IPv6 addresses will be allocated to a provider-
based plan
• Type: Set to “010” for provider-based addresses
• Registry: identifies the agency that registered the
address
The following fields have a variable length (recommeded length in “()”)
• Provider: Id of Internet access provider (16 bits)
• Subscriber: Id of the organization at provider (24 bits)
• Subnetwork: Id of subnet within organization (32 bits)
• Interface: identifies an interface at a node (48 bits)
Registry
ID
Provider
ID
010
Subscriber
ID
Interface
ID
Subnetwork
ID
8. More on IPv6 Addresses
• The provider-based addresses have a similar
flavor as CIDR addresses
• IPv6 provides address formats for:
– Unicast – identifies a single interface
– Multicast – identifies a group. Datagrams sent to a
multicast address are sent to all members of the
group
– Anycast – identifies a group. Datagrams sent to an
anycast address are sent to one of the members in the
group.
10. 11
Hop-by-Hop Packet Forwarding
• Each router has a forwarding table
– Maps destination addresses…
– … to outgoing interfaces
• Upon receiving a packet
– Inspect the destination IP address in the header
– Index into the table
– Determine the outgoing interface
– Forward the packet out that interface
• Then, the next router in the path repeats
– And the packet travels along the path to the
destination
11. 12
Separate Entry Per 24-bit Prefix
• If the router had an entry per 24-bit prefix
– Look only at the top 24 bits of the destination address
– Index into the table to determine the next-hop interface
host host host
LAN 1
...
host host host
LAN
...
router router router
WAN WAN
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
1.2.3.0/24
5.6.7.0/24
forwarding table
12. 13
Separate Entry Classful Address
• If the router had an entry per classful prefix
– Mixture of Class A, B, and C addresses
– Depends on the first couple of bits of the destination
• Identify the mask automatically from the address
– First bit of 0: class A address (/8)
– First two bits of 10: class B address (/16)
– First three bits of 110: class C address (/24)
• Then, look in the forwarding table for the match
– E.g., 1.2.3.4 maps to 1.2.3.0/24
– Then, look up the entry for 1.2.3.0/24
– … to identify the outgoing interface
13. Longest Prefix Match Forwarding
• Forwarding tables in IP routers
– Maps each IP prefix to next-hop link(s)
• Destination-based forwarding
– Packet has a destination address
– Router identifies longest-matching prefix
– Cute algorithmic problem: very fast lookups
4.0.0.0/8
4.83.128.0/17
201.10.0.0/21
201.10.6.0/23
126.255.103.0/24
201.10.6.17
destination
forwarding table
Serial0/0.1
outgoing link