Title: Internetworking: Addressing Sept. 18, 2003
1Internetworking AddressingSept. 18, 2003
15-441Computer Networking
- Topics
- Hierarchical Addressing
- Evolution of Internet Addressing
- Algorithmic Issues
class08.ppt
2What is an Internetwork?
- Multiple incompatible LANs can be physically
connected by specialized computers called
routers. - The connected networks are called an
internetwork. - The Internet is one (very big successful)
example of an internetwork
...
...
host
host
host
host
host
host
LAN 1
LAN 2
router
router
router
WAN
WAN
LAN 1 and LAN 2 might be completely different,
totally incompatible LANs (e.g., Ethernet and ATM)
3Issues in Designing an Internetwork
- How do I designate a distant host?
- Addressing / naming
- How do I send information to a distant host?
- Underlying service model
- What gets sent?
- How fast will it go?
- What happens if it doesnt get there?
- Routing
- Challenges
- Heterogeneity
- Assembly from variety of different networks
- Scalability
- Ensure ability to grow to worldwide scale
4Logical Structure of Internet
host
router
router
router
host
router
router
router
- Ad hoc interconnection of networks
- No particular topology
- Vastly different router link capacities
- Send packets from source to destination by
hopping through networks - Router forms bridge from one network to another
- Different packets may take different routes
5Routing Through Single Network
host/ router
router/ host
- Path Consists of Series of Hops
- Source -- Router
- Router -- Router (typically high-speed,
point-to-point link) - Router -- Destination
- Each Hop Uses Link-Layer Protocol
- Determine hop destination
- Based on destination destination
- Send over local network
- Put on header giving MAC address of intermediate
router (or final destination)
6Router Operation
- Destination-Based Routing
- Move packet through network via series of hops
- When Packet Arrives at Router
- Examine header to determine intended destination
- Look up in table to determine next hop in path
- Send packet out appropriate port
- Terminology
- Each router forwards packet to next router
- Overall goal is to route packet from source to
destination
7Possible Addressing Schemes
- Flat
- e.g., every host identified by its 48-bit MAC
address - Router would need entry for every host in the
world - Too big (although technology can help this)
- Too hard to maintain as hosts come go
- Hierarchy
- Address broken into segments of increasing
specificity - 412 (Pittsburgh area) 268 (Oakland exchange) 8821
(Bryants office) - Pennsylvania / Pittsburgh / Oakland / CMU /
Bryant - Route to general region and then work toward
specific destination - As people and organizations shift, only update
affected routing tables
8Hierarchical Addressing Schemes
- Uniform Hierarchy
- Segment sizes same for everyone
- 412 (Pittsburgh area) 268 (Oakland exchange) 8821
(Bryants office) - System is more homogeneous and easier to control
- Requires more centralized planning
- Nonuniform Hierarchy
- Number sizes of segments vary according to
destination - Pennsylvania / Pittsburgh / Oakland / CMU /
Bryant - Delaware / Smallville / Bob Jones
- System is more heterogenous decentralized
- Allows more local autonomy
9IP Addressing
- IPv4 32-bit addresses
- Typically, write in dotted decimal format
- E.g., 128.2.198.135
- Each number is decimal representation of byte
- Big-Endian Order
- Translation from Network Names
- Performed by Domain Name Server (DNS)
- unix host bryant.vlsi.cs.cmu.edu
- bryant.vlsi.cs.cmu.edu has address 128.2.198.135
10IP Addressing and Forwarding
- Routing Table Requirement
- For every possible destination IP address, give
next hop - Nearly 232 (4.3 x 109) possibilities!
- Hierarchical Addressing Scheme
- Address split into network ID and host ID
- E.g., CMU has one network ID shared by all hosts
within CMU - All packets to given network follow same route
- Until they reach destination network
- Fields
- pfx Prefix to specify split between network
host IDs - network 2x possibilities
- host 2y possibilities
11IP Address Classes
- Class A
- mit.edu 18.7.22.69
- Class B
- cmu.edu 128.2.11.43
- Class C
- bryant.dsl.telerama.com 205.201.9.200
- Classes D, E, F
- Not commonly used
First digit 1126
First digit 128191
First digit 192223
12IP Address Classes
- Partitioning too Coarse
- Not enough big (class A) addresses
- No organization needs 16.7 million hosts
- Large organization likely to be geographically
distributed - Many organizations must make do with multiple
class Cs - Too many different Network IDs
- Routing tables must still have 2.1 million entries
13Subnetting
- Add Another Layer to Hierarchy
- From the outside, appears as one monolithic
network - Single entry in routing table
- Within network, manage as multiple subnetworks
- Internal routers must route according to subnet
ID - Subnet Mask
- Way to specify break between subnet ID and host
ID - Similar masks used in many contexts
pfx
network
host
subnet
14Host Routing Table Example
cygwinroute PRINT
Inter
face List 0x1 ........................... MS TCP
Loopback interface 0x1000003 ...00 03 47 b8 e5 f3
...... Intel(R) PRO/100 SP Mobile Combo
Adapter
Active Routes Network Destination
Netmask Gateway Interface
Metric 0.0.0.0 0.0.0.0
128.2.254.36 128.2.222.198 1
127.0.0.0 255.0.0.0 127.0.0.1
127.0.0.1 1 128.2.0.0 255.255.0.0
128.2.222.198 128.2.222.198 1
128.2.222.198 255.255.255.255 127.0.0.1
127.0.0.1 1 128.2.255.255
255.255.255.255 128.2.222.198 128.2.222.198
1 224.0.0.0 224.0.0.0
128.2.222.198 128.2.222.198 1
255.255.255.255 255.255.255.255 128.2.222.198
128.2.222.198 1 Default Gateway
128.2.254.36
- bryant-tp2.vlsi.cs.cmu.edu when plugged into CS
ethernet - Internet address 128.2.222.198
- Main CS router gigrouter.net.cs.cmu.edu
- Internet address 128.2.254.36
15Deciphering Table
Network Destination Netmask
Gateway Interface Metric 0.0.0.0
0.0.0.0 128.2.254.36
128.2.222.198 1 127.0.0.0
255.0.0.0 127.0.0.1 127.0.0.1 1
128.2.0.0 255.255.0.0 128.2.222.198
128.2.222.198 1 128.2.222.198
255.255.255.255 127.0.0.1 127.0.0.1
1 128.2.255.255 255.255.255.255
128.2.222.198 128.2.222.198 1
224.0.0.0 224.0.0.0 128.2.222.198
128.2.222.198 1 255.255.255.255
255.255.255.255 128.2.222.198 128.2.222.198
1 Default Gateway 128.2.254.36
16Resolving Table Ambiguities
- Address 128.2.222.198 matches 3 entries
- Longest Prefix Match
- Select entry with longest sequence of 1s in mask
- Most specific case
17Improving the Hierarchy
- Basic Idea of Hierarchy is Good
- Organizations of different sizes can be assigned
different numbers of IP addresses - Shortcomings of Class-Based Addressing
- Class A too coarse Class C too fine not enough
Class Bs - When fully deployed would have too many entries
in routing table (2.1 million) - Solution
- Hierarchy with finer gradation of network/host ID
split
18Classless Interdomain Routing
- CIDR, pronounced cider
- Arbitrary Split Between Network Host IDs
- Specify either by mask or prefix length
- E.g., CMU can be specified as
- 128.2.0.0 with netmask 255.255.0.0
- 128.2.0.0/16
19Aggregation with CIDR
- Original Use Aggregate Class C Addresses
- One organization assigned contiguous range of
class Cs - e.g., Microsoft given all addresses 207.46.192.X
-- 207.46.255.X - Specify as CIDR address 207.46.192.0/18
- Represents 26 64 class C networks
- Use single entry in routing table
- Just as if were single network address
20Routing Table Entry Examples
- Snapshot From MAE-West Routing Table
- Probably out of date
- Note hole in table Nothing covers bytes 96 127
microsoft.com 207.46.245.214 207.46.245.222
21Splitting with CIDR
- Expose subnetting structure to external routers
- Example
- Class A address 12.X.X.X has 413 entries in
MAE-WEST table - Prefix lengths 8--24
- attbi.com
- Backbone services of ATT
- Geographically distributed
- Dont want all packets to concentrate to single
region
22Size of Complete Routing Table
- Source www.cidr-report.org
- Shows that CIDR has kept table entries in check
- Currently require 124,894 entries for a complete
table - Only required by backbone routers
23IPv6 Addressing
- Main motivation for switch from IPv4
- Getting hard to manage 32-bit address allocation
- 128-Bit Addresses
- Standard unicast addresses 125 bits long (3-bit
prefix) - 4.2 x 1037 nodes
- Earth radius is 6371 km
- Metric 4.2 x 1037 / 4 ? (6.371 x 108)2 8 X
1018 nodes / cm2 - Aggregation Levels (RFC 2374)
- 13 bits top-level (major providers)
- 24 bits next-level (intermediate level)
- 16 bits site-level (like current subnetting)
- 64 bits interface (like current MAC addresses)
24Implementing a Fast Router
- When Packet Arrives
- Must find matching table entries
- Choose match with longest prefix
- Send out on appropriate outbound port
- Performance Example
- Enterprise Router Entrasys XSR-4100
- 56 ports
- 500K packets/second
- 16K
25Implementing Matching
O(w) accesses w address length IPv4 w
32 IPv6 w 128
- Patricia Tree
- Binary Trie
- Follow tree branches according to address bits
- Look for longest match
- Performance
- OK for small tables and/or low-speed software
- Large tables yield poor cache performance
11
01
111
000
001
1101
Extracted from slides by Marcel Waldvogel
26Hash Tables
- Generally good way to manage large data set
- Problem
- Finding maximum matching key
- Possible Solution
- Separate hash table for each prefix length
- Scan through them linearly
O(w) accesses
27Reducing Table Accesses
- Perform Binary Search on Prefix Lengths
- O(log w) lookups
- Difficulty
- Address can match for noncontiguous prefix
lengths - Must fill in some holes in table
- Reference
- Waldvogel, Varghese, Turner, Plattner Scalable
High-Speed Prefix Matching SIGCOMM 1997
28Hardware Solutions
- Content-Addressable Memory
- Special memory that uses keys rather than
addresses to lookup entries - Can be extended to implement prefix matching
- Ternary CAM
- At each bit position, can specify either match
1, match 0, or dont care - Hard to make big fast enough
- But, its happening
- IDT (www.idt.com) Each CAM chip can hold 64K
72-bit keys
29Important Concepts
- Hierarchical addressing critical for scalable
system - Dont require everyone to know everyone else
- Reduces amount of updating when something changes
- Nonuniform hiearchy useful for heterogenous
networks - Class-based addressing too coarse
- CIDR helps
- Move to IPv6 due to limited number of 32-bit
addresses - Implementation Challenge
- Longest prefix matching much more difficult than
when no ambiguity