프로토콜 독립 멀티캐스트

Protocol Independent Multicast
멀티캐스트 네트워크 아키텍처의 예

PIM(Protocol-Independent Multicast, PIM)LAN, WAN 또는 인터넷을 통해 일대다다대다 데이터 분배를 제공하는 IP(Internet Protocol) 네트워크를 위한 멀티캐스트 라우팅 프로토콜의 제품군이다. PIM이 자체적인 위상 탐색 메커니즘을 포함하지 않고, 대신 다른 라우팅 프로토콜이 제공하는 라우팅 정보를 사용하기 때문에 프로토콜에 독립적인 것으로 불린다. PIM은 특정 유니캐스트 라우팅 프로토콜에 의존하지 않는다. PIM은 네트워크에서 사용 중인 유니캐스트 라우팅 프로토콜을 사용할 수 있다. PIM은 자체 라우팅 테이블을 만들지 않는다. PIM은 역경로 포워딩에 유니캐스트 라우팅 테이블을 사용한다.[1]: 56–57

PIM에는 네 가지 변종이 있다.

  • PIM 스파스 모드(PIM-SM)는 그룹당 RP(접견 지점)에 뿌리를 둔 단방향 공유 트리를 명시적으로 구축하고 선택적으로 소스당 최단 경로 트리를 생성한다. PIM-SM은 일반적으로 광역 사용을 위해 상당히 잘 확장된다.[2]
  • PIM 밀도 모드(PIM-DM)는 고밀도 멀티캐스트 라우팅을 사용한다. 멀티캐스트 트래픽 도메인을 넓게 범람시킨 다음 수신자가 없는 트리의 뒷가지들을 가지런히 제거하여 암묵적으로 최단 경로 트리를 구축한다. PIM-DM은 구현이 간단하지만 일반적으로 스케일링 특성이 낮다. 최초의 멀티캐스트 라우팅 프로토콜인 DVMRP는 밀집 모드 멀티캐스트 라우팅을 사용했다.[3] RFC 3973을 참조하십시오.
  • 양방향 PIM(Bidir-PIM)은 공유 양방향 트리를 명시적으로 구축한다. 결코 최단 경로 트리를 만들지 않기 때문에 PIM-SM보다 엔드투엔드 지연이 길어질 수 있지만, 소스별 상태가 필요 없기 때문에 잘 확장된다.[1]: 70–73 RFC 5015를 참조하십시오.
  • PIM 소스별 멀티캐스트(PIM-SSM)는 한정된 수의 애플리케이션(대부분 콘텐츠 방송)을 위해 보다 안전하고 확장 가능한 모델을 제공하면서 하나의 소스에만 뿌리를 둔 트리를 구축한다. SSM에서, IP 데이터그램은 소스 S에 의해 SSM 목적지 주소 G로 전송되며, 수신자는 채널 (S,G)에 가입함으로써 이 데이터그램을 수신할 수 있다. 정보 RFC 3569를 참조하십시오.

PIM-SM은 일반적으로 IPTV 시스템에서 VLAN, 서브넷 또는 로컬 영역 네트워크 간에 멀티캐스트 스트림을 라우팅하기 위해 사용된다.[4]

버전

PIM 버전은 두 가지가 있다. 동일한 네트워크에 공존할 수 있지만 버전은 직접 호환이 되지 않는다. 네트워크 장비는 두 가지 버전을 모두 구현할 수 있다. PIMv2는 PIMv1에 비해 다음과 같은 개선점을 가지고 있다: 그룹당 하나의 RP가 사용된다. RP 검색은 BSR(Bootstrap Router)에 의해 수행된다. 그룹은 희박하거나 밀도가 높은 모드 중 하나이며, 인터페이스는 둘 중 하나일 수 있다. 프로토콜 유연성 및 효율성의 일반적인 개선.[1]: 59

스파스 모드

프로토콜 독립 멀티캐스트 - 스파스-모드(PIM-SM)는 광역 및 도메인 간 내부 세트에 걸쳐 있을 수 있는 멀티캐스트 그룹으로 인터넷 프로토콜(IP) 패킷을 효율적으로 라우팅하기 위한 프로토콜이다. 프로토콜은 토폴로지 검색을 위한 특정 유니캐스트 라우팅 프로토콜에 의존하지 않기 때문에 프로토콜에 독립적인 으로 명명되며, 매우 낮은 비율의 노드(및 그들의 라우터)가 멀티캐스트 세션에 가입할 그룹에 적합하기 때문에 희소-모드에 적합하기 때문이다. 네트워크 전체에 패킷을 범람시킨 다음 수신자가 없는 가지를 잘라낸 DVMRP와 같은 이전의 조밀 모드 멀티캐스트 라우팅 프로토콜과는 달리, PIM-SM은 각 송신자에서 멀티캐스트 그룹의 수신자로 트리를 명시적으로 구성한다.[5]

멀티캐스트 클라이언트

라우터는 다운스트림 그룹 멤버가 있는 인접 라우터로부터 명시적인 가입/제거 메시지를 수신한다.

  • 멀티캐스트 그룹 G에 가입하기 위해 호스트는 인터넷 그룹 관리 프로토콜(IGMP)을 통해 회원 정보를 전달한다.
  • 그런 다음 라우터는 멀티캐스트 그룹 G로 어드레스된 데이터 패킷을 명시적 조인이 수신된 인터페이스에만 전달한다.
  • 지정된 라우터(DR)는 활성 구성원이 있는 각 그룹에 대해 그룹별 RP(Rendevous Point)로 정기적인 가입/제거 메시지를 발송한다.
    • 하나의 라우터는 자동으로 또는 정적으로 RP(접견 지점)로 지정되며, 모든 라우터는 RP를 통해 명시적으로 결합되어야 한다는 점에 유의하십시오.
  • RP를 향한 경로를 따라가는 각 라우터는 그룹을 위한 와일드 카드(모든 소스) 상태를 구축하고 RP를 향해 조인/제거 메시지를 전송한다.
    • 경로 입력이라는 용어는 배포 트리를 나타내기 위해 라우터에서 유지되는 상태를 가리키는 데 사용된다.
    • 경로 입력에는 다음과 같은 필드가 포함될 수 있다.
      • 출처 주소
      • 단체 주소
      • 패킷이 수신되는 인터페이스
      • 패킷이 전송되는 송신 인터페이스 목록
      • 타이머, 깃발 비트 등
    • 와일드카드 경로 입력의 수신 인터페이스가 RP를 가리킴
    • 송신 인터페이스는 RP 쪽으로 조인/제거 메시지를 보낸 인접 다운스트림 라우터뿐만 아니라 G 그룹에 멤버십을 요청한 직접 연결된 호스트를 가리킨다.
  • 이 상태는 모든 그룹 구성원에 도달하는 공유 RP 중심 분산 트리를 생성한다.

멀티캐스트 소스

  • 데이터 소스가 처음으로 그룹에 전송될 때, 그것의 지정된 라우터 (DR) 유니캐스트는 소스의 데이터 패킷이 캡슐화된 랑데부 포인트 (RP)에 메시지를 등록한다.
  • 데이터 전송률이 높을 경우, RP는 소스별 결합/제거 메시지를 소스로 다시 보낼 수 있으며 소스의 데이터 패킷은 결과 전달 상태를 따르고 RP로 전송되지 않은 상태로 이동한다.
  • 캡슐화된 데이터 패킷이 도착하든, 기본적으로 도착하든, RP는 소스의 캡슐화된 데이터 패킷을 RP 중심 분산 트리에 있는 그룹 멤버로 전달한다.
  • 데이터 전송 속도가 보증할 경우, 로컬 수신기가 있는 라우터는 소스별 최단 경로, 배포 트리에 가입하고 공유 RP 중심 트리에서 이 소스의 패킷을 제거한다.
  • 낮은 데이터 전송률 소스의 경우, RP와 마지막 홉 라우터 모두 소스에 특정한 최단 경로 트리에 가입할 필요가 없으며 데이터 패킷은 공유 RP-트리를 통해 전달될 수 있다.

일단 그러한 그룹 패킷을 수신해야 하는 다른 라우터가 구독하면, RP는 다른 라우터나 노드로 패킷을 포워드 할 필요가 없는 한, 그 멀티캐스트 그룹에 가입을 취소할 것이다. 또한, 라우터는 멀티캐스트 패킷을 받기를 원하는 라우터들 사이에 패킷 포워딩을 위한 루프가 없도록 하기 위해 역경로 포워딩을 사용할 것이다.

밀도 모드

조밀 모드 멀티캐스트는 멀티캐스트 가입자에게 패킷을 보내기 위한 트리를 만들기 위해 멀티캐스트가 사용할 수 있는 모드 중 하나이다. 그것은 희소성 모드의 대안이다.

조밀 모드 뒤의 기본적인 가정은 멀티캐스트 패킷 스트림이 대부분의 위치에 수신기를 가지고 있다는 것이다. 스파스 모드는 수신기가 상대적으로 적다고 가정한다. 조밀 모드는 대부분의 라우터가 이러한 패킷(고밀도 그룹)을 수신하고 포워드 해야 할 정도로 많은 노드가 멀티캐스트 패킷을 수신하기 위해 구독하는 그룹에 이상적이다.

이 차이는 두 프로토콜의 초기 동작과 메커니즘에서 나타난다. 밀도 모드는 IP 멀티캐스트 라우팅을 처리하기 위해 상당히 간단한 접근방식을 사용한다. 소스는 처음에 그것과 직접 연결된 모든 라우터에 브로드캐스트한다. 이러한 이웃 라우터는 데이터를 이웃에게 더욱 전달한다. 라우터가 이 그룹의 데이터를 수신하지 않으려 할 때(다른 인접 PIM 라우터가 없고 그룹에 관심이 있는 호스트가 없는 경우), 관심 부족을 나타내기 위해 Prune 메시지를 보낸다. Prune 메시지를 받자마자, 라우터는 그 패킷들이 인터페이스 밖으로 포워드 되지 않도록 그것의 상태를 수정할 것이다. 만약 라우터의 모든 인터페이스가 제거된다면, 라우터 또한 제거될 것이다.[5]

이전 시스코 IOS 릴리즈에서 PIM-DM은 3분마다 모든 멀티캐스트 트래픽을 재플래시했다. 이것은 저용량 멀티캐스트에는 괜찮지만, 더 높은 대역폭 멀티캐스트 패킷 스트림은 아니다. 보다 최신의 Cisco IOS 버전은 12.1(5)T 이후 PIM 밀도 모드 상태 새로 고침이라는 새로운 기능을 지원한다. 이 기능은 PIM 상태 새로 고침 메시지를 사용하여 송신 인터페이스의 제거 상태를 새로 고친다. 또 다른 이점은 위상 변화가 더 빨리 인식된다는 것이다. 기본적으로 PIM 상태 새로 고침 메시지는 60초마다 전송된다.

또한, 라우터는 멀티캐스트 패킷을 받기를 원하는 라우터들 사이에 패킷 포워딩을 위한 루프가 없도록 하기 위해 역경로 포워딩을 사용할 것이다. 데이터 패킷이 비 RPF 인터페이스에서 수신될 때, 루프를 방지하는 메커니즘이 필요하다. 비 RPF 인터페이스가 LAN인 경우 Assert 메시지가 전송된다. 그런 다음 비 Forwarder 라우터는 멀티캐스트 스트림이 필요하지 않은 경우 RPF 인터페이스로 Prune을 전송한다. 송신 인터페이스 목록(OILIST)에 인터페이스가 없는 것으로 전환될 때 이러한 Prune만 전송된다. LAN Prune 수신기는 3초 동안 작동을 지연시켜, 만약 다른 LAN 라우터가 여전히 멀티캐스트 스트림을 필요로 한다면, PIM Join 메시지를 보내 Prune을 대응(취소)할 수 있다. ("저 라우터는 필요하지 않지만, 나는 여전히 그렇다!")

라우터가 제거되고 얼마 후 수신자가 IGMP 메시지와 함께 멀티캐스트 스트림을 요청한다고 가정합시다. 그런 다음 라우터가 그라프트 메시지를 전송한다. 사실상, "이봐, 난 지금 여기 멀티캐스트 스트림이 필요해."

참고 항목

참조

  1. ^ a b c IP Multicast Routing Configuration Guide, Cisco, retrieved 2017-05-27
  2. ^ "PIM-SM Multicast Routing Protocol". Microsoft. Retrieved 2014-03-26.
  3. ^ "Frequently Asked Questions (FAQ) File for Multicasting". Multicast Tech. Archived from the original on 2011-06-14.
  4. ^ "Supplement on guidelines on deployment of IP multicast for IPTV content delivery". ITU-T. Retrieved 2014-03-23.
  5. ^ a b Configuring IP Multicast Routing, Cisco Systems, retrieved 2013-12-06

외부 링크