




免费预览已结束,剩余129页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,清华大学计算机系,internet组播简介,2,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,3,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,4,server,router,unicast,server,router,multicast,单播和组播的比较,5,example: audio streaming all clients listening to the same 8 kbps audio,0,0.2,0.4,0.6,0.8,traffic,mbps,1,20,40,60,80,100,# clients,multicast,unicast,组播的优势,enhanced efficiency: controls network traffic and reduces server and cpu loads optimized performance: eliminates traffic redundancy distributed applications: makes multipoint applications possible,6,组播带来的问题,best effort delivery: drops are to be expected. multicast applications should not expect reliable delivery of data and should be designed accordingly. reliable multicast is still an area for much research no congestion avoidance: lack of tcp windowing and “slow-start” mechanisms can result in network congestion. if possible, multicast applications should attempt to detect and avoid congestion conditions,组播是基于udp的!,7,组播带来的问题,duplicates: some multicast protocol mechanisms (e.g. asserts, registers and spt transitions) result in the occasional generation of duplicate packets out of order delivery: some protocol mechanisms may also result in out of order delivery of packets,8,组播的应用,multimedia streaming media, iptv training, corporate communications conferencingvideo/audio net game any one-to-many data push applications,9,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,10,ipv4 multicast group addresses 224.0.0.0239.255.255.255 class “d” address space high order bits of 1st octet = “1110” reserved link-local addresses 224.0.0.0224.0.0.255 transmitted with ttl = 1 examples: 224.0.0.1 all systems on this subnet 224.0.0.2 all routers on this subnet 224.0.0.4 dvmrp routers 224.0.0.5 ospf routers 224.0.0.13 pimv2 routers,组播地址,11,administratively scoped addresses 239.0.0.0239.255.255.255 private address space similar to rfc1918 unicast addresses not used for global internet traffic used to limit “scope” of multicast traffic same addresses may be in use at different locations for different multicast sessions examples site-local scope: 239.253.0.0/16 organization-local scope: 239.192.0.0/14,组播地址,12,32 bits,28 bits,25 bits,23 bits,48 bits,01-00-5e-7f-00-01,1110,5 bits lost,组播地址,ip multicast mac address mapping (fddi and ethernet),239.255.0.1,13,224.1.1.1 224.129.1.1 225.1.1.1 225.129.1.1 . . . 238.1.1.1 238.129.1.1 239.1.1.1 239.129.1.1,0x0100.5e01.0101,1 - multicast mac address (fddi and ethernet),32 - ip multicast addresses,组播地址,be aware of the 32:1 address overlap,ip multicast mac address mapping (fddi & ethernet),14,组播地址,dynamic group address assignment historically accomplished using sdr application sessions/groups announced over well-known multicast groups address collisions detected and resolved at session creation time has problems scaling,15,组播地址,future dynamic techniques under consideration multicast address set-claim (masc) hierarchical, dynamic address allocation scheme extremely complex garbage-collection problem long ways off madcap similar to dhcp need application and host stack support,16,组播地址,static group address assignment temporary method to meet immediate needs group range: 233.0.0.0 - 233.255.255.255 your as number is inserted in middle two octets remaining low-order octet used for group assignment defined in ietf rfc3180 glop addressing in 233/8,17,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,18,routers solicit group membership from directly connected hosts rfc 1112 specifies version 1 of igmp rfc 2236 specifies version 2 of igmp rfc 3376 specifies version 3 of igmp supported on latest service pack for windows and most unix systems,how hosts tell routers about group membership,主机和路由器的交互:igmp,19,h3,host sends igmp report to join group,h1,h2,joining a group,主机和路由器的交互:igmp,20,router sends periodic queries to 224.0.0.1,one member per group per subnet reports,other members suppress reports,maintaining a group,主机和路由器的交互:igmp,21,host quietly leaves group,h1,h3,router sends 3 general queries (60 secs apart),no igmp report for the group is received,group times out (worst case delay = 3 minutes),h2,leaving a group (igmpv1),主机和路由器的交互:igmp,22,host sends leave message to 224.0.0.2,h1,h3,router sends group specific query to 224.1.1.1,no igmp report is received within 3 seconds,group 224.1.1.1 times out,h2,leaving a group (igmpv2),主机和路由器的交互:igmp,23,igmpv3,rfc3376 enables hosts to listen only to a specified subset of the hosts sending to the group,24,source = 1.1.1.1 group = 224.1.1.1,h1 - member of 224.1.1.1,r1,r3,r2,source = 2.2.2.2 group = 224.1.1.1,h1 wants to receive from s = 1.1.1.1 but not from s = 2.2.2.2 with igmp, specific sources can be pruned back - s = 2.2.2.2 in this case,igmpv3: join 1.1.1.1, 224.1.1.1 leave 2.2.2.2, 224.1.1.1,igmpv3,25,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,26,shortest path or source distribution tree,receiver 1,b,e,a,d,f,source 1,notation: (s, g) s = source g = group,c,receiver 2,source 2,组播分发树,27,receiver 1,b,e,a,d,f,source 1,notation: (s, g) s = source g = group,c,receiver 2,source 2,组播分发树,shortest path or source distribution tree,28,组播分发树,shared distribution tree,receiver 1,b,e,a,d,f,notation: (*, g) * = all sources g = group,c,receiver 2,(rp) pim rendezvous point,(rp),29,组播分发树,shared distribution tree,receiver 1,b,e,a,f,notation: (*, g) * = all sources g = group,c,receiver 2,(rp) pim rendezvous point,shared tree,d,(rp),30,组播分发树,source or shortest path trees uses more memory o(s g) but you get optimal paths from source to all receivers minimizes delay shared trees uses less memory o(g) but you may get sub-optimal paths from source to all receivers may introduce extra delay,characteristics of distribution trees,31,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,32,组播转发,multicast forwarding is backwards from unicast forwarding unicast forwarding is concerned about where the packet is going multicast forwarding is concerned about where the packet came from multicast forwarding uses “reverse path forwarding”,33,组播转发,what is rpf? a router forwards a multicast datagram only if received on the up stream interface to the source (i.e. it follows the distribution tree) the rpf check the routing table used for multicasting is checked against the “source” ip address in the packet if the datagram arrived on the interface specified in the routing table for the source address; then the rpf check succeeds otherwise, the rpf check fails,reverse path forwarding (rpf),34,组播转发,source 151.10.3.21,example: rpf checking,mcast packets,rpf check fails packet arrived on wrong interface!,35,组播转发,rpf check fails!,unicast route table network interface 151.10.0.0/16 s1 198.14.32.0/24 s0 204.1.16.0/24 e0,a closer look: rpf check fails,e0,s1,s0,s2,s1,36,组播转发,a closer look: rpf check succeeds,rpf check succeeds!,unicast route table network interface 151.10.0.0/16 s1 198.14.32.0/24 s0 204.1.16.0/24 e0,e0,s1,s0,s2,s1,forward out all outgoing interfaces. (i. e. down the distribution tree),37,主要内容,为什么需要组播? 组播地址 主机和路由器的交互:igmp 组播分发树 组播转发 域内组播路由协议 域间组播路由协议 ipv6,38,multicast routing is not unicast routing you have to think of it differently it is not like ospf it is not like rip it is not like anything you may be familiar with,组播路由和单播路由,39,组播路由协议的类型,dense-mode uses “push” model traffic flooded throughout network pruned back where it is unwanted flood & prune behavior (typically every 3 minutes) sparse-mode uses “pull” model traffic sent only to where it is requested explicit join behavior,40,域内组播路由协议概况,currently, there are four multicast routing protocols dvmrpv3 (internet-draft) dvmrpv1 (rfc 1075) is obsolete and unused. a variant is currently implemented mospf (rfc 1584) pim-dm (internet-draft) pim-sm (rfc 2362- v2) others (cbt, ocbt, qosmic, sm, etc.),41,dense mode protocol distance vector-based similar to rip infinity = 32 hops subnet masks in route advertisements dvmrp routes used for rpf check to build truncated broadcast trees (tbts) uses special “poison-reverse” mechanism,dvmrp概况,42,dvmrp概况,dense mode protocol uses flood and prune operation traffic initially flooded down tbts tbt branches are pruned where traffic is unwanted prunes periodically time-out causing reflooding,43,dvmrpsource trees,route for source network of metric “n”,m,source network,e,x,y,a,b,c,d,poison reverse (metric + infinity) sent to upstream “parent” router router depends on “parent” to receive traffic for this source,truncated broadcast trees are built using best dvmrp metrics back to source network lowest ip address used in case of a tie (note: ip address of d c b a),mrouted,mrouted,mrouted,mrouted,mrouted,resulting truncated broadcast tree for source network,mrouted,mrouted,44,dvmrpsource trees,forwarding onto multi-access networks,network x,a,b,c,2,2,1,1,mrouted,mrouted,mrouted,route advertisement for network x of metric “n”,n,both b and c have routes to network x. to avoid duplicates, only one router can be “designated forwarder” for network x. router with best metric is elected as the “designated forwarder”. lowest ip address used as tie-breaker. router c wins in this example.,(note: ip address of c b ),45,e,x,y,a,b,c,d,dvmrpsource trees,resulting truncated broadcast tree for source network “s1”,source network “s1”,s1 source tree,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,46,dvmrpsource trees,each source network has its own truncated broadcast tree,e,x,y,a,b,c,d,note: ip address of d c b a,s2 source tree,source “s2”,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,47,dvmrpflood & prune,source “s”,receiver 1 (group “g”),truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,initial flooding of (s, g) multicast packets down truncated broadcast tree,e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,48,dvmrpflood & prune,routers c is a leaf node so it sends an “(s, g) prune” message,source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,router b prunes interface.,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,49,dvmrpflood & prune,routers x, and y are also leaf nodes so they send “prune (s, g)” messages,prune,prune,source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,router e prunes interface.,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,50,dvmrpflood & prune,router e is now a leaf node; it sends an (s, g) prune message.,prune,source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,router d prunes interface.,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,51,dvmrpflood & prune,final pruned state,source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,52,receiver 2 joins group “g”,receiver 2 (group “g”),router y sends a “graft (s, g)” message,graft,dvmrpgrafting,source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,53,dvmrpgrafting,router e responds with a “graft-ack”,sends its own “graft (s, g) message,receiver 2 (group “g”),source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,54,receiver 2 (group “g”),source “s”,receiver 1 (group “g”),e,x,y,a,b,c,d,mrouted,mrouted,mrouted,mrouted,mrouted,dvmrpgrafting,router d responds with a “graft-ack”,graft-ack,begins forwarding (s, g) packets,mrouted,mrouted,truncated broadcast tree based on dvmrp route metrics,(s, g) multicast packet flow,55,dvmrpevaluation,widely used on the mbone (being phased out) significant scaling problems slow convergencerip-like behavior significant amount of multicast routing state information stored in routers(s,g) everywhere no support for shared trees maximum number of hops 32 not appropriate for large scale production networks due to flood and prune behavior due to its poor scalability,56,mospf (rfc 1584),extension to ospf unicast routing protocol ospf: routers use link state advertisements to understand all available links in the network (route messages along least-cost paths) mospf: includes multicast information in ospf link state advertisements to construct multicast distribution trees (each router maintains an up-to-date image of the topology of the entire network),57,mospf (rfc 1584),group membership lsas are flooded throughout the ospf routing domain so mospf routers can compute outgoing interface lists uses dijkstra algorithm to compute shortest-path tree separate calculation is required for each (snet, g) pair,58,membership lsas,membership lsas,area 1,area 2,mabr1,mabr2,area 0,mospf membership lsas,59,area 1,area 2,mospf intra-area traffic,not receiving (s2 , a) traffic,mabr1,mabr2,area 0,60,mospf inter-area traffic,area 1,area 2,wildcard receivers “pull” traffic from all sources in the area.,mabr1,mabr2,area 0,61,mospf inter-area traffic,area 1,area 2,mabr1,mabr2,area 0,62,area 1,area 2,mabr1,mabr2,mospf inter-area traffic,summarized membership lsa,mabr routers inject summary membership lsas into area 0.,area 0,membership lsas,membership lsas,63,area 1,area 2,mabr1,mabr2,mospf inter-area traffic,area 0,64,area 1,area 2,mabr1,mabr2,mospf inter-area traffic,unnecessary traffic still flowing to the mabr routers!,area 0,65,area 1,area 2,mabr1,mabr2,mospf inter-domain traffic,external as,masbr,area 0,membership lsas,membership lsas,66,mospf inter-domain traffic,external as,area 1,area 2,ma,mabr1,ma,mb,mb,ma,mabr2,masbr,area 0,67,external as,area 1,area 2,mabr1,mabr2,masbr,mospf inter-domain traffic,unnecessary traffic may flow all the way to the masbr router!,area 0,68,mospfevaluation,appropriate for use within single routing domain flood multicast traffic everywhere to create state, uses lsas and the link-state database protocol dependent works only in ospf-based networks,69,mospfevaluation,significant scaling problems dijkstra algorithm run for every multicast (snet, g) pair! dijkstra algorithm rerun when: group membership changes line-flaps does not support shared-trees not appropriate for general purpose multicast networks where the number of senders may be quite large ip/tv(every ip/tv client is a multicast source),70,pim-dm,protocol independent supports all underlying unicast routing protocols including: static, rip, igrp, eigrp, is-is, bgp, and ospf uses reverse path forwarding floods network and prunes back based on multicast group membership assert mechanism used to prune off redundant flows appropriate for. densely distributed receivers located in close proximity to source few senders -to- many receivers (due to frequent flooding),71,pim-dm flood & prune,source,initial flooding,receiver,(s, g) state created in every router in the network!,72,pim-dm flood & prune,source,pruning unwanted traffic,receiver,73,pim-dm flood & prune,results after pruning,source,receiver,flood & prune process repeats every 3 minutes!,(s, g) state still exists in every router in the network!,74,pim-dm assert mechanism,e0,incoming multicast packet (successful rpf check),e0,s0,s0,compare distance and metric values router with best route to source wins if metric & distance equal, highest ip adr wins losing router stops sending (prunes interface),75,pim-dm evaluation,most effective for large number of densely distributed receivers located in close proximity to source advantages: easy to configuretwo commands ip pim dense-mode simple flood and prune mechanism potential issues. inefficient flood and prune behavior complex assert mechanism mixed control and data planes results in (s, g) state in every router in the network no support for shared trees,76,pim-sm (rfc 2362),supports both source and shared trees assumes no hosts want multicast traffic unless they specifically ask for it uses a rendezvous point (rp) senders and receivers “rendezvous” at this point to learn of each others existence senders are “registered” with rp by their first-hop router receivers are “joined” to the shared tree (rooted at the rp) by their local designated router (dr) appropriate for wide scale deployment for both de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南洛阳市洛宁县招聘看护队伍工作人员45人考前自测高频考点模拟试题带答案详解
- 2025广东韶关市浈江区社区专职工作人员招聘27人考前自测高频考点模拟试题及参考答案详解1套
- 售后人员工作总结
- 十二岁生日发言稿(15篇)
- 2025年半自动精密印刷机项目建议书
- 2025年PP改性新材料项目合作计划书
- 2025年芜湖繁昌区教育高层次人才招引25人考前自测高频考点模拟试题及参考答案详解
- 2025广西柳州市防洪办公室招聘编外人员1人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年上半年内江市部分学校公开考试招聘教师、部分事业单位公开考试招聘工作人员笔试模拟试卷附答案详解(考试直接用)
- 2025年河北地质大学选聘工作人员85名考前自测高频考点模拟试题及答案详解(夺冠系列)
- 宁乡辅警考试试卷必刷题
- 2025重庆碳管家科技有限公司招聘1人笔试历年参考题库附带答案详解
- 吊装储罐施工方案
- 尾矿库施工安全培训课件
- 2025年电工证考试题及答案测试卷测试题(答案)
- 苏少版(五线谱)(2024)八年级上册音乐全册教案
- 发改委考试题目及答案
- 细胞培养实验课件
- 高校实验室安全基础课(实验室准入教育)学习通网课章节测试答案
- 宁夏固原地区页岩气资源调查项目(宁隆参1井)报告表
- 2025年秋人教版二年级上册数学教学计划含教学进度表
评论
0/150
提交评论