본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

코어 기반 트리(Core-Based Tree, CBT)는 멀티캐스트 그룹마다 코어(core)라는 중심 라우터를 정하고, 그 그룹의 모든 송신자와 수신자가 코어를 중심으로 한 하나의 양방향 공유 트리를 함께 쓰도록 만드는 멀티캐스트 라우팅 프로토콜이다.

DVMRP, MOSPF, PIM-DM 같은 송신자 기반 방식은 송신자(서브넷)마다 따로 트리를 만든다. 그래서 라우터가 지녀야 하는 상태가 송신자 수 S 와 그룹 수 G 의 곱 O(S × G) 로 늘어난다. CBT 는 그룹당 트리를 하나만 두어 상태를 O(G) 로 줄이는 것을 목표로 설계되었다. RFC 2201 은 분산 시뮬레이션이나 여럿이 함께 하는 게임처럼 송신자가 많은 응용에서 이 차이가 크다고 설명하고, 그룹 1,000개·그룹당 송신자 60명일 때 DVMRP 라우터 항목이 6만 개인 데 비해 CBT 는 1,000개라는 비교를 싣는다.[1] CBT 는 IETF 에서 실험(Experimental) 단계에 머물렀고 널리 배치되지는 않았지만, 공유 트리라는 생각은 PIM-SM 의 RP 트리와 양방향 PIM 으로 이어졌다.

  1. 호스트가 그룹에 들어가려 하면 IGMP 가입 보고를 서브넷에 보낸다
  2. 그 서브넷의 CBT 라우터가 그룹의 코어를 향해 다음 홉으로 JOIN_REQUEST 를 보낸다. 다음 홉은 유니캐스트 경로표에서 코어 주소로 가는 경로로 정한다
  3. JOIN_REQUEST 가 코어에 닿거나, 이미 트리에 붙어 있는 라우터에 닿으면 그 라우터가 JOIN_ACK 로 응답한다. JOIN_ACK 은 가입 요청이 온 길을 거슬러 돌아가며 지나는 라우터마다 트리 상태를 확정한다
  4. 트리에 붙은 하위 라우터는 상위 라우터에 주기적으로 ECHO_REQUEST 를 보내 연결을 확인한다. 상위가 응답하지 않으면 QUIT_NOTIFICATION 을 위로, FLUSH_TREE 를 아래로 보내 상태를 지우고 다시 가입한다[1]
  • 코어는 그룹마다 하나만 활성이고 가입이 늘 코어 쪽으로만 진행되므로 트리에 고리가 생기지 않는다
  • 지역 라우터는 부트스트랩 라우터(BSR)가 알려 준 후보 코어 목록에 그룹 주소를 해시해 어느 코어에 가입할지 정한다[1]

트리는 양방향이다. 트리 위의 어느 라우터에서 들어온 패킷이든 트리의 다른 가지로 퍼지므로, 송신자 쪽 패킷이 반드시 코어를 거쳐야 하는 것은 아니다. 그룹에 가입하지 않은 송신자의 패킷은 캡슐화해 코어로 유니캐스트하면 그곳에서 트리로 퍼진다. 그래서 그런 송신자와 트리 사이의 라우터는 멀티캐스트를 지원하지 않아도 된다.[1]

  • 장점 - 그룹당 트리 하나라 라우터 상태와 제어 메시지가 적다. 수신자로 이어지는 링크와 라우터만 트리에 들어가므로 다른 부분의 망은 비용을 치르지 않는다. 범람이 없다
  • 단점 - 모든 트래픽이 코어 주변으로 몰리는 트래픽 집중이 생기고, 코어 위치에 따라 송신자에서 수신자까지 최단 경로보다 돌아갈 수 있다. 코어가 고장 나면 다시 가입해야 한다. RFC 2201 은 해시와 그룹 마스크로 그룹을 여러 코어에 나누어 집중을 줄인다고 설명한다[1]

비슷한 방식과 구별하기

편집 원본 편집
구분 CBT PIM-SM DVMRP
트리 그룹당 양방향 공유 트리 RP 를 뿌리로 한 단방향 공유 트리, 필요하면 송신자별 최단 경로 트리 송신자별 트리
중심 라우터 코어 RP 없음
트리 만들기 코어를 향한 JOIN_REQUEST / JOIN_ACK RP·송신자를 향한 Join 범람 후 가지치기
경로표 유니캐스트 경로표 유니캐스트 경로표 자체 거리 벡터 경로표

PIM-SM 의 송신자 쪽 라우터가 데이터를 Register 메시지에 담아 RP 로 보내는 것과 달리, CBT 트리 위의 송신자 패킷은 캡슐화 없이 트리를 따라 바로 양방향으로 퍼진다.[2]

  1. ↑ 1.0 1.1 1.2 1.3 1.4 「Core Based Trees (CBT) Multicast Routing Architecture」(RFC 2201), IETF, https://www.rfc-editor.org/rfc/rfc2201, 확인일: 2026-11-04.
  2. ↑ 「Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)」(RFC 7761), IETF, https://www.rfc-editor.org/rfc/rfc7761, 확인일: 2026-11-04.