MOSPF
IT위키
더 많은 작업
MOSPF(Multicast Extensions to OSPF, 멀티캐스트 OSPF)는 링크 상태 라우팅 프로토콜인 OSPF 버전 2에 그룹 가입 정보를 더해, 각 라우터가 멀티캐스트 패킷마다 송신자를 뿌리로 하는 최단 경로 트리를 직접 계산하게 한 멀티캐스트 라우팅 프로토콜이다.
OSPF 는 자율 시스템(AS) 안의 모든 라우터가 같은 링크 상태 데이터베이스를 갖고 다익스트라 알고리즘으로 최단 경로를 계산한다. MOSPF 는 여기에 그룹 멤버십 LSA(group-membership-LSA, LS 유형 6)를 새로 두어 "어느 네트워크에 어느 멀티캐스트 그룹의 수신자가 있는가"를 데이터베이스에 함께 싣는다. 라우터는 서브넷의 가입 정보를 IGMP 의 Host Membership Query·Report 로 모으고, 그것을 그룹 멤버십 LSA 로 OSPF 영역 전체에 퍼뜨린다.[1]
멀티캐스트 패킷이 들어오면 라우터는 출발지 주소와 목적지 그룹을 함께 보고(source/destination routing) 그 출발지를 뿌리로 한 최단 경로 트리를 계산한 뒤, 수신자가 없는 가지를 잘라 낸 트리를 따라 패킷을 보낸다. 같은 그룹의 수신자들이 경로를 공유하는 동안에는 패킷을 하나만 보내고, 경로가 갈라지는 지점에서만 복제한다.[1]
- 송신자 기반 트리 - 트리의 뿌리가 계산하는 라우터가 아니라 패킷의 출발지이다. 그래서 모든 라우터가 같은 패킷에 대해 똑같은 트리를 얻고, 동일 비용 경로가 여러 개면 정해진 규칙으로 하나만 고른다. 유니캐스트 OSPF 와 달리 동일 비용 다중 경로를 쓰지 않는다[2]
- 필요할 때 계산하고 캐시 - [출발지, 그룹] 쌍마다 다익스트라 계산이 필요해 비용이 크므로, 그 쌍의 첫 패킷이 왔을 때만 트리를 계산하고 결과를 캐시에 두어 뒤따르는 패킷에 재사용한다[2]
- 범람이 없다 - 그룹 멤버십이 이미 링크 상태 데이터베이스에 있으므로 DVMRP·PIM-DM 처럼 일단 흘려보낸 뒤 가지치기할 필요가 없다
- 부분 도입 - 같은 OSPF 영역 안에서 일부 라우터만 MOSPF 를 돌리고 나머지는 유니캐스트만 전달하게 섞어 쓸 수 있다[1]
- OSPF 망 전용 - OSPF 데이터베이스에 기대므로 OSPF 를 쓰지 않는 망에서는 쓸 수 없다. 영역 사이·AS 사이 전달은 영역 경계 라우터와 AS 경계 라우터가 맡는다
| 프로토콜 | 바탕 | 트리 | 가입 정보를 얻는 방법 |
|---|---|---|---|
| MOSPF | 링크 상태(OSPF) | 송신자 기반 최단 경로 트리 | 그룹 멤버십 LSA 를 영역 전체에 범람 |
| DVMRP | 거리 벡터(RIP 계열) | 송신자 기반 트리 | 데이터를 흘려보낸 뒤 가지치기(flood and prune) |
| PIM-DM | 기존 유니캐스트 경로표 | 송신자 기반 트리 | 흘려보낸 뒤 가지치기 |
| CBT | 기존 유니캐스트 경로표 | 그룹 공유 트리(코어가 뿌리) | 수신자 쪽 라우터가 코어로 명시적 가입 |
| PIM-SM | 기존 유니캐스트 경로표 | 공유 트리(RP 가 뿌리) + 필요 시 송신자 트리 | RP 로 명시적 가입 |
- 그룹마다 트리 하나를 함께 쓰는 그룹 공유 트리 방식은 CBT 와 PIM-SM 이다. MOSPF, DVMRP, PIM-DM 은 송신자마다 트리를 따로 두는 송신자 기반 트리 방식이다 → 멀티캐스트 라우팅 프로토콜
- ↑ 1.0 1.1 1.2 「Multicast Extensions to OSPF」(RFC 1584), IETF, https://www.rfc-editor.org/rfc/rfc1584, 확인일: 2026-11-04.
- ↑ 2.0 2.1 「MOSPF: Analysis and Experience」(RFC 1585), IETF, https://www.rfc-editor.org/rfc/rfc1585, 확인일: 2026-11-04.