是对Multicast的总结...Created by Cappuccino on January 21, 2005
【多播地址】
Link-local addresses: 224.0.0.0 ~ 224.0.0.255 由一些网络协议在本网段使用,路由器不转发这些报文。
Administratively scoped addresses: 239.0.0.0 ~ 239.255.255.255 用于私有的多播域中,类似于私有IP地址
Globally scoped addresses: 224.0.1.0 ~ 238.255.255.255 可供任何实体使用,这些地址可以在一个组织内部或者Internet上路由,因此它们必须是全局唯一的。
Source specific multicast: 232.0.0.0 ~ 232.255.255.255,用于指定源的多播(Source specific Multicast),SSM是PIM协议中的扩展。
GLOP addresses: 233.0.0.0 ~ 233.255.255.255,保留给组织静态定义的多播地址,该组织的AS号被插入到第2、3字节中,如AS 62010(0xF23A)拥有的多播地址空间为:233.242.58.0/24。
【Cisco对IP多播路由的实现】
1、IGMP:用于在LAN的主机和路由器(或多层交换机)之间追踪多播组的成员
2、PIM:用于在路由器(或多层交换机)之间跟踪多播报文如何转发
3、DVMRP:用于Internet的多播骨干(MBONE),Cisco支持PIM与DVMRP的互操作
4、CGMP:用在连接到2层Catalyst交换机的Cisco路由器和多层交换机,其功能与IGMP类似
【IGMP】
为了参与到IP多播中,多播主机、路由器和多层交换机必须有IGMP工作。该协议是一个组成员协议,主机用它来通知路由器和多层交换机组成员的存在,使得路由器和多层交换机可以发送和接收多播数据报文。
当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员。
利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表。在某个接口上,若至少一个主机发送IGMP加入消息表示要接收多播组流量,则该接口上的这个多播组成员是激活的。
IGMPv1
IGMPv1使用query-response模型来允许多播路由器和多层交换机来确定在本网段内哪个多播组是激活的。这个模型中,路由器或交换机充当IGMP查询器,周期性(每隔60秒)地发送IGMPv1成员查询给224.0.0.1。启用多播的所有主机监听该地址并接收查询报文。主机以IGMPv1成员报告应答,表示它要接收指定组的多播流量;该子网中的路由器或交换机就知道多播组中有哪些接收者。
主机可以通过发送一个或多个主动的发送成员报告报文表明加入一个多播组。下图中,Host 3主动发送一个报告报文表明要接收组224.3.3.3的流量(而不是等待来自Router 1下一个的成员查询报文)。
主机通过停止处理多播组的流量以及不响应IGMP查询的方式来离开多播组。
IGMPv1依靠L3的IP多播路由协议(PIM、DVMRP等)来解决同一网段中哪个路由器或多层交换机成为Querier。查询路由器发送IGMPv1的查询来确定哪个多播组是激活的。通常指派路由器被选择为Querier。
IGMPv1的报文有2种:
成员查询(Member Query,60秒查询一次)
成员报告(Member Report)
IGMPv2
IGMPv2的查询和成员报告消息与IGMPv1类似。区别在于,第一:IGMPv2的查询消息分为两部分:一般查询(功能与IGMPv1的查询相同)、指定组的查询(仅查询指定组的信息);第二:IGMPv1和IGMPv2的成员报告消息中使用不同的类型代码。IGMPv2的新特性包括:
1)Querier的选择过程――IGMPv2路由器或多层交换机可以自己选举查询路由器(不需要依赖多播路由协议来完成这个工作)。每个IGMPv2的路由器或多层交换机启动时,它发送IGMPv2的一般查询报文(以其接口IP地址作为报文的源IP)给所有主机。每个IGMPv2设备比较接收到的这种消息报文,网段中拥有最小接口IP地址的路由器成为Querier。
2)Maxinum response time――查询消息中的这个字段允许查询路由器指定最大的查询响应时间,并控制突发的应答过程。在某个子网中若存在大量的组,可能需要较长的时间来传播这个应答。(缺点是太长的最大响应时间也会增加主机离开的延迟)
3)指定组的查询消息――允许查询路由器针对某个具体的组进行查询
4)Leave group消息――为主机提供一种手段,来通知路由器和多层交换机它们要离开某个组
224.1.1.1 224.1.1.1 |
上图中,Host 2和3是组224.1.1.1的成员。主机2发送IGMPv2的离开报文给所有多播路由器的组(224.0.0.2)来通知所有路由器和多层交换机它将离开这个组。路由器1(查询路由器)接收到消息后,由于它保存的组成员信息还包括其他成员,因此它发送一个指定组的查询给目标组(224.1.1.1),来确定该组中是否还有成员主机。主机3仍然是组224.1.1.1的成员并且接收到指定组的查询。它以IGMPv2的成员报告消息回应,通知路由器1仍然有成员存在。当路由器1接收到报告后,在该子网中它保持该组是激活的。若没有收到响应,查询路由器将停止向该子网转发该组的流量。
| 共2页: 1 [2] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |