PART III. Implementing Inter-Network Relationships with BGP

Similar documents
Inter-AS routing and BGP. Network Layer 4-1

Chapter 4: outline. Network Layer 4-1

Chapter IV: Network Layer

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Chapter 4: Network Layer

DATA COMMUNICATOIN NETWORKING

CSCI Topics: Internet Programming Fall 2008

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

CS 204: BGP. Jiasi Chen Lectures: MWF 12:10-1pm Humanities and Social Sciences

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4

Internet inter-as routing: BGP

Internet Routing Protocols Lecture 03 Inter-domain Routing

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

Routing part 2. Electrical and Information Technology

Computer Networking Introduction

Internet Routing Protocols Lecture 01 & 02

Routing in the Internet

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Routing Unicast routing protocols

Inter-Domain Routing: BGP

Routing. Jens A Andersson Communication Systems

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)!

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

CSC 4900 Computer Networks: Routing Protocols

TELE 301 Network Management

Lecture 19: Network Layer Routing in the Internet

Lecture 16: Border Gateway Protocol

CSc 450/550 Computer Networks Internet Routing

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing

Chapter 4: Network Layer, partb

Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277)

Internet Routing : Fundamentals of Computer Networks Bill Nace

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Network layer: Overview. Network layer functions Routing IP Forwarding

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

COMP/ELEC 429 Introduction to Computer Networks

Lecture 18: Border Gateway Protocol

Lecture 17: Border Gateway Protocol

CS4700/CS5700 Fundamentals of Computer Networks

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

Introduction to Communication Networks Spring Unit 16 Global Internetworking

CNT Computer and Network Security: BGP Security

internet technologies and standards

Configuring BGP. Cisco s BGP Implementation

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

Master Course Computer Networks IN2097

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

ETSF10 Internet Protocols Routing on the Internet

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

Professor Yashar Ganjali Department of Computer Science University of Toronto.

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Routing on the Internet. Routing on the Internet. Hierarchical Routing. Computer Networks. Lecture 17: Inter-domain Routing and BGP

CS BGP v4. Fall 2014

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

CS 268: Computer Networking. Next Lecture: Interdomain Routing

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

Inter-Autonomous-System Routing: Border Gateway Protocol

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP

Other Developments: CIDR

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Border Gateway Protocol - BGP

Routing Protocols --- Exterior Gateway Protocol

Inter-domain Routing. Outline. Border Gateway Protocol

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Chapter 4 Network Layer

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Inter-Autonomous-System Routing: Border Gateway Protocol

Network layer: Overview. Network layer functions Routing IP Forwarding

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22)

CSCE 463/612 Networks and Distributed Processing Spring 2018

Border Gateway Protocol

Chapter 13 Configuring BGP4

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

Interdomain Routing. EE122 Fall 2011 Scott Shenker

HY 335 Φροντιστήριο 8 ο

Introduction to BGP ISP/IXP Workshops

IP Addressing & Interdomain Routing. Next Topic

An overview of how packets are routed in the Internet

Internet Interconnection Structure

L11 : Inter-domain Routing with BGP Lecture14 Michaelmas, 2016

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo

Border Gateway Protocol (BGP-4)

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

Communication Networks

Transcription:

PART III Implementing Inter-Network Relationships with BGP ICNP 2002

Routing Protocols Autonomous System

BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today s global Internet Relatively simple protocol, but configuration is complex and the entire world can see, and be impacted by, your mistakes. 1989 : BGP-1 [RFC 1105] Replacement for EGP (1984, RFC 904) 1990 : BGP-2 [RFC 1163] 1991 : BGP-3 [RFC 1267] 1995 : BGP-4 [RFC 1771] Support for Classless Interdomain Routing (CIDR) 3

Routing problems YouTube outage underscores big Internet problem BGP (Border Gateway Protocol) routing

BGP Operations (Simplified) Establish session on TCP port 179 AS1 Exchange all active routes BGP session AS2 Exchange incremental updates While connection is ALIVE exchange route UPDATE messages 5

Two Types of BGP Neighbor Relationships External Neighbor (ebgp) in a different Autonomous Systems AS1 Internal Neighbor (ibgp) in the same Autonomous System ebgp ibgp is routed (using IGP!) ibgp AS2

Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto interdomain routing protocol glue that holds the Internet together BGP provides each AS a means to: ebgp: obtain subnet reachability information from neighboring ASs. ibgp: propagate reachability information to all AS-internal routers. determine good routes to other networks based on reachability information and policy Allows subnet to advertise its existence to rest of Internet: I am here Network Layer 4-7

BGP basics BGP session: two BGP routers ( peers ) exchange BGP messages Advertising paths to different destination network prefixes ( path vector protocol) Exchanged over semi-permanent TCP connections When AS3 advertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix AS3 can aggregate prefixes in its advertisement other networks 3b 3c AS3 3a 1a AS1 BGP message 1c 1d 1b 2a 2c AS2 2b other networks Network Layer 4-8

BGP Session Border router Internal router BGP Managed Session is used to 1) Distribute externally learned routes internally 2) Distribute routes to external destinations

BGP messages BGP messages exchanged between peers over TCP connection BGP messages: OPEN: opens TCP connection to peer and authenticates sender UPDATE: advertises new path (or withdraws old) KEEPALIVE: keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection announcement = prefix + attributes values

BGP FSM Event/Action List 1 Request for Connection 2 Connection Succeeded 3 Connection Failed 4 "Open" Received 5 "KeepAlive" Received 6 "Update" Received 7 "Notification" Received 8 "Open" Sent 9 "KeepAlive" Sent 10 "Update" Sent 11 "Notification" Sent 12 Close connection 13 Any Error, including: TCP operation error, Packets format error, Packets type error. 14 KeepAlive Timer Expire 15 KeepAlive Timer Reset 16 HoldOn Timer Reset 17 HoldOn Timer Expire 12 13 / 3/12 Idle Any State Other than Idle/Active/ Connect 13 / 12 13/12 7 / 12 Active Connect 13 / 11,12 4/8, 9 Idle -/8 Open Confirmed 17/11,12 4/9 5/16 -/10 Open Sent 5/- (15,16) Established 14 / 15,9 Established 1/- 2/- 6/-

BGP basics: distributing path information Using ebgp session between 3a and 1c, AS3 sends prefix reachability info to AS1 1c can then use ibgp do distribute new prefix info to all routers in AS1 1b can then re-advertise new reachability info to AS2 over 1b-to-2a ebgp session When router learns of new prefix, it creates entry for prefix in its forwarding table other networks 3b AS3 3a 1a AS1 1c 1d ebgp session ibgp session 1b 2a 2c AS2 2b other networks Network Layer 4-12

BGP routing policy W A B C X legend: provider network customer network: Y A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks X does not want to route from B via X to C.. so X will not advertise to B a route to C 4-14

BGP routing policy (2) W A B C X legend: provider network customer network: Y A advertises path AW to B B advertises path BAW to X Should B advertise path BAW to C? No way! B gets no revenue for routing CBAW since neither W nor C are B s customers B wants to force C to route to w via A B wants to route only to/from its customers!

Path attributes & BGP routes Advertised prefix includes BGP attributes prefix + attributes = route Two important attributes AS-PATH: contains ASs through which prefix advertisement has passed: e.g., AS 67, AS 17 NEXT-HOP: indicates specific internal-as router to next-hop AS (may be multiple links from current AS to next-hop-as) Gateway router receiving route advertisement uses import policy to accept/decline e.g., never route through AS x policy-based routing Network Layer 4-16

Attributes are Used to Select Best Routes 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! Given multiple routes to the same prefix, a BGP speaker must pick at most one best route (Note: it could reject them all!)

BGP Route Processing Open ended programming. Constrained only by vendor configuration language Receive BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table

BGP Design Distance vector protocol Implements policies to enable politics and traffic engineering Decision process (in each router): updates updates in-policy filter in-policy filter best path selection out-policy filter (modified) updates 19

Route Selection Summary Highest Local Preference Enforce relationships Shortest ASPATH Lowest MED i-bgp < e-bgp Lowest IGP cost Traffic engineering Lowest router ID Throw up hands and break ties

BGP Next Hop Attribute 12.125.133.90 AS 6431 AT&T Research AS 7018 AT&T 12.127.0.121 AS 12654 RIPE NCC RIS project 135.207.0.0/16 Next Hop = 12.125.133.90 135.207.0.0/16 Next Hop = 12.127.0.121 Every time a route announcement crosses an AS boundary, the Next Hop attribute is changed to the IP address of the border router that announced the route. 21

Join EGP with IGP For Connectivity 135.207.0.0/16 Next Hop = 192.0.2.1 135.207.0.0/16 10.10.10.10 AS 1 192.0.2.1 Forwarding Table 192.0.2.0/30 destination next hop 192.0.2.0/30 10.10.10.10 + Forwarding Table destination next hop EGP destination next hop 135.207.0.0/16 10.10.10.10 135.207.0.0/16 192.0.2.1 AS 2

LOCAL PREFERENCE Local preference used ONLY in ibgp AS 4 local pref = 80 local pref = 90 AS 3 local pref = 100 Higher Local preference values are more preferred AS 2 AS 1 13.13.0.0/16 25

ASPATH Attribute 135.207.0.0/16 AS Path = 1755 1239 7018 6341 AS 1129 Global Access 135.207.0.0/16 AS Path = 1239 7018 6341 AS 1755 Ebone 135.207.0.0/16 AS Path = 1129 1755 1239 7018 6341 Sprint AS 1239 135.207.0.0/16 AS Path = 7018 6341 AS 12654 RIPE NCC RIS project 135.207.0.0/16 AS Path = 6341 AS 6341 AT&T Research 135.207.0.0/16 Prefix Originated AS7018 AT&T 135.207.0.0/16 AS Path = 7018 6341 135.207.0.0/16 AS Path = 3549 7018 6341 AS 3549 Global Crossing 28

Shorter Doesn t Always Mean Shorter Mr. BGP says that path 4 1 is better than path 3 2 1 Duh! AS 4 AS 3 AS 2 AS 1

Interdomain Loop Prevention AS 7018 BGP at AS YYY will never accept a route with ASPATH containing YYY Don t Accept! 12.22.0.0/16 ASPATH = 1 333 7018 877 AS 1 30

Traffic Often Follows ASPATH 135.207.0.0/16 ASPATH = 3 2 1 AS 1 135.207.0.0/16 AS 2 AS 3 AS 4 IP Packet Dest = 135.207.44.66

But It Might Not AS 1 135.207.0.0/16 ASPATH = 1 135.207.44.0/25 ASPATH = 5 AS 2 AS 2 filters all subnets with masks longer than /24 AS 3 135.207.0.0/16 ASPATH = 3 2 1 AS 4 135.207.0.0/16 IP Packet Dest = 135.207.44.66 AS 5 135.207.44.0/25 From AS 4, it may look like this packet will take path 3 2 1, but it actually takes path 3 2 5

AS Graphs Depend on Point of View 1 3 peer provider peer customer 2 4 5 6 1 3 2 1 3 2 1 3 2 4 5 6 4 5 6 4 5 6

Implementing Backup Links with Local Preference (Outbound Traffic) AS 1 primary link backup link Set Local Pref = 100 for all routes from AS 1 AS 65000 Set Local Pref = 50 for all routes from AS 1 Forces outbound traffic to take primary link, unless link is down We ll talk about inbound traffic soon 34

Why different Intra- and Inter-AS routing? Policy Inter-AS: admin wants control over how its traffic routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Performance Intra-AS: can focus on performance Inter-AS: policy may dominate over performance 4-35

Import Routes provider route peer route customer route ISP route From provider From provider From peer From peer From customer From customer

Export Routes provider route peer route customer route ISP route To provider From provider To peer To peer To customer To customer filters block

Basic BGP commands Basic Commands router bgp <as-number> neighbor <ip address> remote-as <as-number> Examples router bgp 400 neighbor 120.5.1.1 remote-as 300 neighbor 5.5.5.3 remote-as 3 network 2.2.2.0 mask 255.255.255.0 show commands show ip bgp show ip bgp neighbors

Protocoles et Interconnexions Course Overview and Introduction Dario Vieira Department of Computer Science EFREI