Internetworking: Addressing Sept. 18, 2003 - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Internetworking: Addressing Sept. 18, 2003

Description:

Multiple incompatible LANs can be physically connected by specialized ... Delaware / Smallville / Bob Jones. System is more heterogenous & decentralized ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 30
Provided by: csC76
Category:

less

Transcript and Presenter's Notes

Title: Internetworking: Addressing Sept. 18, 2003


1
Internetworking AddressingSept. 18, 2003
15-441Computer Networking
  • Topics
  • Hierarchical Addressing
  • Evolution of Internet Addressing
  • Algorithmic Issues

class08.ppt
2
What 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)
3
Issues 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

4
Logical 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

5
Routing 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)

6
Router 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

7
Possible 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

8
Hierarchical 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

9
IP 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

10
IP 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

11
IP 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
12
IP 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

13
Subnetting
  • 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
14
Host 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

15
Deciphering 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
16
Resolving 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

17
Improving 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

18
Classless 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

19
Aggregation 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

20
Routing 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
21
Splitting 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

22
Size 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

23
IPv6 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)

24
Implementing 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

25
Implementing 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
26
Hash 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
27
Reducing 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

28
Hardware 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

29
Important 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
Write a Comment
User Comments (0)
About PowerShow.com