Arp/ndp学习系统及学习方法

文档序号:9527506阅读:625来源:国知局
Arp/ndp学习系统及学习方法
【技术领域】
[0001]本发明涉及网络通信技术,尤其涉及一种数据通信设备上的ARP/NDP学习系统及学习方法。
【背景技术】
[0002]目前,在数据通信设备中,基于IPV4/IPV6协议的转发模块根据控制模块下发的路由信息及地址解析协议(Address Resolut1n Protocol,ARP)表或邻居发现协议(Neighbor Discovery protocol,NDP)表来完成待转发报文转发。以IPV4为例进行说明,当转发模块找不到待转发报文对应ARP表项时将原始报文上送到控制模块进行处理,控制模块根据上送的原始报文完成ARP学习,建立ARP表项并将ARP表项同步到转发模块。
[0003]然而,传统ARP/NDP学习方案存在以下一些弊端,以ARP为例进行说明,转发模块无法主动进行路由和ARP学习而依赖于流量驱动的方式触发控制模块进行ARP学习,而控制模块建立ARP表项时需要根据上送的原始报文携带的信息再结合路由表等完成ARP解析,因此控制模块需要管理ARP表、路由表及MPLS转发表等表项,信息量较大,控制模块的管理逻辑较为复杂,对于在一些特殊运用场景如转发模块实现的双向转发检测机制(Bidirect1nal Forwarding Detect1n, BFD)和操作管理维护(Operat1nAdministrat1n and Maintenance,0AM)功能,报文由FPGA封装后通过内部总线直接发送到转发模块,此时出现没有ARP的情况,在基于入接口的ARP学习机制中转发模块无法找到报文提取上送的接口,控制模块无法完成ARP解析过程,一般通过配置静态ARP的方式进行规避,但也由此引入工程配置工作量。

【发明内容】

[0004]有鉴于此,本发明提供一种能简化表项管理并主动进行ARP/NDP学习的ARP/NDP学习系统及学习方法。
[0005]一种ARP/NDP学习系统,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项至所述转发模块,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习系统包括一个查询单元、一个提取单元、一个获取单元、一个解析单元及一个记录管理单元。所述查询单元设置在所述转发模块中用于查询待转发报文对应的ARP/NDP表项,所述提取单元设置在所述转发模块中用于在待转发报文对应的ARP/NDP表项未查到时提取报文的目的互联网协议地址(Internet Protocol,IP)地址、虚拟局域网(Virtual LocalArea Network, VLAN)信息及出接口信息并上送至所述控制模块,所述获取单元设置在所述控制模块中用于获取所述提取单元提取的目的IP地址、VLAN信息及出接口信息,所述解析单元设置在所述控制模块中用于根据所获取的目的IP地址、VLAN信息及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项,所述记录管理单元设置在所述控制模块中用于存储所生成的ARP/NDP表项信息并下发至所述转发模块。
[0006]一种ARP/NDP学习方法,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习方法包括以下步骤:
[0007]查询待转发报文对应的ARP/NDP表项;
[0008]在待转发报文对应的ARP/NDP表项未查到时提取报文的目的IP地址、VLAN信息及出接口信息;
[0009]获取所述报文提取模块提取的目的IP地址、VLAN信息及出接口信息;
[0010]根据所获取的目的IP地址、VLAN信息及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项;
[0011]存储所生成的ARP/NDP表项信息并下发至所述转发模块。
[0012]与现有技术相比,本发明提供的ARP/NDP学习系统及学习方法中,转发模块中的查询单元在未查询到报文的ARP/NDP表时,通过提取单元提取报文的目的IP地址、VLAN信息及出接口信息上送到控制模块,控制模块的获取单元获取上送的报文相关信息后经解析单元解析以生成与报文目的IP地址相应的ARP/NDP表,并在完成ARP/NDP学习后将ARP/NDP表同步到转发模块,由于提取单元提取的报文中包含ARP/NDP解析的全部信息,控制模块可将部分管理表移至转发模块,避免大传输量的表项同步,简化了控制模块的表项管理,同时由于该ARP/NDP学习系统及学习方法是基于出接口进行流量触发,在业务组网复杂的数据通信系统中可以更精确的完成ARP/NDP学习过程。
【附图说明】
[0013]图1是本发明提供的ARP学习系统的模块示意图。
[0014]图2是本发明提供的ARP学习方法的流程示意图。
[0015]主要元件符号说明
[0016]ARP学习系统100
[0017]查询单元 110
[0018]提取单元 120
[0019]获取单元 140
[0020]解析单元 160
[0021]请求子单元 162
[0022]应答子单元 164
[0023]记录管理单元180
[0024]存储管理单元190
[0025]转发模块 200
[0026]控制模块 300
[0027]如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】
[0028]请参阅图1,其为本发明实施方式提供的一种地址解析协议(Address Resolut1nProtocol, ARP)学习系统100,其用于在数据通信设备上的转发模块200与控制模块300之间配合完成ARP解析,所述控制模块300用于下发报文的路由信息及ARP表项至所述转发模块200,转发模块200用于根据控制模块300下发的路由信息及ARP表项转发报文,所述ARP学习系统100包括一个查询单元110、一个提取单元120、一个获取单元140、一个解析单元160及一个记录管理单元180。所述查询单元110及所述提取单元120设置在转发模块200中,所述获取单元140、所述解析单元160及所述记录管理单元180设置在控制模块300 中。
[0029]查询单元110用于查询待转发报文对应的ARP表项,待转发报文在相同网段之间转发时需查询目的互联网协议(Internet Protocol, IP)地址对应的ARP表项,在不相同网段之间转发时需查询下一跳网关IP地址对应的ARP表项。当待转发报文为多协议标签交换(Mult1-Protocol Label Switching,MPLS)报文时,转发需根据MPLS转发表查询目的IP地址并根据目的IP地址确定对应的ARP表。可以理解的是,ARP表中存在与目的IP地址对应的MAC地址,待转发报文可依据查询的ARP表中对应的媒体访问控制(Media AccessControl,MAC)地址,也即根据对应的物理地址进行转发。可以理解的是,在适用于IPV6协议时,查询单元110通过查询NDP表得到NDP表项。
[0030]提取单元120用于在待转发报文对应的ARP表项未查到时提取报文的目的IP地址、虚拟局域网(Virtual Local Area Network, VLAN)信息及出接口信息作为关键字报文并上送至控制模块300。
[0031]获取单元140获取提取单元120提取的关键字报文,即待转发报文的目的IP地址、VLAN信息及出接口信息,本实施方式中,控制模块300的IP协议栈创建专用传输通道传输提取的关键字报文,转发模块200上送的关键字报文直接通过该专用传输通道传送,获取单元140基于专用传输通道创建原始类型套接字,通过该套接字从IP协议栈接收转发模块200上送的关键字报文并将关键字报文缓存到接收队列进行相应处理。
[0032]解析单元160包括一个请求子单元162及一个应答子单元164,所述请求子单元162根据获取单元140获取关键字报文信息中的目的IP地址、VLAN信息及出接口信息生成ARP请求报文并发送,所述应答子单元164用于接收与ARP请求报文对应的ARP应答报文并根据ARP应答报文生成与目的IP地址对应的ARP表项信息。可以理解的是,在适用于IPV6协议时,请求子单元162根据关键字报文信息生成NDP请求报文发送,应答子单元164接收与NDP请求报文对应的NDP应答报文并生成与目的IP地址对应的NDP表项信息。
[0033]记录管理单元180存储生成的ARP表项信息并下发至转发模块200。本实施方式中,记录管理单元180为控制模块300的硬件表项管理单元。
[0034]为方便记录存储控制模块300下发的ARP表项信息,ARP学习系统100还包括一个存储管理单元190,所述存储管理单元190设置在转发模块200中,记录管理单元180将ARP表项信息下发至转发模块200中的存储管理单元190中记录存储,本实施方式中,存储管理单元190为转发模块200的硬件表项管理单元。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1