224.0.0.0 : TTL 1로 전송
224.0.0.1 : all multicst systems on subnet
224.0.0.2 : 모든 (Router) L3 장비
-> 소스에서 멀티캐스트를 전송하였을때 소스를 기준으로 가장 가까운 경로로 트리를 구성하여 패킷이 전송되는 것
-> ST라고 명칭하는건 대부분 SDT를 지칭한다.
-> (RP) PIM Rendezvous point
-> 모든 멀티캐스트는 RP를 통해서 전달이 된다.
-> Notation:(*,G)
PIM (SDT,SPT 둘다 사용 가능)
DVMRP (SPT만 사용, 현재는 거의 사용하지 않음)
MOSPF (SPT만 사용, 현재는 거의 사용하지 않음)
CBT (SDT만 사용, 현재는 거의 사용하지 않음)
Unicast 와 Multicast
RPF(Reverse Path Forwarding)를 이용하여 Multicast routing
RPF Unicast 기술 : 루즈모드 / 스태틱모드
IIF : RPF를 체크 후 성공하면 포워딩한다.
OIL(Outgoing interface list) : RPF를 체크 후 실패하면 드랍한다.
-> IIF OIL로 포워딩 할수 없으므로 OIL에 등록될수 없다.
-> Push
멀티캐스트가 전체로 플로딩 한다.
원하지 않는 곳에서 Pruned 메세지를 받으면 전송하지 않는다.
3분에 1번씩 재전송
-> Pull
Explicit Join 방식
DVMRPv3 (Dense-Mode)
MOSPF (Denst-Mode)
PIM-DM (Denst-Mode)
CBT
PIM-SM
PIM(protocol independent Muticast)
-> 작은망 or 임시, 테스트망에서 사용
Frist Home Router : source가 처음 들어오는 Router
-> registered
Last Home Router : Destination 으로 마지막으로 나가는 Router
-> Join
1.IGMP로 OIL 테이블생성(*,G)
2.RP의 경로를 찾음
3.RPF Check
4.IIF를 확인
Source에 대한 정보가 다이렉트커넥트일경우 FHR(First Home Router)로 인지함.
Unicast(Multicast)로 RP로 전달후 인캡슐레이션한다(Registring)
registre Stop명령어를 통해서 Unicast 통신을 끊는다.
(S,G)와 (*,G) 정보가 같이 있으면 (S,G)를 우선시 한다.
-> (*,G)에게는 Prune Message를 보내서 경로를 끊는다.
RP-Prune Message (1분에 1번씩 전송) 를 전송 받을땐 (S,G) 테이블을 유지 한다.
Mroute Table
(*,G) -> RP에 대한 RPF Check
(S,G) -> Source에 대한 RPF Check
(*,G) 생성시기
(*,G) Join or IGMP Reprot 를 받은경우 생성된다.
(S,G) 를 받으면 RP를 찾기 위해서 자동으로 생성된다.
shared-Tree
생성 후 RP를 찾는다
RP를 찾지못하면 DROP
IIF = RPF interface toward RP neighbor
OIL
(S,G) 생성시기
Prune Message를 받았을 경우
(S,G) Join 이 되었을 경우
Register Process
(*,G)가 생성되었을때
RP-bit set
(S,G)는 Time-out 되면 사라진다.
OIL 은 Prune Message를 받으면 사라지지만 (S,G)로 생성된 OIL은 삭제되지 않는다.
Timer Reset(to 3 min)되면 사라진다.
S = Sparse
C = Directly Connected Host
-> IGMP Report로 생성되었을때
L = Local(Router is member)
-> Local에서 수동으로 생성
P = Pruned
-> 모든 인터페이스가 OIL에 속해있을때
T = Forwarding Via SPT
-> T가 생성된 것을 확인해야한다.
J = Join SPT
-> SPT-Threshold
F = Register/First-hop
-> Source가 Direct로 연결되었을 경우
(*,G)에 생성된다.
R = RP bit
IGMP Report (S,G)로 전달한다.
-> (,G)를 생성
-> RP를 찾는다(RP를 찾지 못하면 DROP)
-> RP로 (,G) Join 한다
-> RP 에서 Last Home Route 까지 Shared Tree를 생성한다.
Source에서 Mcast(Multicast Packets)를 보내면 (S,G)를 생성한다
-> RP를 찾기 위해 (,G)를 생성 후 RP를 정보를 받아온다
-> unicast로 보내면서 Registering 상태가 된다.
-> Shared Tree 를 생성하면 (,G)정보가 (S,G)로 Copy된다.
-> RP에서 (S,G) Join 정보를 보낸다.
-> (S,G)로 생성된 OIL는 (*,G)로 Copy되지 않는다.
-> OIL 에 정보가 학습되면 Prune 상태가 사라진다.
-> Prune 상태가 사라지면 Multicast 로 통신하게 된다.
-> CISCO 전용 (하지만 대부분의 장비들이 호환됨)
Candidate RPs (자기가 RP라고 광고하는 장치)
Mapping Agents (광고한 RP를 전달하는 장치)
longest match -> Addr값이 높은쪽
180 sec 정보가 없으면 사라진다.
Mapping Cache 를 기반으로 Group-to-RP Mapping 한다.
일반적으로 TTL 값은 255로 Set