예: 관리 범위 지정 구성
멀티캐스트 관리 범위 지정 이해
멀티캐스트 범위 지정을 사용하면 관리 차원에서 정의된 토폴로지 지역으로 구성함으로써 멀티캐스트 트래픽을 제한할 수 있습니다. 멀티캐스트 범위 지정은 멀티캐스트 메시지의 전파를 제어합니다. 즉, 소스로 업스트림으로 전송되는 멀티캐스트 그룹 참가 메시지와 다운스트림으로 전달되는 데이터 모두를 제어합니다. 범위 지정은 대역폭과 같은 부족한 리소스에 대한 스트레스를 완화하고 개인 정보 보호 또는 확장 속성을 개선할 수 있습니다.
IP 멀티캐스트 구현은 IP 헤더의 TTL(Time-to-Live) 필드를 사용하여 일정 수준의 범위 지정을 달성할 수 있습니다. 그러나 TTL 범위 지정은 안정적으로 구현하기 어려운 것으로 입증되었으며, 결과 체계는 종종 복잡하고 이해하기 어렵습니다.
관리적으로 범위가 지정된 IP 멀티캐스트는 멀티캐스트 범위 지정을 위한 더 명확하고 간단한 의미 체계를 제공합니다. 관리 범위의 멀티캐스트 주소로 주소 지정된 패킷은 구성된 관리 경계를 넘지 않습니다. 관리 범위가 지정된 멀티캐스트 주소는 로컬로 할당되므로 관리 경계를 넘어 고유할 필요가 없습니다.
관리 범위 IP 버전 4(IPv4) 멀티캐스트 주소 공간의 범위는 239.0.0.0에서 239.255.255.255입니다.
IPv4 관리 범위 멀티캐스트 공간의 구조는 RFC 1884, IP 버전 6 주소 지정 아키텍처에 설명된 IP 버전 6(IPv6) 주소 지정 아키텍처를 느슨하게 기반으로 합니다.
잘 알려진 두 가지 범위가 있습니다.
IPv4 로컬 범위 - 이 범위는 239.255.0.0/16 범위의 주소로 구성됩니다. 로컬 범위는 최소 바깥쪽 범위이며 더 이상 나눌 수 없습니다. 로컬 범위의 정확한 범위는 사이트에 따라 다르지만 로컬 범위의 영역은 다른 범위 경계에 걸쳐 있지 않아야 하며 더 큰 범위 내에 완전히 포함되거나 더 큰 범위와 같아야 합니다. 범위 영역이 영역에서 겹치는 경우 겹치는 영역은 로컬 범위 내에 있어야 합니다.
IPv4 조직 로컬 범위 - 이 범위는 239.192.0.0/14로 구성됩니다. 조직이 개인 사용을 위해 범위를 정의할 때 하위 범위를 할당하는 공간입니다.
239.0.0.0/10, 239.64.0.0/10 및 239.128.0.0/10 범위는 할당되지 않았으며 이 공간을 확장하는 데 사용할 수 있습니다.
IPv4 멀티캐스트 공간에는 정적으로 할당된 링크-로컬 범위(224.0.0.0/24)와 다양한 주소를 포함하는 정적 전역 범위 할당이라는 두 개의 다른 범위 클래스가 이미 있습니다.
모든 범위 지정은 조인 메시지와 데이터 전달이 범위가 지정된 인터페이스에서 양방향으로 제어된다는 점에서 본질적으로 양방향입니다.
라우팅 디바이스 인터페이스 및 주소 범위 집합과 연관된 명명된 범위를 생성하거나 인터페이스를 지정하고 주소 범위를 일련의 필터로 구성하는 범위 정책을 참조하여 멀티캐스트 범위 지정을 구성할 수 있습니다. 두 가지 방법을 결합할 수 없습니다(두 가지 방법을 모두 포함하는 구성의 경우 커밋 작업이 실패함). 방법은 요구 사항이 다소 다르며 명령의 출력이 show multicast scope
다릅니다.
IP 멀티캐스트 네트워크에서는 라우팅 루프를 피해야 합니다. 멀티캐스트 라우터는 각 다운스트림 브랜치에 대해 패킷을 복제해야 하기 때문에 루핑 패킷이 목적지에 도착하지 않을 뿐만 아니라 루프를 통과할 때마다 루핑 패킷 수가 증가하여 결국 네트워크에 과부하가 발생합니다.
범위는 멀티캐스트 패킷을 포워딩하는 데 사용할 수 있는 라우터와 인터페이스를 제한합니다. 범위 지정은 IP 패킷 헤더의 TTL 필드를 사용할 수 있지만 TTL 범위는 네트워크 토폴로지에 대한 완전한 지식이 있는 관리자에 따라 달라집니다. 이 토폴로지는 링크가 실패하고 복원되면 변경될 수 있으므로 TTL 범위 지정은 멀티캐스트에 적합하지 않은 솔루션이 됩니다.
멀티캐스트 범위 지정은 RFC 2365에 설명된 대로 범위 지정을 위해 멀티캐스트 주소 범위가 예약되어 있다는 점에서 관리적입니다. 경계의 라우터는 멀티캐스트 패킷을 필터링하고 패킷이 설정된 제한을 초과하여 벗어나지 않도록 할 수 있어야 합니다.
관리 범위 지정은 TTL 범위 지정보다 훨씬 우수하지만 대부분의 경우 관리 범위 지정 패킷의 손실은 여전히 네트워크 관리자가 결정합니다. 예를 들어, 멀티캐스트 주소 범위 239/8은 RFC 2365에서 관리상 범위로 정의되며, 이 범위를 사용하는 패킷은 네트워크 "경계"(일반적으로 라우팅 도메인)를 넘어 전달되지 않습니다. 그러나 네트워크 관리자만 경계 라우터의 위치를 알고 범위 지정을 올바르게 구현할 수 있습니다.
유니캐스트 라우팅 프로토콜에서 사용되는 멀티캐스트 그룹(예: 모든 OSPF 라우터에 대한 224.0.0.5)은 해당 LAN에 대해서만 관리상 범위가 지정됩니다. 이 범위 지정을 통해 OSPF를 실행하는 모든 LAN에서 충돌 없이 동일한 멀티캐스트 주소 를 사용할 수 있습니다.
참조
예: 멀티캐스트 범위 지정을 위한 명명된 범위 만들기
이 예는 로컬, 조직, 엔지니어링 및 마케팅의 네 가지 범위로 멀티캐스트 범위 지정을 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에:
터널 인터페이스를 구성합니다. 라우팅 디바이스는 Junos OS 네트워크 인터페이스 라이브러리를 참조하십시오.
내부 게이트웨이 프로토콜 또는 정적 라우팅을 구성합니다. 라우팅 디바이스에 대한 Junos OS 라우팅 프로토콜 라이브러리를 참조하십시오.
개요
로컬 범위는 GRE 터널 인터페이스에서 구성됩니다. 조직 범위는 GRE 터널 인터페이스 및 SONET/SDH 인터페이스에서 구성됩니다. 엔지니어링 범위는 IP-IP 터널 인터페이스와 2개의 SONET/SDH 인터페이스로 구성됩니다. 마케팅 범위는 GRE 터널 인터페이스와 2개의 SONET/SDH 인터페이스로 구성됩니다. Junos OS는 사용자가 구성할 수 있는 IPv6 또는 IPv4 그룹의 범위를 지정할 수 있습니다.
명명된 범위를 정의하여 멀티캐스트 범위 지정을 구성하려면 범위 이름, 범위 지정을 구성할 라우팅 장치 인터페이스 집합, 범위의 주소 범위를 지정해야 합니다.
문으로 prefix
지정된 접두사는 각 scope
문에 대해 고유해야 합니다. 여러 범위에 동일한 접두사가 포함된 경우 마지막 범위만 인터페이스에 적용됩니다. 여러 인터페이스에서 동일한 접두사의 범위를 지정해야 하는 경우, 단일 scope
문에 대한 문에 interface
모든 접두사를 나열합니다.
명명된 범위로 멀티캐스트 범위 지정을 구성하는 경우 모든 범위 경계에 로컬 범위가 포함되어야 합니다. 이 범위가 구성되지 않은 경우 범위가 지정된 모든 인터페이스에 자동으로 추가됩니다. 로컬 범위는 연결된 LAN에 대한 멀티캐스트 그룹 239.255.0.0/16 의 사용을 제한합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣습니다.
set routing-options multicast scope local prefix fe00::239.255.0.0/128 set routing-options multicast scope local interface gr-2/1/0.0 set routing-options multicast scope organization prefix 239.192.0.0/14 set routing-options multicast scope organization interface gr-2/1/0.0 set routing-options multicast scope organization interface so-0/0/0.0 set routing-options multicast scope engineering prefix 239.255.255.0/24 set routing-options multicast scope engineering interface ip-2/1/0.0 set routing-options multicast scope engineering interface so-0/0/1.0 set routing-options multicast scope engineering interface so-0/0/2.0 set routing-options multicast scope marketing prefix 239.255.254.0/24 set routing-options multicast scope marketing interface gr-2/1/0.0 set routing-options multicast scope marketing interface so-0/0/2.0 set routing-options multicast scope marketing interface so-1/0/0.0
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
로컬 범위를 구성합니다.
[edit routing-options multicast] user@host# set scope local interface gr-2/1/0 user@host# set scope localprefix fe00::239.255.0.0/128
조직 범위를 구성합니다.
[edit routing-options multicast] user@host# set scope organization interface [ gr-2/1/0 so-0/0/0 ] user@host# set scope organization prefix 239.192.0.0/14
엔지니어링 범위를 구성합니다.
[edit routing-options multicast] user@host# set scope engineering interface [ ip-2/1/0 so-0/0/1 so-0/0/2 ] user@host# set scope engineering prefix 239.255.255.0/24
마케팅 범위를 구성합니다.
[edit routing-options multicast] user@host# set scope marketing interface [ gr-2/1/0 so-0/0/2 so-1/0/0 ] user@host# set scope marketing prefix 239.255.254.0/24
디바이스 구성을 완료하면 해당 구성을 커밋합니다.
user@host# commit
결과
명령을 입력하여 show routing-options
구성을 확인합니다.
user@host# show routing-options multicast { scope local { interface gr-2/1/0; prefix fe00::239.255.0.0/128; } scope organization { interface [ gr-2/1/0 so-0/0/0 ]; prefix 239.192.0.0/14; } scope engineering { interface [ ip-2/1/0 so-0/0/1 so-0/0/2 ]; prefix 239.255.255.0/24; } scope marketing { interface [ gr-2/1/0 so-0/0/2 so-1/0/0 ]; prefix 239.255.254.0/24; }
확인
그룹 범위 지정이 적용되는지 확인하려면 명령을 실행합니다.show multicast scope
user@host> show multicast scope Resolve Scope name Group prefix Interface Rejects local fe00::239.255.0.0/128 gr-2/1/00 organization 239.192.0.0/14 gr-2/1/0 so-0/0/00 engineering 239.255.255.0/24 ip-2/1/0 so-0/0/1 so-0/0/20 marketing 239.255.254.0/24 gr-2/1/0 so-0/0/2 so-1/0/00
명명된 범위 show multicast scope
로 범위 지정을 구성할 때 운영 모드 명령은 정의된 범위, 접두사 및 인터페이스의 이름을 표시합니다.
예: 멀티캐스트 범위 지정을 위한 범위 정책 사용
이 예는 allow-auto-rp-on-backbone이라는 멀티캐스트 범위 정책을 구성하여 백본 대면 인터페이스에서 auto-RP 그룹 224.0.1.39/32 및 224.0.1.40/32에 대한 패킷을 허용하고 224.0.1.0/24 및 239.0.0.0/8 주소 범위의 다른 모든 주소를 거부하는 방법을 보여줍니다.
요구 사항
시작하기 전에:
내부 게이트웨이 프로토콜 또는 정적 라우팅을 구성합니다. 라우팅 디바이스에 대한 Junos OS 라우팅 프로토콜 라이브러리를 참조하십시오.
개요
참조된 각 정책은 계층 수준에서 [edit policy-options]
정확하게 구성되어야 하며, 범위 지정을 구성할 라우팅 디바이스 인터페이스 세트를 지정하고 범위의 주소 범위를 일련의 경로 필터로 정의해야 합니다. 멀티캐스트 범위 정책에는 interface, route-filter, prefix-list 일치 조건만 지원됩니다. 구성된 다른 모든 일치 조건은 무시됩니다. 지원되는 유일한 작업은 수락, 거부 그리고 정책 플로우 작업 next-term 및 next-policy입니다. 거부 조치는 구성된 인터페이스에서 양방향으로 참가 및 멀티캐스트 포워딩이 억제됨을 의미합니다. 수락 작업은 인터페이스에서 양방향으로 참가 및 멀티캐스트 전달을 허용합니다. 기본적으로 범위 정책은 모든 인터페이스에 적용됩니다. 기본 작업은 수락입니다.
범위 정책으로 구성된 멀티캐스트 범위 지정은 명명된 범위로 구성된 범위 지정(문 사용)과 몇 가지 면에서 다릅니다.scope
모든 범위 정책이 모든 라우팅 인스턴스에 적용되므로 특정 라우팅 인스턴스에 범위 정책을 적용할 수 없습니다. 반면, 명명된 범위는 특정 라우팅 인스턴스에 개별적으로 적용됩니다.
명명된 범위로 범위를 지정하는 것과 달리, 범위 정책으로 범위를 지정하면 범위 경계에 로컬 범위가 자동으로 추가되지 않습니다. 로컬 범위 경계를 명시적으로 구성해야 합니다. 로컬 범위는 연결된 LAN에 대한 멀티캐스트 그룹 239.255.0.0/16의 사용을 제한합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣습니다.
set policy-options policy-statement allow-auto-rp-on-backbone term allow-auto-rp from interface so-0/0/0.0 set policy-options policy-statement allow-auto-rp-on-backbone term allow-auto-rp from interface so-0/0/1.0 set policy-options policy-statement allow-auto-rp-on-backbone term allow-auto-rp from route-filter 224.0.1.39/32 exact set policy-options policy-statement allow-auto-rp-on-backbone term allow-auto-rp from route-filter 224.0.1.40/32 exact set policy-options policy-statement allow-auto-rp-on-backbone term allow-auto-rp then accept set policy-options policy-statement allow-auto-rp-on-backbone term reject-these from route-filter 224.0.1.0/24 orlonger set policy-options policy-statement allow-auto-rp-on-backbone term reject-these from route-filter 239.0.0.0/8 orlonger set policy-options policy-statement allow-auto-rp-on-backbone term reject-these then reject set routing-options multicast scope-policy allow-auto-rp-on-backbone
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
허용되는 패킷을 정의합니다.
[edit policy-options policy-statement allow-auto-rp-on-backbone] user@host# set term allow-auto-rp from interface so-0/0/0.0 user@host# set term allow-auto-rp from interface so-0/0/1.0 user@host# set term allow-auto-rp from route-filter 224.0.1.39/32 exact user@host# set term allow-auto-rp from route-filter 224.0.1.40/32 exact user@host# set term allow-auto-rp then accept
허용되지 않는 패킷을 정의합니다.
[edit policy-options policy-statement allow-auto-rp-on-backbone] user@host# set term reject-these from route-filter 224.0.1.0/24 orlonger user@host# set term reject-these from route-filter 239.0.0.0/8 orlonger user@host# set term reject-these then reject
정책을 적용합니다.
[edit routing-options multicast] user@host# set scope-policy allow-auto-rp-on-backbone
디바이스 구성을 완료하면 해당 구성을 커밋합니다.
user@host# commit
결과
및 show routing-options
명령을 입력하여 show policy-options
구성을 확인합니다.
user@host# show policy-options policy-statement allow-auto-rp-on-backbone { term allow-auto-rp { from { /* backbone-facing interfaces */ interface [ so-0/0/0.0 so-0/0/1.0 ]; route-filter 224.0.1.39/32 exact; route-filter 224.0.1.40/32 exact; } then { accept; } } term reject-these { from { route-filter 224.0.1.0/24 orlonger; route-filter 239.0.0.0/8 orlonger; } then reject; } }
user@host# show routing-options multicast { scope-policy allow-auto-rp-on-backbone; }
확인
범위 정책이 적용되는지 확인하려면 구성 모드 명령을 실행합니다.show multicast scope
user@host> show multicast scope Scope policy: [ allow-auto-rp-on-backbone ]
범위 정책 show multicast scope
으로 멀티캐스트 범위 지정을 구성할 때 운영 모드 명령은 범위 정책의 이름만 표시합니다.
예: 외부 연결 PIM 경계 라우터 구성
이 예에서는 [edit routing-options multicast] 계층 수준에서 명령문을 scope 추가하여 auto-RP 트래픽이 PIM 도메인으로 들어오거나 나가는 것을 방지합니다. 아래에 정의된 두 개의 범위인 auto-rp-39 및 auto-rp-40은 특정 주소에 대한 것입니다. scoped-range 명령문은 그룹 범위를 정의하므로 그룹 트래픽이 누출되는 것을 방지합니다.
routing-options { multicast { scope auto-rp-39 { prefix 224.0.1.39/32; interface t1-0/0/0.0; } scope auto-rp-40 { prefix 224.0.1.40/32; interface t1-0/0/0.0; } scope scoped-range { prefix 239.0.0.0/8; interface t1-0/0/0.0; } } }