Cisco SR

From HackerNet
Revision as of 11:28, 13 June 2018 by Helikopter (talk | contribs)
Jump to: navigation, search

Segment Routing (SR) är ett flexibelt och skalbart sätt att göra source routing, det är inget routingprotokoll utan ett koncept. Den första noden väljer path och kodar det i packet header genom en ordnad lista av "segment". Det går att använda MPLS data plane (labels) eller IPv6 data plane (header extensions), denna artikel fokuserar på MPLS. Segment representerar subpaths som en router kan kombinera för att få fram en komplett route till destination. Varje segment har en identifier (Segment Identifier) som distribueras genom nätverket med hjälp av extensions till IGP (IS-IS/OSPF). Segment routing tillåter därmed att man väljer hela pathen från ingress port till egress port utan att förlita sig på t.ex. IGP shortest path table. Det är samtidigt simplare än de flesta andra typer av traffic engineering. SR gör även ECMP till skillnad från RSVP-TE. För att tunea en path så används BGP-LU, man annonserar en unicast route med en associerad MPLS label. SR kräver inget label distribution protocol så det behövs t.ex. ingen synkronisering mellan routingprotokoll och LDP.

  • Prefix SID - Ett segment ID som innehåller IP-prefix, detta måste vara globally unique. Prefix SID konfas manuellt ur SRGB-rangen. Kallas även Node SID.
  • Adjacency SID - Ett segment ID som innehåller en routers adjacency till en granne, dvs det är länken mellan två routrar. Eftersom adjacency SID är relativ till en specifik router så är den locally unique.

Man kan använda både Prefix SID och Adjacency SID för att beskriva en path.

Konfiguration

Segment Routing Global Block (SRGB) är den label range som är reserverad för segment routing. Default value är 16000 till 23999.

show mpls label range
show ip ospf segment-routing global-block

Associera SID values med lokala prefix, detta prefix måste även annonseras i IGP.

interface Loopback0
 ip address 2.2.2.2 255.255.255.255

segment-routing mpls
 connected-prefix-sid-map
  address-family ipv4
   2.2.2.2/32 index 2

Sedan går man in under IGP och slår på segment-routing, detta enablear MPLS på alla IGP-interface och lägger in MPLS labels för forwarding. För övrig konfiguration se IS-IS och OSPF.

router ospf 1
 segment-routing mpls

Verify

show segment-routing mpls state
show mpls forwarding-table
show ip ospf segment-routing local-prefix
show ip ospf segment-routing sid-database

Kolla Adjacency SID

show ip ospf neighbor detail | i Neighbor|SR

BGP-SR

Man kan även göra segment routing med hjälp av BGP-SR, då används BGP-LU. Se även Cisco BGP.

router bgp 1
 neighbor 10.1.1.2 remote-as 2
 !
 address-family ipv4
  redistribute connected
  segment-routing mpls
  neighbor 10.1.1.2 activate
  neighbor 10.1.1.2 send-label
 exit-address-family

NX-OS

Se även NX-OS MPLS.

install feature-set mpls
feature-set mpls
feature mpls segment-routing

segment-routing mpls

router bgp 65000
 address-family ipv4 unicast
   network 2.2.2.2/32 route-map assign_label
   allocate-label all
 neighbor 10.1.1.2 remote-as 65000
     address-family ipv4 labeled-unicast
        send-community extended

Traffic Engineering

För att styra en path så används BGP-LU, man annonserar en unicast route med en associerad MPLS labelstack. Se exempel med ExaBGP.