De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft best practices om SSDP-pakketten (Simple Service Discovery Protocol) op Catalyst 9000 Series switches te beëindigen of te beperken.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
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.
Over het algemeen maken eindgebruikerapparaten zoals laptops en mobiele telefoons automatisch reclame voor hun Universal Plug-and-Play (UPnP) mogelijkheden die gebruik maken van het SSDP-protocol. Clients verzenden een multicast advertentiepakket naar het IP-adres van 239.255.255.250. Deze advertenties worden vaak verzonden met een Time to Live (TTL) van 1 en gaan niet verder dan het lokale subnetbestand van de hosts die het multicast pakket hebben gegenereerd. Om de advertenties van andere apparaten op het netwerk te ontvangen, verzenden endpoints ook een IGMP Membership Report naar het 239.255.255.250-adres, dat het netwerk vertelt dat multicast-verkeer dat naar dit IP-adres van een andere multicast-bron wordt verzonden, ook naar deze client moet worden doorgestuurd.
In ondernemingsmilieu's die honderden of duizenden eindpunten allen bevatten die als bron, en een geinteresseerde ontvanger van deze groep handelen, kan deze cliëntactiviteit netwerkapparaten gemakkelijk overweldigen indien ongecontroleerd verlaten en kan stroomonderbrekingen veroorzaken zodra de netwerkmiddelen zijn uitgeput.
Deze uitputting gebeurt voornamelijk op twee manieren:
Hoewel dit document niet in detail wordt besproken, moet worden opgemerkt dat vanwege de open aard van SSDP het mogelijk is voor een aanvaller om een samengesteld pakket naar een groep clients te verzenden met deze service ingeschakeld om een grote respons op te roepen naar een of een groep doelhosts. De grote hoeveelheid uitgaande interfacestatus die ook wordt gecreëerd, betekent dat de switch prestatiecapaciteit aanzienlijk kan worden belast door een kleine hoeveelheid multicast verkeer, omdat de switch één kopie moet maken van elk frame voor elke uitgaande binnen de Application Specific Integrated Circuit (ASIC). Uitgaande interfacelijsten dat nummer 20 of meer interfaces een hoger risico lopen op capaciteitsproblemen en pakketverlies.
Catalyst 9000 Series switches printsystemen die "fman_fp_image" of "FMFP" vermelden wanneer de resources zijn uitgeput. Een aantal, of alle, van deze fouten kan worden afgedrukt wanneer de switch een uitputting van middelen heeft ervaren en verder moet worden onderzocht.
Dit zijn enkele van de meest voorkomende fouten die worden gezien tijdens uitputting van bronnen, maar is geen uitgebreide lijst.
Afbeelding 1: Steekproef van de meest voorkomende gedrukte fouten die bewijs zijn van uitputting van bronnen op een switch
%FMFP-3-OBJ_DWNLD_TO_DP_STUCK: R0/0: fman_fp_image: AOM download to Data Plane is stuck for more than 1800 seconds for <object details>
%FMFP-3-OBJ_DWNLD_TO_DP_RESUME: R0/0: fman_fp_image: AOM download of objects to Data Plane is back to normal
%FMFP_QOS-6-QOS_STATS_STALLED: R0/0: fman_fp_image: statistics stalled
%FMFP-3-OBJ_DWNLD_TO_DP_FAILED: R0/0: fman_fp_image: adj <hex>, Flags None download to DP failed
%FMFP-3-OBJ_DWNLD_TO_DP_FAILED: R0/0: fman_fp_image: adj <hex>, Flags Midchain download to DP failed
%FED_L3M_ERRMSG-3-RSRC_ERR: Switch <num> R0/0: fed: Failed to allocate hardware resource for group <address> - rc:<number or error>
%FED_L3_ERRMSG-3-RSRC_ERR: Chassis <num> R0/0: fed: Failed to allocate hardware resource for adj entry due to hardware resource exhaustion - rc:<number or error>
Alle Catalyst 9000 Series switches gebruiken speciale ASIC’s om het merendeel van de pakketrouting bij hoge doorvoersnelheid uit te voeren. Deze ASIC's maken gebruik van verschillende tabellen en interne middelen die eindig zijn in hun capaciteit. Omdat SSDP-clients fungeren als zowel bronnen als ontvangers voor een veelvoorkomende multicast groep, moet de hardware deze beperkte bronnen gebruiken om een pad in hardware te programmeren voor pakketten die moeten volgen, zelfs als die pakketten nooit komen of om andere redenen worden gedropt (TTL 1). Zodra de hardwaremiddelen zijn uitgeput, kunnen geen nieuwe updates of toevoegingen voor enige groep, ongeacht zijn relatie met SSDP, worden geïnstalleerd. Grote aantallen niet-geïnstalleerde SSDP-updates (state churn) kunnen ook in de wachtrij staan in de software. Dit kan er ook toe leiden dat hardware-updates voor niet-multicast verkeer worden onderbroken of uitgevallen, wat gevolgen heeft voor gebruikersverkeer en netwerkuitval veroorzaakt.
Dit document is alleen relevant als uw netwerk is geconfigureerd met PIM en Layer 3-multicast status heeft voor het bekende SSDP-groepsadres. Om deze criteria te verifiëren, voer de opdracht uit "show ip mroute 239.255.255.250"
(voeg indien nodig vrf-verklaringen toe). Groep 239.255.255.250 is specifiek voor het SSDP-protocol.
Als de opdrachtoutput een groot aantal uitgaande interfaces bevat en/of een groot aantal unieke bronnen voor deze specifieke groep heeft, betekent dit dat het systeem en het netwerk kwetsbaar zijn voor storingen die door SSDP worden veroorzaakt. Hoe hoger het aantal uitgaande interfaces en unieke bronnen, hoe hoger de kansen dat dit service-impact kan worden.
Afbeelding 2: Monsteroutput van "show ip mroute 239.255.255.250"
opdracht met SSDP actief op het netwerk.
Switch#show ip mroute 239.255.255.250 IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group, G - Received BGP C-Mroute, g - Sent BGP C-Mroute, N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, Q - Received BGP S-A Route, q - Sent BGP S-A Route, V - RD & Vector, v - Vector, p - PIM Joins on route, x - VxLAN group Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.255.255.250), 00:08:35/stopped, RP 10.0.0.1, flags: SJC Incoming interface: GigabitEthernet0/0/1.40, RPF nbr 10.0.0.1 Outgoing interface list: GigabitEthernet0/0/1.101, Forward/Sparse, 00:08:35/00:02:40 GigabitEthernet0/0/1.102, Forward/Sparse, 00:08:35/00:02:38 GigabitEthernet0/0/1.100, Forward/Sparse, 00:08:35/00:02:39 (10.1.1.2, 239.255.255.250), 00:01:40/00:01:19, flags: T Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: GigabitEthernet0/0/1.40, Forward/Sparse, 00:01:40/00:01:40, A GigabitEthernet0/0/1.100, Forward/Sparse, 00:01:40/00:02:39 GigabitEthernet0/0/1.102, Forward/Sparse, 00:01:40/00:02:38 GigabitEthernet0/0/1.101, Forward/Sparse, 00:01:40/00:02:40 (10.1.1.3, 239.255.255.250), 00:02:03/00:00:56, flags: JT Incoming interface: GigabitEthernet0/0/1.40, RPF nbr 10.1.1.1 Outgoing interface list: GigabitEthernet0/0/1.100, Forward/Sparse, 00:02:03/00:02:39 GigabitEthernet0/0/1.102, Forward/Sparse, 00:02:03/00:02:38 GigabitEthernet0/0/1.101, Forward/Sparse, 00:02:03/00:02:40 (10.1.1.4, 239.255.255.250), 00:08:35/00:02:32, flags: T Incoming interface: GigabitEthernet0/0/1.40, RPF nbr 10.1.1.1 Outgoing interface list: GigabitEthernet0/0/1.100, Forward/Sparse, 00:08:35/00:02:39 GigabitEthernet0/0/1.102, Forward/Sparse, 00:08:35/00:02:38 GigabitEthernet0/0/1.101, Forward/Sparse, 00:08:35/00:02:40, A
Tenzij SSDP voor een specifiek doel wordt gebruikt, wordt verwacht dat deze output leeg is, of een laag aantal uitgaande interfaces heeft en/of een laag aantal unieke bronnen heeft om uitputting van bronnen en mogelijke gevolgen voor de service te voorkomen.
Als een groot aantal multicast groepen worden gezien, kan de opdracht "show platform software object-manager fp active statistics" of "show platform software object-manager fp switch active statistics" worden gebruikt om te vertellen of een hardwaremiddel is uitgeput.
Opmerking: deze opdracht is niet specifiek voor bronuitputting die wordt geactiveerd door multicast verkeer, andere problemen kunnen ervoor zorgen dat deze waarden niet nul zijn.
Afbeelding 3: Output van "show platform software object-manager fp active statistics"
in probleemtoestand
Switch#show platform software object-manager fp active statistics Forwarding Manager Asynchronous Object Manager Statistics Object update: Pending-issue: 109058, Pending-acknowledgement: 76928 <-- Pending-issue is very high, this Batch begin: Pending-issue: 0, Pending-acknowledgement: 0 is not expected. Batch end: Pending-issue: 0, Pending-acknowledgement: 0 Command: Pending-acknowledgement: 0 Total-objects: 304085 Stale-objects: 0 Resolve-objects: 0 Childless-delete-objects: 530 Error-objects: 1098
Paused-types: 127
De output van figuur 3 toont symptomen van een switch met uitputting van middelen. Er zijn verschillende opdrachtuitvoerlijnen die bij normaal gebruik niet worden verwacht:
In een toestand waarin grote aantallen "hangende-uitgifte"- of "hangende-bevestiging"-tellers zijn, verhoogt dit consequent het risico dat de hardware verkeerd geprogrammeerd raakt. Onjuist geprogrammeerde hardware is een veel voorkomende bron van storingen in unicast- en multicast-verkeer.
Het commando "show platform hardware fed switch active fwd-asic resource utilization" or in some models "show platform hardware fed active fwd-asic resource utilization"
kan worden gebruikt om te kijken naar enkele van de eindige middelen die in gebruik zijn op de ASIC's en te bepalen of een interne bron is uitgeput:
Afbeelding 4: Monsteroutput van"show platform hardware fed active fwd-asic resource utilization"
met één hulpbron bijna uitgeput.
Switch#show platform hardware fed active fwd-asic resource utilization
Resource Info for ASIC Instance: 0
Resource Name Allocated Free
------------------------------------------
RSC_DI 3822 38076
RSC_FAST_DI 0 192
RSC_RIET_0 1 1024
RSC_RIET_1 0 512
RSC_RIET_2 0 512
RSC_RIET_3 0 512
RSC_RIET_4 0 512
RSC_RIET_5 0 512
RSC_RIET_6 0 256
RSC_RIET_7 0 255
RSC_VLAN_LE 116 3976
RSC_L3IF_LE 116 3907
RIM_RSC_DGT 1 255
RSC_VPN_PREFIX_ID 1 32768
RSC_LABEL_STACK_ID 1 65536
RSC_RI 7358 82730
RSC_LI_RI 0 129
RSC_PORT_LE_RI 0 2048
RSC_PORT_LE 0 1827
RSC_RI_REP 10635 120437
RSC_SI 11842 119072
RSC_SI_IND 1 255
RSC_SI_STATS 3550 45602
RSC_RCP1_FID 1 1023
RSC_RCP2_FID 1 1023
RSC_RCP3_FID 1 1023
RSC_RCP4_FID 1 1023
RSC_LV1_ECR 1 63
RSC_LV2_ECR 3 253
RSC_ENH_ECR 1 0
RSC_RPF_MATCH 12 1012
RSC_PLC 1 2047
RSC_PLC_PF 1 255
RSC_MTU_INDEX 6 250
RSC_EGR_REDIRECT_INDEX 2 2046
RSC_RIL_INDEX 131065 7 <-- Free entries extremely low, this is not expected.
RSC_SIF 1 1023
RSC_GROUP_LE 1 1023
RSC_RI_REP_LOCAL 1 0
RSC_EXT_SI 512 65024
In afbeelding 4 geeft de waarde voor "RSC_RIL_INDEX" aan dat er 131065 items in gebruik zijn en dat er slechts 7 gratis zijn. Deze bron wordt verbruikt door grote aantallen unieke SSDP-groepen. Hoewel dit niet specifiek is voor SSDP, zijn middelen met een laag aantal gratis inzendingen en veel toegewezen inzendingen tekenen dat de switch in de buurt van een capaciteitsprobleem staat en moet worden onderzocht.
Het commando "show platform hardware fed switch active fwd-asic resource tcam utilization" or on some models "show platform hardware fed active fwd-asic resource tcam utilization"
kan worden gebruikt om te kijken naar een per-ASIC uitsplitsing van gebruik per bron. Een andere mogelijke handtekening van SSDP-uitputting is de kolom "Gebruikte waarden" voor "L3 Multicast-vermeldingen" tot dicht bij of bij de "Max-waarden".
Afbeelding 5: Monsteroutput van"show platform hardware fed active fwd-asic resource tcam utilization"
in normaal bedrijf
Switch#show platform hardware fed active fwd-asic resource tcam utilization
CAM Utilization for ASIC [0]
Table Max Values Used Values
--------------------------------------------------------------------------------
Unicast MAC addresses 32768/768 6160/21
L3 Multicast entries 32768/768 3544/8 <-- Normal Utilization, not near Max Values
L2 Multicast entries 2304 181 <-- Normal Utilization, not near Max Values
Directly or indirectly connected routes 212992/1536 11903/39
Input Ipv4 QoS Access Control Entries 5632 17
Input Non Ipv4 QoS Access Control Entries 2560 36
Output Ipv4 QoS Access Control Entries 6144 13
Output Non Ipv4 QoS Access Control Entries 2048 27
Input Ipv4 Security Access Control Entries 7168 12
Input Non Ipv4 Security Access Control Entries 5120 76
Output Ipv4 Security Access Control Entries 7168 11
Output Non Ipv4 Security Access Control Entries 8192 27
Ingress Netflow ACEs 1024 8
Policy Based Routing ACEs 3072 20
Egress Netflow ACEs 1024 8
Flow SPAN ACEs 512 5
Flow Egress SPAN ACEs 512 8
Control Plane Entries 1024 235
Tunnels 2816 26
Lisp Instance Mapping Entries 512 3
Input Security Associations 512 4
SGT_DGT 32768/768 0/1
CLIENT_LE 8192/512 0/0
INPUT_GROUP_LE 1024 0
OUTPUT_GROUP_LE 1024 0
Macsec SPD 256 2
Om de uitputting van bronnen te stoppen, moet het SSDP-verkeer worden gestopt voorafgaand aan de eerste L3 hop en multicast state creation. De snelste oplossing is om een IPv4 Access Control List (ACL) te gebruiken die op toegang wordt toegepast op alle L3-interfaces die zijn geconfigureerd met PIM die dit verkeer ziet. Controleer met de opdracht "show ip mroute 239.255.255.250" en bekijk de "Inkomende interface" voor elke groep. Dit geeft aan van welke L3-interface de bron van het verkeer afkomstig is en dat er meer dan één unieke broninterface kan zijn. Dit configuratievoorbeeld laat SSDP toe om bij Layer 2 te werken en laat L2-aangrenzende hosts toe om PNP-services te ontdekken, maar voorkomt dat cliëntadvertenties worden doorgestuurd over L3-grenzen, en voorkomt L3 multicast status creatie op een multicast router of switch.
Configureer een uitgebreide ACL:
ip access-list extended BLOCK_SSDP remark Block SSDP deny ip any host 239.255.255.250 <-- Deny SSDP
permit ip any any
<-- Permit any other group
Configureer onder elke L3-interface en pas de ACL toe in de invoerrichting:
Switch#configure terminal
Switch(config)#interface vlan100
Switch(config-if)#ip access-group BLOCK_SSDP in
Switch(config-if)#end
Er bestaan andere methoden om de vorming van een staat door SSDP-verkeer te beperken of volledig te voorkomen. Omdat elk netwerk anders is, zijn niet alle netwerken even effectief en kunnen ze bepaalde voor- en nadelen hebben die uniek zijn voor elke omgeving. Op het moment van dit schrijven blijft een gerouteerde ACL-blokkering op het SVI het meest aanbevolen, meest effectieve en minst configuratie-intensief om het doel van het verminderen van de status en het volume van dit verkeer te bereiken, terwijl het nog steeds mogelijk is dat eindclients dit protocol gebruiken om services op hun lokale VLAN te ontdekken.
Begrijp zorgvuldig de voor- en nadelen van elk van de methoden om te bepalen of men een betere pasvorm voor uw omgeving kan zijn.
Deze methode is handig voor omgevingen met een statische rendez-vous point (RP)-toewijzing, waar de creatie van een ACL over een groot aantal SVI’s of L3-interfaces configuratie-intensief kan zijn.
Om deze methode te implementeren, gebruikt u de volgende stappen:
Configureer een ACL om ongewenst SSDP-verkeer te ontkennen:
Switch(config)#ip access-list standard 10
Switch(config-std-nacl)#deny 239.255.255.250 <-- Deny SSDP from registering
Switch(config-std-nacl)#permit 224.0.0.0 15.255.255.255
<-- Permit any other group
Configureer de ACL die u hebt gemaakt als deel van de statische RP-toewijzing
Switch#configure terminal
Switch(config)#ip pim rp-address 192.168.1.1 10
Switch(config-if)#end
Deze methode is handig voor omgevingen waarin SSDP niet nodig is bij L2 of L3, of in omgevingen waarin het SSDP-verkeer IGMP-spionage of andere L2-multicast resources van de switch uitput.
Configureer twee ACL’s. Er moet alleen een SSDP-verkeer zijn en er moet een catch-all zijn die wordt gebruikt om al het normale netwerkverkeer te identificeren.
Switch(config)#ip access-list extended match_ssdp
Switch(config-ext-nacl)#permit ip any host 239.255.255.250
Switch(config-ext-nacl)#exit
Switch(config)#ip access-list extended match_all
Switch(config-ext-nacl)#permit ip any any
Configureer een VLAN-toegangskaart met twee volgnummers. Een om SSDP te ontkennen, een om al het andere verkeer toe te laten. Pas dit toe op de gewenste VLAN’s.
Switch#configure terminal
Switch(config)#vlan access-map block_ssdp 10
Switch(config-access-map)#match ip address match_ssdp
Switch(config-access-map)#action drop
Switch(config-access-map)#vlan access-map block_ssdp 20
Switch(config-access-map)#match ip address match_all
Switch(config-access-map)#action forward
Switch(config-access-map)#exit
Switch(config)#vlan filter block_ssdp vlan-list
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
01-Jul-2022 |
Eerste vrijgave |