Document 7550562

Download Report

Transcript Document 7550562

ECE544: Communication Networks-II, Spring 2007

D. Raychaudhuri Lecture 5 Includes teaching materials from L. Peterson

Today’s Lecture

• Routing metrics • Scalable IP routing • IPv6 • Inter-domain routing (BGP)

Routing Metrics

Metric choices

• Static metrics (e.g., hop count) – good only if links are homogeneous – not the case in the Internet • Static metrics do not take into account: – link delay – link capacity – link load (hard to measure)

Original ARPANET metric

• Cost proportional to queue size – instantaneous queue length as delay estimator • Problems : – did not take into account link speed – poor indicator of expected delay due to rapid fluctuations – delay may be longer even if queue size is small due to contention for other resources

New metric

• Delay = (depart time - arrival time) + transmission time + link propagation delay – (depart time - arrival time) captures queuing – transmission time captures link capacity – link propagation delay captures the physical length of the link • Measurements averaged over 10 seconds – Update sent if difference > threshold, or every 50 seconds

Performance of new metric

• Works well for light to moderate load – static values dominate • Oscillates under heavy load – queuing dominates • Reason: there is no correlation between original and new values of delay after re-routing!

Specific problems

• Range is too wide – 9.6 Kbps highly loaded link can appear 127 times costlier than 56 Kbps lightly loaded link – can make a 127-hop path look better than 1-hop • No limit in reported delay variation • All nodes calculate routes simultaneously – triggered by link update

Consequences

• Low network utilization (50% in example) • Congestion can spread elsewhere • Routes could oscillate between short and long paths • Large swings lead to frequent route updates – more messages – frequent SPT re-calculation

Revised link metric

• Better metric: packet delay = f(queueing, transmission, propagation).

• When lightly loaded, transmission and propagation are good predictors • When heavily loaded queueing delay is dominant and so transmission and propagation are bad predictors

New metric (routing units)

Routing metric v.s. link utilization

225 140 9.6 satellite 90 75 60 30 9.6 terrestrial 56 satellite 56 terrestrial 0 25% 50% 75% 100% Utilization

Observations

• Cost of highly loaded link never more than 3*cost when idle • Most expensive link is 7 * least expensive link • High-speed satellite link is more attractive than low-speed terrestrial link

Routing dynamics

Utilization 1.0

Bounded oscillation Metric map 0.75

0.5

0.25

0 0.5

1.0

Network response 1.5

2.0

2.5

3.0

3.5

4.0

Link reported cost

Routing dynamics

Utilization 1.0

0.75

0.5

Easing in a new link Metric map 0.25

0 0.5

1.0

1.5

Network response 2.0

2.5

3.0

3.5

4.0

Reported cost

Scalable IP Routing

How to Make Routing Scale

• Flat versus Hierarchical Addresses • Inefficient use of Hierarchical Address Space – class C with 2 hosts (2/255 = 0.78% efficient) – class B with 256 hosts (256/65535 = 0.39% efficient) • Still Too Many Networks – routing tables do not scale – route propagation protocols do not scale

Internet Structure

Recent Past Stanford Berkeley BARRNET regional P ARC NCAR NSFNET backbone Westnet regional UA UNM UNL MidNet regional KU ISU

Today

Internet Structure

Large corporation “Consumer ” ISP Peering point “ Consumer” ISP Backbone service provider Large corporation “Consumer”ISP Small corporation Peering point

Subnetting

• Add another level to address/routing hierarchy: subnet • Subnet masks define variable partition of host part • Subnets visible only within site Network number Host number Class B address 111111111111111111111111 00000000 Subnet mask (255.255.255.0) Network number Subnet ID Host ID Subnetted address

Subnet Example

Subnet mask: 255.255.255.128

Subnet number: 128.96.34.0

128.96.34.15

H1 128.96.34.1

R1 128.96.34.130

Subnet mask: 255.255.255.128

Subnet number: 128.96.34.128

H3 128.96.34.129

128.96.33.14

R2 128.96.33.1

Subnet mask: 255.255.255.0

Subnet number: 128.96.33.0

128.96.34.139

H2 Forwarding table at router R1 Subnet Number Subnet Mask Next Hop 128.96.34.0 255.255.255.128 interface 0 128.96.34.128 255.255.255.128 interface 1 128.96.33.0 255.255.255.0 R2

Supernetting (CIDR)

• Assign block of contiguous network numbers to nearby networks • Called CIDR: Classless Inter-Domain Routing • Protocol uses a (length, value) pair

length = # of bits in network prefix

• Use CIDR bit mask to identify block size • All routers must understand CIDR addressing • Routers can aggregate routes with a single advertisement -> use longest prefix match

Supernetting (CIDR)

• Routers can aggregate routes with a single advertisement -> use longest prefix match • Hex/length notation for CIDR address: – C4.50.0.0/12 denotes a netmask with 12 leading 1 bits, i.e. FF.F0.0.0

• Routing table uses “longest prefix match” – 171.69 (16 bit prefix) = port #1 – 171.69.10 (24 bit prefix) = port #2 – then DA=171.69.10.5 matches port #1 – and DA = 171.69.20.3 matches port#2

Route Aggregation with CIDR

Corporation X (11000000000001000001) Border gateway (advertises path to 11000000000001) Regional network Corporation Y (11000000000001000000) Chapter 4, Figure 26

IP Version 6

• Features – 128-bit addresses (classless) – multicast – real-time service – authentication and security – autoconfiguration – end-to-end fragmentation – protocol extensions • Header – 40-byte “base” header – extension headers (fixed order, mostly fixed length) • fragmentation • source routing • authentication and security • other options

IPv6 Technology Scope

IP Service IPv4 Solution IPv6 Solution

Addressing Range Autoconfiguration Security Mobility Quality-of-Service IP Multicast 32-bit, Network Address Translation DHCP IPSec Mobile IP Differentiated Service, Integrated Service IGMP/PIM/Multicast BGP 128-bit, Multiple Scopes Serverless, Reconfiguration , DHCP IPSec Mandated, works End-to-End Mobile IP with Direct Routing Differentiated Service, Integrated Service MLD/PIM/Multicast BGP, Scope Identifier

IPv4 & IPv6 Header Comparison

Version IHL

IPv4 Header

Type of Service Total Length

IPv6 Header

Version Traffic Class Flow Label Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Payload Length Next Header Source Address Hop Limit

- field ’s name kept from IPv4 to IPv6 - fields not kept in IPv6 - Name & position changed in IPv6 - New field in IPv6

Destination Address

IPv6 Addressing

• IPv6 Addressing rules are covered by multiples RFC’s –Architecture defined by RFC 2373 • Address Types are : –Unicast : One to One (Global, Link local, Site local, Compatible) –Anycast : One to Nearest (Allocated from Unicast) –Multicast : One to Many –Reserved • A single interface may be assigned multiple IPv6 addresses of any type (unicast, anycast, multicast) –No Broadcast Address -> Use Multicast 27

IPv6 Address Representation

• 16-bit fields in case insensitive colon hexadecimal representation • 2031:0000:130F:0000:0000:09C0:876A:130B • Leading zeros in a field are optional: • 2031 :0: 130F :0:0:9C0: 876A:130B • Successive fields of 0 represented as ::, but only once in an address: • 2031:0:130F :: 9C0:876A:130B • 2031 :: 130F :: 9C0:876A:130B • 0:0:0:0:0:0:0:1 => ::1 • 0:0:0:0:0:0:0:0 => :: • IPv4-compatible address representation • 0:0:0:0:0:0:192.168.30.1 = ::192.168.30.1 = ::C0A8:1E01

IPv6 Addressing

• Prefix Format (PF) Allocation –PF = 0000 0000 : Reserved –PF = 001 : Aggregatable Global Unicast Address –PF = 1111 1110 10 : Link Local Use Addresses (FE80::/10) –PF = 1111 1110 11 : Site Local Use Addresses (FEC)::/10) –PF = 1111 1111 : Multicast Addresses (FF00::/8) –Other values are currently Unassigned (approx. 7/8th of total) • All Prefix Formats have to support EUI-64 bits Interface ID setting –But Multicast 29

Aggregatable Global Unicast Addresses

3 Provider 45 bits Site 16 bits Host 64 bits Global Routing Prefix SLA Interface ID 001

• Aggregatable Global Unicast addresses are: –Addresses for generic use of IPv6 –Structured as a hierarchy to keep the aggregation • See draft-ietf-ipngwg-addr-arch-v3-07

Address Allocation

/48 /23 /32 /64 2001 0410 Interface ID Registry ISP prefix Site prefix LAN prefix Bootstrap process - RFC2450

• The allocation process is under reviewed by the Registries: –IANA allocates 2001::/16 to registries –Each registry gets a /23 prefix from IANA –Formely, all ISP were getting a /35 –With the new proposal, Registry allocates a /36 (immediate allocation) or /32 (initial allocation) prefix to an IPv6 ISP –Policy is that an ISP allocates a /48 prefix to each end customer –ftp://ftp.cs.duke.edu/pub/narten/ietf/global-ipv6-assign-2002-04-25.txt

Hierarchical Addressing & Aggregation

Customer no 1 Only announces the /32 prefix 2001:0410:0001:/48 ISP 2001:0410::/32 Customer no 2 IPv6 Internet 2001::/16 2001:0410:0002:/48

–Larger address space enables: •Aggregation of prefixes announced in the global routing table.

•Efficient and scalable routing.

Link-Local & Site-Local Unicast Addresses

• Link-local addresses for use during auto-configuration and when no routers are present: 1111 1110 10 0 interface ID • Site-local addresses for independence from Global Reachability, similar to IPv4 private address space interface ID 1111 1110 11 0 SLA*

Multicast Addresses (RFC 2375)

11111111 flags scope group ID 8 4 4 112 bits • low-order flag indicates permanent / transient group; three other flags reserved • scope field: 1 - node local –2 - link-local –5 - site-local –8 - organization-local –B - community-local –E - global –(all other values reserved)

more on IPv6 Addressing

80 bits 16 bits 0000……………………………0000 0000 32 bits IPv4 Address IPv6 Addresses with Embedded IPv4 Addresses 80 bits 16 bits 0000……………………………0000 FFFF 32 bits IPv4 Address IPv4 mapped IPv6 address

35

IPv6 Addressing Examples

LAN: 3ffe:b00:c18:1::/64 Ethernet0 interface Ethernet0 ipv6 address 2001:410:213:1::/64 eui-64 MAC address: 0060.3e47.1530

router# show ipv6 interface Ethernet0 Ethernet0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::260:3EFF:FE47:1530 Global unicast address(es): 2001:410:213:1:260:3EFF:FE47:1530, subnet is 2001:410:213:1::/64 Joined group address(es): FF02::1:FF47:1530 FF02::1 FF02::2 MTU is 1500 bytes

BGP Overview

BGP-4: Border Gateway Protocol

• AS (Autonomous System) Types – stub AS: has a single connection to one other AS • carries local traffic only – multihomed AS: has connections to more than one AS • refuses to carry transit traffic – transit AS: has connections to more than one AS • carries both transit and local traffic • Each AS has: – one or more border routers – one BGP speaker that advertises: • local networks • other reachable networks (transit AS only) • gives path information

Example

5 1 1.1

IGP

1.2

EGP

2 2.1

IGP

2.2

2.2.1

5.1

IGP EGP EGP EGP

3 3.1

IGP

3.2

5.2

EGP

4.1

IGP

4.2

4

1 1.1

Path Suboptimality

2 1.2

2.1

2.2

2.2.1

3 hop red path vs 2 hop green path 3 3.1

3.2

Choices

• Link state or distance vector?

– no universal metric - policy decisions • Problems with distance-vector: – Bellman-Ford algorithm may not converge • Problems with link state: – metric used by routers not the same - loops – LS database too large - entire Internet – may expose policies to other AS’s

Solution: Path Vectors

• Each routing update carries the entire path • Loops are detected as follows: – when AS gets route check if AS already in path – if yes, reject route – if no, add self and advertise route further • Advantage: – metrics are local - AS chooses path, protocol ensures no loops

Problems

• Routing table size – need an entry for all paths to all networks • Required memory= O(N + M*A) * K) – N: number of networks – M: mean AS distance – A: number of AS’s – K: number of BGP peers • Problem reduced with CIDR

Routing table size

networks (NLRI) 2,100 mean AS distance 5 # of AS’s 59 BGP peers/net 3 memory 27,000 4,000 10,000 100,000 10 15 20 100 300 3,000 6 10 20 108,000 490,000 1,040,000

BGP Example

• 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 Customer P (AS 4) 128.96

192.4.153

Regional provider A (AS 2) Backbone network (AS 1) Customer Q (AS 5) 192.4.32

192.4.3

Regional provider B (AS 3) Customer R (AS 6) 192.12.69

Customer S (AS 7) 192.4.54

192.4.23

• Speaker for backbone advertises – networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along the path (AS1, AS2).

• Speaker can cancel previously advertised paths

Interior BGP peers

• IGP cannot propagate all the information required by BGP • External routers in an AS use interior BGP (IBGP) connections to communicate • External routers agree on routes and inform IGP IBGP

Interconnecting BGP peers

• BGP uses TCP to connect peers • Advantages: – BGP much simpler – no need for periodic refresh – incremental updates • Disadvantages – congestion control on a routing protocol?

Hop-by-hop model

• BGP advertises to neighbors only those routes that it uses – consistent with the hop-by-hop Internet paradigm – e.g., AS1 cannot tell AS2 to route to other AS’s in a manner different than what AS2 has chosen (need source routing for that)

Policy with BGP

• BGP provides capability for enforcing various policies • Policies are not part of BGP: they are provided to BGP as configuration information • BGP enforces policies by choosing paths from multiple alternatives and controlling advertisement to other AS’s

Examples of BGP policies

• A multihomed AS refuses to act as transit – limit path advertisement • A multihomed AS can become transit for some AS’s – only advertise paths to some AS’s • An AS can favor or disfavor certain AS’s for traffic transit from itself

BGP-4

• Latest version of BGP • BGP-4 supports CIDR

Routing information bases (RIB)

• Routes are stored in RIBs • Adj-RIBs-In: routing info that has been learned from other routers (unprocessed routing info) • Loc-RIB: local routing information selected from Adj-RIBs-In (routes selected locally) • Adj-RIBs-Out: info to be advertised to peers (routes to be advertised)

BGP common header

0 1 2 3 Marker (security and message delineation) Length Type Types: OPEN, UPDATE, NOTIFICATION, KEEPALIVE

0

BGP OPEN message

1 2 3 Marker (security and message delineation) Length My autonomous system Type: update BGP identifier Hold time version Parameter length Optional parameters My AS: id assigned to that AS Hold timer: max interval between KEEPALIVE or UPDATE messages BGP ID: address of one interface (same for all messages)

0

BGP UPDATE message

1 2 3 Marker (security and message delineation) ..routes len Length Type: open Withdrawn..

Withdrawn routes (variable) ...

Path attribute len Path attributes (variable) Network layer reachability information (NLRI) (variable) UPDATE message reports information on a SINGLE path, but can report multiple withdrawn routes

NLRI

• Network Level Reachability Information – list of IP address prefixes encoded as follows: Length (1 byte) Prefix (variable)

BGP NOTIFICATION message

0 1 2 3 Marker (security and message delineation) Length Error sub-code Type: NOTIFICATION Data Error code Used for error notification

BGP KEEPALIVE message

0 1 2 3 Marker (security and message delineation) Length Type: KEEPALIVE Sent periodically to peers to ensure connectivity If hold_time is zero, messages are not sent

Policy routing

T Z Y U Assume Y forbids T’s traffic T cannot reach X, but X can reach T!

X V

Options

• Advertise all paths: – Path 1: through T can reach 197.8.0.0/23 – Path 2: through T can reach 197.8.2.0/24 – Path 3: through T can reach 197.8.3.0/24 • But this does not reduce routing tables! We would like to advertise: – Path 1: through T can reach 197.8.0.0/22

Sources

• RFC1771: main BGP RFC • RFC1772-3-4: application, experiences, and analysis of BGP • RFC1965: AS confederations for BGP • Christian Huitema’s book “Routing in the Internet”, chapters 8 and 9.

• http://www.academ.com/nanog/feb1997/BGP Tutorial/sld022.htm

(Cisco tutorial)

Today’s Homework

• Peterson & Davie, Chap 4 4.31 (3 rd Ed) 4.33

4.40

4.45

Download and browse IPv6 and BGP RFC’s 69