转自:http://blog.csdn.net/bloghome/article/details/4682984

一、multicast概述:
 
多媒体应用集成了声音、图形、动画、文本以及视频,这种应用在现在的网络环境中也越来越多。多媒体流量在网络中主要有三种传播方式:
1、unicast (单播)
2、broadcast (广播)
3、multicast (多播)
每种传播方式对网络带宽都有不同的影响。
 
unicast会对每个客户端分别发送一份流量的拷贝,如果目的客户端数量很大,unicast不得不发送多次,这如果发生在shared链路上,带宽占用是非常巨大的。
 
broadcast只发送一份拷贝,但是所有客户端都必须停下手中的工作,去检查下这份流量是否是发给自己的,占用客户端的CPU处理时间,如果仅仅是一般的broadcast流量,因为流量都比较小,但多媒体流量的广播却会占用高达7Mbps甚至更高的带宽,这会占用几乎所有的带宽。如果客户端数量较小,这种方式显然是不合适的。
 
multicast是多媒体网络环境下最佳方式,对一组用户只发送一个数据包的拷贝。
 
 
二、multicast特性
1、多播是将数据统一发送给一个host group(主机组)
2、采用“无连接的”传输方式,即UDP,也可称为“best effort”
3、成员可随时加入退出,即动态成员管理,成员可加入多个host group(主机组)
4、成员不受数量及所处位置的限制
5、支持多host group(主机组)
6、多播发送端,即源端并不需要加入host group(主机组)
7、多播组成员不需要发送数据
 
还有几点,对比unicast来说,多播因为只发送一次数据拷贝,几乎能同时分别到达各客户端,而单播不得不由源按顺序分别多次发送数据拷贝,这样数据到达目的端是有延迟的。
 
再有,多播组成员可以保持匿名,多播因为采用的是UDP机制,这就要求在接收端需要有排错机制。
 
 
三、multicast地址
多播地址为D类地址,即224.0.0.0 - 239.255.255.255。不同于A、B、C类IP地址的是,D类地址是不分层的,无结构化的。
 
multicast地址可以是动态分配,也可是被静态指定。静态指定的地址多为well-known地址,IANA负责对这些地址进行分配,静态地址是永久的host group(主机组),它与TCP、UDP中的well-known端口号是类似的。比如224.0.0.5和224.0.0.6就是OSPF用来在DR/BDR与DROTHER之间进行数据交换的,224.0.0.10分配给了RIPv2,224.0.0.9是EIGRP专用的。
 
Description Range 
Reserved link local address 224.0.0.0 to

224.0.0.255

Globally scoped address

224.0.1.0 to

238.255.255.255

Source specific multicast 232.0.0.0 to

232.255.255.255 

GLOP address 233.0.0.0 to

233.255.255.255

Limited scope address 239.0.0.0 to

239.255.255.255 

 
 
reserved link local address:IANA分配给本地网段的网络协议的,路由设备不会将这些包转发出去,这是通过在包头中设定TTL值为1来实现的。224.0.0.1指定了所有主机,224.0.0.2指定了所有路由器。
 
globally scoped address:这些地址可在internet上进行传递
 
source specific multicast:为SSM
 
glop address:与AS绑定使用
 
limited scope address:本地as或domain内使用,路由器上应对这些地址进行过滤,一般局限在公司内,或大学内部。
 
 
四、multicast tree(多播树)
1、source distribution tree(源分发树)
2、shared distribution tree(共享分发树)
 
源分发树表示为:(S,G),例如(192.168.2.2,224.1.1.1)
共享分发树表示为:(*,G),例如(*,224.2.2.2)
 
对比:
1、源树的好处是:有最优化的路径选择,据点是当在一个有许多源及host group的网络中,会对源路由器产生巨大的影响,导致资源耗尽。
2、共享树的优点是节省资源,但从源到目的的路径并不一定是最佳的
 
 
五、PIM
PIM是ip routing protocol-independent,独立于路由协议的,但是仍然需要有路由表存在,这是防止环路的要求。
 
PIM分为sparse mode和dense mode
 
 
六、IGMP和CGMP
IGMP v1:包含组成员查询包,组成员回复包。3个60秒无回复则取消此成员
IGMP v2:新增leave report,版本2的成员查询消息,可随时脱离多播组
IGMP v3:新增版本3的组成员查询及回复消息
IGMP v3lite:思科私有协议,不具有广泛意义
CGMP用来对交换机通告多播组成员mac地址,用在router上,适合与低端交换机配合使用,思科私有协议
IGMP snooping是IETF的标准协议,用在switch上,用来侦听多播组成员mac地址,占用资源非常大,高端交换机才能应用。
 
 
七、配置multicast
 
1、ip multicast-routing
ip pim sparse-mode | dense-mode | sparse-dense-mode
 
2、配置auto-rp,思科私有协议,PIM version 1
ip pim send-rp-announce type number scope ttl group-list access-list-number  //定义rp
ip pim send-rp-discovery scope ttl //定义rp代理
 
3、配置PIM version 2
ip pim version 1 | 2
ip pim bsr-border
ip pim bsr-candidate interface hash-mask-length [priority] //代理
ip pim rp-candidate type number ttl group-list access-list-number //RP
 
 
 
八、monitoring ip multicast
show ip mroute
show ip mroute summary
show ip mroute active
show ip mroute count
show ip pim interface
show ip interface

转multicast vs broadcast的更多相关文章

  1. 802.11 对于multicast 和 broadcast的处理

    ethernet内部会有broadcast 和 multicast.这两种包都是一个STA向多个STA发包. 当没有wifi存在的时候,LAN口之间的broadcast 和 multicast是可靠转 ...

  2. 如何判断mac地址时multicast还是broadcast ?

    ethernet 的地址其实就是mac地址,长度为6 byte,其中有一位为 multicast bit 位. 当unicast/multicast bit 位置1时就是 multicast,mac ...

  3. 云计算(9)--Gossip:multicast problem

    Gossip/Epidemic ptotocol 解决的问题是multicast problem Gossip 协议是电脑之间的通信协议,受启发与现实社会的流言蜚语.现代分布式系统通常用gossip协 ...

  4. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  5. Wireshark图解教程(简介、抓包、过滤器)

    开篇语 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap netw ...

  6. Wireshark简易教程

    Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...

  7. Linux内核--网络栈实现分析(四)--网络层之IP协议(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7514017 更多请看专栏,地址 ...

  8. Linux内核--网络栈实现分析(二)--数据包的传递过程(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7492423 更多请看专栏,地址 ...

  9. Wireshark工具创建过滤器的方式

    Wireshark工具创建过滤器的方式  [实例1-3]现在要抓取目的或来源地址为192.168.5.9的封包.在图1.5中添加如下所示的条件: tcp dst port 3128 添加后单击Star ...

随机推荐

  1. LoadTestAgentResultsLateException in VS2010

    遇到报错, 首先得先仔细读读人家给的出错信息. 而不是先怀疑是自己什么地方弄错了, 胡乱修改. 比如说, 遇到下面的报错: LoadTestAgentResultsLateException    R ...

  2. 10 款基于 jQuery 的切换效果插件推荐

    本文整理了 10 款非常好用的 jQuery 切换效果插件,包括平滑切换和重叠动画等,这些插件可以实现不同元素之间的动态切换. 1. InnerFade 这是一个基于 jQuery 的小插件,可以实现 ...

  3. 国内各视频网站android pad客户端支持分辨率情况初步统计

    视频网站名称 800*600 1024*600 1280*800 其他 国际化   备注 优酷 支持 支持 支持 支持 不支持     土豆网 没有pad版的 没有pad版的 没有pad版的 支持 不 ...

  4. CSDN问答频道“华章杯”11月排行榜活动开始,丰厚奖品等你拿

    CSDN问答频道月度排行榜,是CSDN问答频道从3月开始举办的活动,旨在鼓励更多用户参与提问和解答,创造一个良好的互帮互助氛围,使参与者在问和答的过程中得到技术水平的提升,也希望大家能在技术交流中结交 ...

  5. Your Customers Do Not Mean What They Say

    Your Customers Do Not Mean What They Say Nate Jackson I'VE NEVER MET A CUSTOMER YET that wasn't all ...

  6. ZH奶酪:Word断字功能不可用。请运行Microsoft Office安装程序安装该功能,然后重试。

    断字功能就是英文单词遇到换行时候会自动添加一个“-”符号来连接跨行的单词. 此外,英文单词拼写校验的功能也是这样添加. 问题如图所示: 解决方法: 打开安装程序“setup.exe”——点击“添加或删 ...

  7. POSIX 线程 – pthread_sigmask

    http://www.cnblogs.com/qq78292959/archive/2012/04/05/2432985.html 概念 按照 POSIX, 异步 (外部) 信号发送到整个进程. 所有 ...

  8. Unix时间戳转换

    import time   def timestamp_datetime(value):     format = '%Y-%m-%d %H:%M:%S'     # value为传入的值为时间戳(整 ...

  9. 采集的时候,列表的编码是gb2312,内容页的编码却是UTF-8,这种网站怎么采集?

    采集的时候,列表的编码是gb2312,内容页的编码却是UTF-8,这种网站怎么采集? 采集的时候,列表的编码是UTF-8,内容页的编码却是gb2312,这种网站怎么采集? 这种情况怎么解决呢? 哈哈哈 ...

  10. WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。","ExceptionType":"System.Security.Cryptography.CryptographicException","StackTrace

    在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: ...