<br>
## 멀티캐스트 주소
- 멀티캐스트 주소는 **Class D** IP 주소를 사용한다.
- 즉, 처음 4비트가 1110로 시작하며, **224.0.0.0 ~ 239.255.255.255** 사이의 주소이다.
- Unicast IP 주소와 달리 네트워크와 호스트 주소의 구분이 없다.
- 하나의 주소 전체가 특정 멀티캐스트 그룹을 표시하며, 동일한 그룹인지 아닌지만을 구분한다.
- 브로드캐스트나 멀티캐스트 주소는 목적지 주소로 사용하며, 출발지 주소는 항상 유니캐스트 주소를 사용한다.
<br>
** 멀티캐스트 주소**
| 주소 | 용도 |
| ------------------------- | ----------------------------------------------------------------- |
| 224.0.0.0-224.0.0.255 | 동일 네트워크 내부에서만 사용, 라우팅 프로토콜 등 네트워크 제어용 | |
| 232.0.0.0-232.255.255.255 | SSM(Source Specific Multicast) 용으로 사용 |
| 233.0.0.0-233.255.255.255 | GLOP 주소, BGP AS 번호를 가진 조직에 할당 |
| 239.0.0.0-239.255.255.255 | 사설 멀티캐스트 주소 |
<br>
** 동일 네트워크 제어(local network control)용 주소**
| 주소 | 용도 |
| -------------------- | ---------------------------------------------------------------------------------- |
| 224.0.0.1 | All Multicast Hosts. 멀티캐스트가 동작하는 모든 장비들에 패킷 전송시 사용 | |
| 224.0.0.2 | All Multicast Routers. 멀티캐스트가 동작하는 모든 라우터 대상으로 패킷 전송시 사용 | |
| 224.0.0.4 | DVMRP 멀티캐스트 라우팅 프로토콜로 사용 | |
| 224.0.0.5, 224.0.0.6 | OSPF가 사용 |
| 224.0.0.9 | RIP v2가 사용 | |
| 224.0.0.10 | EIRGP가 사용 | |
| 224.0.0.13 | PIM v2가 사용 | |
| 224.0.0.18 | VRRP가 사용 | |
| 224.0.0.22 | IGMP v3가 사용 |
<br>
** 멀티캐스트 MAC 주소**
- Next-hop의 IP 주소가 유니캐스트인 경우, ARP를 이용하여 해당 IP 주소를 가진 장비의 MAC 주소을 알아낸다.
- 목적지 IP 주소가 멀티캐스트면 아래와 같은 규칙으로 대응하는 MAC 주소를 만든다.
1. 멀티캐스트 IP 주소의 첫 번째 바이트는 항상 MAC 주소 0100-5E로 변환된다.
2. 멀티캐스트 IP 주소의 두 번째 바이트를 2진수로 변환 후, 첫 번째 비트만 0으로 바꾸고, 16진수로 변환한다.
3. 멀티캐스트 IP 주소의 세 번째와 네 번째 바이트는 그대로 16진수로 변환한다.
<br>
## 멀티캐스트 프로토콜의 종류
![[Multicast_Protocols.png]]
- RPF 확인 기능을 위해서 유니캐스트 라우팅 프로토콜이 반드시 필요하다.
- 즉, 유니캐스트 라우팅 프로토콜이 동작해야만 멀티캐스트가 동작한다.
<br>
## RPF 확인
- 멀티캐스트 네트워크를 구성하기 전, 유니캐스트 라우팅 프로토콜이 동작해야 한다.
- 이는 멀티캐스트 패킷의 루프(loop) 방지를 위해서다.
- 멀티캐스트는 루프 방지를 위해 **RPF(Reverse Path Forward)** 확인을 한다.
패킷의 목적지 IP 주소를 참조하여 라우팅시키는 유니캐스트 라우팅 프로토콜과 달리 멀티캐스트는 패킷의 출발지 IP 주소를 참조하여 RPF 확인을 한 다음, 목적지 IP 주소를 참조하여 멀티캐스트 패킷을 라우팅한다.
<br>
## Source Tree와 Shared Tree
![[Multicast_Tree.png]]
- 멀티캐스트 패킷을 전송하는 경로는 Source Tree(S, G)와 Shared Tree(\*, G)가 있다.
- **Source Tree**는 Multicast Server에서 Host까지 최단 거리로 연결하는 경로 - **SPT(Shortest Path Tree)**
- 가장 최단 경로를 routing table에서 lookup
- 경로가 중첩될 경우, IP 주소가 가장 높은 것을 우선한다.
- PIM-DM, PIM-SSM
- **Shared Tree**는 RP 라우터를 통하는 경로 - **RPT(Rendezvous Point Tree)**
- RP는 멀티캐스트 소스(서버) 정보를 등록하는 곳
- 멀티캐스트 소스는 RP로 트래픽을 전송하고, 호스트는 RP로부터 수신한다.
- PIM-SM에서 처음 하나의 패킷은 Shared Tree를 통하고, 두 번째 패킷부터는 Source Tree를 통하여 전송된다.
- Birdir-PIM
<br>
# Links
[[_MOC_2_Network]]
<br>
# Tags
#network #protocol