CN106341423B - 一种报文处理方法和装置 - Google Patents

一种报文处理方法和装置 Download PDF

Info

Publication number
CN106341423B
CN106341423B CN201610948991.5A CN201610948991A CN106341423B CN 106341423 B CN106341423 B CN 106341423B CN 201610948991 A CN201610948991 A CN 201610948991A CN 106341423 B CN106341423 B CN 106341423B
Authority
CN
China
Prior art keywords
message
label
forwarding table
route
flow
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
CN201610948991.5A
Other languages
English (en)
Other versions
CN106341423A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201610948991.5A priority Critical patent/CN106341423B/zh
Publication of CN106341423A publication Critical patent/CN106341423A/zh
Application granted granted Critical
Publication of CN106341423B publication Critical patent/CN106341423B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种报文处理方法和装置,该方法包括:接收用于对攻击报文进行过滤的Flow Spec路由;获取所述Flow Spec路由对应的标签转发表项;在所述标签转发表项中添加流量清洗标记;在接收到报文后,查询所述报文的标签信息对应的标签转发表项;若查询到的标签转发表项中记录有流量清洗标记,则利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果,对所述报文进行处理。通过本发明的技术方案,可以基于Flow Spec路由对报文进行过滤,在本自治系统内就可以对报文进行更好的控制,不依赖于自治系统外的网络。

Description

一种报文处理方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种报文处理方法和装置。
背景技术
作为一种攻击方式,DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或者多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
如图1所示,为防止DDoS攻击的组网示意图,假设主机2向主机1发送报文,在与主机1连接的用户侧设备上,可以接收到该报文,若该报文被识别出是攻击报文,则生成针对该报文的Flow Spec(数据流说明)路由(即流路由),该Flow Spec路由用于对匹配到本FlowSpec路由的报文进行过滤。用户侧设备将Flow Spec路由发送给网络设备1,网络设备1在收到Flow Spec路由后,将Flow Spec路由下发到转发芯片上,当转发芯片接收到匹配该FlowSpec路由的报文时,识别该报文为攻击报文,并丢弃该报文。此外,网络设备1将该FlowSpec路由发送给网络设备2和网络设备3。网络设备2/网络设备3在接收到Flow Spec路由后,将该Flow Spec路由下发到本网络设备的转发芯片上,当转发芯片接收到匹配该FlowSpec路由的报文时,则识别该报文为攻击报文,并丢弃该报文。
其中,Flow Spec路由的实现原理是:对于针对主机1的攻击报文,用户侧设备1可以发现报文是攻击报文,并对攻击报文进行拦截。但是,如果所有攻击报文都在用户侧设备1上进行拦截,显然会导致网络中存在大量攻击报文,浪费大量的带宽等资源。因此提出Flow Spec技术,Flow Spec技术希望从攻击源头上对攻击报文进行拦截,因此可以将攻击报文的一些特征信息添加到Flow Spec路由中,并将Flow Spec路由发送给各网络设备,以使各网络设备对攻击报文进行拦截,从而从攻击源头上对攻击报文进行拦截,节省带宽等网络资源。
在MPLS(Multi-Protocol Label Switching,多协议标签交换)网络中,各网络设备在转发报文时,是基于标签信息转发该报文的。由于Flow Spec路由中通常包括源IP地址(如主机2的IP地址)和目的IP地址(如主机1的IP地址)等信息,因此,各网络设备在接收到报文后,可以直接从报文中解析出标签信息,并基于标签信息转发报文。由于标签信息无法用于匹配上述Flow Spec路由,因此,各网络设备无法使用Flow Spec路由对该报文进行过滤。
发明内容
本发明提供一种报文处理方法,应用于自治系统边界设备上,包括:
接收用于对攻击报文进行过滤的Flow Spec路由;
获取所述Flow Spec路由对应的标签转发表项;
在所述标签转发表项中添加流量清洗标记;
在接收到报文后,查询所述报文的标签信息对应的标签转发表项;
若查询到的标签转发表项中记录有流量清洗标记,则利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果,对所述报文进行处理。
本发明提供一种报文处理装置,应用于自治系统边界设备上,包括:
接收模块,用于接收用于对攻击报文进行过滤的Flow Spec路由;
获取模块,用于获取所述Flow Spec路由对应的标签转发表项;
添加模块,用于在所述标签转发表项中添加流量清洗标记;
查询模块,用于在接收到报文后,查询所述报文的标签信息对应的标签转发表项;
处理模块,用于当查询到的标签转发表项中记录有流量清洗标记时,利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果对所述报文进行处理。
基于上述技术方案,本发明实施例中,在MPLS网络的自治系统边界设备上,通过将Flow Spec路由与标签转发表项进行关联,并在标签转发表项中添加流量清洗标记,从而在基于标签转发报文时,可以联动到Flow Spec路由,继而基于Flow Spec路由对报文进行过滤,解决自治系统边界设备无法过滤自治系统域外报文的问题,在本自治系统内就可以对报文进行更好的控制,不依赖于自治系统外的网络。无论自治系统外的网络是否可以过滤报文,自治系统边界设备均可以将非法报文过滤,从而保证本自治系统内的安全性。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是防止DDoS攻击的组网示意图;
图2是本发明一种实施方式中的报文处理方法的流程图;
图3和图4是本发明一种实施方式中的应用场景示意图;
图5是本发明一种实施方式中的自治系统边界设备的硬件结构图;
图6是本发明一种实施方式中的报文处理装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图2所示,为本发明实施例提出的报文处理方法的流程图,该方法可以应用于自治系统边界设备上,如可以为自治系统内的ASBR(Autonomous System BoundaryRouter,自治系统边界路由器),该方法包括以下步骤:
步骤201,接收用于对攻击报文进行过滤的Flow Spec路由。
在一个例子中,该Flow Spec路由(即流路由)中可以携带待过滤报文的一些特征,如五元组信息、控制字段等特征,并用于过滤匹配到该Flow Spec路由的报文。其中,该五元组信息可以包括但不限于源IP地址、源端口标识、目的IP地址、目的端口标识、协议类型标识等,该控制字段可以包括但不限于报文长度、TCP(Transmission Control Protocol,传输控制协议)标记位、分片标识、QoS(Quality of Service,服务质量)信息等。
在一个例子中,在自治系统内的各网络设备之间可以建立BGP(Border GatewayProtocol,边界网关协议)邻居,且一个自治系统内的网络设备也可以与另一个自治系统内的网络设备建立BGP邻居,并且在各网络设备之间可以传输携带Flow Spec路由的BGP消息。基于此,自治系统边界设备在收到BGP消息之后,可以从该BGP消息中解析出Flow Spec路由,并将该BGP消息发送给BGP邻居。其中,BGP是一种既可以用于不同AS(AutonomousSystem,自治系统)之间,又可以用于同一AS内部的动态路由协议。作为Internet外部路由的协议标准,被ISP(Internet Service Provider,互联网服务提供商)广泛应用。
步骤202,获取该Flow Spec路由对应的标签转发表项。
在一个例子中,获取该Flow Spec路由对应的标签转发表项的过程,可以包括但不限于如下方式:从该Flow Spec路由中解析出目的IP地址,并从本地路由表中获取到与该目的IP地址匹配的路由表项,从该路由表项中获取到标签信息,然后再从标签转发表中获取到包含该标签信息的标签转发表项,获取到的这个标签转发表项就是该Flow Spec路由对应的标签转发表项。
其中,Flow Spec路由可以包括但不限于以下内容之一或者任意组合:源IP地址、源端口标识、目的IP地址、目的端口标识、协议类型标识、报文长度、TCP标记位、分片标识、QoS信息等。因此,Flow Spec路由中可能包含目的IP地址,若包含目的IP地址,则可以从该Flow Spec路由中解析出目的IP地址,并利用该目的IP地址获取对应的标签转发表项;若不包含,则结束流程。
其中,自治系统边界设备可以维护路由表,该路由表内包含多个路由表项,每个路由表项中可以包括IP地址、该路由表项的下一跳邻居地址、标签信息、出接口等信息。基于此,若该目的IP地址(即Flow Spec路由中的目的IP地址)匹配到某个路由表项中的IP地址,则说明路由表中存在与该目的IP地址匹配的路由表项;若该目的IP地址未匹配到所有路由表项,则说明路由表中不存在与该目的IP地址匹配的路由表项。因此,自治系统边界设备可以从路由表中获取到与该目的IP地址匹配的路由表项。由于该路由表项中存在标签信息,因此,自治系统边界设备还可以从该路由表项中获取到该标签信息。
其中,自治系统边界设备可以维护标签转发表,该标签转发表内包含多个标签转发表项,每个标签转发表项中可以包括入标签、出标签、出接口等信息。基于此,在从路由表项中获取到标签信息之后,可以从标签转发表中获取到包含该标签信息的标签转发表项,即Flow Spec路由对应的标签转发表项。
步骤203,在Flow Spec路由对应的标签转发表项中添加流量清洗标记。
在一个例子中,针对Flow Spec路由对应的标签转发表项,与传统的标签转发表项不同的是,该标签转发表项中除了包括入标签、出标签、出接口等信息外,还可以在该标签转发表项中添加一个流量清洗标记,该流量清洗标记可以根据实际需要任意设置,对此不做限制,如设置标记A,以表示流量清洗标记。
步骤204,在接收到报文后,查询该报文的标签信息对应的标签转发表项。
其中,自治系统边界设备可以从接收到的报文中解析出标签信息,并通过该标签信息查询各标签转发表项的入标签,得到与该标签信息匹配的入标签,该入标签对应的标签转发表项,也就是该报文的标签信息对应的标签转发表项。
步骤205,若查询到的标签转发表项中记录有流量清洗标记,则利用该报文中的IP头信息与Flow Spec路由的匹配结果,对该报文进行处理。
在一个例子中,自治系统边界设备接收到的报文,可以来自于相同自治系统的网络设备(即与自治系统边界设备同域),此时报文为来自自治系统域内的报文。自治系统边界设备接收到的报文,还可以来自于不同自治系统的网络设备(即与自治系统边界设备不同域),此时报文为来自自治系统域外的报文。
以下对上述两种情况进行说明:情况一、若接收到的报文为来自自治系统域内的报文,在查询到该报文对应的标签转发表项(即与报文的标签信息匹配的标签转发表项)后,可以直接利用查询到的标签转发表项转发该报文,而不用关注标签转发表项中是否记录有流量清洗标记。情况二、若接收到的报文为来自自治系统域外的报文,在查询到该报文对应的标签转发表项(即与报文的标签信息匹配的标签转发表项)后,还可以判断查询到的标签转发表项中是否记录有流量清洗标记。若标签转发表项中记录有流量清洗标记,则利用该报文中的IP头信息与Flow Spec路由的匹配结果,对该报文进行处理。若标签转发表项中没有记录流量清洗标记,则利用查询到的标签转发表项转发该报文。
在一个例子中,针对“利用该报文中的IP头信息与Flow Spec路由的匹配结果,对该报文进行处理”的过程,可以包括:自治系统边界设备解封装该报文中的标签信息,并从解封装后的报文中解析出IP头信息。自治系统边界设备判断该IP头信息是否匹配到FlowSpec路由;如果匹配,则过滤解封装后的报文,即丢弃该报文,不再转发该报文;如果不匹配,则在解封装后的报文中重新封装标签信息(即将报文还原为初始的报文,该初始的报文是步骤204中接收到的报文),并利用该标签信息对应的标签转发表项转发封装后的报文。
针对情况一和情况二,利用标签转发表项转发报文是指:将报文中的标签替换为该标签转发表项的出标签,并通过该标签转发表项的出端口转发报文。
在一个例子中,上述标签转发表项可以下发到自治系统边界设备的转发芯片上,即转发芯片在接收到报文后,查询该报文对应的标签转发表项。若报文为来自自治系统域内的报文,在查询到报文对应的标签转发表项后,可以直接利用该标签转发表项转发报文。若报文为来自自治系统域外的报文,在查询到报文对应的标签转发表项后,转发芯片判断该标签转发表项中是否记录有流量清洗标记。若该标签转发表项中记录有流量清洗标记,则可以解封装该报文中的标签信息,并从解封装后的报文中解析出IP头信息,并判断该IP头信息是否匹配到Flow Spec路由(该Flow Spec路由也会预先下发到转发芯片上);如果匹配,则过滤解封装后的报文;如果不匹配,则在解封装后的报文中重新封装标签信息,并利用该标签信息对应的标签转发表项转发封装后的报文。若该标签转发表项中没有记录流量清洗标记,则利用该标签转发表项转发报文。
在一个例子中,若自治系统边界设备还直接与用户侧设备连接,则在接收到FlowSpec路由之后,还可以利用该Flow Spec路由对来自于用户侧设备的报文进行过滤。具体的,自治系统边界设备在接收到来自用户侧设备的报文时,判断该报文的IP头信息是否匹配到该Flow Spec路由。如果匹配,则过滤该报文,即丢弃该报文,不再转发该报文。如果不匹配,则转发该报文。
在一个例子中,若自治系统边界设备直接与用户侧设备连接,则将Flow Spec路由下发到自治系统边界设备的转发芯片上,若自治系统边界设备没有与用户侧设备连接,则不将Flow Spec路由下发到自治系统边界设备的转发芯片上。以将Flow Spec路由下发到转发芯片为例,转发芯片在接收到来自用户侧设备的报文时,由于报文中不包含标签信息,可以直接从报文中解析出IP头信息,因此,转发芯片可以直接判断该IP头信息是否匹配到该Flow Spec路由;如果匹配,则过滤该报文,如果不匹配,则转发该报文。
在上述过程中,IP头信息可以包括:IP头中的源IP地址、源端口标识、目的IP地址、目的端口标识、协议类型标识等内容,也可以包括报文长度、TCP标记位、分片标识、QoS信息等内容,而Flow Spec路由也包括源IP地址、源端口标识、目的IP地址、目的端口标识、协议类型标识、报文长度、TCP标记位、分片标识、QoS信息等内容,因此,可以判断IP头信息是否匹配到Flow Spec路由。以IP头信息为源IP地址和目的IP地址,Flow Spec路由为源IP地址和目的IP地址为例,若IP头中的源IP地址与Flow Spec路由的源IP地址相同,且IP头中的目的IP地址与Flow Spec路由的目的IP地址相同,则说明IP头信息匹配到Flow Spec路由,否则,说明IP头信息未匹配到Flow Spec路由。
基于上述技术方案,本发明实施例中,在MPLS网络的自治系统边界设备上,通过将Flow Spec路由与标签转发表项进行关联,并在标签转发表项中添加流量清洗标记,从而在基于标签转发报文时,可以联动到Flow Spec路由,继而基于Flow Spec路由对报文进行过滤,解决自治系统边界设备无法过滤自治系统域外报文的问题,在本自治系统内就可以对报文进行更好的控制,不依赖于自治系统外的网络。无论自治系统外的网络是否可以过滤报文,自治系统边界设备均可以将非法报文过滤,从而保证本自治系统内的安全性。
以下结合图3所示的应用场景,对本发明实施例进行详细说明。图3是MPLS L3VPN(Layer3Virtual Private Network,三层虚拟专用网络)跨域的组网示意图,CE设备1和CE设备2属于同一个VPN实例,后续以VPN1为例进行说明。
如图3所示,PE设备1、P设备1和ASBR1是自治系统100内的网络设备,PE设备2、P设备2和ASBR2是自治系统200内的网络设备,该自治系统100属于一个运营商网络1,该自治系统200属于另一个运营商网络2。其中,PE设备1与CE设备1连接,PE设备2与CE设备2连接,而且,与CE设备2连接的主机2(2.2.2.2/32)需要访问与CE设备1连接的主机1(1.1.1.1/32)。
在一个例子中,CE设备1与PE设备1建立BGP邻居,且PE设备1与P设备1建立BGP邻居,且P设备1与ASBR1建立BGP邻居。此外,ASBR1与ASBR2建立BGP邻居,且ASBR2与P设备2建立BGP邻居,且P设备2与PE设备2建立BGP邻居,且PE设备2与CE设备2建立BGP邻居。
其中,CE设备1是主机1的用户侧设备,PE设备1是与用户侧连接的网络侧边缘设备,P设备1是运营商网络中的核心设备,PE设备1与ASBR1之间可以部署多个P设备,图中以一个P设备为例进行说明,ASBR1是自治系统100内的自治系统边界设备,并与另一个自治系统200内的自治系统边界设备连接。
CE设备2是主机2的用户侧设备,PE设备2是与用户侧连接的网络侧边缘设备,P设备2是运营商网络中的核心设备,PE设备2与ASBR2之间可以部署多个P设备,图中以一个P设备为例进行说明,ASBR2是自治系统200内的自治系统边界设备,并与另一个自治系统100内的自治系统边界设备连接。
在介绍本发明实施例之前,先基于图3所示的应用场景介绍标签分配过程。
CE设备1将针对主机1的路由1.1.1.1/32发布给PE设备1。PE设备1从CE设备1学习到路由1.1.1.1/32后,为路由1.1.1.1/32分配私网标签L1,并将路由1.1.1.1/32和私网标签L1发布给ASBR1。
ASBR1从PE设备1学习到路由1.1.1.1/32后,为路由1.1.1.1/32分配私网标签L2,并维护表1所示的路由表和表2所示的标签转发表。ASBR1将路由1.1.1.1/32和私网标签L2发布给ASBR2,且ASBR1在发布路由1.1.1.1/32时,将该路由1.1.1.1/32的下一跳邻居地址修改为ASBR1的地址。
表1
IP地址 路由的下一跳邻居地址 标签信息 出接口
1.1.1.1/32 PE设备1的地址 私网标签L2 接口1
表2
入标签 出标签 出接口
私网标签L2 私网标签L1 接口1
ASBR2从ASBR1学习到路由1.1.1.1/32之后,为该路由1.1.1.1/32分配私网标签L3,并维护表3所示的路由表和表4所示的标签转发表。ASBR2将路由1.1.1.1/32和私网标签L3发布给PE设备2,且ASBR2在发布路由1.1.1.1/32时,将该路由1.1.1.1/32的下一跳邻居地址修改为ASBR2的地址。
PE设备2在接收到路由1.1.1.1/32和私网标签L3之后,记录路由1.1.1.1/32和私网标签L3的映射关系,并将该路由1.1.1.1/32发布给CE设备2,由CE设备2利用该路由1.1.1.1/32转发报文。
表3
IP地址 路由的下一跳邻居地址 标签信息 出接口
1.1.1.1/32 ASBR1的地址 私网标签L3 接口1
表4
入标签 出标签 出接口
私网标签L3 私网标签L2 接口1
基于上述路由表和标签转发表,针对主机2发送给主机1的报文,则相应的转发流程可以包括如下过程:主机2(2.2.2.2/32)向主机1(1.1.1.1/32)发送报文,该报文的源IP地址为2.2.2.2,目的IP地址为1.1.1.1。CE设备2在接收到该报文之后,利用该目的IP地址1.1.1.1查询路由表,基于之前学习到的路由表,将该报文发送给PE设备2。PE设备2在接收到该报文之后,在该报文中封装两层标签,内层标签为私网标签L3,外层标签为公网标签,且该公网标签可以预先配置在PE设备2和P设备2上,并发送包含两层标签的报文。
P设备2基于报文的公网标签转发该报文,且该报文最终被发送到ASBR2。ASBR2在接收到报文后,去除外层标签,得到只包含私网标签L3的报文。通过私网标签L3查询表4所示的标签转发表,使用私网标签L2替换报文中的私网标签L3,并通过接口1发送报文。ASBR1在接收到报文之后,通过私网标签L2查询表2所示的标签转发表,使用私网标签L1替换报文中的私网标签L2,并为报文封装公网标签,即报文的内层标签为私网标签L1,外层标签为公网标签,且公网标签可以预先配置在ASBR1和P设备1上,并通过端口1发送包含两层标签的报文。P设备1基于报文的公网标签转发该报文,且该报文最终被发送到PE设备1。PE设备1在接收到报文后,去除外层标签和内层标签,将报文转发给CE设备1,CE设备1将报文发送给主机1,最终完成报文传输过程。
在上述过程中,CE设备1在接收到该报文后,若识别报文是攻击报文,则不会将报文发送给主机1,而是生成针对该报文的Flow Spec路由,该Flow Spec路由可以以下内容之一或任意组合:源IP地址、源端口标识、目的IP地址、目的端口标识、协议类型标识、报文长度、TCP标记位、分片标识、QoS信息。为方便描述,以Flow Spec路由包括源IP地址2.2.2.2,目的IP地址1.1.1.1为例。
在一个例子中,可以在CE设备1上预先配置识别策略,该识别策略用于识别报文是否为攻击报文,该识别策略可以根据实际需要进行配置。例如,若主机1提供HTTP(HyperText Transfer Protocol,超文本传输协议)服务,则识别策略可以为判断报文是否为HTTP报文。如果报文是HTTP报文,则识别出报文不是攻击报文,将该报文转发给主机1。如果报文不是HTTP报文,则识别出报文是攻击报文,丢弃该报文,并执行后续步骤。在实际应用中,识别策略还可以为其它类型的识别策略,本发明实施例中对此识别策略的内容不做限制。
CE设备1在得到Flow Spec路由之后,可以将携带该Flow Spec路由的BGP消息(如BGP更新消息,对此BGP消息类型不做限制)发送给PE设备1,PE设备1将携带该Flow Spec路由的BGP消息发送给P设备1,P设备1将携带该Flow Spec路由的BGP消息发送给ASBR1,ASBR1将携带该Flow Spec路由的BGP消息发送给ASBR2,ASBR2将携带该Flow Spec路由的BGP消息发送给P设备2,P设备2将携带该Flow Spec路由的BGP消息发送给PE设备2。PE设备2在接收到该BGP消息后,可以从BGP消息中解析出Flow Spec路由,并将该Flow Spec路由下发到转发芯片。基于此,PE设备2的转发芯片在接收到主机2发送给主机1的报文后,由于报文还未封装标签信息,报文头中包含源IP地址(2.2.2.2)和目的IP地址(1.1.1.1)等信息,因此可以匹配到上述Flow Spec路由,并过滤该报文,不再向P设备2发送该报文。
在上述方式下,通过在PE设备2的转发芯片上下发Flow Spec路由,使得PE设备2可以基于Flow Spec路由,过滤主机2发送给主机1的报文,对报文进行清洗。但是,当存在跨域的攻击报文时,对于访问自治系统100的报文,需要在自治系统200内进行拦截,为了实现上述功能,则自治系统100和自治系统200内的设备均需要支持Flow Spec路由的处理。但是实际上,自治系统100和自治系统200通常是不同的运营商网络,对于自治系统100来说,只能保证本自治系统100内的各设备支持Flow Spec路由的处理,而不能保证自治系统200内的各设备支持Flow Spec路由的处理,若自治系统200内的PE设备2不支持Flow Spec路由的处理,则攻击报文会被发送到自治系统100内。
由于自治系统100内的ASBR1、P设备1、PE设备1收到的报文都是携带标签信息的报文,因此会基于标签信息转发该报文,而Flow Spec路由中通常包括源IP地址和目的IP地址等信息,而不包括标签信息,因此无法使用标签信息匹配Flow Spec路由,自治系统100内的各设备无法使用Flow Spec路由对该报文进行过滤,从而导致攻击报文被发送给CE设备1,浪费了传输带宽。
针对上述发现,本发明实施例中提出的报文处理方法,可以在自治系统边界设备(如ASBR1)上进行改进。在一个例子中,PE设备2可以将自身是否支持Flow Spec路由的信息通知给ASBR1,若PE设备2支持Flow Spec路由,则ASBR1不采用本发明实施例提出的技术方案,若PE设备2不支持Flow Spec路由,则ASBR1采用本发明实施例提出的技术方案。在另一个例子中,无论PE设备2是否支持Flow Spec路由,ASBR1均采用本发明实施例提出的技术方案。
以ASBR1采用本发明实施例提出的技术方案为例,ASBR1在接收到Flow Spec路由(该Flow Spec路由包括源IP地址2.2.2.2,目的IP地址1.1.1.1)之后,在将该Flow Spec路由发送给ASBR2的基础上,还可以执行如下处理:
ASBR1获取该Flow Spec路由对应的标签转发表项,并在该Flow Spec路由对应的标签转发表项中添加流量清洗标记。
其中,针对“获取该Flow Spec路由对应的标签转发表项,并在该Flow Spec路由对应的标签转发表项中添加流量清洗标记”的过程,ASBR1可以从该Flow Spec路由中解析出目的IP地址1.1.1.1,并从本地路由表中获取到与该目的IP地址1.1.1.1匹配的路由表项,如表1所示的路由表项。ASBR1从该路由表项中获取到标签信息,即私网标签L2,并从标签转发表中获取到包含该私网标签L2的标签转发表项,如表2所示的标签转发表项,该标签转发表项就是该Flow Spec路由对应的标签转发表项。之后,ASBR1可以在该Flow Spec路由对应的标签转发表项中添加流量清洗标记,如表5所示的标签转发表项。
表5
入标签 出标签 出接口 流量清洗标记
私网标签L2 私网标签L1 接口1 标记A
假设自治系统200内的PE设备2不支持Flow Spec路由的处理,则主机2发送给主机1的攻击报文,会被发送到自治系统100内的ASBR1上。ASBR1在接收到报文后,通过私网标签L2可以查询到表5所示的标签转发表项。由于该报文是来自自治系统域外的报文,因此ASBR1判断该标签转发表项中是否记录有流量清洗标记。由于该标签转发表项中记录有流量清洗标记,因此ASBR1解封装该报文中的标签信息,即去掉私网标签L2,得到解封装后的报文。
在上面的流程中已经介绍到,针对主机2发送给主机1的报文,其携带IP头信息,在IP头信息中,源IP地址为2.2.2.2,目的IP地址为1.1.1.1。在报文到达PE设备2后,在报文中封装内层标签(私网标签L3)和外层标签。在报文到达ASBR2后,去除外层标签,并使用私网标签L2替换私网标签L3。
因此,到达ASBR1的报文是包含私网标签L2的报文,ASBR1在去掉私网标签L2后,得到的报文就是主机2发送给主机1的报文,其携带IP头信息,且在IP头信息中,源IP地址为2.2.2.2,目的IP地址为1.1.1.1。因此,ASBR1可以从解封装后的报文中解析出IP头信息,并判断该IP头信息是否匹配到Flow Spec路由。由于在IP头信息中,源IP地址为2.2.2.2,目的IP地址为1.1.1.1;在Flow Spec路由中包括源IP地址2.2.2.2,目的IP地址1.1.1.1,因此,IP头信息与Flow Spec路由匹配,ASBR1过滤报文,即丢弃该报文,不再转发该报文。
在另一个例子中,假设该标签转发表项中没有记录流量清洗标记,则ASBR1可以利用查询到的标签转发表项转发报文,例如,使用私网标签L1替换报文中的私网标签L2,并为报文封装公网标签,即报文的内层标签为私网标签L1,外层标签为公网标签,并通过端口1发送包含两层标签的报文。
此外,ASBR1在收到来自自治系统域内的报文后,如来自P设备1的报文,在查询到报文对应的标签转发表项后,可以直接利用查询到的标签转发表项转发报文,而不用关注标签转发表项中是否记录有流量清洗标记,对此不再赘述。
在一个例子中,如图4所示,若ASBR1直接与CE设备3连接,则说明ASBR1可能收到未包含标签信息的报文,可以直接使用Flow Spec路由对报文进行过滤,因此,ASBR1可以将Flow Spec路由下发到转发芯片上。转发芯片在接收到来自CE设备3的报文时,由于报文携带的是源IP地址和目的IP地址,而不是标签信息,且Flow Spec路由包含源IP地址和目的IP地址,因此,转发芯片可利用报文的源IP地址和目的IP地址等,判断该报文是否匹配到该Flow Spec路由;如果匹配,则过滤该报文,如果不匹配,则转发该报文。
综上所述,在MPLS网络的自治系统边界设备上,通过将Flow Spec路由与标签转发表项进行关联,并在标签转发表项中添加流量清洗标记,从而在基于标签转发报文时,可以联动到Flow Spec路由,继而基于Flow Spec路由对报文进行过滤,解决自治系统边界设备无法过滤自治系统域外报文的问题,在本自治系统内就可以对报文进行更好的控制,不依赖于自治系统外的网络。不需要所有自治系统都支持Flow Spec路由功能,支持Flow Spec路由功能的自治系统就可以完成对攻击报文的过滤。无论自治系统外的网络是否可以过滤报文,自治系统边界设备均可以将非法报文过滤,从而保证本自治系统内的安全性。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种报文处理装置,该报文处理装置可以应用在自治系统边界设备上。其中,该报文处理装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的自治系统边界设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本发明提出的报文处理装置所在的自治系统边界设备的一种硬件结构图,除了图5所示的处理器、非易失性存储器外,该自治系统边界设备还可以包括其他硬件,例如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该自治系统边界设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图6所示,为本发明提出的报文处理装置的结构图,所述装置包括:
接收模块11,用于接收用于对攻击报文进行过滤的Flow Spec路由;获取模块12,用于获取所述Flow Spec路由对应的标签转发表项;添加模块13,用于在所述标签转发表项中添加流量清洗标记;查询模块14,用于在接收到报文后,查询所述报文的标签信息对应的标签转发表项;处理模块15,用于当查询到的标签转发表项中记录有流量清洗标记时,则利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果对所述报文进行处理。
在一个例子中,所述获取模块12,具体用于在获取所述Flow Spec路由对应的标签转发表项的过程中,从所述Flow Spec路由中解析出目的IP地址,并从本地路由表中获取到与所述目的IP地址匹配的路由表项,并从所述路由表项中获取到标签信息;从标签转发表中获取到包含所述标签信息的标签转发表项。
所述处理模块15,还用于在所述查询模块14查询到所述报文的标签信息对应的标签转发表项之后,若所述接收到的报文为来自自治系统域外的报文,则判断查询到的标签转发表项中是否记录有流量清洗标记;若有,则利用所述报文中的IP头信息与所述FlowSpec路由的匹配结果,对所述报文进行处理;若没有,则利用查询到的标签转发表项转发所述报文。
若所述自治系统边界设备与用户侧设备连接;所述处理模块15,用于在接收到来自所述用户侧设备的报文时,判断该报文的IP头信息是否匹配到所述Flow Spec路由;如果匹配,则过滤该报文,如果不匹配,则转发该报文。
在一个例子中,所述处理模块15,具体用于在利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果对所述报文进行处理的过程中,解封装所述报文中的标签信息,从解封装后的报文中解析出IP头信息;判断所述IP头信息是否匹配到所述Flow Spec路由;如果匹配,则过滤所述解封装后的报文;如果不匹配,则在所述解封装后的报文中重新封装所述标签信息,并利用所述标签信息对应的标签转发表项转发封装后的报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (8)

1.一种报文处理方法,其特征在于,应用于自治系统边界设备上,包括:
接收用于对攻击报文进行过滤的Flow Spec路由;
获取所述Flow Spec路由对应的标签转发表项;
在所述标签转发表项中添加流量清洗标记;
在接收到报文后,查询所述报文的标签信息对应的标签转发表项;
若所述报文为来自自治系统域外的报文,则判断查询到的标签转发表项中是否记录有流量清洗标记;若查询到的标签转发表项中记录有流量清洗标记,则利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果,对所述报文进行处理;若查询到的标签转发表项中没有记录流量清洗标记,则利用查询到的标签转发表项转发所述报文。
2.根据权利要求1所述的方法,其特征在于,
所述获取所述Flow Spec路由对应的标签转发表项的过程,具体包括:
从所述Flow Spec路由中解析出目的IP地址,并从本地路由表中获取到与所述目的IP地址匹配的路由表项,并从所述路由表项中获取到标签信息;
从标签转发表中获取到包含所述标签信息的标签转发表项。
3.根据权利要求1所述的方法,其特征在于,
若所述自治系统边界设备与用户侧设备连接,所述方法还包括:
在接收到来自所述用户侧设备的报文时,判断该报文的IP头信息是否匹配到所述FlowSpec路由;如果匹配,则过滤该报文,如果不匹配,则转发该报文。
4.根据权利要求1所述的方法,其特征在于,所述利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果,对所述报文进行处理,具体包括:
解封装所述报文中的标签信息,并从解封装后的报文中解析出IP头信息;
判断所述IP头信息是否匹配到所述Flow Spec路由;
如果匹配,则过滤所述解封装后的报文;
如果不匹配,则在所述解封装后的报文中重新封装所述标签信息,并利用所述标签信息对应的标签转发表项转发封装后的报文。
5.一种报文处理装置,其特征在于,应用于自治系统边界设备上,包括:
接收模块,用于接收用于对攻击报文进行过滤的Flow Spec路由;
获取模块,用于获取所述Flow Spec路由对应的标签转发表项;
添加模块,用于在所述标签转发表项中添加流量清洗标记;
查询模块,用于在接收到报文后,查询所述报文的标签信息对应的标签转发表项;
处理模块,用于若所述报文为来自自治系统域外的报文,则判断查询到的标签转发表项中是否记录有流量清洗标记;当查询到的标签转发表项中记录有流量清洗标记时,利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果对所述报文进行处理;当查询到的标签转发表项中没有记录流量清洗标记时,则利用查询到的标签转发表项转发所述报文。
6.根据权利要求5所述的装置,其特征在于,
所述获取模块,具体用于在获取所述Flow Spec路由对应的标签转发表项的过程中,从所述Flow Spec路由中解析出目的IP地址,并从本地路由表中获取到与所述目的IP地址匹配的路由表项,并从所述路由表项中获取到标签信息;
从标签转发表中获取到包含所述标签信息的标签转发表项。
7.根据权利要求5所述的装置,其特征在于,
若所述自治系统边界设备与用户侧设备连接;所述处理模块,还用于在接收到来自所述用户侧设备的报文时,判断该报文的IP头信息是否匹配到所述Flow Spec路由;如果匹配,则过滤该报文,如果不匹配,则转发该报文。
8.根据权利要求5所述的装置,其特征在于,所述处理模块,具体用于在利用所述报文中的IP头信息与所述Flow Spec路由的匹配结果对所述报文进行处理的过程中,解封装所述报文中的标签信息,从解封装后的报文中解析出IP头信息;判断所述IP头信息是否匹配到所述Flow Spec路由;如果匹配,则过滤所述解封装后的报文;如果不匹配,则在所述解封装后的报文中重新封装所述标签信息,并利用所述标签信息对应的标签转发表项转发封装后的报文。
CN201610948991.5A 2016-10-26 2016-10-26 一种报文处理方法和装置 Active CN106341423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610948991.5A CN106341423B (zh) 2016-10-26 2016-10-26 一种报文处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610948991.5A CN106341423B (zh) 2016-10-26 2016-10-26 一种报文处理方法和装置

Publications (2)

Publication Number Publication Date
CN106341423A CN106341423A (zh) 2017-01-18
CN106341423B true CN106341423B (zh) 2019-12-06

Family

ID=57840721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610948991.5A Active CN106341423B (zh) 2016-10-26 2016-10-26 一种报文处理方法和装置

Country Status (1)

Country Link
CN (1) CN106341423B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574632B (zh) * 2017-03-10 2020-06-02 华为技术有限公司 一种报文处理方法、装置及系统
CN107547386B (zh) * 2017-06-23 2020-03-06 新华三技术有限公司 报文转发方法及装置
CN108199965B (zh) * 2017-12-28 2021-01-01 新华三技术有限公司 Flow spec表项下发方法、网络设备、控制器及自治系统
CN110808913B (zh) 2018-08-30 2021-02-23 华为技术有限公司 报文处理的方法、装置及相关设备
CN111147478B (zh) * 2019-12-24 2022-08-12 北京网太科技发展有限公司 一种安全防护方法、装置及存储介质
CN112073256B (zh) * 2020-06-01 2022-07-19 新华三信息安全技术有限公司 一种丢包处理方法、装置、设备及机器可读存储介质
CN114257544A (zh) * 2020-09-22 2022-03-29 华为技术有限公司 一种流量处理方法、装置和网络设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257448A (zh) * 2008-04-03 2008-09-03 中兴通讯股份有限公司 一种提高rsvp-te隧道可靠性的方法
CN101447916A (zh) * 2008-12-25 2009-06-03 中国电子科技集团公司第五十四研究所 多协议标记交换网络的双向复合信源定位方法
CN101917425A (zh) * 2010-08-09 2010-12-15 中国电信股份有限公司 双向在线方式的网吧流量集中式清洗系统及方法
CN101924764A (zh) * 2010-08-09 2010-12-22 中国电信股份有限公司 基于二级联动机制的大规模DDoS攻击防御系统及方法
CN101938421A (zh) * 2010-09-14 2011-01-05 北京星网锐捷网络技术有限公司 多协议标签交换网络中实现路由汇聚的方法及路由设备
CN105763477A (zh) * 2016-02-03 2016-07-13 杭州华三通信技术有限公司 一种流量控制策略处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9537753B2 (en) * 2014-03-03 2017-01-03 Cisco Technology, Inc. Opaque profile identifiers for path computation element protocol

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257448A (zh) * 2008-04-03 2008-09-03 中兴通讯股份有限公司 一种提高rsvp-te隧道可靠性的方法
CN101447916A (zh) * 2008-12-25 2009-06-03 中国电子科技集团公司第五十四研究所 多协议标记交换网络的双向复合信源定位方法
CN101917425A (zh) * 2010-08-09 2010-12-15 中国电信股份有限公司 双向在线方式的网吧流量集中式清洗系统及方法
CN101924764A (zh) * 2010-08-09 2010-12-22 中国电信股份有限公司 基于二级联动机制的大规模DDoS攻击防御系统及方法
CN101938421A (zh) * 2010-09-14 2011-01-05 北京星网锐捷网络技术有限公司 多协议标签交换网络中实现路由汇聚的方法及路由设备
CN105763477A (zh) * 2016-02-03 2016-07-13 杭州华三通信技术有限公司 一种流量控制策略处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BGP Flow Specification MPLS action;Q. Liang, etc.;《draft-liang-idr-flowspec-mpls-action-00》;20160922;第1-9页 *

Also Published As

Publication number Publication date
CN106341423A (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN106341423B (zh) 一种报文处理方法和装置
CN107911258B (zh) 一种基于sdn网络的安全资源池的实现方法及系统
US10951529B2 (en) Dynamic service-based load balancing in a software-defined wide area network (SD-WAN)
EP3734906B1 (en) Method and device for bearing multicast virtual private network
US11533334B2 (en) Infrastructure distributed denial of service protection
CN107920023B (zh) 一种安全资源池的实现方法及系统
US9860340B2 (en) Service function chaining branching
EP4106281B1 (en) Virtual private network vpn service optimization method and device
US9537752B2 (en) Encoding inter-domain shared service paths
US8806606B2 (en) Service aggregation in a cloud services center
US7653074B2 (en) Method and apparatus for virtual private networks
US8559429B2 (en) Sequential frame forwarding
EP3188422B1 (en) Traffic black holing avoidance and fast convergence for active-active pbb-evpn redundancy
CN106936811B (zh) 安全设备、系统和方法
CN106921572B (zh) 一种传播QoS策略的方法、装置及系统
CN107154902B (zh) 处理在以太网树中的vlan间的流量的方法和设备
US11799688B2 (en) Method for managing virtual private network, and device
US20110228778A1 (en) Packet node for applying service path routing at the MAC layer
US20190007368A1 (en) DHCP in Layer-3 Overlay with Anycast Address Support and Network Address Transparency
CN106254252B (zh) 一种Flow spec路由的下发方法和装置
CN108270671B (zh) 一种用于对分组执行服务的设备及其方法
EP3477897B1 (en) Method for routing data packets in a network topology
CN102882797B (zh) 批量删除VPNv4或VPNv6路由的方法及PE
US7373423B2 (en) Network infrastructure management and data routing framework and method thereof
Menachi et al. Scalable, hierarchical, Ethernet transport network architecture (HETNA)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant