NICE 是一种可扩展的应用层组播,主要针对大量接收者的低带宽、数据流应用,它基于分层的结构,同时具有较小的控制负荷,有利于它的扩展性。NICE 的数据拓扑隐含在它的控制拓扑中,因而还可以支持不同源的数据分发树;并且由于它的分层,进行错误检测较为迅速。
an efficient, scalable, and distributed tree-building protocol which did not require any underlying topology information.
高效、可扩展、分布式构建,不需要任何底层拓扑信息。
The NICE protocol arranges the set of end hosts into a hierarchy; the basic operation of the protocol is to create and maintain the hierarchy. The hierarchy implicitly defines the multicast overlay data paths。
NICE协议将终端主机组织成分层结构,它的基本操作就是创建和维护这个分层结构。这个分层结构隐式的定义了覆盖层组播的数据转发路径。
NICE通过分层分簇来组织节点,所有节点都属于Layer0,每层的节点被分成一系列簇,每簇包含k到3k-1个互相接近的成员,每个簇有一个Leader,协议分布式的选出每个簇的Leader(例如Leader到簇内所有其他节点的最大距离最小),Layeri内的所有簇的Leader又是Layer(i+1)的成员。
控制拓扑的图形,将每层群集中的领导节点连接起来,每个节点只包含一定常数量的成员信息,这样有更好的扩展性。数据拓扑、图形,可以在控制拓扑上,单源进行方便的构造,分发树隐含在控制拓扑中,可以方便地构造多个分发树。控制拓扑:每个层中群集的成员可以很快地清楚其对等成员的变化信息。如图3-0 中B0 可以知道L0 层上A0 ,A1 ,A2 ,还有L1 层上B1 ,B2 ,C0 的信息,邻居之间信息的交换在控制拓扑上交换。
数据拓扑:组播数据的分发路径需要防止循环。数据的分发是一个具有固定源的树。如图3-1 所示,从源A0 发送数据的情况我们可以看出数据拓扑隐含于控制拓扑中。
NICE 协议的描述
(1) 成员的加入
当一个成员要加入组播组的时候必须映射到L0 层的某个群集上。从高层开始向汇聚点进行提出查询,寻找最近的成员,然后顺序查询至L0 层。
(2) 群集的维持和精简
①成员的分裂和聚合:群集中的领导成员定期地检测群集中成员的数目。如果群集的数目超过3k-1 ,那么就将这个群集分裂成两个数量相同的群集;如果群集的数目少于k ,那么就将群集进行聚合。
②群集的优化:因为成员的加入不一定加到最近的群集中(可能由于查询和响应信息的丢失等) ,所以成员定期地检测他的上层,寻找最近的群集。
(3) 成员的离开和领导节点的选择
正常离开:发送离开信息到它所属的群集中的所有成员。
突然离开:群集中的其他主机接收不到离开主机的刷新信息,经过一定的时间就认为该成员失效了。如果离开的主机是这个群集中的领导成员,那么就在剩下的成员中选择一个作为新的领导成员。
优点:
1) 控制花销小。
2) 高效、可扩展、分布式构建。
3) 不需要任何底层拓扑信息。
缺点:
1) RP失效后没有对应的处理方法。
2) 不能充分合理的利用连接资源。
3) 高层节点的出度较高。
文章评论(0条评论)
登录后参与讨论