530 likes | 878 Views
Multicast 2. 2002 년 4 월 2 일 Jeong Ji-Woong. Outline. Introduction Overview of IP Multicast Hop By Hop Multicast End System Multicast Conclusion. What is multicast?. Delivery of Data one-to-many, many-to-many Application 인터넷 방송 ftp Video-conferencing, shared whiteboard benefit
E N D
Multicast 2 2002년 4월 2일 Jeong Ji-Woong
Outline • Introduction • Overview of IP Multicast • Hop By Hop Multicast • End System Multicast • Conclusion
What is multicast? • Delivery of Data • one-to-many, many-to-many • Application • 인터넷 방송 • ftp • Video-conferencing, shared whiteboard • benefit • Reducing network load • Reducing server overhead • Single transmission
Multicast vs Unicast Server Network Client Server Network Client
Class D address • Class D : 224.0.0.0 ~ 239.255.255.255 • Well known address • Reserved : 244.0.0.0~224.0.0.255(topology discovery,maintenance) • 224.0.0.1 : all multicast systems on subnet • 224.0.0.2 : all routers on subnet • Map into Ethernet:01.00.5E.00.00.00+lower 23bits • 224.10.8.5 → 01005E.0A0805
Fundamental algorithms • Multicast Routing algorithm • Reverse Path Broadcasting(RPB) • Truncated Reverse Path Broadcasting(TRPB) • RPB+truncated • group member를 가지지 않은 leaf로는 forwarding하지 않음 • Reverse Path Multicasting(RPM) • TRPB+prune • TRPB를 이용하여 multicast packet을 forwarding • member가 없는 leaf router는 source를 향하여 prune 메시지를 전송
Fundamental algorithms • join algorithm • Implicit join: source로부터 multicast packet이 도착 후 tree 형성 • explicit join: host가 router 또는 source를 향해 join message 를 전송함으로써 트리 형성
IP Multicast Routing Protocol • DVMRP(Distance Vector Multicast Routing Protocol) • MOSPF(Multicast Extensions to OSPF) • PIM-DM(Protocol Independent Multicast-Dense Mode) • CBT(Core Based Tree) • PIM-SM(Protocol Independent Multicast-Sparse Mode)
Source Based Tree(SBT) • DVMRP • Operation • RPM + grafting • DVMRP router 간의 주기적인 routing table update • PIM-DM • Similar to DVMRP • MOSPF • OSPF link state routing protocol에 의해서 topology 파악 • Explicit join • Drawback • 주기적인 multicast traffic이 전체 network으로 전송 • Not scalable(member 수가 증가함에 따라)
Center Based Tree(CBT) • CBT • group내의 모든 member는 같은 tree를 공유(shared tree) • Bidirectional tree • Explicit Join • PIM-SM • Similar to CBT • Unidirectional tree • source에서 RP로 tunneling • Drawback • Multicast packet을 전송할 때 delay가 커진다. • core 또는 Rendezvous Point 근처에서 bottleneck
Example • JOIN REQUEST
Example • CBT Forwarding
Outline • Introduction • Hop By Hop Multicast • REUNITE • HBH • End System Multicast • Conclusion
IP Multicast component • Service Model • 여러 Receiver들이 하나의 주소를 가지는 Group으로 Aggregate 됨 • 어떤 호스트도 Receiver들의 Group으로 전송가능 • Receiver들은 Dynamic하게 Join과 Leave가 가능 • Routing Protocol • Membership Information의 유지 • Multicast Distribution Tree의 형성
Problem of IP Multicast • 기존 Service Model의 문제점 • 일반적인 ISP의 Billing Model과 맞지 않음 • Sender를 제한할 수 있는 방법이 없음 • Globally Unique한 Multicast 주소 할당의 어려움 • 기존 Routing Protocol의 문제점 • 모든 Router는 Distribution Tree가 자신을 지나가는 모든 Group에 대한 Forwarding Entry를 가지고 있어야 함 • Incremental Deployment의 어려움
기존 Routing Protocol의 문제점 모든 Router는 Distribution Tree가 자신을 지나가는 모든 Group에 대한 Forwarding Entry를 가지고 있어야 함 Assuming Multicast Group들의 수는 많아도 대다수의 Group들은 대단히 Sparse 할 것 REUNITE
Forwarding Algorithm • Multicast Forwarding Table • Key : <root_addr, root_port, dst> • Value : <rcv1, rcv2, …, rcvn> • Branching Router에 존재 • Forwarding Algorithm • MFT에 Entry가 존재하면 Receiver List에 있는 Receiver에게 Packet을 복사해서 전송 • 단순한 Unicast Packet 처럼 전송
Tree Maintenance • Multicast Control Table • Format : <root_addr, root_port><dst> • Non-Branching Router에 존재 • Question • 결국 REUNITE도 MFT나 MCT 둘 중의 하나를 모든 Router들이 가지고 있는데 왜 더 Scalabe 한가? • Answer • Data Packet은 Forwarding 시 MFT 만을 참조 • MCT는 Tree 유지를 위한 Control 목적으로만 사용
Two Control Messages JOIN (Receiver->Root) : MFT의 Receiver Entry를 만들고 갱신 TREE (Root->Distribution Tree) : MFT와 MCT의 Group Entry를 만들고 갱신 두 가지 Control Message를 쓰는 이유 Asymmetric Unicast Routes Tree Maintenance S 1 2 R R
Advantages • Enhanced Scalability • Non-Branching Router에는 Forwarding State를 유지하지 않음 • Incremental Deployment • Unicast Address를 사용하기 때문에 Multicast가 구현되지 않은 Router가 Tree에 참여 가능 • Load Balancing • Overload된 Router는 JOIN Message를 무시할 수 있음
Advantages • Unique Group Identification • Root가 Locally Unique한 Port Number를 만들면 Globally Unique한 Group Address가 됨 • Support for Access Control • Root만이 Multicast Traffic을 Inject할 수 있기 때문에 Access Control이 용이 • Shortest Path Tree • JOIN과 TREE의 두 Message를 사용함으로써 Asymmetric Routes가 존재하는 경우에도 SPT를 구성
REUNITE’s Problem • Addressing • Group Identifier로 Class-D Address를 쓰지 않음 • Member Departure의 효과 • 첫 번째로 JOIN한 Receiver가 Deparutre할 경우 그 파급 효과가 큼
REUNITE’s Problem • Asymmetric Routes에 의한 Packet Duplication • 한 Link로 같은 Packet을 두 번 전송하는 경우가 발생 • RPF 기반 Algorithm에 비해 Cost가 클 수 있음
HBH’s Addressing • REUNITE와 차이점 • Data Packet의 Destination Address가 첫 번째의 Receiver의 Address가 아닌 다음 Branching Router의 Address • Multicast Group Identifier • EXPRESS의 Channel Abstraction을 사용 • <Source IP Address, Class D address>
HBH’s Tree Management • Three Control Messages • JOIN (Receiver->Source) : MFT의 Receiver Entry를 만들고 갱신 • TREE (Sender->Distribution Tree) : MFT와 MCT의 Group Entry를 만들고 갱신 • FUSION (Branching Router->Source) : Tree 구조를 정제 • REUNITE와 차이점 • 첫 번째 JOIN Message를 Intercept하지 않음 • 같은 Source에게 다른 TREE Message를 받으면 Source에게 FUSION Message를 보냄
HBH’s Tree Management • Member Departure의 효과 • 첫 번째로 JOIN한 Receiver가 Departure할 경우에도 작은 파급 효과 • Worst Case에는 REUNITE보다 하나 많은 Change 필요 • Asymmetric Routes에 의한 Packet Duplication • FUSION Message로 해결
Outline • Introduction • Hop By Hop Multicast • End System Multicast • Conclusion
Key Concerns with IP Multicast • group의 수에 따른 scalability • Router는 per-group state를 유지 • higher level functionality를 지원하기가 어려움 • IP Multicast : best-effort multi-point delivery service • Deployment가 어렵고 느리다
routers end systems multicast flow IP Multicast • 아주 효율적 • Good delay
B C C Overlay Tree D B A D E A F E F What is End System Multicast? • multicast와 관련된 functionality (group management, packet replication) 가 End System에서 구현
A A A B B B C C C E E D D D E F F F High latency High degree (unicast) “Efficient” overlay End System Multicast • Efficient overlay tree • low stress • low resource usage • the out-degree of each member must reflect the bandwidth of connection to Internet
End System Multicast • Self-organizing의 two component • group management component • overlay는 dynamic change와 failure 에도 robust • overlay optimization component • quality of overlay remains good
NARADA Design • First, • “Mesh”: Richer overlay that may have cycles and includes all group members • Second, • Source rooted shortest path spanning trees of mesh를 구성
NARADA Design • Group Management • 각각의 member는 주기적으로 refresh message를 발생 • Optimizing mesh quality • addition of link • member는 주기적으로 다른 member(at random)를 probe • Utility Gain of adding link > Add Threshold 이면 link 추가 • dropping of link • member는 주기적으로 existing links를 감시 • Cost of dropping link < Drop Threshold 이면 link drop • Data Delivery • NARADA run distance vector protocol on top of mesh • The per-source tree used for delivery tree are constructed from the reverse shortest path between each S and R
Supporting Conferencing app. • conference app. 의 작은 그룹 크기와 지속적인 session 의 특성은 overlay design에 적합 • framework • 각 overlay link 상에 Unicast congestion control • packet drop 정책을 사용하여 data rate를 adapt
Enhancements of Overlay Design • Optimizing Overlay for dual metric • latency 보다는 bandwidth(widest)에 더 우선순위를 부여 • 같은 bandwidth를 가진 multiple path 가 있다면, lowest latency(shortest path)를 선택 • Optimizing for dynamic metric • Adapt overlay trees to changes in network condition • Monitor bandwidth and latency of overlay links • Link measurements can be noisy • Aggressive adaptation may cause overlay instability • transient: do not react • persistent: react • Capture the long term performance of a link • Exponential smoothing, Metric discretization
Experiment Methodology • adopt following strategy • Interleave experiments with various protocol schemes • Repeat same experiments at different time of day • Average results over 10 experiments • For each experiment • 모든 member들은 동시에 join • Single source, CBR traffic • Each experiment lasts for 20 minutes
Adapt to network congestion • Reach a stable overlay • Acquire network information • Self-organization Mean Bandwidth averaged over all receivers • 처음 몇 분간 overlay는 많은 topology 변화 • overlay의 quality를 향상시키기 위해 더 많은 정보를 획득
Performance metric • Application Level Metrics • Bandwidth: throughput observed by each receiver • Latency: RTT between source and each receiver along overlay • Network perspective • resource usage • consumption of network resource of overlay tree • Overlay link RU = propagation delay • Tree RU = sum of link RU • protocol overhead • (total non-data traffic) / (total data traffic)
BW, Primary Set, 1.2 Mbps • Random’s poor performance: because of the inherent variability in Internet path characteristics
BW, Extended Set, 2.4 Mbps • Optimizing only for latency has poor bandwidth performance • no strong correlation between latency and bandwidth
RTT, Extended Set, 2.4Mbps • Optimizing only for bandwidth has poor latency performance • Bandwidth-Only cannot avoid poor latency links or long path length
Protocol overhead • Results • Average overhead : 10~15% • Overhead의 약 90% 이상이 bandwidth probe 때문이다 • Current scheme employs active probing for available bandwidth • Simple heuristics to eliminate unnecessary probes
Adapting to network dynamic • Primary Set, CBR traffic at 1.2 Mbps • parent 와 victim간에 congestion 발생
Adapting to network dynamic • Recovery time • Detection time • Reaction time • Repair time • Detection time 이 recovery time의 가장 중요한 fraction이다 • overlay 의 빠른 adapt : unstable을 초래할 수 있음 • overlay 의 느린 adapt : 일시적인 시간 동안 performance penalty
Outline • Introduction • Hop By Hop Multicast • End System Multicast • Conclusion • Summary • References