一种数据通信方法及装置的制造方法_4

文档序号:8225972阅读:来源:国知局
网元高速缓存中均存储了所学习的ARP表项,方便在IP数据包传输过程中查找。由于高速缓存空间有限,因此每隔一段时间会进行ARP老化探测,删除没有使用的ARP表项。所隔的时间可以是ARP表项的老化时间,每一个网元的ARP表项均存储在ARP表中,ARP表中存储了网络中多个网元的ARP表项,当网元检测到所存储的ARP表中某一个ARP表项老化时间到时,该ARP表项所对应的网元即是对端网元,本端网元即在局域网中广播ARP探测报文,当该ARP表项对应的对端网元接收到该ARP探测报文时,即会反馈针对该ARP探测报文的响应。
[0128]具体的,如图3所示,本端网元的控制平面存储ARP表,并控制发起ARP探测报文(ARP request),转发引擎根据控制平面发起的ARP request向对端网元转发ARP request,对端网元的转发平面接收ARP request,并将其上报至控制平面进行分析,控制平面根据ARP request生成响应ARP reply,并调度至转发平面转发至本端网元。
[0129]若本端网元接收到对端网元反馈的响应ARP rep I y,则保留对端网元对应的该ARP表项。如图所示,实际应用中,可能由于对端网元CPU繁忙,导致未向本端网元反馈ARPreply,则本端网元未收到对端网元针对ARP request反馈的响应ARP reply,本端网元第一获取模块100则获取对端网元的目标标识,目标标识可以是对端网元向本端网元发送业务报文时的源MAC地址和本端网元接收对端网元发送的业务报文的输入端口,目标标识的具体存在形式不作限定。
[0130]第二获取模块101,用于根据所述目标标识,获取所述对端网元向所述本端网元发送业务报文的反向速率;
[0131]在一个实施例中,本端网元第二获取模块101根据所获取的目标标识,获取对端网元向本端网元发送业务报文的反向速率,业务报文即是对端网元向本端网元发送上网数据时所封装的报文。第二获取模块101具体的获取方式可以是实时测量对端网元向本端网元发送业务报文的反向速率,也可以是在一段时间内统计对端网元向本端网元发送业务报文的平均反向速率,也可以是累积统计对端网元向本端网元发送业务报文的数量,再按照预设周期采集所统计的数量,根据预设周期与统计的数量计算出对端网元向本端网元发送业务报文的反向速率。
[0132]处理模块102,用于基于所述反向速率,对所述对端网元对应的所述ARP表项进行处理。
[0133]在一个实施例中,本端网元处理模块102基于所获取的反向速率对所述对端网元对应的ARP表项进行处理。可选的,当所获取的反向速率不为零,则说明对端网元向本端网元进行了数据通信,对端网元处于活跃期,未收到对端网元反馈的响应,可能是由于网络链路闪断,对端网元未收到ARP探测报文,因此没有反馈响应,也可能是对端网元的CPU繁忙,没有及时针对ARP探测报文作出响应,因此处理模块102本端网元需要保留对端网元对应的ARP表项,并重置老化定时器。
[0134]另一方面本端网元未收到对端网元针对ARP探测报文反馈的响应,且所获取的对端网元向本端网元发送业务报文的反向速率为零,则可以删除对端网元对应的ARP表项,以节省高速缓存空间。
[0135]本发明实施例中,当对端网元对应的ARP表项老化时间到,本端网元在局域网内广播ARP探测报文,并且未获得对端网元针对该ARP探测报文反馈的响应时,为了进一步确定是否将对端网元对应的ARP表项删除,本端网元获取对端网元的目标标识,根据目标标识,获取对端网元向本端网元发送业务报文的反向速率,本端网元再基于所获取的反向速率,对所述对端网元对应的ARP表项进行处理。本发明实施例中,在本端网元未获得对端网元的反馈响应时,并不是直接将对端网元对应的ARP表项删除,而是获取对端网元向本端网元发送业务报文的反向速率,再基于反向速率对ARP表项进行处理,防止在对端网元处于活跃期而由于繁忙等原因没有及时反馈响应时,误将对端网元对应的ARP表项删除,从而有效避免ARP表项误老化。
[0136]请参照图9,为本发明实施例提供的一种第二获取模块的结构示意图,如图9所示,本实施例中的第二获取模块101包括采集单元1010和计算单元1011,下面对第二获取模块101进行详细说明:
[0137]采集单元1010,用于根据所述对端网元的所述目标标识,按照预设周期向源MAC地址表中采集至少两个目标统计数据,所述目标统计数据表征所述对端网元向所述本端网元发送的业务报文数量;
[0138]作为一种可选的实施方式,本端网元获取对端网元向本端网元发送业务报文的反向速率的获取方式可以是采集单元1010根据对端网元的目标标识,按照预设周期向源MAC地址表中采集至少两个目标统计数据。目标标识包括对端网元向本端网元发送业务报文的源MAC地址和本端网元接收对端网元发送业务报文的输入端口。
[0139]可选的,如图5所示,本端网元控制平面包括ARP协议组件,并对本端网元的一切操作进行控制,控制平面控制学习ARP表项,并将ARP表项存储至ARP表中,ARP表中存储了所学习的网元的IP地址、MAC地址以及端口之间的对应关系,控制平面将所学习的ARP表下发至转发引擎,同时还下发一张源MAC地址表(即是S-MAC表)至转发引擎,S-MAC表中存储了各个所学习的网元的标识与统计数据之间的对应关系。
[0140]ARP表查找关键字是对端网元对应的输入端口和IP地址,所查找的数据是对端网元的MAC地址,S-MAC表的查找关键字是对端网元对应的输入端口和源MAC地址,查找的数据是对端网元对应的目标统计数据,该目标统计数据是对端网元向本端网元发送业务报文的数量。
[0141]当对端网元向本端网元发送反向业务报文时,该反向业务报文通过本端网元的进入三层IP转发,在三层IP转发时,本端网元根据接收该业务报文的输入端口和对端网元的源MAC地址查找S-MAC表,当S-MAC表存储了该输入端口和该源MAC地址,则将对应的目标统计数据进行更新。
[0142]某个网元对应的统计数据用于表征所述本端网元接收自该网元的业务报文的数量,具体可以是接收自该网元的业务报文的个数,相应地,每接收一个该网元发送的业务报文,将该网元对应的统计数据加1,具体还可以是接收自该网元的业务报文的数据量,相应地,每接收一个该网元发送的业务报文,在该网元对应的统计数据上加上所接收的业务报文的数据量,例如,当前的统计数据为910K,该业务报文的大小为5K,则更新后的统计数据为 915K。
[0143]需要说明的是,如果统计数据是业务报文的个数,则可以由计数器进行统计,一个计数器统计一个网元的统计数据。
[0144]计算单元1011,用于根据所述目标统计数据和所述预设周期,计算所述对端网元向所述本端网元发送所述业务报文的反向速率。
[0145]作为一种可选的实施方式,由于目标统计数据可以有多种表示方式,相应地,反向速率也可以有多种表示方式,例如当目标统计数据表示本端网元接收自所述对端网元的业务报文的个数,则反向速率可以是单位时间内本端网元接收自所述对端网元的业务报文的个数,如20个/s;当目标统计数据表示本端网元接收自所述对端网元的业务报文的数据量,则反向速率可以是单位时间内本端网元接收自所述对端网元的业务报文的数据量,如lOOK/so这里以单位时间为1S,目标统计数据为本端网元接收自所述对端网元的业务报文的个数为例进行说明,预设周期为1S,第一次目标统计数据为30,第二次目标统计数据为50,则反向速率为(50-30)/1 = 20即是20报文/S。
[0146]可选的,如图5所示,控制平面定时向转发引擎中的S-MAC表中采集对端网元的源MAC地址和接收对端网元发送的业务报文的输入端口对应的目标统计数据,并根据预设周期和目标统计数据,计算对端网元向本端网元发送业务报文的反向速率。
[0147]本发明实施例中,当对端网元对应的ARP表项老化时间到,本端网元在局域网内广播ARP探测报文,并且未获得对端网元针对该ARP探测报文反馈的响应时,为了进一步确定是否将对端网元对应的ARP表项删除,本端网元获取对端网元的目标标识,根据目标标识,获取对端网元向本端网元发送业务报文的反向速率,本端网元再基于所获取的反向速率,对所述对端网元对应的ARP表项进行处理。本发明实施例中,在本端网元未获得对端网元的反馈响应时,并不是直接将对端网元对应的ARP表项删除,而是获取对端网元向本端网元发送业务报文的反向速率,再基于反向速率对ARP表项进行处理,防止在对端网元处于活跃期而由于繁忙等原因没有及时反馈响应时,误将对端网元对应的ARP表项删除,从而有效避免ARP表项误老化。
[0148]请参照图10,为本发明实施例提供的另一种数据通信装置的结构示意图,如图10所示,本实施例的数据通信装置包括第一获取模块100、第二获取模块101、处理模块102、第一生成模块103、第二生成模块104、存储模块105以及更新模块106,其中,第一获取模块100、第二获取模块101、处理模块102请参照图9的描述,在此不再赘述。
[0149]第一生成模块103,用于生成所述对端网元对应的ARP表项;
[0150]作为一种可选的实施方式,本端网元第一生成模块103在进行数据通信过程中需要学习各个网元对应的ARP表项,并将所学习的ARP表项存储在ARP表中,ARP表存储在网元的高速缓存中,所学习的ARP表项包括对端网元对应的ARP表项。具体的学习过程请参照现有的ARP学习过程。
[0151]第二生成模块104,用于根据所述对端网元对应的所述ARP表项,生成所述目标标识与所述目标统计数据之间的对应关系;
[0152]作为一种可选的实施方式,当学习对端网元对应的ARP表项同时,第二生成模块104根据所学习的ARP表项生成对端网元的目标标识与目标统计数据之间的对应关系,即是对端网元的源MAC地址、输入端口与目标统计数据之间的对应关系。
[0153]存储模块105,用于将所述目标标识与所述目标统计数据之间的对应关系存储至所述源MAC地址表中;
[0154]作为一种可选的实施方式,存储模块105将目标标识与目标统计数据之间的对应关系存储至源MAC地址表中,即是将所生成的对端网元的源MAC地址、输入端口以及目标统计数据之间的对应关系存储至源MAC地址表中,具体的如图5所示,控制平面将源MAC地址、输入端口与目标统计数据之间的对应关系存储至转发引擎的S-MAC表中。
[0155]更新模块106,用于当所述本端网元接收到所述对端网元发送的业务报文时,更新所述源MAC地址表中的所述目标统计数据。
[0156]作为一种可选的实施方式,当对端网元向本端网元发送业务报文时,即是当本端网元接收到对端网元发送的业务报文时,本端网元更新模块106根据对端网元的源MAC地址和接收业务报文的输入端口,对目标统计数据进行更新。
[0157]本发明实施例中,当对端网元对应的ARP表项老化时间到,本端网元在局域网内广播ARP探测报文,并且未获得对端网元针对该ARP探测报文反馈的响应时,为了进一步确定是否将对端网元对应的ARP表项删除,本端
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1