20
Large BGP Communities Matsuzaki ‘maz’ Yoshinobu <[email protected]> 2016/11/18 BTNOG3, Thimphu Bhutan 1

Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

LargeBGPCommunities

Matsuzaki ‘maz’Yoshinobu<[email protected]>

2016/11/18 BTNOG3,ThimphuBhutan 1

Page 2: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

ABriefHistoryofBGPCommunities• BGPCommunitiesAttribute(RFC1997,August1996)– DesignedtosimplifyInternetroutingpolicies– Encodesa32-bitvaluedisplayedas“16-bitASN:16-bitvalue”– BroadsupportinBGPimplementations,andwidelydeployedbynetworkoperatorsforInternetrouting

– Forexample:2914:4202914:12062914:22032914:3200• BGPExtendedCommunitiesAttribute(RFC4360,February2006)– Addslabel,value,longerrange– UsefulforL3VPNs,fewerimplementationsavailable– Slowadoptionrate– Cannotseetheforestforthetrees(RFC7153)

2016/11/18 BTNOG3,ThimphuBhutan 2

Page 3: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

WhatNetworkOperatorsUse

• RFC1997stylecommunities,astheyhavebeenusedforthepast20years• Widelydocumentedintrainingmaterial,operationsprocedures,policy

documentation• RequiredinRFPsanddocumentedincontracts

2016/11/18 BTNOG3,ThimphuBhutan 3Sources:https://www.us.ntt.net/support/policy/routing.cfm (AS2914),https://onestep.net/communities/

RFC1997Communities:

WidelyDeployedforInternetRouting

Page 4: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

AlongCameaProblem• Weknewwe’drunoutof16-bitASNseventually• 32-bitASNworkstartedinJanuary2001

– RFC4893inMay2007– RFC6793inDecember2012

• RIRsstartedallocating32-bitASNsbyrequestin2007• Nodistinctionbetween16-bitand32-bitASNsnow

– WidelyusedasedgeandtransitASNs• However,youcan’tfita32-bitvalueintoa16-bitfield

– Can’tusenative32-bitASNsatall– 32-bitASNownersuseprivateASNsincommunitiesorsome

otherkludge– CreatesnamespacecollisionsbetweenASNs

2016/11/18 BTNOG3,ThimphuBhutan 4

32-bitASNsina16-bitField

Page 5: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

TheSolution

2016/11/18 BTNOG3,ThimphuBhutan 5Source:https://tools.ietf.org/html/draft-ietf-idr-large-community

J. Heitz, Ed.Cisco

J. Snijders, Ed.NTT

K. PatelArrcus

I. Bagdonas Equinix

A. Simpson Nokia

N. HilliardINEX

October 29, 2016

Large BGP Communitiesdraft-ietf-idr-large-community-06

Abstract

This document describes the Large BGP Communities attribute, an extension to BGP-4. This attribute provides a mechanism to signalopaque information within separate namespaces to aid in routingmanagement. The attribute is suitable for use in 4-octet ASNs.

IDRInternet-DraftIntended status: Standards TrackExpires: May 2, 2017

Page 6: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

RelatedWorkfor32-BitASNsinCommunities• 4-OctetASSpecificBGPExtendedCommunity(RFC5668,October2009)

– RFC4360styleextendedcommunityfor32-bitASNs– Perceivedasamicrooptimization

• FlexibleBGPCommunities(draft-lange-flexible-bgp-communities)– December2002– August2010– BGPpeercommunitygrouping,32-bitASNs,plusotherstuff– Noconsensusorimplementations

• WideBGPCommunitiesAttribute(draft-ietf-idr-wide-bgp-communities)– July2010– September2016– Complementaryandcomprehensivesolution– GeneralizedBGPpeercommunitygrouping,32-bitASNs,plusotherstuff– Noconsensusorimplementations,needstimetodevelop

• NoInternetroutingcommunitiessolutionforalmost10years2016/11/18 BTNOG3,ThimphuBhutan 6

WhyshouldIcarewhatcolorthebikeshedIs?

Imagesource:http://bikeshed.com/

Page 7: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

IETFSupportforLargeBGPCommunities

• OverwhelminginterestontheIDRmailinglist– Networkoperators– Implementers

• HundredsofmessagesandcountingontheWorkingGroupadoptionthread

2016/11/18 BTNOG3,ThimphuBhutan 7WorkingGroupadoptionthread:https://mailarchive.ietf.org/arch/search/?email_list=idr&gbt=1&index=vEa3744YRl5Sj8bUB_I54Uay-fE

Page 8: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

LikeRFC1997Communities,butLarger

2016/11/18 BTNOG3,ThimphuBhutan 8

Page 9: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

DesignGoals• Simply“larger”,that’sit...

– Noaddedcomplexityorfunctionality– ExtendRFC1997communitiesfor32-bit

ASNs– Signalanactionwithoutlosing

informationabouteithertheoriginorthetarget

• Broadlydeployablesolutionthatisavailablequickly– Transitive

• Flexibilityfornetworkoperatorstodefinetheirowncommunities– Opaque,maybeignored

• Auniquenamespaceforall16-bitand32-bitASNs– Parityandfairnessaseveryonenowcan

usetheirgloballyuniqueASN– NonamespacecollisionsbetweenASNs

• Easytoimplement• Easytoadopt• Easytorememberandtelleach

otheronthephone– Canonicalrepresentation– Especiallyinaninternationalcommunity

withmanydifferentlanguages

2016/11/18 BTNOG3,ThimphuBhutan 9

Page 10: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

ThingsThatare“OutofScope”• NoRFC1997toLargeBGPCommunitiesmapping– Outofscopebecauseroutingpoliciesdifferwidelybetweennetworkoperators

• NoTLVorheader– JustuseBGPPathAttributescode30(0x1E)– Purposelykeptsimpletomeetthespecificuserequirements

• Nowell-knowncommunities– Notneeded,sinceRFC1997well-knowncommunitieslike“no-advertize”,“no–export”,“blackhole”,etc.canstillbeused

2016/11/18 BTNOG3,ThimphuBhutan 10

So what'chawhat'cha

what'cha want what'cha want

Page 11: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

EncodingandUsage

• LargeBGPCommunitiesareencodedasa96-bitquantityanddisplayedas“32-bitASN:32-bitvalue:32-bitvalue”

• Canonicalrepresentationis$Me:$Action:$You• WorkingonanRFC1998 style-usagedraftwithexamples

2016/11/18 BTNOG3,ThimphuBhutan 11

0 1 2 3 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

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Global Administrator | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Data Part 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Data Part 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Operator-DefinedValue(Action)

AutonomousSystemNumber(Me)

Operator-DefinedValue(You)

Page 12: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

LargeBGPCommunityExamples

• NonamespacecollisionsoruseofreservedASNs• Enablesustouse32-bitASNsin$Meand$Youvalues

2016/11/18 BTNOG3,ThimphuBhutan 12

RFC1997(Current)

Large BGPCommunities Action

65400:peer-as 2914:65400:peer-as DonotAdvertisetopeer-as inNorthAmerica(NTT)

0:peer-as 6667:0:peer-as DonotAnnouncetoRoute Serverpeer-as (AMS-IX)

65520:nnn 2914:65520:nnn Lower LocalPreferenceinCountrynnn (NTT)

2914:410 2914:400:10 RouteReceived FromaPeeringPartner(NTT)

2914:420 2914:400:20 RouteReceivedFromaCustomer(NTT)

Page 13: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

MajorMilestonesTowardsanRFCStandard

2016/11/18 BTNOG3,ThimphuBhutan 13

Date MilestoneSeptember 2,2016 Publisheddraft-heitz-idr-large-community-03September 6,2016 RequestedIDRWGAdoptionSeptember 24,2016 IDRWorkingGroupAdoptionofdraft-ietf-idr-large-community-00September 29,2016 EarlyIANABGPPathAttributesCode(30) AllocationOctober1,2016 Publisheddraft-ietf-idr-large-community-01October8,2016 Publisheddraft-ietf-idr-large-community-02October11,2016 LargeBGPCommunitiesBeaconPrefixesAnnouncedOctober16,2016 Publisheddraft-ietf-idr-large-community-03October17,2016 Startof IDRWorkingGroupLastCallOctober26,2016 EarlyIANABGPPathAttributesCode(32) AllocationNovember 2,2016 StartofIETFLastCall andIESGReview

Page 14: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

NetworkOperators

Weeks/Months 12Months

Implementers

Days/Months 18Months

IETF

Months/Years ∞

TimelineOverview

2016/11/18 BTNOG3,ThimphuBhutan 14

ConsensusBuilding,ProgressionfromI-DtoRFC,Publication

FeatureDesign,Implementation,Testing,Documentation,Shipping

Evangelism,Training,Preparation,Testing,Deployment

Page 15: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

BGPSpeakerImplementationStatus

2016/11/18 BTNOG3,ThimphuBhutan 15

Visithttp://largebgpcommunities.net/implementations/ fortheLatestStatus

Implementation Software Status DetailsArista EOS Planned FeatureRequestedBUG169446

Cisco IOSXR ✔ Done! EngineeringRelease

cz.nic BIRD ✔ Done! BIRD1.6.3(commit)

ExaBGP ExaBGP ✔ Done! PR482

Juniper JunOS Planned SecondHalf2017

MikroTik RouterOS Won’tImplementUntilRFC FeatureRequested2016090522001073

Nokia SROS Planned

OpenBSD OpenBGPD ✔ Done! OpenBSD 6.1(commit)

OSRG GoBGP ✔ Done! PR1094

rtbrick Fullstack Planned ETA:December2016

Quagga Quagga ✔ Done! PatchProvidedfor1.1.0875

VyOS VyOS Requested FeatureRequestedT143

Page 16: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

ToolsandEcosystemImplementationStatus

2016/11/18 BTNOG3,ThimphuBhutan 16

Implementation Software Status DetailsDE-CIX pbgpp ✔ Done! PR16

FreeBSD tcpdump ✔ Done! PR213423

pmacct.net pmacct ✔ Done! PR61

OpenBSD tcpdump ✔ Done! OpenBSD6.1(patch)

tcpdump.org tcpdump ✔ Done! PR543 (commit)

Wireshark Dissector ✔ Done! 18172(patch)

Visithttp://largebgpcommunities.net/implementations/ fortheLatestStatus

Page 17: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

LargeBGPCommunitiesBeaconPrefixes• ThefollowingprefixesareannouncedwithASpath2914_15562$– 192.147.168.0/24(lookingglass)

– 2001:67c:208c::/48(lookingglass)

– LargeBGPCommunity:15562:1:1

2016/11/18 BTNOG3,ThimphuBhutan 17

route-views>sh ip bgp 192.147.168.0BGP routing table entry for 192.147.168.0/24, version 98399100Paths: (39 available, best #30, table default)Not advertised to any peerRefresh Epoch 1701 2914 15562137.39.3.55 from 137.39.3.55 (137.39.3.55)Origin IGP, localpref 100, valid, externalunknown transitive attribute: flag 0xE0 type 0x20 length 0xCvalue 0000 3CCA 0000 0001 0000 0001

rx pathid: 0, tx pathid: 0

COLOCLUE1 11:06:17 from 94.142.247.3] (100/-) [AS15562i] Type: BGP unicast univBGP.origin: IGP BGP.as_path: 8283 2914 15562 BGP.next_hop: 94.142.247.3BGP.med: 0 BGP.local_pref: 100 BGP.community: (2914,410) (2914,1206) (2914,2203) (8283,1) BGP.large_community: (15562, 1, 1)

CiscoIOSOutput(WithoutLargeBGPCommunitiesSupport)

BIRDOutput(WithLargeBGPCommunitiesSupport)

Page 18: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

BGPImplementerToDoList• AddsupportforBGPPathAttributescode32(0x20)toBGP– OptionalCLIcommandtoenable

• Extendyourroutingpolicies– Setandmatch– Regularexpressions

• Extendyourshowcommands– Includingthedebugcommandsandpacketdumpoutput

• Updateyourdocumentation• Updateyourtrainingmaterial• Educateyourtechnicalstaff

2016/11/18 BTNOG3,ThimphuBhutan 18

Page 19: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

NetworkOperatorToDoList

• TheentirenetworkecosystemneedstosupportLargeBGPCommunitiesinordertoprovision,deployandtroubleshoot

• Askyourroutingvendorsandimplementersforsoftwaresupport

• Updateyourtoolsandprovisioningsoftware• Extendyourroutingpolicies,andopenlypublishthisinformation

• Trainyourtechnicalstaff

2016/11/18 BTNOG3,ThimphuBhutan 19

Page 20: Large BGP Communities - NOG · – Perceived as a micro optimization • Flexible BGP Communities (draft-lange-flexible-bgp-communities) – December 2002 – August 2010 – BGP

Questions?Presentationcreatedby:

[email protected]@greg_hankins

[email protected]@JobSnijders

2016/11/18 BTNOG3,ThimphuBhutan 20

Visithttp://LargeBGPCommunities.net/ fortheLatestInfoReuseofthisslidedeckispermittedandencouraged!