Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered...

49
Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Transcript of Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered...

Page 1: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Welcome

FreeRangeRou+ng

orhowweditchedOSPFforBGPunnumbered(basedonRFC5549)2017-11-09,Gurtenpark(Berne)

Page 2: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

YourSpeaker

ManuelSchweizer@geitguet

•  NetworkEngineeratcloudscale.chAG•  BoardMemberatSwissIXInternetExchange

Page 3: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Dayjob

Ifyouchooseto,wecanbeyour«someoneelse»

Page 4: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

cloudscale.ch

•  Foundedin2014•  SwissIaaSProvider•  LinuxCloudServer(VMs)•  FocusonSimplicity

„ForDevelopersWhoCare“

SaaS

PaaS

IaaS

Page 5: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  IniZalandTargetSituaZon•  EvaluaZonPhase•  Hardware•  So]ware•  Demo

Page 6: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  Ini+alandTargetSitua+on•  EvaluaZonPhase•  Hardware•  So]ware•  Demo

Page 7: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

IniZalSituaZon

Page 8: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

IniZalSituaZon:Bandwidth

Page 9: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

IniZalSituaZon:RouZngProtocols

OSPF

eBGP eBGPiBGP

Page 10: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

IniZalSituaZon:RouZngProtocols

OSPF

eBGP eBGPiBGP

eBGP eBGP

Page 11: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

IniZalSituaZon:Summary

•  2x1GbpsIPTransit•  2x10GbpsInterfaces(only!)•  IGP:OSPF(andBGP)•  EGP:BGP

Page 12: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

TargetSituaZon:Bandwidth

Page 13: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

TargetSituaZon:Summary

•  2x10GbpsIPTransit•  6-8x10GbpsInterfaces•  ReduceComplexity!•  Price...

Page 14: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  IniZalandTargetSituaZon•  Evalua+onPhase•  Hardware•  So]ware•  Demo

Page 15: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:ReduceComplexity!

OSPF

eBGP eBGPiBGP

eBGP eBGP

Page 16: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:ReduceComplexity!

CanwegetridofOSPF?

eBGP eBGPiBGP

eBGP eBGP

Page 17: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:RFC5549

hcps://tools.iee.org/html/rfc5549In(very)short:„[...]thisdocumentonlyconcernsitselfwiththeadver7sementofIPv4NLRI(NetworkLayerReachabilityInforma7on)[...]withanIPv6NextHop.“

Page 18: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:RFC5549

•  UseofexisZngIPv6link-localaddress•  Youarerunningdual-stack,areyou?

•  Nexthop:LoopbackIPaddress

Page 19: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:Price...

•  Commercialrouterswith8x10Gbps:StarZngatCHF10-15k(hardwareonly!)+supportcontract+licensefees

•  Experiencesofar:–  TAC,ohboy–  Blackbox(bugs=>workarounds?)

Page 20: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:FreeRangeRouZng

•  SupportsBGPunnumbered(RFC5549)

•  Runsonx86hardwareandLinux

•  ProvenbasisforBigSwitch,Cumulusetc.

Page 21: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

EvaluaZonPhase:FreeRangeRouZng

•  SupportsBGPunnumbered(RFC5549)

•  Runsonx86hardwareandLinux

•  ProvenbasisforBigSwitch,Cumulusetc.

ReduceCom

plexity

LowPrice

Stability

Page 22: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

FRR– AbouttheProject

•  FOSS(FreeandOpenSourceSo]ware)•  OpenCommunityModel•  LinuxFoundaZonProject(since04/2017)•  Version3.0.2released2daysago

•  ForkofQuagga

Page 23: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

FRR– What‘sDifferent?

•  Methodicalverngofsubmissions•  ExtensiveautomatedtesZngofcontribuZons•  Gitpullrequests•  Githubcentereddevelopment•  Electedmaintainers&steeringcommicee•  CommonassetsheldintrustbytheLinuxFoundaZon

Page 24: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

FRR–Links

•  Website:hcps://frrouZng.org

•  Github:hcps://github.com/FRRouZng/frr/

•  IssueTracker:hcps://github.com/FRRouZng/frr/issues

•  ConZnuousIntegraZon:hcps://ci1.netdef.org/browse/FRR

Page 25: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  IniZalandTargetSituaZon•  EvaluaZonPhase•  Hardware•  So]ware•  Demo

Page 26: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Intel1UServerHardware

Source:hcps://www.intel.com/content/dam/support/us/en/documents/motherboards/server/sb/s2600gzgl_tps_r2_4.pdf-Page11

Page 27: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

NCA-5510BlockDiagram

Source:hcp://www.lannerinc.com/download-center/User-Manuals/x86-Network-Appliances/?download=1840-Page14

Page 28: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Hardware:LannerNCA-5510

•  DualPSU•  Hotswappablefans•  4xfront-facingPCIex8

Source:hcp://www.lannerinc.com/network-appliances/x86-rackmount-network-appliances/?view=arZcle&id=1667:nca-5510

Page 29: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Hardware:„Linecards“

Source:hcps://www.landitec.com/products/x86-network-appliance-hardware/ncs2-ixm405a-detail

Source:hcp://www.lannerinc.com/support/download-center/brochures?download=1086

•  4-8x1Gbps•  2-4x10Gbps•  2x40Gbps•  2x100Gbps(new!)

Page 30: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Hardware:TheRealDeal

•  1x1GbpsMgmtNIC•  SerialConsole•  8x10GbpsSFP+•  4x1GbpsBase-T•  IPMI(LOM)

Page 31: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  IniZalandTargetSituaZon•  EvaluaZonPhase•  Hardware•  SoRware•  Demo

Page 32: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

So]wareSetup

•  Ubuntu16.04LTS•  XenialHWEKernel(4.10)– forVRFSupport•  FRR3.x

AddiZonalPackages:•  ifupdown2,iproute2,vrf,mgmt-vrf•  ptmd,lldpd,snmp,hsflowd

Page 33: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Concerns

Ques+on– AnswerGame

Page 34: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

SecurityConcerns(1)

Ques+onYoucannothonestlyrunLinuxinthecore?AnswerOurcloudinfrastructuredependsonLinux.MostofthecommercialvendorsuseLinuxasabasisfortheirsoluZon.

Page 35: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

SecurityConcerns(2)

Ques+onButhowaboutsecuritypatches?AnswerWhat‘sthereleasecycleofyourcurrentvendor?IncludeupdaZngyourroutersinyourscheduledmaintenancewindows.

Page 36: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

SecurityConcerns(3)

Ques+onYouareusingafirewallthen,right?AnswerFirewall=„latencygenerator“Services(SSH,SNMP,sFlow)runinMgmt-VRFonly.

Page 37: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

PerformanceConcerns

Ques+onButhowaboutline-rateforwarding?AnswerCurrentCPUscaneasilyhandle~100Gbps.Inourtests:20Gbps=0.5CPUcores(outof10!)

Page 38: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

PerformanceConcerns

Ques+onCanFRRhandleaBGPfulltable?AnswerFromenablingtheBGPsessiontofullyconvergedinlessthan20seconds.„1206398RIBentries,using156MiBofmemory“

Page 39: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

ConfiguraZonConcerns

StatementFRRisnotforme,IneedaCLI.Answervtysh,Cisco-likesyntax.vtysh–c„command“insteadofexpectscripts.SimpletransiZontoconfigmanagementwithPuppet,Ansibleetc.

Page 40: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

MonitoringConcerns

StatementButIneedSNMP!AnswerAvailableasapackage.Also:UseZabbix,Icinga2,…directlyonyourrouters.

Page 41: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

So]wareSetup:RouZngProtocols

eBGP eBGPiBGP

eBGP eBGP

eBGP

Page 42: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

So]wareSetup:RouZngProtocols

eBGP eBGPiBGP

eBGP eBGP

eBGP

Page 43: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Agenda

•  IniZalandTargetSituaZon•  EvaluaZonPhase•  Hardware•  So]ware•  Demo

Page 44: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

DemoSetup(iBGP)

•  BGPunnumbered,noOSPF•  AdverZseloopbackIPsthroughiBGP

Page 45: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

DemoConfig(iBGP) int lo ip address 203.0.113.1/32 ipv6 address 2001:db8::1/128 router-id 203.0.113.1

int s1p1 no ipv6 nd suppress-ra ipv6 nd ra-interval 10 int s1p2 no ipv6 nd suppress-ra ipv6 nd ra-interval 10

router bgp 65001 no bgp default ipv4-unicast bgp bestpath as-path multipath-relax bgp bestpath compare-routerid neighbor PG-IBGP peer-group neighbor PG-IBGP remote-as internal neighbor PG-IBGP description iBGP Peer Group

neighbor PG-IBGP capability extended-nexthop neighbor s1p1 interface peer-group PG-IBGP neighbor s1p2 interface peer-group PG-IBGP

addr ipv4 uni network 203.0.113.1/32 neighbor PG-IBGP activate neighbor PG-IBGP next-hop-self neighbor PG-IBGP send-community

neighbor PG-IBGP soft-reconfig inbound addr ipv6 uni network 2001:db8::1/128 neighbor PG-IBGP activate neighbor PG-IBGP next-hop-self neighbor PG-IBGP send-community neighbor PG-IBGP soft-reconfig inbound

Page 46: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Demo

Show+me!

Page 47: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

QuesZons

Page 48: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Wearehiring...

WearelookingforaSeniorLinuxSystemEngineer

(Ubuntu,Debian,OpenStack,Ceph,Ansible,Python,...)

Getintouch:[email protected]

Page 49: Free Range Rou+ng - SwiNOG · Welcome Free Range Rou+ng or how we ditched OSPF for BGP unnumbered (based on RFC5549) 2017-11-09, Gurtenpark (Berne)

Thankyou!

Iamlookingforwardtoyourfeedback:[email protected]