0923_IP Multicast

주영민·2024년 9월 23일

Multicast

  • sending same data to Multiple receivers
  • reciver address를 몰라도 된다.

Multicast Disadvantages

  • Multicast is UDP Based (UDP 기반)
  • 전송을 하는 과정이 중요하다(Best Effort Delivery)
용어 Flow Control의 한가지 "Slow-Start"
UDP Sequnence Packet 확인해볼것
  • PIM (Protocol Independent Multicast)

224.0.0.0 : TTL 1로 전송
224.0.0.1 : all multicst systems on subnet
224.0.0.2 : 모든 (Router) L3 장비

  • Global scope : 224.0.1.0-238.255.255.255
  • Limited scope : 239.0.0.0 - 239.255.255.255
    239.x.x.x : Muticast 의 사설IP

MBone 망 : Multicast BackBone (현재는 사라짐)

  • Group : Multicast Address
  • Group Range : 233.0.0.0 - 233.255.255.255(GLOP)

Multicast Routing Protocols

Multicast Distribution Trees

SPT : Shortest Path (Source Distribution Tree = source Tree)

-> 소스에서 멀티캐스트를 전송하였을때 소스를 기준으로 가장 가까운 경로로 트리를 구성하여 패킷이 전송되는 것

  • 멀티캐스트는 하나의 인터페이스로 하나의 패킷만 전송할수 있다.
    -> NOtation: (S,G)

SDT : Shared Distribution Tree

-> ST라고 명칭하는건 대부분 SDT를 지칭한다.
-> (RP) PIM Rendezvous point
-> 모든 멀티캐스트는 RP를 통해서 전달이 된다.
-> Notation:(*,G)

Protocol

PIM (SDT,SPT 둘다 사용 가능)
DVMRP (SPT만 사용, 현재는 거의 사용하지 않음)
MOSPF (SPT만 사용, 현재는 거의 사용하지 않음)
CBT (SDT만 사용, 현재는 거의 사용하지 않음)

Multicast Forwarding

Unicast 와 Multicast
RPF(Reverse Path Forwarding)를 이용하여 Multicast routing
RPF Unicast 기술 : 루즈모드 / 스태틱모드

RPF(Reverse Path Forwarding)

IIF : RPF를 체크 후 성공하면 포워딩한다.
OIL(Outgoing interface list) : RPF를 체크 후 실패하면 드랍한다.
-> IIF OIL로 포워딩 할수 없으므로 OIL에 등록될수 없다.

Multicast Routing Protocols

Dense-Mode

-> Push
멀티캐스트가 전체로 플로딩 한다.
원하지 않는 곳에서 Pruned 메세지를 받으면 전송하지 않는다.
3분에 1번씩 재전송

Sparse-Mode

-> Pull
Explicit Join 방식

DVMRPv3 (Dense-Mode)
MOSPF (Denst-Mode)
PIM-DM (Denst-Mode)
CBT
PIM-SM

PIM-DM

PIM(protocol independent Muticast)
-> 작은망 or 임시, 테스트망에서 사용

PIM-DM Flood & Prune

  1. RPF Check
    Best-Path가 같으면 인접한 Neighbors 중 IP Addr이 높은 쪽을 우선시한다.
  • Prune 메세지를 보낸 후 바로 전송을 안하지 않고 3초동안은 Multicast를 전송하고 3초 후에 전송하지 않는다.
  • (S,G) Table Aging Time : 3분
  1. Prune Message 전송
  2. Prune Message 받은 후 3초 동안 Multicast 전송
  3. 성공하면 전송 실패하면 드랍
  • 한 인터페이스로 한개 이상 전송할수 없으므로 서로 같은 주소로 정보가 들어오면 AD와 Metric 값을 비교 후 우선순위로 전송하다.

PIM-SM

  • 명확하게 요청한 곳에만 정보를 전달한다.
  • source and shared tree
SSM기술 ( Source Tree만 사용한 SDP)

Frist Home Router : source가 처음 들어오는 Router
-> registered
Last Home Router : Destination 으로 마지막으로 나가는 Router
-> Join

PIM-SM Shared Tree Joins

Shared Tree

1.IGMP로 OIL 테이블생성(*,G)
2.RP의 경로를 찾음
3.RPF Check
4.IIF를 확인

Source에 대한 정보가 다이렉트커넥트일경우 FHR(First Home Router)로 인지함.

  • (S,G) 생성 후 (*,G)도 OIL 테이블에 생성

Unicast(Multicast)로 RP로 전달후 인캡슐레이션한다(Registring)

  • 자동으로 터널인터페이스가 생성된다.
    -(S,G)가 생성되면 Source 쪽으로 Multicast를 전송한다.

registre Stop명령어를 통해서 Unicast 통신을 끊는다.

(S,G)와 (*,G) 정보가 같이 있으면 (S,G)를 우선시 한다.

-> (*,G)에게는 Prune Message를 보내서 경로를 끊는다.

RP-Prune Message (1분에 1번씩 전송) 를 전송 받을땐 (S,G) 테이블을 유지 한다.

PIM-SM

Mroute Table
(*,G) -> RP에 대한 RPF Check

(S,G) -> Source에 대한 RPF Check

  • RPF Neighbor
  • OIL :어떤 인터페이스로 보내야하는가에 대한 정보

(*,G) 생성시기

(*,G) Join or IGMP Reprot 를 받은경우 생성된다.

(S,G) 를 받으면 RP를 찾기 위해서 자동으로 생성된다.
shared-Tree

생성 후 RP를 찾는다
RP를 찾지못하면 DROP
IIF = RPF interface toward RP neighbor
OIL

  • OIL가 NULL상태에서 (S,G)도 존재하지 않을때 (*,G)가 지워진다.

(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

PIM-SM Joining

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 로 통신하게 된다.

각 인터페이스는 다른 MODE로 동작할수 있다.

경로가 변경되더라도 Traffic이 정상적으로 동작하기 위해 (*,G)로 들어오면 RP까지 경로를 찾아 OIL에 등록한다.

SPT Thresholds 값은 0 or infinity 만 사용하기 권장한다.

Rendezvous Points

  • Auto-RP
  • PIMv2 BSR
  • Anycast RP

Auto-RP

-> CISCO 전용 (하지만 대부분의 장비들이 호환됨)
Candidate RPs (자기가 RP라고 광고하는 장치)
Mapping Agents (광고한 RP를 전달하는 장치)

  • Cisco-Announce - 224.0.1.39
  • Cisco-Discovery - 224.0.1.40
    -> Dense Mode에서만 동작한다.
    Admin-Scoping : 기본적으로 TTL 값은 255로 Set
    60 sec 마다 광고
    Holdtime : 3회 동안 반응이 없을 경우
    Configuration
    ip pim send-rp-announce scope [group-list acl]
    -> 일반적으로 TTL 16으로 Set
    -> ACL deny일 경우 RP를 하지 않는다는 의미

Mapping agents

longest match -> Addr값이 높은쪽
180 sec 정보가 없으면 사라진다.
Mapping Cache 를 기반으로 Group-to-RP Mapping 한다.
일반적으로 TTL 값은 255로 Set

profile
시스코아카데미_주영민

0개의 댓글