组播
更新时间:2024-06-08 22:50:01 阅读量: 综合文库 文档下载
Multicast --------------
首先我们来看两个概念,每次说到这有很多朋友就会问我组播和多播的区别,其实这就是一个概念。叫法不一样。
其实像组播我们已经早就涉及到了,在IGP中像rip(v2),ospf,eigrp。它们都是组播更新。 我们接着往下看三个单词,unicast,broadcast,multicast。
那么我们想一个问题首先我们路由更新用单播行不行,以ospf为例它能不能用单播了?答案是肯定可以的,但是为什么不用了,很简单配置太复杂,因为你要像BGP一样去指邻居。那么广播也是可以的,但是我们也不用,因为广播带有受迫性,所有人都要收到这个广播信息,不管你要不要你都要收到,这样会照成网络的一个不安全,还有什么CUP开销啊等等。 那么单播,广播都不能用那么组播的优势就体现出来了。 --
1:首先配置组播不需要配置任何一个neighbor命令,它自动去发,在就是它有一个组的概念(group)。比如ospf 它是组播地址224.0.0.5,你只有加入了这个组你才能识别。像PC收到了这个消息直接lost。
幻灯片上面写的很多多播好处,
2:像一个原多个接收者像视频会议。 3:然后节约带宽。 看下幻灯片吧
上面的是单播我下面有三台主机那么我的原就要发三份信息。而组播我只用发一份就OK了。这样就节约了带宽,而且对于原的也节约了开销。 4:当接收者不知道不知道在哪里的时候,(幻灯片叫接收者未知的情况下),如果你用单播就麻烦了,因为你要指邻居,没有邻居关系什么都做不了,广播发的全网到处都是。组播我直接网这个组法就行了,我根本不需要知道你在哪。 5:同时性,(很简单单播肯定有个先后顺序,多播的话我只需要发送一个包),像比较重要的比如在证券业里面,单播肯定不行。
---------------------------------------------------------------------------------
Multicast的缺点:
多播属于UDP,属于数据层面。当你构建了多播后它的流量都是UDP的。但是我们一般多网络进行控制都属于控制层面。
那么在这个地方我首先引出一个概念PIM,他就是我们多播里面的控制层面。多播路由协议。 1:没有ACK。
2:没有拥塞避免机制。这是相对于TCP的滑动窗口来说的。各位还记得滑动窗口是啥意思不?想不起来自己翻原来的笔记。 3:无序的传输,(所以要通过一个RTP来保障)其实前三种问题就是UDP自身的问题 4:多播有可能会照成一个点收到多份,也就是重复报文。(这个以思科官方经典例子来说:用组播命令一辆tank右转90度攻击一个目标,那么收到两份相同的指令效果就不言而喻了吧)
----------------------------------------------------------------------------------------- 多播的应用类型:
1:一对多(一个原然后多个接收者)
2:多对多(视屏会议,自己原和目的来回切换) 3:多对一(城市监控,老式电视里面的画中画)
------------------------------------------------------------------------------------------- 多播专用名词:
First-hop:第一跳路由器
Last-hop:最后一跳路由器,有些书上也翻译为叶子(leaf)路由器,(一棵树它的最末端就是叶子,我觉得老外说的很形象)
这张图基本上描述出了多播的三大块。
那么我们学习多播是从下往上来学习的,先看IGMP(它主要作用是要确定最后一台路由器下面是否有接收者)。
不知道各位还记得ospf协议中还有一个6类的LSA没?它就是ospf来传多播流量。
这张图在老版的TCP/IP中说的比较有意思,等哥把整篇全部看完了书上告诉我们,学完DVMRP,MOSPF,CBT你基本上用不到,那你写上去干嘛了?但是提醒各位同学主要是要把PIM学好,如果各位将来想考ISP的CCIE那么就会用到MBGP。
------------------------------------------------------------------------------------------------- 多播地址:
回忆一下ABC类地址: A:0---127 B:128----191 C:192-----223
D类地址多播地址224.0.0.0---239.0.0.0 我们分析下D类地址和ABC三类区别。
首先在接口上我们可以配置ABC三类地址,但是在接口上是配不上多播地址的,其次ABC三类地址既可以作原,又可以作目的,但是多播地址只能做目的。
这块稍微说下,1和2都好理解,3私网地址,这个和我们ABC三类地址一样的,可以在下面私下的用但是不能和公网组播地址互通。 1 :保留的我们经常用,224.0.0.0/24 224.0.0.1/24 代表所有的主机和路由器。
224.0.0.2/24 代表所有的路由器,PC这会就不认识了。 224.0.0.(5和6/)24 OSPF协议 224.0.0.9/24 rip版本2协议 224.0.0.10/24 eigrp协议
224.0.0.13/24 PIM发送组播hello包地址 -----
2 :224到238公网里面有两块已经是被固定下来了,分别是SSM(制定原多播,这是一种协议,这种协议是PIM的一种高级协议,各位对ISP的IE感兴趣就去看看吧,我们这就不多说了,它的地址是232.0.0.0/8)。另外一种是GLOP地址是233.0.0.0/8(其实GLOP很有意思当我们申请一个AS号那么就会附送一段多播地址,亲!买一送多哦)。算法是这样滴哥教你们:比如你申请的 AS 65123=0xFE 63(转16进制)
254 99(然后分别把FE和63从16进制转成10进制)
结果就是233.254.99.0/24 。那么你申请的AS 65123送你多播地址就是233.254.99.0/24 -----
3:私网239.0.0.0/8。私网地址就没啥好说了。
---------------------------------------------------------------------------------------
IGMP--internet group management protocol 路由器和PC之间通信的。
版本有三个V1 V2 V3。重点是V2 -------
这张幻灯片我找了你好久好久,在此杨老师非常鄙视某些网站为了赚取利润把组播以及BGP还有IPV6等等幻灯片里面的内容大幅删减,然后想达到加价卖完整版的目的。
V1只有两种报文,一种查询包,另一种回应报告包。
查询包一般都是每60秒发一次,都是路由器向下发送查询组播地址是224.0.0.1。 TTL=1也就是只能在本链路上可以传。
报告包,PC报告路由器我可以加入某个组。然后回应224.1.1.1。
PC的这个回应包,有两点好处,就是这个多播地址不仅让本组的路由器知道也让其他PC知道。也可以让其他的组内PC抑止掉其他组传过来的查询报文。回应包一般是10秒时间。 Report报文两个具体的用途,首先充当一个ACK,再就是主动告诉路由器,PC这会加入到哪个组。(看下面的PPT)
还有一个消息要说就是。leaving a group消息,IGMP v1我们也称为静悄悄的离开,180秒内只要组内没有回应消息路由器就不会再理会这个信息,没有表象。其实这种不好。 Cisco原版PPT是这样解释的: 1路由器周期性的发送查询包。
一个路由器收到多播报文只能有一个接口。
那么我们如何确定这个数据包从哪里进来,靠的就是反方路径转发(RPF)。 RPF校验,
多播流量传下来和我单播返回信息的接口不一样那么RPF的校验就失败了看张图。
这个图说的很清楚,多播流量是从S0口传下来的,但是下面路由器和上层原通信是从S1口走的,也就是下来和回去的路径不一样,这样RPF校验就失败了。
我们再换一种方式去想想,当S1,S0,S2口都发了多播流量那么谁是RPF转发接口了?很明显S1口,其他接口收到这个多播信息直接就丢弃,只有S1口收进来,然后从E0口发出去。
接下来我们再看一个图。
这就是RPF接口的选举规则。扩展下如果运行OSPF的话那么信息会从E0口走,那么这会FR这边就不会走任何信息,我们可以规定一些组的信息走FR,达到负载分担的效果。
实际做法:第一通过改metric值可以搞定。
第二写多播静态路由,它的目的仅仅只是让你选择一个RPF接口,不做多播转发。
“注意 这个地址写的是源地
址,一定要和我们原来的静态路由写法要区分开来”。 那么静态多播地址的AD是多少了?
是0。
这个命令一旦写上那么就会从S0口走,因为S0口的AD是0。
基于目标组来做负载分担,这个就做不了了,再次申明它只选择RPF接口,我们后面会做PIM可以搞定。--------再啰嗦一句做多播的时候IGP一定要通。
---------------------------------------------------------------------------------------------------- 讲下multicast的树形结构。 1:源树,也就是spt最短路径。 2:共享树,RPT
原树,最短路径树====一个源一棵树。
这是原1的。源树的好处就是每个源一棵树并且是路径最短。坏处就是多个源就会多颗树,每台路由器上面都要保留S(源),G(目的)信息,对路由器的内存开销太大,网络大了就问题多了。其实啊 这个就是我后面会说到的dense模式。一会讲大家别急~~~。 共享树,RPT
我们在网络中找见一个集合点。
这个图上D就是RP也就是集合点,那么我们的源1和源2都是先发像RP。然后由RP向下发多播流量。
那么针对最后一跳路由器来说C和E 来说我们不知道源在哪里,但是我们知道组。那么C和E上只会有*和G。
其实还有一个问题就是源到达最后一跳路由器的路径不见得是最优的,我们在PIM解决。 这个图是源树和共享树的结合属于spare模式。
-------------------------------------------------------------------------------------------------------------
终于到PIM了,不容易啊。
PIM(protocol independent multicast--协议无关的多播,这个协议指的是IGP协议)
两种模式,sparse稀疏模式 Dense密集模式 ----------------
先看一个dense模式,这个比较简单我们先看。 原理很简单就是push(推),当在网络中有很多接收者,就是我的这个路由器先把这些多播信息全部推下去,我不管你接收者在哪。 Dense模式------push------源树spt。
这张图就是标准的push模式,左边的源这会不知道接收者在哪里,那么我就把组播流量全部推下去。
有些路由器下面没有接收者然后就有一个prune (修剪)信息回传给源。
当源向下推所有信息的时候只有下面的路由器才能收到report,上面的不会收到,也就是没有组员,但是他会周期的3分钟时间再发。密集模式哥总结一句话就是“先泛洪后修剪”。
原来我们讲过hello的时间和死亡时间的对应关系一般都是3倍hello时间,ospf特例是4倍hello时间,PIM更加特殊是3.5被的时间也就是105秒。 选举DR方式先看优先级较高的,在看IP地址较高。
优先级DR调高这个地方是可以抢占的,S代表可以更新,默认都是S最常见。B属于高级的PIM协议,双向PIM。
N早期的路由器根本就没有hello优先级那么会用N代表。 -------------------------------------------------------- 通过实验来看dense:
R1和R5模拟成PC,R1为源R5为目的。
多播源为224.1.1.1。然后把pc5加入到这个组。
好开始实验:先运行IGP,因为RPF要校验。
12,,23,36,34,都要宣告进IGP,45网段不需要宣告进IGP因为我们可以直接在pc5上指网关(45.45.45.1)就行了。 做完IGP后我们在PC5上 ip default-gateway 45.45.45.1 接口上interface Serial1/0
ip igmp join-group 224.1.1.1(把PC5加入到224.1.1.1.这个组) 剩下的R2,R3,R4,R6上运行 ip multicast-routing 打开多播模式 interface Serial1/0
ip pim dense-mode运行PIM里面的dense模式。(友情提示R2的S1/0口和R4的S1/1口一定要加入不然多播就不会传下去也不会有report传上来) 当全部做完后我们去R3上查看。Show ip pim neighbor 会发现R6是DR,原理很简单和ospf一样的, “优先级如何改,
interface FastEthernet0/0 ip pim dr-priority 3”
改完后在R6上查看会发现R3是DR了。 也可以查看 show ip pim interface
r3#sh ip pim interface
Address Interface Ver/ Nbr Query DR DR Mode Count Intvl Prior
23.23.23.2 Serial1/0 v2/D 1 30 1 0.0.0.0 34.34.34.1 Serial1/1 v2/D 1 30 1 0.0.0.0 36.36.36.1 FastEthernet0/0 v2/D 1 30 3 36.36.36.1 看下多播接口信息。
最后我们去PC1上测试下ping 224.1.1.1这个组播地址。
要是在PC1上看见这个结果就代表组播通了,大家可以看当我ping224.1.1.1的时候是有一个45.45.45.2回应的,这个地址其实就是PC5.(多播默认只ping一个包)。 这个要是OK啦我们就让PC1一直ping 224.1.1.1 repeat 999 然后去R2:
这是一个重点,我们第一次看多播路由表,留意接口的模式dense。然后留意多播流量从哪些接口发进来,从哪些接口发出去。但是我们发现上面有个问题运行的是dense模式那么只有S *G,为什么会有* G,大家不要慌这其实是一个规范而已,只要是运行一个源树就会立即生成一个共享树,只不过这个共享树是不会做多播转发的。
-------------------------------------------------------------------------------------------------------------------- Sparse稀疏模式:
Sparse--pull---spt模型和RRT模型(源树和共享树)sparse模式是一种源树共享树来回切换的模式。
拉流量,简单说,我这下面有组员我的多播流量才会下来,我下面没有组员多播流量就不会下来。
Sparse模式的配置方式其实比较简单。
首先刚才所有做了ip pim dense-mode接口上改成ip pim spares-mode就行。 然后做RP。方式一共三种。 1、Static
2 auto-RP(思科私有,类似于IGP自己学习) 3 BSR (各位到ISP 的CCIE再说吧) ---------
第一种静态指RP。
R3指为RP:那么就直接用R3上的回环接口为RP,还有要把R3的环回口通告到IGP协议
中,原因很简单最好不用真实接口。 接着r3(config)#ip pim rp-address 3.3.3.3 r2(config)#ip pim rp-address 3.3.3.3 r6(config)#ip pim rp-address 3.3.3.3 r4(config)#ip pim rp-address 3.3.3.3 --------------------------------------------
做完这个后我们可以发现其实R3----R4----R5之间的共享树已经形成。那么我们去所有路由器上清理一下#clear ip mroute * 再去R3上查看:
上面是打S的,也就是sparse。而且已经有组源了从S1/1接口走。 然后在PC1去ping224.1.1.1
-接着
然后我们去看多播路由表。
然后我们去第一跳路由器R2查看
R3上查看
这点和dense完全不一样,dense里面outgoing是全部列举出来,而sparse模式出接口只有一个。这个它们的原理是同理的。这会我们想想dense下面如果有很多出口那么在路由器上还是非常消耗资源的。而sparse模式显示的接口只有下面有report信息才会显示。
正在阅读:
组播06-08
2017年江苏省中考数学模拟试卷(5月份)(解析版)03-08
教育的重要性英语作文6篇02-05
最新办公室行政后勤部管理工作总结范文04-08
观看电影《忠诚与背叛》个人心得体会范文03-24
八年级物理上册第一章知识点11-30
幼儿园督学督导案例范本03-23
2019年精选初中历史七年级下册第七单元 明清时期第19课 清朝前期的兴盛川教版练习题二十二11-28
鱼儿悲喜剧作文500字06-29
父亲节哪一天02-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- loadrunner接口测试使用说明 - 图文
- 秘籍之独生子女培养方略
- 医用诊断X射线机球管技术参数 - 图文
- 方杨小学德育校本课程开发纲1
- 湘教版小学二年级美术下册《大脚丫》教案设计
- 信息技术与聋校数学课堂教学的整合课稿
- 2008-2009学年第二学期《分析化学》试卷
- 股票交易系统实习报告 北华大学
- 《人力资源总监绩效管理笔记》读书会纪要
- 华为LTE-FDD后台操作指导书 - 图文
- 银行从业资格考试《公司信贷》知识点:贷款保证风险
- 自动售货机设计方案
- 运动会通讯稿 270篇
- 建设工程开工报告
- 第二单元教材辅导
- 国际经济法概论一考通---各章选择及答案
- 出版物经营许可证
- 【配套练习】三角形全等的判定(三)ASA、AAS 跟踪练习题
- 煤矿地测组管理制度汇编
- 中学化学和现代化学科学发展的读书笔记