본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 9800 Wireless LAN Controller에서 mDNS(FlexConnect Multicast Domain Name System) 게이트웨이를 구성하는 방법에 대해 설명합니다.
Cisco에서는 다음 주제에 대해 숙지할 것을 권장합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
mDNS(Multicast Domain Name System)는 SP(Service Provider)와 서비스 사용자(무선 클라이언트) 간에 서비스를 검색하고 공유할 수 있는 유연성을 제공하는 프로토콜입니다. 서비스 제공자는 서비스 사용자가 사용할 수 있는 프린터, 스마트 tv, 파일 공유 서비스 등과 같은 서비스를 제공하는 장치입니다.
mDNS 프로토콜은 UDP를 기반으로 하며 포트 5353, Mac 주소 01:00:5E:00:00:FB 및 IPv4의 경우 IP 주소 224.0.0.251, IPv6의 경우 FF02::FB를 사용합니다.
WLC에서 작동하는 mDNS는 브리징과 게이트웨이라는 두 가지 모드입니다. 브리징 모드는 서비스 공급자와 서비스 사용자가 동일한 서브넷에 있어야 하는 동일한 Vlan(레이어 2)에서만 작동합니다. 게이트웨이 모드는 WLC 또는 AP가 Bonjour Gateway를 수행하여 서비스 공급자의 서비스를 캐시하고 서비스 사용자와 공유하도록 동일한 또는 다른 VLAN의 서비스 공급자 및 서비스 사용자와 작동합니다.
이 문서는 mDNS FlexConnect 로컬 스위칭만을 기반으로 하며, 이 경우 AP는 mDNS 게이트웨이로 작동하여 서비스 공급자가 광고하는 서비스를 캐시하고 이러한 서비스를 서비스 사용자와 공유합니다.
참고: 중앙 스위칭 mDNS 컨피그레이션은 Catalyst 9800 Wireless Controller에서 mDNS 이해를 참조하십시오
무선 및 유선 서비스 공급자는 mDNS 서비스를 활용하는 무선 클라이언트(서비스 사용자)와 함께 FlexConnect 로컬 스위칭 환경에서 mDNS 서비스를 광고합니다.
AP가 mDNS 게이트웨이로 작동하려면 mDNS 게이트웨이를 전역적으로 활성화하여 기능을 켜야 합니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd gateway
WLC(config-mdns-sd)#end
WLC#
기본 설정의 mDNS 서비스를 허용하도록 서비스 목록을 구성합니다. 목록은 IN과 OUT의 두 방향으로 구성되어야 합니다. 즉, mDNS 게이트웨이로 작동하는 액세스 포인트에서 허용되는 인그레스 및 이그레스 서비스를 필터링합니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd service-list FlexIN IN
WLC(config-mdns-sl-in)#match airplay
WLC(config-mdns-sl-in)#match spotify
WLC(config-mdns-sl-in)#exit
WLC(config)#mdns-sd service-list FlexOUT OUT
WLC(config-mdns-sl-out)#match airplay
WLC(config-mdns-sl-out)#match spotify
WLC(config-mdns-sl-out)#end
WLC#
필요한 서비스와 함께 서비스 목록 IN 및 OUT이 구성되면 서비스 정책을 사용하여 이들을 병합합니다. 병합된 서비스 정책은 WLAN-Policy, FlexConnect 프로필 및 mDNS Flex Policy에서 사용할 수 있습니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd service-policy mDNSFlexSSIDPolicy
WLC(config-mdns-ser-pol)#service-list FlexIN IN
WLC(config-mdns-ser-pol)#service-list FlexOUT OUT
WLC(config-mdns-ser-pol)#end
WLC#
mDNS Flex Profile에서 mDNS가 사용되는 FlexConnect 로컬 스위칭 VLAN을 Flex Profile에 추가해야 하며, 유선을 통해 서비스를 필터링할 수 있는 mDNS 서비스 정책과 함께 서비스 공급자 및 서비스 사용자의 VLAN을 mDNS Flex Profile에 추가해야 합니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#mdns-sd flex-profile mDNSFlexPolicy
WLC(config-mdns-flex-prof)#wired-vlan-range 11,21
WLC(config-mdns-flex-prof)#wired-service-policy mDNSFlexSSIDPolicy
WLC(config-mdns-flex-prof)#end
WLC#
모든 WLAN에는 기본적으로 mDNS 모드가 브리징으로 있습니다. AP가 무선을 통해 연결된 서비스 공급자 및 서비스 사용자를 위해 mDNS 게이트웨이로 작동할 때를 알도록 하려면 WLAN을 게이트웨이 모드로 mDNS로 구성해야 합니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#wlan ServiceUser
WLC(config-wlan)#mdns-sd-interface gateway
WLC(config-wlan)#end
WLC#
경고: WLAN의 컨피그레이션 변경으로 인해 연결된 무선 클라이언트가 SSID에서 삭제됩니다. 프로덕션 시간 중에 WLAN의 컨피그레이션이 변경될 경우 주의하십시오.
무선 서비스 공급자 및 무선 사용자 공급자의 경우, WLAN의 WLAN-Policy에 적용된 mDNS 정책은 이전에 구성된 mDNS 정책으로 필터링됩니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#wireless profile policy ServiceUser-Policy
WLC(config-wireless-policy)#mdns-sd service-policy mDNSFlexSSIDPolicy
WLC(config-wireless-policy)#end
WLC#
경고: WLAN-Policy의 컨피그레이션 변경으로 인해 연결된 무선 클라이언트가 WLAN에서 삭제됩니다. 프로덕션 시간 중에 WLAN-Policy에 컨피그레이션이 있으면 주의하십시오.
참고: 일반적인 FlexConnect 컨피그레이션은 Catalyst 9800 Wireless Controller에서 FlexConnect 이해를 참조하십시오
Vlan, ACL 등의 컨피그레이션이 적용되는 FlexConnect 정책에서 mDNS Flex Profile을 선택하여 FlexConnect 정책에 속하는 AP에 적용해야 합니다.
WLC GUI
WLC CLI
WLC#
WLC#conf t
WLC(config)#wireless profile flex mDNSFlexPolicy
WLC(config-wireless-flex-profile)#mdns-sd profile mDNSFlexPolicy
WLC(config-wireless-flex-profile)#end
WLC#
WLC 및 AP에서 이 명령을 사용하여 컨피그레이션을 확인할 수 있습니다.
일반적인 FlexConnect mDNS 컨피그레이션의 예는 다음 명령으로 확인할 수 있습니다.
WLC#show run | sec mdns-sd
mdns-sd gateway
mdns-sd service-list FlexIN IN
match airplay
match spotify
match airtunes
match apple-tv
match airserver
match web-server
match homesharing
mdns-sd service-list FlexOUT OUT
match airplay
match spotify
match airtunes
match apple-tv
match airserver
match web-server
match homesharing
mdns-sd service-policy mDNSFlexSSIDPolicy
service-list FlexIN IN
service-list FlexOUT OUT
mdns-sd flex-profile mDNSFlexPolicy
wired-vlan-range 11,21
wired-service-policy mDNSFlexSSIDPolicy
mdns-sd profile mDNSFlexPolicy
WLAN mDNS 모드는 다음 명령으로 확인할 수 있습니다.
WLC#show wlan name ServiceUser | in mDNS
mDNS Gateway Status : Gateway
WLC#show wlan name ServiceProvider | in mDNS
mDNS Gateway Status : Gateway
WLAN-Policy mDNS 컨피그레이션은 다음 명령으로 확인할 수 있습니다.
WLC#show wireless profile policy detailed ServiceUser-Policy | in mDNS
mDNS Service Policy name : mDNSFlexSSIDPolicy
WLC#show wireless profile policy detailed ServiceProvider-Policy | in mDNS
mDNS Service Policy name : mDNSFlexSSIDPolicy
mDNS와 관련된 컨피그레이션은 다음 명령을 사용하여 AP 측에서 확인할 수 있습니다.
9130mDNSAP#show mdns profile detail
FlexIN_IN _home-sharing._tcp.local ANY
FlexIN_IN _airplay._tcp.local ANY
FlexIN_IN _airserver._tcp.local ANY
FlexIN_IN _raop._tcp.local ANY
FlexIN_IN _spotify-connect._tcp.local ANY
FlexIN_IN _http._tcp.local ANY
FlexOUT_OUT _home-sharing._tcp.local ANY
FlexOUT_OUT _airplay._tcp.local ANY
FlexOUT_OUT _airserver._tcp.local ANY
FlexOUT_OUT _raop._tcp.local ANY
FlexOUT_OUT _spotify-connect._tcp.local ANY
FlexOUT_OUT _http._tcp.local ANY
9130mDNSAP#show mdns status
Global mDNS gateway:Enabled
vap_id ssid mdns_mode
0 ServiceUser Gateway
1 ServiceProvider Gateway
Active query interval:30
vap service_list_in service_list_out location
0 FlexIN_IN FlexOUT_OUT 0
1 FlexIN_IN FlexOUT_OUT 0
Wired vlan configuration: 11 21
mdns stats timer: 1
mdns cache timer: 1
AP Sync VLAN: 10
Wired service list IN: FlexIN_IN
Wired service list OUT: FlexOUT_OUT
9130mDNSAP#show mdns ap-table
AP_ETH_MAC Last_message_time Msg_seq Is_primary_ap
3C:57:31:55:E4:28 1721178339 133 YES
0C:D0:F8:98:1B:F0 1721178339 133 NO
이 문서에서는 트러블슈팅을 위해 mDNS가 FlexConnect 로컬 스위칭에서 거치는 워크플로에 대해 설명합니다. FlexConnect 로컬 스위칭이라는 구축 모드로 인해 mDNS가 관리되는 방식에서는 WLC에 어떤 역할도 없을 것임을 기억해야 합니다.
AP 자체는 mDNS 게이트웨이 디바이스가 되며, AP는 서비스 공급자로부터 서비스를 학습하고 서비스 사용자와 서비스를 공유하며, AP, 서비스 공급자 및 서비스 사용자는 서로 다른 VLAN에 배치됩니다.
네트워크 다이어그램별 섹션:
서비스 공급자는 네트워크에 대한 연결이 탐지되면 탐침이라는 메커니즘을 사용하며, 동일한 mDNS 서비스를 제공하는 다른 네트워크 장치가 있는지 확인하기 위해 mDNS 쿼리를 전송합니다. 프로브가 끝나면 유선 서비스 공급자는 알림 메커니즘을 사용하여 지원하는 서비스를 알리기 위해 mDNS 유형 응답을 보냅니다.
다음으로, 서비스 공급자가 지원하는 서비스를 알리는 mDNS 게이트웨이 AP 스위치포트에서 가져온 패킷 캡처를 살펴봅니다. 패킷은 VLAN 11에 있는 서비스 제공자의 MAC 주소와 IP 주소로 소싱되며, mDNS의 MAC 주소와 IP 주소의 목적지가 있으며, UDP를 통한 mDNS 포트 5353도 포함되어 있습니다. 또한 서비스 제공자가 지원하는 서비스에 대한 답변도 포함되어 있습니다.
다음 이미지의 Answers(답변) 섹션에는 나중에 AP가 이러한 서비스를 캐시하여 데이터베이스에 저장하는 airplay 및 spotify 관련 서비스가 표시됩니다.
AP CLI에서 유선 통신 사업자의 발표도 볼 수 있습니다. AP 자체에서 mDNS 정보를 보려면 다음 디버그를 활성화해야 합니다.
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0403] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wired mdns packet on vlan 11
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0403] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local to 4500
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _airplay._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0404] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for Samsung CU7000 55 TV._airplay._tcp.local to 4500
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0405] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _airplay._tcp.local
Jul 17 23:51:32 kernel: [*07/17/2024 23:51:32.0405] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _airplay._tcp.local
AP가 서비스를 학습하면 동일한 서비스가 데이터베이스에 저장됩니다.
AP 데이터베이스에 저장된 서비스는 다음 명령으로 확인할 수 있습니다.
이 문서에서는 mDNS 게이트웨이 AP의 캐시에 서비스가 있음을 입증하는 관련 정보를 다음 출력에 표시하지만 출력이 더 깁니다.
그런 다음 서비스, 서비스 공급자의 MAC 주소, 학습된 VLAN을 강조 표시합니다.
AP#show mdns cache
--------------------------------------------------- Service Provider Records--------------------------------------------------------------
service_name service_providers
_airplay._tcp.local Samsung CU7000 55 TV._airplay._tcp.local
_spotify-connect._tcp.local ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local
Total Services: 2
Total Service Providers: 2
------------------------------------------------------------ PTR Records -----------------------------------------------------------------
service_name client_mac ap_mac ap_ether_mac wired is_rlan is_aaa_override vlan wlan_id ttl flags client_type record_type target site_name ap_location ssid type
Samsung CU7000 55 TV._airplay._tcp.local E0:03:6B:45:8E:26 00:00:00:00:00:00 00:00:00:00:00:00 true false false 11 16 3840 132 0 12 _airplay._tcp.local PTR
ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local E0:03:6B:45:8E:26 00:00:00:00:00:00 00:00:00:00:00:00 true false false 11 16 3840 132 0 12 _spotify-connect._tcp.local PTR
유선 서비스 공급자가 서비스를 발표하고 AP가 이전 단계에서와 같이 서비스를 캐시하고 데이터베이스에 저장하면 서비스 사용자(무선 클라이언트)는 장치(랩톱)의 콘텐츠를 스마트 TV에 미러링하여 미러 디스플레이를 수행합니다. 미러 디스플레이를 구현하려면 이 예에서 Service User(서비스 사용자)는 airplay 서비스를 사용합니다.
서비스 사용자가 무선을 통해 연결되어 있으므로 서비스 사용자 측에서 연결 mDNS 흐름을 보려면 Over the Air 패킷 캡처가 필요합니다.
Over the Air 캡처에서는 Vlan 21의 무선 클라이언트인 서비스 사용자가 mDNS의 802.11 대상 MAC 주소와 함께 mDNS 쿼리를 전송하는 방법을 볼 수 있습니다. IP Address 섹션에서는 mDNS의 IP 주소가 목적지뿐 아니라 목적지로 사용되고, 포트는 UDP 5353이며, mDNS 쿼리 airplay에서 에어플레이가 요청됩니다. 소스 서비스 사용자의 MAC 주소가 IP 주소와 함께 사용되었습니다.
AP 디버그에서 AP가 무선 mDNS 패킷을 수신하는 방법을 확인할 수 있습니다. 디버그는 요청된 서비스를 이전 단계에서 패킷 캡처에서 보여준 것과 동일한 서비스로 표시합니다. 사용되는 mDNS 디버그는 다음과 같습니다.
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wireless mdns packet
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 0/3 '_companion-link._tcp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 1/3 '_rdlink._tcp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.1824] chatter: MDNSGW-PAK: query: 2/3 '_sleep-proxy._udp.local'
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.7442] chatter: MDNSGW-PAK: query: 0/1 '_airplay._tcp.local'
참고: 스니퍼 모드에서 AP로 Air 패킷 캡처를 인수하려면 이 문서 Catalyst 9800 Wireless Controller에서 스니퍼 모드에서 액세스 포인트 구성 을 참조하십시오. MacBook을 사용하여 Air 패킷 캡처를 인수하려면 이 문서를 참조하여 MacBook에서 Air를 통해 패킷 캡처를 수집하십시오
AP가 서비스 사용자로부터 mDNS 쿼리를 받으면 mDNS 응답을 작성하여 무선으로 전송합니다. 응답은 액세스 포인트 MAC Add 및 IP Address를 통해 제공되며, 대상은 서비스 사용자(무선 클라이언트) MAC 주소이지만, mDNS IP 주소는 필요한 서비스가 포함된 응답과 함께 사용됩니다. 즉, 이 패킷은 서비스 사용자에게 전달되며 mDNS 패킷입니다.
패킷에서는 AP가 mDNS 게이트웨이 역할을 하기 때문에 AP가 IP 섹션의 자체 IP 주소를 사용하여 mDNS 포트 UDP 5353과 함께 패킷을 mDNS IP 주소로 소싱하는 방법도 확인할 수 있습니다.
디버그에서 mDNS 응답이 서비스 사용자에게 전송되었음을 확인할 수 있습니다. 특정 서비스 사용자를 위한 mDNS 응답을 아는 방법은 응답에서 서비스 사용자의 MAC 주소와 액세스 포인트의 MAC 주소를 확인하는 것입니다. 패킷 캡처의 이전 단계에서 볼 수 있듯이 다음 그림의 강조 표시된 부분에 나와 있는 것처럼 서비스 사용자의 MAC 주소는 a6c515dcdd57이고 액세스 포인트의 MAC 주소는 0c75bdb5e9d0입니다.
Jul 18 02:04:45 kernel: [*07/18/2024 02:04:45.7450] chatter: mdns response packet 599 | a6c515dc dd570c75 bdb5e9d0 08004500 02490000 0000fa11 1ddec0a8 0a3fc0a8 153614e9 14e90235 6b330000 80000000 00030000 00000e5f 6d657461 5f726573 706f6e73 65055f6d 646e7308 5f676174 65776179 035f6170 065f6c6f 63616c00 00100001 00000000 0000085f 61697270 6c617904 5f746370 056c6f63 616c0000 0c000100 0010a400 17145361 6d73756e 67204355 37303030 20353520 5456c040 c05f0010 00010000 10a401ab 0561636c 3d301a64 65766963 6569643d 45303a30 333a3642 3a34353a 38453a32 361b6665 61747572 65733d30 78374638 4144302c 30783338 42434634 36126665 783d3049 702f4145 62506977 4e414341 07727366 3d307833 1a66763d 7032302e 542d4b53 55324543 414b5543 2d313430 322e3806 61743d30 78310b66 6c616773 3d307832 30340d6d 6f64656c 3d554355 37303030 12696e74 65677261 746f723d 53616d73 756e6714 6d616e75 66616374 75726572 3d53616d 73756e67 1c736572 69616c4e 756d6265 723d3046 47463343 47573630 32313834 4b0d7072 6f746f76 6572733d 312e3111 73726376 6572733d 3337
이전 단계에서는 FlexConnect 로컬 스위칭에 대해 성공적인 mDNS 패킷 흐름을 완료합니다. 여기서 서비스 제공자는 Vlan 11에 유선 연결되었고, AP는 Vlan 10에, 서비스 사용자는 Vlan 21에 유선 연결되었습니다.
무선 통신 사업자는 유선 통신 사업자 메커니즘과 정확히 동일하게 작동하며, 서비스에 대한 프로빙과 공지를 전송하고, AP가 서비스를 캐시하고 데이터베이스에 저장합니다. 이 섹션에서는 서비스 공급자가 무선으로 연결될 때 mDNS 게이트웨이를 수행하는 AP가 서비스를 학습하는 방법에 대해 설명합니다.
유선 및 무선 서비스 공급자의 차이점은 802.11이 발생한 이후 패킷이 무선으로 표시되는 방식입니다. 다음 패킷에서는 Vlan 11의 무선 서비스 공급자가 소스 자신의 MAC 주소 및 IP 주소가 포함된 mDNS 패킷을 전송하고, 목적지가 mDNS Mac 주소 및 IP ADD인 경우 응답 목록에 서비스가 포함된 포트 UDP 5353을 통해 전송하는 방법을 확인할 수 있습니다.
AP 디버그를 통해 AP가 무선 mDNS 패킷을 얻고 데이터베이스에 학습된 서비스를 추가하는 방법을 확인할 수 있습니다.
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7785] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wireless mdns packet
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _spotify-connect._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _services._dns-sd._udp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7786] chatter: MDNSGW-EVENT: push: adding ptr record to cache: srv_name: _airplay._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: mdns_ptr_db:updated TXT record TTL for Samsung CU7000 55 TV._airplay._tcp.local to 4500
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: mdns_ptr_db:added/updated PTR record for _airplay._tcp.local
Jul 18 02:42:01 kernel: [*07/18/2024 02:42:01.7787] chatter: MDNSGW-EVENT: push: added ptr record to cache: srv_name: _airplay._tcp.local
AP가 서비스를 캐시하면 데이터베이스가 구축되고 AP의 무선 서비스 공급자 데이터베이스에 SSID 이름, 사이트 이름(사이트 TAG) 등의 세부 정보가 표시되며 다음에 더 강조 표시되어 유선 서비스 공급자 서비스와 비교하여 몇 가지 차이점이 표시됩니다.
AP#show mdns cache
--------------------------------------------------- Service Provider Records--------------------------------------------------------------
service_name service_providers
_airplay._tcp.local Samsung CU7000 55 TV._airplay._tcp.local
_spotify-connect._tcp.local ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local
Total Services: 2
Total Service Providers: 2
------------------------------------------------------------ PTR Records -----------------------------------------------------------------
service_name client_mac ap_mac ap_ether_mac wired is_rlan is_aaa_override vlan wlan_id ttl flags client_type record_type target site_name ap_location ssid type
Samsung CU7000 55 TV._airplay._tcp.local 68:FC:CA:6E:EB:0C 0C:75:BD:B3:20:A0 0C:75:BD:B5:E9:D0 false false false 11 1 4320 132 0 12 _airplay._tcp.local mDNSFlex-Site-TAG RemoteLocation ServiceProvider PTR
ed9583d2b239afa30d7b0e7106c3710ddcfe5769._spotify-connect._tcp.local 68:FC:CA:6E:EB:0C 0C:75:BD:B3:20:A0 0C:75:BD:B5:E9:D0 false false false 11 1 4320 132 0 12 _spotify-connect._tcp.local mDNSFlex-Site-TAG RemoteLocation ServiceProvider PTR
mDNS 사용자 서비스 쿼리와 AP mDNS 게이트웨이 응답은 유선 서비스 공급자 섹션에서 설명한 것과 정확히 동일하며, 서비스 사용자가 mDNS 쿼리를 전송하고 AP mDNS가 게이트웨이의 역할을 하며 필요한 서비스 세부 정보와 함께 서비스 사용자에게 응답을 보냅니다.
사이트 태그당 하나의 기본 mDNS AP만 있으며 두 가지 작업을 담당합니다.
기본 AP가 아닌 AP 관점에서 업데이트 정보를 제공합니다. 이 사이트의 모든 AP는 Vlan 10에 있습니다.
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4852] chatter: MDNSGW-EVENT: flex mdns gw: Recieved wired mdns packet on vlan 10
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: MDNSGW-EVENT: Received _heartbeat record. data: digest=f7adbb063c274f6e4219f3a36abf7f787075b7e1
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: seq=355
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4853] chatter: is_primary_ap=true
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: Calculated digest=f7adbb063c274f6e4219f3a36abf7f787075b7e1
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: Verified meta message
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: [0C:75:BD:B5:E9:D0] Verified message from 3C:57:31:55:E4:28
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: New pkt from 3C:57:31:55:E4:28. Hash added to list
Jul 18 03:26:25 kernel: [*07/18/2024 03:26:25.4854] chatter: MDNSGW-EVENT: mdns_gw_ap_mgr :: MdnsGwApMgr: [3C:57:31:55:E4:28] Received _meta_heartbeat with message: seq=355, is_primary=true
9130mDNSAP#show mdns ap-table
AP_ETH_MAC Last_message_time Msg_seq Is_primary_ap
3C:57:31:55:E4:28 1721273666 363 YES
9130mDNSAP#
주 mDNS AP는 사이트 TAG 및 기본 AP가 속한 네트워크에서 학습된 서비스에 대해 다른 AP에게 알려줍니다. 일단 mDNS 정보 패킷이 동일한 사이트 태그의 다른 AP에 도달하면 새로운 서비스가 학습된 경우 mDNS 캐시 데이터베이스가 AP에서 업데이트됩니다.
Jul 18 03:41:26 kernel: [*07/18/2024 03:41:26.1021] chatter: MDNSGW-EVENT: forward_packet: sending packet on vlan 10
Jul 18 03:41:26 kernel: [*07/18/2024 03:41:26.1023] chatter: send meta packet 177 | 01005e00 00fb3c57 3155e428 08004500 00a30000 0000fa11 1469c0a8 0a3de000 00fb14e9 14e9008f 450e0000 80000000 00010000 00000a5f 68656172 74626561 74055f6d 646e7308 5f676174 65776179 035f6170 065f6c6f 63616c00 00100001 00000000 004b2f64 69676573 743d6233 36336564 65343334 39643531 64613039 66613765 61313739 35346633 64666235 39383763 35340773 65713d33 37301269 735f7072 696d6172 795f6170 3d747275 65
WLC에 대한 기본 mDNS AP 데이터베이스 업데이트:
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3127] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: MDNS Stats Timer triggered
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3128] chatter: MDNSGW-PAK: mdns_gw_visibility :: MdnsGwVisibility: sending mdns stats payload to capwapd
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3130] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: MDNS Cache Timer triggered
Jul 18 03:35:26 kernel: [*07/18/2024 03:35:26.3131] chatter: MDNSGW-EVENT: mdns_gw_visibility :: MdnsGwVisibility: sending mdns cache IAPP payload. Total payloads sent - 2
기본 AP가 WLC에 알린 서비스는 AP(이 예에서는 유선 통신 사업자)가 유선 또는 무선을 통해 서비스를 학습한 경우 학습한 서비스, 학습한 사이트 TAG 및 Vlan, 서비스 사업자 이름을 포함하는 정보를 제공합니다. 무선 통신 사업자의 경우 WLAN ID는 통신 사업자가 연결된 WLAN을 나타냅니다.
mDNS 서비스 목록 및 정책에서는 네트워크에서 허용된 mDNS 서비스를 제어할 수 있습니다. 여기서 서비스 목록 IN 및 OUT에서 허용되지 않는 mDNS 서비스가 필터링되는 방법의 예입니다.
서비스가 알려지거나 쿼리되지만 허용되지 않음을 보려면 AP에서 이 디버그를 활성화하십시오.
이러한 mDNS 서비스는
Select mDNS Services(mDNS 서비스 선택)에 구성된 Service List(서비스 목록)에서 구성되고 선택되지 않았으므로 허용되지 않습니다.
Jul 18 03:46:41 kernel: [*07/18/2024 03:46:41.6986] chatter: MDNSGW-ERROR: Handle query: service_string:_airplay-bds._tcp.local not allowed by policy. Skipping it.
Jul 18 03:46:53 kernel: [*07/18/2024 03:46:53.7270] chatter: MDNSGW-ERROR: Handle query: service_string:6A:FC:CA:6E:EB:0C@0.0.0.0._wake._tcp.local not allowed by policy. Skipping it.
특수 서비스 목록이 필요한 경우 WLC의 mDNS 컨피그레이션에서 Service Definition(서비스 정의) 섹션에도 동일한 항목을 추가해야 합니다.
서비스가 WLC에서 서비스로 추가되고 서비스 목록 IN 및 OUT에서 선택되면 mDNS 서비스 정책을 통해 FlexConnect AP로 푸시됩니다.
이를 위해서는 필요한 정확한 서비스를 알아야 하며 서비스 정의 섹션에서 서비스에 대한 사용자 지정 이름 및 서비스 문자열을 추가해야 합니다.
이 예에서는 mDNS 서비스 목록당 허용되지 않는 서비스 섹션에서 mDNS 게이트웨이 AP에 의해 필터링된 두 서비스를 추가했습니다.
이 문서에서는 mDNS 브리징 모드를 다루지 않습니다. FlexConnect 로컬 스위칭에서 이 mDNS 모드는 AP 관점에서 일반 데이터 트래픽으로 취급되기 때문입니다. FlexConnect 로컬 스위칭에서 mDNS에 대해 브리징 모드가 활성화된 경우 AP는 유선 또는 무선에서 수신한 mDNS 패킷을 전달하기만 합니다. 이러한 패킷은 동일한 VLAN에서만 전달됩니다. 즉 mDNS가 작동하려면 서비스 공급자와 서비스 사용자가 동일한 VLAN에 있어야 합니다. mDNS 브리징은 VLAN 전체에서 작동하지 않습니다.
일부 WLAN에서는 mDNS를 원하지 않지만 다른 WLAN에서는 mDNS 모드 드롭을 구성해야 하는 경우 WLAN별로 mDNS 모드 드롭을 구성할 수 있습니다. mDNS 삭제를 활성화하면 mDNS는 WLAN에 연결된 디바이스를 거치지 않습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
29-Jul-2024 |
최초 릴리스 |