Title: Internet Routing (COS 598A) Today: Addressing and Routing
1Internet Routing (COS 598A)Today Addressing and
Routing
- Jennifer Rexford
- http//www.cs.princeton.edu/jrex/teaching/spring2
005 - Tuesdays/Thursdays 1100am-1220pm
2Outline
- IP addressing
- Address allocation blocks
- Packet forwarding
- Routing protocols
- Autonomous Systems
- Interdomain routing
- Intradomain routing
- Practical realities
- Asymmetric routing
- IP address ! host
- Autonomous System ! institution
- Discussion of Saltzer84 and Clark88
3IP Addressing
- 32-bit number in dotted-quad notation
(12.34.158.5) - Divided into network host portions (left and
right) - 12.34.158.0/24 is a 24-bit prefix with 28
addresses
12
34
158
5
Network (24 bits)
Host (8 bits)
4Some History Why Dotted-Quad Notation?
- In the olden days
- Class A 0
- Very large /8 blocks (e.g., MIT has 18.0.0.0/8)
- Class B 10
- Large /16 blocks (e.g,. Princeton has
128.112.0.0/16) - Class C 110
- Small /24 blocks (e.g., ATT Labs has
192.20.225.0/24) - Class D 1110
- Multicast groups
- Class E 11110
- Reserved for future use (sounds a bit scary)
- And then, address space became scarce
5Classless Inter-Domain Routing (CIDR)
Use two 32-bit numbers to represent a network.
Network number IP address Mask
IP Address 12.4.0.0 IP Mask 255.254.0.0
Usually written as 12.4.0.0/15
6CIDR Hierarchy in Address Allocation
- Prefixes are key to Internet scalability
- Address allocation by ARIN/RIPE/APNIC and by ISPs
- Routing protocols and packet forwarding based on
prefixes - Today, routing tables contain 150,000-200,000
prefixes
7Figuring Out Who Owns an Address
- Address registries
- Public record of address allocations
- ISPs should update when giving addresses to
customers - However, records are notoriously out-of-date
- Ways to query
- UNIX whois h whois.arin.net 128.112.136.35
- http//www.arin.net/whois/
- http//www.geektools.com/whois.php
-
8Example Output for 128.112.136.35
- OrgName Princeton University
- OrgID PRNU
- Address Office of Information Technology
- Address 87 Prospect Avenue
- City Princeton
- StateProv NJ
- PostalCode 08544-2007
- Country US
- NetRange 128.112.0.0 - 128.112.255.255
- CIDR 128.112.0.0/16
- NetName PRINCETON
- NetHandle NET-128-112-0-0-1
- Parent NET-128-0-0-0-0
- NetType Direct Allocation
- RegDate 1986-02-24
9Longest 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
forwarding table
4.0.0.0/8 4.83.128.0/17 12.0.0.0/8 12.34.158.0/24
126.255.103.0/24
destination
12.34.158.5
outgoing link
Serial0/0.1
10Where do Forwarding Tables Come From?
- Routers have forwarding tables
- Map prefix to outgoing link(s)
- Entries can be statically configured
- E.g., map 12.34.158.0/24 to Serial0/0.1
- But, this doesnt adapt
- To failures
- To new equipment
- To the need to balance load
-
- That is where routing protocols come in
11Routing Protocols
12Two-Tiered Internet Routing Architecture
- Goal distributed management of resources
- Internetworking of multiple networks
- Networks under separate administrative control
- Solution two-tiered routing architecture
- Intradomain inside a region of control
- Okay for routers to share topology information
- Routers configured to achieve a common goal
- Interdomain between regions of control
- Not okay to share complete information
- Networks may have different/conflicting goals
- Led to the use of different protocols
13Connections Between Networks
interdomain
protocols
dial-in access
ISP 2
private peering
intradomain
destination
protocols
IXP
ISP 1
gateway router
access router
ISP 3
destination
commercial
customer
14Internet Routing Architecture
- Divided into Autonomous Systems
- Distinct regions of administrative control
- Routers/links managed by a single institution
- Service provider, company, university,
- Hierarchy of Autonomous Systems
- Large, tier-1 provider with a nationwide backbone
- Medium-sized regional provider with smaller
backbone - Small network run by a single company or
university - Interaction between Autonomous Systems
- Internal topology is not shared between ASes
- but, neighboring ASes interact to coordinate
routing
15AS Numbers (ASNs)
ASNs are 16 bit values.
64512 through 65535 are private
Currently around 20,000 in use.
- Level 3 1
- MIT 3
- Harvard 11
- Yale 29
- Princeton 88
- ATT 7018, 6341, 5074,
- UUNET 701, 702, 284, 12199,
- Sprint 1239, 1240, 6211, 6242,
ASNs represent units of routing policy
16Interdomain Routing (Between ASes)
Path 6, 5, 4, 3, 2, 1
4
3
5
2
6
7
1
Web server
Client
17Interdomain Routing Border Gateway Protocol
- ASes exchange info about who they can reach
- IP prefix block of destination IP addresses
- AS path sequence of ASes along the path
- Policies configured by the ASs operator
- Path selection which of the paths to use?
- Path export which neighbors to tell?
1
data traffic
data traffic
12.34.158.5
18Zooming in to AS 3
- Border router
- Learns BGP route from neighbor AS
- Creates forwarding-table entry for prefix
- But, how do the other routers get there?
Border router
12.34.158.0/24
19How do Other Routers Learn the BGP Route?
- Internal BGP
- iBGP sessions between the routers
- Allows other routers to get the big picture
- Simplest case full mesh of iBGP sessions
12.34.158.0/24 through red router
12.34.158.0/24
20How To Get to the Egress Router?
- Interior Gateway Protocol (OSPF/IS-IS)
- Routers flood information to learn topology
- Routers determine next hop to other routers
- Compute shortest paths based on the link weights
- Link weights configured by the operator
2
1
3
1
3
2
1
5
Use Serial0/0.1 to get to the red router
4
3
21Constructing the Forwarding Table
- Three protocols
- External BGP learn the external route
- Internal BGP propagate inside the AS
- IGP learn outgoing link on path to other router
- Router joins the data
- Prefix 12.34.158.0/24 reached through red router
- Red router reached via link Serial0/0.1
- Forwarding entry 12.34.158.0/24 ? Serial0/0.1
- Router forwards packets
- Lookup destination 12.34.158.5 in table
- Forward packet out link Serial0/0.1
22What if There are Multiple Choices?
Hot-potato routing
192.44.78.0/24
egress 2
egress 1
IGP distances
56
15
This router has two BGP routes to 192.44.78.0/24.
Hot potato get traffic off of your network as
soon as possible. Go for egress 1!
23Two Kinds of Routing Protocols
Link State
Vectoring
- Topology information is flooded within the
routing domain - Best end-to-end paths are computed locally at
each router. - Best end-to-end paths determine next-hops.
- Based on minimizing some notion of distance
- Works only if policy is shared and uniform
- Examples OSPF, IS-IS
- Each router knows little about network topology
- Only best next-hops are chosen by each router for
each destination. - Best end-to-end paths result from composition of
all next-hop choices - Does not require any notion of distance
- Does not require uniform policies at all routers
- Examples RIP, BGP
24Practical Realities
25IP Address ! Host Machine
- Dynamic IP address assignment (DHCP)
- Single client may have multiple addresses over
time - Address may correspond to multiple clients over
time - Shared machines
- Multiple users on a shared compute server
- Transfers traveling through proxies and firewalls
- Multiple Web sites hosted on a single machine
- Replicated sites
- Multiple machines hosting a single (popular) Web
site - Addresses do not correspond to geographic
location - Similar prefix does not necessarily imply nearby
hosts - Single prefix may span hosts in large geographic
region - Source IP address may be spoofed (e.g., DoS
attack)
26AS ! Institution
- Not equivalent to an AS
- Many institutions span multiple autonomous
systems - Some institutions do not have their own AS number
- Ownership of an AS may be hard to pinpoint
(whois) - Not equivalent to a block of IP addresses
(prefix) - Many institutions have multiple (non-contiguous)
prefixes - Some institutions are a small part of a larger
address block - Ownership of a prefix may be hard to pinpoint
(whois) - Not equivalent to a domain name (att.com)
- Some sites may be hosted by other institutions
- Some institutions have multiple domain names
(att.net)
27Routing is Not Symmetric
Web request and TCP ACKs
client
server
Web response
28Discussion of Saltzer84
- End-to-end argument
- Better to implement functions close to
application - except when performance requires otherwise
- Why?
-
- What should be the end for routing?
- Router?
- End host?
- Enterprise edge?
- Autonomous System?
29Discussion of Clark88
- Basic story of Clark88
- Enumerate (and prioritize) system goals
- and see what decisions that leads you to make
- Clark88 doesnt say much about routing, but
- Some of the most significant problems with the
Internet today relate to lack of sufficient tools
for distributed management, especially in the
area of routing. - What should be goals priorities for routing?
30For Next Tuesdays Class
- Topology Inside an Autonomous System
- Measuring ISP topologies with RocketFuel
(SIGCOMM02) - A first-principles approach to understanding the
Internets router-level topology (SIGCOMM04) - Written review, one page each (hard-copy)
- Brief summary of the paper
- Reasons to accept the paper
- Reasons to reject the paper
- Three suggestions for future research directions
- Other materials
- Short paper on path diversity (Teixeira03)
- Internet topology pictures (Maps)