[네트워크] 8장 멀티캐스트 라우팅

이효린·2023년 9월 25일
0

Network

목록 보기
8/9
post-thumbnail

8.4 멀티캐스트의 기초

  • 멀티캐스트 라우팅에서도 유니캐스트 라우팅과 같이 소스에서 목적지까지 최적경로 트리가 필요하다.
  • 멀티캐스트 라우팅에서는 목적지 주소뿐만 아니라 소스의 주소도 고려해야한다.
  • 2가지 접근법이 있는데, 소스 기반 트리 라우팅과 그룹 공유 트리 라우팅이 있다.
  • UDP를 기반으로 한다.

8.4.1 소스기반트리

  • 그룹(m)당 소스 개수(n)만큼의 트리 : m * n개 트리
  • 각 소스를 루트로 하는 트리
  • RIP 확장 : DVMRP
  • OSPF 확장 : MOSPF

8.4.2 그룹공유트리

  • 그룹(m)당 1개의 트리: m개
  • Designated(Core, Rendezvous-point) 라우터를 루트로 하는 트리
  • 멀티캐스트를 보내려는 소스가 유니캐스트로 랑데뷰포인트로 전달 후 멀티캐스팅을 한다.
  • 여러 개의 그룹 노드 중 어떤 것을 코어 라우터로 할 지 선정하는 알고리즘이 필요하다.

8.4.3 Independent protocol

  • 소스기반이나 그룹공유기반 방식 네트워크 모두에 사용가능하다
  • 점점 많이 사용되고있다
  • PIM-SM(Sparse Mode), PIM-DM (Dense Mode)

8.5 Intra-domain Protocols (작은 네트워크 내에서 사용하는 프로토콜)

8.5.1 DVMRP

  • Distance Vector Multicast Routing Protocol은 유니캐스트 라우팅 프로토콜인 Routing Information Protocol (RIP)의 확장판이다.
  • Source-based tree approach 기반 방법이다.
  • 만일 source가 m개라면, 그룹 내에서 m개의 트리를 만들어야한다.
  • 멀티캐스트 트리 생성 3단계 알고리즘
    • RPF (Reverse Path Forwarding) 멀티캐스트의 소스가 있는 방향으로부터 온 패킷만을 포워딩한다.

  • RPB (Reverse Path Broadcasting) 여러 네트워크에 연결된 네트워크로는 복수개의 패킷을 전달한다. 부모노드를 정해 하나만 수신하게 한다.

  • RPM (Reverse Path Multicasting) IGMP 통해 모은 정보를 기초로, 멤버가 없으면 메시지 교환을 통해 Prune(leaving, 나중에 다시 join 가능)
  • RPF와 RPB 비교

  • RPF는 소스가 있는 쪽에서 온 것만 포워딩을 한다.
    • 그래서 특정 네 트워크에서 중복 메시지가 올 수 있으니 그 중에서 한 부모만 선택하도록 하는 것이 RPB이다.
    • 만일 그룹 멤버가 없는 경우, 굳이 메시지를 받을 이유가 없기 때문에 Prune 메시지를 보내 다음부턴 소스로부터 메시지가 오지 않도록 하는 프로토콜이 RPM이다.

참고사진

  • 유니캐스트 라우팅에 사용되는 개방 최단 경로 우선 (OSPF) 프로토콜의 확장형태이다.

    • 즉, Multicast Open Short Path First, 기존 OSPF에서 M만 붙은 꼴이다.
  • Source-based tree approach이다.

    • 만일 그룹 소스가 3개이면 각각의 소스마다 트리를 3개 따로 만든다는 뜻이다.
  • 만일 인터넷이 유니캐스트 링크 상태 라우팅 알고리즘으로 운영된다면 이 기법은 멀티캐스트 링크 상태 라우팅 알고리즘을 제공하는 형태로 확장 가능하다.

  • 즉, 각 라우터에 있는 그룹멤버에 의해서 트리를 생성한다

    • 그룹 내의 각 소스를 루트로 하는 트리를 생성한다
    • 라우터 자신을 루트로 하는 서브트리를 생성한다.
    • 멤버가 없는 경로를 Prune (각 라우터는 IGMP를 통해 멤버 정보를 만들어, 플러딩을 통해 모든 라우터에게 정보 전달한다_
    • 트리를 이용해 멀티캐스트 데이터를 포워딩한다.
  • MOSPF에서 트리 형성의 예

  1. 여러 그룹들을 가진 인터넷이 있다. 이 라우터에는 여러 개의 그룹이 들어갈 수도 있고, 하나의 그룹 멤버만 있을 수도 있다.
  2. Source 노드 ↔ G1 멤버 사이의 최단경로 트리를 만들어 보았다. (RPF 기준)
    • RPF란, Reverse Path Forwarding으로 소스로부터 들어온 패킷만을 받는다.
  3. 현재 라우터를 기준으로 subtree를 만들었다. 각각의 라우터는 본인을 루트노드로 하는 트리를 만들 수 있다.
  4. RPM (Reverse Path Multicast)를 이용해 Group Member이 없는 라우터는 자신에게 오는 패킷을 거절한다. 이때 거절은 Prune 메시지를 전송함으로서 거절한다.

8.5.3 PIM (Protocol Independent Multicast)

  • PIM은 유니캐스트 라우팅 프로토콜 종류와 관계없이 사용가능한 멀티캐스트 프로토콜이다.
  • 멀티캐스트 패킷을 포워딩하기위해 유니캐스트 라우팅 프로토콜을 이용하지만, 어떻게 생성되었는지는 무관하다.
  • 2가지 모드가 있다.
    • PIM-DM(dense mode) : 그룹의 액티브 멤버가 많을 때
    • PIM-SM(Sparse mode) : 소수의 라우터만이 액티브 멤버를 가질 때
  1. PIM-DM
    • 소스기반트리의 DVMRP와 비슷하지만 단순화하였다.
      • RPF와 RPM만 사용한다.
    • 2 step
      • 멀티미디어 패킷 수신시 RPF 알고리즘을 사용하여 수신방향을 검사한다.
      • 수신 방향이 맞다면 처음에는 Broadcasting하고, 나중에 Prune 이후에는 멀티캐스팅 한다.

  1. PIM-SM
    • 그룹 공유 트리
    • 그룹 멤버들이 많이 존재하는 것이 아니라 드문드문 있다.
    • 2 Step
      • 소스는 유니캐스트 터널링으로 멀티캐스트 패킷을 랑데뷰포인터로 보낸다.
      • 코어 라우터는 공유트리로 포워딩 한다.
    • 그룹마다 공유트리, 랑데뷰 포인터가 한 개씩 필요하다.

8.5.5 Multicasting vs Multiple Unicasting

  • 멀티캐스팅의 경우 라우터에 의해 복제되는 source에서의 단일 패킷으로 시작한다.
    • 각 패킷의 source 주소는 모든 복제품에 대해서 동일하다.
      • 라우터에는 하나의 패킷만을 통과시킨다.
  • 다중 유니캐스트에서는 source에서 여러 패킷으로 시작된다.
    • 예를 들어 destination이 4개인 경우 source는 각각 다른 유니캐스트 대상 주소를 가진 4개의 패킷을 보낸다.
  • 멀티캐스팅이 다중 유니캐스트보다 효율적이다.
  • 다중 유니캐스트에서 패킷 간 delay가 발생한다. 멀티캐스트는 delay가 없다.

8.5.6 브로드캐스팅

  • 하나의 호스트가 네트워크의 모든 호스트에게 전달한다.
  • 부분적 브로드캐스팅은 가능하지만 인터넷 전체 수준에서 적용하기 어렵다.

8.5.7 멀티캐스트 기초

  • 멀티캐스트 주소
    • 1대 다 구조이다. 1 sender, many receiver
  • 모든 수신자를 패킷에 넣을 수 없다.
    • IP 패킷의 수신주소는 오직 1이다.
  • 멀신자 멀티캐스트 주소가 필요하다.
    • 멀티캐스트 주소는 하나가 아닌 수신자 그룹의 주소이다.
  • 멀티캐스트 주소는 그룹의 식별자이다.

  • A, B, C, D 컴퓨터는 하나의 그룹이다.
  • 만일 위 4개의 컴퓨터로 패킷을 보내고자 한다면, 각각 unicast 주소가 필요할 것이다.
  • 그러나 멀티캐스트를 이용한다면 위 예제에선 226.14.18.7 이라는 multicast 주소 하나만으로 패킷 전달이 가능하다.

0개의 댓글