El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo configurar y resolver problemas de Local Area Bonjour en el enfoque basado en unicast.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Nota: Consulte la guía de configuración adecuada para conocer los comandos que se utilizan para habilitar estas funciones en otras plataformas de Cisco.
Nota: se necesita la licencia de Cisco DNA Advantage para ejecutar Local Area Bonjour. Valide que la plataforma Cisco Catalyst es compatible con el modo Agente de Service Discovery Gateway (SDG) o con el modo de Service Peer (SP) de la matriz de compatibilidad, que se puede encontrar en la guía de configuración de la versión específica de Cisco IOS XE.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
A partir de Cisco IOS XE Amsterdam Release 17.3.2, se introdujo un nuevo enfoque de mDNS Service Gateway para reemplazar la implementación tradicional basada en inundaciones. Este nuevo enfoque proporciona un modelo de unidifusión con las siguientes mejoras:
Una consulta mDNS tiene el siguiente registro:
Una respuesta o anuncio mDNS tiene los siguientes registros:
La diferencia clave es cómo el gateway mDNS (switch Cat9k) enruta el anuncio mDNS a los solicitantes:
Además, en la implementación basada en multidifusión, los paquetes mDNS recibidos se inundan a otros puertos que permiten la VLAN en la que se recibió el paquete.
En el enfoque basado en unidifusión, el snooping mDNS proporciona un mecanismo de prevención de saturación, que se habilita para cada gateway mdns-sd configurado de VLAN en la configuración de VLAN. De esta forma, los paquetes mDNS se enviarán de forma unidifusión:
Al resolver problemas de una gateway mDNS, para identificar si el switch está ejecutando el modo basado en inundación o basado en unidifusión, puede verificar dónde se configura la gateway mdns-sd.
Existen dos tipos de configuraciones para proporcionar una puerta de enlace de detección de servicios sin saturación. El uso depende principalmente de dónde se encuentra el límite de la capa 3:
Una de las dificultades al probar las configuraciones de gateway mDNS en el laboratorio es descubrir cómo conseguir:
Estas 2 funciones se pueden realizar mediante el comando DNS-SD. El comando DNS-SD es una herramienta de diagnóstico de red que permite a un dispositivo probar mDNS Service Discovery. La función más importante es que puede anunciar la existencia de un servicio, así como descubrirlo.
Para anunciar un servicio mDNS, utilice el siguiente comando:
dns-sd -R name _app._protocol local port
Where:
Ejemplo: nombre de nodo testpc que anuncia el servicio Airplay en el puerto TCP 3000.
dns-sd -R testpc _airplay._tcp local 3000
Para consultar un servicio mDNS, utilice el siguiente comando:
dns-sd -B _app._protocol local
Where:
Ejemplo: Consulta del servicio Airplay.
dns-sd -B _airplay._tcp local
1. Habilite el gateway mDNS globalmente.
Nota: A partir de Cisco IOS XE 17.9.1, se puede configurar el modo en el que el agente de SDG gestiona las consultas y responde. El modo predeterminado es recurrente; en este modo, una vez que se recibe una consulta desde los terminales, se envía una respuesta a intervalos regulares de 15 segundos de forma predeterminada. El otro modo es a petición; en este modo, sólo se envía una respuesta cuando se recibe una consulta desde los terminales. A petición se muestra cómo las versiones anteriores de Cisco IOS XE gestionarían las consultas de los terminales.
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. Crear un filtro de ubicación
Se requiere un filtro de ubicación para el routing de servicio entre VLAN en las políticas personalizadas. En este caso específico, se requiere el ruteo de servicio entre las VLAN 2455 y 2481 para que esas VLAN se agreguen al filtro de ubicación LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Cree una lista de servicios entrantes y salientes que permita los servicios de su interés.
Nota: Los servicios permitidos en la política de servicio saliente están asociados al filtro de ubicación definido en el paso 2. Esto es necesario para el ruteo de servicio entre 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. Cree una política de servicio y asocie las listas de servicios creadas en el paso 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Active el gateway mDNS de unidifusión en las VLAN de interés.
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. Habilite el gateway mDNS globalmente.
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. Crear un filtro de ubicación
Se requiere un filtro de ubicación para el routing de servicio entre VLAN en las políticas personalizadas. En este caso específico, se requiere el ruteo de servicio entre las VLAN 2455 y 2481 para que esas VLAN se agreguen al filtro de ubicación LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Cree una lista de servicios entrantes y salientes que permita los servicios de su interés.
Nota: Los servicios permitidos en la política de servicio saliente están asociados al filtro de ubicación definido en el paso 2. Esto es necesario para el ruteo de servicio entre 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. Cree una política de servicio y asocie las listas de servicios creadas en el paso 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Active el gateway mDNS de unidifusión en las VLAN de interés.
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. Configure un grupo de pares de servicio para habilitar el enrutamiento de servicios entre pares de servicio.
Es necesario agregar cada IP de origen de Peers de servicio que se necesita para realizar el ruteo de servicio.
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. Configure la confianza mDNS en los puertos troncales entre switches.
Esta configuración no es obligatoria, pero se recomienda para que el puerto descarte cualquier paquete mDNS en el ingreso o egreso. Esto se debe a que en estos puertos ya no se espera ver paquetes mDNS sino paquetes BCP.
int range tw1/0/1, tw1/0/19
mdns-sd trust
1. Habilite la puerta de enlace mDNS globalmente y configure el modo de par de servicio.
mdns-sd gateway
active-query timer 1
mode service-peer
sdg-agent 10.1.1.3 <------ IP address of the SDG Agent
2. Crear un filtro de ubicación
Se requiere un filtro de ubicación para el routing de servicio entre VLAN en las políticas personalizadas. En este caso específico, se requiere el ruteo de servicio entre las VLAN 2455 y 2481 para que esas VLAN se agreguen al filtro de ubicación LOCAL-PROXY.
mdns-sd location-filter LOCAL-PROXY
match location-group default vlan 2481
match location-group default vlan 2455
3. Cree una lista de servicios entrantes y salientes que permita los servicios de su interés.
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. Cree una política de servicio y asocie las listas de servicios creadas en el paso 3.
mdns-sd service-policy LOCAL-AREA-SERVICE-POLICY
service-list LOCAL-AREA-SERVICES-IN IN
service-list LOCAL-AREA-SERVICES-OUT OUT
5. Active el gateway mDNS de unidifusión en las VLAN de interés.
Para el par de servicio 10.1.1.1:
vlan configuration 2455
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
Para el par de servicio 10.1.1.5:
vlan configuration 2481
mdns-sd gateway
service-policy LOCAL-AREA-SERVICE-POLICY
6. Configure la confianza mDNS en los puertos troncales entre switches.
Esta configuración no es obligatoria, pero se recomienda para que el puerto descarte cualquier paquete mDNS en el ingreso o egreso. Esto se debe a que en estos puertos ya no se espera ver paquetes mDNS sino paquetes BCP.
Para el par de servicio 10.1.1.1:
int range tw1/0/1
mdns-sd trust
Para el par de servicio 10.1.1.5:
int range Gig1/0/1
mdns-sd trust
1. Valide que envía/recibe la consulta mDNS del agente SDG.
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. Valide que el agente SDG tiene el anuncio en su caché 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. Valide que la política de servicio esté habilitada en la VLAN asociada con el servicio 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. Validar el servicio de caché mDNS, el solicitante y el respondedor están anunciando.
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. Si no se ve la entrada en la caché, solo se reciben paquetes mDNS y no hay intercambio del agente SDG con el respondedor mDNS, revise la política de servicio y asegúrese de que el servicio esté en la lista.
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. Realice depuraciones para revisar el proceso mDNS.
debug mdns all
1. Valide que existe una sesión BCP entre el par de servicio y el agente SDG (intercambio Keep-Alive).
En par de servicio:
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
En el agente de 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. Valide que el par de servicio tiene el anuncio en su caché mDNS.
Si no se ve en la caché mDNS, tome una captura de paquetes en la interfaz conectada al respondedor mDNS y valide que el terminal está enviando anuncios mDNS válidos.
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. Valide que el contador de anuncios enviados de Service Peer esté aumentando.
Cada par de servicio envía los anuncios al agente de SDG cada temporizador de anuncio de servicio. El valor predeterminado es de 30 segundos.
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. Valide que el agente SDG tiene el anuncio en su caché 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. Realice depuraciones para revisar el proceso mDNS.
debug mdns all
1. Valide que el par de servicio tenga la consulta en su base de datos de consulta mDNS.
Si no se ve en mDNS query-db, tome una captura de paquetes en la interfaz conectada al solicitante mDNS y valide que el punto final está enviando consultas mDNS válidas.
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. Valide que existe una sesión BCP entre el par de servicio y el agente SDG (intercambio 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. Valide que el contador de envío de consultas del mismo nivel de servicio esté aumentando. Además, la respuesta a la consulta recibida está aumentando.
El par de servicio envía las consultas al agente SDG cada temporizador de consulta de servicio. El valor predeterminado es 15 segundos.
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. Valide que el agente de SDG está enviando un anuncio como respuesta.
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. Realice depuraciones para revisar el proceso 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
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
05-Apr-2024 |
Versión inicial |