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)
October27,2016 RoutingWorkingGroup,RIPE73 2
WhatNetworkOperatorsUse
• RFC1997stylecommunities,astheyhavebeenusedforthepast20years• Widelydocumentedintrainingmaterial,operationsprocedures,policy
documentation• RequiredinRFPsanddocumentedincontracts
October27,2016 RoutingWorkingGroup,RIPE73 3Sources:https://www.us.ntt.net/support/policy/routing.cfm (AS2914),https://onestep.net/communities/
RFC1997Communities:
WidelyDeployedforInternetRouting
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
October27,2016 RoutingWorkingGroup,RIPE73 4
32-bitASNsina16-bitField
TheSolution
October27,2016 RoutingWorkingGroup,RIPE73 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 26, 2016
Large BGP Communitiesdraft-ietf-idr-large-community-05
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 four-octet ASNs.
IDRInternet-DraftIntended status: Standards TrackExpires: April 29, 2017
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
• NoInternetroutingcommunitiessolutionforalmost10yearsOctober27,2016 RoutingWorkingGroup,RIPE73 6
WhyshouldIcarewhatcolorthebikeshedIs?
Imagesource:http://bikeshed.com/
IETFSupportforLargeBGPCommunities
• OverwhelminginterestontheIDRmailinglist– Networkoperators– Implementers
• HundredsofmessagesandcountingontheWorkingGroupadoptionthread
October27,2016 RoutingWorkingGroup,RIPE73 7WorkingGroupadoptionthread:https://mailarchive.ietf.org/arch/search/?email_list=idr&gbt=1&index=vEa3744YRl5Sj8bUB_I54Uay-fE
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
October27,2016 RoutingWorkingGroup,RIPE73 9
ThingsThatare“OutofScope”• NoRFC1997toLargeBGPCommunitiesmapping– Outofscopebecauseroutingpoliciesdifferwidelybetweennetworkoperators
• NoTLVorheader– JustuseBGPPathAttributescode32(0x20)– Purposelykeptsimpletomeetthespecificuserequirements
• Nowell-knowncommunities– Notneeded,sinceRFC1997well-knowncommunitieslike“no-advertize”,“no–export”,“blackhole”,etc.canstillbeused
October27,2016 RoutingWorkingGroup,RIPE73 10
So what'chawhat'cha
what'cha want what'cha want
EncodingandUsage
• LargeBGPCommunitiesareencodedasa96-bitquantityanddisplayedas“32-bitASN:32-bitvalue:32-bitvalue”
• Canonicalrepresentationis$Me:$Action:$You• WorkingonanRFC1998 style-usagedraftwithexamples
October27,2016 RoutingWorkingGroup,RIPE73 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)
LargeBGPCommunityExamples
• NonamespacecollisionsoruseofreservedASNs• Enablesustouse32-bitASNsin$Meand$Youvalues
October27,2016 RoutingWorkingGroup,RIPE73 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)
MajorMilestonesTowardsanRFCStandard
October27,2016 RoutingWorkingGroup,RIPE73 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) Allocation
NetworkOperators
Weeks/Months 12Months
Implementers
Days/Months 18Months
IETF
Months/Years ∞
TimelineOverview
October27,2016 RoutingWorkingGroup,RIPE73 14
ConsensusBuilding,ProgressionfromI-DtoRFC,Publication
FeatureDesign,Implementation,Testing,Documentation,Shipping
Evangelism,Training,Preparation,Testing,Deployment
BGPSpeakerImplementationStatus
October27,2016 RoutingWorkingGroup,RIPE73 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
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 Inprogress FeatureRequested875 – patchwillbesubmittedsoon
VyOS VyOS Requested FeatureRequestedT143
ToolsandEcosystemImplementationStatus
October27,2016 RoutingWorkingGroup,RIPE73 16
Implementation Software Status DetailsFreeBSD 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
LargeBGPCommunitiesBeaconPrefixes• ThefollowingprefixesareannouncedwithASpath2914_15562$– 192.147.168.0/24(lookingglass)
– 2001:67c:208c::/48(lookingglass)
– LargeBGPCommunity:15562:1:1
October27,2016 RoutingWorkingGroup,RIPE73 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)
BGPImplementerToDoList• AddsupportforBGPPathAttributescode30,31,32 (0x20)toBGP– OptionalCLIcommandtoenable
• Extendyourroutingpolicies– Setandmatch– Regularexpressions
• Extendyourshowcommands– Includingthedebugcommandsandpacketdumpoutput
• Updateyourdocumentation• Updateyourtrainingmaterial• Educateyourtechnicalstaff
October27,2016 RoutingWorkingGroup,RIPE73 18
NetworkOperatorToDoList
• TheentirenetworkecosystemneedstosupportLargeBGPCommunitiesinordertoprovision,deployandtroubleshoot
• Askyourroutingvendorsandimplementersforsoftwaresupport
• Updateyourtoolsandprovisioningsoftware• Extendyourroutingpolicies,andopenlypublishthisinformation
• Trainyourtechnicalstaff
October27,2016 RoutingWorkingGroup,RIPE73 19
Questions?Presentationcreatedby:
[email protected]@greg_hankins
[email protected]@JobSnijders
October27,2016 RoutingWorkingGroup,RIPE73 20
Visithttp://LargeBGPCommunities.net/ fortheLatestInfoReuseofthisslidedeckispermittedandencouraged!