首页 > 编程知识 正文

IPTV组播,组播调试工具

时间:2023-05-05 21:50:19 阅读:173437 作者:3341

RIPv2 hello包:

EIGRP hello包:

OSPF hello包和其他协议包:

IP地址分为A/B/C/D/E类,d类为组播地址

IPV4分为单播、多播和广播:

单播为每个TCP/IP会话使用一个带宽进行传输。

广播仅通过一个带宽进行发送,但所有设备都将进行接收和处理。

组播相当于折中方案。 这意味着只占用带宽并进行传输,然后由特定的设备组进行处理。 此特定的设备组由某个多播地址表示。 (设备必须是此组的成员,或者设备必须加入此组。)

多播的好处:

1、提高效率

2、优化性能

3、分布式APP应用

多播是基于UDP传输的,缺点是:

1、不可靠、尽力传输;

2、无拥塞避免,但TCP有滑动窗口机制和确认机制;

3、包复制;

4、无序列号机制;

组播工作主要由两部分组成。

s )源、产生多播流的设备,源地址是单播地址;

g )组、接收多播流的设备组,目标地址为多播地址,如下所示:

IP组地址:

class d address (高顺序并行位址)。

range from 224.0.0.0 (1100000.0000000.0000000.000000 ) through 239.255.255.2555239.255.255.255.255.200

well-knowaddressesassignedbyiana

reserved use :244.0.0.0 through 244.0.0.255

24.0.0.l---- allmuticastsystemsonsubnet (所有多播侦听此地址) )。

224.0.0.2--子网中的所有路由器)。

224.0.0.4--初始基于RIP的多播路由协议)。

24.0.0.13----allpimv2Routers关注重点

24.0.0.5、6、9和10 usedbyunicastroutingprotocols

224.0.1.39--RP声明

224.0.1.40--RP的发现

PIM与协议无关。

组织范围: 239.0.0.0-239.255.255.255

父亲: 239.1.0.0/16

网站: 239.1.8.0/16

多播APP应用的类型

到多点

从多点到多点

多点

组播地址通常分为三类。

1、预留本地地址:部分网络协议使用,在一个子网内使用;

2、全球地址:网上建立组播通道同时使用

3、管理范围地址:相当于组播地址中的专用地址,可以进行子网划分,类似于RFC1918

问题1:224.224.224.224是D类地址,子网掩码是多少?

224224.224.224是d类地址,d类地址用作多播。 没有ABC类的子网掩码,但在局域网中可以根据自己的设置进行决定。 ABCDE类是一种传统的分类,将逐渐被IPV6、CIDR和VLSM淘汰。

问题2IP地址可以分为ABCDE的五个类别。 例如,192.168.1.10是c类地址,但如果有子网掩码,则IP地址分类将无效。 例如,在子网掩码255.255.0.0中,上述地址为b类地址,是吗?

如何构建第2层多播地下:构建多播MAC地址

一个多播MAC地址能够代表多个多播IP地址是由于丢弃其五个bits

第2层多播地址(多播MAC地址与本地MAC地址无关,仅与多播IP地址有关)是从IP多播地址派生的。 计算方法是将IP地址的最后23位复制到MAC地址的最后23位,并将此23位之前的位置设为0。 MAC地址的前24位必须为0x01-00-5E。 例如,组播IP地址224.0.1.128,以16进制表示0xE0-00-01-10,最低23位为0x00-01-10,计算出的MAC地址为0 x 01-00-5e-10

组播通信的三个阶段:

第一阶段:源将其告知的本地路由器是多播组的源,源不需要知道将业务发送至本地路由器,目的地地址为多播地址且表示某种APP应用;

第二阶段:主机告诉本地路由器希望加入组播组。重点关注

第三个阶段:路由器建立组国分发树,形成一个从S到G的路径;重点关注

第二个阶段使用IGMPV2。不再讲IGMPV1,因为它是设计给WIN95所使用

IGMPV2支持当前所有的WINDOWS及UNIX平台。它用于在本地子网的路由器与主机之间进行通信,所以它的包的TTL值是等于1的,它是个第三层协议,依靠同为第三层的IP协议进行封装和传输,IGMP在IP包中的协议号为2(协议号为1的IGMP,也是直接封装在IP包中的);

如果我们使用到了一些交换机这类的话,我们就需要去修改它的TTL值。

三层防环使用的是TTL值

二层防环使用的是STP

RFC 2236(IGMPV2的参考文档)

Leave group message 离开信息IGMPV2才有

类型字段:

类型1:两种查询,常规查询和组定制查询

类型2:版本1的成员关系报告,表示IGMPV2

IGMPV2-主机加入一个组:

H2如果想加入某个组,那么它就会启动自身的关于这个组播组的应用程序进程,这个进程会向组播地址224.0.0.2发关一个membership report的信息,H1/H3以及路由器都收到了这个信息,H2在没有得到回应之前每隔10秒发送一次来确保路由器能收到此报告,路由器收到后将H2增加到这个特定的组映射表中,并通过外出接口寻找此组播流量(这用于组播流量还没有到达此路由器的情况);(以下为组播流量已经到达此路由器的情况)路由器每隔60秒会通过对内接口向内发送general query,看看某个它知道的组是否有主机愿意加入(路由器向某个子网内转发组播信息的前提条件是这个组里面至少要有一台活动的主机愿意去接收相关信息),H2收到后会开启一个随机的递减计数器,当计数器清0时H2会发送一个membership report来响应general query,如果H1也想成为这个组的成员,它会否回应路由器的这个general query?不会的,因为一个组里面只需要一台主机响应即可。

单播:主要关心我们的数据从那里去,如何去

组播:主要关心我们的数据从那里来,如何来(刚才与单播相反)

IGMPV2-离开一个组:

1、 H2 sends a leave message。类型4的离组消息说要离开224.1.1.1这个组,目的地址为224.0.0.2

2、 Router sends group-specific query。连续三次发了都没有主机响应路由器就停止向这个子网转发这个组的流量。目的地址为224.0.0.1

3、 A remaining member host (H3) sends report, so group remains active.目的地址为224.0.0.2

IGMPV3目前处于开发状态

查询者选举:

如果在一个网络中出口有多台路由器,那么IP地址,谁大谁成为查询者

当某个子网存在有多个出口路由器时,就要进行一个查询者选举,以此来决定是A还是B来作为子网中的查询者,鞭原则是最高接口IP地址。上图中描术有误,实际上B为查询者,A在对它进行监听。

IGMPV2计时器

Query Interval 查询间隔 每隔60秒 (1-65535)

Query Timeout 查询超时 超时时间120秒 (60-300)

Maz Reponse Time最大响应时间 10秒 主要应用在IGMPV2/3里面。 可调范围(0-25.5秒)

实际工程中,路由器不会如上那样直接连接主机的,中间还有二层交换机的存在,二层交换机对于广播包和组播包的处理描述如下:

当交换机的某个接口收到广播包或组播包,交换机会各这个接口所属VLAN内的其它所有接口(这个接口除外)以及trunk接口进行转发。

二层交换机默认将组播包作为广播包对待,这样就很占用带宽和资源,最好能做到下需要的端口就不转发组播数据流,为实现此目标,有三种方法:

1、 手工添加静态条目,将组播MAC地址与需要接收的主机所连接的交换机端口进行绑定,实际工程不使用此方法。

2、 CGMP私有,运行于思科的路由器与交换机之间,CGMP协议包由思科的路由器产生并发送,交换机只是去读取

工作在路由器与交换机之间的。

GDA:组播组的MAC地址

USA:单播源MAC地址

Version-This is always set to version 1

Type-There are two types of CGMpacket created by a cisco router and sent to a cisco switch:

Type 1-Join packet – sent by the router to tell the switch to add a member to the multicast

Type 2 – Leave packet – sent by the router to tell the switch to remove the member from the multicast group

Group D

工作过程:

1、 the router infornms the switch on shich port it sits,by sending a Join packet with the GDA set to zero(0000.0000.0000)

第一步、路由器通过CGMP包告诉交换机我有一个组播接口,你把这个组播接口的MAC地址添加到你的CAM表里,GDA全0,USA是路由器的以太口MAC地址

第二步、交换机被配置去监听CGMP的包,现在交换机知道路由器的哪个详细的端口

第三步:路由器每隔60秒给交换机发送一次CGMP包用于维持关系,这样交换机就知道该路由器的组播转发一直在持续。

工作过程2:

第一步:主机发送IGMP的成员关系报告给路由器说要想加入226。239。1。10这个组播

第二步:路由器收到后将此组播IP地址衍算出一个组播的MAC地址,以CGMP加入包的方式发送给交换机,此包中具体内容就是一个GDA与主机USA的映射关系表。交换机将主机的MAC地址加入自己的CAM表中,这样交换机已经知道了这个组播的发送者和接收者的民接口了;

第三步:当形成了上一步的关联后,这时当路由器给交换机转发组播包时,交换机不会再按默认的方式,将

离开工作过程:

第一步:发送退组包;

第二步:交换机收到路由器发出的组定制查询后,会向这个组关联的所有的端口进行转发。

第三步:如果还有主机需要接收主播信息,路由器就会以CGMP的方式发送一个离组包通知交换机将那台离开的主机的相关组播MAC映射从CAM表中删除掉,并继续向剩下的主机发送组播信息,这时的USA是退组的那台主要的MAC地址。

第四步:如果没有主机响应,那么路由器就会以CGMP的方式发送一个离组包给交换机告诉它将所有这个组的组播MAC映射删除掉,这时的USA是00-00-00-00-00,并不再转发组播信息。

1、 IGMP snocping业界标准,只需要交换机支持并启动了IGMP snooping功能,由交换机自动完成,思科交换机默认是开启此功能的。

组播路由选择协议:构建组播分发树实现从S到G的数据转发

组播分发树分成两种:

1、 源分发树/Source-rooted,也叫最短路径树

源就是树根,而路径上的路由是branch

2、 共享分发树/shared trees,在共享分发树中,我们要选择一个特定的根,这个特定的根叫做RP/集合点,也就是说流量从RP发出再逐步向下分发的,而源也会往RP上进行注册。

总结:

相同点:

1、 都形成无环路径;

2、 成员都是动态的加组或离组;

3、 当某个主机通知最近的路由器想加入某个组时,该路由器会禹它上游的路由器去请求组播数据,同样,当某个组不再有成员时,该路由器会向上游路由器发出通知并执行一个剪切的操作并停止转发。

不同点:

树的形状及工作方式不同。

Reverse Path Forwarding:组播路由中可靠性、安全性的表现。比如路由器两个接口s0/e0,e0下接了192.168.1.0/24这个网络,而此时在s0的入口向方如果收到一个组播流要求此路由器进行转发,且这个组播流的源地址是192.168.1.200,路由器会将这个源地址,与自己的路由表进行比对,发现情况异常,则不会转发此组播数据流,也不会形成路由环路。

Types of multicast protocols:用组播路由选择协议来构建上面所说的分发树。

1、 Dense mode protocols:假定组成员密集的存在于网络之中,并且有足够的带宽建立和维护分发树;

如DMVRP(底层必须是RIP)/MOSPF(底层必须是OSPF)/PIM-DM

特点:通常用于局域网呀小网络;是一个push的模型(从路由器向其它路由器推,推到每个角落,当其它路由器表示不想接收后再一级一级的向上修剪回去);通常使用源分发树;

2、 Sparse mode protocols:假定网络带宽很低,而且组成员稀疏的分布在网络中,如PIM-SM/CBT

特点:通常用于广域网;是一个pull的模型(路由器等待一个加入包到达后再去创建一个分发树,主机主动去路由器上接组播流量);通常使用共享分发树;

PIM:protocol independ multicast/独立于协议的组播路由器选择协议或者叫做与协议无关的组播路由选择协议,不依赖于其它路由协议的存在而存在,PIM也不关注从哪种路由选择协议中得到了路由表,但它使用单播路由表来确认数据的源地址。

现在使用版本的PIMV2,协议号13,直接封装在IP包中,使用组播地址224.0.0.13进行协议包的转发

PIM的三种工作模式:PIM-DM/PIM-SM/PIM-SM-DM

PIM-DM与协议无关的密集模式

PIM-SM与协议无关的稀疏模式

PIM-SM-DM与协议无关的杂合模式

转载于:https://blog.51cto.com/ltyluck/207224

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