IBGP internals. BGP Advanced Topics. Agenda. BGP Continuity 1. L49 - BGP Advanced Topics. L49 - BGP Advanced Topics

Similar documents
Multiprotocol BGP 1 MPLS VPN. Agenda. Multiprotocol BGP 2

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

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP

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

BGP. BGP Overview. Formats of BGP Messages. I. Header

Table of Contents 1 BGP Configuration 1-1

Table of Contents. BGP Configuration 1

Multiprotocol BGP (MBGP)

BGP Attributes (C) Herbert Haas 2005/03/11 1

BGP. Attributes 2005/03/11. (C) Herbert Haas

Configuring basic MBGP

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

HP Load Balancing Module

Internet Interconnection Structure

MPLS VPN Inter-AS with ASBRs Exchanging VPN-IPv4 Addresses

IBGP scaling: Route reflectors and confederations

Configuring BGP. Cisco s BGP Implementation

Configuring Internal BGP Features

Table of Contents 1 MBGP Configuration 1-1

BGP mvpn BGP safi IPv4

ibgp Multipath Load Sharing

InterAS Option B. Information About InterAS. InterAS and ASBR

Operation Manual BGP. Table of Contents

Chapter 1. Getting Started

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

MPLS VPN Carrier Supporting Carrier IPv4 BGP Label Distribution

MPLS VPN Carrier Supporting Carrier Using LDP and an IGP

Network Working Group. Category: Standards Track Cisco Systems. D. Katz Juniper Networks Y. Rekhter. Cisco Systems. February 1998

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

SDN Workshop. Contact: WSDN01_v0.1

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

MPLS VPN Carrier Supporting Carrier Using LDP and an IGP

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

MPLS VPN--Inter-AS Option AB

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

MPLS VPN Carrier Supporting Carrier IPv4 BGP Label Distribution

Implementing MPLS Layer 3 VPNs

ibgp Multipath Load Sharing

Cisco BGP Overview. Finding Feature Information. Prerequisites for Cisco BGP

BGP. Internal and External BGP 2005/03/11. (C) Herbert Haas

Configuring MPLS L3VPN

MPLS VPN Multipath Support for Inter-AS VPNs

Connecting to a Service Provider Using External BGP

ABR (Area Border Router), 206, 216 access, dedicated networks, 23 access layer, three-layer hierarchical design model, 6

MPLS VPN Route Target Rewrite

Configuring Multicast VPN Inter-AS Support

BGP Best External. Finding Feature Information

Contents. BGP commands 1

Configuring BGP: RT Constrained Route Distribution

MPLS VPN Inter-AS Option AB

TELE 301 Network Management

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing

MPLS VPN Carrier Supporting Carrier

MPLS VPN Inter-AS IPv4 BGP Label Distribution

IETF RFCs Supported by Cisco NX-OS Unicast Features Release 6.x

Symbols. Numerics I N D E X

Multi-VRF Support. Finding Feature Information. Prerequisites for Multi-VRF Support

Chapter 6 Lab 6-4, BGP Route Reflectors and Route Filters

Cisco BGP Overview. Finding Feature Information. Prerequisites for Cisco BGP. Last Updated: October 19, 2011

Introduction to BGP ISP/IXP Workshops

MPLS L3VPN. The MPLS L3VPN model consists of three kinds of devices: PE CE Site 2. Figure 1 Network diagram for MPLS L3VPN model

Connecting to a Service Provider Using External BGP

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

H3C S9500 Series Routing Switches

HP FlexFabric 7900 Switch Series

internet technologies and standards

Agenda DUAL STACK DEPLOYMENT. IPv6 Routing Deployment IGP. MP-BGP Deployment. OSPF ISIS Which one?

BGP Diverse Path Using a Diverse-Path Route Reflector

Configuring MPLS and EoMPLS

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

Configuration BGP Services Avaya Ethernet Routing Switch 8300

Configuring MPLS L3VPN

MPLS: Layer 3 VPNs: Inter-AS and CSC Configuration Guide, Cisco IOS Release 15SY

Configuration - BGP Services Avaya Ethernet Routing Switch 5000 Series

BGP Link Bandwidth. Finding Feature Information. Prerequisites for BGP Link Bandwidth

Border Gateway Protocol - BGP

Inter-Domain Routing: BGP

BGP Route Reflector Commands

IOS Implementation of the ibgp PE CE Feature

Multiprotocol BGP Extensions for IP Multicast Commands

Routing Protocol Type Primarily IGP or EGP RIP Distance-Vector IGP EIGRP OSPF IS-IS BGP

CertifyMe. CertifyMe

HP FlexFabric 5930 Switch Series

BGP. Inter-domain routing with the Border Gateway Protocol. Iljitsch van Beijnum Amsterdam, 13 & 16 March 2007

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

BGP Commands: M through N

HP 5920 & 5900 Switch Series

IPv6 Switching: Provider Edge Router over MPLS

L3VPN Configuration. L3VPN Overview. Introduction to L3VPN

MPLS VPN C H A P T E R S U P P L E M E N T. BGP Advertising IPv4 Prefixes with a Label

Implementing Static Routes on Cisco IOS XR Software

Avaya Ethernet Routing Switch 8800/8600 Configuration BGP Services

Configuring Advanced BGP

BGP Cost Community. Prerequisites for the BGP Cost Community Feature

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

Configuration BGP Services Avaya Virtual Services Platform 9000

BGP Tutorial. APRICOT 2003, Taipei February Philip Smith APRICOT , Cisco Systems, Inc. All rights reserved.

Transcription:

IBGP internals BGP Advanced Topics main IBGP aspects inside an AS continuity all packets entering the AS that were not blocked by some policies should reach the proper exit BGP router all transit routers inside the AS should have a consistent view about the routing topology synchronization we should not cheat external partners by declaring that we know how to reach a destination, when we cannot really deliver packets to this destination synchronization with the IGP can solve the packet drop problem Internal versus External BGP Route Reflectors, Confederations, Multiprotocol-BGP BGP Advanced, v4.4 1 BGP Advanced, v4.4 3 BGP Continuity 1 routes learned by internal peers are not advertised to other internal BGP peers prevents routing loops inside the AS therefore a full IBGP mesh is necessary to keep the continuity of BGP updates every BGP router builds BGP sessions with all other internal BGP routers within an AS this might cause manageability and resource problems if the number of BGP sessions in one router exceeds 100 BGP Advanced, v4.4 2 BGP Advanced, v4.4 4 Page 49-1 Page 49-2

BGP Continuity 2 however, the full mesh of IBGP sessions assures only that the BGP routers know the next hop IP address for all transit routes next hop IP address should be in the IP routing table to forward packets into the right direction e.g., learned by IGP, configured by static route if transit routers do not run BGP then they should know how to forward all transit packets to the proper border routers so BGP routes should be injected into IGP to inform all transit routers about proper forwarding directions BGP Synchronization 1 BGP synchronization when a router receives a BGP update for a certain destination from an IBGP peer, the router verifies that destination is reachable before this route is advertised to an other EBGP peer means that an IGP Update must be received for a route first before that IBGP learned route is passed on packet drop problem without synchronization we get incoming traffic for the advertised destination but we cannot deliver, so packets are dropped BGP Advanced, v4.4 5 BGP Advanced, v4.4 7 BGP Continuity 3 remark: injecting (redistributing) BGP routes into IGP might cause resource problems so it is not recommended in general but then all transit routers within an AS should run a fully meshed IBGP so all transit routers should know the destinations without using an IGP if BGP routes are injected into IGP BGP synchronization is necessary BGP synchronization 2 BGP synchronization is not necessary if the AS is not a transit AS or this is the only transit AS for the transit destinations or all transit routers participate in IBGP synchronization causes IGP routing instabilities in the transit path to appear in the global internet possible solutions: use topologies where synchronization is not necessary BGP Advanced, v4.4 6 BGP Advanced, v4.4 8 Page 49-3 Page 49-4

IBGP Scalability IBGP full meshed becomes a scalability issue with many border routers and many BGP routes resource intensive CPU, memory, bandwidth, configuration several ways to solve full-mesh scalability problem BGP core with private AS s confederations (RFC 1965, experimental, Cisco) route reflectors (RFC 1966, experimental, Cisco and RFC 2796, Proposed Standard) route server (RFC 1863, experimental, Bay Networks) new approach using MPLS in Transit-AS BGP Advanced, v4.4 9 BGP Route Reflectors 1 basic concept concentration router acts as focal point for internal BGP sessions the other endpoint of an IBGP sessions is called client multiple BGP routers can peer with a central point (route reflector, RR) multiple route reflectors can peer together naming conventions and operation rules clients together with their RR are called a cluster all peers of RR which are not part of the cluster are nonclients non-clients must be fully meshed with RR BGP Advanced, v4.4 11 BGP Route Reflectors 2 RR function is implemented only on the route reflector clients and non-clients are normal BGP peers that have no notion of the route reflector any RR that receives multiple routes for the same destination will select the best path following usual BGP decision process the best path will be propagated inside the AS on the following rules: if a route is received from a non-client, reflect it to clients only if a route is received from a client, reflect it to all non-clients and also to other clients if a route is received from an EBGP peer, reflect it to and clients and non-clients BGP Advanced, v4.4 10 BGP Advanced, v4.4 12 Page 49-5 Page 49-6

BGP Route Reflectors 3 Example 1: With Route Reflectors RR does not change IBGP behavior preserves attributes received from clients and non-clients for loop avoidance inside an AS additional Originator_ID and Cluster_List attributes were defined Client multi-homing to redundant RR s inside a cluster is possible however, all clients must be multi-homed in the same way Hierarchical RR design is possible RR itself is a client for a higher RR level a cluster cannot span over multiple levels AS 2 BGP Update Route Reflector (RR) AS 1 IBGP Sessions AS 3 EBGP Session to other AS AS 4 BGP Advanced, v4.4 13 BGP Advanced, v4.4 15 Example 1: Without Route Reflectors Example 2: With Route Reflectors BGP Update AS 1 AS 4 client RR IBGP Sessions RR AS 1 client AS 2 IBGP Sessions cluster 1 cluster 2 EBGP Session to other AS nonclient AS 3 EBGP Session to other AS BGP Advanced, v4.4 14 BGP Advanced, v4.4 16 Page 49-7 Page 49-8

Confederations Example IBGP Session sub-as 65501 AS-internal EBGP Session AS 1 sub-as 65502 EBGP Session AS 2 to other AS AS 3 BGP Advanced, v4.4 17 BGP Advanced, v4.4 19 BGP Confederations basic concept an AS is split into multiple sub-as s every sub-as is given a different private AS number range 65412-65535 inside each sub-as all the rule of IBGP apply between sub-as s EBGP is used although EBGP is used between sub-as s routing inside the confederation behaves like IBGP routing in a single AS Next_Hop-, Local_Preference-, and MED-information is preserved when crossing sub-ass boundaries to the outside world a confederation looks like a single AS private AS numbers will be removed from AS_Path when a route is advertised to the outside world BGP Advanced, v4.4 18 BGP Advanced, v4.4 20 Page 49-9 Page 49-10

BGP Route Server an approach to solve the IBGP full-mesh scalability problem developed by Bay Networks can be used additionally as exchange point for EBGP sessions (EBGP Route Server) slightly different to Cisco s Route Reflectors both are specified in RFCs classified experimental IETF is working to move one Router Server standard forward BGP Advanced, v4.4 21 Concept of IGP as BGP Transit in some cases you might be forced to use non- BGP routers in your BGP transit network multi-vendor environment, old models IBGP scaling solutions are not available on intermediate routers if the IGP support route tagging, then you might have a chance to convert BGP information into IGP route tags and back however, exporting and importing BGP information must be done in a consistent way in the whole routing domain some limitations might exist on this conversion, but at least mandatory attributes should be converted and transited BGP Advanced, v4.4 23 Candidate IGP s for BGP Transit Route tagging is available in OSPF RIPv2 Route tagging is not available in RIP IGRP EIGRP BGP Advanced, v4.4 22 BGP Advanced, v4.4 24 Page 49-11 Page 49-12

BGP Advanced, v4.4 25 BGP and OSPF Interaction OSPF aspects internal, external type1, external type 2 routes route aggregation external routes can be tagged (tag field in external LSA) tag is set when importing routes form external domains tag will be used when exporting this routes to another domain using BGP forwarding address to support redirection to other router than ASBR (forwarding address field in external LSA) exporting rules: what and when route information should be given to BGP process should be activated by explicit manual configuration MED not taken from OSPF metric Local_Preference not used BGP Advanced, v4.4 27 BGP and OSPF Interaction defined by RFC 1745 provides a standard for translating BGP attributes to fields in OSPF and vice versa gives interaction rules and implementation guidelines when OSPF functionality and BGP functionality are used at the same time OSPF as IGP BGP-4 as EGP natural point for interaction OSPF autonomous system boundary router (ASBR) BGP and OSPF Interaction BGP aspects exporting rules: what and when route information should be given to OSPF process should be activated by explicit manual configuration OSPF metric defaults for external type 2 never mirror IBGP information back into OSPF handling of default network MED not used BGP identifier and OSPF router ID must be the same OSPF tags used to set Origin and Path Attributes in BGP BGP Advanced, v4.4 26 BGP Advanced, v4.4 28 Page 49-13 Page 49-14

BGP and OSPF Interaction Route tag in OSPF has 32 bits manual generation use of the bits is not specified in the standard export into BGP as origin EGP and only local AS in AS_PATH automatic generation use is specified in the standard path information will be truncated to a maximum of 2 hops at reexport into BGP, so be careful about potential routing loops typically in such cases the route is advertised with origin EGP to reflect the fact that the AS path was truncated origin IGP is generated only if a full path information is really available BGP and RIPv2 Interaction RIPv2 has some special information fields: routing domain - 16 bits Address Family Identifier (AFI) - 16 bits route tag - 16 bits next hop - 32 bits metric - 32 bits these fields might be enough to map BGP information of course, with similar limitations as with OSPF BGP Advanced, v4.4 29 BGP Advanced, v4.4 31 BGP and RIPv2 Interaction from RFC2453 (4.2 Route Tag): This allows for the possibility of a BGP-RIP protocol interactions document, which would describe methods for synchronizing routing in a transit network but this document did not born yet you might use your own scheme maybe something similar to the OSPF interaction e.g. route tag = local or neighbor AS number e.g. routing domain = flags for different types BGP Advanced, v4.4 30 BGP Advanced, v4.4 32 Page 49-15 Page 49-16

Multiprotocol BGP 2 To enable BGP-4 to support routing for multiple network layer protocols two things have to be added the ability to associate a particular network layer protocol with the next hop information the ability to associate a particular network layer protocol with a NLRI To identify individual network layer protocols Address Family Identifiers (AFI) are used values defined in RFC 1700 RFC 1700 is historic, obsoleted by RFC 3232 RFC 3232 specifies a Online Database for ASSIGNED NUMBERS www.iana.org BGP Advanced, v4.4 33 BGP Advanced, v4.4 35 Multiprotocol BGP 1 BGP-4 (RFC 1771) is capable of carrying routing information only for IPv4 The only three pieces of information carried by BGP-4 that are IPv4 specific are the NEXT_HOP attribute (expressed as an IPv4 address), the AGGREGATOR (contains an IPv4 address) the NLRI (expressed as IPv4 address prefixes) Multiprotocol Extensions to BGP-4 RFC 2858 enable it to carry routing information for multiple network layer protocols (e.g., IPv6, IPX, etc...). Address Family Numbers (RFC 1700) Number Description ------ -------------------------------------------------------------- 0 Reserved 1 IP (IP version 4) 2 IP6 (IP version 6) 3 NSAP 4 HDLC (8-bit multidrop) 5 BBN 1822 6 802 (includes all 802 media plus Ethernet "canonical format") 7 E.163 8 E.164 (SMDS, Frame Relay, ATM) 9 F.69 (Telex) 10 X.121 (X.25, Frame Relay) 11 IPX 12 AppleTalk 13 Decnet IV 14 Banyan Vines 65535 Reserved BGP Advanced, v4.4 34 BGP Advanced, v4.4 36 Page 49-17 Page 49-18

Multiprotocol BGP 4 Address Family Identifier (AFI) in MP-BGP this parameter is used to differentiate routing updates of different protocols carried across the same BGP session it is a 16-bit value uses an additional Sub-Address Family Identifier (SAFI) it is a 8-bit value 1 NLRI used for unicast forwarding 2 NLRI used for multicast forwarding 3 NLRI used for both unicast and multicast forwarding Usual notation AFI/SAFI (i.e. x/y) 1/1 IP version 4 unicast 1/2 IP version 4 multicast 1/128 VPN-IPv4 unicast (used for MPLS-VPN) BGP Advanced, v4.4 37 Multiprotocol BGP 4 Two new attributes Multiprotocol Reachable NLRI (MP_REACH_NLRI) Multiprotocol Unreachable NLRI (MP_UNREACH_NLRI) MP_REACH_NLRI is used to carry the set of reachable destinations together with the next hop information to be used for forwarding to these destinations MP_UNREACH_NLRI is used to carry the set of unreachable destinations Both of these attributes are optional and non-transitive BGP Advanced, v4.4 39 Multiprotocol BGP 3 BGP Update Message Format for IPv4 Capability Advertisement Procedures are used by a BGP speaker that to determine whether the speaker could use multiprotocol extensions with a particular peer or not -> RFC 3392 done during BGP Open with Capabilities Optional Parameter (Parameter Type 2) +------------------------------+ Capability Code (1 octet) +------------------------------+ Capability Length (1 octet) +------------------------------+ Capability Value (variable) +------------------------------+ Capability Code is unambiguously identifies individual capabilities. Capability Value is interpreted according to the value of the Capability Code field. Pointer to end of the variable WR field Pointer to end of the variable PA field Unfeasible Routes Length (two octets) Withdrawn Routes (WR, variable) Total Path Attribute Length (two octets) Path Attributes (PA, variable) NLRI (variable) BGP Advanced, v4.4 38 BGP Advanced, v4.4 40 Page 49-19 Page 49-20

BGP Update Message Details for IPv4 NLRI 2-tuples of (length, prefix) length = number of masking bits (1 octet) prefix = IP address prefix (1-4 octets) note: prefix field contains only necessary bits to completely specify the IP address followed by enough trailing bits to make the end of the field fall on an octet boundary path attributes are composed of triples of (type, length, value) -> TLV notation attribute type (two octets) 8 bit attribute flags, 8 bit attribute type code attribute length (one or two octets) signaled by attribute flag-bit nr.4 attribute value (variable length) content depends on meaning signaled by attribute type code BGP Advanced, v4.4 41 VPN-IPv4 BGP Update with MP_Reach_NLRI 1 octet 1 octet 1 octet Attr. Flags Type Code = 14 Attribute Length AFI= 1 SAFI = 128 Length of NHA Next Hop Address (NHA, 1-4 octets) Path Attribute MP_Reach_NLRI 1 octet Length = 120 Label (3 octets = 24 bits) Route Distinguisher (8 octets = 64 bits) IPv4 address (4 octets = 32 bits) NLRI for VPN-IPv4 BGP Advanced, v4.4 43 IPv4 Path Attribute Format / NLRI Format Attribute Type 1 octet 1 octet 1-2 octet Attr. Flags Attr. Type Code Attribute Length Attribute Value (variable octets) Path Attribute Format 1 octet Length Prefix (1-4 octets) NLRI BGP Draft Attributes 1 BGP Extended Communities Attribute consists of a set of "extended communities optional transitive; type 16 defined in draft-ietf-idr-bgp-ext-communities-07.txt two important enhancements over the existing BGP Community Attribute: it provides an extended range, ensuring that communities can be assigned for a plethora of uses, without fear of overlap. the addition of a type field provides structure for the community space. Important for MPLS_VPN Route Target Community Route Origin Community BGP Advanced, v4.4 42 BGP Advanced, v4.4 44 Page 49-21 Page 49-22

BGP Draft Attributes 2 Route Target: The Route Target Community identifies one or more routers that may receive a set of routes (that carry this Community) carried by BGP. This is transitive across the Autonomous system boundary. It really identifies only a set of sites which will be able to use the route, without prejudice to whether those sites constitute what might intuitively be called a VPN. Route Origin: The Route Origin Community identifies one or more routers that inject a set of routes (that carry this Community) into BGP. This is transitive across the Autonomous system boundary. BGP Draft Attributes 4 Structure of value field based on high octet part of type 0x00: 2 octets Global Administrator Field (IANA assigned AS #) 4 octets Local Administrator Field (actual value of given type contained in low octet part of type) 0x01: 4 octets Global Administrator Field (IP address assigned by IANA) 2 octets Local Administrator Field 0x02: 4 octets Global Administrator Field (IANA assigned 4 octet AS #) 2 octets Local Administrator Field BGP Advanced, v4.4 45 BGP Advanced, v4.4 47 BGP Draft Attributes 3 Route Target and Router Origin type: 2 octets (extended form of this attribute) high octet -> 00, 01, 02 -> defines the structure of the value field low octet -> defines the actual type value: 6 octets Route Target: high octet type: 0x00 or 0x01 or 0x02 low octet type: 0x02 Route Origin: high octet type: 0x00 or 0x01 or 0x02 low octet type: 0x03 BGP Advanced, v4.4 46 Page 49-23 Page 49-24