BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

25
BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    1

Transcript of BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Page 1: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

BGP: Inter-Domain Routing Protocol

Noah Treuhaft

U.C. Berkeley

Page 2: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

The need for routing in the Internet

• Need to get packets from source to destination• How do you do this?

– Network is a collection of point-to-point links connected by routers

– Routers’ decisions determine which links you transit– Routing proceeds hop by hop (contrast with source

routing)– How do you determine the next hop?

• Could configure it statically• But the Internet needs a routing system and protocol to

exchange complex and changing routing info

Page 3: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

External and internal gateway protocols

• Autonomous System (AS) – a single administrative domain (ISP, customer)

• External Gateway Protocols exchange routing information between routers of different AS’s.– Goal: support routing policies, scale

• Internal Gateway Protocols exchange routing information among an AS’s own routers– Goal: optimize route taken

Page 4: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Distance vector protocols

• <destination, metric> messages relative to sender– Essentially a routing table

• Contrast with link state protocols– <source, destination, metric> messages

“flooded” to all nodes– Shortest path first (Dijkstra) algorithm builds

routing table

Page 5: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Classless inter-domain routing

• Internet routing was once based on network classes

• Trading classes for variable-length prefixes allows aggregation– Greater flexibility in address allocation– Less routing information required

Page 6: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

BGP communication

• A Border Gateway Protocol (BGP) session consists of a TCP connection between two routers– If connection fails, associated state is dropped.

• Message types: OPEN, UPDATE, NOTIFICATION, KEEPALIVE

• UPDATE format: <withdrawn routes, attributes, valid routes>

Page 7: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

BGP attributes

• ORIGIN – BGP speaker’s unique identifier

• AS-PATH – AS’s that relayed this message

• NEXT-HOP

• MULTI-EXIT-DISCRIMINATOR (MED) – metric for multiple paths between 2 AS’s

• LOCAL-PREF – metric for multiple paths to same prefix

• COMMUNITY – update categorization

Page 8: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Internal-BGP

• Same messages, attributes as External-BGP• Different rules for readvertising prefixes

– Does not readvertise routes from one I-BGP speaker to another

– Prevents looping (E-BGP uses the ASN and AS-PATH for this)

• Route reflection: adding hierarchy for scalability• AS confederation: subdivision of a logical AS into

multiple AS’s

Page 9: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Route Information PropagationIn the Internet Using BGP

Matthew Denny

U.C. Berkeley

Page 10: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Introduction

• Internet consists of different Autonomous Systems (ASs), which consist of admin. defined domains of hosts (e.g. ISPs, universities, companies, etc.)

• Hosts in each AS must be able to send packets to any other host on the Internet

• ASs have routers which exchange routing info. with other ASs using BGP– How do ASs ensure “full reachability” of the Internet,

given no central authority?– How well does the current route information

propagation scheme perform?

Page 11: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Outline

• Introduction

• Structure of ASs

• BGP policies of ASs

• Why does it work?

• Now, does it really work?

Page 12: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Structure of ASs• Somewhat hiearchical (but becoming less so)• 3 Types of relationships

– Customer-Provider: customer AS pays provider AS for access to rest of Internet: provider provides transit service

• End customers pay ISPs, and ISPs in lower “tiers” pay ISPs in higher tiers

– Peers: ASs that allow each other transit service • ISPs on same tier, usually involves no fees

– Customer-Backup Provider: Provider if primary provider fails. May be peers otherwise

• Use BGP to communicate route info. at Network Exchange Points (NAPs) and private peering points

Page 13: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

AS BGP Policies

• Customers export all of their routes and routes of their customers to providers, but not routes from peers or other providers

• Peers export their routes and routes of their customers to other peers, but not routes from peers or other providers

• Providers export all of their routes to customers• Usually, backup providers “promoted” to provider

from peer upon failure of primary• If an AS recieves 2 routes for same prefix, usually

exports the best by some path selection algorithm

Page 14: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

AS BGP Policies

AS1 AS2

AS3 AS4

192.168.0.0/26

192.168.0.64/26 192.168.0.128/26

192.168.0.192/26

192.

168.

0.0/

26

192.

168.

0.19

2/26

192.168.0. 0/25

192.168.0. 128/25

192.168.0. 64/26

192.168.0. 128/25

192.168.0. 128/26

192.168.0. 0/25

192.168.64. 0/26

192.168.0. 128/25

192.168.0. 0/26

192.168.0. 192/26

192.168.0. 128/26

192.168.0. 64/26

192.168.0. 64/26

192.168.0. 128/25192.168.0. 64/26

Page 15: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

AS BGP Policy Details

• Export Policy– To indicate priority of route, most ASs use

communities [Labovitz 2000b]

• Import Policy– AS Path loop detection, not usually selective. Use

communities to infer local pref

• Path Selection– If AS has multiple routes for same prefix, best route

decided by local pref; AS Path and MED are tiebreakers

Page 16: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

How does it work?

• Full Reachability– Provider/Customer relationships form a DAG

• Assumes everyone below tier 1 has a provider

• Convergence– Can diverge, and checking for convergence is an NP

Complete Problem [Griffin 99]

– Assuming strict preferences on route selection and the above structure, [Gao 2000] proves that BGP systems will converge

– Will this hold as peering becomes more common?

Page 17: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Now, Does it Really Work?

• Potential Problems– Route Instability

• Large number of unneeded messages leads to router CPU flooding

– Routers lose Keep-Alive messages go “down”

• “Route Flap” Problem

– Route Convergence• Routes that change (e.g. failover to a backup

provider) may take a long time to propagate correctly through system

• Can cause intermittent loss of connectivity

Page 18: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Route Instability Study

• Labovitz et. al. performed a study to measure instability in BGP Updates [Labovitz 1997, 1999]– Logged BGP update messages at 5 NAPs 1996-

1998, and analyzed instability events• Routes withdrawn that are re-announced, and

“pathological” withdraws

• Some events due to route or policy instability, or pathological behavior

Page 19: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Initial Instability Findings

• In 1996, 45,000 prefixes, 1,500 unique AS paths, 1,300 ASs, 3-6 million BGP update messages/day

• Messages dominated by pathological withdraws• Redundant updates have strong periodicity of 60

sec.• Redundant Updates correspond with network

usage• Instability not dominated by small number of ASs

or routes

Page 20: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Many Problems due to Router Software Implementation

• Pathological withdraws due to “stateless BGP”– Announce withdraws to router peers that did not

originally receive an announcement

• Periodicity due to min. advertisement timer that was fixed in one BGP implementation

• New methods developed to prevent route flaps– BGP messages have higher priority than data, esp

Keep-Alives.

• Labovitz et. al. contacted router vendors, who released patches to fix these bugs

Page 21: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Follow-up Results

• June 1996, 2M pathological withdrawls/day, 10K in June 1998– Due to at least partial “stateful BGP” in most routers

• In 1998, duplicate announcements 40% of traffic– Bug in router software where non-transitive attribute is errantly

“propagated”– Min. advertisement timer allows routes to change back to original

value before transmission; router still sends these routes

• In 1998, vast majority of route fluctuation due to MED changes– Come from 2 ISPs that dynamically assign MEDs from IGP.

Effectively make IGP changes globally visible

Page 22: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Route Convergence

• For a set of real host addresses, Labovitz et. al. inject routing events and observe convergence behavior [Labovitz 2000]– Route failures, new routes, and routes with new

path– Simulated backup routes by inflating AS path– Analyzed BGP traffic– Tested faults affect on routes by sending ICMP

messages to web sites from set of addresses

Page 23: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Convergence Findings

• Delay in failovers ave. 3 min., but up to 15 min. (more than 30 sec. expected)

• Messages/event and convergence time/event varies from ISP to ISP

• Significant increase in packet loss and latency around faults

• Routers use per peer min. advertisement timers, which delays convergence

• Wait for min. advertisement timer to send updates that have loops in them; should use sender side loop detection instead

Page 24: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

Conclusions

• Describe structure of ASs in Internet and how they exchange routing information via BGP

• Discuss work that shows that this structure should work given specific assumptions

• Discuss work that shows, in practice, Internet had instability and convergence problems, but many of these were due to implementation problems

Page 25: BGP: Inter-Domain Routing Protocol Noah Treuhaft U.C. Berkeley.

References

• [Gao 2000] L. Gao and J, Rexford “Stable Internet Routing Without Global Coordination”, SIGMETRICS 2000

• [Labovitz 1997] C. Labovitz, G.R. Malan, F. Jahanian, “Internet Routing Instability”, SIGCOMM 97.

• [Labovitz 1999] C. Labovitz, G.R. Malan, F. Jahanian, “Origins of Internet Routing Instability”, INFOCOMM 1999

• [Labovitz 2000] C. Labovitz, A. Ahuja, A. Bose, F. Jahanian. “Delayed Internet Routing Convergence”, SIGCOMM 1999

• [Labovitz 2000b] C. Labovitz, R. Wattenhofer, S. Venkatachary, A. Ahuja. “The Impact of Internet Policy and Topology on Delayed Routing Convergence”. Microsoft Tech. Report MSR-TR-2000-74, 2000.