CN114697160B - 一种隧道报文的处理方法和装置 - Google Patents
一种隧道报文的处理方法和装置 Download PDFInfo
- Publication number
- CN114697160B CN114697160B CN202011581610.7A CN202011581610A CN114697160B CN 114697160 B CN114697160 B CN 114697160B CN 202011581610 A CN202011581610 A CN 202011581610A CN 114697160 B CN114697160 B CN 114697160B
- Authority
- CN
- China
- Prior art keywords
- message
- tunnel
- feature
- header
- target
- 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
Links
Images
Classifications
-
- 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/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种隧道报文的处理方法和装置,预设报文处理策略表,存储隧道报文报头特征,报文特征标识和报文处理策略三者间的映射关系,所述方法包括:当接收到待处理隧道报文时,解析出其目标隧道头特征和目标原始报头特征;在第一、二报文处理策略表中分别查找目标隧道头特征和目标原始报头特征对应的第一、二报文特征标识并判断二者是否匹配;若匹配,则根据对应的报文处理策略,处理待处理隧道报文。该方案中增设报文特征标识,以标识策略表中报头特征属于何隧道报文;以目标报头特征为对象,查找第一、二报文特征标识并进行匹配,在二者匹配时,确定查找到两报头特征属于同一隧道报文,从而最终确定处理方式,提高了隧道报文处理的准确性。
Description
技术领域
本申请涉及通信技术领域,特别是一种隧道报文的处理方法和装置。
背景技术
隧道技术是一种数据包封装技术,它能够在互不兼容或不安全的网络上提供一条路径,使得不同协议类型的报文得以在这条路径上传输,这条路径即所述隧道。常见的隧道协议包括IPv6 over IPv4(常简写为,6over4),GRE(Generic Routing Encapsulation,通用路由封装协议)等,隧道报文就是基于上述隧道协议进行传输的报文。
随着当前网络规模的扩大和网络结构的复杂化,隧道技术正在被日益广泛地使用,网络中各类隧道报文数量也在急剧增长,然而相关技术中处理隧道报文的准确性并不高,此问题仍有待解决。
发明内容
本申请提供一种隧道报文的处理方法和装置。
根据本申请实施例的第一方面,提供一种隧道报文的处理方法,在网络设备中预设有第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系,所述方法包括:
当接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征;
在所述第一报文处理策略表中查找所述目标隧道头特征对应的第一报文特征标识;
在所述第二报文处理策略表中查找所述目标原始报头特征对应的第二报文特征标识;
判断所述第一报文特征标识和所述第二报文特征标识是否匹配;
若匹配,则根据所述第一报文处理策略表中所述目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
根据本申请实施例的第二方面,提供一种隧道报文的处理装置,预设有第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系,所述装置包括解析单元、查找单元、匹配单元和处理单元:
其中,解析单元,用于当接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征;
查找单元,用于在所述第一报文处理策略表中查找所述目标隧道头特征对应的第一报文特征标识;还用于在所述第二报文处理策略表中查找所述目标原始报头特征对应的第二报文特征标识;
匹配单元,用于判断所述第一报文特征标识和所述第二报文特征标识是否匹配;
处理单元,用于在所述第一报文特征标识和所述第二报文特征标识匹配时,根据所述第一报文处理策略表中所述目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
本申请所提供的技术方案,为隧道报文设置对应的报文特征标识,并将报文特征标识连同报头特征和处理策略一同存储到报文处理策略表中。
接收到待处理隧道报文时,分别以其目标隧道头特征和目标原始报头特征为查找对象,于第一、第二报文处理策略表中查找对应的第一、第二报文特征标识,将查找到的第一、第二报文特征标识进行匹配。
在二者匹配的情况下,确定在第一、第二报文处理策略表中所查找到的隧道头特征和原始报头特征属于同一隧道报文,二者所映射的报文处理策略是针对同一隧道报文,即针对待处理隧道报文所设置的,从而最终确定了待处理隧道报文的处理方式,该方案兼顾了隧道报文隧道信息和原始信息的策略匹配,并在匹配过程中增加了对同一隧道报文的判断,提高了隧道报文处理的准确性。
附图说明
图1为本申请实施例的一种隧道报文格式示意图;
图2为本申请实施例的另一种隧道报文格式示意图;
图3为本申请所提供的一种隧道报文处理的方法流程图;
图4为本申请实施例中在第一报文处理策略表中查询目标隧道头特征对应的第一报文特征标识的方法流程图;
图5位本申请实施例中在第二报文处理策略表中查询目标原始报头特征对应的第二报文特征标识的方法流程图;
图6为本申请实施例中的一种hash链表的示意图;
图7为本申请所提供的一种隧道报文的处理装置所在网络设备的硬件结构图;
图8为本申请所提供的一种隧道报文处理的装置框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对隧道报文的相关概念进行介绍。
隧道技术是一种数据包封装技术,基于此技术对原始报文进行封装并添加新报头,所述新报头屏蔽了原始报文的协议类型且指示了特定的隧道信息,使得原始报文能够在与其原协议类型不兼容的网络或某个不安全的网络上利用上述特定隧道进行传输,这些封装后能够于特定隧道上传输的报文即隧道报文。
常见的隧道协议包括IPv6 over IPv4、IPv4 over IPv6、GRE等。
IPv6 over IPv4隧道协议,能够将IPv6协议下的报文,封装为IPv4协议下的报文,从而使得原本与IPv4网络所不兼容的IPv6报文得以在IPv4网络中进行传输,随着当前IPv4地址的枯竭,IPv6的运用逐渐得势,IPv6 over IPv4在此过渡时期具有广泛的应用场景。
如图1所示,以IPv6 over IPv4协议下的一种隧道报文为例,说明隧道报文的典型报文格式,该隧道报文除了标准报文所具备的前导码和MAC头外,在报文的三层头部分,即网络层报头部分,既包括IPv6格式的原始报文的三层头,还包括封装所添加的表征隧道信息的IPv4格式的三层头。
IPv6格式的原始报文三层头,携带着所述IPv6 over IPv4隧道报文所封装的原始报文的网络层相关信息,例如原始报文的五元组信息,即所述隧道报文原始真实的源、目的IP地址和端口号以及协议,它们被称为该隧道报文的内五元组信息。
IPv4格式的隧道头三层头,携带着所述IPv6 over IPv4隧道报文封装所添加的特定隧道的网络层相关信息,例如该特定传输隧道的五元组信息,即所述隧道两端设备的源、目的IP地址和端口号以及协议,它们被称为该隧道报文的外五元组信息。
上述IPv6 over IPv4隧道报文,其MAC头、IPv4头和IPv6头的其他具体格式,如图1所示,本申请于此不再赘述。
上述IPv6 over IPv4隧道报文,也可以利用GRE隧道技术实现,GRE隧道本身不限制其所封装和传输的报文协议类型,能够对包括IPv6、IPv4、MPLS(Multi-Protocol LabelSwitching,多协议标签交换)等多种协议类型的原始报文进行封装,使之成为GRE报文再行传输。如图2所示,IPv6格式的原始报文,首先封装添加GRE头成为GRE报文,再封装添加IPv4头,使之得以在IPv4网络间传输,如图2所示的隧道报文中各部分的具体格式,不再赘述。
以上例子仅用以示意说明,在实际应用中,报文格式中存在可变化或拓展、忽略的部分,本申请不再赘述。上述隧道技术仅是目前已有隧道技术中的部分,其他隧道技术,此处不再一一介绍。本申请中所述隧道报文的处理方法,对具体是何种隧道报文不做限制。
目前,相关技术中,沿用了处理传统单层报文的方法,处理隧道报文。对接收到的隧道报文,采取逐条读取已存储的报文处理策略,按各条策略所规定的偏移值提取相应IP特征,与此策略中的IP地址进行匹配的方法,确定所述隧道报文的处理方式;所述报文处理策略中的IP地址为隧道报文内层或外层的IP地址。
上述方案仅以隧道报文的内层IP地址或仅以隧道报文的外层IP地址作为匹配标准,虽然能够沿用传统单层报文的处理流程,但降低了隧道报文处理的准确性。
基于以上技术背景,本申请提出一种隧道报文的处理方法,所述方法应用于任一执行隧道报文处理的网络设备,所述网络设备包括网关设备、服务器和个人终端等。
首先在所述网络设备中预设第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系。
所述隧道头特征,就是由原始报文封装成为隧道报文时所添加的新报头中用以指示隧道相关信息的特征,以IPv6 over IPv4隧道报文为例,包括但不限于图1中所示的IPv4头中的协议、源IP地址和端口号、目的IP地址和端口号等。
所述原始报头特征,就是隧道报文所封装的原始报文的报头中用以指示原始真实传输的相关信息的特征,以IPv6 over IPv4隧道报文为例,包括但不限于图1中所示的IPv6头中的协议、源IP地址和端口号、目的IP地址和端口号等。
所述报文特征标识,用于标识隧道报文;针对同一隧道报文所设置的报文特征标识相匹配,针对不同隧道报文所设置的报文特征标识不匹配,所述报文特征标识的具体形式不做限制,包括数值或字母标识等。在本申请方案中,通过报文特征标识的匹配,可判断是否属于同一隧道报文。
所述报文处理策略包括转发、丢弃等。
所述第一、第二报文处理策略表可以由网络监管平台统一设置或由用户自行设置,可以保存在网络设备的TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)或DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)等存储器中,网络监管平台或用户可以根据实际需求,对所欲转发或丢弃的各业务隧道报文的处理策略进行设置,包括对已存储的报文处理策略进行删除和修改,以及增加存储新的报文处理策略等。本申请对于所述第一、第二报文处理策略表的设置主体和存储位置不做具体限定。
以一网络监管平台设置第一、第二报文处理策略为例,所述网络监管平台检测网络中传输的众多隧道报文的安全性,并保存有安全隧道报文的白名单和不安全隧道报文的黑名单。
针对白名单中的安全隧道报文,获取它们的隧道头特征和原始报头特征,分别存储于第一和第二报文处理策略表中,同一安全隧道报文在第一、第二报文处理策略表中所设置的报文特征标识相同且,与为其他隧道报文所设置的报文特征标识不同,安全隧道报文在第一、第二报文处理策略表中所设置的报文处理策略均为转发。
针对黑名单中的不安全隧道报文,获取它们的隧道头特征和原始报头特征,分别存储于第一和第二报文处理策略表中,同一不安全隧道报文在第一、第二报文处理策略表中所设置的报文特征标识相同,且与为其他隧道报文所设置的报文特征标识不同,不安全隧道报文在第一、第二报文处理策略表中所设置的报文处理策略均设置为丢弃。
假设,网络监管平台的不安全隧道报文的黑名单中,保存有两个不安全隧道报文的信息,分别为隧道报文A和隧道报文B的信息,如表1所示,隧道报文A的隧道头特征为a1,原始报头特征为a2,隧道报文B的隧道头特征为b1,原始报文特征为b2,仅用以示例说明,并不对本申请造成限制。
表1
网络监管平台的安全隧道报文的白名单中,保存有一个安全隧道报文:隧道报文C的信息,如表2所示,其隧道头特征为c1,原始报头特征为c2,仅用以示例说明,并不对本申请造成限制。
表2
在设置报文处理策略表时,将隧道报文A的隧道头特征:a1、处理策略:丢弃、报文特征标识:A,隧道报文B的隧道头特征:b1、处理策略:丢弃、报文特征标识:B,以及隧道报文C的隧道头特征:c1、处理策略:转发、报文特征标识:C,保存在第一报文处理策略表中,如表3所示,所述报文特征标识:A、B、C,仅用以示例说明,并不对本申请构成限制。
表3
将隧道报文A的原始报头特征:a2、处理策略:丢弃、报文特征标识:A,隧道报文B的原始报头特征:b2、处理策略:丢弃、报文特征标识:B,以及隧道报文C的隧道头特征:c1、处理策略:转发、报文特征标识:C,保存在第二报文处理策略表中,如表4所示。
表4
进一步地,在设置报文处理策略表时,还可以设置位图,以记录报文处理策略表中各策略的有效状态。位图中的各位置与报文处理策略表中各策略的存储空间地址一一对应。假设,采用“1”代表策略有效,采用“0”代表策略无效。当位图中某一位置的数据为“1”时,表明报文处理策略表中与该位置对应的存储空间内已保存设置有有效策略,当删除此策略时,无需将该策略于其存储空间中抹除,只需将位图中对应位置的数据由“1”修改为“0”即可;若后续再使用此存储空间保存策略时,新策略可以覆盖已无效掉的旧策略,再将位图中所述对应位置的数据修改回“1”,从而提高了网络设备对报文处理策略更新和管理的效率。
基于上述预设的第一、第二报文处理策略表进行隧道报文的处理,如图3所示,本申请所提供的隧道报文的处理方法包括:
步骤302,当接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征。
鉴于近年来,FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)器件性能的大幅度提升,其处理速率已能够满足网络中报文处理的实时性等性能需求。可选择地,在本申请方案中使用网络设备中的FPGA解析待处理隧道报文,得到其目标隧道头特征和目标原始报头特征,以提高隧道报文特征的提取速率,提高隧道报文的处理效率。
以图1所示的IPv6 over IPv4隧道报文为例,所述网络设备中的FPGA根据预设的前导码,确定接收到的隧道报文的首字节位置,解析所述隧道报文二层头,确定所述二层头的长度以及下一报头的协议类型:IP协议;根据所确定的下一报头协议类型:IP协议,在二层头结束、下一报头起始的位置,确定此IP报头的版本号:IPv4;开始解析所述隧道报文的IPv4头,在若干特定的目标位置得到IPv4头中所述目标隧道头特征,并确定所述IPv4头的长度以及下一报头的协议类型;以此类推,解析得到所述隧道报文IPv6头中的所述目标原始报头特征。
上述FPGA解析得到待处理隧道报文目标隧道头特征和目标原始报头特征的方法,仅仅是解析得到所接收的待处理隧道报文的目标隧道头特征和目标原始报头特征方法中的一种,本申请对此不做具体限制。
所述待处理隧道报文的目标隧道头特征,包括但不限于所述待处理隧道报文的外五元组中的若干项。
所述待处理隧道报文的目标原始报头特征,包括但不限于所述待处理隧道报文的内五元组中的若干项。
步骤304,在所述第一报文处理策略表中查找所述待处理隧道报文的目标隧道头特征对应的第一报文特征标识。
将步骤302得到的所述待处理隧道报文的目标隧道头特征,与第一报文处理策略表中所保存的若干隧道头特征进行匹配,若存在相匹配的隧道头特征,则其在第一报文处理策略表中所映射的报文特征标识为所述目标隧道头特征对应的第一报文特征标识。
步骤306,在所述第二报文处理策略表中查找所述待处理隧道报文的目标原始报头特征对应的第二报文特征标识。
将步骤302得到的所述待处理隧道报文的目标原始报头特征,与第二报文处理策略表中所保存的若干原始报头特征进行匹配,若存在相匹配的原始报头特征,则其在第二报文处理策略表中所映射的报文特征标识为所述目标原始报头特征对应的第二报文特征标识。
步骤308,判断所述第一报文特征标识和所述第二报文特征标识是否匹配。
将步骤304得到的第一报文特征标识,与步骤306得到的第二报文特征标识,进行匹配,以确定在第一报文处理策略表中查找到的隧道头特征和在第二报文处理策略表中查找到的原始报头特征是否是属于同一隧道报文的,从而确定二者各自所映射的报文处理策略是否是针对同一隧道报文,即是否是针对待处理隧道报文,所设置的报文处理策略。
下面用一个简单的示例,说明步骤308的意义所在。
假设网络设备中存储的第一报文处理策略表如表3所示,第二报文处理策略表如表4所示。
在一种可能的情况下,接收到待处理隧道报文,解析出其目标隧道头特征为a1,目标原始报头特征为a2,在步骤304和步骤306所查找到的第一、第二报文特征标识均为A,二者匹配。
因为第一、第二报文特征标识匹配,所查找到第一、第二报文处理策略表中的隧道头特征和原始报头特征都属于隧道报文A,能够确定待处理隧道报文的处理策略就应当是预设的隧道报文A的处理策略。
在另一种可能的情况下,接收到待处理隧道报文,解析出其目标隧道头特征为a1,目标原始报头特征为b2,在步骤304和步骤306所查找到的第一、第二报文特征标识分别为A、B,二者不匹配。
虽然目标报头特征为a1、b2的待处理隧道报文,能够于第一、第二报文处理策略表中查找到对应的第一、第二报文特征标识,且对应的报文处理策略均为丢弃,但实际上于第一报文处理策略表中所查找到的隧道头特征和于第二报文处理策略表中查找到的原始报头特征,并不是属于同一隧道报文的两个报头特征,而是隧道报文A的隧道头特征和另一隧道报文B的原始报头特征。
按照a1、b2对应的报文处理策略,丢弃上述待处理隧道报文实际上可能是不正确的,因为该待处理隧道报文并非是网络监管平台所认定的不安全隧道报文A或B。
因此,利用步骤308进行第一、第二报文特征标识的匹配,确定根据待处理隧道报文的目标报头特征,在两个报文处理策略表中查询到的两个报头特征是否属于同一隧道报文,以避免在所查找到的两报头特征分属不同隧道报文时,使用错误方式处理所述待处理隧道报文。
步骤310,若匹配,则根据所述第一报文处理策略表中所述待处理隧道报文目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述待处理隧道报文目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
如果所述第一报文特征标识和第二报文特征标识匹配成功,则说明在第一报文处理策略表中查找到的隧道头特征,和在第二报文处理策略表中查找到的原始报头特征,是属于同一隧道报文的报头特征,二者所映射的报文处理策略也是针对所述同一隧道报文,即针对待处理隧道报文所设置的报文处理策略。
且在存储报文处理策略表时,针对同一隧道报文的隧道头特征和原始报头特征,于第一、第二报文处理策略表中所设置的报文处理策略是相同的。
故,根据第一报文处理策略表中所述目标隧道头特征对应的,或根据第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文即可;若所述报文处理策略为转发,则转发所述待处理隧道报文,若所述报文处理策略为丢弃,则丢弃所述待处理隧道报文。
本申请所提供的处理隧道报文的技术方案,为隧道报文设置对应的报文特征标识,并将报文特征标识连同报头特征和处理策略一同存储到报文处理策略表中。
接收到待处理隧道报文时,分别以其目标隧道头特征和目标原始报头特征为查找对象,于第一、第二报文处理策略表中查找对应的第一、第二报文特征标识,将查找到的第一、第二报文特征标识进行匹配。
在二者匹配的情况下,确定在第一、第二报文处理策略表中所查找到的隧道头特征和原始报头特征属于同一隧道报文,二者所映射的报文处理策略是针对同一隧道报文,即针对待处理隧道报文所设置的,从而最终确定了待处理隧道报文的处理方式,该方案兼顾了隧道报文隧道信息和原始信息的策略匹配,并在匹配过程中增加了对同一隧道报文的判断,提高了隧道报文处理的准确性。
除了顺利查找到对应的报文处理策略的情况,可选择地,本申请上述方案,还包括在以下三种情况发生时,按照预设的报文处理策略处理待处理隧道报文。
(1)在第一报文处理策略表中对待处理隧道报文目标隧道头特征对应的第一报文特征标识查找失败。
例如,在第一报文处理策略表中未查找到目标隧道头特征对应的第一报文特征标识,但于第二报文处理策略表中查找到了目标原始报头特征对应的第二报文特征标识。
(2)在第二报文处理策略表中对待处理隧道报文目标原始报特征对应的第二报文特征标识查找失败。
例如,于第一报文处理策略表中查找到了目标隧道头特征对应的第一报文特征标识,但在第二报文处理策略表中未查找到目标原始报头特征对应的第二报文特征标识。
(3)查找得到的第一报文特征标识和第二报文特征标识匹配失败。
例如,于第一、第二报文处理策略表中查找到的第一、第二报文特征标识不匹配,即所查找到的第一报文处理策略表中的隧道头特征和第二报文处理策略表中的原始报头特征并非来自同一隧道报文的报头特征。
在上述三种情况下所预设的报文处理策略包括透传、丢弃等,三种情况所预设的报文处理策略可以彼此不同,也可以设置三者中的任意两个情况使用同一种处理策略、另一情况使用另一种处理策略。
进一步地,目前沿用传统单层报文处理方法处理隧道报文的相关技术中,还存在着在业务异常时,故障定位不准确且不直观的问题。
相关技术中,在业务异常时,所能得到的只有异常隧道报文中或其所命中报文处理策略中带偏移值的IP特征,故所得到的异常隧道报文的信息并不完整,只指示了隧道设备信息或原始传输设备信息,在定位故障时也就不准确。同时,所得到的异常隧道报文的IP特征因为提取时带有偏移值,显示出来也不直观,不易于技术人员进行观察。
因此,在一种可选择的方式下,本申请方案还包括针对隧道报文的故障定位方法,所述方法包括:
在业务异常时,获取异常隧道报文的目标报头特征;获取所述异常隧道报文目标报头特征对应的报文处理策略表中的报头特征、报文特征标识和报文处理策略;将所述异常隧道报文的所述目标报头特征及其对应的所述报文处理策略表中的报头特征、报文特征标识和报文处理策略,显示在网络设备的可视化界面上。
所述异常隧道报文,可以是网络设备中的抽检模块检测所发现的存在业务异常的隧道报文,异常报文检测的具体方法,本申请不做限制。
在一个例子中,在业务异常时,可以从所述异常隧道报文中再次提取出目标隧道头特征和目标原始报头特征,并在第一、第二报文处理策略表中重新查询对应的隧道头特征、原始报头特征、第一和第二报文特征标识以及报文处理策略,然后,可将本次提取和查询到的内容进行展示。
在另一个例子中,在业务异常时,还可从监控日志中获取所述异常隧道报文的目标隧道头特征、目标原始报头特征与对应的报文处理策略表中的隧道头特征、原始报头特征以及报文特征标识和报文处理策略。所述监控日志通常由网络设备在接收到所述异常隧道报文后,记录当时处理异常隧道报文所提取和查询到的内容。
本申请方案中,以隧道报文目标隧道头特征和目标原始报头特征作为匹配指标分别在第一、第二报文处理策略表中进行报文特征标识的查询和报文处理策略的匹配,在后期业务异常时,能够得到异常隧道报文中解析出的目标隧道头特征和目标原始报头特征,以及对应的报文处理策略表中的隧道头特征与原始报头特征、第一、第二报文特征标识和报文处理策略,它们显示了异常隧道报文的完整信息,与其相关的隧道设备信息和原始传输设备信息都得以指明,技术人员因而能够准确定位故障发生的具体位置。
同时,可以使用FPGA逐层解析待处理隧道报文,能够准确提取出所要的隧道报文目标隧道头特征和目标原始报头特征,以不带有偏移值地、直接直观地显示在网络设备的可视化界面上,有助于技术人员获得故障位置的相关信息。
为了使本领域技术人员更好地理解本申请中的技术方案,接下来结合附图,对隧道报文的处理作进一步的详细说明,后续描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。
本申请的上述方案中,步骤304和步骤306,在第一报文处理策略表中查找待处理隧道报文的目标原始报头特征对应的第一报文特征标识,和,在第二报文处理策略表中查找待处理隧道报文的目标原始报头特征对应的第二报文特征标识,可以并行执行。
例如,可在接收到待处理隧道报文时,对其进行复制,生成待处理隧道报文副本;对所述待处理隧道报文的目标隧道头特征进行解析,并在第一报文处理策略表中进行对应的第一报文特征标识的查找;并行执行,对所述待处理隧道报文副本的目标原始报头特征进行解析,并在第二报文处理策略表中进行对应的第二报文特征标识的查找。
上述并行执行步骤304和步骤306操作的方法,能够提高本申请方案处理隧道报文的效率。其他能够应用于本申请方案中,在两表中并行查找各自目标特征对应标识的方法,此处不再赘述,但也应在本申请的保护范围之内。
本申请方案中,步骤304:在第一报文处理策略表中查找目标隧道头特征对应的第一报文特征标识,和步骤306:在第二报文处理策略表中查找目标原始报头特征对应的第二报文特征标识,二者的方法可以通用,且存在多种具体实现方式。
在一种查询报文特征标识的方法中,第一报文处理策略表中的隧道头特征或第二报文处理策略表中的原始报头特征包括多个子特征的特征值和匹配标签。
例如,以隧道报文的外五元组为隧道头特征,外五元组中的一项即为该隧道头特征中的一个子特征,第一报文处理策略表中,一个隧道头特征由一个外五元组中五项的具体值和匹配标签共同组成。
子特征的匹配标签,包括匹配和忽略,它表征着在进行报文特征标识查询时,是否需要对该子特征进行匹配。
在本实施例中,第一或第二报文处理策略表可以存储于网络设备的TCAM中,TCAM具备掩码功能,其所存储的数据中任一字段或任一位皆可配置掩码,能够支持上述子特征匹配标签的设置实现。
下面以步骤304,在第一报文处理策略表中查询待处理隧道报文的目标隧道头特征对应的第一报文特征标识为例,对上述方法进行具体说明,其方法流程图如图4所示。
首先,在TCAM中存储第一报文处理策略表,隧道头特征为隧道报文外五元组,子特征为该五元组中的五项;每个子特征的匹配标签通过配置掩码的方式设置实现,如配置掩码“F”表示匹配标签为匹配,配置掩码“0”表示匹配标签为忽略;TCAM中所存储的第一报文处理策略表,以十六进制表示,如下
表5所示。
表5
步骤3042,针对目标隧道头特征中的每个子特征,判断所述子特征的匹配标签是否为匹配。
假设,网络设备接收到如图1所示的待处理IPv6 over IPv4隧道报文,利用FPGA解析出其隧道头中的目标外五元组,协议:17、源IP地址:1.2.3.4、源端口号:3544、目的端口号:3544、目的IP地址:3.6.9.1,作为其目标隧道头特征。
针对上述目标外五元组五项中的任一项,判断第一报文处理策略表中各隧道头特征中该项的匹配标签是否为匹配。
步骤3044,当所述子特征的匹配标签为忽略时,则确定目标隧道头特征中的所述子特征与第一报文处理策略表中的所述子特征匹配。
当第一报文处理策略表中子特征的匹配标签为忽略时,意味着该子特征的匹配结果对报文处理策略最终的匹配结果无影响,因而无需对其进行匹配,只要子特征的匹配标签为忽略,就确定其匹配成功。
步骤3046,当所述子特征的匹配标签为匹配时,判断第一报文处理策略表中的所述子特征的特征值与目标隧道头特征中的所述子特征的特征值是否一致。
若一致,则确定所述目标隧道头特征中的所述子特征与所述第一报文处理策略表中的所述子特征匹配。
例如,针对已得到的待处理IPv6 over IPv4隧道报文的目标外五元组,与表5所示网络设备TCAM中已存储的第一报文处理策略表中的策略1进行匹配。
策略1中第一子特征掩码为0,即匹配标签为忽略,默认目标外五元组的第一子特征与策略1中的第一子特征匹配。
策略1中第二子特征掩码为F,即匹配标签为匹配,将策略1中第二子特征的特征值:02020202,与目标外五元组中第二子特征的特征值:01020304,进行匹配,二者不一致,所述目标外五元组与表5中的策略1匹配失败,因而再与表5中已存储的其他五元组进行匹配。
步骤3048,当目标隧道头特征中的所有子特征与第一报文处理策略表中任一隧道头特征的所有子特征均匹配,
则确定所述第一报文处理策略表中的所述隧道头特征对应的报文特征标识为所述目标隧道头特征对应的第一报文特征标识。
将已得到的待处理IPv6 over IPv4隧道报文的目标外五元组,与第一报文处理策略表中的策略2进行匹配。策略2中第一子特征掩码为F,即匹配标签为匹配,将策略2中第一子特征的特征值:17,与目标外五元组中第一子特征的特征值:17,进行匹配,二者一致,匹配成功;依次类推,直至五个子特征都匹配成功,确定策略2中的报文特征标识:B,为所述待处理隧道报文的目标外五元组对应的第一报文特征标识
图4所示的查询报文特征标识的方法,将报文处理策略表中的隧道头特征或原始报头特征划分为多个子特征并添加相应匹配标签,在某些不关注隧道报文外或内五元组中若干项的场景下,或在处理某些缺失外或内五元组中若干项的报文格式的隧道报文时,为这些不关注或缺失的外或内五元组项添加忽略标签,能够使得这些项的子特征值的匹配不进行或不影响报文特征标识和报文处理策略的查询结果,从而提升了策略设置和匹配的灵活度,有效应对了不同隧道协议类型下报文格式多变的问题。
此外,应用图4所示方法处理隧道报文,虽然在查询报文特征标识和报文处理策略时,根据各条策略中子特征的不同匹配标签,执行了彼此不同的匹配方式,但无需采用不同的解析方式,因而简化了特征提取过程,提高了隧道报文处理的效率。
针对本申请方案中的步骤304和步骤306,提供图4所示之外的另一种查询报文特征标识的方法。
在该方法实施例中,第一或第二报文处理策略表以hash链表的形式存储于网络设备中,所述hash链表如图5所示,可以存储于网络设备的DDR中,所述链表由若干链表节点构成的,每个链表节点则由所存储的具体内容和指向关联节点的指针构成,以单向链表为例,所述指针即为单向指针,指向该链表所挂载的下一个节点。
如图5所示,于DDR中预留存储报文处理策略表的存储空间,将此存储空间划分为两块,分别为链表首节点区域和链表其他区域;所述链表首节点区域按照预设数量划分为多个子空间,一个子空间用于存储一个链表的首节点,所述子空间的地址即链表首节点的地址。
如果将所述链表首节点区域划分为8个子空间,也就意味着将构建8个链表,确定链表首节点区域中每个子空间的地址,即可确定每个链表首节点的地址,假设8个链表各自的首节点地址分别为1至8,此处所述链表数量和首节点地址仅用以示例说明,实际应用中视具体情况而变化,应远高于此处所述数值。
每个链表于首节点后所挂载的其他节点,则从链表其他区域中分配得到存储空间。
以hash链表形式存储第一或第二报文处理策略表的方法,如下:
获取隧道报文的隧道头特征或原始报头特征,以及相应的报文特征标识和报文处理策略。计算所获得的隧道头特征或原始报头特征的hash值,并确定该hash值对应的链表首节点地址,如图5所示的首节点地址1至8,具体采用何种算法计算hash值及确定对应的链表首节点地址,本申请不做限定。
判断所确定的链表首节点内容是否为空,若为空,则在此链表首节点保存所述隧道头特征或原始报头特征,以及对应的报文特征标识和报文处理策略;若非空,则在此链表第二节点保存所述隧道头特征或原始报头特征,以及对应的报文特征标识和报文处理策略。
步骤304和步骤306,查询报文特征标识的方法可以通用,下面以步骤306,在第二报文处理策略表中查询待处理隧道报文的目标原始报头特征对应的第二报文特征标识为例。
以隧道报文内五元组为原始报头特征,将第二报文处理策略表通过上述方法,以hash链表形式保存于网络设备的DDR中,所述hash链表如图5所示,步骤306的方法流程图如图6所示,具体包括:
步骤3062,计算目标原始报头特征的hash值。
以图1所示的待处理IPv6 over IPv4隧道报文为例,当网络设备接收到该隧道报文时,利用FPGA解析出该待处理隧道报文原始报头中的目标内五元组作为其目标原始报头特征,协议:6、源IP地址:2000::2、源端口号:1024、目的端口号:1024、目的IP地址:2000::1。
计算上述目标原始报头特征:06-2000::0002-0400-0400-2000::0001的hash值为25,计算hash值的算法全局一致,在报文处理策略表设置和匹配时均相同。
步骤3064,根据所述目标原始报头特征的hash值,确定所述hash值对应的链表首节点地址。
根据预设算法确定上述hash值:25对应的链表首节点地址,如使用一致性hash算法,其对应的链表首节点地址为1。
步骤3066,判断所述hash值对应的链表首节点内容是否为空。
若所述hash值对应的链表首节点内容为空,则确定未查找到所述目标原始报头特征对应的报文特征标识。
在一种可能的情况下,地址为1的链表首节点内容为空,意味着这一链表中尚未存储报文处理策略,没有可与待处理隧道报文匹配的报文处理策略,可确定未查找到待处理隧道报文的目标原始报头特征对应的报文特征标识和报文处理策略。
步骤3068,若所述hash值对应的链表首节点内容非空,则将所述目标原始报头特征与所述hash值对应的链表各节点中的原始报头特征进行匹配。
确定相匹配节点中所述原始报头特征对应的报文特征标识为所述目标原始报头特征对应的第二报文特征标识。
如图6所示,可判断得到地址为1的链表首节点内容非空,将待处理隧道报文的目标内五元组与首节点地址为1的链表中的各节点中所存储的隧道报文原始报头特征进行匹配。
假设所述待处理隧道报文的目标内五元组命中该链表第二节点中的内五元组,该节点中内五元组对应的报文特征标识:B,即为待处理隧道报文的目标内五元组对应的第二报文特征标识。
如图5所示的方法,以hash链表的形式存储报文处理策略表,根据隧道报文隧道头特征或原始报头特征的hash值确定对应的链表,在所述对应的链表中搜寻相匹配的隧道头特征或原始报头特征对应的报文特征标识,减少报文特征标识和报文处理策略的无效匹配,提高了处理效率。
下面对本申请所提供的处理隧道报文的方案中,步骤308,判断第一报文特征标识和第二报文特征标识是否匹配的方法,进行说明。
假设,将第一报文处理策略表存储于网络设备的TCAM中,以隧道报文外五元组为隧道头特征,且以外五元组中每项为一个子特征,存储五项的特征值和匹配标签;将第二报文处理策略表存储于网络设备的DDR中,以隧道报文内五元组为原始报头特征,且以hash链表的形式存储。
当网络设备接收到如图1所示的IPv6 over IPv4待处理隧道报文时,由FPGA解析出其目标外五元组和目标内五元组后,分别下发至TCAM和DDR中并行执行第一报文特征标识和第二报文特征标识的查询。
假设,所述目标外五元组为b1,目标内五元组为b2。
在一种可选择的方式,网络监管平台或用户在设置报文处理策略表时,对同一隧道报文的隧道头特征和原始报头特征,在分别存储至第一报文处理策略表和第二报文处理策略时,设置相同的报文特征标识和报文处理策略。
例如,针对不安全隧道报文B,在TCAM的第一报文处理策略表中存储其外五元组:b1,报文特征标识:B,和报文处理策略:丢弃,如表6所示。
表6
在DDR的第二报文处理策略表中存储其内五元组:b2,报文特征标识:B,和报文处理策略:丢弃,如表7所示。
表7
在上述方式下,步骤308,判断第一报文特征标识和第二报文特征标识是否匹配,就是判断第一报文特征标识,与第二报文特征标识是否相同,若相同,则所述第一、第二报文特征标识匹配成功。
例如,由目标外五元组:b1,查询到的第一报文特征标识:B,与目标内五元组:b2,查询到的第二报文特征标识:B,二者相同,匹配成功。
上述方式,为同一隧道报文的隧道头特征和原始报头特征,在第一、第二报文处理策略表中设置相同的报文特征标识,且此报文特征标识是唯一的、与为其他隧道报文所设置的报文特征标识不同,让后续匹配待处理隧道报文对应的第一、第二报文特征标识的过程得以简化,提高了隧道报文的处理效率。
在另一种可选择的方式,网络监管平台或用户在设置报文处理策略表时,对同一隧道报文的隧道头特征和原始报头特征,分别存储至第一和第二报文处理策略表时,将报文处理策略设置相同,而报文特征标识按各自表中顺序设置,同时另外设置报文特征标识记录表,记载同一隧道报文的隧道头特征和原始报头特征在第一、第二报文处理策略表中所对应的报文特征标识。
例如,同样针对不安全隧道报文B,在TCAM的第一报文处理策略表中存储其外五元组:b1、报文特征标识:T2、和报文处理策略:丢弃,如表8所示。
表8
在DDR的第二报文处理策略表中存储其内五元组:b2、报文特征标识:D12、和报文处理策略:丢弃、如表9所示。
表9于网络设备中另外保存报文特征标识记录表,如下表10。
表10
在此方式下,步骤308,判断第一报文特征标识和第二报文特征标识是否匹配的另一方法为,于网络设备中查询如表10所示的报文特征标识记录表,判断所述第一报文特征标识与第二报文特征标识在表中是否匹配。
例如,由目标外五元组:b1,查询到的第一报文特征标识:T2,与由目标内五元组:b2,查询到的第二报文特征标识:D12,在如表10所示的报文特征标识记录表中,彼此匹配,因此第一、第二报文特征标识匹配成功。
此方式下,同一隧道报文的隧道头特征和原始报头特征在第一、第二报文处理策略表中所映射的报文特征标识可以不同,但利用报文特征标识记录表,可以记载同一隧道报文所设置的两报文特征标识,以判断第一、第二报文特征标识是否匹配。该方式下,每条策略均有彼此独立的报文特征标识,当进行后续开发时,网络设备可直接根据所述彼此独立的报文特征标识确定是何存储区域中的何策略,有利于网络设备对报文处理策略表中的各条策略进行管理。
与前述隧道报文处理的方法实施例相对应,本申请还提供了隧道报文处理的装置实施例。
本申请所提供的隧道报文处理的装置实施例,可以应用在任一执行隧道报文处理的网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请服务器健康状态的监测装置所在网络设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
参见图8,为本申请实施例所提供的一种隧道报文处理装置的框图,该处理装置预设有第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系,所述装置包括解析单元810、查找单元820、匹配单元830和处理单元840。
其中,解析单元810,用于在接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征。
查找单元820,用于在所述第一报文处理策略表中查找所述待处理隧道报文的目标隧道头特征对应的第一报文特征标识;还用于在所述第二报文处理策略表中查找所述待处理隧道报文的目标原始报头特征对应的第二报文特征标识。
匹配单元830,用于判断所述第一报文特征标识和所述第二报文特征标识是否匹配。
处理单元840,用于在所述第一报文特征标识和所述第二报文特征标识匹配时,根据所述第一报文处理策略表中所述目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
可选择地,所述解析单元810,在解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征时,具体用于解析出所述待处理隧道报文的外五元组中的若干项,作为所述待处理隧道报文的目标隧道头特征;解析出所述待处理隧道报文的内五元组中的若干项,作为所述待处理隧道报文的目标原始报头特征。
可选择地,所述处理单元840,还用于在所述第一报文特征标识和所述第二报文特征标识不匹配时,按照预设的报文处理策略处理所述待处理隧道报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种隧道报文的处理方法,其特征在于,预设有第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系,所述方法包括:
当接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征;
在所述第一报文处理策略表中查找所述目标隧道头特征对应的第一报文特征标识;
在所述第二报文处理策略表中查找所述目标原始报头特征对应的第二报文特征标识;
判断所述第一报文特征标识和所述第二报文特征标识是否匹配;
若匹配,则根据所述第一报文处理策略表中所述目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
2.根据权利要求1所述的方法,其特征在于,所述解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征,包括:
解析出所述待处理隧道报文的外五元组中的若干项,作为所述待处理隧道报文的目标隧道头特征;
解析出所述待处理隧道报文的内五元组中的若干项,作为所述待处理隧道报文的目标原始报头特征。
3.根据权利要求1所述的方法,其特征在于,报文处理策略表中的报头特征包括多个子特征的特征值和匹配标签,所述报头特征包括隧道头特征和原始报头特征;
在报文处理策略表中查找目标报头特征对应的报文特征标识,包括:
针对目标报头特征的每个子特征,当所述子特征的匹配标签为匹配时,判断所述报文处理策略表中所述子特征的特征值与所述目标报头特征中所述子特征的特征值是否一致;所述目标报头特征包括目标隧道头特征和目标原始报头特征;
若一致,则确定所述目标报头特征中的所述子特征与所述报文处理策略表中的所述子特征匹配;
当所述子特征的匹配标签为忽略时,则确定所述目标报头特征中的所述子特征与所述报文处理策略表中的所述子特征匹配;
当目标报头特征中的所有子特征与报文处理策略表中任一报头特征中的所有子特征均匹配时,将所述任一报头特征对应的报文特征标识确定为所述目标报头特征对应的报文特征标识。
4.根据权利要求1所述的方法,其特征在于,所述报文处理策略表以hash链表的形式存储于网络设备中;
在报文处理策略表中查找目标报头特征对应的报文特征标识,包括:
计算目标报头特征的hash值;
根据所述目标报头特征的hash值,确定所述hash值对应的链表首节点地址;
判断所述hash值对应的链表首节点内容是否为空,
若所述hash值对应的链表首节点内容为空,则确定未查找到所述目标报头特征对应的报文特征标识;
若所述hash值对应的链表首节点内容非空,则将所述目标报头特征与所述hash值对应的链表各节点中的报头特征进行匹配;
当所述目标报头特征与所述hash值对应的链表任一节点中的报头特征匹配,将所述任一节点中报头特征对应的报文特征标识确定为所述目标报头特征对应的报文特征标识。
5.根据权利要求1所述的方法,其特征在于,所述报文处理策略表存储于网络设备的双倍速率同步动态随机存储器DDR或三态内容寻址存储器TCAM中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一报文特征标识与所述第二报文特征标识不匹配,按照预设的报文处理策略处理所述待处理隧道报文。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在业务异常时,获取异常隧道报文的目标报头特征;
获取所述异常隧道报文目标报头特征对应的报文处理策略表中的报头特征、报文特征标识和报文处理策略;
将所述异常隧道报文的所述目标报头特征及其对应的所述报文处理策略表中的报头特征、报文特征标识和报文处理策略,显示在网络设备的可视化界面上。
8.一种隧道报文的处理装置,其特征在于,预设有第一报文处理策略表和第二报文处理策略表,所述第一报文处理策略表中存储有隧道头特征、报文特征标识和报文处理策略三者之间的映射关系,所述第二报文处理策略表中存储有原始报头特征、报文特征标识和报文处理策略三者之间的映射关系,所述装置包括解析单元、查找单元、匹配单元和处理单元:
所述解析单元,用于当接收到待处理隧道报文时,解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征;
所述查找单元,用于在所述第一报文处理策略表中查找所述目标隧道头特征对应的第一报文特征标识;还用于在所述第二报文处理策略表中查找所述目标原始报头特征对应的第二报文特征标识;
所述匹配单元,用于判断所述第一报文特征标识和所述第二报文特征标识是否匹配;
所述处理单元,用于在所述第一报文特征标识和所述第二报文特征标识匹配时,根据所述第一报文处理策略表中所述目标隧道头特征对应的报文处理策略,或根据所述第二报文处理策略表中所述目标原始报头特征对应的报文处理策略,处理所述待处理隧道报文。
9.根据权利要求8所述的装置,其特征在于,所述解析单元,在解析出所述待处理隧道报文的目标隧道头特征和目标原始报头特征时,
具体用于解析出所述待处理隧道报文的外五元组中的若干项,作为所述待处理隧道报文的目标隧道头特征;
解析出所述待处理隧道报文的内五元组中的若干项,作为所述待处理隧道报文的目标原始报头特征。
10.根据权利要求8所述的装置,其特征在于,所述处理单元,还用于在所述第一报文特征标识与所述第二报文特征标识不匹配时,按照预设的报文处理策略处理所述待处理隧道报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581610.7A CN114697160B (zh) | 2020-12-28 | 2020-12-28 | 一种隧道报文的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581610.7A CN114697160B (zh) | 2020-12-28 | 2020-12-28 | 一种隧道报文的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697160A CN114697160A (zh) | 2022-07-01 |
CN114697160B true CN114697160B (zh) | 2023-05-26 |
Family
ID=82130506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011581610.7A Active CN114697160B (zh) | 2020-12-28 | 2020-12-28 | 一种隧道报文的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697160B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002243B (zh) * | 2022-08-02 | 2022-11-01 | 上海秉匠信息科技有限公司 | 一种数据处理方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309273A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种生成安全联盟的方法和装置 |
CN101572658A (zh) * | 2008-04-29 | 2009-11-04 | 华为技术有限公司 | 无线中继报文传输的处理方法、装置和系统 |
CN101969404A (zh) * | 2010-10-25 | 2011-02-09 | 杭州华三通信技术有限公司 | 报文处理的方法及设备 |
CN102301663A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN105939304A (zh) * | 2015-06-11 | 2016-09-14 | 杭州迪普科技有限公司 | 一种隧道报文解析方法及装置 |
CN105959953A (zh) * | 2015-09-14 | 2016-09-21 | 杭州迪普科技有限公司 | 一种安全业务的处理方法和装置 |
CN106101011A (zh) * | 2016-08-22 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种报文处理方法及装置 |
CN106685827A (zh) * | 2016-12-15 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种下行报文的转发方法及ap设备 |
WO2017113967A1 (zh) * | 2015-12-28 | 2017-07-06 | 中兴通讯股份有限公司 | 数据报文发送方法、装置和系统 |
CN108011837A (zh) * | 2017-11-21 | 2018-05-08 | 新华三技术有限公司 | 报文处理方法及装置 |
CN111371549A (zh) * | 2020-03-05 | 2020-07-03 | 浙江双成电气有限公司 | 一种报文数据传输方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016037326A1 (zh) * | 2014-09-10 | 2016-03-17 | 华为技术有限公司 | 一种数据转发方法、装置及接入设备 |
-
2020
- 2020-12-28 CN CN202011581610.7A patent/CN114697160B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572658A (zh) * | 2008-04-29 | 2009-11-04 | 华为技术有限公司 | 无线中继报文传输的处理方法、装置和系统 |
CN101309273A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种生成安全联盟的方法和装置 |
CN101969404A (zh) * | 2010-10-25 | 2011-02-09 | 杭州华三通信技术有限公司 | 报文处理的方法及设备 |
CN102301663A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN105939304A (zh) * | 2015-06-11 | 2016-09-14 | 杭州迪普科技有限公司 | 一种隧道报文解析方法及装置 |
CN105959953A (zh) * | 2015-09-14 | 2016-09-21 | 杭州迪普科技有限公司 | 一种安全业务的处理方法和装置 |
WO2017113967A1 (zh) * | 2015-12-28 | 2017-07-06 | 中兴通讯股份有限公司 | 数据报文发送方法、装置和系统 |
CN106101011A (zh) * | 2016-08-22 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种报文处理方法及装置 |
CN106685827A (zh) * | 2016-12-15 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种下行报文的转发方法及ap设备 |
CN108011837A (zh) * | 2017-11-21 | 2018-05-08 | 新华三技术有限公司 | 报文处理方法及装置 |
CN111371549A (zh) * | 2020-03-05 | 2020-07-03 | 浙江双成电气有限公司 | 一种报文数据传输方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
IPv4-IPv6过渡技术下基于CIDF的入侵检测系统研究;任宏晖;李英壮;李先毅;;广西大学学报(自然科学版);第36卷(第S1期);190-194 * |
Also Published As
Publication number | Publication date |
---|---|
CN114697160A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108306835B (zh) | 一种以太网交换机的输入缓存及数据转发方法 | |
CN110324245B (zh) | 一种基于集成流表转发报文的方法及装置 | |
US9276853B2 (en) | Hashing of network packet flows for efficient searching | |
CN108809759A (zh) | 检测链路状态的方法、装置和路由器 | |
CN112787927B (zh) | 一种分段路由报文转发方法、装置及预设逻辑电路单元 | |
US11178114B2 (en) | Data processing method, device, and system | |
US7873054B2 (en) | Pattern matching in a network flow across multiple packets | |
US20030118022A1 (en) | Reconfigurable data packet header processor | |
CN114697160B (zh) | 一种隧道报文的处理方法和装置 | |
CN112948313A (zh) | 一种会话数据的管理方法和装置 | |
US10289384B2 (en) | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements | |
CN105099919A (zh) | 报文处理方法及装置 | |
CN115280745B (zh) | 随流检测方法和电子设备 | |
JP4152412B2 (ja) | 統計情報採取方法及び装置 | |
CN112787930B (zh) | 一种监控对等体的运行状态的方法、装置及存储介质 | |
WO2012083748A1 (zh) | 一种基于深度包检测的协议跨包检测方法和装置 | |
CN116319448A (zh) | 丢包诊断方法、装置、电子设备及计算机可读存储介质 | |
US9219659B1 (en) | Policy control list keys for network devices | |
CN115459873A (zh) | 一种应用于网络设备的数据传输方法、存储介质和设备 | |
CN114760166B (zh) | 一种隧道报文的处理方法和装置 | |
US20160126976A1 (en) | Methods, systems, and computer readable media for optimized message decoding | |
CN114697408B (zh) | 一种隧道报文的处理方法和装置 | |
US10917502B2 (en) | Method for using metadata in internet protocol packets | |
CN109995659B (zh) | 一种网络通信方法及装置 | |
US7277437B1 (en) | Packet classification method |
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 |