首页 > 编程知识 正文

组播测试工具,局域网组播

时间:2023-05-05 00:37:43 阅读:174682 作者:1159

组播原理1 .相对于概要单播,广播方式希望减少发送方的处理,减少发送方的负荷。 但是在广播方式中,无论是否需要接收,网络内的所有主机都会接收广播数据。 这样不仅不能保证数据的安全性,而且网络内的信息泛滥,浪费带宽资源。 单播和组播都不能以最小的网络开销实现数据的单点发送、多点接收,IP组播技术的出现解决了这个问题。

组播是指将发送方生成的单一IP数据包通过网络发送到特定接收者群体的网络传输方式。 在进行点到多点传输时,发送方不需要考虑接收者的数量,只需要发送一条消息; 路由器只关心接口下是否有接收者,同样也不需要在意接收者的数量,所以在路由器之间的链路上也只发送一条消息。

与广播相比,在组播方式下,路由只在有接收者的接口上复制消息,消息最终只传递给接收者,而不是网络内的所有主机,可以节约大量的网络带宽。

2 .组播技术体系组播的实现机制比较复杂,实现组播首先要解决以下几个问题。

由于组播收件人数量不定,无法像单播那样使用主机IP进行识别,所以需要先解决如何在网络上识别收件人组并实现组的识别,以及收件人如何加入和离开该组。 路由设备如何维护组成员信息多播接收者可能分布在网络中的何处。 组播接收者和组播接收者之间的传输路径基于什么模型? 组播数据如何建立在路径上转发组播数据的转发路径,维持上述技术需求是组播地址、组播组管理协议、组播分发树模型、组播

3 .在使用组播地址的组播通信中,将使用组播地址识别一组接收者的、使用组播地址识别的接收者的集合称为组播组。

IANA (因特网号码分配委员会)将d类地址空间分配给IPv4组播使用。 地址范围为224.0.0.0—239.255.255.255。 组播地址的分类和具体含义如下。

24.0.0(224.0.1.255 )协议保留活地址。 224.0.0.0不分配预留空间,其他地址用于路由协议、拓扑搜索和协议维护等。 ) 224.0.0.0 ) 238.255.255.255网络中有效的239.0.0-239.255.255:本地管理组地址只能在本地管理域中使用当以太网发送单播消息时,目的地MAC地址使用接收者的MAC地址。 因为组播目的地已经不具体了

IPv4组播的MAC地址格式为01-00-5E-XX-XX-XX .前24位固定为0x01005E,后25位为0,后23位来自组播IP地址的后23位下图

组播IP地址的前4位为1110,表示组播的识别信息,因此后28位中只有23位被映射到组播MAC地址,组播地址中5位的信息会丢失。 因此,由于32个多播IP地址将被映射到同一多播MAC,所以在2层处理过程中,该装置将接收该多播组之外的多播数据,并将这些额外的多播数据填充

4 .组播协议体系组播协议主要包括主机和路由器之间的协议、路由器和路由器之间的协议以及组播域之间的协议。

在IPv4中,主机和路由器之间的协议和多播组管理协议是经常使用的是IGMP。 通过IGMP,路由器可以进入本地网络段,它们的多播组中存在收件人并维护组成员。

路由器与路由器之间的协议被称为多播路由协议,它可以通过多播路由协议将成员信息扩展至整个网络,建立源与接收者之间的多播分发树。

多播域的边界通常是单播的边界,由于域间多播路由信息无法直接交换,因此接收者有可能无法在域之间接收多播数据。 在这种情况下,需要运行域间多播路由协议并解决域间多播通信的问题。

5 .组播组管理协议解决了如何表示组播组的问题,还需要考虑接收者如何加入组播组、如何维护组播组、谁来维护等问题

组播组管理协议是在主机和路由器之间执行的协议。 主机通过多播组管理协议向路由器通知加入或离开多播组的路由器通过多播组管理协议响应主机的加入请求,建立相应的多播表项,并通过查询消息

常用的多播组管理协议是互联网组管理协议(igmp )

5.1 IGMP V2 5.1.1常规查询和成员组报告

在接收查询消息后,主机a和b将接收多播组228.1.1.1.1.1,并因此回复常规查询消息

IGMP v2还支持成员报告的打印功能,如果B比A长,主机A先发送Membership Report消息,目的地为228.1.1.1,B接收到该消息

成员报告抑制功能.

因此C是属于组播组228.2.2.2,所以它回复目的地址为228.2.2.2的Membership Report报文.

同时,主机可以不同等待周期查询,直接发送加入报文.

经过查询以后,RTA知道该网段中有组播组228.1.1.1和228.2.2.2的成员,所以创建组播转发表项(*,228.1.1.1)和( *,228.2.2.2),*代表任何组播源.当然组播转发表项还包含组播报文入接口和组播报文的出接口等信息,用于指导组播报文在本地路由器的转发.当组播源有发往228.1.1.1或228.2.2.2的组播报文到达RTA时,由于RTA上存在( *,228,1,1,1)和( *,228.2.2.2)组播转发项,于是将组播报文根据出口信息转发到本地网段,接收者就能够收到该组播数据了.

5.1.2离开组和特定组查询

在IGMPv2中,当一个主机离开某组时会向本地网段内所有组播路由器发送Leave Group报文,目的地址为224.0.0.2,报文中包含要离开的组播组地址信息.

主机A和主机C要分别离开组播组228.1.1.1和228.2.2.2,则会向RTA发送Leave Group报文.

当IGMP查询器RTA收到Leave Group报文后,会发送另外一种查询报文--Group Specific Query 报文,用于确认该组播在网段内是否还有成员存在.Group Specific Query报文的目的地址为所要查询的指定组播组地址.

由于B还要接收228.1.1.1的组播,所以收到Group-specific Query报文后,会回复Membership Report.

由于主机C离开后,网段内不再有组播组228.2.2.2的成员,所以在最大响应时间内不会收到该组播组的Report报文,RTA将删除组播组228.2.2.2表项,此后不会再将目的地址为228.2.2.2的报文送达该网段

6.Snooping 6.1 Snooping概述

实际网络中,主机通常是通过交换机连接到路由器上的,因此其无法识别路由器发过来的组播报文,因此会作为未知报文在网段内广播,导致不属于该组播组成员的主机也收到组播报文,这种情况浪费网络带宽,并增加了非接收者网络处理的负担,通过二层交换机上实现IGMP Snooping功能可以解决组播报文在二层被广播发送的问题

6.2 组播Snooping原理

IGMP Snooping是运行在二层设备上的组播约束机制,用于管理和控制组播组.运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC地址建立起映射关系,并根据这个的映射关系转发组播数据.如下图:

如上图,主机A和主机C是组播228.1.1.1的接收者,则二层交换机会通过IGMP Snooping为组播组228.1.1.1记录一个表项,表项中包含连接路由器的端口,组播组地址以及连接接收者的端口.当有目的地址为228.1.1.1的组播报文到达时,二层交换机只会将组播报文从连接接收者的端口发送出去,从而避免二层广播.

7.组播 vlan

在传统的组播点播的方式下,当属于不同的VLAN的主机点播同一组播时,路由器需要把组播数据在每个用户VLAN内部复制一份发送给二层交换机,这样就浪费了带宽,当存在大量不同VLAN的接收者时,路由器和二层交换机之间的链路上将会传送大量内容相同的报文.

使用组播VLAN功能可以解决这个问题,在二层交换机上配置了,组播VLAN以后,路由器只需把组播数据在组播VLAN内复制一份发送给二层交换机.如下图所示:

如上图,接收者主机A,B,C分别不同的用户VLAN,在二层交换上配置VLAN10为组播VLAN,将所有的用户VLAN都配置为该组播VLAN的子VLAN,并在组播VLAN内使能IGMP Snooping.

8.问题 8.1 IGMP Snooping与IGMP Proxy区别

简单来说,Snooping是完全工作在二层的,不会对上行的加入报文进行修改,只是利用Snooping的机制形成组播转发规则,并且配置给硬件,这样下行的组播流就能够通过硬件规则快速转发.

其实Snooping与Proxy就主要的区别在于,上行的加入报文到达Proxy模块以后,会被修改后,然后发送给上行的路由器,其实它是工作在三层的,Proxy会怎么修改下行设备过来的加入报文呢?

主要是将下挂设备过来的加入报文的源mac和源IP修改为三层设备的mac和ip,然后继续向上游设备发送.同时,对于上游过来的查询报文,Proxy模块也会代为回复

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。