BGP Flexible Communities

Slides:



Advertisements
Similar presentations
802.1H Kevin Nolish Michael Wright H Project The reason for the update of 802.1H is, primarily, mandated reaffirmation of the standard. As part.
Advertisements

IPv6 Jumbograms.
IPv6 Routing IPv6 Workshop Manchester September 2013
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
IPv6 Victor T. Norman.
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
Entire Routes Reflecting capability draft-zhang-idr-bgp-entire-routes-reflect-00.txt Zhang Renhai :
BGP.
L3VPN WG2012-Jul-301 MVPN/BGP Support for Customers That Use mLDP RFCs 6513/6514: support Multicast VPN Service for customers that use PIM provide extensive.
BGP Extensions for BIER draft-xu-idr-bier-extensions-01 Xiaohu Xu (Huawei) Mach Chen (Huawei) Keyur Patel (Cisco) IJsbrand Wijnands (Cisco)
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.
A Compression Format for RPL Control Messages draft-goyal-roll-rpl-compression-00 Mukul Goyal University of Wisconsin Milwaukee.
Copyright: RSVP The ReSerVation Protocol by Sujay koduri.
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.
CS Summer 2003 Lecture 13. CS Summer 2003 MP_REACH_NLRI Attribute The MP_REACH_NLRI attribute is encoded as shown below:
BGP Policy Control.
1 Chapter Overview IP (v4) Address IPv6. 2 IPv4 Addresses Internet Protocol (IP) is the only network layer protocol with its own addressing system and.
© 2009 Cisco Systems, Inc. All rights reserved. Cisco Public Presentation_ID 1 BGP AS AN MVPN PE-CE Protocol draft-keyupate-l3vpn-mvpn-pe-ce-00 Keyur Patel,
VLAN Trunking Protocol (VTP)
Lecture 4: BGP Presentations Lab information H/W update.
Border Gateway Protocol
Copyright 2012 Kenneth M. Chipps Ph.D. Cisco CCNA Exploration CCNA 2 Routing Protocols and Concepts BGP Last Update
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
OSPFv3 as a PE-CE Routing Protocol
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: Retrieval of multiple IEs and Reports with filering rule Date.
03/26/2009draft-cheng-grow-bgp-xml-00.txt 1 An XML Format for BGP Data Collection draft-cheng-grow-bgp-xml-00.txt Dan Massey Kevin BurnettPayne Cheng He.
Nov. 8, 2006IDR WG Meeting1 IPv6 Next Hop for IPv4 Prefix In BGP Updates, NH not necessarily of same address family as NLRI Currently deployed examples:
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—3-1 Route Selection Using Policy Controls Using Outbound Route Filtering.
© 2009 Cisco Systems, Inc. All rights reserved. Cisco Public Presentation_ID 1 BGP Diagnostic Message draft-raszuk-bgp-diagnostic-message-00 Robert Raszuk,
IP ADDRESS An IP (Internet Protocol) address is a unique identifier for a node or host connection on an IP network. An IP address is a 32 bit binary number.
BGP-based Auto-Discovery for L2VPNs draft-hlmu-l2vpn-bgp-discovery-00.txt Sue Hares - Vasile Radoaca -
BGP UPDATE-v2 Gargi Nalawade Himanshu Shah. Problem description Current UPDATE message was intended to carry IPv4 NLRIs Non-IPv4 NLRIs as well as NEXTHOP.
8 Byte BGP Communities Finding a practical way forward.
Virtual Local Area Networks In Security By Mark Reed.
ANCP Migration Carrier Analysis Thomas Haag; Birgit Witschurke,
PRESENTATION ON SECURE SOCKET LAYER (SSL) BY: ARZOO THAKUR M.E. C.S.E (REGULAR) BATCH
MBGP and Customer Routes
1 Introduction to ISIS AfNOG 2011 SI-E Workshop. 2 IS-IS Standards History  ISO specifies OSI IS-IS routing protocol for CLNS traffic A Link State.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
Binary Concepts By: Nathan Miller.
Click to edit Master subtitle style
BGP extensions for Path Computation Element (PCE) Discovery in a BGP/MPLS IP-VPN draft-kumaki-pce-bgp-disco-attribute-03.txt Kenji Kumaki KDDI R&D Labs,
OSI Model IP address.
IP: Addressing, ARP, Routing
Advertising Generic Information in IS-IS
High level Data Link Layer Protocol - HDLC
Large BGP Communities draft-snijders-grow-large-communities-usage-00
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
CS 3700 Networks and Distributed Systems
November 2010 doc.: IEEE e Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: LB60 comment.
PANA Issues and Resolutions
Next Generation: Internet Protocol, Version 6 (IPv6) RFC 2460
NDN Messages and NDN Packets
Planning the Addressing Structure
Hardware Addressing and Frame Type Identification
Seminar report on IPv4 & IPv6
John Scudder October 24, 2000 BGP Update John Scudder October 24, 2000.
Master Subnetting – Section 1
Working Group Draft for TCPCLv4
SSL (Secure Socket Layer)
Planning the Addressing Structure
An Update on BGP Support for 4-byte ASN
Net 323 D: Networks Protocols
BGP Route Reflectors and Confederation
NET 323D: Networks Protocols
Update on DHCPv6 On-Demand Mobility Extension draft
4-Byte AS Numbers The view from the old BGP world
draft-liu-pim-mofrr-tilfa-00
BGP VPN service for SRv6 Plus IETF 105, Montreal
Working Group Draft for TCPCLv4
Presentation transcript:

BGP Flexible Communities Andrew Lange

Room for Improvement Support for IPv6 More efficient encoding of lists of data. Clean support for future data field structures and interpretations. Support for locally defined (defined and only relevant within an ASN) structures and interpretations. Easy extensibility for future applications.

Improvements Subsumes both extended and paleo-communities. Value field becomes variable in length. One octet length field is added to handle this. Type and Structure fields defined. Structure field is used to modify the type field. Local type and structure fields are available for operator definition. Addition of the concept of neighbor classes, which ease flexible community based policy expression.

Attribute Format Each Flexible Community is encoded as a variable length quantity. The encoding scheme is: Transitivity Field: 1 bit Structure Field: 7 bits Type Field: 2 octets Length Field: 1 octet Value Field: 0-255 octets 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |T| Struct. | Type | Length | | Value Field (0-255 octets) |

Structure Field +-+-+-+-+-+-+-+-+ |T|L| Struct. | 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |T|L| Struct. | The Structure Field's contents modify the Type Field. For example, a Flexible Community which specifies SPECIFIC_NO_EXPORT in its Type Field, can be modified by the contents of the Structure Field to let the receiver know if the list of data on which it must act is a list of 2 octet or 4 octet ASNs.

Type Field 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | This contents of this field are used to define an action for the recepient to take on the route, or to define and attribute that is related to that route. An example of the former would be a Type which requests that a route be ONLY_EXPORTed to a specific set of peers. An example of the latter woudl be a Type that defines the LINK_BANDWIDTH associated with a certain NLRI.

Neighbor Classes A Neighbor Class is a value which represents a certain class, or group, of BGP neighbors. Each BGP peering session can be configured with zero or more Neighbor Classes. This value will allow a general classification of what sort of relationship the BGP session represents. With the sort of session defined, it becomes easier to apply policy to only that class of neighbors. Neighbor Classes make the expression of policy through flexible communities much easier. There are a number of examples in the sections on defined values. A Neighbor Class is encoded as a 2-octet value with 2 parts: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Neighbor Class |

Defined Neighbor Classes ALL NEIGHBORS: This class is the default Neighbor Class for all BGP peers. This class is represented by a value of 0 (0x8000). PEER: This class is typically applied to sessions where a transit free relationship exists between the two providers. This class is represented by a value of 1 (0x8001). CUSTOMER: This class is typically applied to sessions where the remote end of the session is operated by a customer. This class is represented by a value of 2 (0x8002). UPSTREAM: This class is typically applied to sessions where the remote end of the session is operated by a network from which you reveive transit routes. This class is represented by a value of 3 (0x8003). CONFEDERATION PEER: This class is typically applied to sessions where the remote end of the session is part of a confederation. This class is represented by a value of 4 (0x8004).

Defined Structures - opaque/variable (0x40 or 0xC0) list of 2 byte ASN's (0x41 or 0xC1) list of 4 byte ASN's (0x42 or 0xC2) list of IPv4 addresses (0x43 or 0xC3) list of IPv6 addresses (0x44 or OxC4) - list of neighbor_classes (0x45 or 0xC5)

Defined Types NO_EXPORT (0x0001) ONLY_EXPORT (0x0002) ANNOUNCE_WITH (0x0003) PREPEND (0x0004) BGP VPN Communities ROUTE_TARGET (0x0005) ROUTE_ORIGIN (0x0006) LINK_BANDWIDTH (0x0007)

Open Issues/Questions 1 In the case of flex-comms with the transitive bit set, the first 4 octets of the Value field MUST contain the ASN that added that community. Communities for internal use only do not need this. We can either: Leave this the way it is. Make all communities include the ASN that tagged them in the community header. Pro: Consistent format. Con: More bandwidth for communities that are non transitive, which, I suspect, will be the bulk of them.

Open Issues/Questions 2 For the overall encoding format flexible communities are currently defined to be included in a single attribute. This is compliant with the base specifications’ assertion that only one of each attribute can appear in a single UPDATE message. This does require a separate level of TLV nesting, however. We could: Leave it as it is. Pro: The same as existing communities and extended communities. No variation from the base spec. Con: Less efficient. More complex to code/read. Use the capability negotiation to allow multiple attributes of the same type (flexible communities) to appear multiple times in an update message. Pro: More efficient. One less TLV layer to deal with. Con: Creates a variation from the base spec.