- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种支持多播的家庭网关的设计与实现.doc
一种支持多播的家庭网关的设计与实现
摘要: 现代的家庭网关的需求,除了基本上网功能,还要求具备播放IPTV等。这促成普通的家庭网关扩展成多播路由。通过简单地架设IGMP代理的方式实现了支持多播的家庭网关,并且在二层为了防止泛洪,实现了嗅探snooping功能。本文在最后给出了实验架构与测试的结果。
关键词: 家庭网关;多播;IGMP代理;泛洪;嗅探
中图分类号:TP393 文献标识码:A
0引言
Internet群组管理协议,IGMP是IPv4协议栈中用来向相邻组播路由器报告群组关系的协议。IGMPv3增加了源地址过滤功能,也就是对指定源地址,或者对所有除了指定源地址才可以发送到特定的组播地址。组播路由协议可以通过这些信息来避免转发组播包到一些没有对组播数包感兴趣的接收端口的网络中。
IGMP snooping用来监控主机与组播路由器之间的IGMP流量。二层交换机用snooping学习到的信息来转发IGMP流量到连接有对这些流量感兴趣的接收器的接口上。
本文通过学习文献[1-5],给出了带有snooping功能的多播路由的IGMP代理的实现方案和实验结果。
1 IGMP介绍
IGMPv1[1]主要基于查询和响应机制来完成对组播成员的管理。过程如下:
1. 主机主动发送IGMP成员关系报告报文申明加入,不必等待IGMP查询报文;
2. 多播路由器定期发送IGMP查询报文;
3. 在收到查询报文后,主机会发送各自的群组成员报告;
4. 经过以上查询和响应过程,组播路由器就知道本网段有哪些群组的组播成员,就会转发发往这些组的组播数据。
但是,IGMPv1没有专门定义离开组播组的报文。当运行IGMPv1的主机离开某组播组时,将不会向其要离开的组播组发送报告报文。当网段中不再存在该组播组的成员后,IGMP路由器将收不到任何发往该组播组的报告报文,于是IGMP路由器在一段时间之后便删除该组播组所对应的组播转发项。这就有后来的IGMPv2[2]。
与IGMPv1相比,IGMPv2增加了离开组机制。在IGMPv1中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。而在IGMPv2中,当一个主机离开某组播组时:
(1)该主机向本地网段内的所有组播路由器发送离开组报文;
(2)当发送查询报文的路由器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询报文;
(3)如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间内发送成员关系报告报文;
(4)如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,组播路由器就会继续维护该组播组的成员关系;否则,组播路由器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系。
IGMPv3[3]在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。
1. 主机控制能力的增强
IGMPv3增加了针对组播源的过滤模式,使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。当主机加入组播组时:
INCLUDE:若要求只接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为INCLUDE Sources(S1,S2,……);
EXCLUDE:若拒绝接收来自指定组播源如S1、S2、……的组播信息,则其报告报文中可以标记为EXCLUDE Sources(S1,S2,……)。
2. 查询和报告报文功能的增强
(1)携带源地址的查询报文
IGMPv3不仅支持IGMPv1的普遍组查询和IGMPv2的特定组查询,而且还增加了对特定源组查询的支持。
(2)包含多组记录的报告报文
IGMPv3报告报文的目的地址为2,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为如下六种类型:IS_IN、IS_EX、TO_IN、TO_EX、ALLOW和BLOCK。各种类型含义及转换关系请参阅文献[3]。
2 IGMP Proxy与snooping原理
2.1 IGMP Proxy
代理主机转发成员关系报告报文和响应查询报告,如加入,离开特定的群组。
概念上有一个上行接口和多个下行接口,如图1
所示:
Proxy除了维护所有LAN口IGMP客户端和转发Join/Leave包外,还需要维护多播路由,以便多播包通过多播路由器。
2.2 IGMP Snoopin
文档评论(0)