예: 멀티캐스트 스누핑 구성
멀티캐스트 스누핑 이해
라우터와 같은 네트워크 디바이스는 주로 패킷 수준 또는 레이어 3에서 작동합니다. 브리지 또는 LAN 스위치와 같은 기타 네트워크 디바이스는 주로 프레임 레벨 또는 레이어 2에서 작동합니다. 멀티캐스팅은 주로 패킷 수준인 레이어 3에서 작동하지만, 프레임 수준에서 레이어 3 IP 멀티캐스트 그룹 주소를 Layer 2 MAC 멀티캐스트 그룹 주소에 매핑하는 방법이 있습니다.
라우터는 프레임과 주소가 내부의 캡슐화된 패킷에 액세스하기 위해 처리되어야 하기 때문에 Layer 2 및 Layer 3 주소 정보를 모두 처리할 수 있습니다. 라우터는 PIM 또는 IGMP와 같은 Layer 3 멀티캐스트 프로토콜을 실행하고 멀티캐스트 컨텐트를 전송할 위치 또는 인터페이스의 호스트가 그룹에 합류하거나 떠날 때 결정할 수 있습니다. 그러나 브리지 및 LAN 스위치는 Layer 2 디바이스로서 프레임이 전달하는 패킷 내부의 멀티캐스트 정보에 액세스할 수 없습니다.
그러면 인터페이스의 디바이스가 멀티캐스트 트리에 합류하거나 떠날 때 또는 연결된 LAN의 호스트가 특정 멀티캐스트 그룹의 컨텐트 수신을 원하는지 판단하기 위해 브리지 및 기타 Layer 2 디바이스를 어떻게 결정합니까?
그 해답은 레이어 2 디바이스가 멀티캐스트 스누핑을 구현하는 것입니다. 멀티캐스트 스누핑은 일반적인 용어이며 레이어 3 패킷 컨텐트에서 Layer 2 디바이스 "스누핑" 프로세스에 적용하여 프레임을 처리하거나 포워딩하는 작업을 결정합니다. IGMP 스누핑 또는 PIM 스누핑과 같은 보다 구체적인 형태의 스누핑이 있습니다. 모든 경우에 스누핑은 일반적으로 "금지된" 레이어 3(패킷) 정보에 액세스하는 Layer 2에서 작동하도록 구성된 장치를 포함합니다. 스누핑은 이러한 디바이스에서 멀티캐스팅을 보다 효율적으로 만듭니다.
자세한 내용은
멀티캐스트 스누핑 및 VPLS 루트 보호의 이해
스누핑은 스패닝 트리 프로토콜과 같은 Layer 2 프로토콜이 IGMP(Internet Group Management Protocol) 또는 기타 멀티캐스트 프로토콜과 같은 Layer 3 프로토콜의 운영 상세 정보를 인식할 때 발생합니다. VLAN 스위치와 같은 Layer 2 디바이스가 멀티캐스트 그룹 멤버의 MAC(Media Access Control) 주소와 같은 Layer 3 정보를 인식해야 하는 경우 스누핑이 필요합니다.
VPLS 루트 보호 는 다중 호밍 환경에서 하나의 인터페이스만이 스패닝 트리 프로토콜 프레임을 적극적으로 포워딩하는 스패닝 트리 프로토콜 프로세스입니다. 이는 브리징 루프로부터 스패닝 트리의 루트를 보호하는 것은 물론, 멀티 호밍 토폴로지의 두 디바이스 모두 IGMP 멤버십 보고서와 같은 스누핑된 정보를 차단합니다.
예를 들어, 서로 연결된 두 개의 고객 에지(CE) 라우터(CE1 및 CE2)에 연결되고(CE1–CE2 링크가 구성됨) 2개의 PE(Provider Edge) 라우터(각각 PE1 및 PE2)에 멀티호밍되는 멀티캐스트 지원 호스트의 집합을 생각해 보십시오. 활성 PE는 루트 보호 작동으로 인해 활성 PE-CE 링크에서만 포워딩 스패닝 트리 프로토콜 정보를 수신합니다. CE1–CE2 링크가 작동 중인 한, 이는 문제가 되지 않습니다. 그러나 CE1과 CE2 간의 링크가 실패하고 다른 PE가 활성 스패닝 트리 프로토콜 링크가 되면 새 활성 PE에서 멀티캐스트 스누핑 정보를 사용할 수 없습니다. 새로운 활성 PE는 CE와 이 CE 라우터가 제공하는 호스트에 멀티캐스트 트래픽을 전달하지 않습니다.
호스트가 새로운 그룹 멤버 IGMP 보고서를 CE 라우터에 전송하면 서비스 중단이 수정됩니다. 그러나 일반적인 스패닝 트리 프로토콜 루트 보호 작동에도 불구하고 멀티캐스트 스누핑 정보를 두 PE에 모두 사용할 수 있는 경우 서비스 중단을 방지할 수 있습니다.
가상 스위치 및 브리지 도메인 기본 라우팅 스위치의 브리지 도메인에서 트리 토폴로지 변경 스패닝에 대한 메시지를 무시하도록 멀티캐스트 스누핑을 구성할 수 있습니다. 명령어로 ignore-stp-topology-change
스패닝 트리 토폴로지 변경에 대한 메시지를 무시할 수 있습니다.
자세한 내용은
멀티캐스트 스누핑 구성
MX 시리즈 라우터에 대한 일반 멀티캐스트 스누핑 매개변수를 구성하려면 다음과 같은 명령문을 multicast-snooping-options
포함합니다.
multicast-snooping-options { flood-groups [ ip-addresses ]; forwarding-cache { threshold suppress value <reuse value>; } graceful-restart <restart-duration seconds>; ignore-stp-topology-change; multichassis-lag-replicate-state; nexthop-hold-time milliseconds; traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; } }
다음 계층 수준에서 이 명령문을 포함할 수 있습니다.
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
기본적으로 멀티캐스트 스누핑은 비활성화됩니다. 인스턴스 계층에서 VPLS 또는 가상 스위치 인스턴스 유형에서 멀티캐스트 스누핑을 활성화할 수 있습니다.
VPLS 또는 가상 스위치 인스턴스에 구성된 여러 브리지 도메인이 있는 경우 인스턴스 수준에서 구성된 멀티캐스트 스누핑 옵션이 모든 브리지 도메인에 적용됩니다.
이 ignore-stp-topology-change
명령문은 가상 스위치 라우팅 인스턴스 유형에 대해서만 지원되며 계층 구조 하에서 [edit logical-systems]
지원되지 않습니다.
명령문은 nexthop-hold-time
계층에서 [edit routing-instances routing-instance-name]
만 지원되며 인스턴스 유형의 가상 스위치 또는 vpls에 대해서만 지원됩니다.
자세한 내용은
예: 멀티캐스트 스누핑 구성
이 예에서는 브리지 또는 VPLS 라우팅 인스턴스 시나리오에서 멀티캐스트 스누핑을 구성하는 방법을 보여줍니다.
요구 사항
이 예에서는 다음과 같은 하드웨어 구성 요소를 사용합니다.
1개의 MX 시리즈 라우터
멀티캐스트 라우터 역할을 하는 1개의 레이어 3 디바이스
시작하기 전:
인터페이스를 구성합니다.
내부 게이트웨이 프로토콜을 구성합니다. 라우팅 디바이스에 대한 Junos OS 라우팅 프로토콜 라이브러리를 참조하십시오.
멀티캐스트 프로토콜을 구성합니다. 이 기능은 다음과 같은 멀티캐스트 프로토콜과 함께 작동합니다.
DVMRP
PIM-DM
PIM-SM
PIM-SSM
개요 및 토폴로지
IGMP 스누핑은 레이어 2 디바이스가 모든 인터페이스에서 멀티캐스트 트래픽을 무차별적으로 플러딩하는 것을 방지합니다. 멀티캐스트 스누핑을 위해 구성한 설정은 IGMP 스누핑의 동작을 관리하는 데 도움이 됩니다.
기본 마스터 인스턴스와 개별 브리지 또는 VPLS 인스턴스에서 멀티캐스트 스누핑 옵션을 구성할 수 있습니다. 기본 마스터 인스턴스 구성은 전역적이며 논리적 라우터의 모든 개별 브리지 또는 VPLS 인스턴스에 적용됩니다. 개별 인스턴스에 대한 구성은 글로벌 구성을 무시합니다.
이 예에는 다음과 같은 문장이 포함됩니다.
flood-group—트래픽 플러딩이 필요한 멀티캐스트 그룹 주소를 나열할 수 있습니다. 이 설정은 IGMP 스누핑이 필요한 멀티캐스트 플러딩을 방지하지 못하도록 하는 데 유용합니다. 224.0.0.0.1 ~ 224.0.0.255의 멀티캐스트 주소 블록은 로컬 유선 사용을 위해 예약되어 있습니다. 이 범위의 그룹은 라우팅 프로토콜 및 로컬 검색 메커니즘을 비롯한 다양한 용도에 할당됩니다. 예를 들어, OSPF는 모든 OSPF 라우터에 224.0.0.5를 사용합니다.
포워딩 캐시—포워딩 엔트리가 노화되는 방식과 엔트리 수를 제어하는 방법을 지정합니다.
캐시 항목이 특정 최대치에 도달하면 포워딩 캐시에서 임계값을 구성하여 스누핑을 억제(일시 중단)하고 번호가 다른 임계값에 도달할 때 캐시를 재사용할 수 있습니다. 기본적으로 라우터에는 임계값이 활성화되지 않습니다.
억제 임계값으로 새로운 멀티캐스트 포워딩 캐시 엔트리를 억제합니다. 옵션 재사용 임계값은 라우터가 새로운 멀티캐스트 포워딩 캐시 엔트리를 생성하기 시작하는 지점을 지정합니다. 두 임계값의 범위는 1에서 200,000까지입니다. 구성된 경우 재사용 값은 억제 값보다 적어야 합니다. 억제 값은 필수입니다. 옵션 재사용 값을 지정하지 않으면 멀티캐스트 포워딩 캐시 항목의 수가 억제 값으로 제한됩니다. 멀티캐스트 포워딩 캐시 엔트리의 수가 억제 값보다 낮아지자마자 새로운 엔트리가 생성됩니다.
graceful-restart—재시작 전에 학습한 경로가 재설치된 경로로 교체되는 시간을 구성합니다. 멀티캐스트 스누핑을 위한 graceful restart가 비활성화되면 라우팅 엔진을 다시 시작한 후 스누핑 정보가 손실됩니다.
기본적으로 Graceful Restart 지속 시간은 180초(3분)입니다. 이 값을 0~300초 사이에 설정할 수 있습니다. 지속 기간을 0으로 설정하면 graceful Restart가 효과적으로 비활성화됩니다. 이 값은 IGMP 쿼리 응답 간격보다 약간 큰 값을 설정합니다.
ignore-stp-topology-change—스패닝 트리 토폴로지 상태 변경에 대한 메시지를 무시하도록 MX 시리즈 라우터를 구성합니다.
기본적으로 MX 시리즈 라우터의 IGMP 스누핑 프로세스는 스패닝 트리 프로토콜(STP)의 인터페이스 상태 변경을 감지합니다.
2개의 PE 라우터가 상호 연결된 2개의 CE 라우터에 연결되어 있는 VPLS 멀티호밍 환경에서는 PE 라우터에서 STP 루트 보호가 실행되며, PE 라우터 인터페이스 중 하나는 포워딩 상태에 있고 다른 하나는 차단 상태입니다.
두 CE 라우터를 상호 연결하는 링크에 장애가 발생하면 상태 전환을 차단하는 PE 라우터 인터페이스가 포워딩 상태로 전환됩니다.
PE 라우터 인터페이스는 다음 일반 또는 그룹별 쿼리에 대한 응답으로 회원 보고서를 받기 위해 기다릴 필요가 없습니다. 대신 IGMP 스누핑 프로세스는 CE 라우터에 일반 쿼리 메시지를 보냅니다. CE 라우터에 연결된 호스트는 관심 있는 모든 그룹에 대한 보고서와 함께 회신합니다.
두 CE 라우터를 상호 연결하는 링크가 복원되면 두 PE 라우터의 원래 스패닝 트리 상태가 복원됩니다. 포워딩 PE는 스패닝 트리 토폴로지 변경 메시지를 수신하고 CE 라우터에 일반 쿼리 메시지를 보내 그룹 멤버쉽 상태를 즉시 재구성합니다.
참고:이
ignore-stp-topology-change
문은 가상 스위치 라우팅 인스턴스 유형에 대해서만 지원됩니다.
토폴로지
그림 1 은 고객 네트워크에 두 개의 CE 디바이스가 연결되어 있는 VPLS 멀티호밍 토폴로지입니다. 각 CE는 하나의 PE에 연결됩니다.
![VPLS Multihoming Topology](/documentation/us/en/software/junos/multicast/images/g040611.gif)
구성
절차
CLI 빠른 구성
이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경하고, 명령을 계층 수준에서 CLI [edit]
에 복사 및 붙여넣은 다음 구성 모드에서 입력 commit
합니다.
set bridge-domains domain1 multicast-snooping-options forwarding-cache threshold suppress 100 set bridge-domains domain1 multicast-snooping-options forwarding-cache threshold reuse 50 set bridge-domains domain1 multicast-snooping-options graceful-restart restart-duration 120 set routing-instances ce1 instance-type virtual-switch set routing-instances ce1 bridge-domains domain1 domain-type bridge set routing-instances ce1 bridge-domains domain1 vlan-id 100 set routing-instances ce1 bridge-domains domain1 interface ge-0/3/9.0 set routing-instances ce1 bridge-domains domain1 interface ge-0/0/6.0 set routing-instances ce1 bridge-domains domain1 multicast-snooping-options flood-groups 224.0.0.5 set routing-instances ce1 bridge-domains domain1 multicast-snooping-options ignore-stp-topology-change
단계별 절차
다음 예제에서는 구성 계층에서 다양한 레벨을 탐색해야 합니다. CLI 탐색에 대한 자세한 내용은 Junos OS CLI 사용자 가이드를 참조하십시오.
IGMP 스누핑을 구성하려면 다음을 수행합니다.
마스터 라우팅 인스턴스에서 멀티캐스트 스누핑 설정을 구성합니다.
[edit bridge-domains domain1] user@host# set multicast-snooping-options forwarding-cache threshold suppress 100 reuse 50 user@host# set multicast-snooping-options graceful-restart 120
라우팅 인스턴스를 구성합니다.
[edit routing-instances ce1] user@host# set instance-type virtual-switch
라우팅 인스턴스에서 브리지 도메인을 구성합니다.
[edit routing-instances ce1 bridge-domains domain1] user@host# set domain-type bridge user@host# set interface ge-0/0/6.0 user@host# set interface ge-0/3/9.0 user@host# set vlan-id 100
플러드 그룹을 구성합니다.
[edit routing-instances ce1 bridge-domains domain1] user@host# set multicast-snooping-options flood-groups 224.0.0.5
스패닝 트리 토폴로지 상태 변경에 대한 메시지를 무시하도록 라우터를 구성합니다.
[edit routing-instances ce1 bridge-domains domain1] user@host# set multicast-snooping-options ignore-stp-topology-change
디바이스 구성을 완료한 경우 구성을 커밋합니다.
user@host# commit
결과
및 show routing-instances
명령을 입력하여 구성을 show bridge-domains
확인합니다.
user@host# show bridge-domains domain1 { multicast-snooping-options { forwarding-cache { threshold { suppress 100; reuse 50; } } } }
user@host# show routing-instances ce1 { instance-type virtual-switch; bridge-domains { domain1 { domain-type bridge; vlan-id 100; interface ge-0/3/9.0; ## 'ge-0/3/9.0' is not defined interface ge-0/0/6.0; ## 'ge-0/0/6.0' is not defined multicast-snooping-options { flood-groups 224.0.0.5; ignore-stp-topology-change; } } } }
확인
구성을 확인하려면 다음 명령을 실행합니다.
igmp 스누핑 인터페이스 표시
igmp 스누핑 멤버십을 보여 줘
igmp 스누핑 통계 표시
멀티캐스트 스누핑 경로를 보여 줘
경로 테이블 표시
멀티캐스트 스누핑을 위한 대량 업데이트 지원
개별 인터페이스가 멀티캐스트 그룹에 합류하거나 떠날 때마다 라우팅 테이블과 포워딩 테이블에 새로운 홉 엔트리가 설치됩니다. 이 명령문을 사용하여 nexthop-hold-time
전송 인터페이스 변경이 누적되고 라우팅 테이블 및 포워딩 테이블에 대량으로 업데이트되는 동안 1에서 1000밀리초(ms)까지의 시간을 지정할 수 있습니다. 대량 업데이트는 메시지를 연결하고 남기는 데 필요한 처리 시간 및 메모리 오버헤드를 줄여줍니다. 이는 채널을 변경하는 사용자가 단기간에 그룹에 가입하거나 탈퇴하는 수천 개의 인터페이스를 생성할 수 있는 IPTV(Internet Potocol TELEVISION)와 같은 애플리케이션에 유용합니다. IPTV 시나리오에서는 일반적으로 상대적으로 작고 제어되는 스트림 수와 많은 수의 발신 인터페이스가 있습니다. 대량 업데이트를 사용하면 조인 지연을 줄일 수 있습니다.
이 예에서는 다음과 같은 명령문을 사용하여 인스턴스 유형 가상 스위치에 대해 20밀리초의 보류 시간을 구성합니다 nexthop-hold-time
.
다음 계층 수준에서 라우팅 인스턴스 유형의 가상 스위치 또는 vpls에 대해서만 명령문을 포함 nexthop-hold-time
할 수 있습니다.
[edit routing-instances routing-instance-name multicast-snooping-options]
nexthop-hold-time
라우터 구성에서 명령문이 삭제되면 대량 업데이트가 비활성화됩니다.
자세한 내용은
멀티섀시 링크 어그리게이션 그룹 인터페이스를 위한 멀티캐스트 스누핑 지원
multichassis-lag-replicate-state
IGMP 스누핑을 활성화하는 계층 수준의 명령 [edit multicast-snooping-options]
문을 포함하며 MC-LAG(Multichassis Link Aggregation Group) 인터페이스에 대한 상태 복제를 지원합니다.
[edit] multicast-snooping-options { multichassis-lag-replicate-state; }
이중 링크 MC-LAG 인터페이스 링크 간에 조인을 복제하고 메시지를 남겨 두면 서비스 중단을 경험하는 MC-LAG 인터페이스의 멤버십 정보를 보다 빠르게 복구할 수 있습니다.
이중 링크 MC-LAG 인터페이스가 서비스 중단을 경험하는 경우(예: 활성 링크 스위치가 대기 중인 경우) 상태 복제가 없는 경우, 네트워크에 대한 IGMP 쿼리를 생성하여 인터페이스의 멤버십 정보가 복구됩니다. 이 방법을 완료하는 데 1~10초가 소요될 수 있으며 일부 애플리케이션에는 너무 길어질 수 있습니다.
MC-LAG 인터페이스에 대한 상태 복제가 제공되면 MC-LAG 디바이스에서 받은 IGMP 조인 또는 남기기 메시지는 ICCP(Interchassis Communication Protocol) 연결을 통해 활성 MC-LAG 링크에서 대기 링크로 복제됩니다. 대기 링크는 다음 홉으로 스스로를 추가하지 않고 네트워크에 메시지를 플러드하지 않는 경우를 제외하고는 해당 활성 MC-LAG 링크에서 수신된 것처럼 메시지를 처리합니다. 페일오버 후 복제된 메시지를 검색하여 링크의 멀티캐스트 멤버십 상태를 몇 초 이내에 복구할 수 있습니다.
이 예에서는 MC-LAG 인터페이스에 대한 상태 복제를 지원합니다.