以太网组播中二层事件处理机制的分析

文章作者 100test 发表时间 2007:05:14 11:12:48
来源 100Test.Com百考试题网


由于各种原因,以太网经常会产生各种二层事件,此时,交换机就必须做相应的处理。交换机对二层事件处理是否得当,处理响应的速度是否及时,将直接影响到网络的可靠性和快速收敛性。

一、二层事件描述

二层事件通常有两类:一类是普通二层事件;另外一类是环路中的链路改变事件。

1.普通的二层事件

普通的二层事件都是基本的事件,一般只会对网络造成局部的影响。普通二层事件具体包括:端口UP/DOWN事件;端口INCLUDE/EXCLUDE事件,当端口加入到某个VLAN中时就会产生INCLUDE事件,反之,EXCLUDE事件则是指端口离开某个VLAN时产生;VLANDOWN/UP事件,如果将VLAN也看成一个端口,则VLANDOWN/UP事件与端口UP/DOWN事件没有本质区别,当一个VLAN中所有端口都变成DOWN时,该VLAN也就会变成DOWN;VLANDELETE事件,删除VLAN时产生VLAN DELETE事件;端口DELETE事件,删除端口时产生端口DELETE事件,当带电拔出单板时,就会产生端口DELETE事件。

2.环路中的链路改变事件

环路可以增加网络的可靠性,但同时也有可能形成网络风暴。当网络中有多条冗余路径时,数据流过环选择路径时必须有所取舍。当发生了普通的二层事件时,数据流往往会选择不同的路径过环,这时就称为发生了链路改变事件。

二、以太网组播中对普通二层事件处理的分析与设计

1.组播转发概述

组播是一种单点发送多点接收的数据包传输方式,当有多台主机同时成为一个数据包的接收者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。组播只会将数据包转发给对数据包感兴趣的接收者,这样能够节约网络带宽,降低网络负载。交换机转发组播数据,以组播转发表为依据,转发表的正确与否直接关系到组播数据能否到达正确的接收者手中。组播转发表的一般格式如图1所示。

图1

由图1可知,组播转发表中每一个转发表项由三部分组成:VLANID、组地址与出端口。由于组播数据不能跨越VLAN传输,因此每一个表项第一部分是VLANID,当交换机收到组播数据包时,数据包只能在数据包入端口所在的VLAN内转发。然后根据数据包中的组地址检索组播转发表,最后将数据包转发到检索结果中的所有出端口上。

2.对端口UP/DOWN事件的处理

交换机是根据组播转发表来转发组播数据的,正是由于组播转发表的存在,才得以实现对组播数据的按需转发。图2为组播转发网络示意图,为了简化分析,我们假定只有一个VLAN,而且只有一个组播组(组播组对应多个出端口)。

图2

由图2知,若只有与端口p1、p3相连的主机才对组播组的数据感兴趣,则交换机只会将组播数据转发到端口p1与p3上。假设交换机上所有的端口都属于VLAN1,并且与端口p1、p3相连的主机对组地址为226.0.0.1的组播组的数据感兴趣,此时组播转发表如图3所示。

图3

当端口P1的状态变DOWN时(如果交换机不做任何处理),当有组播数据来时,交换机仍会向端口P1转发。而由于端口P1物理层面上已经DOWN掉,组播数据流根本无法达到与端口P1相连的主机,这样无形中给CPU增加了无谓的负担。因此当端口P1的状态变成DOWN时,应该在组播转发表中删除掉与端口P1相关的转发表项,处理之后的转发表如图4所示。由于端口P3的状态没有变化,所以端口P3仍然在出端口列表中。

图4

假定与端口P4相连的主机也对组播组的数据感兴趣,但由于端口P4的状态一直是DOWN,所以端口P4不在出端口列表中。现假定端口P4的状态突然变成UP,如果交换机不响应UP事件,那么即使与端口P4相连的主机对组播组的数据感兴趣,它也收不到组播数据。此时,组播转发表就没有能反应出真实的转发需求。因此当端口P4的状态变成UP时,应该在组播转发表中相应组播组的出端口列表中增加端口P4,处理之后的转发表如图5所示。

图5

以上只是对最简单的情况进行分析与设计,当遇到非常复杂的组播转发表时,处理原理也是一样的:当端口状态变DOWN时,应该在组播转发表中删除与该端口相关的转发表项,以防止增加CPU的负担;反之,当端口状态变UP并且与该端口相连的主机对组播组数据感兴趣时,应该在组播转发表相应表项的出端口列表中增加该端口。另外,如果对端口UP/DOWN事件处理不及时,可能会造成丢包或者CPU超负荷的情况发生,因此,系统对二层事件的响应速度将直接影响网络的可靠性。


相关文章


巧设路由器实现电信、网通南北互通
无线网状网支持VOIP应用前景乐观
以太网组播中二层事件处理机制的分析
网络时断时续源自隐形地址冲突
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛