Inter-domain Routing Don Fussell CS 395T Measuring Internet Performance.

Slides:



Advertisements
Similar presentations
1 Copyright  1999, Cisco Systems, Inc. Module10.ppt10/7/1999 8:27 AM BGP — Border Gateway Protocol Routing Protocol used between AS’s Currently Version.
Advertisements

BGP.
CS Summer 2003 CS672: MPLS Architecture, Applications and Fault-Tolerance.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
Network Layer4-1 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables! r routing table exchange would.
Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Path Vector Routing NETE0514 Presented by Dr.Apichan Kanjanavapastit.
The Border Gateway Protocol and Classless Inter-Domain Routing
© J. Liebeherr, All rights reserved 1 Border Gateway Protocol This lecture is largely based on a BGP tutorial by T. Griffin from AT&T Research.
Border Gateway Protocol Autonomous Systems and Interdomain Routing (Exterior Gateway Protocol EGP)
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol –Datagram format.
1 Network Architecture and Design Routing: Exterior Gateway Protocols and Autonomous Systems Border Gateway Protocol (BGP) Reference D. E. Comer, Internetworking.
CS 164: Global Internet Slide Set In this set... More about subnets Classless Inter Domain Routing (CIDR) Border Gateway Protocol (BGP) Areas with.
CS Summer 2003 Lecture 3. CS Summer 2003 What is a BGP Path Attribute? BGP uses a set of parameters known as path attributes to characterize.
The Border Gateway Protocol (BGP) Sharad Jaiswal.
Computer Networking Lecture 10: Inter-Domain Routing
Unicast Routing Protocols: RIP, OSPF, and BGP
15-744: Computer Networking L-5 Inter-Domain Routing.
Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian’s slides) EE 122: Inter-domain routing – Border Gateway Protocol (BGP)
14 – Inter/Intra-AS Routing
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network Considering the Advantages of Using BGP.
Border Gateway Protocol(BGP) L.Subramanian 23 rd October, 2001.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
TCP/IP Protocol Suite 1 Chapter 14 Upon completion you will be able to: Unicast Routing Protocols: RIP, OSPF, and BGP Distinguish between intra and interdomain.
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
Inter-domain Routing: Today and Tomorrow Dr. Jia Wang AT&T Labs Research Florham Park, NJ 07932, USA
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Review Routing fundamental W.lilakiatsakun. Review Routing Fundamental VLSM VLSM Route Summarization Route Summarization Static & Dynamic Routing Static.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
Interior Gateway Protocol. Introduction An IGP (Interior Gateway Protocol) is a protocol for exchanging routing information between gateways (hosts with.
Lecture 4: BGP Presentations Lab information H/W update.
Chapter 9. Implementing Scalability Features in Your Internetwork.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Unicast Routing Protocols.
Border Gateway Protocol
BGP V1.1. When is BGP Applicable Basic BGP Peer Configuration Troubleshooting BGP Connections BGP Operation and Path Attributes Route Import/Export Selected.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
Computer Networking Inter-Domain Routing BGP (Border Gateway Protocol)
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Exterior Gateway Protocols: BGP-4, CIDR Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
Xuan Zheng (modified by M. Veeraraghavan) 1 BGP overview BGP operations BGP messages BGP decision algorithm BGP states.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #08: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Introduction to Dynamic Routing Protocol Routing Protocols and Concepts.
CSCI-1680 Network Layer: Inter-domain Routing Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, Rodrigo Fonseca John Jannotti.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol)
TCP/IP Protocol Suite 1 Chapter 14 Upon completion you will be able to: Unicast Routing Protocols: RIP, OSPF, and BGP Distinguish between intra and interdomain.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—1-1 BGP Overview Understanding BGP Path Attributes.
BGP and ICMP. Exterior Gateway Protocol (EGP) Like RIP, but no metrics. Just if reachable. Rtr inside a domain collects reachability information and informs.
BGP Basics BGP uses TCP (port 179) BGP Established unicast-based connection to each of its BGP- speaking peers. BGP allowing the TCP layer to handle such.
Text BGP Basics. Document Name CONFIDENTIAL Border Gateway Protocol (BGP) Introduction to BGP BGP Neighbor Establishment Process BGP Message Types BGP.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol)
Border Gateway Protocol BGP-4 BGP environment How BGP works BGP information BGP administration.
TCP/IP Protocol Suite 1 Chapter 14 Upon completion you will be able to: Unicast Routing Protocols: RIP, OSPF, and BGP Distinguish between intra and interdomain.
Border Gateway Protocol DPNM Lab. Seongho Cho
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 Internet Routing 11/11/2009. Admin. r Assignment 3 2.
Border Gateway Protocol
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
Chapter 14 Routing Protocols (RIP, OSPF, and BGP)
Border Gateway Protocol
Computer Networks Protocols
Presentation transcript:

Inter-domain Routing Don Fussell CS 395T Measuring Internet Performance

Internet Routing Two-level architecture, two protocol classes –IGP: Internal Gateway Protocol Within an organization’s network Optimized protocol Intra-domain routing protocol –EGP: External Gateway Protocol Between organizations’ networks Policy routing Inter-domain routing protocol

Internal Gateway Protocol Runs within an Autonomous System (AS) An AS is a collection of routers (not a collection of IP addresses or prefixes) Can provide optimal paths between nodes (according to some cost metric) Examples –RIP (Routing Information Protocol –OSPF (Open Shortest Path First) –IS-IS (Intermediate System to Intermediate System) –IGRP, EIGRP (CISCO proprietary)

External Gateway Protocol Allows different ASs to exchange routing information Policy routing – Control can be exerted over the information that crosses the border between Ass Based on cost metrics, but do not necessarily optimize like IGPs do Examples –BGP4 (Border Gateway Protocol, de facto standard) –EGP (External Gateway Protocol, specific not generic) –GGP (Gateway to Gateway Protocol) –Hello

Distance Vector Protocols Simple to understand and implement Poor scalability, based on transmitting routing tables between routers Require periodic retransmission of routing information as routing tables expire Limited to small networks with simple topologies Can exhibit “counting to infinity” behavior in the presence of link failures Example – RIP (Routing Information Protocol)

Link State Protocols Routers exchange Link State Packets (LSPs), not routing tables LSP information from a router flooded to rest of network Only regenerates this information based on topology changes Good scalability - amount of information sent proportional to topology change, not number of IP prefixes Each router maintains local map of entire network (AS), called Link State Database (LSDB), and constructs shortest path information using Dijkstra’s algorithm Examples – OSPF, IS-IS

Classless Inter-Domain Routing (CIDR) The Internet is a collection of networks – hence an IP address contains two parts, a network identifier and a host identifier Networks within the Internet have different numbers of hosts, hence originally networks were divided into classes Network classes –Class A – 0 in high order bit, network id is in first octet, host address is in the last three octets 128 class A networks each with 16.7 million host addresses –Class B – 10 in high order two bits, network id is in first two octets, host address is in the last two octets 16,384 class B networks each with 65,535 host addresses –Class C – 110 in high order three bits, network id is in the first three octets, host address is in the last octet 2.1 million class C networks each with 255 host addresses –Class D – for multicast –Class E – reserved and unused This architecture is now obsolete

Classless Addressing Rapid growth of Internet outpaced class based addressing –Routing tables growing too large –Running out of IP address space –CIDR primarily addresses routing table problem Basic idea – get rid of implicit netmasks, pass explicit netmasks in inter-domain routing protocols CIDR allows service providers to aggregate classful networks and provide single summarized routing advertisements to other domains, thus controlling the growth of routing tables Addresses can overlap, forwarding must use longest matching prefix

CIDR Advantages Reduced the size of the Internet routing table Reduced the growth rate of the Internet routing table Allows current generation routers to handle Internet addressing and forwarding Extended the lifetime of IPv4 addressing

CIDR Issues Address allocation must be done in such a way as to allow aggregation BGP4, which was created to support CIDR, must also be configured to support aggregation Multihoming – having more than one link to the Internet – how to aggregate Proxy aggregation – One AS performs aggregation of addresses contained within another

BGP Outline Based on Distance Vector algorithms Uses TCP as transport protocol A BGP session involves two nodes Routers can be involved in several concurrent BGP sessions BGP message types –Open session –Activate new routes to prefixes –Deactivate old routes to prefixes –Report unusual conditions –Close session Advertised routes are actively being used by advertiser Prefix advertisement attributes –Next hops –Route preference metrics –AS path of routing announcement –How the prefix entered the routing table of the source AS BGP is extensible – new attributes can be added as needed

BGP State Machine Idle Connect Active Open Sent Open Confirm Established Connection Accepted Open Received TCP Connection Failed TCP Connection Established Connection Rejected or Error Error TCP Connection Attempted TCP Connection Failed

BGP Message Types Open Update Notification Keepalive

Open Message Version (1 octet) My Autonomous System (2 octets) Hold time (2 octets) BGP identifier (4 octets) Optional parameters length (1 octet) Optional parameters (variable length –Type (1 octet) –Length (1 octet) –Value (variable)

OPEN Optional Parameters 1 – Authentication information (1 octet authentication code and variable length information field. Not really used.) 2 – Capability negotiation

Update Message Withdrawn (unfeasible) routes length (2 octets) Withdrawn (unfeasible) routes (variable) –IP prefix length in bits (1 octet) –IP prefix (variable) Total path attributes length (2 octets) Path attributes (variable) Network layer reachability information (variable)

Attribute Encoding Attribute Type (2 octets) –Attribute Flags (1 octet) –Attribute Type Code (1 octet) Attribute Length (1 or 2 octets) Attribute Value (variable)

Attribute Flags Bit 1 – Optional –0 = well-known, required in all BGP implementations –1 = optional Bit 2 – Transitive –0 = non-transitive, not passed to other peers –1 = transitive, must be passed on to others Bit 3 – Partial –1 = some router didn’t understand optional transitive attribute –0 = otherwise, must be 0 for well-known and optional nontransitive attributes Bit 4 – Extended Length –0 = attribute length represented in 1 octet –1 = attribute length represented in 2 octets

Notification Message Error code (1 octet) Error subcode (1 octet) Data (variable)

Error Codes 1 – Message Header Error 2 – OPEN Message Error 3 – UPDATE Message Error 4 – Hold Timer Expired 5 – Finite State Machine Error 6 – Cease

Message Header Error Subcodes 1 – Connection Not Synchronized 2 – Bad Message Length 3 – Bad Message Type

OPEN Message Error Subcodes 1 – Unsupported Version Number 2 – Bad Peer AS 3 – Bad BGP Identifier 4 – Unsupported Optional Parameter 5 – Authentication Failure 6 – Unacceptable Hold Time

UPDATE Message Error Subcodes 1 – Malformed Attribute List 2 – Unrecognized Well-known Attribute 3 – Missing Well-known Attribute 4 – Attribute Flags Error 5 – Attribute Length Error 6 – Invalid ORIGIN Attribute 7 – AS Routing Loop 8 – Invalid NEXT-HOP Attribute 9 – Optional Attribute Error 10 – Invalid Network Field 11 – Malformed AS-PATH

Keepalive Common header, no data

Model of Operation Each peer contains three locations –Adj-RIB-In (Adjacent Routing Information Base In) 1 per peer (BGP session) Contains prefixes learned from that peer –Loc-RIB (Local Routing Information Base) 1 per system Contains prefixes selected for use –Adj-RIB-Out (Adjacent Routing Information Base Out) 1 per peer (BGP session) Contains prefixes advertised to that peer

Standard Attributes 1 – Origin (well-known) –Indicates how a given prefix came into BGP at the AS originating the prefix announcement –1 – IGP: The prefix was learned from an IGP –2 – EGP: The prefix was learned through BGP –3 – INCOMPLETE: The prefix was learned through some mechanism other than IGP or EGP, in practice these are the static routes

Standard Attributes 2 – AS-PATH (well-known) –Contains sequence of ASNs through which the announcement has passed –Primarily used for loop detection/prevention –If a peer’s ASN appears in the AS-PATH, the announcement is generally rejected, although some implementations can be configured to accept such a route for partition healing. –Encoded as sequence of AS-PATH segments Each has a TYPE ( 1 octet), LENGTH (1 octet), VALUE (list of length LENGTH of 2 octet ASNs) TYPE is either AS-SET or AS-SEQUENCE, allows for aggregation of routes received via different AS-PATHS

Standard Attributes 3 – NEXT-HOP (well-known) –Address of the node to send packets to get them to the advertised prefix –Often the same as the speaker’s IP address –Can be different (third-party next hop), otherwise would be redundant –Requires special configuration, need not be accepted by listener –Can be useful when several routers are on a LAN but only some of them speak BGP

Standard Attributes 4 – MULTI-EXIT-DISCRIMINATOR (MED) (optional, nontransitive, 4-octet unsigned integer) –Used when two ASs connect to each other at multiple places –Carries a metric expressing a degree of preference for the link in the advertisement for routing to a prefix –Sent by one AS, used by another, thus typically used in provider-subscriber relationships

Standard Attributes 5 – LOCAL-PREF (well-known, discretionary, 4 octet unsigned integer) –Generally used locally by an AS to express preferences for routes to a prefix when multiple routes to different ASs are known –Different from MED in that it isn’t passed by one AS to another, and doesn’t only apply to multiple connections between a pair of ASs

Standard Attributes 6 – ATOMIC-AGGREGATE (well-known, discretionary, 0 length used as a flag) –Indicates that the advertised prefix has been aggregated –Some parts of paths to parts of the aggregate address space advertised may not appear in the AS-PATH –The receiver of the advertisement should not deaggregate the prefix into more specific BGP entries

Standard Attributes 7 – AGGREGATOR (optional, transitive, 2 octet ASN, 4 octet IP address) –Indicates the AS and router that performed the aggregation of the announced prefix

Internal and External BGP How do multiple routers speaking BGP within a single AS exchange routing information? –Could use IGP such as OSPF, but the volume of routing table information and frequency of updates typically transmitted by BGP would break LSPs –A preferred way is to use Internal BGP (I-BGP) –Strictly speaking, we should call the typical EGP use of BGP E- BGP –Basically, the two are the same, with the key difference that prefixes learned from an E-BGP neighbor can be advertised to an I-BGP neighbor and vice versa, but a prefix learned from an I-BGP neighbor cannot be advertised to another I-BGP neighbor –This presents looping routing announcements within an AS, the AS-PATH attribute is useless for this within one AS –It also leads to the requirement of a full-mesh of logical connections between I-BGP peers within an AS

BGP Route Selection How does a system choose among multiple routes for the same (identical, not overlapping) prefix? –The route with the highest LOCAL-PREF is selected first –If no unique route is found, then the route with the shortest AS- PATH is selected from among those previously selected, –If this does not produce a unique route, then if the system accepts MED and the multiple routes were learned from a single neighboring AS, the route with the lowest MED value is selected –If multiple routes are still available, then choose the route with the minimum cost to the NEXT-HOP according to the IGP in use –If no unique route has been chosen, and exactly one of the routes was learned by E-BGP, choose that one. –If no unique route has been chosen, and all routes were learned via I-BGP, then choose the route learned from the I-BGP neighbor with the lowest BGP ID