Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Microloop overzicht

generieke configuratie

in stabiele toestand

Volgorde van gebeurtenissen wanneer de interface TenGigE0/0/0/8 (primaire pad) op PE1 naar beneden gaat

Overzicht tijdlijn

Conclusie

Opdrachten

Inleiding

Dit document beschrijft een technisch overzicht van IS-IS micro-loops, legt de omstandigheden uit waaronder ze voorkomen en beschrijft de principes en mechanismen die worden gebruikt om ze te voorkomen.

Voorwaarden

Vereisten

Cisco raadt u aan om basiskennis te hebben van Intermediate System to Intermediate System (ISIS) Segment Routing (SR) versie 6.

Gebruikte componenten

De informatie in dit document is gebaseerd op Device: Network Convergence System (NCS) 540, NCS 5500.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Microloop overzicht

IS-IS is een breed geïmplementeerd link-state routing protocol dat wordt gebruikt in grootschalige Service Provider netwerken vanwege de snelle convergentie en schaalbaarheid. Tijdens topologische wijzigingen, zoals link- of knooppuntfouten, kunnen tijdelijke inconsistenties voor doorsturen - algemeen bekend als microloops - optreden terwijl routers hun forwarding information bases (FIB's) op verschillende tijdstippen bijwerken. Deze microloops leiden tot tijdelijk pakketverlies, verhoogde latentie of blokkering van het verkeer, wat een negatieve invloed kan hebben op realtime en latentiegevoelige toepassingen.

IS-IS routing protocol maakt gebruik van Segment Routing (SR en SRv6) microloop vermijdingsmechanismen om dergelijke transiënte doorstuurlussen tijdens netwerkconvergentie te voorkomen. Deze mechanismen zorgen voor doorsturen zonder lus, zelfs terwijl het netwerk overgaat naar een nieuwe steady state.

Afbeelding 1. netwerktopologiediagram

generieke configuratie

interface Loopback100

ipv6 address <>

interface <>

ipv6 enable

router isis <>

is-type level-2-only

net <>

address-family ipv6 unicast

metric-style wide

microloop avoidance segment-routing ## enables Microloop avoidance mechanism

microloop avoidance rib-update-delay <> ## specify the time in ms

router-id Loopback100

segment-routing srv6

locator <>

interface Loopback100

address-family ipv6 unicast

interface <>

point-to-point

address-family ipv6 unicast

fast-reroute per-prefix

fast-reroute per-prefix ti-lfa ## enables topology-independent loop-free alternates (TI-LFA)

segment-routing

srv6

encapsulation

source-address <>

!

locators

locator <>

micro-segment behavior unode psp-usd ## enables SRv6 Micro-SIDs (uSIDs) the PSP-USD (Penultimate Segment Pop - Ultimate Segment Pop) flavor

prefix <configure the locator >

router bgp <>

vrf <>

address-family <> unicast

segment-routing srv6 ## steering the packet using SRv6 uSID

locator <>

in stabiele toestand

Wanneer er geen verandering is in het netwerk, wordt 10.10.1.0/24 geadverteerd door Provider Edge 1 (PE1) via Border Gateway Protocol (BGP) naar Provider Edge 2 (PE2), 10.10.20.0/24 netwerk wordt geadverteerd door PE2 naar PE1.

RP/0/RP0/CPU0:PE1#show bgp vrf mobility 10.10.1.0/24 detail

BGP routing table entry for 10.10.1.0/24, Route Distinguisher: 10.10.11.11:0

SRv6-VPN SID: fc00:1000:a810:e003::/64

Local

0.0.0.0 from 0.0.0.0 (10.10.11.11), if-handle 0x3c000090

Origin incomplete, metric 0, localpref 100, weight 32768, valid, redistributed, best, group-best, import-candidate

Received Path ID 0, Local Path ID 1, version 8

Extended community:

Opmerking: fc00:1000:a810:e003::/64 >> fc00:1000:a810 ## locator van PE1, e003 ## functie.

RP/0/RP0/CPU0: PE1#show bgp vrf mobility 10.10.20.0/24 detail

Local

fc00:1000:a822::22 (metric 2000) from fc00:1000:a822::22 (10.10.22.22), if-handle 0x00000000

Received Label 0xe0030

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 0, Local Path ID 1, version 714

Extended community:

PSID-Type:L3, SubTLV Count:1, R:0x00,

SubTLV:

T:1(Sid information), Sid:fc00:1000:a820::, F:0x00, R2:0x00, Behavior:63, R3:0x00, SS-TLV Count:1

SubSubTLV:

T:1(Sid structure):

Length [Loc-blk,Loc-node,Func,Arg]:[32,16,16,0], Tpose-len:16, Tpose-offset:48

Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 10.10.22.22:2

Opmerking: Deze 10.10.20.0/24 is ontvangen van PE2 op PE1 met de locator sid fc00:1000:a820:: en functie e0030.

RP/0/RP0/CPU0: PE1#show route vrf mobility 10.10.20.0/24 detail

Known via "bgp 100", distance 200, metric 0, type internal

Routing Descriptor Blocks

fc00:1000:a822::22, from fc00:1000:a822::22

<snip>

SRv6 Headend: H.Encaps.Red [f3216], SID-list {fc00:1000:a820:e003::}

Opmerking: In steady state worden de pakketten die bestemd zijn voor Customer Edge 2 (CE2) verzonden naar PE2 met Internet Protocol versie 6 (IPv6) header bestemmingsadres fc00:1000:a820:e003::.

Pakket verzonden door PE1 in steady state.

Frame 2: 136 bytes on wire (1088 bits), 136 bytes captured (1088 bits)

Ethernet II, Src: Cisco_a7:8a:0d (c4:b2:39:a7:8a:0d), Dst: Cisco_ff:d4:16 (a0:b4:39:ff:d4:16)

Destination: Cisco_ff:d4:16 (a0:b4:39:ff:d4:16)

Source: Cisco_a7:8a:0d (c4:b2:39:a7:8a:0d)

Type: IPv6 (0x86dd)

Internet Protocol Version 6, Src: fc00:1000:a811::11, Dst: fc00:1000:a820:e003::

0110 .... = Version: 6

<0110 .... = Version: 6 [This field makes the filter match on "ip.version == 6" possible]>

.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)

.... 0000 0000 0000 1110 1111 = Flow Label: 0x000ef

Payload Length: 82

Next Header: IPIP (4)

Hop Limit: 254

Source Address: fc00:1000:a811::11

<Source or Destination Address: fc00:1000:a811::11>

<[Source Host: fc00:1000:a811::11]>

<[Source or Destination Host: fc00:1000:a811::11]>

Destination Address: fc00:1000:a820:e003::

<Source or Destination Address: fc00:1000:a820:e003::>

<[Destination Host: fc00:1000:a820:e003::]>

<[Source or Destination Host: fc00:1000:a820:e003::]>

Internet Protocol Version 4, Src: 10.10.1.2, Dst: 10.10.20.2

0100 .... = Version: 4

.... 0101 = Header Length: 20 bytes (5)

Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)

Opmerking:

- SRC: fc00:1000:a811:11 >> loopback 100 van PE1 gebruikt als bronadres.

- Dst: fc00:1000:a820:e003: >> locator van PE2: functie.

- naast de IPv6-transporthoofd, is de IPv4-payload de volgende.

Primair pad en back-uppad per computer via Topology-Independent - Loop-Free Alternate (TI-LFA).

RP/0/RP0/CPU0:PE1#show cef ipv6 fc00:1000:a820::

via fe80::a2b4:39ff:feff:d416/128, TenGigE0/0/0/9, 11 dependencies, weight 0, class 0, backup (TI-LFA) [flags 0xb00]

path-idx 0 NHID 0x0 [0x8ef0f2b0 0x0]

next hop fe80::a2b4:39ff:feff:d416/128, Repair Node(s): fc00:1000:a802::2

local adjacency

SRv6 H.Insert.Red SID-list {fc00:1000:a802::}

via fe80::9ee1:76ff:feca:e8a8/128, TenGigE0/0/0/8, 4 dependencies, weight 0, class 0, protected [flags 0x400]

path-idx 1 bkup-idx 0 NHID 0x0 [0x8f2db710 0x0]

next hop fe80::9ee1:76ff:feca:e8a8/128

Volgorde van gebeurtenissen wanneer de interface TenGigE0/0/0/8 (primaire pad) op PE1 naar beneden gaat

Afbeelding 2. Micro-loop-gebeurtenis

Op PE1 wanneer de link tengig 0/0/8 naar beneden gaat, op het back-uppad tussen PE1 en P1, wordt een micro-loop vermoed die op zijn beurt het mechanisme van de microloopvermijding (MLA) op PE1 triggert.

RP/0/RP0/CPU0:PE1#show logging

RP/0/RP0/CPU0:Mar 21 08:30:10.244 UTC: ifmgr[307]: %PKT_INFRA-LINK-5-CHANGED : Interface TenGigE0/0/0/8, changed state to Administratively Down

Wanneer de interface TenGigE0/0/0/8 is uitgeschakeld, is er eerst een Fast Reroute (FRR) -gebeurtenis, dat wil zeggen dat verkeer wordt verzonden op het TI-LFA-pad.

RP/0/RP0/CPU0:PE1#show cef trace

Mar 21 08:30:10.244 fib/common/frr 0/RP0/CPU0 43# t5991 Common: FRR-ITF-EVENT: proto=3 type=0 ifh=0x3c0000a0

Mar 21 08:30:10.244 fib/common/frr 0/RP0/CPU0 13# t5991 IPv6: FRR-LOOKUP-DONE: evt=0, ifh=0x3c0000a0,  main_ifh=0, proto=1

Mar 21 08:30:10.244 fib/common/frr 0/RP0/CPU0 12# t5991 IPv6: FRR-ITF-EVENT: Global Active; handle:0x3c0000a0[0x0]

Mar 21 08:30:10.244 fib/common/frr 0/RP0/CPU0 13# t5991 IPv6: FRR-ITF-EVENT: FRR Active; handle:0x3c0000a0[0x0]

Mar 21 08:30:10.244 fib/common/frr 0/RP0/CPU0 1# t5991 IPv6: FRR-EVENT: evt=0, notify protocol=1, ifh=0x0, switched=111768 ns

Mar 21 08:30:10.244 fib/common/fast 0/RP0/CPU0 20# t5991 Common: PLAT-UPD-FAST: Proto=common, Obj[FIB_DATA_TYPE2_ALL]=0, flags=0 Acttype=FRR_EOD

Om 08:30:10:307 is er een IS-IS verwijder nabijheid.

RP/0/RP0/CPU0:PE1#show isis lsp last 20

08:30:10:307    1  Te0/0/0/8          DELADJ

Om 08:30:10:358 werd Label Switched Path (LSP) ontvangen, werd Small Form-Factor Pluggable (SFP) berekend en werd uloop geactiveerd.

RP/0/RP0/CPU0:PE1#show isis spf-log detail

08:30:10:358  FSPF     2     5     2    PE1.00-00 DELADJ LINKBAD

Delay:                 50ms (since first trigger)

46257ms (since end of last calculation)

Trigger Link:          P3.00

Trigger Next Hop:      P3

New LSP Arrivals:      0

SR uloop:              Link Down

Als u deze gebeurtenissen gedetailleerder ziet in IS-IS-trace, is in dit geval de geconfigureerde routeringsinformatiebasis (RIB) -updatetijd: 65535 ms ~ 65 sec.

RP/0/RP0/CPU0:PE1#show isis trace all

Mar 21 08:30:10.308 isis/Mring_2801/std 0/RP0/CPU0 t8712 isis_roca_event_schedule_result_debug:329                SPF_TRIGGER_PRIMARY L2 IPv6 Unicast

Mar 21 08:30:10.308 isis/Mring_2801/spf 0/RP0/CPU0 t8712  isis_roca_spf_linkchanged_trigger:2609                  SPF_TRIGGER_LINKCHANGED_ADD L2 IPv6 Unicast 0370.0011.0011.00

Mar 21 08:30:10.358 isis/Mring_2801/std 0/RP0/CPU0 6669# t8712  isis_roca_event_start:1541                              SPF_ROCA_START L2 IPv6 Unicast SPF Type: Full >>>>>>>>. SPF was trigger

Mar 21 08:30:10.358 isis/Mring_2801/sr_ 0/RP0/CPU0 t8712  isis_roca_sr_uloop_prep:3069                            SR_ULOOP_SPF_PREP_START L2 IPv6 Unicast SPF Type: Full>>>>>>>> uloop activated and uloop path installed

Mar 21 08:30:10.358 isis/Mring_2801/sr_ 0/RP0/CPU0 8451# t8712  isis_roca_uloop_install_exp_path:3915                   SR_ULOOP_DETAIL_ADD_EXP_PATH L2 IPv6 Unicast SPF Type: Full

Mar 21 08:30:10.358 isis/Mring_2801/sr_ 0/RP0/CPU0 t8712   isis_roca_prefix_update_run:1040                       SR_ULOOP_SPF_START_DELAYED_UPD_TIMER_8 L2 IPv6 Unicast SPF Type: Full 65535 >>>>>> the MLA timer has began

Mar 21 08:30:10.864 isis/Mring_2801/std 0/RP0/CPU0 t8712 isis_roca_frr_run:1538                                   SPF_FRR_DEFERRED_ULOOP L2 IPv6 Unicast

Mar 21 08:31:15.893 isis/Mring_2801/sr_ 0/RP0/CPU0 t8712 isis_ip_rib_worker_delayed_update_run:2344               SR_ULOOP_EVENT_DELAYED_UPDATE L2 IPv6 Unicast >> after 65 seconds the rib is updated and MLA is deactivated

RIB-status op het moment dat MLA actief is.

RP/0/RP0/CPU0:PE1#show route ipv6 fc00:1000:a820:: detail

Routing entry for fc00:1000:a820::/48

Routing Descriptor Blocks

fe80::a2b4:39ff:feff:d416, from fc00:1000:a822::22, via TenGigE0/0/0/9

Route metric is 6000

<snip>

SRv6 Headend: H.Insert.Red [f3216], SID-list {fc00:1000:a802::} ##this locator of P2 is inserted before the SRH

Cisco Express Forwarding (CEF)-status op het moment dat MLA actief is.

RP/0/RP0/CPU0: PE1#show cef ipv6 fc00:1000:a820:: detail

local adjacency to TenGigE0/0/0/9

<snip>

via fe80::a2b4:39ff:feff:d416/128, TenGigE0/0/0/9, 10 dependencies, weight 0, class 0 [flags 0x0]

SRv6 H.Insert.Red SID-list {fc00:1000:a802::} ## P node (locator of P2)sid is inserted into the packet

Load distribution: 0 (refcount 9)

Hash  OK  Interface                 Address

0     Y   TenGigE0/0/0/9            fe80::a2b4:39ff:feff:d416

Een pakket afkomstig van PE1 wordt doorgestuurd via P1 met P2s Micro-Segment Identifier (uSID) als eerste actieve bestemming. Wanneer het pakket P2 bereikt, activeert het SRv6-gedrag dat is gekoppeld aan de uSID Segment Routing Header (SRH)-decapsulatie, waarna het oorspronkelijke pakket wordt doorgestuurd naar PE2 onder MLA-doorsturen.

Afbeelding 3. De weg die tijdens MLA is afgelegd

Pakket doorgestuurd door PE1 en P1 tijdens MLA.

Frame 1: 160 bytes on wire (1280 bits), 160 bytes captured (1280 bits)

Ethernet II, Src: Cisco_a7:8a:0d (c4:b2:39:a7:8a:0d), Dst: Cisco_ff:d4:16 (a0:b4:39:ff:d4:16)

Internet Protocol Version 6, Src: fc00:1000:a811::11, Dst: fc00:1000:a802:: >> during MLA the 1st active destination locator is of P2

0110 .... = Version: 6

<0110 .... = Version: 6 [This field makes the filter match on "ip.version == 6" possible]>

.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)

.... 0000 0000 0000 1110 1111 = Flow Label: 0x000ef

Payload Length: 106

Next Header: Routing Header for IPv6 (43) >> indicates the next header is a SRH

Hop Limit: 254

Source Address: fc00:1000:a811::11

<Source or Destination Address: fc00:1000:a811::11>

<[Source Host: fc00:1000:a811::11]>

<[Source or Destination Host: fc00:1000:a811::11]>

Destination Address: fc00:1000:a802::

<Source or Destination Address: fc00:1000:a802::>

<[Destination Host: fc00:1000:a802::]>

<[Source or Destination Host: fc00:1000:a802::]>

Routing Header for IPv6 (Segment Routing) >>>>>>>>> SRH header which contains the orginal PE2 locator

Next Header: IPIP (4)

Length: 2

[Length: 24 bytes]

Type: Segment Routing (4)

Segments Left: 1

Last Entry: 0

Flags: 0x00

Tag: 0000

Address[0]: fc00:1000:a820:e003:: >>>>>>>>>>>>>>>> PE2 locator : function

Internet Protocol Version 4, Src: 10.10.1.2, Dst: 10.10.20.2

0100 .... = Version: 4

.... 0101 = Header Length: 20 bytes (5)

Na decapsulatie wordt het oorspronkelijke pakket verzonden door P2 en wordt de SRH verwijderd door P2 tijdens MLA.

Frame 1: 136 bytes on wire (1088 bits), 136 bytes captured (1088 bits)

Ethernet II, Src: Cisco_87:d8:58 (b0:a6:51:87:d8:58), Dst: Cisco_af:48:01 (c8:47:09:af:48:01)

Internet Protocol Version 6, Src: fc00:1000:a811::11, Dst: fc00:1000:a820:e003::

0110 .... = Version: 6

<0110 .... = Version: 6 [This field makes the filter match on "ip.version == 6" possible]>

.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)

.... 0000 0000 0000 1110 1111 = Flow Label: 0x000ef

Payload Length: 82

Next Header: IPIP (4)

Hop Limit: 252

Source Address: fc00:1000:a811::11

<Source or Destination Address: fc00:1000:a811::11>

<[Source Host: fc00:1000:a811::11]>

<[Source or Destination Host: fc00:1000:a811::11]>

Destination Address: fc00:1000:a820:e003::

<Source or Destination Address: fc00:1000:a820:e003::>

<[Destination Host: fc00:1000:a820:e003::]>

<[Source or Destination Host: fc00:1000:a820:e003::]>

Internet Protocol Version 4, Src: 10.10.1.2, Dst: 10.10.20.2

Data (62 bytes)

Na convergentie (na RIB update delay timer), wordt de SRH ingevoegd en het pakket wordt verzonden op de geconvergeerde beste Interior Gateway Protocol (IGP) pad.

RP/0/RP0/CPU0: PE1#show cef ipv6 fc00:1000:a822::22/128

local adjacency to TenGigE0/0/0/9

Prefix Len 128, traffic index 0, precedence n/a, priority 1

via fe80::a2b4:39ff:feff:d416/128, TenGigE0/0/0/9, 9 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0x8ef0f2b0 0x0]

next hop fe80::a2b4:39ff:feff:d416/128

local adjacency

Overzicht tijdlijn

tijd

Actie

mechanisme

08:30:10.244

Linkfout, verschuiving van verkeer naar back-uppad

TI-LFA

08:30:10:307

LSP ontvangen, nieuwe kortste pad eerst (SPF) berekend

MLA (geactiveerd)

08:30:10.358

RIB-update is vertraagd, verkeer gebruikt MLA-tunnel

MLA (actief)

08:31:15.893

Vertragingstimer verloopt, laatste pad geïnstalleerd in FIB

Volledige convergentie

Conclusie

Dit document beschrijft hoe IS-IS-geadverteerde SRv6 uSID-paden MLA ondersteunen tijdens netwerkconvergentie. Door geordende topologische intentie direct in de uSID-lijst te coderen, wordt het verkeer door een deterministische sequentie van knooppunten geleid, waardoor loop-free forwarding wordt gewaarborgd, zelfs terwijl IS-IS SPF-berekeningen tijdelijk inconsistent zijn in het netwerk.

Tijdens de convergentie nemen pakketten die uit ingress-PE's worden geëscorteerd de vooraf berekende uSID-sequentie, waarbij tussenliggende P-knooppunten worden doorkruist zonder te vertrouwen op tijdelijke IGP-beslissingen in de volgende stap. Het decapsulatiegedrag op het aangewezen uSID-eindpunt zorgt voor een schone overgang naar native forwarding zodra het beveiligde segment is voltooid. Deze nauw gekoppelde interactie tussen IS-IS control-plane updates en SRv6 uSID data-plane gedragingen maakt snelle en deterministische omleiding mogelijk.

MLA op basis van IS-IS uSID biedt een schaalbare, topologiebewuste en operationeel eenvoudige oplossing voor microloop-vrije convergentie, waardoor het zeer geschikt is voor grote SRv6-netwerken waar snelle omleiding en deterministische verkeersbesturing van cruciaal belang zijn.

Opdrachten

- #Show ISIS instance <> IPv6 microloop avoidance <prefix> detail

- #Show ISIS