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—IPv6에 대한 RFC 3810, 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 스누핑이 활성화 Network setup with a multicast router forwarding traffic for Group 1 and Group 2. EX Series Switch connects to Host A and B directly, Host 1 and 3 in Group 1, Host 2 and 4 in Group 2 via multicast traffic distribution. 된 멀티캐스트 트래픽 플로우

MLD 메시지 유형

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

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

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

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

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

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

  • 탈퇴 보고서 - 호스트가 특정 멀티캐스트 그룹을 탈퇴하기를 원함을 나타냅니다.

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

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

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

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

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

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

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

  • 정해진 시간 간격 내에 주기적인 쿼리에 응답하지 않음으로써. 이로 인해 소위 "침묵 휴가"가 발생합니다.

  • 휴가 보고서를 보내는 것으로.

참고:

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

MLDv2 멀티캐스트 소스 지원

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

MLD 스누핑을 지원하는 디바이스는 INCLUDE 및 EXCLUDE 모드에 있는 MLDv2 멤버십 보고서를 지원합니다.

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

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

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

  • 그룹 구성원 인터페이스 - 이러한 인터페이스는 멀티캐스트 그룹의 구성원인 호스트로 이어집니다.

디바이스는 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: 멀티캐스트 트래픽을 멀티캐스트 라우터 및 호스트 Multicast routing diagram: Multicast Router connects Sources A ff1e::2010 and B ff15::2 to Hosts A, B, C, and D. Arrows show traffic flow. 로 전달하는 디바이스

시나리오 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: 멀티캐스트 트래픽을 다른 디바이스 Network topology diagram showing multicast communication: Source server sends multicast traffic through a router to Switch A and Switch B. Hosts A and B connect to Switch A; Hosts C and D connect to Switch B. 로 전달하는 디바이스

특정 구현에서는 호스트가 멀티캐스트 트래픽을 수신하는 데 지연이 발생하지 않도록 디바이스 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 쿼리 발생기 없음) Network topology diagram showing data flow from a source device to multiple hosts through a switch in a LAN setup.

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

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

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

그림 5: 시나리오 4: 레이어 2/레이어 3 디바이스 VLAN 간 멀티캐스트 트래픽 포워딩 Network topology with multicast routing and VLANs: Source 11.1.1.10 sends multicast traffic via Multicast Routers A and B to Hosts A and B on VLAN 10 and Hosts C and D on VLAN 20.

플랫폼별 MLD 스누핑 동작

기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인하십시오.

다음 표를 사용하여 플랫폼의 플랫폼별 동작을 검토하십시오.

표 1: 플랫폼별 MLD 스누핑 동작

플랫폼

차이

SRX 시리즈 방화벽, QFX 시리즈 스위치 및 MLD 스누핑을 실행하는 EX 시리즈 스위치(EX9200 스위치 제외)

  • 소스별 포워딩을 지원하지 않습니다. 대신 디바이스는 지정된 그룹의 VLAN에서 수신하는 모든 INCLUDE 및 EXCLUDE 모드 보고서를 해당 그룹의 모든 멀티캐스트 소스를 포함하는 단일 경로로 통합하며, 다음 홉은 그룹에 대한 관심 있는 수신자가 있는 모든 인터페이스입니다. 그 결과, VLAN의 관심 있는 수신자는 INCLUDE 보고서에 포함하지 않은 소스 또는 EXCLUDE 보고서에서 제외한 소스에서 트래픽을 수신할 수 있습니다. 예를 들어, 호스트 1이 소스 A에서 그룹 G에 대한 트래픽을 원하고 호스트 2가 소스 B에서 그룹 G에 대한 트래픽을 원하는 경우, A 또는 B가 트래픽을 전송하는지 여부에 관계없이 둘 다 그룹 G에 대한 트래픽을 수신합니다.