31
CSE 561 – Scalable Routing David Wetherall [email protected] Spring 2000

CSE 561 – Scalable Routing David Wetherall [email protected] Spring 2000

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

CSE 561 – Scalable Routing

David [email protected]

Spring 2000

djw // CS 561, Spring 2000 L5.2

This Lecture

• First, Clark on Internet design philosophy

• Making routing scale– Landmark paper– Other techniques

• Mobile IP

djw // CS 561, Spring 2000 L5.3

Clark, 1988

• Design philosophy in retrospect; important themes

• Survivability and impact on where to store state• Division into IP + TCP / UDP for QOS

djw // CS 561, Spring 2000 L5.4

Network Service Models

• Datagram delivery: postal service– Also connectionless, best-effort or unreliable service– Network can’t guarantee delivery of the packet– Each packet from a host is routed independently– Example: IP

• Virtual circuit models: telephone– Also connection-oriented service– Signaling: connection establishment, data transfer,

teardown– All packets from a host are routed the same way– Example: ATM, Frame Relay, X.25

djw // CS 561, Spring 2000 L5.5

“Survivability”

• What state goes where?– Router versus end system

• What does survivability entail?– Application versus network perspective

• Problem: loss of state held at routers could disrupt application even though a path existed

• Solution: fate sharing• Follow-on: flows and soft-state

djw // CS 561, Spring 2000 L5.6

“Types of Service”

• Application requirements– Impact of reliability– The TCP/IP split, with UDP

• Quality of service– What is provided by the TCP/UDP distinction?– What is provided by other mechanisms?

djw // CS 561, Spring 2000 L5.7

IPv4 Header Fields …

• Type of Service

• Abstract notion of kind of service, never really worked out– Routers

ignore

• Field will be reused for Diffserv

Version HLen TOS Length

Identifier for Fragments Flags Fragment Offset

TTL Protocol Checksum

Source Address

Destination Address

Options (variable) Pad(variable)

0 4 8 16 19 31

Data

djw // CS 561, Spring 2000 L5.8

Shortcomings

• Some have become increasingly apparent today …

• Accounting• End host control• Distributed management

djw // CS 561, Spring 2000 L5.9

Scalability Concerns

• Routing burden grows with size of an internetwork– Size of routing tables– Volume or routing messages– Amount of routing computation

• RIP/OSPF do not scale to the size of the Internet

• We must apply further techniques:– Careful address allocation– Use of hierarchy– Route aggregation

djw // CS 561, Spring 2000 L5.10

Landmark Routing

• Area versus landmark hierarchy

• Pros and cons of hierarchy– Routing table size, number of messages, computation– Path length– Forwarding algorithm

djw // CS 561, Spring 2000 L5.11

Backbone service provider

Peeringpoint

Peeringpoint

Large corporation

Large corporation

Smallcorporation

“Consumer ” ISP

“Consumer” ISP

“ Consumer” ISP

You at home

You at work

Structure of the Internet

djw // CS 561, Spring 2000 L5.12

IP Addresses

• Reflect location in topology; used for scalable routing– Unlike “flat” Ethernet addresses

• Interfaces on same network share prefix– Prefix administratively assigned (IANA or ISP) – Addresses globally unique

• Routing only advertises entire networks– Local delivery within a single “network” doesn’t involve

router– (will make “network” precise later on)

djw // CS 561, Spring 2000 L5.13

Network Host

7 24

0

Network Host

14 16

1 0

Network Host

21 8

1 1 0

IPv4 Address Formats

• 32 bits written in “dotted quad” notation, e.g., 18.31.0.135

Class A

Class B

Class C

djw // CS 561, Spring 2000 L5.14

IPv6 Address Format

• 128 bits written in 16 bit hexadecimal chunks• Still hierarchical, just more levels

SubscriberIDProviderIDRegistryID001 InterfaceIDSubnetID

djw // CS 561, Spring 2000 L5.15

Network number Host number

Class B address

Subnet mask (255.255.255.0)

Subnetted address

111111111111111111111111 00000000

Network number Host IDSubnet ID

Subnetting

• Split up one network number into multiple physical networks

• Internal structure isn’t propagated

• Helps allocation efficiency

djw // CS 561, Spring 2000 L5.16

Subnet mask: 255.255.255.128Subnet number: 128.96.34.0

128.96.34.15128.96.34.1

H1

R1

128.96.34.130 Subnet mask: 255.255.255.128Subnet number: 128.96.34.128

128.96.34.129128.96.34.139

R2H2

128.96.33.1128.96.33.14

Subnet mask: 255.255.255.0Subnet number: 128.96.33.0

H3

Subnet Example

djw // CS 561, Spring 2000 L5.17

Inter-Domain Routing

• Network comprised of many Autonomous Systems (ASes) or domains

• To scale, use hierarchy: separate inter-domain and intra-domain routing

• Also called interior vs exterior gateway protocols (IGP/EGP)– IGP = RIP, OSPF– EGP = EGP, BGP

12

44

7

321

23

1123

djw // CS 561, Spring 2000 L5.18

Inter-Domain Routing

• Border routers summarize and advertise internal routes to external neighbors and vice-versa

• Border routers apply policy

• Internal routers can use notion of default routes

• Core is “default-free”; routers must have a route to all networks in the world

R1

Autonomous system 1R2

R3

Autonomous system 2R4

R5 R6

AS1

AS2

Border router

Border router

djw // CS 561, Spring 2000 L5.19

NSFNET backboneStanford

BARRNETregional

BerkeleyPARC

NCAR

UA

UNM

Westnetregional

UNL KU

ISU

MidNetregional…

Exterior Gateway Protocol (EGP)

• First major inter-domain routing protocol• Constrained Internet to tree structure; no longer

in use

djw // CS 561, Spring 2000 L5.20

Border Gateway Protocol (BGP-4)

• EGP used in the Internet backbone today

• Features:– Path vector routing– Application of policy– Operates over reliable transport (TCP)– Works with CIDR

djw // CS 561, Spring 2000 L5.21

Path Vectors

• Similar to distance vector, except send entire paths– e.g. 321 hears [7,12,44] – stronger avoidance of loops– supports policies (later)

• Modulo policy, shorter paths are chosen in preference to longer ones

• Reachability only – no metrics

12

44

7

321

23

1123

djw // CS 561, Spring 2000 L5.22

Policies

• Choice of routes may depend on owner, cost, AUP, …– Business considerations

• Local policy dictates what route will be chosen and what routes will be advertised!– e.g., X doesn’t provide transit for B, or A prefers not to

use X A BX

djw // CS 561, Spring 2000 L5.23

Impact of Policies – Example

• Early Exit / Hot Potato– “if it’s not for you, bail”

• Combination of best local policies not globally best

• Side-effect: asymmetryB

A

djw // CS 561, Spring 2000 L5.24

Operation over TCP

• Most routing protocols operate over UDP/IP

• BGP uses TCP– TCP handles error control; reacts to congestion– Allows for incremental updates

• Issue: Data vs. Control plane– Shouldn’t routing messages be higher priority than

data?

djw // CS 561, Spring 2000 L5.25

CIDR (Supernetting)

• CIDR = Classless Inter-Domain Routing• Aggregate advertised network routes

– e.g., ISP has class C addresses 192.4.16 through 192.4.31

– Really like one larger 20 bit address class …– Advertise as such (network number, prefix length)– Reduces size of routing tables

• But IP forwarding is more involved– Based on Longest Matching Prefix operation

djw // CS 561, Spring 2000 L5.26

Border gateway(advertises path to11000000000001)

Regional network

Corporation X(11000000000001000001)

Corporation Y(11000000000001000000)

CIDR Example

• X and Y routes can be aggregated

djw // CS 561, Spring 2000 L5.27

Mobile IP

• Problem: addresses tied to topology and so change as a node moves; this disrupts communications

• Approaches:– Change DNS– Mobile IP (level of indirection at network level)– Link-layer mobility

• Mobile IP Solution

djw // CS 561, Spring 2000 L5.28

Getting an IP address

• Old fashioned way: sysadmin configured each machine

• Dynamic Host Configuration Protocol (DHCP)– One DHCP server with the bootstrap info

• Host address, gateway address, subnet mask, …• Find it using broadcast

– Addresses may be leased; renew periodically

• “Stateless” Autoconfiguration (in IPv6) – Get rid of server – reuse Ethernet addresses for lower

portion of address (uniqueness) and learn higher portion from routers

djw // CS 561, Spring 2000 L5.29

Address Resolution Protocol (ARP)

• On a single link, need Ethernet addresses to send a frame … source is a given, but what about destination?– Requires mapping from IP to MAC addresses

• ARP is a dynamic approach to learn mapping– Node A sends broadcast query for IP address X– Node B with IP address X replies with its MAC address M– A caches (X, M); old information is timed out (~15 mins)

– Also: B caches A’s MAC and IP addresses, other nodes refresh

djw // CS 561, Spring 2000 L5.30

Mobile IP Issues in Practice

• Scalable, and backwards compatible• Slow takeoff: quasi-mobile and DHCP• Handoff latencies• Security

djw // CS 561, Spring 2000 L5.31

ARP Example

• To send a message … common case doesn’t require ARP

time

A B

Who-is X?

I-am X

<Message>