




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 IP网络数据传输方式 单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。 如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时, 将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。 组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。 广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。 广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小, 只在本地子网内有效,通过路由器和交换机网络设备控制广播传输。组播与单播的区别如图所示:2 IGMPInternet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2。有V1,V2,V3三个版本。2.1 IGMP 在TCP/IP 协议中的位置应用层协议(FTP,HTTP,SMTP)TCP UDP ICMP IGMPIPARP RARPMACPHY2.2 IGMP报文格式IGMP report:type 为0x16(IGMPv2)或0x12(IGMPv1)IGMP leave:type 为0x17(版本1无此功能,靠超时机制发现成员离开)IGMP query:type 为0x11,query 报文有两种情况,一种是针对特定组播组的查询,例如router 要查询属于组播组 的所有成员,另一种是通用查询,查询所有主机加入组播组的情况,两者的主要区别是在Group Address 上。IGMP data:与通常的报文相同,主要区别是MAC 地址使用的是组播MAC。2.3 IGMP协议在组播通信中的作用它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。所有参与组播的主机必须实现IGMP协议。主机与直接相邻的组播路由器之间:IGMP协议(report,query,leave)组播路由器之间:组播路由协议(PIM-SM稀疏模式协议无关组播)参与ip组播的主机可以在任意位置、任意时间、成员总数不受限制地加入或退出组播组。组播路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。而主机方只需要保存自己加入了哪些组播组。IGMP在主机与路由器之间是不对称的:主机需要响应组播路由器的igmp查询报文,即以igmp membership report报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(igmp版本2),以确定某个特定组是否已无成员存在。2.3 我们来看一个简单的组播应用场景STB1,STB2,STB3加入某个组播组,并能收到该主播组的媒体服务器下传的数据流,其他主机收不到的过程。第一、IGMP report报文:STB 要发起一个连接请求,加入到要看的电视直播的组播组中。第二、IGMP query报文:Router周期性的发送IGMP query 报文查询组播组情况,STB 接到query 报文后发送report消息到router。Router通过此步骤了解哪些STB 加入了组播组,防止有的STB 异常掉线了,却依然占用系统资源。第三、IGMP data报文,用来传输组播数据。这基本上就是IGMP协议的基本流程了。第四、IGMP leave报文当STB 要断开连接的时候就发送一个IGMP leave 报文3 IP 组播组与组播MAC二层组播MAC 定义为:01:00:5e:xx:xx:xx,其中xx 由三层的IP 组播组确定。三层地址:组播流使用的IP 是D 类IP 地址(二进制1110 开始),从55。由于组播MAC 地址是一个虚拟的地址,并不是真实网卡的MAC 地址,那么网卡在发送报文时二层MAC 地址怎么确定呢?答案是采用地址映射的方法将三层IP 地址映射到MAC 地址。映射关系如下。从上面的映射关系可以看出 IP 地址的五个bit 无法映射到MAC 层,因为MAC 层的这五个bit 已经确定。也就是说有32 个IP 组播组会被映射为同一个MAC 地址。(在这里不能不说一个面试常问的问题:一个网卡的 MAC 地址是53:10:10:10:10:10,问这是一个合法的MAC 地址吗?不是,原因:53化为二进制是01010011,即MAC最高字节的最低位为1,是一个组播MAC)4 IGMP snoopingIGMP snooping 技术,该技术的主要思想是侦听每一个端口上的IGMP 报文,通过解析报文获得其组播地址,将组播地址与交换机的端口联系起来。当关系建立后,就可以通过组播组查到目的port,从而不需要flood 报文到每一个端口上。交换机的桥模块维护这样一张表,以组播组为索引,组播组下记录了属于该组播组的所有端口。当一个组播报文从A 口送到交换机时,交换机从报文中获取组播组地址,然后从表中找出该组播组,将报文直接发送到下属的C 端口。而E,F,H 端口不会有数据送到。组播索引表采用这样的管理,桥接收到一个 IGMP report 报文解析report 报文中的组播组,创建组播索引,将report 报文的端口记录下来。当然当组播组已经存在了就不需要重新创建组播索引了,只需要检查端口确认是否要添加端口。当桥收到一个IGMP leave 报文时,根据报文中的组播地址和报文端口从表中找到要离开的端口,删除端口。是不是经过这样处理就没有问题了呢?答案是否定的。假如交换机的 C 端口连接的不是主机而是一个HUB,HUB 下挂了两台主机,并且两台主机都加入了同一个组播组,也就是说C 端口下有两台主机,当其中一台主机发送IGMP leave 后,会导致C 端口被删除,结果另一台主机也无法接收到组播数据了。基于端口的组播报文转发是有问题的,一个解决方法是基于MAC 的组播转发,组播组下面记录的不是port 而是MAC。当组播组有报文时需要处理时,首先查找MAC,然后从桥中根据MAC 找到port,最后将报文转发到该port。其实许多支持 IGMP snooping 的交换机中组播组n 的最大值是确定的,一般是256,我们可以让一台主机加入到256 个组播组中,把所有的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字地形测绘项目技术方案
- 系统集成项目完整对接方案范本
- 新媒体内容运营策略及实施方案
- 初中音乐教学方案与教案
- 建筑分包合同标准范本及管理指南
- 2025年安徽省省直机关公开遴选公务员227名考试参考题库及答案解析
- 2025年大庆萨尔图东风街道社区卫生服务中心聘用制护士及影像医生招聘9人考试参考题库及答案解析
- 2025浙江绍兴上虞区永和镇招聘城镇公益性岗位人员4人实施考试参考题库及答案解析
- 2025贵州铜仁印江自治县医疗保障局选聘医疗保障基金社会监督员考试参考题库及答案解析
- 2025北京中邮资产管理有限公司招聘1人考试参考题库及答案解析
- 施工交通安全教育
- Unit 2 What's interesting about families(说课稿)-2024-2025学年沪教版(2024)英语三年级上册
- 上海市第一至十八届高一物理基础知识竞赛试题及答案
- 十二指肠恶性肿瘤护理查房
- 【MOOC】《医学心理学》(北京大学)章节期末中国大学慕课答案
- 涂层材料与叶轮匹配性研究-洞察分析
- 《国际跳棋教学》课件
- 食品进货与供货商档案相对应制度模版(3篇)
- 防治血吸虫病主题班队课
- 12SG121-1 施工图结构设计总说明
- NB-T31053-2014风电机组低电压穿越建模及验证方法
评论
0/150
提交评论