IP组播基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP组播基础相关的知识,希望对你有一定的参考价值。

单播方式所存在的问题

1.重复流量过多

2.消耗设备和链路带宽资源

3.难以保证传输质量


广播方式存在的问题:

1.地域范围限制

2.安全性无法保障

3.有偿性无法保证

广播方式下,信息发送者与用户主机被限制在一个共享网段中,且该网段所有用户主机都能收到该信息


组播:

优势:

1.无重复流量

2.节省设备与带宽资源

3.安全性高

4.有偿性很高


ASM:任意源组播

发送者是任意的,如果加入了某个组播组,就会收到所有的发给该组的组播数据,他并不知道发送者的位置


SSM:指定源组播

接受者可以指定收到哪些源发来的指定数据

PIM:直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文

DM:密集模式

SM:稀疏模式

封装在IP报文当中

协议号:103

组播地址:224.0.0.13

路由器如何转发组播报文

路由器需要依据哪些信息进行转发

1.各接口

PIM-DM基本概述

采用“推模式”转发组播报文

PIM-DM的关键任务:

建立SPT(最短路径树)

PIM-DM的工作机制

DM:

邻居发现

使用Hello机制发现邻居,周期时间是30s

hold时间:Hello时间的3.5倍 105s

选举DR的规则:

优先级高的成为DR

若相同,则.IP地址大的为优

作用:为了给运行igmpV1的提供查询者


RPF(源检测机制)

作用:为了防止组播报文的重复和扩散

(S,G)

(*,G)

*代表所有

G代表一个组

S代表源


2.扩散和剪枝

扩散的过程

路由器接收到组播报文的时候进行RPF检查

如果RPF检查通过,则创建(S,G)表项,也就是检查上行接口是不是源发过去的接口,如果是,则将数据向下行进行转发,如果RPF检查没有通过,则丢弃该报文

剪枝的过程:

当下游节点没有组播组成员,则向上游节点发送Prune消息,通知上游不在向这个节点发送数据,上游节点收到这个Prune消息之后,就删除这个组播组。

扩散和剪枝周期性进行,每3分钟重复一次。


3.状态刷新

周期性的去刷新剪枝状态


4.嫁接(Graft机制)

新的组成员加入组播组后,则向上游发送一个Graft的消息,请求上游路由器恢复对应出口的转发,上游路由器收到Graft的消息之后,向下游回复Graft Ack消息并将出街口回复为转发状态


5.断言(Assert)

避免重复组播报文

技术分享

上图所示,RTA,RTB,RTC都会向RTD发送组播报文,三份重复的组播报文浪费带宽资源

所有,为了避免这种情况,PIM路由器在收到邻居路由器发送的组播报文的时候,会以组播的方式向本网段发送Assert消息,其他的PIM路由器收到Assert消息之后,会将自身的参数和对方的报文进行比较,进行Assert竞选

选举规则:

优先级以大为优

度量值以小为优

IP地址以大为优


PIN-DM的局限性

适用于组播成员分布较为密集的园区网络

在族必成员较为稀疏的网络中,组播流量的周期性扩散会给网络带来较大的负担

PIM:直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文


PIM-DM

使用“拉模式”转发组播报文

PIM-SM的关键任务:

建立RPT:汇聚点树,也称共享树

建立SRT:最短路径树

适用于组播成员较为稀疏的网络环境


汇聚点RP:

1.充当RPT树的根节点

2.共享树中的所有组播流量都经过RP转发给接受者

3.所有PIM路由器都要知道RP的位置


手工指定:适用于小型网络,会选择与组播源直连的路由器充当RP,组播源只有一个的时候

组播源比较密集的时候,会选择靠近组播源的路由器作为RP

接受者比较密集的时候,会选择靠近接受者的路由器作为RP

动态选举

首先会调出几个核心的路由器作为c-RP(候选RP)

组播源比较密集的时候,会选择靠近组播源的几个路由器作为c-RP

接受者比较密集的时候,会选择靠近接受者的几个路由器作为c-RP


RPT(共享树)建立的过程

①主机加入组播组的时候,发送IGMP成员通告

②向上游发送(*,G)join消息

③join消息到达RP的过程中,沿途各种路由器都会产生相应的join消息

SRT的建立过程

①组播源向组播组发送第一个组播报文

②源端的DR将该组播报文封装成Register报文并以单播的方式发给RP

③RP收到注册消息后,解封装,提取报文,并将该组播报文沿RPT分支转发给接受者

④同时,RP向DR发送一个join消息,沿途路由器都会生成(S,G)表项,然后,一个SRT就建立完成


技术分享




本文出自 “costin” 博客,请务必保留此出处http://brighttime.blog.51cto.com/12837169/1959025

以上是关于IP组播基础的主要内容,如果未能解决你的问题,请参考以下文章

IP组播基础

C#实现任意源组播与特定源组播

IP组播综合实验

组播IP转换为组播MAC地址转载

H3C组播系列之IP组播概述

网络层 4.7 IP组播