Skip to content

멀티캐스트 라우팅

  • 유니캐스팅: 하나의 발신지와 목적지(1:1)
  • 멀티캐스팅: 하나의 발신지와 목적지 그롬(1:n )

DVMRP(Distance Vector Multicast Routing Protocol)

  • 거리-벡터 멀티캐스트 라우팅 프로토콜
  • 유니캐스트 라우팅에 사용되는 RIP를 기반으로 멀티캐스팅이 가능하도록 확장한 것이다.
  • DVMRP는 발신지 기반 트리 기법을 사용한다. 멀티캐스트 패킷을 수신할 각 라우터는 먼저 다음과 같은 세 가지 단계를 거쳐 발신지 기반 멀티캐스트 트리를 생성해야 한다.

  1. 라우터는 RPF(Reverse Path Forwarding)로 발신지와 자신 사이의 최적 트리를 생성하는 시뮬레이션을 한다.

    • Multicast에서 모든 노드에 대한 최적 트리를 찾기는 복잡하다.
    • 대신, 각 하위 노드에서 멀티캐스트 지점에 대한 최적 경로를 찾으면 그것을 뒤집은 것을 합친 정보로 최적 트리를 만들 수 있을 것이다.
  2. 라우터는 RPB(Reverse Path Broadcasting)을 사용하여 발신지가 자신이고, 인터넷 상의 모든 네트워크를 트리의 구성원으로 하는 브로드캐스트(스패닝) 트리를 생성한다.

    • 라우터가 발신지로부터 수신한 복사본 중 단 하나의 복사본만을 전송하고 나머지는 삭제하는 알고리즘이다.
    • 하나의 라우터를 부모 라우터로 지정하여, 담당 네트워크의 부모 라우터가 아닌 라우터가 멀티캐스트 패킷을 수신하면 패킷을 폐기한다.
    • RPB는 RPF 알고리즘을 통해 생성된 그래프로부터 브로드 캐스트 트리를 실제로 생성한 뒤 그래프에서 순환의 원인이 되는 링크를 삭제한다.
    • 만약 부모 선택을 위해 최단경로를 기준으로 사용하면 발신지가 루트, 네트워크 각각은 리프 노드가 되는 최단경로 트리를 가지게 된다.
  3. 라우터는 PRM(Reverse Path Multicasting)을 사용하여 그룹의 회원이 없는 네트워크의 끝부분(트리의 구성원 부분)을 잘라냄으로써 멀티캐스트 트리를 구성한다.

    • 리프 노드 레벨에서 라우터들은 IGMP 프로토콜을 이용하여 구성원들의 정보를 수집한 네트워크의 연결을 실행한다.
    • 네트워크의 부모 라우터는 발신지 라우터로부터 얻은 역 최단경로 트리를 이용하여 정보를 상단에 퍼트인다.
    • 라우터가 그룹 구성원에 관련된 모든 정보를 수신하면 어느 인터페이스가 제거되어야 할지 알 수 있다.
image

MOSPF(Multicast Open Shortest Path First)

  • MOSPF는 유니캐스트 라우팅에 사용되는 OSPF 프로토콜의 확장 형태이며, 발신지 기반 트리 기법을 사용하여 멀티캐스트 한다.
  • 각 라우터는 최단경로 트리를 생성하기 위한 LSDB를 가진다.

라우터는 다음과 같은 과정을 통하여 발신지 S로부터 수신하는 멀티캐스트 패킷을 전달하고, 목적지 G까지 전송한다(그룹 내의 수신자).

  1. 라우터는 다익스트라 알고리즘으로 최상위 노드로부터 최단거리 경로트리를 S에서 생성하고, 인터넷 내의 모든 목적지를 리프 노드로 사용한다.

    • 트리의 루트는 패킷의 발신지 주소 내에 정의된 패킷의 발신지가 된다.
    • 인터넷 전체 토폴로지 정보를 가진 LSDB가 있기에 이러한 트리를 만들 수 있다.
    • 각 발신지에 대해 각각 다른 트리를 생성해야한다.
  2. 라우터는 첫 번째 단계에서 생성된 최단 경로 트리에서 자기 자신을 찾는다.

    • 즉, 라우터는 자기 자신을 서브트리의 루트로써 최단경로 서브트리에 생성한다.
  3. 최단경로 서브트리에서 라우터는 서브트리의 루트로서, 모든 네트워크는 리프노드로서 브로드캐스트한다.

    • 라우터는 DVMRP에서와 유사하게 브로트캐스트 트리의 노드를 제거하여 멀티캐스트 트리로 변경한다.
    • 리프 레벨의 정보를 찾기 위해 IGMP를 사용한다.
    • MOSPF는 멤버가 모든 라우터에 새로운 링크상태 갱신 패킷을 추가하도록 하였기 때문에, 정보를 주고받아 브로트캐스트 트리를 멀티캐스트 트리를 만들 수 있다.
  4. 라우터는 멀티캐스트 트리의 가지에 해당하는 인터페이스로부터 전달받은 패킷을 전송할 수 있다.

    • 멀티캐스트 패킷의 사본은 활성화된 멤버가 있는 그룹의 네트워크에 모두 도달해야한다.
image

참고