一种学习ARP表项的方法及PTN设备与流程

文档序号:12889976阅读:381来源:国知局
一种学习ARP表项的方法及PTN设备与流程
本发明涉及通信
技术领域
,尤其涉及一种学习arp表项的方法及ptn设备。
背景技术
:目前,移动承载网采用分组传送网(packettransportnetwork,ptn)组网技术,而移动承载网的二层(layer2)ptn通常采用以太网进行组网,例如,采用千兆以太网(gigabitethernet,ge)、10ge或100ge进行组网。ptn中的三层(layer3)ptn的ptn设备维护的地址解析协议(addressprocessingunit,arp)表项是该ptn设备转发的三层报文进入二层以太网的桥梁。其中,一个arp表项为所述三层报文的转发路径中间隔以太网的相邻ptn设备(即下一三层网络设备)的因特网协议(internetprotocol,ip)地址(即下一跳ip地址)和虚拟路由转发实例(virtualroutingforwarding,vrf)与所述下一三层网络设备的媒体访问控制(mediaaccesscontrol,mac)地址的映射关系,三层报文可以为ip报文或多协议标签交换(multi-protocollabelswitching,mpls)报文等。一个ptn设备转发ip报文的流程为:所述ptn设备接收到所述ip报文后,所述ptn设备的转发平面根据所述ip报文中的目的ip地址以及vrf查询本地存储的路由表,得到下一跳ip地址,然后根据下一跳ip地址和所述vrf查询本地存储的arp表项;若查询到包含所述下一跳ip地址和所述vrf的arp表项,则根据查询到的arp表项中的mac地址对所述ip报文进行封装,封装得到以太网帧并进行转发,所述mac地址封装在所述以太网帧头内;若未查询到包含所述下一跳ip地址和所述vrf的arp表项,则发起学习arp表项流程:所述转发平面向所述ptn设备的中央处理器(centralprocessingunit,cpu)上报arpmiss消息,触发所述ptn设备的控制平面广播arp请求消息,所述arp请求消息中包含所述下一跳ip地址;在接收到所述下一跳ip地址对应的网络设备返回的arp响应后,所述控制平面根据所述下一跳ip地址和所述vrf,以及arp响应消息中包含的所述网络设备的mac地址,生成arp表项,所述转发平面根据生成的所述arp表项转发所述ip报文。其中,所述ptn设备采用转发与控制分离的架构,即所述ptn设备中包括转发平面和控制平面。然而,通常情况下,ptn设备的转发平面转发三层报文的速率很高,当针对一个三层报文未查询到arp表项,会向cpu上报arpmiss消息,那么针对后续转发的每个包含的目的ip地址与上述三层报文相同的三层报文,也不能查询到arp表项,同样也会向cpu上报arpmiss消息,这就导致ptn设备中的cpu会短时间内接收到大量的arpmiss消息,对所述cpu造成冲击。因此,传统的ptn设备中设置有承诺访问速率(committedaccessrate,car),用于限制转发平面上报的arpmiss消息的速率,例如,某ptn设备中设置的car为100kb/s,那么在一秒内,所述ptn设备的转发平面可以向所述ptn设备的cpu上报100kb的arpmiss消息,将超过100kb以外的arpmiss消息直接舍弃。ptn设备中设置car,可以限制ptn设备的转发平面上报的arpmiss消息的速率,然而,该car的取值为固定值,当该car的取值设置较大时,那么上报的arpmiss消息的速率较高,还是会对ptn设备的cpu造成冲击,降低了ptn设备的控制平面的安全性;当该car的取值设置较小时,那么上报的arpmiss消息的速率较小,影响ptn设备的控制平面学习arp表项的速度,进而延长了三层报文抵达下一三层网络设备的时间,即延长了业务贯通的时间。技术实现要素:本发明提供一种学习arp表项的方法及ptn设备,用以解决限制ptn设备的转发平面上报arpmiss消息的速率时,对ptn设备的cpu造成冲击或影响ptn设备的控制平面学习arp表项的速度的问题。本发明提供的具体技术方案如下:一方面,本发明实施例提供了一种学习arp表项的方法,该方法包括:分组传送网ptn设备的转发平面获取第一待转发报文的第一报文转发信息,并根据所述第一报文转发信息,未查询到包含所述第一报文转发信息的第一地址解析协议arp表项;其中,所述第一报文转发信息为虚拟路由转发实例vrf和下一跳因特网协议ip地址,所述第一arp表项为所述第一报文转发信息与媒体访问控制mac地址的映射关系;所述转发平面确定所述第一报文转发信息所属的第一报文转发信息集合;所述转发平面根据存储的多个报文转发信息集合与承诺访问速率car的对应关系,获取所述第一报文转发信息集合对应的第一car,所述第一car为设定时间单位内所述转发平面上报至所述ptn设备的控制平面的第一arpmiss消息和第二arpmiss消息的数目阈值,所述第二arpmiss消息为所述转发平面针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同,所述第一arpmiss消息为所述转发平面针对所述第一待转发报文生成的;所述转发平面针对所述第一待转发报文生成第一arpmiss消息,并将所述第一arpmiss消息上报给所述控制平面,以及根据所述第一car,对后续生成的第二arpmiss消息进行上报;所述控制平面根据所述第一arpmiss消息,进行所述第一arp表项的学习。采用上述方法,由于所述ptn设备中存储有多个报文转发信息集合与 car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。在一个可能的设计中,所述转发平面确定所述第一报文转发信息所属的第一报文转发信息集合,包括:所述转发平面在存储的多个报文转发信息集合中检索所述第一报文转发信息;当所述转发平面在一个报文转发信息集合中检索到所述第一报文转发信息时,确定所述报文转发信息集合为所述第一报文转发信息集合。通过上述方法,由于所述ptn设备中存储有多个报文转发信息集合,这样所述ptn设备可以将多个报文转发信息划分为多个报文转发信息集合,且根据多个报文转发信息集合与car的对应关系,针对不同的报文转发信息集合中的报文转发信息确定对应的car,根据确定的car处理对应的待转发报文,便于所述ptn设备对待转发报文进行管理。在一个可能的设计中,所述控制平面根据所述第一arpmiss消息,进行所述第一arp表项的学习,包括:所述控制平面根据所述第一arpmiss消息,生成对应的arp表项学习任务;所述控制平面根据存储的多个报文转发信息集合与优先级的对应关系,确定所述第一报文转发信息集合对应的第一优先级,将所述第一优先级作为所述控制平面处理所述arp表项学习任务的优先级;所述控制平面按照所述第一优先级,处理所述arp表项学习任务,生成所述第一arp表项。通过上述方法,由于所述ptn设备中的控制平面存储有多个报文转发信息集合与优先级的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn可以灵活调整每个报文转发信息集合对应的优先级,限制了所述控制平面针对不同可信程度的用户(即报文转发信息),学习arp表项的优先级,保证了可信用户的arp学习的速率,缩短了合法业务贯通时间,避免所述ptn设备受到非法报文的arpmiss消息的攻击,保证了所述ptn设备的控制平面的安全性。在一个可能的设计中,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,包括:当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目小于或等于所述第一car与1的差时,所述转发平面将生成的所有第二arpmiss消息全部上报给所述控制平面;当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目大于所述第一car与1的差时,所述转发平面将生成的部分第二arpmiss消息上报给所述控制平面,所述部分第二arpmiss消息的数目为所述第一car与1的差。通过上述方法,所述转发平面可以通过所述第一car,限制所述转发平面针对所述第一报文转发信息上报arpmiss消息的速率。在一个可能的设计中,在所述控制平面生成所述第一arp表项之前,所述方法还包括:所述控制平面生成包含所述第一报文转发信息的第二arp表项,所述第二arp表项用于指示所述转发平面在针对一待转发报文查询到所述第二arp表项时,将所述待转发报文丢弃,所述第二arp表项的第一老化时间为针对所述第一报文转发信息集合设置的;所述控制平面在后续每次生成所述第二arp表项,将所述第二arp表项的所述第一老化时间延长设定第一时长,直至所述第二arp表项延长后的所 述第一老化时间大于或等于针对第二报文转发信息集合设置的第二老化时间时,将所述第一报文转发信息集合中的所述第一报文转发信息删除,并在所述第二报文转发信息集合中添加所述第一报文转发信息;其中,后续每次生成的第二arp表项,是在上次生成的第二arp表项的老化时间后,且所述控制平面接收到所述第二arpmiss消息时生成的;其中,所述第一car大于所述第二报文转发信息集合对应的第二car,所述第一优先级高于所述第二报文转发信息集合对应的第二优先级,且针对所述第一报文转发信息集合设置的第一老化时间小于所述第二老化时间。通过上述方法,所述ptn设备的控制平面对多个报文转发信息集合中的报文转发信息智能调整,提高所述ptn设备灵活应对环境变化的能力。在一个可能的设计中,在所述控制平面生成所述第一arp表项之后,所述方法还包括:所述控制平面删除所述第二arp表项。在一个可能的设计中,所述第一car不是所述多个报文转发信息集合与car的对应关系中包含的多个car中的最大值;在所述控制平面生成所述第一arp表项之后,所述方法还包括:所述控制平面将所述第二报文转发信息集合中的所述第一报文转发信息删除,并在所述第三报文转发信息集合中添加所述第一报文转发信息,其中,所述第三报文转发信息集合对应的第三car,为所述多个car中的最大值。通过上述方法,所述ptn设备的控制平面成功学习到所述第一arp表项时,所述控制平面将所述第一报文转发信息作为合法的可信的报文转发信息,因此,将所述第一报文转发信息移至最合法的可信的报文转发信息集合中,由于合法的可信报文对应的报文转发信息集合(例如白名单)对应的car最大,且通过上述论述可知,该报文转发信息集合对应的优先级最高,因此,需要将所述第一报文转发信息移至对应的car最大的第三报文转发信息集合。第二方面,本发明实施例还提供了一种ptn设备,该ptn设备具有实现 上述方法实例中ptn设备的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的设计中,所述ptn设备的结构中包括转发单元和控制单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。在一种可能的设计中,所述ptn设备的结构中包括收发器、处理器、总线以及存储器,所述收发器用于与所述ptn设备相连的设备进行通信交互,所述处理器被配置为支持所述ptn设备执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述ptn设备必要的程序指令和数据。采用本发明提供的学习arp表项的方法,ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。附图说明图1为本发明实施例提供的一种实现学习arp表项的方法的ptn架构图;图2为本发明实施例提供的一种学习arp表项的方法流程图;图3为本发明实施例提供的一种学习arp表项的示例流程示意图;图4为本发明实施例提供的一种ptn设备的结构示意图;图5为本发明实施例提供的一种ptn设备的结构示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例提供一种学习arp表项的方法及ptn设备,用以解决现有技术中限制ptn设备的转发平面上报arpmiss消息的速率时,对ptn设备的cpu造成冲击或影响ptn设备的控制平面学习arp表项的速度的问题。其中,本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。本发明实施例中,ptn设备中存储有多个报文转发信息集合与car的对应关系,在所述ptn设备的转发平面针对第一待转发报文,未查询到包含所述第一待转发报文的第一报文转发信息的第一arp表项时,确定所述第一待转发报文所属的第一报文转发信息集合,进而确定所述第一报文转发信息集合对应的第一car,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,其中所述第二arpmiss消息为所述转发平面针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同;所述转发平面针对所述第一待转发报文生成第一arpmiss消息并上报给所述ptn设备的控制平面,使所述控制平面进行所述第一arp表项的学习。由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。本发明实施例提供的一种学习arp表项的方法,适用于如图1所示的ptn 中,在所述ptn中l2ptn采用以太网进行组网,所述ptn的l3ptn中包含多个ptn设备,ptn设备可以为基于arp标准协议的路由器或其他具有路由功能的设备,所述以太网中包含多个网络设备,例如以太网交换机102等设备。其中,l3ptn中的ptn设备101在穿越以太网将三层报文发给l3ptn中的ptn设备103的流程包括:所述ptn设备101接收到一个三层报文(例如ip报文),首先获取该三层报文的vrf以及目的ip地址,根据上述两项信息查询本地存储的路由表,得到所述三层报文的转发路径中间隔以太网的相邻ptn设备(如图ptn设备103)的ip地址(即下一跳ip地址);然后,所述ptn设备101根据所述下一跳ip地址和所述vrf,查询本地存储的多个arp表项;在查询到包含所述下一跳ip地址和所述vrf的第一arp表项时,所述ptn设备101获取所述第一arp表项中包含的mac地址,并根据所述mac地址将所述三层报文转发至所述ptn设备103,具体包括:所述ptn设备101将所述三层报文封装为以太网帧,并将所述mac地址封装在所述以太网帧头内,所述ptn设备101将封装后的以太网帧通过以太网中的网络设备(如交换机102),最终发送至所述ptn设备103;在未查询到包含所述下一跳ip地址和所述vrf的第一arp表项时,所述ptn设备101触发所述第一arp表项的学习流程,在学习到所述第一arp表项后,根据所述第一arp表项中包含的mac地址转发后续的具有所述下一跳ip地址和所述vrf的待转发的三层报文。在本发明实施例中,所述ptn设备101采用转发和控制分离的架构,所述ptn设备101中包含转发平面和控制平面,其中,所述转发平面用于在接收到三层报文后,查询本地存储的路由表以及arp表项,还用于在未查询到所述第一arp表项时,向所述控制平面上报arpmiss消息,触发控制平面发起所述第一arp表项的学习流程;所述控制平面用于arp表项的学习。参阅图2所示,本发明实施例提供的一种学习arp表项的方法,该方法可以但不限于应用于如图1所示的ptn中,本发明实施例涉及的ptn设备可以为图1中的ptn设备101。该方法的处理流程包括:步骤201:ptn设备的转发平面获取第一待转发报文的第一报文转发信息,并根据所述第一报文转发信息,未查询到包含所述第一报文转发信息的第一arp表项;其中,所述第一报文转发信息为vrf和下一跳ip地址,所述第一arp表项为所述第一报文转发信息与mac地址的映射关系。在本发明实施例中涉及的ptn设备采用的转发和控制分离的架构,因此,所述ptn设备包括转发平面和控制平面。其中,所述ptn设备获取所述第一待转发报文的vrf,包括:所述ptn设备根据接收所述第一待转发报文的端口,并确定所述端口对应的虚拟专用网络(virtualprivatenetwork,vpn),根据所述vpn确定所述第一待转发报文的vrf。其中,所述ptn设备获取所述第一待转发报文的下一跳ip地址,具体包括:所述ptn设备获取所述第一待转发报文中包含的目的ip地址;根据所述目的ip地址和获取的所述vrf,在本地存储的路由表中查询,一个路由表目的ip地址和vrf与下一跳ip地址的映射关系;在查询到包含所述所述目的ip地址和所述vrf的第一路由表后,获取所述第一路由表中包含的下一跳ip地址。步骤202:所述转发平面确定所述第一报文转发信息所属的第一报文转发信息集合。可选的,所述ptn设备的转发平面在执行步骤202时,具体包括:所述转发平面在存储的多个报文转发信息集合中检索所述第一报文转发信息;当所述转发平面在一个报文转发信息集合中检索到所述第一报文转发信 息时,确定所述报文转发信息集合为所述第一报文转发信息集合。所述ptn设备中存储有多个报文转发信息集合,这样所述ptn设备可以将多个报文转发信息划分为多个报文转发信息集合,且根据多个报文转发信息集合与car的对应关系,针对不同的报文转发信息集合中的报文转发信息确定对应的car,根据确定的car处理对应的待转发报文,便于所述ptn设备对待转发报文进行管理。例如,可以多个报文转发信息集合包括黑名单、白名单和灰名单3个集合,具有白名单中的报文转发信息的待转发报文是合法的可信报文概率最大,而具有黑名单中的报文转发信息的待转发报文是非法报文的概率最大,而具有灰名单中的报文转发信息的待转发报文的可信程度不确定,因此,白名单对应的car最大,灰名单对应的car适中,而黑名单对应的car最小。可选的,多个报文转发信息集合可以是用户预先配置的,或者是由所述ptn设备自适应配置的,本发明对此不做限定。例如,所述ptn设备网络路由下一跳ip地址,并将路由到的下一跳ip地址自适应列入白名单,或者所述ptn设备静态隧道(tunnel)的下一跳ip地址自适应列入白名单,或者所述ptn设备将曾经成功学习到arp表项的下一跳ip地址自动列入白名单。步骤203:所述转发平面根据存储的多个报文转发信息集合与car的对应关系,获取所述第一报文转发信息集合对应的第一car,所述第一car为设定时间单位内所述转发平面上报至所述ptn设备的控制平面的第一arpmiss消息和第二arpmiss消息的数目阈值,所述第二arpmiss消息为所述转发平面针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同,所述第一arpmiss消息为所述转发平面针对所述第一待转发报文生成的。可选的,报文转发信息集合与car的对应关系中的car可以包括承诺信息速率(committedinformationrate,cir)和/或最高信息速率(peakinformationrate,pir),其中,所述cir为允许上报arpmiss消息的平均速率,而pir 为允许上报arpmiss消息的最大速率,所述cir和所述pir针对的arpmiss消息为所述转发平面针对具有同一报文转发信息的待转发报文生成的。可选的,当所述多个报文转发信息集合为黑名单、白名单和灰名单3个集合时,多个报文转发信息集合对应的car的取值如表1所示:表1多个报文转发信息集合对应的car报文转发信息集合car对应的上报arpmiss消息速率白名单大高灰名单中中黑名单小低在实际应用场景中,ptn设备作为汇聚节点时,与之连接的基站数量巨大,因此,需要学习大量的arp表项,而且长期演进(longtermevolution,lte)场景中,汇聚节点ptn设备承载x2业务(即基站之间的业务),因此ptn设备更容易受到非法报文的攻击,这样会导致所述ptn设备的cpu额外处理这些非法报文的arpmiss消息,因此,占用了cpu资源,使得合法业务的贯通时延增加。由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,避免对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。步骤204:所述转发平面针对所述第一待转发报文生成第一arpmiss消息,并将所述第一arpmiss消息上报给所述控制平面,以及根据所述第一car,对后续生成的第二arpmiss消息进行上报。在步骤204中,所述转发平面通过向所述控制平面发送所述第一arpmiss消息,触发所述控制平面进行所述第一arp表项的学习。可选的,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,包括:当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目小于或等于所述第一car与1的差时,所述转发平面将生成的所有第二arpmiss消息全部上报给所述控制平面;当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目大于所述第一car与1的差时,所述转发平面将生成的部分第二arpmiss消息上报给所述控制平面,所述部分第二arpmiss消息的数目为所述第一car与1的差。通过上述方法,所述转发平面可以通过所述第一car,限制所述转发平面针对所述第一报文转发信息上报arpmiss消息的速率。步骤205:所述控制平面根据所述第一arpmiss消息,进行所述第一arp表项的学习。可选的,所述控制平面在执行步骤205时,包括:所述控制平面根据所述第一arpmiss消息,生成对应的arp表项学习任务;所述控制平面根据存储的多个报文转发信息集合与优先级的对应关系,确定所述第一报文转发信息集合对应的第一优先级,将所述第一优先级作为所述控制平面处理所述arp表项学习任务的优先级;所述控制平面按照所述第一优先级,处理所述arp表项学习任务,生成所述第一arp表项。所述控制平面中保存有多个报文转发信息集合与优先级的对应关系,不同的报文转发信息结合对应的优先级不同,例如,当所述多个报文转发信息集合为黑名单、白名单和灰名单3个集合时,多个报文转发信息集合对应的优先级如表2所示:表2多个报文转发信息集合对应的优先级报文转发信息集合优先级控制平面处理arp表项学习任务的优先级白名单高高灰名单中中黑名单低低其中,可选的,所述控制平面可以根据优先级,将arp表项学习任务放置在优先级对应的任务队列中,例如所述控制平面将针对白名单中报文转发信息生成的arp表项学习任务,置于高优先级队列中。通过上述方法,由于所述ptn设备中的控制平面存储有多个报文转发信息集合与优先级的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn可以灵活调整每个报文转发信息集合对应的优先级,限制了所述控制平面针对不同可信程度的用户(即报文转发信息),学习arp表项的优先级,保证了可信用户的arp学习的速率,缩短了合法业务贯通时间,避免所述ptn设备受到非法报文的arpmiss消息的攻击,保证了所述ptn设备的控制平面的安全性。其中,所述控制平面在执行步骤205之前,所述方法还包括:所述控制平面生成包含所述第一报文转发信息的第二arp表项,所述第二arp表项用于指示所述转发平面在针对一待转发报文查询到所述第二arp表项时,将所述待转发报文丢弃,所述第二arp表项的第一老化时间为针对所述第一报文转发信息集合设置的;所述控制平面在后续每次生成所述第二arp表项,将所述第二arp表项的所述第一老化时间延长设定第一时长,直至所述第二arp表项延长后的所述第一老化时间大于或等于针对第二报文转发信息集合设置的第二老化时间时,将所述第一报文转发信息集合中的所述第一报文转发信息删除,并在所述第二报文转发信息集合中添加所述第一报文转发信息;其中,后续每次生成的第二arp表项,是在上次生成的第二arp表项的老化时间后,且所述控制平面接收到所述第二arpmiss消息时生成的;其中,所述第一car大于所述第二报文转发信息集合对应的第二car, 所述第一优先级高于所述第二报文转发信息集合对应的第二优先级,且针对所述第一报文转发信息集合设置的第一老化时间小于所述第二老化时间。所述第二arp表项可以称为黑洞路由表项或arp伪(dummy)表项,用于将具有所述第一报文转发信息的待转发报文丢弃,避免所述转发平面后续针对具有所述第一报文转发信息的待转发报文继续上报arpmiss消息给所述控制平面。其中,针对不同报文转发信息集合包含的报文转发信息生成的arpdummy表项的老化时间不同,例如针对黑名单生成的arpdummy表项的老化时间最长,针对白名单生成的arpdummy表项的老化时间最短,这样,可以提高所述ptn设备防止非法报文的arpmiss消息的攻击的能力,加快合法的可信用户的arp学习的速率,缩短了合法业务贯通时间,保证了所述ptn设备的控制平面的安全性。由以上论述可知,在第一次生成包含所述第一报文转发信息的第二arp表项到所述控制平面学习到所述第一arp表项之间的期间较长,而所述第二arp表项的老化时间较短,因此,在首次生成的第二arp表项的老化时间到达后,所述转发平面可能还会收到具有所述第一报文转发信息的待转发报文,因此,所述转平面会再次生成所述第二arp表项,由于所述转发平面多次收到大量的具有所述第一报文转发信息的待转发报文,因此具有所述第一报文转发信息的待转发报文是非法报文的概率增加,通过上述方法,每次生成第二arp表项时,将生成的arp的表项的第一老化时间延长设定第一时长(如2秒(second,s)、5s或10s等)直至当所述第二arp表项的第一老化时间大于或等于针对第二报文转发信息集合设置的第二老化时间时,将所述第一报文转发信息调整到第二报文转发信息集合。例如,所述控制平面针对白名单设置的老化时间为10s,针对灰名单设置的老化时间为30s,所述控制平面第一次生成包含所述白名单中一个第一报文转发信息的第二arp表项时,该第二arp表项的老化时间为10s,后续经过 该第二arp表项的老化时间后,再次生成该arp表项,每次老化时间延长5s,则所述第二arp表项总共生成5次,第5次该第二arp表项的老化时间为30s,此时所述ptn设备还未学习到第一arp表项时,所述ptn设备将所述白名单中的该第一报文转发信息删除,并移至灰名单中。通过上述方法,所述ptn设备的控制平面对多个报文转发信息集合中的报文转发信息智能调整,提高所述ptn设备灵活应对环境变化的能力。在所述控制平面生成包含所述第一报文转发信息的第二arp表项的情况下,在所述控制平面生成所述第一arp表项之后,所述方法还包括:所述控制平面删除所述第二arp表项。可选的,所述第一car不是所述多个报文转发信息集合与car的对应关系中包含的多个car中的最大值;在所述控制平面生成所述第一arp表项之后,所述方法还包括:所述控制平面将所述第二报文转发信息集合中的所述第一报文转发信息删除,并在所述第三报文转发信息集合中添加所述第一报文转发信息,其中,所述第三报文转发信息集合对应的第三car,为所述多个car中的最大值。通过上述方法,所述ptn设备的控制平面成功学习到所述第一arp表项时,所述控制平面将所述第一报文转发信息作为合法的可信的报文转发信息,因此,将所述第一报文转发信息移至最合法的可信的报文转发信息集合中,由于合法的可信报文对应的报文转发信息集合(例如白名单)对应的car最大,且通过上述论述可知,该报文转发信息集合对应的优先级最高,因此,需要将所述第一报文转发信息移至对应的car最大的第三报文转发信息集合。通过上述方法,所述ptn设备的控制平面对多个报文转发信息集合中的报文转发信息智能调整,提高所述ptn设备灵活应对环境变化的能力。采用本发明上述实施例中的学习arp表项的方法,ptn设备中存储有多个报文转发信息集合与car的对应关系,在所述ptn设备的转发平面针对第一待转发报文,未查询到包含所述第一待转发报文的第一报文转发信息的第一 arp表项时,确定所述第一待转发报文所属的第一报文转发信息集合,进而确定所述第一报文转发信息集合对应的第一car,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,其中所述第二arpmiss消息为所述转发平面针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同;所述转发平面针对所述第一待转发报文生成第一arpmiss消息并上报给所述ptn设备的控制平面,使所述控制平面进行所述第一arp表项的学习。由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。基于以上实施例,本发明实施例还提供了一种学习arp表项的示例,如图3所示,在ptn设备中维护有3个报文转发信息集合:白名单、灰名单和黑名单。当所述ptn设备的转发平面接收到一个ip报文时,所述转发平面获取所述ip报文的第一报文转发信息(下一跳ip地址和vrf);所述转发平面根据所述第一报文转发信息查询本地保存的arp表项,在未查询到包含所述第一报文转发信息的第一arp表项时,所述转发平面在存储的每个报文转发信息集合中检索所述第一报文转发信息;当在一个报文转发信息集合(白名单)中检索到所述第一报文转发信息时,确定所述白名单为所述第一报文转发信息所属的第一报文转发信息集合;所述转发平面继续根据存储的多个报文转发信息集合与car的对应关系,获取所述白名单对应的第一car;所述转发平面针对所述第一待转发报文生成第一arpmiss消息,并将该第一arpmiss消息上报给所述控制平面,并根据所述第一car,对后续针对 具有所述第一报文转发信息的待转发报文生成的第二arpmiss消息进行上报;所述控制平面根据所述第一arpmiss消息,生成对应的arp表项学习任务,可以根据存储的多个报文转发信息集合与优先级的对应关系,确定白名单对应的第一优先级(高优先级),将该arp表项学习任务置于高优先级队列中;所述控制平面根据优先级的高低顺序,处理arp表项学习任务,即优先处理高优先级队列中的arp学习任务;所述控制平面在处理一个arp表项学习任务时,通过转发平面向间隔以太网的相邻ptn设备发送arp请求(request);所述控制平面还会生成包含所述第一报文转发信息的第二arp表项(arpdummy表项),该arpdummy表项的老化时间为针对所述白名单设置的;所述转发平面在针对一待转发报文查询到所述arpdummy表项时,将所述待转发报文丢弃;所述控制平面还会自适应调整报文转发信息集合中的报文转发信息,具体可以参照上述实施例中的步骤205中的描述,此处不再赘述;所述控制平面通过所述相邻ptn设备接收到arp响应(relpy)时,根据所述arp响应,生成所述第一arp表项,并在生成所述第一arp表项后删除所述第二arp表项。基于以上实施例,本发明还提供了一种ptn设备,该ptn设备可以为图1中的ptn设备,参阅图4所示,该ptn设备400中包括:转发单元401和控制单元402,其中,转发单元401,用于获取第一待转发报文的第一报文转发信息,并根据所述第一报文转发信息,未查询到包含所述第一报文转发信息的第一地址解析协议arp表项;其中,所述第一报文转发信息为虚拟路由转发实例vrf和下一跳因特网协议ip地址,所述第一arp表项为所述第一报文转发信息与媒体访问控制mac地址的映射关系;确定所述第一报文转发信息所属的第一报文转发信息集合;根据存储的多个报文转发信息集合与承诺访问速率car的对应关系,获取所述第一报文转发信息集合对应的第一car,所述第一car为设定时间单位内所述转发单元401上报至所述ptn设备400的控制单元402的第一arpmiss消息和第二arpmiss消息的数目阈值,所述第二arpmiss消息为所述转发单元401针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同,所述第一arpmiss消息为所述转发单元401针对所述第一待转发报文生成的;以及针对所述第一待转发报文生成第一arpmiss消息,并将所述第一arpmiss消息上报给所述控制单元402,以及根据所述第一car,对后续生成的第二arpmiss消息进行上报;所述控制单元402,用于根据所述第一arpmiss消息,进行所述第一arp表项的学习。可选的,所述转发单元401,在确定所述第一报文转发信息所属的第一报文转发信息集合时,具体用于:在存储的多个报文转发信息集合中检索所述第一报文转发信息;当在一个报文转发信息集合中检索到所述第一报文转发信息时,确定所述报文转发信息集合为所述第一报文转发信息集合。可选的,所述控制单元402,具体用于:根据所述第一arpmiss消息,生成对应的arp表项学习任务;根据存储的多个报文转发信息集合与优先级的对应关系,确定所述第一报文转发信息集合对应的第一优先级,将所述第一优先级作为所述控制单元402处理所述arp表项学习任务的优先级;按照所述第一优先级,处理所述arp表项学习任务,生成所述第一arp表项。可选的,所述转发单元401,在根据所述第一car,对后续生成的第二arpmiss消息进行上报时,具体用于:当所述转发单元401在所述设定时间单位内生成的第二arpmiss消息的数目小于或等于所述第一car与1的差时,将生成的所有第二arpmiss消息全部上报给所述控制单元402;当所述转发单元401在所述设定时间单位内生成的第二arpmiss消息的数目大于所述第一car与1的差时,将生成的部分第二arpmiss消息上报给所述控制单元402,所述部分第二arpmiss消息的数目为所述第一car与1的差。可选的,所述控制单元402,还用于:在生成所述第一arp表项之前,生成包含所述第一报文转发信息的第二arp表项,所述第二arp表项用于指示所述转发单元401在针对一待转发报文查询到所述第二arp表项时,将所述待转发报文丢弃,所述第二arp表项的第一老化时间为针对所述第一报文转发信息集合设置的;以及在后续每次生成所述第二arp表项,将所述第二arp表项的所述第一老化时间延长设定第一时长,直至所述第二arp表项延长后的所述第一老化时间大于或等于针对第二报文转发信息集合设置的第二老化时间时,将所述第一报文转发信息集合中的所述第一报文转发信息删除,并在所述第二报文转发信息集合中添加所述第一报文转发信息;其中,后续每次生成的第二arp表项,是在上次生成的第二arp表项的老化时间后,且所述控制单元402接收到所述第二arpmiss消息时生成的;其中,所述第一car大于所述第二报文转发信息集合对应的第二car,所述第一优先级高于所述第二报文转发信息集合对应的第二优先级,且针对所述第一报文转发信息集合设置的第一老化时间小于所述第二老化时间。可选的,所述控制单元402,还用于:在生成所述第一arp表项之后,删除所述第二arp表项。可选的,所述第一car不是所述多个报文转发信息集合与car的对应关系中包含的多个car中的最大值;所述控制单元402,还用于:在生成所述第一arp表项之后,将所述第二报文转发信息集合中的所述第一报文转发信息删除,并在所述第三报文转发信息集合中添加所述第一报文转发信息,其中,所述第三报文转发信息集合对应的第三car,为所述多个car中的最大值。采用本发明实施例提供ptn设备,由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。基于以上实施例,本发明实施例还提供了一种ptn设备,所述ptn设备可以为如图1所示的ptn中的ptn设备101,用于实现如图2所示的学习arp表项的方法,且具有如图4所示的ptn设备400的功能,参阅图5所示,所述ptn设备500中包括:收发器501、处理器502、总线503以及存储器504,其中,所述收发器501、所述处理器502和所述存储器504通过所述总线503相互连接;总线503可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。所述收发器501,用于与所述ptn设备相连的设备进行通信交互,例如接收报文,转发报文等。所述处理器502中包括转发平面和控制平面,用于实现如图2所示的学习arp表项的方法,包括:所述转发平面获取第一待转发报文的第一报文转发信息,并根据所述第一报文转发信息,未查询到包含所述第一报文转发信息的第一arp表项;其中,所述第一报文转发信息为vrf和下一跳ip地址,所述第一arp表项为所述第一报文转发信息与mac地址的映射关系;所述转发平面确定所述第一报文转发信息所属的第一报文转发信息集合;所述转发平面根据存储的多个报文转发信息集合与car的对应关系,获取所述第一报文转发信息集合对应的第一car,所述第一car为设定时间单位内所述转发平面上报至所述控制平面的第一arpmiss消息和第二arpmiss消息的数目阈值,所述第二arpmiss消息为所述处理器502针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同,所述第一arpmiss消息为所述转发平面针对所述第一待转发报文生 成的;所述转发平面针对所述第一待转发报文生成第一arpmiss消息,并将所述第一arpmiss消息上报给所述控制平面,以及根据所述第一car,对后续生成的第二arpmiss消息进行上报;所述控制平面根据所述第一arpmiss消息,进行所述第一arp表项的学习。可选的,所述转发平面确定所述第一报文转发信息所属的第一报文转发信息集合,包括:所述转发平面在存储的多个报文转发信息集合中检索所述第一报文转发信息;当所述转发平面在一个报文转发信息集合中检索到所述第一报文转发信息时,确定所述报文转发信息集合为所述第一报文转发信息集合。可选的,所述控制平面根据所述第一arpmiss消息,进行所述第一arp表项的学习,包括:所述控制平面根据所述第一arpmiss消息,生成对应的arp表项学习任务;所述控制平面根据存储的多个报文转发信息集合与优先级的对应关系,确定所述第一报文转发信息集合对应的第一优先级,将所述第一优先级作为所述控制平面处理所述arp表项学习任务的优先级;所述控制平面按照所述第一优先级,处理所述arp表项学习任务,生成所述第一arp表项。可选的,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,包括:当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目小于或等于所述第一car与1的差时,所述转发平面将生成的所有第二arpmiss消息全部上报给所述控制平面;当所述转发平面在所述设定时间单位内生成的第二arpmiss消息的数目大于所述第一car与1的差时,所述转发平面将生成的部分第二arpmiss消息上报给所述控制平面,所述部分第二arpmiss消息的数目为所述第一car与1的差。可选的,所述控制平面,还用于在生成所述第一arp表项之前,生成包含所述第一报文转发信息的第二arp表项,所述第二arp表项用于指示所述转发平面在针对一待转发报文查询到所述第二arp表项时,将所述待转发报文丢弃,所述第二arp表项的第一老化时间为针对所述第一报文转发信息集合设置的;以及所述控制平面在后续每次生成所述第二arp表项,将所述第二arp表项的所述第一老化时间延长设定第一时长,直至所述第二arp表项延长后的所述第一老化时间大于或等于针对第二报文转发信息集合设置的第二老化时间时,将所述第一报文转发信息集合中的所述第一报文转发信息删除,并在所述第二报文转发信息集合中添加所述第一报文转发信息;其中,后续每次生成的第二arp表项,是在上次生成的第二arp表项的老化时间后,且所述控制平面接收到所述第二arpmiss消息时生成的;其中,所述第一car大于所述第二报文转发信息集合对应的第二car,所述第一优先级高于所述第二报文转发信息集合对应的第二优先级,且针对所述第一报文转发信息集合设置的第一老化时间小于所述第二老化时间。可选的,所述控制平面还用于在生成所述第一arp表项之后,删除所述第二arp表项。可选的,所述第一car不是所述多个报文转发信息集合与car的对应关系中包含的多个car中的最大值;所述控制平面在生成所述第一arp表项之后,将所述第二报文转发信息集合中的所述第一报文转发信息删除,并在所述第三报文转发信息集合中添加所述第一报文转发信息,其中,所述第三报文转发信息集合对应的第三car, 为所述多个car中的最大值。所述ptn设备500还包括存储器504,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器504可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。处理器502执行存储器504所存放的应用程序,实现上述功能,从而实现如图2所示的学习arp表项的方法。采用本发明实施例提供ptn设备,由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。本发明实施例提供的学习arp表项的方法及ptn设备,ptn设备中存储有多个报文转发信息集合与car的对应关系,在所述ptn设备的转发平面针对第一待转发报文,未查询到包含所述第一待转发报文的第一报文转发信息的第一arp表项时,确定所述第一待转发报文所属的第一报文转发信息集合,进而确定所述第一报文转发信息集合对应的第一car,所述转发平面根据所述第一car,对后续生成的第二arpmiss消息进行上报,其中所述第二arpmiss消息为所述转发平面针对第二待转发报文生成的,所述第二待转发报文的第二报文转发信息与所述第一报文转发信息相同;所述转发平面针对所述第一待转发报文生成第一arpmiss消息并上报给所述ptn设备的控制平面,使所述控制平面进行所述第一arp表项的学习。由于所述ptn设备中存储有多个报文转发信息集合与car的对应关系,即针对不同的报文转发信息集合设置不同的car,因此,所述ptn设备可以灵活调整每个报文转发信息集合对应的 car,用来限制转发平面针对不同可信程度的用户(即报文转发信息)上报arpmiss消息的速率,避免了针对任何可信程度的报文设置相同的car,导致对所述ptn设备的cpu造成冲击,保证了所述ptn设备的控制平面的安全性,也保证所述ptn设备的控制平面学习arp表项的速度。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1