La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive come configurare e risolvere i problemi relativi alla Local Area Bonjour con l'approccio basato su unicast.
Nessun requisito specifico previsto per questo documento.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Nota: per i comandi che vengono usati per abilitare queste funzionalità su altre piattaforme Cisco, consultare la guida alla configurazione appropriata.
Nota: per eseguire Local Area Bonjour, è necessario acquistare la licenza Cisco DNA Advantage. Verificare che la piattaforma Cisco Catalyst sia supportata in modalità agente Service Discovery Gateway (SDG) o Service Peer (SP) dalla matrice di supporto, disponibile nella guida alla configurazione della versione specifica di Cisco IOS XE.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
A partire dalla versione 17.3.2 di Cisco IOS XE Amsterdam, è stato introdotto un nuovo approccio di mDNS Service Gateway per sostituire la tradizionale implementazione basata su flood. Questo nuovo approccio fornisce un modello Unicast con i seguenti miglioramenti:
Una query mDNS ha il record successivo:
Una risposta o un annuncio mDNS ha i record seguenti:
La differenza principale consiste nel modo in cui il gateway mDNS (switch Cat9k) instrada l'annuncio mDNS verso i query:
Inoltre, nell'implementazione basata sul multicast, i pacchetti mDNS ricevuti vengono trasmessi ad altre porte che consentono la VLAN su cui sono stati ricevuti.
Nell'approccio basato su unicast, lo snooping mDNS fornisce un meccanismo di prevenzione delle inondazioni che è abilitato per ogni VLAN configurata con mdns-sd gateway in configurazione VLAN. In questo modo, i pacchetti mDNS verranno inviati in modalità unicast:
Durante la risoluzione dei problemi di un gateway mDNS, per verificare se lo switch esegue la modalità basata su flood o unicast, è possibile verificare dove è configurato il gateway mdns-sd.
Sono disponibili due tipi di configurazione per fornire un gateway di individuazione servizio senza flood. La scelta da utilizzare dipende principalmente dalla posizione del limite del livello 3:
Una delle difficoltà nel testare le configurazioni dei gateway mDNS in laboratorio è scoprire come ottenere:
Questi 2 ruoli possono essere eseguiti utilizzando il comando DNS-SD. Il comando DNS-SD è uno strumento di diagnostica di rete che consente a un dispositivo di verificare l'individuazione del servizio mDNS. La funzione più importante è che può pubblicizzare l'esistenza di un servizio e anche scoprirlo.
Per annunciare un servizio mDNS, utilizzare il comando seguente:
dns-sd -R name _app._protocol local port
Dove:
Esempio: nome del nodo testpc annuncio servizio Airplay sulla porta TCP 3000.
dns-sd -R testpc _airplay._tcp local 3000
Per eseguire una query per un servizio mDNS, utilizzare il comando seguente:
dns-sd -B _app._protocol local
Dove:
Esempio: query per il servizio Airplay.
dns-sd -B _airplay._tcp local
1. Abilitare il gateway mDNS a livello globale.
Nota: a partire da Cisco IOS XE 17.9.1, è possibile configurare la modalità in cui l'agente SDG gestisce le query e le risposte. La modalità predefinita è ricorrente. In questa modalità, dopo la ricezione di una query dagli endpoint, per impostazione predefinita viene inviata una risposta a intervalli regolari di 15 secondi. L'altra modalità è su richiesta; in questa modalità, la risposta viene inviata solo quando si riceve una query dagli endpoint. On-demand è la modalità di gestione delle query dagli endpoint nelle versioni Cisco IOS XE precedenti.
mdns-sd gateway
active-query timer 1 <----- Optionally enable Active querying to discover mDNS responders that might not send advertisements periodically.
query-response mode on-demand <----- Sets the response mode to on-demand instead of the default recurring mode (only for 17.9.1 and later releases)
2. Creare un filtro ubicazione
Nei criteri personalizzati, è necessario un filtro di posizione per il routing dei servizi tra VLAN. In questo caso specifico, è richiesto il routing del servizio tra le VLAN 2455 e 2481, in modo che tali VLAN vengano aggiunte al filtro di posizione LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Creare un elenco dei servizi in entrata e in uscita che consenta i servizi desiderati.
Nota: i servizi consentiti nei criteri di servizio in uscita sono associati al filtro di posizione definito nel passaggio 2. Questa operazione è obbligatoria per il routing dei servizi tra VLAN.
mdns-sd service-list LOCAL-AREA-SERVICES-IN IN
match airplay
match apple-tv
!
mdns-sd service-list LOCAL-AREA-SERVICES-OUT OUT
match airplay location-filter LOCAL-PROXY
match apple-tv location-filter LOCAL-PROXY
4. Creare un criterio per i servizi e associare gli elenchi dei servizi creati nel passo 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Attivare il gateway mDNS unicast sulle VLAN di interesse.
vlan configuration 2455
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
source-interface Vlan2455 <---- This is the source IP address that mDNS packets are going to be send from for this VLAN
!
vlan configuration 2481
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
source-interface Vlan2481 <---- This is the source IP address that mDNS packets are going to be send from for this VLAN
1. Abilitare il gateway mDNS a livello globale.
mdns-sd gateway
source-interface vlan10 <----- This is the IP source that the SDG Agent are going to be use to establish BCP sessions with the Service Peers
2. Creare un filtro ubicazione
Nei criteri personalizzati, è necessario un filtro di posizione per il routing dei servizi tra VLAN. In questo caso specifico, è richiesto il routing del servizio tra le VLAN 2455 e 2481, in modo che tali VLAN vengano aggiunte al filtro di posizione LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Creare un elenco dei servizi in entrata e in uscita che consenta i servizi desiderati.
Nota: i servizi consentiti nei criteri di servizio in uscita sono associati al filtro di posizione definito nel passaggio 2. Questa operazione è obbligatoria per il routing dei servizi tra VLAN.
mdns-sd service-list LOCAL-AREA-SERVICES-IN IN
match airplay
match apple-tv
!
mdns-sd service-list LOCAL-AREA-SERVICES-OUT OUT
match airplay location-filter LOCAL-PROXY
match apple-tv location-filter LOCAL-PROXY
4. Creare un criterio per i servizi e associare gli elenchi dei servizi creati nel passo 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Attivare il gateway mDNS unicast sulle VLAN di interesse.
vlan configuration 2455
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
!
vlan configuration 2481
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
6. Configurare un gruppo di peer del servizio per abilitare il routing del servizio tra peer del servizio.
È necessario aggiungere tutti gli indirizzi IP di origine dei peer del servizio necessari per eseguire il routing del servizio.
mdns-sd service-peer group
peer-group 1
service-policy LOCAL-AREA-SERVICE-POLICY
service-peer 10.1.1.1 location-group default
service-peer 10.1.1.5 location-group default
7. Configurare il trust mDNS sulle porte trunk inter-switch.
Questa configurazione non è obbligatoria, ma è consigliata in modo che la porta scarti qualsiasi pacchetto mDNS in entrata o in uscita. Infatti su queste porte non si prevede più la visualizzazione dei pacchetti mDNS, bensì dei pacchetti BCP.
int range tw1/0/1, tw1/0/19
mdns-sd trust
1. Abilitare il gateway mDNS a livello globale e configurare la modalità Service Peer.
mdns-sd gateway
active-query timer 1
mode service-peer
sdg-agent 10.1.1.3 <------ IP address of the SDG Agent
2. Creare un filtro ubicazione
Nei criteri personalizzati, è necessario un filtro di posizione per il routing dei servizi tra VLAN. In questo caso specifico, è richiesto il routing del servizio tra le VLAN 2455 e 2481, in modo che tali VLAN vengano aggiunte al filtro di posizione LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Creare un elenco dei servizi in entrata e in uscita che consenta i servizi desiderati.
mdns-sd service-list LOCAL-AREA-SERVICES-IN IN
match airplay
match apple-tv
!
mdns-sd service-list LOCAL-AREA-SERVICES-OUT OUT
match airplay location-filter LOCAL-PROXY
match apple-tv location-filter LOCAL-PROXY
4. Creare un criterio per i servizi e associare gli elenchi dei servizi creati nel passo 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Attivare il gateway mDNS unicast sulle VLAN di interesse.
Per Service Peer 10.1.1.1:
vlan configuration 2455
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
Per Service Peer 10.1.1.5:
vlan configuration 2481
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
6. Configurare il trust mDNS sulle porte trunk inter-switch.
Questa configurazione non è obbligatoria, ma è consigliata in modo che la porta scarti qualsiasi pacchetto mDNS in entrata o in uscita. Infatti su queste porte non si prevede più la visualizzazione dei pacchetti mDNS, bensì dei pacchetti BCP.
Per Service Peer 10.1.1.1:
int range tw1/0/1
mdns-sd trust
Per Service Peer 10.1.1.5:
int range Gig1/0/1
mdns-sd trust
1. Convalidare che l'agente SDG invii/riceva la query mDNS.
C9500#show mdns-sd statistics vlan <vlan/interface> | i mDNS|send|received
mDNS Statistics
mDNS packets sent : 5 <---Validate that this number increments in multiple readings.
mDNS packets rate limited : 0
mDNS packets received : 3 <---mDNS queries received and processed by the SDG Agent.
advertisements received : 0
queries received : 3
IPv4 received : 3
IPv4 advertisements received : 0
IPv4 queries received : 3
IPv6 received : 0
IPv6 advertisements received : 0
IPv6 queries received : 0
mDNS packets dropped : 0
2. Verificare che l'agente SDG disponga dell'annuncio nella cache mDNS.
C9500#show mdns-sd cache
mDNS CACHE
=================================================================================================================================
[<NAME>] [<TYPE>] [<TTL>/Remaining] [Vlan-Id/If-name] [Mac Address] [<RR Record Data>]
CXLabs-W10.local A 4500/3717 31 0050.56b3.d162 10.34.41.104
CXLabs-W10.local A 4500/4224 30 0050.56b3.e409 10.34.37.59
_airplay._tcp.local PTR 4500/4472 31 0050.56b3.d162 test31._airplay._tcp.local
test31._airplay._tcp.local SRV 4500/4472 2481 0050.56b3.d162 0 0 3000 CXLabs-W10-3.local
test31._airplay._tcp.local TXT 4500/4472 2481 0050.56b3.d162 (1)''
CXLabs-W10-3.local A 4500/4472 31 0050.56b3.d162 10.34.41.104
3. Verificare che i criteri del servizio siano abilitati sulla VLAN associata al servizio mDNS.
C9500#show mdns-sd service-policy association vlan
========== VLAN policy association =============
VLAN Service-policy
------------------------------------------------
1 LOCAL-AREA-POLICY
2481 LOCAL-AREA-POLICY
2455 LOCAL-AREA-POLICY
4. Convalida annuncio servizio cache mDNS, interrogatore e risponditore.
C9500#show mdns-sd statistics cache all
mDNS cache statistics :
Number of service types : 1
Number of records of type PTR : 1
Number of records of type SRV : 1
Number of records of type A : 3
Number of records of type AAAA : 0
Number of records of type TXT : 1
Top service types by instances :
Service type : (count of service instances)
_mirrorp2s._tcp.local : 1 <------Verify the service is display.
Top advertisers of record :
MAC Address : (count of records)
0050.56b3.d162 : 5
0050.56b3.e409 : 1 <-------Verify that interested MACs are mDNS Querier/Responder displays.
5. Se la voce non viene visualizzata nella cache, vengono ricevuti solo i pacchetti mDNS e non è presente uno scambio dell'agente SDG con il risponditore mDNS, rivedere i criteri del servizio e assicurarsi che il servizio sia incluso nell'elenco.
C9500#show mdns-sd service-list
Name Type Service Msg-Type Source Location-filter
========================================================================================================================================================
LOCAL-AREA-SERVICES-IN IN all any - - <-- Service list permit all services Inbound Direction
default-mdns-in-service-list IN apple-airprint any - -
IN apple-remote-login any - -
IN apple-screen-share any - -
IN apple-tv any - -
IN apple-windows-fileshare any - -
IN google-chromecast any - -
IN google-expeditions any - -
IN homesharing any - -
IN multifunction-printer any - -
IN printer-ipps any - -
LOCAL-AREA-SERVICES-OUT OUT all any ALL LOCAL-PROXY<-- Service list permit all services Outbound Direction
default-mdns-out-service-list OUT apple-airprint any ALL default-mdns-location-filter
OUT apple-remote-login any ALL default-mdns-location-filter
OUT apple-screen-share any ALL default-mdns-location-filter
OUT apple-tv any ALL default-mdns-location-filter
OUT apple-windows-fileshare any ALL default-mdns-location-filter
OUT google-chromecast any ALL default-mdns-location-filter
OUT google-expeditions any ALL default-mdns-location-filter
OUT homesharing any ALL default-mdns-location-filter
OUT multifunction-printer any ALL default-mdns-location-filter
6. Accetta i debug per rivedere il processo mDNS.
debug mdns all
1. Verificare che esista una sessione BCP tra il peer del servizio e l'agente SDG (scambio Keep-Alive).
Su Service Peer:
C9500#show mdns-sd sp-sdg statistics | i Keep|Message Messages sent: Keep-Alive : 69439 <---- Validate that this number increments in multiple readings Messages received: Keep-Alive Response : 69420 <---- Validate that this number increments in multiple readings C9300-2# show udp | i Proto|10991 Proto Remote Port Local Port In Out Stat TTY OutputIF 17 --listen-- --any-- 10991 0 0 2001221 0 17(v6) --listen-- --any-- 10991 0 0 2020221 0
Su agente SDG:
C9500# show mdns-sd sp-sdg statistics | i Keep|Message Messages received: Keep-Alive : 138901 <---- Validate that this number increments in multiple readings Messages sent: Keep-Alive Response : 138901 <---- Validate that this number increments in multiple readings
C9500#show mdns-sd sdg service-peer summary ========================================================================================================= Service-Peer/Port Cache-Sync Uptime Record Count Sent Time ========================================================================================================= 10.1.1.5/10991 124 Sep 5 15:24:03 2023 62 Hrs 15 Mins 0 10.1.1.1/10991 360 Sep 5 15:32:03 2023 180 Hrs 7 Mins 0
2. Verificare che il peer del servizio disponga dell'annuncio nella cache mDNS.
Se non viene visualizzato nella cache mDNS, acquisire un pacchetto nell'interfaccia connessa al risponditore mDNS e verificare che l'endpoint stia inviando annunci mDNS validi.
C9500#sh mdns cache mDNS CACHE ================================================================================================================================= [<NAME>] [<TYPE>] [<TTL>/Remaining] [Vlan-Id/If-name] [Mac Address] [<RR Record Data>] _airplay._tcp.local PTR 4500/4500 2481 0050.56b3.e9c2 PC-vlan2481._airplay._tcp.local PC-vlan2481._airplay._tcp.local SRV 4500/4500 2481 0050.56b3.e9c2 0 0 3000 CXLabs-WIN10.local CXLabs-WIN10.local A 4500/4500 2481 0050.56b3.e9c2 10.24.81.11 PC-vlan2481._airplay._tcp.local TXT 4500/4500 2481 0050.56b3.e9c2 (1)''
3. Verificare che il contatore dell'annuncio di Service Peer inviato sia in aumento.
Ogni Service Peer invia gli annunci all'agente SDG ogni service-notice-timer. L'impostazione predefinita è 30 secondi.
C9300-2#sh mdns summary Global mDNS Gateway ========================================== mDNS Gateway : Enabled Rate Limit : 60 PPS (default) AirPrint Helper : Disabled Mode : Service-Peer SDG Agent IP : 10.1.1.3 <----- SDG Agent configured Source Interface : Vl10 ANY Query Forward : Disabled Next Advertisement to SDG : 00:00:12 <----- Time left for sending next advertisement to SDG Agent (Default is every 30 seconds) Next Query to SDG : 00:00:12 Active Response Timer : Disabled Active Query Timer : Enabled 1 Minutes mDNS Query Type : PTR only Service Enumeration period : Default SSO : Inactive C9300-2#show mdns-sd service-peer statistics mDNS Packet statistics: Packets received from client : 11560 Queries : 281 IPv4 : 281 IPv6 : 0 Advertisements : 11279 IPv4 : 11279 <---- Validate that this number increments in multiple readings IPv6 : 0 Packets sent to client : 23939 Advertisements : 6 IPv4 : 6 IPv6 : 0 Queries : 23933 IPv4 : 23933 IPv6 : 0 Packets sent to SDG : 110 Queries : 92 Advertisements : 18 <---- Validate that this number increments in multiple readings Packets received from SDG : 0
C9300-2#show mdns-sd sp-sdg statistics One min, 5 mins, 1 hour Average Input rate (pps) : 0, 0, 0 Average Output rate (pps) : 0, 0, 0 Messages sent: Query : 92 ANY query : 0 Advertisements : 18 <---- Validate that this number increments in multiple readings Advertisement Withdraw : 15 Interface down : 0 Vlan down : 0 Service-peer cache clear : 2 Resync response : 365 Srvc Discovery response : 0 Keep-Alive : 71056 Messages received: Query response : 0 ANY Query response : 0 Cache-sync : 395 Get service-instance : 0 Srvc Discovery request : 0 Keep-Alive Response : 71037
4. Verificare che l'agente SDG disponga dell'annuncio nella cache mDNS.
C9500# show mdns cache mDNS CACHE ================================================================================================================================= [<NAME>] [<TYPE>] [<TTL>/Remaining] [Vlan-Id/If-name] [Mac Address] [<RR Record Data>] _airplay._tcp.local PTR 4500/4500 2481 0050.56b3.e9c2 PC-vlan2481._airplay._tcp.local PC-vlan2481._airplay._tcp.local SRV 4500/4500 2481 0050.56b3.e9c2 0 0 3000 CXLabs-WIN10.local CXLabs-WIN10.local A 4500/4500 2481 0050.56b3.e9c2 10.24.81.11 PC-vlan2481._airplay._tcp.local TXT 4500/4500 2481 0050.56b3.e9c2 (1)'' =========================================================================================================================================================================
5. Eseguire i debug per esaminare il processo mDNS.
debug mdns all
1. Verificare che il peer del servizio disponga della query nel relativo database di query mDNS.
Se non viene rilevato in mDNS query-db, acquisire un pacchetto nell'interfaccia connessa al querier mDNS e verificare che l'endpoint stia inviando query mDNS valide.
C9300-1#show mdns query-db ------------------------------------------------------------------ Client MAC Vlan ID Location ID User Role ------------------------------------------------------------------ PTR Name: _airplay._tcp.local 0050.56b3.2ec1 2455 Default none
2. Verificare che esista una sessione BCP tra il peer del servizio e l'agente SDG (scambio Keep-Alive).
C9300-1#show mdns sp-sdg statistics | i Keep|Message Messages sent: Keep-Alive : 71232 <---- Validate that this number increments in multiple readings Messages received: Keep-Alive Response : 71218 <---- Validate that this number increments in multiple readings C9300-1#show udp | i Proto|10991 Proto Remote Port Local Port In Out Stat TTY OutputIF 17 --listen-- --any-- 10991 0 0 2001221 0 17(v6) --listen-- --any-- 10991 0 0 2020221 0
3. Verificare che il contatore della query Service Peer inviata sia in aumento. Inoltre, la risposta alla query ricevuta è in aumento.
Il Service Peer invia le query all'agente SDG ogni service-query-timer. L'impostazione predefinita è 15 secondi.
C9300-1#show mdns-sd sp-sdg statistics One min, 5 mins, 1 hour Average Input rate (pps) : 0, 0, 0 Average Output rate (pps) : 0, 0, 0 Messages sent: Query : 608 <---- Validate that this number increments in multiple readings ANY query : 0 Advertisements : 2 Advertisement Withdraw : 0 Interface down : 0 Vlan down : 0 Service-peer cache clear : 6 Resync response : 0 Srvc Discovery response : 0 Keep-Alive : 71192 Messages received: Query response : 178 <---- Validate that this number increments in multiple readings ANY Query response : 0 Cache-sync : 395 Get service-instance : 0 Srvc Discovery request : 0 Keep-Alive Response : 71178
4. Verificare che l'agente SDG invii un annuncio in risposta.
C9500#show mdns sp-sdg statistics One min, 5 mins, 1 hour Average Input rate (pps) : 0, 0, 0 Average Output rate (pps) : 0, 0, 0 Messages received: Query : 704 ANY query : 0 Advertisements : 19 Advertisement Withdraw : 15 Interface down : 0 Vlan down : 0 Service-peer cache clear : 8 Resync response : 366 Srvc Discovery response : 0 Keep-Alive : 142377 Messages sent: Query response : 191 <---- Validate that this number increments in multiple readings ANY Query response : 0 Cache-sync : 791 Get service-instance : 0 Srvc Discovery request : 0 Keep-Alive Response : 142377
5. Eseguire i debug per esaminare il processo mDNS.
debug mdns all
show running-config mdns-sd
show mdns-sd summary
show mdns-sd service-policy association vlan
show mdns-sd service-policy association role
show mdns-sd statistics all
show mdns-sd statistics debug
show mdns-sd cache all
show mdns-sd query-db
show mdns-sd statistics cache all
show mdns-sd service-peer statistics
show mdns-sd sp-sdg statistics
show mdns-sd sdg service-peer summary
show mdns-sd controller summary
show mdns-sd controller detail
show mdns-sd controller statistics
show mdns-sd controller export-summary
show tech-support mdns-sd
debug mdns-sd all
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
05-Apr-2024 |
Versione iniziale |