Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MLD 스누핑 이해

MLD(Multicast Listener Discovery) 스누핑은 VLAN에서 IPv6 멀티캐스트 트래픽의 플러딩을 제한합니다. VLAN에서 MLD 스누핑이 활성화되면 주니퍼 네트웍스 디바이스는 호스트와 멀티캐스트 라우터 간의 MLD 메시지를 검사하고 어떤 호스트가 멀티캐스트 그룹의 트래픽 수신에 관심이 있는지 학습합니다. 디바이스는 학습한 내용을 기반으로 모든 인터페이스에 트래픽을 플러딩하는 대신 관심 있는 수신기에 연결된 VLAN의 인터페이스에만 멀티캐스트 트래픽을 전달합니다.

MLD 스누핑은 MLD 버전 1(MLDv1) 및 MLDv2를 지원합니다. MLDv1 및 MLDv2에 대한 자세한 내용은 다음 표준을 참조하세요.

  • MLDv1—RFC 2710, IPv6용 MLD(Multicast Listener Discovery)를 참조하십시오.

  • MLDv2 - RFC 3810, IPv6에 대한 MLDv2(Multicast Listener Discovery Version 2)를 참조하세요.

MLD 스누핑의 이점

  • Optimized bandwidth utilization- MLD 스누핑의 주요 이점은 패킷 플러딩을 줄이는 것입니다. IPv6 멀티캐스트 데이터는 VLAN의 모든 포트로 플러딩되는 대신 데이터를 수신하려는 포트 목록으로 선택적으로 전달됩니다.

  • Improved security- 알 수 없는 소스의 서비스 거부 공격이 방지됩니다.

MLD 스누핑 작동 방식

기본적으로 디바이스는 멀티캐스트 트래픽의 소스인 인터페이스를 제외하고 디바이스의 해당 VLAN에 속한 모든 인터페이스에서 레이어 2 멀티캐스트 트래픽을 플러딩합니다. 이 동작은 상당한 양의 대역폭을 사용할 수 있습니다.

이러한 초과를 방지하기 위해 MLD 스누핑을 활성화할 수 있습니다. MLD 스누핑을 활성화하면 디바이스는 수신기(호스트)와 멀티캐스트 라우터 간의 MLD 메시지를 모니터링하고 메시지 내용을 사용하여 IPv6 멀티캐스트 포워딩 테이블(IPv6 멀티캐스트 그룹 및 각 그룹의 관심 있는 멤버와 연결된 인터페이스의 데이터베이스)을 구축합니다. 디바이스가 멀티캐스트 그룹에 대한 멀티캐스트 트래픽을 수신하면 포워딩 테이블을 사용하여 멀티캐스트 그룹에 속한 수신자에 연결된 인터페이스로만 트래픽을 전달합니다.

그림 1은 MLD 스누핑이 활성화된 멀티캐스트 트래픽 플로우의 예를 보여줍니다.

그림 1: MLD 스누핑이 활성화된 Multicast Traffic Flow with MLD Snooping Enabled 멀티캐스트 트래픽 플로우

MLD 메시지 유형

멀티캐스트 라우터는 MLD를 사용하여 연결된 물리적 네트워크 각각에 대해 관심 있는 리스너가 있는 그룹을 학습합니다. 지정된 서브넷에서 하나의 멀티캐스트 라우터가 MLD 쿼리 발생기 역할을 하도록 선택됩니다. MLD 쿼리 발생기는 호스트에 다음과 같은 유형의 쿼리를 보냅니다.

  • 일반 쿼리 - 호스트가 어떤 그룹을 수신하고 있는지 묻습니다.

  • Group-specific query(그룹별 쿼리) - 호스트가 특정 멀티캐스트 그룹을 수신하고 있는지 묻습니다. 이 쿼리는 멀티캐스트 그룹을 떠나는 호스트에 대한 응답으로 전송되며 라우터가 나머지 호스트가 그룹에 관심이 있는지 신속하게 확인할 수 있도록 합니다.

  • Group-and-source-specific query—(MLD 버전 2만 해당) 특정 멀티캐스트 소스에서 그룹 멀티캐스트 트래픽을 수신하는 호스트가 있는지 묻습니다. 이 쿼리는 멀티캐스트 소스에서 그룹 멀티캐스트 트래픽을 수신하는 데 더 이상 관심이 없음을 나타내는 호스트에 대한 응답으로 전송되며, 라우터가 나머지 호스트가 해당 소스에서 그룹 멀티캐스트 트래픽을 수신하는 데 관심이 있는지 신속하게 확인할 수 있도록 합니다.

멀티캐스트 리스너인 호스트는 다음과 같은 종류의 메시지를 보냅니다.

  • Membership report(멤버십 보고서) - 호스트가 특정 멀티캐스트 그룹에 가입하기를 원함을 나타냅니다.

  • Leave report(보고서 남기기) - 호스트가 특정 멀티캐스트 그룹을 탈퇴하려 함을 나타냅니다.

MLDv1 호스트만 두 가지 종류의 보고서를 사용하여 그룹에 가입할지 탈퇴할지 여부를 나타냅니다. MLDv2 호스트는 한 종류의 보고서만 보내며, 그 내용은 그룹에 가입할지 또는 탈퇴할지를 나타냅니다. 그러나 단순화를 위해 MLD 스누핑 설명서에서는 호스트가 그룹에 가입하기를 원한다는 것을 나타내는 보고서에 대해 멤버십 보고서 라는 용어를 사용하고 호스트가 그룹을 탈퇴하기를 원한다는 보고서에는 탈퇴 보고서 라는 용어를 사용합니다.

호스트가 멀티캐스트 그룹에 가입하고 탈퇴하는 방법

호스트는 다음 두 가지 방법 중 하나로 멀티캐스트 그룹에 가입할 수 있습니다.

  • 호스트가 가입하려는 멀티캐스트 그룹을 지정하는 원치 않는 멤버십 보고서를 보냅니다.

  • 멀티캐스트 라우터의 쿼리에 대한 응답으로 멤버십 보고서를 보냅니다.

멀티캐스트 라우터는 해당 인터페이스의 하나 이상의 호스트가 구성원임을 나타내는 주기적인 일반 쿼리에 응답하는 경우 멀티캐스트 트래픽을 인터페이스에 계속 전달합니다. 따라서 호스트가 멀티캐스트 그룹의 구성원으로 유지되려면 주기적인 일반 쿼리에 계속 응답해야 합니다.

호스트는 다음 두 가지 방법 중 하나로 멀티캐스트 그룹을 탈퇴할 수 있습니다.

  • 설정된 시간 간격 내에 주기적인 쿼리에 응답하지 않음으로써. 그 결과 "침묵의 휴가"라고 하는 것이 발생합니다.

  • 휴가 보고서를 보냅니다.

메모:

호스트가 허브를 통해 디바이스에 연결된 경우 허브에서 연결이 끊어져도 호스트는 멀티캐스트 그룹을 자동으로 떠나지 않습니다. 호스트는 그룹 구성원 시간이 초과되고 자동 휴가가 발생할 때까지 그룹의 구성원으로 유지됩니다. 사일런트 휴가가 발생하기 전에 다른 호스트가 허브 포트에 연결하면, 새 호스트는 멤버십 보고서를 보내지 않았더라도 사일런트 탈퇴까지 그룹 멀티캐스트 트래픽을 수신할 수 있습니다.

MLDv2 멀티캐스트 소스 지원

MLDv2에서 호스트는 원본 주소 목록이 포함된 멤버 자격 보고서를 보낼 수 있습니다. 호스트가 INCLUDE 모드에서 멤버십 보고서를 보낼 때 호스트는 소스 주소 목록에 있는 소스의 그룹 멀티캐스트 트래픽에만 관심이 있습니다. 호스트가 EXCLUDE 모드에서 멤버 자격 보고서를 보내는 경우 호스트는 소스 주소 목록의 소스를 제외한 모든 소스의 그룹 멀티캐스트 트래픽에 관심이 있습니다. 호스트는 source-list 매개변수가 비어 있는 EXCLUDE 보고서(EXCLUDE NULL 보고서라고 함)를 보낼 수도 있습니다. EXCLUDE NULL 보고서는 호스트가 멀티캐스트 그룹에 가입하고 모든 소스에서 패킷을 수신하기를 원함을 나타냅니다.

MLD 스누핑을 지원하는 디바이스는 INCLUDE 및 EXCLUDE 모드의 MLDv2 멤버십 보고서를 지원합니다. 그러나 MX9200 스위치를 제외하고 MLD 스누핑을 실행하는 SRX 시리즈 방화벽, QFX 시리즈 스위치 및 EX 시리즈 스위치는 소스별 포워딩을 지원하지 않습니다. 대신 디바이스는 지정된 그룹에 대한 VLAN에서 수신하는 모든 INCLUDE 및 EXCLUDE 모드 보고서를 해당 그룹에 대한 모든 멀티캐스트 소스를 포함하는 단일 경로로 통합하며, 다음 홉은 그룹에 관심 있는 수신자가 있는 모든 인터페이스입니다. 그 결과, VLAN의 관심 있는 수신자는 INCLUDE 보고서에 포함되지 않은 소스 또는 EXCLUDE 보고서에서 제외된 소스에서 트래픽을 수신할 수 있습니다. 예를 들어, 호스트 1이 소스 A의 그룹 G에 대한 트래픽을 원하고 호스트 2가 소스 B의 그룹 G에 대한 트래픽을 원하는 경우, A 또는 B가 트래픽을 전송하는지 여부에 관계없이 둘 다 그룹 G에 대한 트래픽을 수신합니다.

MLD 스누핑 및 포워딩 인터페이스

멀티캐스트 트래픽 포워딩 방법을 결정하기 위해 MLD 스누핑이 활성화된 디바이스는 멀티캐스트 포워딩 테이블에서 다음 인터페이스에 대한 정보를 유지합니다.

  • 멀티캐스트 라우터 인터페이스 - 이러한 인터페이스는 멀티캐스트 라우터 또는 MLD 쿼리어로 이어집니다.

  • Group-member interfaces(그룹 멤버 인터페이스) - 이러한 인터페이스는 멀티캐스트 그룹의 멤버인 호스트로 연결됩니다.

디바이스는 MLD 트래픽을 모니터링하여 이러한 인터페이스에 대해 학습합니다. 인터페이스가 MLD 쿼리를 수신하면 디바이스는 멀티캐스트 포워딩 테이블에 인터페이스를 멀티캐스트 라우터 인터페이스로 추가합니다. 인터페이스가 멀티캐스트 그룹에 대한 멤버십 보고서를 수신하는 경우, 디바이스는 멀티캐스트 포워딩 테이블에 인터페이스를 그룹 멤버 인터페이스로 추가합니다.

디바이스가 학습하는 인터페이스의 테이블 항목은 에이징될 수 있습니다. 예를 들어, 학습된 멀티캐스트 라우터 인터페이스가 특정 간격 내에 MLD 쿼리를 수신하지 않는 경우 디바이스는 멀티캐스트 포워딩 테이블에서 해당 인터페이스에 대한 항목을 제거합니다.

메모:

디바이스가 멀티캐스트 라우터 인터페이스 및 그룹 멤버 인터페이스를 학습하려면 네트워크에 MLD 쿼리 발생기가 있어야 합니다. 디바이스 자체가 MLD 쿼리 발생기로 작동하려면 디바이스에서 MLD를 활성화해야 합니다.

인터페이스를 멀티캐스트 라우터 인터페이스 또는 그룹 멤버 인터페이스로 정적으로 구성할 수 있습니다. 디바이스는 인터페이스에 대해 학습할 필요 없이 멀티캐스트 포워딩 테이블에 정적 인터페이스를 추가하며, 테이블의 항목은 에이징되지 않습니다. 디바이스에서 정적으로 구성된 인터페이스와 동적으로 학습된 인터페이스를 혼합하여 사용할 수 있습니다.

일반 전달 규칙

MLD 스누핑이 활성화된 VLAN의 디바이스 인터페이스에서 수신된 멀티캐스트 트래픽은 다음 규칙에 따라 전달됩니다.

MLD 프로토콜 트래픽은 다음과 같이 전달됩니다.

  • 멀티캐스트 라우터 인터페이스에서 수신된 MLD 일반 쿼리는 VLAN의 다른 모든 인터페이스로 전달됩니다.

  • 멀티캐스트 라우터 인터페이스에서 수신된 MLD 그룹별 쿼리는 그룹의 멤버인 VLAN의 인터페이스로만 전달됩니다.

  • 호스트 인터페이스에서 수신된 MLD 보고서는 동일한 VLAN의 멀티캐스트 라우터 인터페이스로 전달되지만 VLAN의 다른 호스트 인터페이스로는 전달되지 않습니다.

MLD 프로토콜 트래픽이 아닌 멀티캐스트 트래픽은 다음과 같이 전달됩니다.

  • 등록되지 않은 멀티캐스트 패킷, 즉 현재 멤버가 없는 그룹에 대한 패킷은 VLAN의 모든 멀티캐스트 라우터 인터페이스로 전달됩니다.

  • 등록된 멀티캐스트 패킷은 멀티캐스트 그룹의 멤버인 VLAN의 호스트 인터페이스와 VLAN의 모든 멀티캐스트 라우터 인터페이스로만 전달됩니다.

메모:

IGMP 및 MLD 스누핑이 모두 동일한 VLAN에서 활성화되면 IGMP 및 MLD 스누핑 구성의 일부로 멀티캐스트 라우터 인터페이스가 생성됩니다. 등록되지 않은 멀티캐스트 트래픽은 차단되지 않고 라우터 인터페이스를 통해 전달될 수 있으므로, 하드웨어 제한으로 인해 등록되지 않은 IPv4 멀티캐스트 트래픽은 MLD 스누핑 구성의 일부로 생성된 멀티캐스트 라우터 인터페이스를 통과할 수 있으며, 등록되지 않은 IPv6 멀티캐스트 트래픽은 IGMP 스누핑 구성의 일부로 생성된 멀티캐스트 라우터 인터페이스를 통과할 수 있습니다.

MLD 스누핑 멀티캐스트 포워딩의 예

다음 예는 MLD 스누핑이 서로 다른 토폴로지에서 멀티캐스트 트래픽을 전달하는 방법을 설명하기 위해 제공됩니다.

시나리오 1: 멀티캐스트 트래픽을 멀티캐스트 라우터 및 호스트로 전달하는 디바이스

그림 2에 표시된 토폴로지에서 레이어 2 디바이스 역할을 하는 디바이스는 멀티캐스트 라우터에 연결된 소스 A에서 멀티캐스트 그룹 ff1e::2010에 속하는 멀티캐스트 트래픽을 수신합니다. 또한 디바이스에 직접 연결된 소스 B에서 멀티캐스트 그룹 ff15::2에 속하는 멀티캐스트 트래픽을 수신합니다. 디바이스의 모든 인터페이스는 동일한 VLAN에 속합니다.

디바이스가 인터페이스 P1의 멀티캐스트 라우터로부터 MLD 쿼리를 수신하기 때문에 MLD 스누핑은 인터페이스 P1이 멀티캐스트 라우터 인터페이스임을 학습하고 인터페이스를 멀티캐스트 포워딩 테이블에 추가합니다. 이 인터페이스에서 수신하는 모든 MLD 일반 쿼리를 디바이스의 모든 호스트 인터페이스로 전달하고, 호스트로부터 수신한 멤버십 보고서를 멀티캐스트 라우터 인터페이스로 전달합니다.

이 예에서 호스트 A와 C는 그룹 ff1e::2010에 대한 멤버십 보고서를 사용하여 일반 쿼리에 응답했습니다. MLD 스누핑은 인터페이스 P2 및 P4를 그룹 ff1e::2010에 대한 멤버 인터페이스로 멀티캐스트 포워딩 테이블에 추가합니다. 소스 A에서 수신된 그룹 멀티캐스트 트래픽을 호스트 A와 C로 전달하지만 호스트 B와 D로 전달하지 않습니다.

호스트 B는 그룹 ff15::2에 대한 멤버십 보고서로 일반 쿼리에 응답했습니다. 디바이스는 인터페이스 P3을 그룹 ff15::2 에 대한 멤버 인터페이스로 멀티캐스트 포워딩 테이블에 추가하고 소스 B에서 수신한 멀티캐스트 트래픽을 호스트 B로 전달합니다. 또한 디바이스는 소스 B에서 수신한 멀티캐스트 트래픽을 멀티캐스트 라우터 인터페이스 P1로 전달합니다.

그림 2: 시나리오 1: 멀티캐스트 트래픽을 멀티캐스트 라우터 및 호스트 Scenario 1: Device Forwarding Multicast Traffic to a Multicast Router and Hosts 로 전달하는 디바이스

시나리오 2: 멀티캐스트 트래픽을 다른 디바이스로 전달하는 디바이스

그림 3의 토폴로지 쇼에서 멀티캐스트 소스는 디바이스 A에 연결되어 있고, 디바이스 A는 다른 디바이스인 디바이스 B에 연결되어 있습니다. 디바이스 A와 B의 호스트는 멀티캐스트 그룹의 잠재적 멤버입니다. 두 디바이스 모두 레이어 2 디바이스 역할을 하며, 디바이스의 모든 인터페이스는 동일한 VLAN의 멤버입니다.

디바이스 A는 인터페이스 P1의 멀티캐스트 라우터로부터 MLD 쿼리를 수신하여 인터페이스 P1을 디바이스 A에 대한 멀티캐스트 라우터 인터페이스로 만듭니다. 디바이스 A는 이 인터페이스에서 수신하는 모든 일반 쿼리를 디바이스 B를 연결하는 인터페이스를 포함하여 디바이스의 다른 인터페이스로 전달합니다. 디바이스 B가 인터페이스 P6에서 전달된 MLD 쿼리를 수신하기 때문에 P6은 디바이스 B의 멀티캐스트 라우터 인터페이스입니다. 디바이스 B는 호스트 C로부터 수신한 멤버십 보고서를 멀티캐스트 라우터 인터페이스를 통해 디바이스 A로 전달합니다. 디바이스 A는 멤버십 보고서를 멀티캐스트 라우터 인터페이스로 전달하고, 멀티캐스트 포워딩 테이블에 인터페이스 P5를 그룹 멤버 인터페이스로 포함하며, 소스에서 디바이스 B로 멀티캐스트 트래픽을 전달합니다.

그림 3: 시나리오 2: 멀티캐스트 트래픽을 다른 디바이스 Scenario 2: Device Forwarding Multicast Traffic to Another Device 로 전달하는 디바이스

특정 구현에서는 멀티캐스트 트래픽을 수신하는 호스트의 지연을 방지하기 위해 디바이스 B의 P6을 정적 멀티캐스트 라우터 인터페이스로 구성해야 할 수 있습니다. 예를 들어, 디바이스 B가 어떤 인터페이스가 멀티캐스트 라우터 인터페이스인지 알기 전에 호스트로부터 원치 않는 멤버십 보고서를 수신하는 경우, 이러한 보고서를 디바이스 A로 전달하지 않습니다. 디바이스 A가 멀티캐스트 트래픽을 수신하면 인터페이스 P5에 대한 멤버십 보고서를 받지 못했기 때문에 트래픽을 디바이스 B로 전달하지 않습니다. 이 문제는 멀티캐스트 라우터가 다음 일반 쿼리를 보낼 때 해결됩니다. 그러나 멀티캐스트 트래픽을 수신하는 호스트에 지연이 발생할 수 있습니다. 인터페이스 P6을 멀티캐스트 라우터 인터페이스로 정적으로 구성하여 이 문제를 해결할 수 있습니다.

시나리오 3: 호스트에만 연결된 디바이스(MLD 쿼리 발생기 없음)

그림 4에 표시된 토폴로지에서 디바이스는 멀티캐스트 소스 및 호스트에 연결됩니다. 이 토폴로지에는 멀티캐스트 라우터가 없으므로 MLD 쿼리 발생기가 없습니다. 응답할 MLD 쿼리 발생기가 없으면 호스트는 정기적인 멤버십 보고서를 보내지 않습니다. 따라서 호스트가 멀티캐스트 그룹에 가입하기 위해 원치 않는 구성원 보고서를 보내더라도 멀티캐스트 그룹의 구성원 자격은 시간 초과됩니다.

디바이스가 멀티캐스트 트래픽을 호스트 A와 C로만 전달하도록 이 네트워크에서 MLD 스누핑이 올바르게 작동하려면 다음 중 하나를 수행할 수 있습니다.

  • 인터페이스 P2 및 P4를 정적 그룹 멤버 인터페이스로 구성합니다.

  • VLAN에서 통합 라우팅 및 브리징(IRB) 인터페이스라고도 하는 라우팅된 VLAN 인터페이스 (RVI)를 구성하고 MLD를 활성화합니다. 이 경우 디바이스 자체는 MLD 쿼리 발생기 역할을 하며, 호스트는 멀티캐스트 그룹에 동적으로 가입하고 쿼리에 응답하여 그룹 멤버십을 새로 고칠 수 있습니다.

그림 4: 시나리오 3: 호스트에만 연결된 디바이스(MLD 쿼리 발생기 없음) Scenario 3: Device Connected to Hosts Only (No MLD Querier)

시나리오 4: VLAN 간 멀티캐스트 트래픽을 전달하는 레이어 2/레이어 3 디바이스

그림 5에 표시된 토폴로지에서 멀티캐스트 소스, 멀티캐스트 라우터 A, 호스트 A와 B는 디바이스에 연결되어 있으며 VLAN 10에 있습니다. 멀티캐스트 라우터 B와 호스트 C 및 D도 디바이스에 연결되어 있으며 VLAN 20에 있습니다.

순수 레이어 2 환경에서는 VLAN 간에 트래픽이 전달되지 않습니다. 호스트 C가 VLAN 10의 소스에서 멀티캐스트 트래픽을 수신하려면 VLAN 간의 멀티캐스트 트래픽 라우팅을 허용하기 위해 VLAN 10 및 VLAN 20에 RI(또는 IRB 인터페이스)를 생성해야 합니다.

그림 5: 시나리오 4: VLAN 간 멀티캐스트 트래픽을 전달하는 레이어 2/레이어 3 디바이스 Scenario 4: Layer 2/Layer 3 device Forwarding Multicast Traffic Between VLANs