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

文档序号:8225972阅读:来源:国知局
网元获取对端网元的目标标识,根据目标标识,获取对端网元向本端网元发送业务报文的反向速率,本端网元再基于所获取的反向速率,对所述对端网元对应的ARP表项进行处理。本发明实施例中,在本端网元未获得对端网元的反馈响应时,并不是直接将对端网元对应的ARP表项删除,而是获取对端网元向本端网元发送业务报文的反向速率,再基于反向速率对ARP表项进行处理,防止在对端网元处于活跃期而由于繁忙等原因没有及时反馈响应时,误将对端网元对应的ARP表项删除,从而有效避免ARP表项误老化。
[0158]请参照图11,为本发明实施例提供的一种更新模块的结构示意图,如图所示,本实施例的更新模块106包括获取单元1060和查找更新单元1061 ;
[0159]获取单元1060,用于当所述本端网元接收到所述对端网元发送的业务报文时,从接收的所述业务报文中获取所述对端网元的所述目标标识;
[0160]作为一种可选的实施方式,当对端网元向本端网元发送业务报文时,本端网元获取单元1060获取对端网元的目标标识,即是对端网元的的源MAC地址以及接收业务报文的输入端口,具体的获取方式可以是从从所接收的业务报文中提取。
[0161]查找更新单元1061,用于根据所述目标标识,在所述源MAC地址表中查找所述目标统计数据,并更新所述目标统计数据。
[0162]作为一种可选的实施方式,S-MAC表中存储了多个标识与多个统计数据之间的对应关系,一个标识对应一个统计数据。本端网元查找更新单元1061根据目标标识,即是根据源MAC地址和输入端口,在S-MAC表中查找目标统计数据,并更新该目标统计数据。
[0163]本发明实施例中,当对端网元对应的ARP表项老化时间到,本端网元在局域网内广播ARP探测报文,并且未获得对端网元针对该ARP探测报文反馈的响应时,为了进一步确定是否将对端网元对应的ARP表项删除,本端网元获取对端网元的目标标识,根据目标标识,获取对端网元向本端网元发送业务报文的反向速率,本端网元再基于所获取的反向速率,对所述对端网元对应的ARP表项进行处理。本发明实施例中,在本端网元未获得对端网元的反馈响应时,并不是直接将对端网元对应的ARP表项删除,而是获取对端网元向本端网元发送业务报文的反向速率,再基于反向速率对ARP表项进行处理,防止在对端网元处于活跃期而由于繁忙等原因没有及时反馈响应时,误将对端网元对应的ARP表项删除,从而有效避免ARP表项误老化。
[0164]请参照图12,为本发明实施例提供的又一种数据通信装置的结构示意图。图12的数据通信装置可用于实现上述方法实施例中各步骤及方法。图12的实施例中,数据通信装置包括处理器200、收发器201、存储器202以及总线203。存储器202用于存储指令,处理器200用于执行存储器202中的指令,以完成后续数据通信操作。存储器202可以包括只读存储器和随机存取存储器,数据通信装置的各个组件通过总线系统203耦合在一起,其中总线系统203除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统203。数据通信装置可以应用于本端网元。下面对各个组件进行详细描述:
[0165]所述收发器,用于当对端网元对应的ARP表项老化时间到时,在局域网内广播ARP探测报文;
[0166]所述处理器,用于当对端网元对应的ARP表项老化时间到,收发器在局域网内广播ARP探测报文,且未获得所述对端网元针对所述ARP探测报文反馈的响应时,获取所述对端网元的目标标识;
[0167]所述处理器还用于根据所述目标标识,获取所述对端网元向所述本端网元发送业务报文的反向速率;
[0168]所述处理器还用于基于所述反向速率,对所述对端网元对应的所述ARP表项进行处理。
[0169]可选的,传输网络数据是基于IP分组,即将网络数据封装成IP数据包进行传输,IP数据包实际是基于网络设备的MAC地址进行传输,IP数据包中包括源IP地址和目的IP地址,在传输过程中IP数据包需要经过多个网元传输,例如多个路由设备或者交换机等等。在传输过程中,基于IP数据包的源IP地址和目的IP地址,路由设备进行路由选择,并决定下一跳路由设备的IP地址,并将IP数据包传输给下一个路由设备,在传输时,实际上是基于下一跳路由设备的MAC地址进行传输。因此路由设备需要在高速缓存中查找下一跳路由设备对应的ARP表项以获取下一跳路由设备的IP地址对应的MAC地址。上述的路由设备即是本端网元,下一跳路由设备即是对端网元。
[0170]网络中的每一个网元高速缓存中均存储了所学习的ARP表项,方便在IP数据包传输过程中查找。由于高速缓存空间有限,因此每隔一段时间会进行ARP老化探测,删除没有使用的ARP表项。所隔的时间可以是ARP表项的老化时间,每一个网元的ARP表项均存储在ARP表中,ARP表中存储了网络中多个网元的ARP表项,当网元检测到所存储的ARP表中某一个ARP表项老化时间到时,该ARP表项所对应的网元即是对端网元,本端网元即在局域网中广播ARP探测报文,当该ARP表项对应的对端网元接收到该ARP探测报文时,即会反馈针对该ARP探测报文的响应。
[0171]具体的,如图3所示,本端网元的控制平面存储ARP表,并控制发起ARP探测报文(ARP request),转发引擎根据控制平面发起的ARP request向对端网元转发ARP request,对端网元的转发平面接收ARP request,并将其上报至控制平面进行分析,控制平面根据ARP request生成响应ARP reply,并调度至转发平面转发至本端网元。
[0172]若本端网元接收到对端网元反馈的响应ARP rep I y,则保留对端网元对应的该ARP表项。如图所示,实际应用中,可能由于对端网元CPU繁忙,导致未向本端网元反馈ARPreply,则本端网元未收到对端网元针对ARP request反馈的响应ARP reply,本端网元则获取对端网元的目标标识,目标标识可以是对端网元向本端网元发送业务报文时的源MAC地址和本端网元接收对端网元发送的业务报文的输入端口,目标标识的具体存在形式不作限定。
[0173]可选的,本端网元根据所获取的目标标识,获取对端网元向本端网元发送业务报文的反向速率,业务报文即是对端网元向本端网元发送上网数据时所封装的报文。具体的获取方式可以是实时测量对端网元向本端网元发送业务报文的反向速率,也可以是在一段时间内统计对端网元向本端网元发送业务报文的平均反向速率,也可以是累积统计对端网元向本端网元发送业务报文的数量,再按照预设周期采集所统计的数量,根据预设周期与统计的数量计算出对端网元向本端网元发送业务报文的反向速率。
[0174]可选的,本端网元基于所获取的反向速率对所述对端网元对应的ARP表项进行处理。可选的,当所获取的反向速率不为零,则说明对端网元向本端网元进行了数据通信,对端网元处于活跃期,未收到对端网元反馈的响应,可能是由于网络链路闪断,对端网元未收到ARP探测报文,因此没有反馈响应,也可能是对端网元的CPU繁忙,没有及时针对ARP探测报文作出响应,因此本端网元需要保留对端网元对应的ARP表项,并重置老化定时器。
[0175]另一方面本端网元未收到对端网元针对ARP探测报文反馈的响应,且所获取的对端网元向本端网元发送业务报文的反向速率为零,则可以删除对端网元对应的ARP表项,以节省高速缓存空间。
[0176]所述处理器还用于若所述反向速率不为零,则保留所述对端网元对应的所述ARP表项;
[0177]所述处理器还用于若所述反向速率为零,则删除所述对端网元对应的所述ARP表项。
[0178]可选的,若对端网元向本端网元发送业务报文的反向速率不为零,则表明对端网元向本端网元进行了数据通信,对端网元处于活跃期,未收到对端网元反馈的响应,可能是由于网络链路闪断,对端网元未收到ARP探测报文,因此没有反馈响应,也可能是对端网元的CPU繁忙,没有及时针对ARP探测报文作出响应,因此本端网元需要保留对端网元对应的ARP表项,并重置老化定时器。
[0179]可选的,本端网元未收到对端网元针对ARP探测报文反馈的响应,且所获取的对端网元向本端网元发送业务报文的反向速率为零,则可以删除对端网元对应的ARP表项,以节省高速缓存空间。
[0180]可选的,所述目标标识包括所述对端网元向所述本端网元发送的所述业务报文的源MAC地址和所述本端网元接收所述对端网元发送的所述业务报文的输入端口。
[0181]所述处理器还用于根据所述对端网元的所述目标标识,按照预设周期向源MAC地址表中采集至少两个目标统计数据,所述目标统计数据表征所述对端网元向所述本端网元发送的业务报文数量;
[0182]所述处理器还用于根据所述目标统计数据和所述预设周期,计算所述对端网元向所述本端网元发送所述业务报文的反向速率。
[0183]可选的,本端网元获取对端网元向本端网元发送业务报文的反向速率的获取方式可以是根据对端网元的目标标识,按照预设周期向源MAC地址表中采集至少两个目标统计数据。目标标识包括对端网元向本端网元发送业务报文的源MAC地址和本端网元接收对端网元发送业务报文的输入端口。
[0184]可选的,如图5所示,本端网元控制平面包括ARP协议组件,并对本端网元的一切操作进行控制,控制平面控制学习ARP表项,并将ARP表项存储至ARP表中,ARP表中存储了所学习的网元的IP地址、MAC地址以及端口之间的对应关系,控制平面将所学习的ARP表下发至转发引擎,同时还下发一张源MAC地址表(即是S-MAC表)至转发引擎,S-MAC表中存储了各个所学习的网元的标识与统计数据之间的对应关系。
[0185]ARP表查找关键字是对端网元对应的输入端口和IP地址,所查找的数据是对端网元的MAC地址,S-MAC表的查找关键字是对端网元对应的输入端口和源MAC地址,查找的数据是对端网元对应的目标统计数据,该目标统计数据是对端网元向本端网元发送业务报文的数量。
[0186]当对端网元向本端网元发送反向业务报文时,该反向业务报文通过本端网元的三层IP转发,在三层IP转发时,本端网元根据接收该业务报文的输入端口和对端网元的源MAC地址查找S-MAC表,当S-MAC表存储了该输入端口和该源MAC地址,则将对应的目标统计数据进行更新。
[0187]某个网元对应的统计数据用于表征所述本端网元接收自该网元的业务报文的数量,具体可以是接收自该网元的业务报文的个数,相应地,每接收一个该网元发送的业务报文,将该网元对应的统计数据加1,具体还可以是接收自该网元的业务报文的数据量,相应地,每接收一个该网元发送的业务报文,在该网元对应的统计数据上加上所接收的业务报文的数据量,例如,当前的统计数据为910K,该业务报文的大小为5K,则更新后的统计数据为 915K。
[0188]需要说明的是,如果统计数据是业务报文的个数,则可以由计数器进行统计,一个计数器统计一个网元的统计数据。
[0189]可选的,由于目标统计数据可以有多种表示方式,相应地,反向速率也可以有多种表示方式,例如当目标统计
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1