CN112073552B - 一种arp表项索引方法及系统 - Google Patents

一种arp表项索引方法及系统 Download PDF

Info

Publication number
CN112073552B
CN112073552B CN202010887640.4A CN202010887640A CN112073552B CN 112073552 B CN112073552 B CN 112073552B CN 202010887640 A CN202010887640 A CN 202010887640A CN 112073552 B CN112073552 B CN 112073552B
Authority
CN
China
Prior art keywords
arp
entry
gateway
configuration information
hash mapping
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
CN202010887640.4A
Other languages
English (en)
Other versions
CN112073552A (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 CN202010887640.4A priority Critical patent/CN112073552B/zh
Publication of CN112073552A publication Critical patent/CN112073552A/zh
Application granted granted Critical
Publication of CN112073552B publication Critical patent/CN112073552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables

Landscapes

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

Abstract

本发明公开了一种ARP表项索引方法及系统,涉及通信技术领域,该方法包括以下步骤:网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;通过ARP ID查询ARP表项,将查询获得的ARP表项封装为以太网报文头并转发需要转发的业务报文;其中,ARP ID为对应的ARP表项的ID号,ARP hash映射表为ARP ID与ARP表项的映射关系表。本发明借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率。

Description

一种ARP表项索引方法及系统
技术领域
本发明涉及通信技术领域,具体涉及一种ARP表项索引方法及系统。
背景技术
近几年随着物联网、工业互联网等领域的快速发展,很多国家和大企业都在投入相当的资源研发5G网络,不久的将来,5G网络将涵盖各个领域,而5G网络对地址空间、安全性、移动性和服务质量也都提出了新的要求,需要从传统的动态IP变成固态IP;
故而,随着5G的发展,IPv6协议将被应用的越来越多,之前IPv4协议采用ARP KEY作为索引建立ARP硬件表项,如果IPv6协议还是采用以ARP KEY作为索引去建立ARP硬件表项,那么会由于IPv6协议占用128位远远高于IPv4协议的32位,将会大大降低ARP硬件表项可使用资源,进而将大大降低ARP硬件表项的使用率。
因此,急需一种解决上述技术问题的技术方案,以提高ARP表项的使用效率。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种ARP表项索引方法及系统,借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率。
为达到以上目的,本发明采取的技术方案是:
本发明公开一种ARP表项索引方法,所述方法包括以下步骤:
网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与所述ARP ID对应的ARP表项;
当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
通过所述ARP ID查询ARP表项,将查询获得的所述ARP表项封装为以太网报文头并转发需要转发的所述业务报文;
其中,ARP ID为对应的ARP表项的ID号,所述ARP hash映射表为ARP ID与ARP表项的映射关系表。
具体的,所述当网关设备的ARP ID对应的ARP表项不存在时,根据ARP配置信息生成ARP表项以及ARP hash映射表,所述ARP表项与所述ARP hash映射表中的ARP ID对应,具体包括以下步骤:
判断所述网关设备与主机设备之间是否为直连路由;
若所述网关设备与所述主机设备之间不为直连路由,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表。
具体的,若所述网关设备与所述主机设备之间不为直连路由,所述根据ARP配置信息,生成ARP表项以及ARP hash映射表,具体包括以下步骤:
网关主控将所述ARP配置信息下发至应用层;
所述应用层将所述ARP配置信息转发至网关驱动;
所述网关驱动根据所述ARP配置信息生成ARP表项以及ARP hash映射表,并将所述ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
具体的,若所述网关设备与所述主机设备之间不为直连路由,所述根据ARP配置信息,生成ARP表项以及ARP hash映射表,具体包括以下步骤:
网关主控将所述ARP配置信息下发至应用层;
所述应用层根据所述ARP配置信息,生成ARP hash映射表,并将所述ARP配置信息转发至网关驱动;
所述网关驱动根据所述ARP配置信息生成ARP表项;
所述应用层将所述ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
具体的,若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表,具体包括以下步骤:
网关驱动根据所述ARP配置信息生成ARP表项、ARP hash映射表、明细路由以及所述明细路由的NEX HOP下一跳表;
将所述ARP hash映射表中的ARP ID将填入所述NEX HOP下一跳表中。
具体的,若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表,具体包括以下步骤:
所述ARP配置信息转发至应用层;
根据所述ARP配置信息,所述应用层生成所述ARP hash映射表,网关驱动生成所述ARP表项;
根据所述ARP配置信息,获得所述明细路由以及所述明细路由的NEX HOP下一跳表;
将所述ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中。
具体的,所述ARP表项包括ARP配置信息、IP地址、出接口信息以及MAC地址。
具体的,所述明细路由与所述报文的目的IP的32位掩码对应。
本发明还公开一种ARP表项索引系统,所述系统包括:
表项查找单元,其用于待网关设备响应需要转发的业务报文,获取网关设备的ARPID,并判断是否存在与所述ARP ID对应的ARP表项;
表项生成单元,其用于当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
表项发送单元,其用于通过所述ARP ID查询ARP表项,将查询获得的所述ARP表项封装为以太网报文头并转发需要转发的所述业务报文;其中,
ARP ID为对应的ARP表项的ID号,所述ARP hash映射表为ARP ID与ARP表项的映射关系表。
具体的,所述表项生成单元包括:
路由判断子单元,其用于判断所述网关设备与主机设备之间是否为直连路由;
第一表项生成子单元,其用于当所述网关设备与所述主机设备之间不为直连路由时,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
第二表项生成子单元,其用于当所述网关设备与所述主机设备之间为直连路由时,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表。
与现有技术相比,本发明的优点在于:
(1)本发明不再基于ARP KEY作为索引去建立ARP硬件表项,而是借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率。
(2)本发明通用性强,不仅适用于IPv6协议设备以及IPv4协议设备,更能够适用于能够执行ARP学习的多种网络设备。
附图说明
图1为本发明实施例一中ARP表项索引方法的步骤流程图;
图2为本发明实施例一中ARP表项索引方法中ARP表项生成流程的步骤流程图;
图3为本发明实施例一中ARP表项索引方法中非直连第一生成流程的步骤流程图;
图4为本发明实施例一中ARP表项索引方法中非直连第二生成流程的步骤流程图;
图5为本发明实施例一中ARP表项索引方法中直连第一生成流程的步骤流程图;
图6为本发明实施例一中ARP表项索引方法中直连第二生成流程的步骤流程图;
图7为本发明实施例二中ARP表项索引系统的结构框图;
图中:1、表项查找单元;2、表项生成单元;20、路由判断子单元;21、第一表项生成子单元;22、第二表项生成子单元;3、表项发送单元。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种ARP表项索引方法及系统,不再基于ARP KEY作为索引去建立ARP硬件表项,而是借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率。
为达到上述技术效果,本申请的总体思路如下:
一种ARP表项索引方法,该方法包括以下步骤:
S1、网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;
S2、当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
S3、通过ARP ID查询ARP表项,将查询获得的ARP表项封装为以太网报文头并转发需要转发的业务报文;
其中,通过ARP ID查询ARP表项,将查询获得的ARP表项封装为以太网报文头并转发需要转发的业务报文。
以下结合附图对本发明的实施例作进一步详细说明。
实施例1
参见图1至6所示,本发明实施例1提供一种ARP表项索引方法,该方法包括以下步骤:
S1、网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;
S2、当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
S3、通过ARP ID查询ARP表项,将查询获得的ARP表项封装为以太网报文头并转发需要转发的业务报文;
其中,ARP ID为对应的ARP表项的ID号,所述ARP hash映射表为ARP ID与ARP表项的映射关系表。
本发明实施例主要用于在网关设备收到主机设备的业务报文后,对该报文进行路由转发时,进行ARP表项索引的步骤。
本发明实施例中,首先,响应需要转发的业务报文,通过查找路由获取NEX HOP下一跳ID,再通过NEX HOP下一跳ID找到对应的NEX HOP下一跳表,在NEX HOP下一跳表项中获取ARP ID,并根据网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;
进而当ARP表项不存在时,发起ARP表项学习,利用ARP ID替换学习获得的ARPKEY,并生成ARP KEY与ARP ID的索引映射表,则根据ARP配置信息生成ARP表项以及ARPhash映射表,ARP表项与ARP hash映射表中的ARP ID对应;
当存在ARP表项时,或者当ARP表项不存在,但已经根据ARP配置信息生成ARP表项以及ARP hash映射表时,对ARP表项进行封装,并通过以太网报文头的形式,结合上述收到的主机设备的需要转发的业务报文,进行转发。
本发明实施例,不再基于ARP KEY作为索引去建立ARP硬件表项,而是借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率;
同时,本发明实施例通用性强,不仅适用于IPv6协议设备以及IPv4协议设备,更能够适用于能够执行ARP学习的多种网络设备。
针对当ARP表项不存在时,则根据ARP配置信息生成ARP表项以及ARP hash映射表的流程,本发明实施例存在一种实施方式,当不存在时,启动ARP表项生成流程,根据ARP配置信息生成ARP表项以及ARP hash映射表,ARP表项生成流程具体包括以下步骤:
Q1、判断网关设备与主机设备之间是否为直连路由;
Q2、若网关设备与主机设备之间不为直连路由,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
Q3、若网关设备与主机设备之间为直连路由,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表;
当网关设备与主机设备之间的路由为直连路由或非直连路由时,分别有对应不同的ARP表项以及ARP hash映射表生成及后续处理方法。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间不为直连路由,启动非直连第一生成流程,根据ARP配置信息,生成ARP表项以及ARP hash映射表,该非直连第一生成流程具体包括以下步骤:
A1、网关主控将ARP配置信息下发至应用层;
A2、应用层将ARP配置信息转发至网关驱动;
A3、网关驱动根据ARP配置信息生成ARP表项以及ARP hash映射表,并将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中;
由于该网关设备与主机设备之间为非直连路由,网关主控先将ARP配置信息下发到应用层,应用层转发再将ARP配置信息下发到网关驱动,网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,并将ARP hash映射表中的唯一ARP ID填写到对应的NEX HOP下一跳表项中;
当主机设备的业务报文过来后,通过查找网关路由后找到NEX HOP下一跳表中的ARP ID,而此时的ARP KEY已由ARP ID替换,故而不再基于ARP KEY进行查找,而是再通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间不为直连路由,启动非直连第二生成流程,根据ARP配置信息,生成ARP表项以及ARP hash映射表,该非直连第二生成流程具体包括以下步骤:
B1、网关主控将ARP配置信息下发至应用层;
B2、应用层根据ARP配置信息,生成ARP hash映射表,并将ARP配置信息转发至网关驱动;
B3、网关驱动根据ARP配置信息生成ARP表项;
B4、应用层将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
由于该网关设备与主机设备之间为非直连路由,网关主控先将ARP配置信息下发到应用层转发,在应用层生成ARP hash映射表,网关驱动生成ARP表项;应用层将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中;
当主机设备的业务报文过来后,通过查找网关路由后找到NEX HOP下一跳表中的ARP ID,而此时的ARP KEY已由ARP ID替换,故而不再基于ARP KEY进行查找,而是再通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间为直连路由,启动直连第一生成流程,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表,该直连第一生成流程具体包括以下步骤:
C1、网关驱动根据ARP配置信息生成ARP表项、ARP hash映射表、明细路由以及明细路由的NEX HOP下一跳表;
C2、将ARP hash映射表中的ARP ID将填入NEX HOP下一跳表中;
由于该网关设备与主机设备之间为直连路由,网关主控先将ARP配置信息下发到应用层转发,应用层转发再将ARP配置信息下发到网关驱动,最后网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,此时ARP hash映射表生成的ARP ID将不会填写到网关路由的NEX HOP下一跳表项中;
当网关设备收到业务报文后,由于此时ARP ID没有填写到网关路由的NEX HOP下一跳表项中,业务报文将上送网关主控处理;
网关主控收到该业务报文后,由网关主控发起ARP表项学习,在ARP配置信息下发驱动时,网关驱动生成如下配置:
1、ARP表项,其包括ARP的配置信息、IP地址、出接口信息和MAC地址;
2、ARP hash映射表,其包括ARP表项和ARP ID的映射关系表;
3、业务报文的转发目的IP的32位掩码的明细路由;
4、上述明细路由的NEX HOP下一跳表,并将ARP hash映射表中的ARP ID将填写到该NEX HOP下一跳表中;
故而,当收到业务报文后,首先查找32位掩码的明细路由,在明细路由表中获取到NEX HOP下一跳表的ID,再通过NEX HOP下一跳的ID查找NEX HOP下一跳,在对应的NEX HOP下一跳表中获取ARP ID,最后通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去,步骤结束。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间为直连路由,启动直连第二生成流程,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表,该直连第二生成流程,具体包括以下步骤:
D1、ARP配置信息转发至应用层;
D2、根据ARP配置信息,应用层生成ARP hash映射表,网关驱动生成ARP表项;
D3、根据ARP配置信息,获得明细路由以及明细路由的NEX HOP下一跳表;
D4、将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中。
而后,与直连第一生成流程相似,由于该网关设备与主机设备之间为直连路由,网关主控先将ARP配置信息下发到应用层转发,应用层转发再将ARP配置信息下发到网关驱动,最后网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,此时ARP hash映射表生成的ARP ID将不会填写到网关路由的NEX HOP下一跳表项中;
当网关设备收到业务报文后,由于此时ARP ID没有填写到网关路由的NEX HOP下一跳表项中,业务报文将上送网关主控处理;
网关主控收到该业务报文后,由网关主控发起ARP表项学习,在ARP配置信息下发驱动时,网关驱动生成ARP表项、ARP hash映射表、业务报文的转发目的IP的32位掩码的明细路由以及上述明细路由的NEX HOP下一跳表,并将ARP hash映射表中的ARP ID将填写到该NEX HOP下一跳表中;
同样,当收到业务报文后,首先查找32位掩码的明细路由,在明细路由表中获取到NEX HOP下一跳表的ID,再通过NEX HOP下一跳的ID查找NEX HOP下一跳,在对应的NEX HOP下一跳表中获取ARP ID,最后通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去,步骤结束。
需要说明的是,明细路由与报文的目的IP的32位掩码对应。
本发明实施例中的另一种实施方式,ARP表项包括ARP配置信息、IP地址、出接口信息以及MAC地址;
具体的,ARP表项还包括ARP ID、直连本端端口信息、直连对端端口的IP地址和MAC地址;
其中,本端端口信息包含出口槽位号、端口号和VLAN ID,MAC地址为任一主机设备的MAC地址。
本发明实施例中的另一种实施方式,NEX HOP下一跳表包含索引ARP表项的ARPID、直连本端端口信息。
需要说明的是,路由表包含IP地址、子网掩码、索引NEX HOP下一跳表的NEX HOPID;
ARP表项学习,具体是指网关设备在收到主机设备的业务报文后,如果在本地没有查找到对应ARP信息,网关设备将发起广播ARP requset报文,对应的主机设备在收到ARPrequset报文后,对网关设备进行ARP reply;网关设备在收到ARP reply后将学习到的ARP信息下发。
基于同一发明构思,本申请提供了实施例一对应的ARP表项索引系统的实施例,详见实施例二
实施例二
参见图7所示,本发明实施例提供一种ARP表项索引系统,该系统包括:
表项查找单元1,其用于待网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;
表项生成单元2,其用于当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
表项发送单元3,其用于通过ARP ID查询ARP表项,将查询获得的ARP表项封装为以太网报文头并转发需要转发的业务报文;其中,
ARP ID为对应的ARP表项的ID号,ARP hash映射表为ARP ID与ARP表项的映射关系表。
本发明实施例主要用于在网关设备收到主机设备的业务报文后,对该报文进行路由转发时,进行ARP表项索引的步骤。
本发明实施例中,首先,响应需要转发的业务报文,通过查找路由获取NEX HOP下一跳ID,再通过NEX HOP下一跳ID找到对应的NEX HOP下一跳表,在NEX HOP下一跳表项中获取ARP ID,并根据网关设备的ARP ID,并判断是否存在与ARP ID对应的ARP表项;
进而当ARP表项不存在时,发起ARP表项学习,利用ARP ID替换学习获得的ARPKEY,并生成ARP KEY与ARP ID的索引映射表,则根据ARP配置信息生成ARP表项以及ARPhash映射表,ARP表项与ARP hash映射表中的ARP ID对应;
当存在ARP表项时,或者当ARP表项不存在,但已经根据ARP配置信息生成ARP表项以及ARP hash映射表时,对ARP表项进行封装,并通过以太网报文头的形式,结合上述收到的主机设备的需要转发的业务报文,进行转发。
本发明实施例,不再基于ARP KEY作为索引去建立ARP硬件表项,而是借助ARP ID,完成ARP表项索引工作,有效提高ARP使用率;
同时,本发明实施例通用性强,不仅适用于IPv6协议设备以及IPv4协议设备,更能够适用于能够执行ARP学习的多种网络设备。
本发明实施例中的另一种实施方式,表项生成单元2包括:
路由判断子单元20,其用于判断网关设备与主机设备之间是否为直连路由;
第一表项生成子单元21,其用于当网关设备与主机设备之间不为直连路由时,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
第二表项生成子单元22,其用于当网关设备与主机设备之间为直连路由时,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表。
当网关设备与主机设备之间的路由为直连路由或非直连路由时,分别有对应不同的ARP表项以及ARP hash映射表生成方法。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间不为直连路由,第一表项生成子单元21启动非直连第一生成流程,根据ARP配置信息,生成ARP表项以及ARPhash映射表,该非直连第一生成流程具体包括以下步骤:
A1、网关主控将ARP配置信息下发至应用层;
A2、应用层将ARP配置信息转发至网关驱动;
A3、网关驱动根据ARP配置信息生成ARP表项以及ARP hash映射表,并将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中;
由于该网关设备与主机设备之间为非直连路由,网关主控先将ARP配置信息下发到应用层,应用层转发再将ARP配置信息下发到网关驱动,网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,并将ARP hash映射表中的唯一ARP ID填写到对应的NEX HOP下一跳表项中;
当主机设备的业务报文过来后,通过查找网关路由后找到NEX HOP下一跳表中的ARP ID,而此时的ARP KEY已由ARP ID替换,故而不再基于ARP KEY进行查找,而是再通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间不为直连路由,第一表项生成子单元21启动非直连第二生成流程,根据ARP配置信息,生成ARP表项以及ARPhash映射表,该非直连第二生成流程具体包括以下步骤:
B1、网关主控将ARP配置信息下发至应用层;
B2、应用层根据ARP配置信息,生成ARP hash映射表,并将ARP配置信息转发至网关驱动;
B3、网关驱动根据ARP配置信息生成ARP表项;
B4、应用层将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
由于该网关设备与主机设备之间为非直连路由,网关主控先将ARP配置信息下发到应用层转发,在应用层生成ARP hash映射表,网关驱动生成ARP表项;应用层将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中;
当主机设备的业务报文过来后,通过查找网关路由后找到NEX HOP下一跳表中的ARP ID,而此时的ARP KEY已由ARP ID替换,故而不再基于ARP KEY进行查找,而是再通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间为直连路由,第二表项生成子单元22启动直连第一生成流程,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表,该直连第一生成流程具体包括以下步骤:
C1、网关驱动根据ARP配置信息生成ARP表项、ARP hash映射表、明细路由以及明细路由的NEX HOP下一跳表;
C2、将ARP hash映射表中的ARP ID将填入NEX HOP下一跳表中;
由于该网关设备与主机设备之间为直连路由,网关主控先将ARP配置信息下发到应用层转发,应用层转发再将ARP配置信息下发到网关驱动,最后网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,此时ARP hash映射表生成的ARP ID将不会填写到网关路由的NEX HOP下一跳表项中;
当网关设备收到业务报文后,由于此时ARP ID没有填写到网关路由的NEX HOP下一跳表项中,业务报文将上送网关主控处理;
网关主控收到该业务报文后,由网关主控发起ARP表项学习,在ARP配置信息下发驱动时,网关驱动生成如下配置:
1、ARP表项,其包括ARP的配置信息、IP地址、出接口信息和MAC地址;
2、ARP hash映射表,其包括ARP表项和ARP ID的映射关系表;
3、业务报文的转发目的IP的32位掩码的明细路由;
4、上述明细路由的NEX HOP下一跳表,并将ARP hash映射表中的ARP ID将填写到该NEX HOP下一跳表中;
故而,当收到业务报文后,首先查找32位掩码的明细路由,在明细路由表中获取到NEX HOP下一跳表的ID,再通过NEX HOP下一跳的ID查找NEX HOP下一跳,在对应的NEX HOP下一跳表中获取ARP ID,最后通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去,步骤结束。
本发明实施例中的另一种实施方式,若网关设备与主机设备之间为直连路由,第二表项生成子单元22启动直连第二生成流程,网关主控根据ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及明细路由对应的NEX HOP下一跳表,该直连第二生成流程,具体包括以下步骤:
D1、ARP配置信息转发至应用层;
D2、根据ARP配置信息,应用层生成ARP hash映射表,网关驱动生成ARP表项;
D3、根据ARP配置信息,获得明细路由以及明细路由的NEX HOP下一跳表;
D4、将ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中。
而后,与直连第一生成流程相似,由于该网关设备与主机设备之间为直连路由,网关主控先将ARP配置信息下发到应用层转发,应用层转发再将ARP配置信息下发到网关驱动,最后网关驱动在接收到下发的ARP配置信息后,生成ARP表项及ARP hash映射表,此时ARP hash映射表生成的ARP ID将不会填写到网关路由的NEX HOP下一跳表项中;
当网关设备收到业务报文后,由于此时ARP ID没有填写到网关路由的NEX HOP下一跳表项中,业务报文将上送网关主控处理;
网关主控收到该业务报文后,由网关主控发起ARP表项学习,在ARP配置信息下发驱动时,网关驱动生成ARP表项、ARP hash映射表、业务报文的转发目的IP的32位掩码的明细路由以及上述明细路由的NEX HOP下一跳表,并将ARP hash映射表中的ARP ID将填写到该NEX HOP下一跳表中;
同样,当收到业务报文后,首先查找32位掩码的明细路由,在明细路由表中获取到NEX HOP下一跳表的ID,再通过NEX HOP下一跳的ID查找NEX HOP下一跳,在对应的NEX HOP下一跳表中获取ARP ID,最后通过ARP ID在ARP hash映射表中找到对应的ARP表项,从而为三层报文封装以太网报文头,结合业务报文,从对应的槽位端口转发出去,步骤结束。
需要说明的是,明细路由与报文的目的IP的32位掩码对应。
本发明实施例中的另一种实施方式,ARP表项包括ARP配置信息、IP地址、出接口信息以及MAC地址;
具体的,ARP表项还包括ARP ID、直连本端端口信息、直连对端端口的IP地址和MAC地址;
其中,本端端口信息包含出口槽位号、端口号和VLAN ID,MAC地址为任一主机设备的MAC地址。
本发明实施例中的另一种实施方式,NEX HOP下一跳表包含索引ARP表项的ARPID、直连本端端口信息。
需要说明的是,路由表包含IP地址、子网掩码、索引NEX HOP下一跳表的NEX HOPID;
ARP表项学习,具体是指网关设备在收到主机设备的业务报文后,如果在本地没有查找到对应ARP信息,网关设备将发起广播ARP requset报文,对应的主机设备在收到ARPrequset报文后,对网关设备进行ARP reply;网关设备在收到ARP reply后将学习到的ARP信息下发。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例三
实施例三
本发明第三实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述第一实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,R andom Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请提供了实施例一对应的设备的实施例,详见实施例四
实施例四
本发明第四实施例还提供一种设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种ARP表项索引方法,其特征在于,所述方法包括以下步骤:
网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与所述ARP ID对应的ARP表项;
当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
通过所述ARP ID查询ARP表项,将查询获得的所述ARP表项封装为以太网报文头并转发需要转发的所述业务报文;
其中,ARP ID为对应的ARP表项的ID号,所述ARP hash映射表为ARP ID与ARP表项的映射关系表。
2.如权利要求1所述的ARP表项索引方法,其特征在于,所述当网关设备的ARP ID对应的ARP表项不存在时,根据ARP配置信息生成ARP表项以及ARP hash映射表,所述ARP表项与所述ARP hash映射表中的ARP ID对应,具体包括以下步骤:
判断所述网关设备与主机设备之间是否为直连路由;
若所述网关设备与所述主机设备之间不为直连路由,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表。
3.如权利要求2所述的ARP表项索引方法,其特征在于,若所述网关设备与所述主机设备之间不为直连路由,所述根据ARP配置信息,生成ARP表项以及ARP hash映射表,具体包括以下步骤:
网关主控将所述ARP配置信息下发至应用层;
所述应用层将所述ARP配置信息转发至网关驱动;
所述网关驱动根据所述ARP配置信息生成ARP表项以及ARP hash映射表,并将所述ARPhash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
4.如权利要求2所述的ARP表项索引方法,其特征在于,若所述网关设备与所述主机设备之间不为直连路由,所述根据ARP配置信息,生成ARP表项以及ARP hash映射表,具体包括以下步骤:
网关主控将所述ARP配置信息下发至应用层;
所述应用层根据所述ARP配置信息,生成ARP hash映射表,并将所述ARP配置信息转发至网关驱动;
所述网关驱动根据所述ARP配置信息生成ARP表项;
所述应用层将所述ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表项中。
5.如权利要求2所述的ARP表项索引方法,其特征在于,若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表,具体包括以下步骤:
网关驱动根据所述ARP配置信息生成ARP表项、ARP hash映射表、明细路由以及所述明细路由的NEX HOP下一跳表;
将所述ARP hash映射表中的ARP ID将填入所述NEX HOP下一跳表中。
6.如权利要求2所述的ARP表项索引方法,其特征在于,若所述网关设备与所述主机设备之间为直连路由,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表,具体包括以下步骤:
所述ARP配置信息转发至应用层;
根据所述ARP配置信息,所述应用层生成所述ARP hash映射表,网关驱动生成所述ARP表项;
根据所述ARP配置信息,获得所述明细路由以及所述明细路由的NEX HOP下一跳表;
将所述ARP hash映射表中的ARP ID填写到对应的NEX HOP下一跳表中。
7.如权利要求1所述的ARP表项索引方法,其特征在于:
所述ARP表项包括ARP配置信息、IP地址、出接口信息以及MAC地址。
8.如权利要求2所述的ARP表项索引方法,其特征在于:
所述明细路由与所述报文的目的IP的32位掩码对应。
9.一种ARP表项索引系统,其特征在于,所述系统包括:
表项查找单元,其用于待网关设备响应需要转发的业务报文,获取网关设备的ARP ID,并判断是否存在与所述ARP ID对应的ARP表项;
表项生成单元,其用于当网关设备的ARP ID对应的ARP表项不存在时,发起ARP表项学习,根据ARP配置信息生成ARP表项以及ARP hash映射表;
表项发送单元,其用于通过所述ARP ID查询ARP表项,将查询获得的所述ARP表项封装为以太网报文头并转发需要转发的所述业务报文;其中,
ARP ID为对应的ARP表项的ID号,所述ARP hash映射表为ARP ID与ARP表项的映射关系表。
10.如权利要求9所述的ARP表项索引系统,其特征在于,所述表项生成单元包括:
路由判断子单元,其用于判断所述网关设备与主机设备之间是否为直连路由;
第一表项生成子单元,其用于当所述网关设备与所述主机设备之间不为直连路由时,根据ARP配置信息,生成ARP表项以及ARP hash映射表;
第二表项生成子单元,其用于当所述网关设备与所述主机设备之间为直连路由时,网关主控根据所述ARP配置信息,生成ARP表项以及ARP hash映射表,并获得明细路由以及所述明细路由对应的NEX HOP下一跳表。
CN202010887640.4A 2020-08-28 2020-08-28 一种arp表项索引方法及系统 Active CN112073552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010887640.4A CN112073552B (zh) 2020-08-28 2020-08-28 一种arp表项索引方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010887640.4A CN112073552B (zh) 2020-08-28 2020-08-28 一种arp表项索引方法及系统

Publications (2)

Publication Number Publication Date
CN112073552A CN112073552A (zh) 2020-12-11
CN112073552B true CN112073552B (zh) 2022-03-11

Family

ID=73660184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010887640.4A Active CN112073552B (zh) 2020-08-28 2020-08-28 一种arp表项索引方法及系统

Country Status (1)

Country Link
CN (1) CN112073552B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956416A (zh) * 2006-09-25 2007-05-02 杭州华为三康技术有限公司 一种建立地址解析协议表的方法及网络设备
KR100817552B1 (ko) * 2006-09-29 2008-03-27 한국전자통신연구원 맵핑 테이블을 이용한 IPv4/IPv6 단말 또는 응용프로그램간 프로토콜 변환 장치 및 방법과, 프로토콜 변환장치의 맵핑 테이블 생성 방법
CN101237378A (zh) * 2008-03-11 2008-08-06 杭州华三通信技术有限公司 虚拟局域网的映射方法和设备
CN103259727A (zh) * 2012-08-31 2013-08-21 杭州华三通信技术有限公司 一种报文转发方法及设备
CN105282034A (zh) * 2015-09-11 2016-01-27 烽火通信科技股份有限公司 Arp/ndp学习系统及学习方法
WO2019076047A1 (zh) * 2017-10-20 2019-04-25 华为技术有限公司 流量转发方法和流量转发装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956416A (zh) * 2006-09-25 2007-05-02 杭州华为三康技术有限公司 一种建立地址解析协议表的方法及网络设备
KR100817552B1 (ko) * 2006-09-29 2008-03-27 한국전자통신연구원 맵핑 테이블을 이용한 IPv4/IPv6 단말 또는 응용프로그램간 프로토콜 변환 장치 및 방법과, 프로토콜 변환장치의 맵핑 테이블 생성 방법
CN101237378A (zh) * 2008-03-11 2008-08-06 杭州华三通信技术有限公司 虚拟局域网的映射方法和设备
CN103259727A (zh) * 2012-08-31 2013-08-21 杭州华三通信技术有限公司 一种报文转发方法及设备
CN105282034A (zh) * 2015-09-11 2016-01-27 烽火通信科技股份有限公司 Arp/ndp学习系统及学习方法
WO2019076047A1 (zh) * 2017-10-20 2019-04-25 华为技术有限公司 流量转发方法和流量转发装置

Also Published As

Publication number Publication date
CN112073552A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN102970227B (zh) 在asic中实现vxlan报文转发的方法和装置
CN108718278B (zh) 一种报文传输方法和装置
CN102821165B (zh) Ip地址转换方法及装置
EP4207685A1 (en) Message header processing method and apparatus, storage medium and electronic device
CN107317752B (zh) 一种转发数据报文的方法及装置
CN103139075B (zh) 一种报文传输方法和设备
CN102957589A (zh) 业务数据传输的方法、网络节点及系统
EP4033704A1 (en) Routing information transmission method and apparatus, and data center interconnection network
CN107580079A (zh) 一种报文传输方法和装置
CN113364660B (zh) Lvs负载均衡中的数据包处理方法及装置
US9819641B2 (en) Method of and a processing device handling a protocol address in a network
CN104994022A (zh) 一种报文传输的方法和业务板
CN107070719B (zh) 一种设备管理方法和装置
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
CN112511401B (zh) 一种网络连接方法、装置、设备及介质
EP3503484B1 (en) Message transmission methods and devices
CN107534591A (zh) 基于服务器的本地地址分配协议
CN106487677A (zh) 运营商边缘设备及数据转发方法
CN112073552B (zh) 一种arp表项索引方法及系统
CN102868642B (zh) 在asic中实现nvgre报文转发的方法和装置
CN103391251A (zh) 一种pbb网络中减少冗余流量的方法和设备
CN104639439A (zh) 一种业务报文的处理方法和设备
CN103986637A (zh) 一种差错报文处理方法及隧道设备
CN101686265B (zh) 网络设备、网络系统以及建立数据通讯的方法
CN104052717A (zh) 一种报文发送方法及装置

Legal Events

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