목차
사례 1. PIM-DM 구성 시 L3 멀티캐스트 서비스를 온디맨드로 이용할 수 없는 경우
사례 2. PIM-SM 구성 시 L3 멀티캐스트 서비스를 온디맨드로 이용할 수 없는 경우
목적
이 문서는 PIM-DM 및 PIM-SM 모드를 기반으로 한 L3 멀티캐스트 온디맨드 오류에 대한 문제 해결 지침을 제공합니다.
필수 조건
- Omada Campus L3 관리형 스위치
소개
PIM(Protocol Independent Multicast)은 특정 유니캐스트 라우팅 프로토콜과 무관합니다. PIM은 별도의 유니캐스트 라우팅 정보를 유지할 필요가 없으며, 유니캐스트 라우팅 테이블의 라우팅 정보를 직접 사용하여 멀티캐스트 패킷에 대한 역경로 전달(RPF) 검사를 수행합니다. 검사가 통과되면, 멀티캐스트 패킷을 전달하기 위해 멀티캐스트 라우팅 테이블 항목을 생성합니다. 현재 L3 스위치는 PIM-Dense 모드(PIM-DM)와 PIM-Sparse 모드(PIM-SM)를 모두 지원합니다. PIM-DM은 각 네트워크 세그먼트에 멀티캐스트 수신자가 밀집해 있는 소규모 네트워크에 적합하며, PIM-SM은 설정이 더 복잡하고 대규모 네트워크에 적합합니다.
IGMP(인터넷 그룹 관리 프로토콜)는 TCP/IP 프로토콜 스위트의 일부로, IPv4 멀티캐스트 멤버십 관리에 사용됩니다. IGMP는 IGMP 메시지를 교환하여 수신 호스트와 직접 연결된 멀티캐스트 라우터 간에 멀티캐스트 그룹 멤버십을 설정하고 유지하는 데 사용됩니다.
L3 멀티캐스트 라우팅을 위해서는 네트워크에 PIM과 IGMP를 모두 배포해야 합니다. PIM은 전체 L3 멀티캐스트 도메인 내에서 밀집 모드와 희소 모드 모두에 배포되어야 합니다. IGMP는 멀티캐스트 수신기에 연결된 멀티캐스트 라우터에 배포되어야 합니다.
문제 해결 단계
사례 1. PIM-DM 구성 시 L3 멀티캐스트 서비스를 온디맨드로 이용할 수 없는 경우
문제 해결 과정을 이해하는 데 도움이 되도록, 먼저 PIM-DM의 원리를 간략히 소개합니다. PIM-DM 데이터 스트림 전달의 일반적인 과정은 ‘플러딩(Flooding) - 프루닝(Prune) - 그래프팅(Graft)’으로 요약할 수 있습니다.
- 플러딩(Flooding): 멀티캐스트 출발지에 직접 연결된 PIM 라우터는 멀티캐스트 데이터 스트림을 수신한 후, 해당 데이터 스트림을 전체 PIM-DM 멀티캐스트 도메인으로 플러딩합니다. 이를 통해 PIM-DM 멀티캐스트 도메인 내의 모든 PIM 라우터가 멀티캐스트 출발지의 정보를 얻을 수 있습니다.
- 프루닝: 데이터 스트림이 플러딩된 후, PIM 라우터에 연결된 멀티캐스트 그룹 멤버가 없는 경우, 상류 라우터에 멀티캐스트 그룹 정보 전달을 중단하도록 알리기 위해 Prune 단계가 필요합니다.
- 그래프팅호: 클라이언트가 PIM 라우터에 연결되면, 라우터는 먼저 플러딩 과정에서 획득한 멀티캐스트 그룹 정보에 클라이언트가 요청한 멀티캐스트 그룹이 포함되어 있는지 확인합니다. 포함되어 있다면, 해당 멀티캐스트 그룹의 멀티캐스트 출발지로 Graft 메시지가 전송됩니다. RPF 검사 메커니즘을 통해 PIM 그래프트 메시지는 클라이언트와 출발지 사이에 직접 연결된 PIM 라우터와 출발지 사이의 최단 경로 트리에서 홉 단위로 전달됩니다. 그라프트 메시지를 수신한 후, 출발지에 직접 연결된 PIM 라우터는 해당 멀티캐스트 데이터 스트림을 그라프트 메시지를 보낸 다운스트림으로 방출하며, 이 멀티캐스트 데이터 스트림은 그라프트에 의해 생성된 멀티캐스트 최단 경로 트리를 따라 클라이언트로 전달됩니다.
아래 그림에서 볼 수 있듯이, 4대의 Omada 스위치가 루프가 있는 전형적인 L3 멀티캐스트 토폴로지를 형성합니다. 멀티캐스트 서버는 172.19.1.0/24 네트워크 세그먼트에 위치하고, 클라이언트는 172.16.1.0/24 네트워크 세그먼트에 위치합니다. 서버와 클라이언트가 서로 다른 네트워크 세그먼트에 있으므로, 클라이언트가 온디맨드 멀티캐스트 데이터를 정상적으로 재생할 수 있도록 하려면 L3 멀티캐스트 서비스가 필요합니다. 토폴로지 내 각 DUT의 설정에 대해서는 다음 표를 참조하십시오.

|
장치 |
인터페이스 |
IP 주소 |
VLAN |
|
DUT#1 |
1/0/1 |
172.16.1.1/24 |
100 |
|
1/0/2 |
10.10.10.1/30 |
101 |
|
|
DUT#2 |
1/0/1 |
10.10.10.2/30 |
101 |
|
1/0/2 |
10.10.10.5/30 |
102 |
|
|
1/0/3 |
10.10.10.9/30 |
103 |
|
|
DUT#3 |
1/0/1 |
10.10.10.10/30 |
103 |
|
1/0/2 |
10.10.10.13/30 |
104 |
|
|
DUT#4 |
1/0/1 |
10.10.10.6/30 |
102 |
|
1/0/2 |
10.10.10.14/30 |
104 |
|
|
1/0/3 |
172.19.1.1/24 |
200 |
다음은 위 토폴로지를 기반으로 한 일반적인 PIM-DM 문제에 대한 문제 해결 지침입니다.
1단계. 멀티캐스트 서버와 이에 직접 연결된 PIM 라우터 간의 연결 상태 확인
L3 멀티캐스트 서비스의 경우, 멀티캐스트 서버의 IP와 이에 직접 연결된 PIM 라우터 인터페이스의 IP가 동일한 네트워크 세그먼트에 있어야 합니다. show ip route 명령을 사용하여 멀티캐스트 서버에 직접 연결된 PIM 라우터의 유니캐스트 라우팅 테이블을 확인할 수 있습니다. 직접 연결된 라우팅 항목의 접두사 코드는 C입니다. 이 예시에서 출발지에 직접 연결된 PIM 라우터는 DUT#4입니다. 다음은 DUT#4에서 show ip route 명령을 실행한 결과입니다. 빨간색 상자 안의 항목은 출발지에 직접 연결된 PIM 라우터의 라우팅 항목입니다.

또한, PIM 라우터에서 멀티캐스트 서버의 IP 주소로 직접 ping을 수행할 수 있습니다. ping이 성공하면, 멀티캐스트 서버와 직접 연결된 PIM 라우터 인터페이스의 IP 주소가 동일한 네트워크 세그먼트에 있으며 연결 문제가 없음을 의미합니다.

또한, PIM-DM 모드에서는 유효한 데이터 스트림에 대해 기본적으로 항목이 생성됩니다. 따라서 show ip mroute 명령을 사용하여 소스에 직접 연결된 PIM 라우터의 멀티캐스트 라우팅 테이블을 확인할 수도 있습니다. 멀티캐스트 서버에 해당하는 멀티캐스트 테이블 항목이 생성되었다면, 멀티캐스트 서버와 직접 연결된 PIM 라우터 간의 연결에는 문제가 없는 것입니다. 아래 그림은 DUT#4에서 show ip mroute 명령을 실행한 결과로, 멀티캐스트 서버가 총 20개의 채널을 생성했음을 보여줍니다.

2단계. 전체 멀티캐스트 도메인 내의 모든 네트워크 세그먼트에 유니캐스트로 접근할 수 있는지 확인합니다.
PIM 프로토콜은 유니캐스트 라우팅 테이블의 라우팅 정보를 사용하여 멀티캐스트 패킷에 대한 RPF 검사를 수행합니다. PIM 라우터가 멀티캐스트 도메인 내의 특정 네트워크 세그먼트에 도달할 수 없는 경우, 멀티캐스트 데이터 스트림의 RPF 검사가 실패할 수 있으며, 결국 온디맨드 브로드캐스트를 사용할 수 없게 될 수 있습니다. show ip route 명령을 사용하여 라우팅 테이블을 확인할 수 있습니다. 이 예시에서 멀티캐스트 도메인은 vlan100, vlan101-104 및 vlan200 등 6개의 네트워크 세그먼트로 구성됩니다. 따라서 멀티캐스트 도메인 내의 모든 PIM 라우터에는 이 6개 세그먼트에 도달할 수 있는 라우팅 항목이 포함되어 있어야 합니다. 동적 라우팅 설정 방법에 대한 자세한 내용은 해당 동적 라우팅 프로토콜 설정 가이드를 참조하십시오.

특히, 소스가 위치한 네트워크 세그먼트에 도달하는 각 PIM 라우터의 경로 항목을 확인하십시오. 멀티캐스트 데이터 스트림의 출발지 IP에 도달할 수 없는 경우, 해당 데이터 스트림은 즉시 폐기됩니다. show ip route specify <multicast server ip> on the PIM router 명령어를 사용하여 항목을 확인할 수 있습니다.

3단계. 멀티캐스트 도메인 내 각 PIM 라우터 간의 PIM 이웃 관계가 정상적으로 설정되었는지 확인합니다.
멀티캐스트 데이터 스트림은 PIM 이웃 간에만 홉 단위로 전달될 수 있으므로, 멀티캐스트 도메인 내의 모든 PIM 라우터 간에 PIM 이웃 관계가 확립되었는지 확인해야 합니다. 이를 확인하려면 show ip pim neighbor 명령을 사용하십시오. 이 예시에서는 DUT#1의 vlan101 인터페이스만 PIM 이웃이 있으며, DUT#2의 vlan101~103 인터페이스에도 PIM 이웃이 있습니다. PIM 이웃 관계가 정상적으로 설정되지 않는 경우, 각 인터페이스에서 PIM이 활성화되어 있는지 및 각 인터페이스의 IP 주소가 올바르게 구성되어 있는지 확인하십시오.


4단계. 클라이언트에 직접 연결된 인터페이스에서 IGMP와 PIM이 모두 활성화되어 있는지, 그리고 L3 IGMP 멀티캐스트 테이블이 올바르게 생성되었는지 확인하십시오.
IGMP 기능이 활성화된 인터페이스는 IGMP 쿼리어 역할을 할 수 있습니다. L3 IGMP 쿼리어는 리포트/리브 메시지의 출발지 IP에 대해 엄격한 검사를 수행하며, 출발지 IP와 쿼리어가 동일한 네트워크 세그먼트에 속하는 IGMP 프로토콜 메시지만 처리합니다. 기본적으로 IGMP는 IGMPv3로 활성화되며, 이는 IGMPv1 및 IGMPv2 메시지와 호환됩니다. 이 예시에서는 IGMPv3 쿼리어에 대해 IGMPv2 멀티캐스트 그룹이 설정됩니다. show ip igmp interface statistic 명령을 사용하여 IGMP 메시지의 송수신 상태를 확인할 수 있습니다. 또한 sshow ip igmp group interface <type><id>{detail} 명령을 사용하여 L3 IGMP의 그룹 설정 상태를 확인할 수 있습니다.


5단계. L3 멀티캐스트가 여전히 실패하면, 멀티캐스트 라우팅을 홉별로 확인하십시오.
PIM-DM 모드에서는 멀티캐스트 데이터 스트림이 출발지와 클라이언트 사이의 최단 경로 트리(SPT)를 따라 홉 단위로 전달됩니다. 위의 예시 토폴로지에서 SPT는 출발지→DUT#4→DUT#2→DUT#1→클라이언트입니다. 출발지→DUT#4 및 DUT#1→클라이언트 구간을 이미 확인했으므로, 이제 DUT#4→DUT#2→DUT#1 구간을 확인해야 합니다. show ip mroute 명령을 사용하여 클라이언트에서 출발지로의 멀티캐스트 라우팅 테이블을 확인하는 것이 좋습니다. 멀티캐스트 라우팅 테이블의 수신 인터페이스와 발신 인터페이스가 예상대로 설정되어 있는지 확인하십시오. 아래 그림은 DUT#4→DUT#2→DUT#1 경로의 전체 멀티캐스트 라우팅 테이블을 보여줍니다.

사례 2. PIM-SM 구성 시 L3 멀티캐스트 서비스를 온디맨드로 이용할 수 없는 경우
PIM-DM의 플러딩은 대역폭을 많이 차지하며 멀티캐스트 도메인 내의 모든 PIM 라우터에 잠재적인 부하를 증가시킵니다. 따라서 대규모 네트워크에서는 PIM-SM 모드를 사용하는 것이 권장됩니다. PIM-SM은 부트스트랩 라우터(BSR)와 랑데부 포인트(RP)를 설정함으로써, 네트워크 내의 모든 멀티캐스트 데이터 스트림이 유니캐스트 모드로 RP에 등록되도록 하여, RP가 멀티캐스트 도메인의 모든 멀티캐스트 정보를 기록할 수 있게 하고, 다른 PIM 라우터들이 RP를 통해 멀티캐스트 그룹 정보를 획득할 수 있도록 보장합니다. PIM-SM의 작동은 크게 두 단계로 나눌 수 있습니다.
- 1단계: 클라이언트가 RPT(Rendezvous Point Tree)를 통해 데이터 스트림을 수신합니다.
클라이언트로부터 IGMP 그룹 가입 요청을 수신한 후, 클라이언트에 직접 연결된 PIM 라우터는 RP에 멀티캐스트 그룹 데이터를 요청하고, RP는 등록된 멀티캐스트 그룹 정보를 기반으로 해당 멀티캐스트 출발지에게 멀티캐스트 데이터를 요청합니다. 멀티캐스트 데이터 스트림은 RP를 통해 클라이언트에 도달합니다. 이 단계에서 RP를 경유하는 멀티캐스트 전달 경로를 랑데부 포인트 트리(RPT)라고 합니다.
- 2단계: 클라이언트가 SPT(Shortest Path Tree)를 통해 데이터 스트림을 수신
1단계에서 클라이언트에 직접 연결된 PIM 라우터는 멀티캐스트 데이터 스트림을 수신했으며, 멀티캐스트 데이터 스트림의 출발지 IP를 기반으로 멀티캐스트 소스 정보를 얻을 수 있습니다. 그 후, 이 PIM 라우터는 RPF 검사를 바탕으로 멀티캐스트 소스 IP 정보를 포함하는 Join 메시지를 멀티캐스트 소스로 전송합니다. Join 메시지를 수신한 PIM 중간 라우터는 출발지에 연결된 PIM 라우터가 Join 메시지를 수신하고 연결된 장치로 해당 데이터 스트림을 전달할 때까지 RPF 검사를 계속 수행하며 멀티캐스트 출발지로 Join 메시지를 전송합니다. 이제 멀티캐스트 데이터 스트림은 Join 메시지에 의해 생성된 SPT를 따라 클라이언트로 전달되며, 1단계에서 전송되던 데이터 스트림은 취소되어 RP 및 기타 최단 경로가 아닌 경로에 가해지는 대역폭 부하가 줄어듭니다.
아래 그림에서 볼 수 있듯이, 4대의 Omada 스위치가 루프가 있는 일반적인 토폴로지를 형성하며, PIM-SM 모드에서 L3 멀티캐스트 서비스를 배포합니다. 멀티캐스트 서버, 클라이언트 및 각 인터페이스의 IP 주소는 PIM-DM과 동일합니다. PIM-SM에서 DUT#2는 BSR로, DUT#3은 RP로 설정됩니다.

PIM-DM에 비해 PIM-SM은 더 복잡하며 문제 해결을 위해 더 많은 점검이 필요합니다. PIM-DM 문제 해결의 1~4단계는 PIM-SM에도 여전히 적용되며, PIM-SM 문제 해결 시 먼저 이 단계들을 확인하는 것이 좋습니다. 또한, PIM-SM 모드에서 네트워크 연결성을 확인할 때는 출발지/RP/클라이언트 간의 연결성에 각별한 주의를 기울여야 합니다. 다음은 PIM-SM에 특화된 문제 해결 단계를 소개합니다.
1단계. 멀티캐스트 도메인 내 각 PIM 라우터의 BSR 및 RP 정보가 동일한지, 그리고 멀티캐스트 서버가 사용하는 멀티캐스트 그룹에 해당 RP 정보가 포함되어 있는지 확인합니다.
show ip pim bsr-router 명령을 사용하여 BSR 정보를 확인하십시오. 다음은 DUT#1 및 DUT#2(BSR)에서 이 명령을 실행한 결과입니다. BSR이 설정된 장치의 경우, 후보 BSR 정보가 표시될 수 있습니다. BSR을 설정하려면 iip pim bsr-candidate interface <type><id> 명령을 사용합니다. 멀티캐스트 도메인 내의 모든 PIM 라우터에서 이 명령을 사용하여 선출된 BSR(Elected BSR) 정보가 일관된지 확인하는 것이 좋습니다.


RP 정보를 확인하려면 show ip pim rp mapping {candidate} 명령을 사용합니다. 다음은 DUT#2 및 DUT#3(RP)에서 이 명령을 실행한 결과입니다. RP-candidate가 구성된 장치의 경우, show ip pim rp mapping candidate 명령을 사용하여 RP-candidate 설정을 확인하십시오. 멀티캐스트 도메인 내의 모든 PIM 라우터에서 이 명령을 실행하여 선출된 BSR 정보가 일관적인지 확인하는 것이 좋습니다.
RP를 설정하려면 ip pim rp-candidate interface <type><id><group addr><group mask> 명령을 사용합니다.


2단계. show ip pim rp hash <group addr> 명령을 사용하여 온디맨드 장애가 발생한 멀티캐스트 그룹의 RP 주소를 확인합니다.
대규모 네트워크에서는 서로 다른 멀티캐스트 그룹이 서로 다른 RP 주소에 대응할 수 있습니다. 온디맨드 장애가 발생한 멀티캐스트 그룹의 경우, 먼저 해당 RP 주소를 찾아야 합니다. 다음은 DUT#4에서 멀티캐스트 그룹 235.0.0.11의 RP 주소를 조회한 예시입니다.

3단계. RP 및 클라이언트에 직접 연결된 PIM 라우터에서 RPT/SPT의 설정 및 유지 관리 상태를 확인합니다.
RP는 전체 멀티캐스트 도메인의 모든 멀티캐스트 그룹 등록 정보를 포함해야 합니다. 아래 그림에서 볼 수 있듯이, DUT#3(RP)에 대한 'show ip mroute' 명령어의 결과에는 235.0.0.11-235.0.0.30 범위의 모든 멀티캐스트 그룹 정보가 표시됩니다. 여기서 235.0.0.11-235.0.0.20 범위의 10개 멀티캐스트 라우팅 항목이 두 가지 형식으로 표시되며, 출발지 IP가 *인 멀티캐스트 라우팅 항목은 RPT입니다. 연결된 장치는 IGMPv2를 사용하여 그룹에 가입하므로, IGMPv2 메시지는 특정 멀티캐스트 출발지 IP로 제한되지 않으므로 표시 시 *가 사용됩니다.

다음 그림은 클라이언트에 직접 연결된 PIM 라우터의 멀티캐스트 라우팅 테이블 정보를 보여줍니다. 연결된 클라이언트는 235.0.0.11-235.0.0.20 범위의 멀티캐스트 그룹에 대해서만 IGMP 그룹 가입 요청을 시작하므로, 이 테이블에는 해당 범위의 정보만 포함되어 있습니다.


6단계. 여전히 결함이 있는 장치를 찾지 못한 경우, 멀티캐스트 전달 경로를 따라 홉별 검사를 수행하십시오.
아래 그림의 빨간색 상자와 화살표는 홉 단위로 확인한 SPT 전달 경로를 강조 표시하며, 이는 장애 위치를 나타냅니다. 장애 단계에 따라 동일한 방법을 사용하여 RPT 및 SPT 전달 경로를 별도로 분석해야 할 수도 있습니다.

결론
이 문서에서는 L3 멀티캐스트의 특성과 원리를 간략히 설명하고, PIM-DM 및 PIM-SM의 구축 방법과 문제 해결 단계를 소개합니다. 문제가 지속될 경우, TP-Link 지원팀에 문의하여 기술 지원을 받으십시오.
각 기능 및 설정에 대해 더 자세히 알아보시려면 지원 홈페이지를 방문하여 해당 제품의 설명서를 다운로드하거나 확인해 주십시오.
이 문서에는 기계 번역이 적용되었으며, 정확한 내용을 확인하려면 원본 영문 문서를 참고하시기 바랍니다.