Example
Routing with subnetting
Start of header
Ident = x
Offset = 0
0
Rest of header
The host want to send a packet to a certain IP address
1400 data bytes
Start of header
Ident = x
1
1). Bitwise AND between its own subnet mask & the destination IP address
2). If the same subnet number is obtained, direct delivery over that subnet
3). If not, it send s the packet to its default router
The job of a router changes when introduce subnetting
Offset = 0
the entries of <Dest. NetworkNum, NextHop> ->
the router ANDs the destination address with the Subnet Mask for each
<Dest. SubnetNum, SubnetMask, NextHop>
Rest of header
512 data bytes
entry, the matched one is the entry to be use
Start of header
Ident = x
1
Offset =64
Note: Subnets is not visible from the rest of the Internet
Rest of header
Note: Offset field counts 8-byte units of data, not
individual bytes (the change has been made w/ red)
Start of header
Ident = x
0
Subnet mask: 255.255.255.128
Subnet number: 128.96.34.0
Forwarding table at router R1
512 data bytes
Offset =128
Rest of header
376 data bytes
Subnet Number
128.96.34.0
128.96.34.128
128.96.33.0
Subnet Mask
255.255.255.128
255.255.255.128
255.255.255.0
128.96.34.15
Next Hop
interface 0
interface 1
R2
128.96.34.1
H1
R1
Spring 2004
EE4272
Supernetting – Classless Interdomain Routing (CIDR)
R2
H3
Two scaling concerns in the Internet to be addressed
address assignment efficiency (especially class B IP address)
the growth of backbone routing table
Classless Interdomain Routing (CIDR)
try to balance the desire of minimizing the routing table of the routers
involved and the desire of handing out IP address efficiently by
aggregating the routes (e.g. …)
Assign block of contiguous network numbers to nearby networks, the
common parts of the network numbers -> single network prefix (used in
forwarding table)
Restrict block sizes to powers of 2
Handout blocks of class C address that share a common prefix
Need a routing protocol can deal with these “classless” address with any
length of the network number part (e.g. BGP)
EE4272
128.96.33.1
Subnet mask: 255.255.255.0
Subnet number: 128.96.33.0
Problem: if a single AS has n class C network numbers assigned, every backbone
router needs n entries in its routing table for that AS
H2
Supernetting
The IP address structure (w/ class A, B, C) forces to hand out network
address space in fixed size chunks of 3 very different size
Unlike subnetting, supernetting gives appropriate # of class C address to
cover the expected number of host (address utilization >50%)
Spring 2004
128.96.34.139
128.96.34.129
128.96.33.14
EE4272
Subnet mask: 255.255.255.128
Subnet number: 128.96.34.128
128.96.34.130
Spring 2004
Assign a portion of address space to the ISP,
and let ISP assign addresses to its customer
It can advise a single route to both customer by
just advertising the common 19-bits prefix they
share
EE4272
Spring 2004
1
Interdomain Routing
Supernetting
Essences:
“subnetting” allows a class B kind of IP address be
shared by multiple physical networks
“supnetting” aims to collapse the multiple class C kind of
IP addresses that would be assigned to a single AS
general, it is possible to apply the principle (network
prefixes) of CIDR in the Internet service provider network
“repeatedly” if addresses are assigned carefully
The idea behind ASs (domain) is to provide an additional way to
hierarchically aggregate routing information in a large internet, thus
improving scalability
Intradomain routing (w/ in a single AS): finding “optimal” paths based on the link
metrics
Interdomain routing (between ASs) : concerning more on reachability of packets
among ASs
Interdomain Routing : a hard problem
In
BGP: finding any loop-free path to the intended destination
CIDR
means prefixes may be of variable length, in case
of some addresses may matches more than one prefix,
follow the principle of “longest match”
EE4272
Spring 2004
Exterior Gateway Protocol (EGP): limited to treelike topology(early Internet)
Border Gateway Protocol (BGP): flexible to an arbitrarily interconnected set
of ASs
matter of scale: 140,000 prefix
impossible to calculate meaningful path costs cross multiple ASs
“BGP speaker” exchange reachability infor. among ASs
BGP advertises “complete path” to achieve loop-free
No. of nodes involving in BGP is on the order of ASs
Spring 2004
EE4272
BGP Example
Beside BGP speaker,
AS has border gateways
which are responsible of
forwarding packets
between ASs
Speaker for AS2 advertises reachability to P and Q
network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS2
Regional provider A
(AS 2)
Backbone network
(AS 1)
Regional provider B
(AS 3)
Spring 2004
128.96
192.4.153
Customer Q
(AS 5)
192.4.32
192.4.3
Customer R
(AS 6)
192.12.69
Customer S
(AS 7)
192.4.54
192.4.23
Speaker for backbone advertises
EE4272
Customer P
(AS 4)
networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along the path (AS1, AS2)
To prevent loop, the complete AS path should be carried in the message
Speaker can cancel previously advertised paths, in case of failure
Note: A “stub AS” has a single connection to one other AS
A “transit AS” has connections to more than one other ASs
EE4272
Spring 2004
2
IP Version 6
128-bit addresses (classless)
real-time service
authentication and security
autoconfiguration
end-to-end fragmentation
protocol extensions
multicast
Internet Multicast
Features
class
D addresses
demonstrated with MBone
uses tunneling
Header
40-byte
“base” header
headers (fixed order, mostly fixed length)
extension
EE4272
fragmentation
source routing
authentication and security
other options
Spring 2004
Link-State Multicast
Each host on a LAN periodically announces the
groups it belongs to by Internet Group Management
Protocol (IGMP): reading assignment (P331-335)
Augment update message (link state packet-LSP) to
include set of groups that have members on a
particular LAN
Each router uses Dijkstra's algorithm to compute
shortest-path spanning tree for each source/group
pair
Each router computes and stores the cache of
trees for currently active source/group pairs.
IPv4
Integral part of IPv6
problem
is making it scale
EE4272
Spring 2004
Example
Example shortest-path multicast trees
Member of group G in color
EE4272
Spring 2004
EE4272
Spring 2004
3
Distance-Vector Multicast
Reverse Path Broadcast (RPB)
Each router already knows that shortest path to
destination S goes through router N
When receive multicast packet from S, forward
on all outgoing links (except the one on which
the packet arrived), iff packet arrived from N
Eliminate duplicate broadcast packets by only
letting “parent” for LAN (relative to S) forward
shortest
path to S (learn via distance vector)
smallest address to break ties
EE4272
Spring 2004
Reverse Path Multicast (RPM)
Goal: Prune networks that have no hosts in group G
Step
1: Determine of LAN is a leaf with no members in G
leaf if parent is the only router on the LAN
determine if any hosts are members of G using IGMP
Step
2: Propagate “no members of G here” information
augment <Destination, Cost> update sent to
neighbors with set of groups for which this network is
interested in receiving multicast packets.
only happens with multicast address becomes active.
EE4272
Spring 2004
4