CN105282034B - Arp/ndp学习系统及学习方法 - Google Patents

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

Info

Publication number
CN105282034B
CN105282034B CN201510580225.3A CN201510580225A CN105282034B CN 105282034 B CN105282034 B CN 105282034B CN 201510580225 A CN201510580225 A CN 201510580225A CN 105282034 B CN105282034 B CN 105282034B
Authority
CN
China
Prior art keywords
arp
ndp
message
list item
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510580225.3A
Other languages
English (en)
Other versions
CN105282034A (zh
Inventor
付华楷
胡世星
陈道光
周万涛
丁毅
侯君婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201510580225.3A priority Critical patent/CN105282034B/zh
Publication of CN105282034A publication Critical patent/CN105282034A/zh
Application granted granted Critical
Publication of CN105282034B publication Critical patent/CN105282034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种ARP/NDP学习系统,其用于在控制模块与转发模块之间完成ARP/NDP解析,该系统包括查询单元、提取单元、获取单元、解析单元及记录管理单元,查询单元及提取单元设置在转发模块中,获取单元、解析单元及记录管理单元设置在控制模块中,查询单元查询报文对应的ARP/NDP,提取单元在未查询到时提取报文目的IP地址、VLAN及出接口信息,获取单元获取提取的信息,解析单元根据所获取信息完成ARP/NDP解析以生成ARP/NDP表,记录管理单元存储所生成ARP/NDP表并下发至转发模块。该系统通过提取报文相关信息送到控制模块驱动完成ARP/NDP解析。本发明还提供了一种ARP/NDP学习方法。

Description

ARP/NDP学习系统及学习方法
技术领域
本发明涉及网络通信技术,尤其涉及一种数据通信设备上的ARP/NDP学习系统及学习方法。
背景技术
目前,在数据通信设备中,基于IPV4/IPV6协议的转发模块根据控制模块下发的路由信息及地址解析协议(Address Resolution Protocol,ARP)表或邻居发现协议(Neighbor Discovery protocol,NDP)表来完成待转发报文转发。以IPV4为例进行说明,当转发模块找不到待转发报文对应ARP表项时将原始报文上送到控制模块进行处理,控制模块根据上送的原始报文完成ARP学习,建立ARP表项并将ARP表项同步到转发模块。
然而,传统ARP/NDP学习方案存在以下一些弊端,以ARP为例进行说明,转发模块无法主动进行路由和ARP学习而依赖于流量驱动的方式触发控制模块进行ARP学习,而控制模块建立ARP表项时需要根据上送的原始报文携带的信息再结合路由表等完成ARP解析,因此控制模块需要管理ARP表、路由表及MPLS转发表等表项,信息量较大,控制模块的管理逻辑较为复杂,对于在一些特殊运用场景如转发模块实现的双向转发检测机制(BidirectionalForwarding Detection,BFD)和操作管理维护(Operation Administration andMaintenance,OAM)功能,报文由FPGA封装后通过内部总线直接发送到转发模块,此时出现没有ARP的情况,在基于入接口的ARP学习机制中转发模块无法找到报文提取上送的接口,控制模块无法完成ARP解析过程,一般通过配置静态ARP的方式进行规避,但也由此引入工程配置工作量。
发明内容
有鉴于此,本发明提供一种能简化表项管理并主动进行ARP/NDP学习的ARP/NDP学习系统及学习方法。
一种ARP/NDP学习系统,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项至所述转发模块,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习系统包括一个查询单元、一个提取单元、一个获取单元、一个解析单元及一个记录管理单元。所述查询单元设置在所述转发模块中用于查询待转发报文对应的ARP/NDP表项,所述提取单元设置在所述转发模块中用于在待转发报文对应的ARP/NDP表项未查到时提取报文的目的互联网协议地址(Internet Protocol,IP)地址、虚拟局域网(Virtual Local AreaNetwork,VLAN)信息及出接口信息并上送至所述控制模块,所述获取单元设置在所述控制模块中用于获取所述提取单元提取的目的IP地址、VLAN信息及出接口信息,所述解析单元设置在所述控制模块中用于根据所获取的目的IP地址、VLAN信息及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项,所述记录管理单元设置在所述控制模块中用于存储所生成的ARP/NDP表项信息并下发至所述转发模块。
一种ARP/NDP学习方法,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习方法包括以下步骤:
查询待转发报文对应的ARP/NDP表项;
在待转发报文对应的ARP/NDP表项未查到时提取报文的目的IP地址、VLAN信息及出接口信息;
获取所述报文提取模块提取的目的IP地址、VLAN信息及出接口信息;
根据所获取的目的IP地址、VLAN信息及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项;
存储所生成的ARP/NDP表项信息并下发至所述转发模块。
与现有技术相比,本发明提供的ARP/NDP学习系统及学习方法中,转发模块中的查询单元在未查询到报文的ARP/NDP表时,通过提取单元提取报文的目的IP地址、VLAN信息及出接口信息上送到控制模块,控制模块的获取单元获取上送的报文相关信息后经解析单元解析以生成与报文目的IP地址相应的ARP/NDP表,并在完成ARP/NDP学习后将ARP/NDP表同步到转发模块,由于提取单元提取的报文中包含ARP/NDP解析的全部信息,控制模块可将部分管理表移至转发模块,避免大传输量的表项同步,简化了控制模块的表项管理,同时由于该ARP/NDP学习系统及学习方法是基于出接口进行流量触发,在业务组网复杂的数据通信系统中可以更精确的完成ARP/NDP学习过程。
附图说明
图1是本发明提供的ARP学习系统的模块示意图。
图2是本发明提供的ARP学习方法的流程示意图。
主要元件符号说明
ARP学习系统 100
查询单元 110
提取单元 120
获取单元 140
解析单元 160
请求子单元 162
应答子单元 164
记录管理单元 180
存储管理单元 190
转发模块 200
控制模块 300
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1,其为本发明实施方式提供的一种地址解析协议(Address ResolutionProtocol,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中。
查询单元110用于查询待转发报文对应的ARP表项,待转发报文在相同网段之间转发时需查询目的互联网协议(Internet Protocol,IP)地址对应的ARP表项,在不相同网段之间转发时需查询下一跳网关IP地址对应的ARP表项。当待转发报文为多协议标签交换(Multi-Protocol Label Switching,MPLS)报文时,转发需根据MPLS转发表查询目的IP地址并根据目的IP地址确定对应的ARP表。可以理解的是,ARP表中存在与目的IP地址对应的MAC地址,待转发报文可依据查询的ARP表中对应的媒体访问控制(Media Access Control,MAC)地址,也即根据对应的物理地址进行转发。可以理解的是,在适用于IPV6协议时,查询单元110通过查询NDP表得到NDP表项。
提取单元120用于在待转发报文对应的ARP表项未查到时提取报文的目的IP地址、虚拟局域网(Virtual Local Area Network,VLAN)信息及出接口信息作为关键字报文并上送至控制模块300。
获取单元140获取提取单元120提取的关键字报文,即待转发报文的目的IP地址、VLAN信息及出接口信息,本实施方式中,控制模块300的IP协议栈创建专用传输通道传输提取的关键字报文,转发模块200上送的关键字报文直接通过该专用传输通道传送,获取单元140基于专用传输通道创建原始类型套接字,通过该套接字从IP协议栈接收转发模块200上送的关键字报文并将关键字报文缓存到接收队列进行相应处理。
解析单元160包括一个请求子单元162及一个应答子单元164,所述请求子单元162根据获取单元140获取关键字报文信息中的目的IP地址、VLAN信息及出接口信息生成ARP请求报文并发送,所述应答子单元164用于接收与ARP请求报文对应的ARP应答报文并根据ARP应答报文生成与目的IP地址对应的ARP表项信息。可以理解的是,在适用于IPV6协议时,请求子单元162根据关键字报文信息生成NDP请求报文发送,应答子单元164接收与NDP请求报文对应的NDP应答报文并生成与目的IP地址对应的NDP表项信息。
记录管理单元180存储生成的ARP表项信息并下发至转发模块200。本实施方式中,记录管理单元180为控制模块300的硬件表项管理单元。
为方便记录存储控制模块300下发的ARP表项信息,ARP学习系统100还包括一个存储管理单元190,所述存储管理单元190设置在转发模块200中,记录管理单元180将ARP表项信息下发至转发模块200中的存储管理单元190中记录存储,本实施方式中,存储管理单元190为转发模块200的硬件表项管理单元。
对于适用于IPV6协议时,NDP学习系统与ARP学习系统基本相同,在此不再赘述。
请参阅图2,其为本发明实施方式提供的一种ARP学习方法,其用于在数据通信设备上的转发模块200与控制模块300之间配合完成ARP解析,控制模块300用于下发报文的路由信息及ARP表项,转发模块200用于根据下发的路由信息及ARP表项转发报文,所述ARP学习方法包括以下步骤:
S110:查询待转发报文对应的ARP表项;
S120:在待转发报文对应的ARP表项未查到时提取报文的目的IP地址、VLAN信息及出接口信息;
S130:获取所提取的目的IP地址、VLAN信息及出接口信息;
S140:根据所获取的目的IP地址、VLAN信息及出接口信息完成ARP解析以生成对应的ARP表项;
S150:存储所生成的ARP表项信息并下发至转发模块。
在步骤S110中,利用查询单元110查询待转发报文对应的ARP表项,待转发报文在相同网段之间转发时需查询目的IP地址对应的ARP表项,在不相同网段之间转发时需查询下一跳网关IP地址对应的ARP表项。可以理解的是,待转发报文为MPLS报文时,转发需根据MPLS转发表查询目的IP地址并根据目的IP地址确定对应的ARP表。可以理解的是,在适用于IPV6协议时,查询单元110通过查询NDP表得到NDP表项。
在步骤S120中,利用提取单元120在待转发报文对应的ARP表项未查到时提取报文的目的IP地址、VLAN信息及出接口信息作为关键字报文并上送至控制模块300。
在步骤S130中,利用获取单元140获取提取单元120提取的关键字报文,即待转发报文的目的IP地址、VLAN信息及出接口信息,本实施方式中,转发模块200上送的关键字报文直接通过专用传输通道传送,获取单元140基于专用传输通道创建原始类型套接字,通过该套接字从IP协议栈接收转发模块200上送的关键字报文并将关键字报文缓存到接收队列进行相应处理。
在步骤S140中,所述解析步骤还包括以下步骤:
S141:根据所获取的目的IP地址、VLAN信息及出接口信息生成ARP/NDP请求报文并发送;
S142:接收与ARP请求报文对应的ARP应答报文并根据ARP/NDP应答报文生成与目的IP对应的ARP表项。
在步骤S141中,利用请求子单元162根据获取单元140获取关键字报文信息中的目的IP地址、VLAN信息及出接口信息生成ARP/NDP请求报文并发送。可以理解的是,在适用于IPV6协议时,请求子单元162根据关键字报文信息生成NDP请求报文发送。
在步骤S142中,利用应答子单元164接收与ARP请求报文对应的ARP应答报文并根据ARP应答报文生成与目的IP地址对应的ARP表项信息。可以理解的是,在适用于IPV6协议时,应答子单元164接收与NDP请求报文对应的NDP应答报文并生成与目的IP地址对应的NDP表项信息。
在步骤S150中:利用记录管理单元180存储生成的ARP表项信息并下发至转发模块200。本实施方式中,记录管理单元180为控制模块300的硬件表项管理单元。
为方便记录存储下发的ARP表项信息,所述步骤S150后还包括以下步骤:
S160:接收下发的ARP表项信息并存储。
在步骤S160中,利用存储管理单元190将记录管理单元180下发的ARP表项信息记录存储,本实施方式中,存储管理单元190为转发模块200的硬件表项管理单元。
对于适用于IPV6协议时,NDP学习方法与ARP学习方法的步骤基本相同,在此不再赘述。
本发明提供的ARP/NDP学习系统100及学习方法中,转发模块200中的查询单元110在未查询到报文的ARP/NDP表时,通过提取单元120提取报文的目的IP地址、VLAN信息及出接口信息上送到控制模块300,控制模块300中的获取单元140获取上送的报文相关信息后经解析单元160解析以生成与报文目的IP地址相应的ARP/NDP表,从而进行ARP/NDP学习后同步到转发模块200,控制模块300无需根据原始报文信息查找相应路由信息而根据转发模块200主动上送的报文相关信息来进行ARP/NDP学习,由于提取单元120提取的报文中包含ARP/NDP解析的全部信息,控制模块300可将部分管理表移至转发模块200,简化控制模块300的表项管理,同时由于该ARP/NDP学习系统100及学习方法是基于出接口进行流量触发,控制模块300发送ARP/NDP请求报文时将更加精确,提高了ARP/NDP解析的准确性。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

Claims (6)

1.一种ARP/NDP学习系统,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项至所述转发模块,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习系统包括:
一个查询单元,其设置在所述转发模块中用于查询待转发报文对应的ARP/NDP表项;
一个提取单元,其设置在所述转发模块中用于在待转发报文对应的ARP/NDP表项未查到时提取报文的目的互联网协议地址、虚拟局域网信息及出接口信息并上送至所述控制模块;
一个获取单元,其设置在所述控制模块中用于获取所述提取单元提取的目的互联网协议地址、虚拟局域网及出接口信息;
一个解析单元,其设置在所述控制模块中用于根据所获取的目的互联网协议地址、虚拟局域网及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项;
一个记录管理单元,其设置在所述控制模块中用于存储所生成的ARP/NDP表项信息并下发至所述转发模块。
2.如权利要求1所述的ARP/NDP学习系统,其特征在于,所述解析单元包括一个请求子单元及一个应答子单元,所述请求子单元根据所述获取单元获取的目的互联网协议地址、虚拟局域网及出接口信息生成ARP/NDP请求报文并发送,所述应答子单元用于接收与ARP/NDP请求报文对应的ARP/NDP应答报文并根据ARP/NDP应答报文生成与目的互联网协议地址对应的ARP/NDP表项。
3.如权利要求1所述的ARP/NDP学习系统,其特征在于,所述ARP/NDP学习系统还包括一个存储管理单元,所述存储管理单元设置在所述转发模块中用于接收所述记录管理单元下发的ARP/NDP表项信息并存储。
4.一种ARP/NDP学习方法,其用于在数据通信设备上的控制模块与转发模块之间配合完成ARP/NDP解析,所述控制模块用于下发报文的路由信息及ARP/NDP表项,所述转发模块用于根据下发的路由信息及ARP/NDP表项转发报文,所述ARP/NDP学习方法包括以下步骤:
查询待转发报文对应的ARP/NDP表项;
在待转发报文对应的ARP/NDP表项未查到时提取报文的目的互联网协议地址、虚拟局域网及出接口信息;
获取所提取的目的互联网协议地址、虚拟局域网及出接口信息;
根据所获取的目的互联网协议地址、虚拟局域网及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项;
存储所生成的ARP/NDP表项信息并下发至所述转发模块。
5.如权利要求4所述的ARP/NDP学习方法,其特征在于,根据所获取的目的互联网协议地址、虚拟局域网及出接口信息完成ARP/NDP解析以生成对应的ARP/NDP表项包括以下步骤:
根据所述获取单元获取的目的互联网协议地址、虚拟局域网及出接口信息生成ARP/NDP请求报文并发送;
接收与ARP/NDP请求报文对应的ARP/NDP应答报文并根据ARP/NDP应答报文生成与目的互联网协议地址对应的ARP/NDP表项信息。
6.如权利要求4所述的ARP/NDP学习方法,其特征在于,所述ARP/NDP学习方法进一步包括以下步骤:接收下发的ARP/NDP表项信息并存储。
CN201510580225.3A 2015-09-11 2015-09-11 Arp/ndp学习系统及学习方法 Active CN105282034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510580225.3A CN105282034B (zh) 2015-09-11 2015-09-11 Arp/ndp学习系统及学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510580225.3A CN105282034B (zh) 2015-09-11 2015-09-11 Arp/ndp学习系统及学习方法

Publications (2)

Publication Number Publication Date
CN105282034A CN105282034A (zh) 2016-01-27
CN105282034B true CN105282034B (zh) 2018-11-30

Family

ID=55150389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510580225.3A Active CN105282034B (zh) 2015-09-11 2015-09-11 Arp/ndp学习系统及学习方法

Country Status (1)

Country Link
CN (1) CN105282034B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172009B (zh) * 2017-04-06 2020-01-07 烽火通信科技股份有限公司 通过socket上送VLAN信息至应用模块的方法
CN112073552B (zh) * 2020-08-28 2022-03-11 烽火通信科技股份有限公司 一种arp表项索引方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829190A (zh) * 2005-03-01 2006-09-06 杭州华为三康技术有限公司 一种分布式arp实现方法
CN1852253A (zh) * 2006-02-17 2006-10-25 华为技术有限公司 一种arp报文处理方法
CN103078814A (zh) * 2013-02-06 2013-05-01 杭州华三通信技术有限公司 一种arp表项同步方法及业务处理方法和设备
WO2015015787A1 (ja) * 2013-07-30 2015-02-05 日本電気株式会社 制御装置、管理装置、制御方法、管理方法、および、プログラム
EP2897332A1 (en) * 2012-09-11 2015-07-22 Nec Corporation Controller, communication system, communication method and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829190A (zh) * 2005-03-01 2006-09-06 杭州华为三康技术有限公司 一种分布式arp实现方法
CN1852253A (zh) * 2006-02-17 2006-10-25 华为技术有限公司 一种arp报文处理方法
EP2897332A1 (en) * 2012-09-11 2015-07-22 Nec Corporation Controller, communication system, communication method and program
CN103078814A (zh) * 2013-02-06 2013-05-01 杭州华三通信技术有限公司 一种arp表项同步方法及业务处理方法和设备
WO2015015787A1 (ja) * 2013-07-30 2015-02-05 日本電気株式会社 制御装置、管理装置、制御方法、管理方法、および、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于分布式框式交换机的邻居发现协议研究与实现;高梁;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715;全文 *

Also Published As

Publication number Publication date
CN105282034A (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
US8751642B2 (en) Method and system for management of sampled traffic data
EP3313025B1 (en) Data packet forwarding
CN101577722B (zh) 实现强制mac转发功能的方法和装置
CN102970227B (zh) 在asic中实现vxlan报文转发的方法和装置
CN103067534B (zh) 一种NAT实现系统、方法及Openflow交换机
US20170237655A1 (en) Forwarding Data Packets In Software Defined Networks
EP3026872B1 (en) Packet forwarding method, apparatus, and system
EP2451125B1 (en) Method and system for realizing network topology discovery
CN105144652A (zh) 软件定义的网络中的地址解析
CN104010049A (zh) 基于sdn的以太网ip报文封装方法及网络隔离和dhcp实现方法
CN102857428B (zh) 一种基于访问控制列表的报文转发方法和设备
CN104935516A (zh) 基于软件定义网络的通信系统及方法
CN105227466B (zh) 通信处理方法和装置
CN107948150B (zh) 报文转发方法及装置
CN106067862A (zh) 网络拓扑的构建方法及装置
CN103618801A (zh) 一种p2p资源共享的方法、设备及系统
JP2012156957A (ja) ネットワークシステム、制御装置、計算機、及び、ネットワーク装置
CN101651718B (zh) 一种改变ip流量所用协议栈的方法和系统
KR100896438B1 (ko) IPv6를 IPv4네트워크망으로 터널링하기 위한 시스템및 IPv6패킷 변환방법
CN105282034B (zh) Arp/ndp学习系统及学习方法
CN114125995B (zh) 数据传输方法及装置
CN105933235A (zh) 数据通信方法及装置
CN108777654B (zh) 报文转发方法及路由设备
CN102868642A (zh) 在asic中实现nvgre报文转发的方法和装置
CN104917687B (zh) 报文分流方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant