王朝百科
分享
 
 
 

IP组播

王朝百科·作者佚名  2010-01-02  
宽屏版  字体: |||超大  

IP组播(IPmulticasting)是对硬件组播的抽象,是对标准IP网络层协议的扩展。它通过使用特定的IP组播 地址,按照最大投递的原则,将IP数据报传输到一个组播群组(multicastgroup)的主机集合。它的基本方 法是:当某一个人向一组人发送数据时,它不必将数据向每一个人都发送数据,只需将数据发送到一个特定的 预约的组地址,所有加入该组的人均可以收到这份数据。这样对发送者而言,数据只需发送一次就可以发送到 所有接收者,大大减轻了网络的负载和发送者的负担。

1.概念:多播是对需要接收该流量的客户端发送的一组数据,是一种无害的广播。

2.优点:不影响不接收该多播数据的主机,能够节约网络带宽,降低主机处理负担。

3.多播地址:224.0.0.0--239.255.255.255,没有像单播ip段那样有广播地址和网络地址之分了。

具体:224.0.0.0--224.0.0.255 本地保留,给知名协议使用,ttl=1。其中224.0.0.1是本网所有主机接收,224.0.0.2是本网所有路由器接收。

239.0.0.0--239.255.255.255 私有组播地址。

232.0.0.0--232.255.255.255 特定源多播。

4.多播的MAC地址结构:

01005E,固定的16进制位,后接一固定的比特位0,再其后就任意了。

ip与mac的映射,例:

ip地址 229.147.109.235

划成bit 11100101.1 / 0010011.01101101.11101011

多播mac结构 01005E "0" / ..........(斜杠后23位与上面对应)

得出: 01005E136DEB 为ip229.147.109.235对应的组播mac地址。

从例子可知,32个多播地址映射成一个mac地址,所以在部署一个网络时要措开使用ip多播地址(变尾部)

5.多播源分发树和共享分发树

源分发树,保证目的到达源的路径最短,但要为每一个多播源保持一棵树,CPU使用率高。

共享分发树,要选RP,能保证目的到RP最近,不用为每一个源保持一棵树,而共同保持一棵以RP为根的树即可,这样节约了设备资源,但是不能再保证到源的路径最近了。(源发向rp的多播以单播ip in ip的形式)

6.RPF(反向路径转发)

RPF检查的原理:路由器在单播路由表中查找源地址以确定数据包到达的接口是否位于返回信源的的反向路径上,如果是则RPF检查成功,如果不是则标记“RPF失败丢弃”并丢弃数据包。简单来说就是根据去的数据路由表项来检查回来的包,确定去回在一线上。

作用:对于多播,能防止环路(多播RPF检查是默认开启且不能关闭的);对于单播,能防止IP欺骗攻击(需要手工配置RPF检查)

7.多播在设备中的交互

(1)多播路由协议(路由器之间的交互):主要有mospf,dvmrp,pim这三个。

前面两种协议需要建立自己的多播路由表。大多数路由器只支持pim。

PIM,协议无关性,它不需要建立自己的路由表,关心的只是路由器中有没有单播路由表,无论这个单播表项是怎样建立的,通过怎样的路由协议。

PIM MODE:PIM DM(密集模式,使用源分发树),

PIM SM(稀疏模式,使用共享分发树),

PIM SDM(稀疏密集模式,先尝试使用共享树,找不到RP再切向源分发树)

PIM DM,用于用户密集的情况,如果存在着没有要求多播的路由器则将其“裁剪”,如果存在着后来接入又需要多播的路由器则将其“嫁接”!

PIM SM,用于用户分散的情况,只有一棵树,初始为空,只有路由器发起要求才建立分支。这种模式存在着第一个到目的的数据包会触发目的向源发送一个单播形式的该数据,如果到源的路径好过走rp的路径则自动向最佳路径切换。

PIM SDM,使用最多的模式,效率最高。

rp的选举问题,三种方式:手工指定,auto rp(cisco only),BSR自举路由器(只有pim v2支持)

配置:

(config)#ip mutilcast-routing

(config-if)#ip pim 模式

密集模式的配置:

(config-if)#ip pim dense

稀疏模式的配置:

静态: (config)#ip mutilcast-routing

(config-if)#ip pim sparse

(config)#ip pim rp-add x.x.x.x

(config)#ip pim spt-thresheld infin / 具体值 指定向源切换的界限

auto: 定义候选者,(config)#ip pim send-rp-amounce 接口 scope ttl值(定义边界) group-list 访问列表

定义映射代理,(config)#ip pim send-rp-discovery scope ttl值

指定模式,(config-if)#ip pim sp-de mode

注意,要224.0.1.39和224.0.1.40一对组播地址支持rp选举:

rp映射代理发往rp候选者用224.0.1.40

反过来,用224.0.1.39

BSR:(config-if)#ip pim 1 / 2 更改pim版本号,bsr只支持2

(config-if)#ip pim bsr border 定义多播边界

(config)#ip pim rp-candidate 接口 定义rp候选者

(config)#ip pim bsr-candidate 接口 定义bsr

这里,bsr用224.0.1.13向候选者通告,候选者用单播回应bsr。

sh ip mroute; sh ip pim int; sh ip pim nei;

sh ip pim rp; sh ip pim bsr; sh ip pim map.

(2)IGMP(Internet组管理协议)处理pc和router的交互。

三个版本:

igmpv1:report(pc发出,地址255.1.1.1,ttl=1),query(router发出,发项0.0.0.0,60秒一次,120s没收到report回应则停止向该pc发组播)。

igmpv2:在v1基础上增加了一个leave消息,query消息的作用就变成了防止pc意外离开(没有leave消息,不被router所知)。

igmpv3:可以对信源地址做控制了,选择pc需要的特定多播。

另外还有一个igmpv3lite,是cisco私有的过渡方案,目的是让程序员能立刻编写ssm。

(3)switch的多播处理:cgmp和switch snooping

CGMP:思科私有协议,运行于思科交换机与思科路由器之间,让交换机能够通过路由器给出的消息间接支持组管理。

流程大致是:pc发igmp告知路由器我需要什么多播,如果路由器就直接把多播传入则经过交换机的时候会被交换机发向与该pc一个vlan的所有主机,router需要将该多播的mac通告交换机,让其明白多播具体该发向哪,并建立一个多播的转发表。

IGMP snooping:公有协议,只要交换机单独运行即可。它是靠帧听igmp report来建立多播转发表的。所以对于2层交换机,因为看不到3层信息,所以要监听每一个组播帧,从中发现igmp成员报告,这样加大了cpu等资源的使用,比较不利;而对于3层交换机,能够看到3层信息,可以识别igmp成员报告,只要处理igmp流即可,所以负担轻。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有