CN111147382A - 报文转发方法和装置 - Google Patents
报文转发方法和装置 Download PDFInfo
- Publication number
- CN111147382A CN111147382A CN201911413740.7A CN201911413740A CN111147382A CN 111147382 A CN111147382 A CN 111147382A CN 201911413740 A CN201911413740 A CN 201911413740A CN 111147382 A CN111147382 A CN 111147382A
- Authority
- CN
- China
- Prior art keywords
- mac
- address
- message
- mapping node
- destination
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及装置,应用于防火墙设备中,所述方法包括:确定来自连接的终端发送的报文匹配上预设IPSec策略后,在IP‑MAC映射节点集合中添加与所述报文对应的第一IP‑MAC映射节点,并根据MAC转发表转发所述报文;以及,通过所述IPSec VPN连接接收IPSec报文后,在所述IP‑MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP‑MAC映射节点;若查找到所述第二IP‑MAC映射节点,则根据所述第二IP‑MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址;根据所述MAC转发表转发重新设置后的所述内层报文。应用本申请的实施例,可以避免一直泛洪终端的报文,进而可以大大节省网络资源。
Description
技术领域
本申请涉及网络通信技术领域,特别设计一种报文转发方法和装置。
背景技术
有些大规模的公司需要在本部之外建立分支,为了满足本部与各个分支之间的通信需求,可以在各个区域的内部、以及各个区域之间进行二层组网,请参见图1,图1为二层组网的架构示意图,无论包含多少个区域,通信原理都是相同的,图中以包含两个区域为例进行说明。
互联网协议安全(Internet Protocol Security,IPSec)是一种工作在三层的加密协议,通过在IPSec对等体之间建立双向的IPSec隧道,并将匹配IPSec策略的报文引入该IPSec隧道,然后对通过IPSec隧道接收到的报文进行加密和验证,进而实现安全传输指定的报文。为了保证图1所示的二层组网中各区域之间报文交互的安全,可以引入透明模式的防火墙设备,防火墙设备工作在二层转发模式,通过IPSec虚拟专用网络(Virtual PrivateNetwork,VPN)功能对报文进行加密,保证报文的安全,请参见图2,图2为在图1的基础上引入防火墙设备的二层组网的架构示意图。
假设,区域1的终端1和区域2的终端2需要通信,首先发送地址解析协议(AddressResolution Protocol,ARP)请求报文,请求终端2的媒体访问控制(Media AccessControl,MAC)地址,终端2接收到ARP请求报文后,会发送ARP响应报文,终端1与防火墙设备1可以学习到终端2的MAC地址,终端2与防火墙设备2可以学习到终端1的MAC地址,从而生成对应的MAC转发表项。
当终端1向终端2发送的访问请求报文到达防火墙设备1时,防火墙设备1会匹配IPSec策略,若匹配上IPSec策略,则将访问请求报文加密得到IPSec报文,并发送到防火墙设备2,防火墙设备2解密IPSec报文并发送到区域2的终端2,终端2发送的访问响应报文以此类推,如此即可完成一次报文交互。
上述过程中,IPSec报文具有新的三层及二层头,也就是说IPSec报文的MAC地址与原访问请求报文的MAC地址不一致,当终端2的IPSec报文到达防火墙设备1后,无法保活终端2的MAC地址对应的MAC转发表项,由于防火墙设备上的各个MAC转发表项有一定的生存时间(典型值为300秒),在生存时间内没有收到匹配的报文就会删除该MAC转发表项,若此时终端1再次向终端2发送访问请求报文,由于此时防火墙设备1已经删除终端2对应的MAC转发表项,导致该访问请求报文在防火墙设备1的所有广播域内进行泛洪,而且由于一直学习不到终端2对应的MAC转发表项,发往终端2的报文会一直泛洪,这就会大大浪费网络资源。
发明内容
有鉴于此,本申请提供一种报文转发方法和装置,以解决由于报文一直泛洪而导致的大大浪费网络资源的问题。
具体地,本申请是通过如下技术方案实现的:
一种报文转发方法,应用于防火墙设备中,所述防火墙设备分别与其他至少一个防火墙设备之间建立IPSec VPN连接,所述防火墙设备工作在二层透明模式,所述方法包括:
确定来自连接的终端发送的报文匹配上预设IPSec策略后,在互联网协议IP-媒体访问控制MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,并根据MAC转发表转发所述报文;以及,
通过所述IPSec VPN连接接收IPSec报文后,在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点;
若查找到所述第二IP-MAC映射节点,则根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址;
根据所述MAC转发表转发重新设置后的所述内层报文。
一种报文转发装置,应用于所述防火墙设备分别与其他至少一个防火墙设备之间建立IPSec VPN连接,所述防火墙设备工作在二层透明模式,所述装置包括:
处理模块,用于确定来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,并根据MAC转发表转发所述报文;
查找模块,用于通过所述IPSec VPN连接接收IPSec报文后,在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点;
设置模块,用于若查找到所述第二IP-MAC映射节点,则根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址;
转发模块,用于根据所述MAC转发表转发重新设置后的所述内层报文。
一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
由以上本申请提供的技术方案可见,在来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,后续通过IPSec VPN连接接收IPSec报文后,若在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,由于第二IP-MAC映射节点是根据之前接收到的终端发送的报文添加的,而该报文中携带的是终端学习到的真实的MAC地址,从而可以确保根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址后,可以匹配到MAC转发表项转发,同时保活该MAC转发表项,可以继续使用该MAC转发表项转发来自连接的终端的报文,不会一直泛洪该终端的报文,进而可以大大节省网络资源。
附图说明
图1为本申请相关技术中二层组网的架构示意图;
图2为本申请相关技术中在图1的基础上引入防火墙设备的二层组网的架构示意图;
图3为本申请示出的一种报文转发方法的流程图;
图4为本申请示出的一种报文转发装置的结构示意图;
图5为本申请示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决上述问题,本发明实施例提供了一种报文转发方法,以避免一直泛洪终端的报文,进而可以大大节省网络资源。请参见图3,图3为本申请示出的一种报文转发方法的流程图,应用于防火墙设备分别与其他至少一个防火墙设备之间建立IPSec VPN连接,防火墙设备工作在二层透明模式。
S31:确定来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,并根据MAC转发表转发报文。
终端可以是如图2所示的二层组网中防火墙设备所属区域的任一终端,接收到终端发送的报文后,首先会与预设IPSec策略相匹配,具体可以获取报文的源IP地址和目的IP地址匹配预设IPSec策略,若匹配上,可以在IP-MAC映射节点集合中添加与报文对应的IP-MAC映射节点,该IP-MAC映射节点可以定义为第一IP-MAC映射节点,记录的是报文的IP地址、MAC地址等等准确的信息,并根据MAC转发表转发报文。以便于后续接收到IPSec报文后,用来重新设置IPSec报文的内层报文的源MAC地址和目的MAC地址。
S32:通过IPSec VPN连接接收IPSec报文后,在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点。
通过IPSec VPN连接接收的IPSec报文是IPSec VPN连接的对端防火墙设备转发的,可以首先在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点。
需要说明的是,S31与S32只是为了给两个步骤一个编辑,二者之间没有严格的先后执行顺序,可以先执行S31再执行S32,也可以先执行S32再执行S31,还可以同时执行S31和S32。
S33:若查找到第二IP-MAC映射节点,则根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址。
由于查找到第二IP-MAC映射节点,第二IP-MAC映射节点中记录了准确的IP地址和MAC地址等等信息,因此可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址。
若未查找到第二IP-MAC映射节点,则无法根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,则以三层方式转发内层报文。由于二层组网的整个组播域在同一个网段内,如果终端主动发送ARP请求能够得到回复,同时防火墙设备上接口会存在直连路由,无需额外配置路由。
S34:根据MAC转发表转发重新设置后的内层报文。
由以上本申请提供的技术方案可见,在来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,后续通过IPSec VPN连接接收IPSec报文后,若在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,由于第二IP-MAC映射节点是根据之前接收到的终端发送的报文添加的,而该报文中携带的是终端学习到的真实的MAC地址,从而可以确保根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址后,可以匹配到MAC转发表项转发,同时保活该MAC转发表项,可以继续使用该MAC转发表项转发来自连接的终端的报文,不会一直泛洪该终端的报文,进而可以大大节省网络资源。
具体的,上述S31中的在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,实现过程具体包括:
获取报文携带的第一源IP地址、第一目的IP地址、第一源MAC地址和第一目的MAC地址;
将第一源IP地址和第一目的IP地址进行哈希运算,得到第一哈希值;
生成包括第一哈希值、第一源IP地址、第一目的IP地址、第一源MAC地址、第一目的MAC地址和当前生成时刻的第一IP-MAC映射节点;
将第一IP-MAC映射节点添加到IP-MAC映射节点集合中。
将第一源IP地址和第一目的IP地址进行哈希运算,得到第一哈希值,第一IP-MAC映射节点包括第一哈希值、第一源IP地址、第一目的IP地址、第一源MAC地址、第一目的MAC地址和当前生成时刻。以便于后续根据哈希值可以快速地从IP-MAC映射节点集合中查到IP-MAC映射节点。
可以分配一块空间来存储第一IP-MAC映射节点的数据,将第一IP-MAC映射节点挂在IP-MAC映射节点集合的hash格上,IP-MAC映射节点集合中的IP-MAC映射节点可以但不限于按照生成时间的先后顺序排序,最新生成的挂在最前面。
一种可选的实施方式,上述方法还包括:
确定生成时刻与当前时刻之间的时长超过老化时长的第三IP-MAC映射节点;
从IP-MAC映射节点集合中删除第三IP-MAC映射节点。
由于防火墙设备的存储空间可能有限,为了避免防火墙设备从存储空间被用尽,可以设置每个IP-MAC映射节点的老化时长,然后从IP-MAC映射节点集合中删除生成时刻与当前时刻之间的时长超过老化时长的IP-MAC映射节点,该IP-MAC映射节点可以定义为第三IP-MAC映射节点。
具体的,上述S32中的在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,实现过程具体包括:
解密IPSec报文,得到IPSec报文的内层报文;
获取内层报文携带的第二源IP地址和第二目的IP地址;
将第二源IP地址和第二目的IP地址进行哈希运算,得到第二哈希值;
在IP-MAC映射节点集合中查找第二哈希值第二源IP地址和第二目的IP地址对应的最新的IP-MAC映射节点,得到内层报文对应的第二IP-MAC映射节点。
当防火墙设备接收到的IPSec报文能够匹配到IPSec解密策略时,首先对IPSec报文进行解密,还原内层报文,然后根据内层报文的源IP地址和目的IP地址进行哈希运算,得到第二哈希值,内层报文的源IP地址可以定义为第二源IP地址,内层报文的目的IP地址可以定义为第二目的IP地址,再根据第二哈希值在IP-MAC映射节点集合的hash格上查找生成时间最新的IP-MAC映射节点,由于存在哈希冲突,会查找到多个IP-MAC映射节点,然后还可以进一步从多个IP-MAC映射节点中查找第二源IP地址和第二目的IP地址,就可以得到唯一一个IP-MAC映射节点,该IP-MAC映射节点可以定义为第二IP-MAC映射节点。
具体的,上述S33中的根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,实现过程具体包括:
获取第二IP-MAC映射节点包括的第二源MAC地址和第二目的MAC地址;
将第二源MAC地址和第二目的MAC地址重新设置为内层报文的目的IP地址和源MAC地址。
由于IP-MAC映射节点中记录的是准确的IP地址和MAC地址等等信息,因此,可以根据获取的第二IP-MAC映射节点包括的第二源MAC地址和第二目的MAC地址,重新设置为内层报文的目的MAC地址和源MAC地址,以确保可以根据重新设置的内层报文查找MAC转发表,从而进行准确地转发,同时也能匹配上MAC转发表项并保活相应的MAC表项,使该MAC转发表项不会因为超过生存时长而被删除。
其中,上述S31中的根据MAC转发表转发来自终端的报文具体包括:从MAC转发表中查找与报文匹配的MAC转发表项,若查找到匹配的MAC转发表项,则按照MAC转发表项转发报文,由于该报文是单播二层报文,因此,通过IPSec VPN连接发送该报文时需要加密后再发送;若未查找到匹配的MAC转发表项,则泛洪报文,泛洪的报文是二层广播报文,IPSec VPN连接对应的接口也会接收到该报文,通过IPSec VPN连接发送该报文时无需加密,可以直接发送,然后根据返回的报文学习MAC转发表项后再根据学习到的MAC转发表项转发来自终端的报文,由于该报文是单播二层报文,因此,通过IPSec VPN发送该报文时需要加密后再发送。
上述S34中的根据MAC转发表转发重新设置的内层报文具体包括:从MAC转发表中查找与重新设置的内层报文匹配的MAC转发表项,若查找到匹配的MAC转发表项,则按照MAC转发表项转发重新设置的内层报文,从而可以转发给匹配到的MAC转发表项对应的终端;若未查找到匹配的MAC转发表项,则泛洪重新设置的内层报文,泛洪的报文是二层广播报文,IPSec VPN连接对应的接口也会接收到该报文,通过IPSec VPN连接发送该报文时无需加密,可以直接发送,然后根据返回的报文学习MAC转发表项后再根据学习到的MAC转发表项转发重新设置的内层报文,从而可以转发给学习到的MAC转发表项对应的终端。
请参见图4,图4为本申请示出的一种报文转发装置的结构示意图,应用于防火墙设备分别与其他至少一个防火墙设备之间建立IPSec VPN连接,防火墙设备工作在二层透明模式,该装置包括:
处理模块41,用于确定来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,并根据MAC转发表转发报文;
查找模块42,用于通过IPSec VPN连接接收IPSec报文后,在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点;
设置模块43,用于若查找到第二IP-MAC映射节点,则根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址;
转发模块44,用于根据MAC转发表转发重新设置后的内层报文。
由以上本申请提供的技术方案可见,在来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,后续通过IPSec VPN连接接收IPSec报文后,若在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,由于第二IP-MAC映射节点是根据之前接收到的终端发送的报文添加的,而该报文中携带的是终端学习到的真实的MAC地址,从而可以确保根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址后,可以匹配到MAC转发表项转发,同时保活该MAC转发表项,可以继续使用该MAC转发表项转发来自连接的终端的报文,不会一直泛洪该终端的报文,进而可以大大节省网络资源。
具体的,处理模块41,用于在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,具体用于:
获取报文携带的第一源IP地址、第一目的IP地址、第一源MAC地址和第一目的MAC地址;
将第一源IP地址和第一目的IP地址进行哈希运算,得到第一哈希值;
生成包括第一哈希值、第一源IP地址、第一目的IP地址、第一源MAC地址、第一目的MAC地址和当前生成时刻的第一IP-MAC映射节点;
将第一IP-MAC映射节点添加到IP-MAC映射节点集合中。
一种可选的实施方式,上述装置还包括:
确定模块,用于确定生成时刻与当前时刻之间的时长超过老化时长的第三IP-MAC映射节点;
删除模块,用于从IP-MAC映射节点集合中删除第三IP-MAC映射节点。
具体的,上述查找模块42,用于在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,具体用于:
解密IPSec报文,得到IPSec报文的内层报文;
获取内层报文携带的第二源IP地址和第二目的IP地址;
将第二源IP地址和第二目的IP地址进行哈希运算,得到第二哈希值;
在IP-MAC映射节点集合中查找第二哈希值、第二源IP地址和第二目的IP地址对应的最新的IP-MAC映射节点,得到内层报文对应的第二IP-MAC映射节点。
具体的,上述设置模块43,用于根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,具体用于:
获取第二IP-MAC映射节点包括的第二源MAC地址和第二目的MAC地址;
将第二源MAC地址和第二目的MAC地址重新设置为内层报文的目的IP地址和源MAC地址。
一种可选实施方式,上述转发模块44,还用于:
若未查找到第二IP-MAC映射节点,则以三层方式转发内层报文。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例还提供了一种电子设备,请参见图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现上述实施例中任一所述的报文转发方法。
通信接口520用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上本申请提供的技术方案可见,在来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,后续通过IPSec VPN连接接收IPSec报文后,若在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,由于第二IP-MAC映射节点是根据之前接收到的终端发送的报文添加的,而该报文中携带的是终端学习到的真实的MAC地址,从而可以确保根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址后,可以匹配到MAC转发表项转发,同时保活该MAC转发表项,可以继续使用该MAC转发表项转发来自连接的终端的报文,不会一直泛洪该终端的报文,进而可以大大节省网络资源。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的报文转发方法。
由以上本申请提供的技术方案可见,在来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与报文对应的第一IP-MAC映射节点,后续通过IPSec VPN连接接收IPSec报文后,若在IP-MAC映射节点集合中查找IPSec报文的内层报文对应的第二IP-MAC映射节点,可以根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址,由于第二IP-MAC映射节点是根据之前接收到的终端发送的报文添加的,而该报文中携带的是终端学习到的真实的MAC地址,从而可以确保根据第二IP-MAC映射节点重新设置内层报文的源MAC地址和目的MAC地址后,可以匹配到MAC转发表项转发,同时保活该MAC转发表项,可以继续使用该MAC转发表项转发来自连接的终端的报文,不会一直泛洪该终端的报文,进而可以大大节省网络资源。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种报文转发方法,应用于防火墙设备中,所述防火墙设备分别与其他至少一个防火墙设备之间建立互联网协议安全IPSec虚拟专用网络VPN连接,所述防火墙设备工作在二层透明模式,其特征在于,所述方法包括:
确定来自连接的终端发送的报文匹配上预设IPSec策略后,在互联网协议IP-媒体访问控制MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,并根据MAC转发表转发所述报文;以及,
通过所述IPSec VPN连接接收IPSec报文后,在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点;
若查找到所述第二IP-MAC映射节点,则根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址;
根据所述MAC转发表转发重新设置后的所述内层报文。
2.根据权利要求1所述的方法,其特征在于,在IP-MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,具体包括:
获取所述报文携带的第一源IP地址、第一目的IP地址、第一源MAC地址和第一目的MAC地址;
将所述第一源IP地址和所述第一目的IP地址进行哈希运算,得到第一哈希值;
生成包括所述第一哈希值、所述第一源IP地址、所述第一目的IP地址、所述第一源MAC地址、所述第一目的MAC地址和当前生成时刻的第一IP-MAC映射节点;
将所述第一IP-MAC映射节点添加到IP-MAC映射节点集合中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定生成时刻与当前时刻之间的时长超过老化时长的第三IP-MAC映射节点;
从所述IP-MAC映射节点集合中删除所述第三IP-MAC映射节点。
4.根据权利要求2所述的方法,其特征在于,在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点,具体包括:
解密所述IPSec报文,得到所述IPSec报文的内层报文;
获取所述内层报文携带的第二源IP地址和第二目的IP地址;
将所述第二源IP地址和所述第二目的IP地址进行哈希运算,得到第二哈希值;
在所述IP-MAC映射节点集合中查找所述第二哈希值、所述第二源IP地址和所述第二目的IP地址对应的最新的IP-MAC映射节点,得到所述内层报文对应的第二IP-MAC映射节点。
5.根据权利要求4所述的方法,其特征在于,根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址,具体包括:
获取所述第二IP-MAC映射节点包括的第二源MAC地址和第二目的MAC地址;
将所述第二源MAC地址和所述第二目的MAC地址重新设置为所述内层报文的目的IP地址和源MAC地址。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
若未查找到所述第二IP-MAC映射节点,则以三层方式转发所述内层报文。
7.一种报文转发装置,应用于所述防火墙设备分别与其他至少一个防火墙设备之间建立IPSec VPN连接,所述防火墙设备工作在二层透明模式,其特征在于,所述装置包括:
处理模块,用于确定来自连接的终端发送的报文匹配上预设IPSec策略后,在IP-MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,并根据MAC转发表转发所述报文;
查找模块,用于通过所述IPSec VPN连接接收IPSec报文后,在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点;
设置模块,用于若查找到所述第二IP-MAC映射节点,则根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址;
转发模块,用于根据所述MAC转发表转发重新设置后的所述内层报文。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,用于在IP-MAC映射节点集合中添加与所述报文对应的第一IP-MAC映射节点,具体用于:
获取所述报文携带的第一源IP地址、第一目的IP地址、第一源MAC地址和第一目的MAC地址;
将所述第一源IP地址和所述第一目的IP地址进行哈希运算,得到第一哈希值;
生成包括所述第一哈希值、所述第一源IP地址、所述第一目的IP地址、所述第一源MAC地址、所述第一目的MAC地址和当前生成时刻的第一IP-MAC映射节点;
将所述第一IP-MAC映射节点添加到IP-MAC映射节点集合中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定生成时刻与当前时刻之间的时长超过老化时长的第三IP-MAC映射节点;
删除模块,用于从所述IP-MAC映射节点集合中删除所述第三IP-MAC映射节点。
10.根据权利要求8所述的装置,其特征在于,所述查找模块,用于在所述IP-MAC映射节点集合中查找所述IPSec报文的内层报文对应的第二IP-MAC映射节点,具体用于:
解密所述IPSec报文,得到所述IPSec报文的内层报文;
获取所述内层报文携带的第二源IP地址和第二目的IP地址;
将所述第二源IP地址和所述第二目的IP地址进行哈希运算,得到第二哈希值;
在所述IP-MAC映射节点集合中查找所述第二哈希值、所述第二源IP地址和所述第二目的IP地址对应的最新的IP-MAC映射节点,得到所述内层报文对应的第二IP-MAC映射节点。
11.根据权利要求10所述的装置,其特征在于,所述设置模块,用于根据所述第二IP-MAC映射节点重新设置所述内层报文的源MAC地址和目的MAC地址,具体用于:
获取所述第二IP-MAC映射节点包括的第二源MAC地址和第二目的MAC地址;
将所述第二源MAC地址和所述第二目的MAC地址重新设置为所述内层报文的目的IP地址和源MAC地址。
12.根据权利要求7-11任一所述的装置,其特征在于,所述转发模块,还用于:
若未查找到所述第二IP-MAC映射节点,则以三层方式转发所述内层报文。
13.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413740.7A CN111147382B (zh) | 2019-12-31 | 2019-12-31 | 报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413740.7A CN111147382B (zh) | 2019-12-31 | 2019-12-31 | 报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147382A true CN111147382A (zh) | 2020-05-12 |
CN111147382B CN111147382B (zh) | 2021-09-21 |
Family
ID=70522621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911413740.7A Active CN111147382B (zh) | 2019-12-31 | 2019-12-31 | 报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147382B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614540A (zh) * | 2020-06-04 | 2020-09-01 | 北京百度网讯科技有限公司 | 用于传递信息的方法及装置 |
CN115277164A (zh) * | 2022-07-24 | 2022-11-01 | 杭州迪普科技股份有限公司 | 基于二层组网环境的报文处理方法及装置 |
CN116055184A (zh) * | 2023-01-28 | 2023-05-02 | 鹏城实验室 | 基于网络协议的通道连接方法、设备及介质 |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855924A (zh) * | 2005-04-27 | 2006-11-01 | 华为技术有限公司 | 网络层安全报文穿越地址变换设备的方法 |
CN101009689A (zh) * | 2006-01-26 | 2007-08-01 | 西门子(中国)有限公司 | 一种防止地址解析欺骗的方法 |
CN101299665A (zh) * | 2008-05-19 | 2008-11-05 | 华为技术有限公司 | 报文处理方法、系统及装置 |
CN101345673A (zh) * | 2008-05-21 | 2009-01-14 | 华为技术有限公司 | 位置合法性检测的方法、通信系统、接入设备及上层管理网元 |
CN101631080A (zh) * | 2009-08-14 | 2010-01-20 | 重庆邮电大学 | 基于epa协议的工业以太网交换机和报文转发方法 |
CN102065111A (zh) * | 2009-11-13 | 2011-05-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种反向代理方法和反向代理服务器 |
CN102088438A (zh) * | 2009-12-03 | 2011-06-08 | 中兴通讯股份有限公司 | 一种解决IPSec Client地址冲突的方法及IPSec Client |
CN102932229A (zh) * | 2012-11-20 | 2013-02-13 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
CN103188356A (zh) * | 2013-04-07 | 2013-07-03 | 汉柏科技有限公司 | 一种外网映射IPsec报文实现NAT穿越的方法 |
CN103259727A (zh) * | 2012-08-31 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103607350A (zh) * | 2013-12-10 | 2014-02-26 | 山东中创软件商用中间件股份有限公司 | 一种路由生成方法及装置 |
CN104022973A (zh) * | 2014-06-18 | 2014-09-03 | 福建星网锐捷网络有限公司 | 报文转发方法、交换模块、防火墙卡和交换机 |
CN104270390A (zh) * | 2014-10-23 | 2015-01-07 | 东南大学 | 基于IPv6的IPSec嵌入式防火墙的系统及其操作方法 |
CN105610599A (zh) * | 2014-11-25 | 2016-05-25 | 中兴通讯股份有限公司 | 用户数据管理方法及装置 |
CN105681486A (zh) * | 2016-01-15 | 2016-06-15 | 华洋通信科技股份有限公司 | 一种XinIP的跨广播域数据通信方法 |
CN105681198A (zh) * | 2014-11-21 | 2016-06-15 | 华为技术有限公司 | 一种业务链处理方法、设备及系统 |
CN106341404A (zh) * | 2016-09-09 | 2017-01-18 | 西安工程大学 | 基于众核处理器的IPSec VPN系统及加解密处理方法 |
CN106878326A (zh) * | 2017-03-21 | 2017-06-20 | 中国人民解放军信息工程大学 | 基于反向检测的IPv6邻居缓存保护方法及其装置 |
CN106992917A (zh) * | 2017-03-03 | 2017-07-28 | 新华三技术有限公司 | 报文转发方法和装置 |
CN107026784A (zh) * | 2017-06-13 | 2017-08-08 | 电子科技大学 | 一种远程虚拟专网网关装置及实现方法 |
US9866339B1 (en) * | 2013-10-24 | 2018-01-09 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for securing clock synchronization in a network |
CN109639721A (zh) * | 2019-01-08 | 2019-04-16 | 郑州云海信息技术有限公司 | IPsec报文格式处理方法、装置、设备及存储介质 |
CN110380963A (zh) * | 2019-01-17 | 2019-10-25 | 重庆邮电大学 | 一种高效快收敛的邻居发现方案 |
-
2019
- 2019-12-31 CN CN201911413740.7A patent/CN111147382B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855924A (zh) * | 2005-04-27 | 2006-11-01 | 华为技术有限公司 | 网络层安全报文穿越地址变换设备的方法 |
CN101009689A (zh) * | 2006-01-26 | 2007-08-01 | 西门子(中国)有限公司 | 一种防止地址解析欺骗的方法 |
CN101299665A (zh) * | 2008-05-19 | 2008-11-05 | 华为技术有限公司 | 报文处理方法、系统及装置 |
CN101345673A (zh) * | 2008-05-21 | 2009-01-14 | 华为技术有限公司 | 位置合法性检测的方法、通信系统、接入设备及上层管理网元 |
CN101631080A (zh) * | 2009-08-14 | 2010-01-20 | 重庆邮电大学 | 基于epa协议的工业以太网交换机和报文转发方法 |
CN102065111A (zh) * | 2009-11-13 | 2011-05-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种反向代理方法和反向代理服务器 |
CN102088438A (zh) * | 2009-12-03 | 2011-06-08 | 中兴通讯股份有限公司 | 一种解决IPSec Client地址冲突的方法及IPSec Client |
CN103259727A (zh) * | 2012-08-31 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN102932229A (zh) * | 2012-11-20 | 2013-02-13 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
CN103188356A (zh) * | 2013-04-07 | 2013-07-03 | 汉柏科技有限公司 | 一种外网映射IPsec报文实现NAT穿越的方法 |
US9866339B1 (en) * | 2013-10-24 | 2018-01-09 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for securing clock synchronization in a network |
CN103607350A (zh) * | 2013-12-10 | 2014-02-26 | 山东中创软件商用中间件股份有限公司 | 一种路由生成方法及装置 |
CN104022973A (zh) * | 2014-06-18 | 2014-09-03 | 福建星网锐捷网络有限公司 | 报文转发方法、交换模块、防火墙卡和交换机 |
CN104270390A (zh) * | 2014-10-23 | 2015-01-07 | 东南大学 | 基于IPv6的IPSec嵌入式防火墙的系统及其操作方法 |
CN105681198A (zh) * | 2014-11-21 | 2016-06-15 | 华为技术有限公司 | 一种业务链处理方法、设备及系统 |
CN105610599A (zh) * | 2014-11-25 | 2016-05-25 | 中兴通讯股份有限公司 | 用户数据管理方法及装置 |
CN105681486A (zh) * | 2016-01-15 | 2016-06-15 | 华洋通信科技股份有限公司 | 一种XinIP的跨广播域数据通信方法 |
CN106341404A (zh) * | 2016-09-09 | 2017-01-18 | 西安工程大学 | 基于众核处理器的IPSec VPN系统及加解密处理方法 |
CN106992917A (zh) * | 2017-03-03 | 2017-07-28 | 新华三技术有限公司 | 报文转发方法和装置 |
CN106878326A (zh) * | 2017-03-21 | 2017-06-20 | 中国人民解放军信息工程大学 | 基于反向检测的IPv6邻居缓存保护方法及其装置 |
CN107026784A (zh) * | 2017-06-13 | 2017-08-08 | 电子科技大学 | 一种远程虚拟专网网关装置及实现方法 |
CN109639721A (zh) * | 2019-01-08 | 2019-04-16 | 郑州云海信息技术有限公司 | IPsec报文格式处理方法、装置、设备及存储介质 |
CN110380963A (zh) * | 2019-01-17 | 2019-10-25 | 重庆邮电大学 | 一种高效快收敛的邻居发现方案 |
Non-Patent Citations (2)
Title |
---|
TRENT JAEGER; DAVID H. KING; KEVIN R. BUTLER; SERGE HALLYN: "Leveraging IPsec for Mandatory Per-Packet Access Control", 《2006 SECURECOMM AND WORKSHOPS》 * |
朱玉峰: "基于 IPSec 的 L2 VPN 研究与设计", 《中国新通信》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614540A (zh) * | 2020-06-04 | 2020-09-01 | 北京百度网讯科技有限公司 | 用于传递信息的方法及装置 |
CN115277164A (zh) * | 2022-07-24 | 2022-11-01 | 杭州迪普科技股份有限公司 | 基于二层组网环境的报文处理方法及装置 |
CN115277164B (zh) * | 2022-07-24 | 2023-06-27 | 杭州迪普科技股份有限公司 | 基于二层组网环境的报文处理方法及装置 |
CN116055184A (zh) * | 2023-01-28 | 2023-05-02 | 鹏城实验室 | 基于网络协议的通道连接方法、设备及介质 |
CN116055184B (zh) * | 2023-01-28 | 2023-06-13 | 鹏城实验室 | 基于网络协议的通道连接方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111147382B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147382B (zh) | 报文转发方法和装置 | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
EP3289727B1 (en) | Network path proof of transit using in-band metadata | |
US10686568B2 (en) | Active flow diagnostics for cloud-hosted networks | |
US10091102B2 (en) | Tunnel sub-interface using IP header field | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
EP3254418B1 (en) | Packet obfuscation and packet forwarding | |
CN111682996B (zh) | 网络中报文转发的方法、网络节点、网络系统 | |
US11405422B2 (en) | Transmitting multiple copies of an encrypted packet via multiple tunnels between a transmitting network device and a receiving network device | |
JP7416919B2 (ja) | データ処理方法及び装置並びにコンピュータ記憶媒体 | |
JP6633775B2 (ja) | パケット伝送 | |
CN101325557A (zh) | 一种隧道负载分担的方法、系统和装置 | |
CN109450905B (zh) | 传输数据的方法和装置及系统 | |
CN109474507B (zh) | 一种报文转发方法及装置 | |
US10142298B2 (en) | Method and system for protecting data flow between pairs of branch nodes in a software-defined wide-area network | |
CN109347740A (zh) | 报文转发方法和装置 | |
CN101969404B (zh) | 报文处理的方法及设备 | |
US20150381569A1 (en) | Local Internet with Quality of Service (QoS) Egress Queuing | |
CN109981820A (zh) | 一种报文转发方法及装置 | |
JP2016531464A (ja) | 通信ネットワークにおけるセキュアサービス管理 | |
US20240114013A1 (en) | Packet processing method, client end device, server end device, and computer-readable medium | |
US10212141B2 (en) | Autonomous key update mechanism with blacklisting of compromised nodes for mesh networks | |
CN107896188A (zh) | 数据转发方法及装置 | |
US10356064B1 (en) | Distributed on-demand key management for rangeless environments | |
CN102904814A (zh) | 数据传输方法、源pe、目的pe和数据传输系统 |
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 |