CN113542188B - 报文检测的方法以及第一网络设备 - Google Patents
报文检测的方法以及第一网络设备 Download PDFInfo
- Publication number
- CN113542188B CN113542188B CN202010287690.9A CN202010287690A CN113542188B CN 113542188 B CN113542188 B CN 113542188B CN 202010287690 A CN202010287690 A CN 202010287690A CN 113542188 B CN113542188 B CN 113542188B
- Authority
- CN
- China
- Prior art keywords
- bier
- message
- bfr
- network device
- information
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- 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
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/02—Topology update or discovery
-
- 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/34—Source routing
-
- 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/74—Address processing for routing
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Cardiology (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种报文检测的方法,该方法包括:第一网络设备获取位索引显式复制BIER报文,该BIER报文包括陷阱信息,该陷阱信息用于指示该BIER报文是否为合法的BIER报文;该第一网络设备确定陷阱信息是否有效;当第一网络设备确定陷阱信息有效时,第一网络设备确定BIER报文为非法的BIER报文。本申请提供的技术方案可检测出非法的BIER报文,增强BIER报文转发过程中的安全性或BIER报文封装的准确性。
Description
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种报文检测的方法以及第一网络设备。
背景技术
网络协议(internet protocol,IP)组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。为此,业界提出了一种新的用于构建组播数据转发路径的技术,称为基于位索引的显式复制(bit indexed explicitreplication,BIER)技术,该技术提出了一种新的不需要构建组播分发树的组播技术架构。
相关的技术方案中,BIER报文缺乏一些安全机制,使得非法的BIER报文可以在BIER域内大量复制,发送给不需要接收该组播流量的设备,造成链路带宽浪费,甚至会导致链路上的拒绝服务(denial of service,DoS)。
发明内容
本申请提供一种报文检测的方法以及第一网络设备,可检测出非法的BIER报文,增强BIER报文转发过程中的安全性或BIER报文封装的准确性。
第一方面,提供了一种报文检测的方法,包括:第一网络设备获取位索引显式复制BIER报文,所述BIER报文包括陷阱信息,所述陷阱信息用于指示所述BIER报文是否为合法的BIER报文;所述第一网络设备确定所述陷阱信息是否有效;当所述第一网络设备确定所述陷阱信息有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文。
上述技术方案中,第一网络设备在获取到BIER报文后,可以通过BIER报文中的陷阱信息是否有效确定该BIER报文是否为合法的BIER报文。这样,一方面,如果攻击者篡改了BIER报文,则BIER报文中的陷阱信息有效,第一网络设备可检测到BIER报文被恶意篡改的行为,或者可以提高检测BIER报文被恶意篡改行为的概率,从而增强BIER报文转发过程中的安全性。另一方面,如果BIER域中的网络设备在封装BIER报文的报文头信息时出现错误或失误,通过本申请提供的方法还可以检测出这种情况,从而提高BIER报文封装的准确性。
进一步的,上述技术方案通过识别非法的BIER报文,还可以锁定出非法的设备,或者可以确定转发和处理BIER报文的网络设备是否存在故障。
在一种可能的实现方式中,所述BIER报文中包括比特串BitString,所述BitString中包括所述陷阱信息。
在另一种可能的实现方式中,所述陷阱信息为一个比特位。
在另一种可能的实现方式中,所述陷阱信息包括多个比特位。
在另一种可能的实现方式中,所述多个比特位中的至少两个比特位之间不相邻。
上述技术方案中,通过设置多个比特位中的至少两个比特位之间不相邻,从而实现在BIER报文中设置多个陷阱,提高BIER报文封装的准确性或提高检测BIER报文被恶意篡改行为的概率。
在另一种可能的实现方式中,所述多个比特位中的至少两个比特位之间相邻。
在另一种可能的实现方式中,所述当所述第一网络设备确定所述陷阱信息有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文,包括:当所述第一网络设备确定所述多个比特位中的任意一个比特位有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文。
在另一种可能的实现方式中,所述方法还包括:当所述第一网络设备确定所述多个比特位均无效时,所述第一网络设备确定所述BIER报文为合法的BIER报文。
在另一种可能的实现方式中,所述方法还包括:所述第一网络设备接收第二网络设备泛洪的BIER信息,其中,所述第二网络设备为BIER域的中间转发设备,所述BIER域包括所述第一网络设备,所述BIER信息中包括所述第二网络设备的比特转发路由器标识BFR-ID,所述BFR-ID用于指示所述第二网络设备为所述BIER域的边缘转发设备。
在另一种可能的实现方式中,在所述第一网络设备确定所述陷阱信息是否有效之前,所述方法还包括:所述第一网络设备接收控制消息,所述控制消息指示所述BIER报文中的陷阱信息;所述第一网络设备根据所述控制消息获取所述BIER报文中的陷阱信息。
在另一种可能的实现方式中,所述方法还包括:所述第一网络设备建立第一表项,所述第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,发出告警或记录日志信息;所述第一网络设备确定所述陷阱信息有效时,发出告警或记录日志信息。
第二方面,提供了一种第一网络设备,包括:
获取模块,用于获取位索引显式复制BIER报文,所述BIER报文包括陷阱信息,所述陷阱信息用于指示所述BIER报文是否为合法的BIER报文;
确定模块,用于确定所述陷阱信息是否有效;
所述确定模块,还用于当确定所述陷阱信息有效时,确定所述BIER报文为非法的BIER报文。
在一种可能的实现方式中,所述BIER报文中包括比特串BitString,所述比特串中包括所述陷阱信息。
在另一种可能的实现方式中,所述陷阱信息包括多个比特位。
在另一种可能的实现方式中,所述多个比特位中的至少两个比特位之间不相邻。
在另一种可能的实现方式中,所述确定模块具体用于:当确定所述多个比特位中的任意一个比特位有效时,确定所述BIER报文为非法的BIER报文。
在另一种可能的实现方式中,所述确定模块还用于:当确定所述多个比特位均无效时,确定所述BIER报文为合法的BIER报文。
在另一种可能的实现方式中,所述获取模块还用于:接收第二网络设备泛洪的BIER信息,其中,所述第二网络设备为BIER域的中间转发设备,所述BIER域包括所述第一网络设备,所述BIER信息中包括所述第二网络设备的比特转发路由器标识BFR-ID,所述BFR-ID用于指示所述第二网络设备为所述BIER域的边缘转发设备。
在另一种可能的实现方式中,所述获取模块还用于:接收控制消息,所述控制消息指示所述BIER报文中的陷阱信息;根据所述控制消息获取所述BIER报文中的陷阱信息。
在另一种可能的实现方式中,还包括:建立模块,用于建立第一表项,所述第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,发出告警或记录日志信息;
所述确定模块,还用于当确定所述陷阱信息有效时,发出告警或记录日志信息。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。所述接口用于支持第一网络设备获取BIER报文,或者用于支持第一网络设备与第二网络设备之间的通信,接收第二网络设备泛洪的BIER信息,或者用于支持接收控制消息。所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第五方面,提供一种第一网络设备,所述第一网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第四方面中的接口板的功能,进一步,还可以执行第四方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第四方面中主控板的功能。
可以理解的是,在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第七方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第八方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第九方面,提供了一种系统,该系统包括上述第一网络设备。
附图说明
图1是本申请实施例提供的一种BIER技术的示意性组网图。
图2是本申请实施例提供的一种可能的BIER头格式的示意图。
图3是另一种可能的BIER头格式的示意性框图。
图4是一种基于BIER技术建立BIER转发表以及进行BIER报文转发的过程。
图5是本申请实施例提供的一种可能的BIERv6封装的报文格式示意图。
图6是本申请实施例提供的一种报文检测的方法的示意性流程图。
图7是本申请实施例提供的一种报文检测的场景的示意性。
图8是本申请实施例提供的另一种报文检测的场景的示意性。
图9是本申请实施例提供的另一种报文检测的场景的示意性。
图10是本申请实施例提供的一种第一网络设备1000的示意性结构图。
图11是本申请实施例的第一网络设备2000的硬件结构示意图。
图12是本申请实施例的另一种第一网络设备2100的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internetprotocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传输效率和减少了骨干网络出现拥塞的可能性。
网络协议(internet protocol,IP)组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。该组播技术使用组播协议构建控制平面组播树,然后利用组播树将网络平面逻辑树状,以实现组播点到多点的数据转发。这种以构建分发树为核心的中间节点都需要维护复杂的组播转发信息状态。在网络规模越来越大,组播数据流量与日俱增的情况下,这种组播技术面临越来越大的成本和运维方面的挑战。
为此,业界提出了一种新的用于构建组播数据转发路径的技术,称为位索引的显式复制(bit index explicit replication,BIER)技术,该技术提出了一种不需要构建组播分发树的组播技术架构。如图1所示,支持BIER技术的路由器称为位转发路由器(Bit-forwarding router,BFR),该BFR可接收并转发BIER报文。由上述一个或多个BFR组成的一个组播转发域称为BIER域(BIER domain)。在BIER域的入口,对原始组播数据报文进行BIER封装的BFR称为位转发入口路由器(bit forwarding ingress router,BFIR)。在BIER域的出口,对从BIER报文中解封装出原始组播数据报文的BFR称为位转发出口路由器(bitforwarding egress router,BFER)。应理解,BIER域中的BFIR和BFER可以称为BIER域中的边缘BFR。
为了便于理解,下面结合图2-图5,对BIER的相关技术进行详细描述。
在BIER域中,可以对上述的边缘BFR配置一个在整个BIER子域(sub domain,SD)中全局唯一的比特位置(bit position)标识。作为一个示例,为每一个边缘BFR配置一个值作为BFR标识(BFR identifier,BFR ID),例如,BFR ID可以是一个1-256之间的数值。BIER域中所有的BFR ID组成一个比特串(BitString)。
本申请实施例中,需要原始组播数据报文在BIER域中传输时需要额外封装一个特定的BIER头。BIER头中通过BitString标注了该原始组播数据报文的所有目的节点。BIER域中的BFR可以根据位索引转发表(bit index forwarding table,BIFT)以及BIER头中携带的BitString进行转发,保证原始组播数据报文能够发送到所有的目的地址。
需要说明的是,本申请中的原始组播数据报文的目的节点可以是多个BFER的集合。为了便于描述,下面将原始组播数据报文需要发送至的多个BFER的集合称为目的节点。
应理解,BIER头后面的原始组播数据报文可以是互联网协议第6版(internetprotocol version 6,IPv6)组播报文,或者还可以是互联网协议第4版(internetprotocol version 4,IPv4)组播报文,本申请不做具体限定。
BIER封装的类型可以有多种,本申请不做具体限定。作为一个示例,可以通过多协议标签交换(multi-protocol label switching,MPLS)对BIER报文进行的封装,这种封装可以称为BIER-MPLS封装。作为另一个示例,可以基于互联网协议第6版(internetprotocol version 6,IPv6)对BIER报文进行的封装,这种封装可以称为BIERv6封装。
下面结合图2-图4,对BIER-MPLS封装的相关技术进行详细描述。
本申请实施例对BIER头格式不做具体限定,只要BIER头中包含比特串(BitString)字段即可。下面分别结合图2-图3,对两种可能的BIER头格式进行详细描述。
图2是一种可能的BIER头格式的示意性框图。如图2所示,BIER头中可以包含但不限于:一个长度为20bit的位索引转发表标识(bit index forwarding table identifier,BIFT ID)、比特串长度(BitString length,BSL)、64bit(8个字节)的其他字段,例如,BIER头后面的原始组播数据报文的传输类型(traffic class,TC)、栈(stack,S)、生存时间(time to live,TTL)字段、熵(entropy)字段、版本号(version,Ver)、proto字段等。
下面分别对BIER头中的字段进行详细描述。
(1)BIFT ID字段
长度为20bit,在BIER-多协议标签交换(multi protocol label switching,MPLS)封装下就是一个MPLS标签(label,L)。该MPLS标签可以称为BIER标签,其随后的TC/S/TTL等字段是标准的标签编码格式,下面会分别对TC/S/TTL等字段进行说明,此处暂不详述。
BIFT ID可以是BIFT-id,可以包括子域(sub-domain,SD)/比特串长度(BitStringlength,BSL)/集合标识(set identifier,SI)的一个组合,不同的BIFT ID可以对应于不同的SD/BSL/SI组合。
应理解,不同的BIFT ID可以映射出不同的SD/BSL/SI组合。在图2所示的BIER头格式中不直接包含SD/BSL/SI字段,SD/BSL/SI为三个隐式字段,需要根据BIFT ID字段映射出SD/BSL/SI取值。
1、子域(sub-domain,SD)
一个BIER域可以根据实际的业务场景的需求划分和配置为不同的子域SD,以支持内部网关协议(interior gateway protocol,IGP)多拓扑等特性。每个BIER域须包含至少一个Sub-domain,即默认的Sub-domain 0。当划分多个子域时,BIER域中各BFR路由器须配置所有子域。例如可以在BIER域中各BFR路由器上配置一个Sub-domain 0,使用系统默认拓扑,再配置一个sub-domain 1,使用组播拓扑。
每个子域SD由子域标识(sub-domain identifier,SD-ID)来表示。例如,SD-ID的取值为[0-255],长度为8bit。作为一个示例,可根据虚拟专用网(virtual privatenetwork,VPN)的不同,将BIER域配置为不同的SD,并配置不同的VPN使用不同的SD。例如,VPN 1使用SD 0,VPN 2使用SD 1。
需要说明的是,多个VPN也可以使用相同的SD,BIER域中不同的SD可以在一个内部网关协议(interior gateway protocol,IGP)进程或拓扑中,也可以不在一个IGP进程或拓扑中,本申请实施例对此不做具体限定。
2、比特串长度(BitString length,BSL)
BSL为BIER头中包括的BitString的长度。BSL可以有多种,本申请实施例对此不做具体限定。最小的BSL为64位,BSL还依次可以有128位,256位,512位,1024位,2048位,最大的BSL为4096位。具体的,在报文中通过4bit来标识,例如,当BSL为64位时,报文中用0001标识,当BSL为128位时,报文中用0010标识,当BSL为512位时,报文中用0100标识,当BSL为1024位时,报文中用0101标识,依次类推。
3、集合标识(set identifier,SI)
如果网络中的BFER节点数量大于256,为了适应这种情况,BIER封装中不仅包含一个BitString,还会包含有一个集合标识(set identifie,SI)。SI的作用在于将BIER节点的编号划分为多个不同的区间,从而支持更大规模的网络编址。
SI可以理解为网络中的多个边缘BFR或配置的BFR ID组成的集合。作为一个示例,BSL为256bit,但是网络中有超过256个边缘BFR,或者配置的BFR ID有超过256个,则需要将这些边缘BFR或BFR ID划分为不同的集合。例如,BFR ID为1至256的256个边缘BFR为集合0(set index0,或SI=0),BFR ID为257至512的256个边缘BFR为集合1(set index 1,或者SI=1)。
BIER域中的BFR在接收到了BIER报文之后,可以根据BIER头中的BIFT ID确定该BIER报文属于哪个SD,使用的BSL以及报文属于该BSL的哪个SI组成的集合。
下面列举出几种可能的BIFT ID所代表的对应的SD/BSL/SI组合。
BIFT ID=1:corresponding to SD 0,BSL 256,SI 0//相当于SD 0/BSL 256/SI0
BIFT ID=2:corresponding to SD 0,BSL 256,SI 1//相当于SD 0/BSL 256/SI1
BIFT ID=3:corresponding to SD 0,BSL 256,SI 2//相当于SD 0/BSL 256/SI2
BIFT ID=4:corresponding to SD 0,BSL 256,SI 3//相当于SD 0/BSL 256/SI3
BIFT ID=5:corresponding to SD 0,BSL 512,SI 0//相当于SD 0/BSL 512/SI0
BIFT ID=6:corresponding to SD 0,BSL 512,SI 1//相当于SD 0/BSL 512/SI1
BIFT ID=7:corresponding to SD 1,BSL 256,SI 0//相当于SD 1/BSL 256/SI0
BIFT ID=8:corresponding to SD 1,BSL 256,SI 1//相当于SD 1/BSL 256/SI1
BIFT ID=9:corresponding to SD 1,BSL 256,SI 2//相当于SD 1/BSL 256/SI2
BIFT ID=10:corresponding to SD 1,BSL 256,SI 3//相当于SD 1/BSL 256/SI3
BIFT ID=11:corresponding to SD 1,BSL 512,SI 0//相当于SD 1/BSL 512/SI0
BIFT ID=12:corresponding to SD 1,BSL 512,SI 1//相当于SD 1/BSL 512/SI1
需要说明的是,BIFT ID字段值和和一个<SD,BSL,SI>的三元组对应。通过BIFT-id字段,可以获得唯一的<SD,BSL,SI>信息。它有如下作用:通过BSL获取BIER报文头的BitString的长度,从而知道整个BIER报文头的长度;通过BSL及SI信息可知BitString代表的是BFR-ID是1~256还是257~512等;通过SD信息即可找到对应的转发表。
(2)比特串(BitString)字段
BitString中的每个bit用来标识边缘BFR,例如BitString的低位(最右)的一个bit用来标识BFR-ID=1的BFER。BitString中从右往左第2个Bit用来标识BFR-ID=2的BFER。转发面转发所依据的转发表项则是根据报文中的BitString决定该报文要往哪几个BFER发送。当BIER域中的BFR在接收到了包含有BIER的报文头时,根据BIER头中携带的BitString以及BIFT ID转发BIER报文。
需要说明的是,bit位的值为1表示报文要往该BFR-ID所代表的BFER节点发送,bit位的值为0则表示报文不需要往该BFR-ID所代表的BFER节点发送。
以BIFT ID=2为例,BFR在接收到了BIER报文之后,可以根据该BIER头中的BIFTID获取该BIER报文属于SD 0,BIER头中使用的BSL为256bit,属于集合1(包括BFR ID为257至512的256个边缘BFR的集合)。
(3)传输类型(traffic class,TC)字段
标识报文的优先级。
(4)栈(stack,S)
S是栈底标记,在BIER报文头中该标记的值是1,即这个MPLS标签是整个标签栈的栈底标签。
(5)版本号(version,Ver)字段
长度为4bit,是IP的版本号,值为4代表IPv4,值为6代表IPv6。
(6)熵(entropy)字段
属于一个流量的多个报文的熵相同,不同的流量的多个报文的熵不相同。当报文被转发时可以根据熵将不同的流量分担到不同的链路上、而相同流量的多个报文则走相同的链路。
(7)proto字段
用来标识BIER报文头后面的Payload格式,例如值4和6分别代表IPv4报文和IPv6报文,值2代表上游分标签的MPLS报文,是在组播虚拟专用网络(multicast virtualprivate network,MVPN)over BIER中所使用的一种Proto值。使用上游标签的原因是,组播是点到多点的发送,发送端运营商边缘(provider edge,PE)设备可以分配一个唯一的标签并通过控制平面发送给接收端PE设备,数据报文使用发送端PE设备所分配的标签并在接收端PE设备进行识别,对接收端PE设备而言这个标签不是自己所分配而是发送端PE设备所分配,称为上游标签。
(8)nibber
4比特固定值0101。该字段用来区分MPLS承载的业务,区别BIER、IPv4和IPv6。因为在MPLS封装转发中,有时检查标签栈后面的IPv4或者IPv6头部以支持ECMP。
(9)BFIR-id
BFIR的BFR-ID。BFIR节点使用Sub-domain封装发送BIER报文,那么BFIR-id字段需要填写该节点在该Sub-domain下的BFR-ID。
(10)BitString
BIER报文的目的节点集合字符串。
图3是另一种可能的BIER头格式的示意性框图。相比较图2所示的BIER头格式而言,图3所示的BIER头格式中不包含BIFT-ID字段,而显示包含SD/BSL/SI三个字段。也就是说,图3所示的BIER头格式中直接包含SD/BSL/SI三个字段,而无需由BIFT ID字段映射出SD/BSL/SI取值。
需要说明的是,图3所示的BIER头格式中包含的字段与图2所示的BIER头格式中包含的字段类似,具体的有关图3所示的BIER头格式中各个字段的描述请参考图2中的说明,此处不再赘述。
下面以图4,对基于BIER技术建立BIER转发表以及进行BIER报文转发的过程进行详细描述。
如图4所示的BIER域中可以包括节点A至节点F,其中,节点A、节点D、节点E、节点F属于BIER域内的边缘BFR,节点B、节点C属于BIER中间转发节点。具体的,节点A位于BIER域的入口,负责对原始组播数据报文进行BIER封装,对应于图1中的BFIR。节点D、节点E、节点F位于BIER域的出口,负责从BIER报文中解封装出原始组播数据报文,对应于图1中的BFER。
本申请实施例中可以为每一个BIER域内的边缘BFR分配一个唯一的BFR-ID,例如,在图4中,为节点A、节点D、节点E、节点F配置的BFR-ID分别为4、1、2、3。中间转发的BFR,例如,节点B、节点C不分配BFR-ID。
需要说明的是,本申请实施例中,“ID”和“id”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。其中,本申请中的BFR-ID对应图4中的id。
数据流量的BIER头中封装的BitString标注了该流量的所有目的节点。例如,对于BFR-ID为1的节点D对应的BitString为0001,BFR-ID为2的节点F对应的BitString为0010,BFR-ID为3的节点E对应的BitString为0100,BFR-ID为4的节点A对应的BitString为1000。
应理解,为每一个BIER域内的边缘BFR分配的BFR-ID值可以通过路由协议向BIER域内的其他BFR进行泛洪,泛洪的BIER信息中还包括边缘BFR的IP地址、封装信息。例如节点A的泛洪的BIER信息会携带节点A的IP地址以及BIFT-id。BIER域内的BFR(例如,图4中的节点F)可以根据泛洪的BIER信息建立BIFT表项,以便于图4中的节点F接收到BIER报文之后,根据建立的BIFT表项来完成BIER报文到目的节点的转发。
对于节点A而言,如果需要将BIER报文发送至BFR-ID分别为1、2、3的BFER,该BIER报文需要先发送至节点A的邻居(节点B),BFR-ID为4的边缘BFR为其自己,因此,节点A建立的BIFT表项如下所示:
转发表项1:邻居(neighbor,Nbr)=B,转发位掩码(forwarding bit mask,FBM)=0111;
转发表项2:Nbr*=A,FBM=1000。
其中,转发表项1用于表示当有BIER报文的BitString从右往左第1个bit位、第2个bit位、第3个bit位任意一个为1时,该BIER报文会往节点A的邻居(节点B)发送,Nbr=B表示节点A的邻居为节点B。
转发表项2用于表示当有BIER报文的BitString从右往左第4个bit位为1时,该BIER报文会往节点A发送。由于节点A是自己,因此,节点A会剥掉BIER头,按照原始组播数据报文中的信息进行转发。需要说明的是,上述转发表项2中使用*标识该Nbr为自己,例如,对于节点A而言,Nbr*=A表示节点A的邻居节点为自己。同样地,图4中的其他节点也可以根据其自己的邻居节点建立BIFT表项。其他节点建立的BIFT表项请参见图4,此处不再赘述。
当节点A作为BIER域入口的BFIR收到原始组播数据报文后,在原始组播数据报文前封装BIER头。应理解,为了便于描述,下文中简称为入口节点A。作为一个示例,入口节点A可以在接收到原始组播数据报文后,根据边界网关协议BGP消息泛洪的BFR-ID获知该原始组播数据报文的目的节点。例如,原始组播数据报文的接收者为BFR-ID为3的目的节点为E、BFR-ID为2的目的节点为F、BFR-ID为1的目的节点为D。入口节点A封装BIER头的BitString为0111,并根据上述转发表项1将封装之后的BIER报文转发到邻居节点B。节点B收到该BIER报文后,根据BitString为0111以及BIFT表项确定需要将该BIER报文分别发送至节点C和节点E。节点B将该BIER报文往节点C发送时,可以将BIER头的BitString(0111)以及BIFT表项里Nbr=C对应的FBM字段做AND操作,本申请实施例中AND的结果是0011,因此,节点B可以将BIER头的BitString修改为0011,并发送至节点C。同样地,节点B将该BIER报文往节点E发送时,可以将BIER头的BitString修改为0100。节点E收到该BIER报文后,根据BitString为0100确定该BIER报文要往邻居节点E发送。由于节点E根据转发表中的标识*确定邻居节点E为自己,因此节点E作为BIER域出口的BFER,可以从BIER报文中解封装出原始组播数据报文,并根据内层的原始组播数据报文中的信息进行转发。
在BIER-MPLS封装中,BIER头前32bit是一个MPLS标签编码,其中,该前32bit中的前20bit则是MPLS标签值。该MPLS标签值会在转发的过程中发生变化,例如入口节点A向节点B发送报文时,需要封装节点B的MPLS标签值,节点B向节点C发送报文时,需要封装节点C的MPLS标签值。本申请实施例中,节点A/节点B/节点C/节点D/节点E/节点F分配的MPLS标签值分别是100/200/300/400/500/600,这些MPLS标签值需要携带在前述的BIER封装信息并通过路由协议向BIER域内的其他BFR进行泛洪,使得节点A可以获知节点B的MPLS标签值。这一标识BIER信息的MPLS标签也称为BIER标签。
本申请实施例中,边缘BFR配置的比特位置会事先通过内部网关协议(interiorgateway protocol,IGP)或者外部网关协议(border gateway protocol,BGP)在BIER域中泛洪,使得BIER域中的各个BFR形成用于指导原始组播数据报文在BIER域进行转发的位索引转发表(bit index forwarding table,BIFT)。这种随着IGP或者BGP在BIER域中泛洪的信息可以称为BIER信息。BFR在接收到封装有BIER头的BIER报文时,根据BIFT表项来完成BIER报文到目的节点的转发。
本申请实施例中内部网关协议IGP可以包括但不限于:开放式最短路径优先(openshortest path first,OSPF)协议,中间系统到中间系统(intermediate system tointermediate system,ISIS)协议等。
应理解,BIER域(BIER domain)指的是一个能通过IGP或BGP泛洪BIER信息并建立BIFT表项的网络区域,BIER域包括BFIR和BFER。该BIER信息可以包括但不限于上述每一个边缘BFR的BFR ID。作为一个示例,一个自治系统(autonomous system,AS)域内部署IGP并泛洪BIER信息,该AS域就是一个BIER域(BIER domain)。
通常网络规模较大时,会划分多个域,比如根据管理域的不同划分为不同的AS,AS的边界可以是自治系统边界路由器(autonomous system border router,ASBR)。不同的AS域内可能部署IGP并泛洪BIER信息,多个AS域之间部署BGP但不泛洪BIER信息,那么多个AS域可以是多个不同的BIER域(BIER domain)。
下面结合图5,对BIERv6封装的相关技术进行详细描述。
应理解,BIERv6封装是结合Native IPv6和BIER两者优点而形成的方案,BIERv6封装下的报文格式为:IPv6头+BIER头+原始组播数据报文。其中,BIER头可以包含在IPv6扩展头中,而原始组播数据报文作为外层IPv6头的负荷(payload)。
在这种封装下,IPv6头和包含BIER头的IPv6扩展头共同构成了内层原始组播数据报文的外层报文头,本申请实施例中也可以称之为BIERv6头。
本申请实施例对包含BIER头的IPv6扩展头不做具体限定。例如,该IPv6扩展头可以是目的选项头(destination option header,DOH),又如,该IPv6扩展头还可以是路由头(routing header,HR)。
图5是一种可能的BIERv6封装的示意性框图。参见图5,BIER头可以位于IPv6扩展头中,例如位于DOH中。
应理解,DOH是一种类型、长度和值(type length value,TLV)格式,其中,BIER头作为DOH的Option TLV中的Option data,由Option TLV中的Option type标识其格式,由Option TLV中的Option length标识其长度。
需要说明的是,在BIERv6封装中,本申请实施例对DOH中的BIER头格式不做具体限定,只要BIER头中包含BitString字段即可。BIER头格式可以是如图2所示的格式,或如图3所示的格式,或其他格式。如在BIERv6封装下,BIER头可以进一步删除Proto字段、DSCP字段等,只要BIER头部包含有用于位索引显式复制的位串(BitString)即可。具体的有关BIER头格式的详细描述请参见图2或图3中的说明,此处不再赘述。
下面对外层IPv6头中包含的字段进行详细描述。
版本号(version,Ver):IP的版本号,值为6代表IPv6。
流量类型(traffic class,TC)字段:标识报文的优先级。
流标签(flow label,FL)字段:可以将属于一个流量的多个报文打上相同的流标签、不同的流量的多个报文打上另一个流标签值。当报文被转发时可以根据流标签将不同的流量分担到不同的链路上、而相同流量的多个报文则走相同的链路。
载荷长度(payload length,PL)字段:表示报文的长度。
下一个头部(Next Header,NH)字段:表示报文的下一个头部的类型,例如可以是代表一个IPv6扩展头。
跳数限制(Hop Limit,HL)字段:表示报文的条数限制。
源地址(source address,SA)字段:标识报文的源地址。
目的地址(destination address,DA)字段:标识报文的目的地址。
以图4所示的BIER域为例。节点A作为Ipv6网络的头节点(ingress节点),收到用户组播数据报文后,将报文封装在BIERv6头后,即由一个外层Ipv6头和包含BIER头的Ipv6扩展头之后,得到封装后的BIERv6报文。其中,Ipv6扩展头中包含的BIER报文头携带表示目的节点集合的BitString。
节点A根据BIER报文头及其BitString信息,将封装后的BIERv6报文发送给B,发送时IPv6头中的目的地址字段中使用B的单播地址(例如,B::100)。节点B根据BIER报文头及其BitString信息,将报文发送给C和E,发送时IPv6头中的目的地址字段中使用C的单播地址(例如,C::100)以及E的单播地址(例如,E::100)。同样的,节点C根据BIER报文头及其BitString信息,将报文发送给D和F,发送时IPv6头中的目的地址字段中使用D的单播地址(例如,D::100)以及F的单播地址(例如,D::100)。
随着对网络安全的重视,非法报文的检测显得尤为重要。一种可能的情况中,上述BIER报文在转发的过程中,容易受到攻击者的攻击,使得该BIER报文成为非法的BIER报文。以图1所示的网络架构为例,由于BIER报文在转发的过程中,BIER报文的报文头信息中的BitString字段会发生变化。作为一个示例,攻击者可以攻击BFIR1和BFR之间的链路,将这个链路连接在攻击者的设备上实施攻击。例如,攻击者对收到的BFIR1发送的BIER报文后,对BIER报文在转发过程中可变的字段(BitString)全部置为1,之后再将篡改后的BIER报文发送给BFR。作为另一个示例,攻击者攻击了BFIR1节点,例如,在BFIR1节点上修改配置,导致BFIR1在对组播报文进行封装时,将BitString字段全部置为1,之后再将篡改后的BIER报文发送给BFR。作为另一个示例,BFIR1节点在封装BitString时发生错误。这样的BIER报文可以被称为非法报文,该非法的BIER报文可能会导致组播流量在BIER域内大量复制,发送给了不需要接收该组播流量的设备,造成链路带宽浪费,甚至会导致链路上的拒绝服务(denial of service,DoS)。
本申请实施例提供的一种报文检测的方法,可以检测出非法的BIER报文,增强BIER报文转发过程中的安全性或BIER报文封装的准确性。
图6是本申请实施例提供的一种报文检测的方法的示意性流程图。参见图6,该方法可以包括步骤610-630,下面分别对步骤610-630进行详细描述。
步骤610:第一网络设备获取BIER报文,该BIER报文包括陷阱信息。
本申请实施例中,第一网络设备可以是BIER域中的头节点,例如图1所示的BFIR1或BFIR2,或者也可以是BIER域中的其他转发节点,例如图1所示的BFR或BFER1或BFER2。
以第一网络设备为BIER域中的头节点为例。第一网络设备获取BIER报文可以理解为该第一网络设备获取自己生成的BIER报文。具体的,该第一网络设备作为头节点,可以接收到组播数据报文,其可以对该组播数据报文进行封装,得到BIER报文,并获取到自己生成的BIER报文。
以第一网络设备为BIER域中的其他转发节点为例。第一网络设备获取BIER报文可以理解为该第一网络设备接收到其他节点发送的BIER报文。
本申请实施例中,BIER报文中可以包括陷阱信息,该陷阱信息用于指示所述BIER报文是否为合法的BIER报文。一种可能的实现方式中,BIER报文中的BitString字段中包括所述陷阱信息。例如,该陷阱信息包括一个或多个比特位。
应理解,本申请实施例中,陷阱信息例如可以是BIER报文在转发过程中不使用的信息,作为示例,以BitString中不使用的Bit位作为陷阱信息。这样,通过在BIER报文中设置陷阱信息,一种实现方式中,在攻击者对该陷阱信息进行修改时,可以监测到攻击者对BIER报文的恶意篡改行为。另一种实现方式中,如果BIER报文被网络设备错误封装时,通过检测陷阱信息是否被修改,也可以检测到BIER域中的网络设备在封装BIER报文的报文头信息时出现错误或失误的行为。
具体的,以陷阱信息包括一个或多个比特位为例。本申请实施例中,可以选定BIER报文的报文头信息的BitString中不使用的Bit位作为陷阱或蜜罐,这些bit位对应于BFR-id。例如,一个BIER或BIERv6域内,有100台路由器作为BFER节点,需要对收到的BIER报文进行解封装并发送给与其连接的组播接收者,这些路由器规划在(Sub-domain=0,BSL=256,SI=0)的BFR-id范围内,BFR-id分别是1~100。那么,可以配置BFR-id=101为陷阱BFR-id,或者,也可以配置BFR-id为101至256都为陷阱BFR-id,或者,还可以配置BIER域的(Sub-domain=0,BSL=256,SI=0)和(Sub-domain=0,BSL=256,SI=1),并配置BFR-id=101to512都为陷阱BFR-id。这些陷阱BFR-id可以对应于上文中的陷阱信息。
需要说明的是,以陷阱信息包括多个比特位为例,该多个比特位中的至少两个比特位之间可以相邻,也可以不相邻,本申请不做具体限定。如果多个比特位中的至少两个比特位之间不相邻,可以在BIER报文中设置多个陷阱,提高BIER报文封装的准确性或提高检测BIER报文被恶意篡改行为的概率。
本申请实施例中,可以将陷阱BFR-id配置在第一网络设备上,并对第一网络设备进行保护。可选地,还可以配置在多台甚至所有的网络设备上,并对该多台甚至所有的网络设备进行保护。
具体的配置方式有多种,本申请不做具体限定。一种可能的实现方式中,可以是管理员手动配置的。另一种可能的实现方式中,还可以是网络管理设备统一下发配置的,例如,第一网络设备通过安全通道接收网络管理设备统一下发的控制信息,该安全通道可以是安全命令行(Secure shell,SSH)或者传输层安全(transport layer secure,TLS)通道。该控制消息可以是命令行消息,或者网络配置(network configuration,Netconf)协议消息。配置的至少一个陷阱比特在控制信息中可以用一个比特转发路由器标识BFR-id值标识,该BFR-id也称为陷阱BFR-id。
应理解,SSH是一种网络协议,主要用于设备之间的安全链接和交互,主要用于设备之间的加密传输。
步骤620:第一网络设备确定陷阱信息是否有效。
第一网络设备在获取到BIER报文后,可以确定BIER报文中的陷阱信息是否有效。具体的,以陷阱信息包括一个或多个比特位为例,如果该比特位的取值为1,可以理解为该比特位有效。如果该比特位的取值为0,可以理解为该比特位无效。
具体的,参见步骤610中的例子,以配置的陷阱BFR-id为BFR-id 101至BFR-id 256作为示例。第一网络设备可以判断BitString字段中BFR-id 101至BFR-id 256的比特位是否有效。
可选地,在步骤620之间,所述第一网络设备还可以接收到控制消息,该控制消息用于第一网络设备确定或验证BIER报文中的陷阱信息。
步骤630:当第一网络设备确定陷阱信息有效时,第一网络设备确定BIER报文为非法的BIER报文。
本申请实施例中,以陷阱信息包括多个比特位为例,如果多个比特位中的任意一个比特位有效时,可以确定BIER报文为非法的BIER报文。也就是说,如果多个比特位中的任意一个比特位的取值为1,说明该BIER报文被恶意篡改或被错误封装,该BIER报文为非法的BIER报文。
具体的,参见步骤610中的例子,以配置的陷阱BFR-id为BFR-id101至BFR-id 256作为示例。如果第一网络设备确定BitString字段中BFR-id 101至BFR-id 256的任意一个比特位的取值为1,说明该BIER报文被恶意篡改或被错误封装,该BIER报文为非法的BIER报文。
可选地,当第一网络设备确定BIER报文为非法的BIER报文后,还可以对该为非法的BIER报文进行处理,例如,记录日志信息或发出告警,这样,以便于管理人员发现转发的BIER报文是非法的报文,从而增强BIER报文转发过程中的安全性或BIER报文封装的准确性。具体的,一种可能的实现方式中,第一网络设备可以建立第一表项,该第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,对该BIER报文进行处理,例如,发出告警或记录日志信息。
可选地,在一些实施例中,以陷阱信息包括多个比特位为例。如果多个比特位中的多个比特位均无效时,第一网络设备可以确定所述BIER报文为合法的BIER报文。也就是说,如果多个比特位的取值均为0,说明该BIER报文没有被恶意篡改或被错误封装,该BIER报文为合法的BIER报文。
具体的,参见步骤610中的例子,以配置的陷阱BFR-id为BFR-id 101至BFR-id 256作为示例。如果第一网络设备确定BitString字段中BFR-id 101至BFR-id 256的所有比特位的取值均为0,说明该BIER报文没有被恶意篡改或被错误封装,该BIER报文为合法的BIER报文。
本申请实施例中,第一网络设备如果确定该BIER报文为合法的BIER报文,可以对该BIER报文进行转发。具体的,参见步骤610中的例子,BIER报文的报文头信息中的BitString中包括原有的多个比特位,例如,BFR-id分别是1~100,这些比特位标注了该流量的所有目的节点。BIER域内的BFR可以根据BitString中原有的多个比特位,例如,BFR-id分别是1~100是否有效,对该BIER报文进行转发。详细的BIER报文转发过程请参见图4中的描述,此处暂不赘述。
上述技术方案中,可以设置陷阱信息,并通过确定陷阱信息是否有效而确定该BIER报文是否为合法的BIER报文。这样,一方面,如果攻击者篡改了BIER报文,则BIER报文中的陷阱信息有效,第一网络设备可检测到BIER报文被恶意篡改的行为,或者可以提高检测BIER报文被恶意篡改行为的概率,从而增强BIER报文转发过程中的安全性。另一方面,如果BIER域中的网络设备在封装BIER报文的报文头信息时出现错误或失误,通过本申请提供的方法还可以检测出这种情况,从而提高BIER报文封装的准确性。
进一步的,本申请实施例提供的方案中,通过识别非法的BIER报文,还可以锁定出非法的设备,或者可以确定转发和处理BIER报文的网络设备是否存在故障。
可选地,在一些实施例中,为了避免攻击者躲避上述设置的陷阱信息,使得无法检测出BIER报文被恶意篡改的行为或降低检测BIER报文被恶意篡改行为的概率,本申请还可以将上述设置的陷阱信息(例如,陷阱BFR-id)也在BIER域中进行泛洪。
具体的,可以在某一个或多个中间转发设备(例如,该设备实际上既不作为BFIR,也不作为BFER)上配置一个有效的BFR-id,该有效的BFR-id指示该中间转发设备为BIER域中的BFIR或BFER。并事先通过IGP或BGP在BIER域中泛洪该有效的BFR-id。同时,又配置该有效的BFR-id为陷阱BFR-id。对于一些更高级的攻击者(例如,已经攻破了BFIR节点并查看了BIER路由表),可能会查看哪些BFR-id是IGP或BGP泛洪过的BFR-id,并按照泛洪过的BFR-id进行篡改,例如将所有泛洪过的BFR-id所对应的报文的比特位串中的比特位篡改为1,而对其它未泛洪过的BFR-id所对应的比特位不作篡改,从而躲避陷阱。但通过对某一个或多个中间转发设备分别配置陷阱BFR-id并泛洪,这样,攻击者即使对泛洪过的BFR-id进行篡改的行为也会被检测到,从而提高检测BIER报文被恶意篡改行为的概率。
应理解,某一个或多个中间转发设备泛洪有效的BFR-id的过程与图4中边缘BFR通过路由协议向BIER域内的其他BFR泛洪的过程类似,具体的请参见图4中的描述,此处不再赘述。
下面结合图7-图9,对某一个或多个中间转发设备泛洪陷阱BFR-id的具体实现方式进行详细描述。应理解,图7-图9的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据所给出的图7-图9的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图7是本申请实施例提供的一种报文检测的场景的示意性。参见图7,BIER域(例如,区域(area)0)中的BFER节点包括PE1至PE30,PE1至PE30的BFR-id分别为1至30,BFIR节点包括PE256,PE256的BFR-id为256。
应理解,BIER域可以被划分为一个或多个区域(area),这里的area 0可以是BIER域的其中一个区域。
作为示例,可以将BFR-id 31至BFR-id 255都设置为陷阱BFR-id,在BIER域(例如,area 0)中的每个设备上都配置BFR-id 31至255为陷阱BFR-id。应理解,这个配置可以通过加密保存的方式让攻击者无法查看。也就是说,这里以加密的方式保存的是哪些BFR-id是陷阱BFR-id,例如,加密保存BFR-id 31至BFR-id 255为陷阱BFR-id。
参见图7,P31节点和P32节点为中间转发节点,本申请实施例中,还可以对P31节点配置BFR-id 31,为P32节点配置BFR-id 32,并在网络中泛洪。需要说明的是,这里对P31节点配置BFR-id 31,为P32节点配置BFR-id 32是不需要加密保存的。也就是说,本申请实施例中,在前述加密保存哪些BFR-id是陷阱BFR-id的基础上,还可将某些或全部陷阱BFR-id以及普通BFR-id不做区分在BIER域中进行泛洪。
对于一些更高级的攻击者(例如,已经攻破了BFIR节点并查看了BIER路由表),可能会查看哪些BFR-id是IGP或BGP泛洪过的BFR-id,并按照泛洪过的BFR-id进行篡改,例如将所有泛洪过的BFR-id所对应的报文的比特位串中的比特位篡改为1,而对其它未泛洪过的BFR-id所对应的比特位不作篡改,从而躲避陷阱。但通过对某一个或多个中间转发设备分别配置陷阱BFR-id并泛洪,这样,攻击者即使对泛洪过的BFR-id进行篡改,该行为也会被检测到,从而提高检测BIER报文被恶意篡改行为的概率。
图8是本申请实施例提供的另一种报文检测的场景的示意性。参见图8,BIER域中可以包括多个area,例如,area 0、area 1、area 2。其中,area 1中的BFER节点包括PE1至PE30,PE1至PE30的BFR-id分别为1至30,area 2中的BFER节点包括PE1至PE30,PE1至PE30的BFR-id分别为1至30。不同area的边界为区域边界路由器(area border router,ABR)路由器,ABR分别属于area 0、area 1以及area 2。
应理解,这里的area 0、area 1、area 2可以是BIER域的其中三个区域。需要说明的是,图8所示的BIER域可以包括多个区域(area),为了便于描述,以BIER域中包括三个区域为例进行说明。
作为示例,可以将BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120都设置为陷阱BFR-id,在BIER域中(例如,area 0、area 1、area 2)中的每个设备上都配置BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120为陷阱BFR-id。应理解,这个配置可以通过加密保存的方式让攻击者无法查看。也就是说,这里以加密的方式保存的是哪些BFR-id是陷阱BFR-id,例如,加密保存BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120为陷阱BFR-id。
参见图8,在IGP有多个area的情况下,ABR可能向area 0发布一个BFR-id 1至30的范围和另一个BFR-id 61至90的范围。本申请实施例中将BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120都设置为陷阱BFR-id,那么,ABR可以向area 0发布BFR-id 1至BFR-id120的范围。也就是说,本申请实施例中,在前述加密保存哪些BFR-id是陷阱BFR-id的基础上,还可将某些或全部陷阱BFR-id以及普通BFR-id不做区分在BIER域中进行泛洪。
对于一些更高级的攻击者(例如,已经攻破了BFIR节点并查看了BIER路由表),可能会查看哪些BFR-id是IGP或BGP泛洪过的BFR-id,并按照泛洪过的BFR-id进行篡改,例如将所有泛洪过的BFR-id所对应的报文的比特位串中的比特位篡改为1,而对其它未泛洪过的BFR-id所对应的比特位不作篡改,从而躲避陷阱。但通过对某一个或多个中间转发设备分别配置陷阱BFR-id并泛洪,这样,攻击者即使对泛洪过的BFR-id进行篡改,该行为也会被检测到,从而提高检测BIER报文被恶意篡改行为的概率。
图9是本申请实施例提供的另一种报文检测的场景的示意性。通常网络规模较大时,会划分多个域,比如根据管理域的不同将BIER域划分为不同的自治系统(autonomoussystem,AS)域,例如,图9中包括AS0、AS1以及AS2。其中,AS1中的BFER节点包括PE1至PE30,PE1至PE30的BFR-id分别为1至30,AS2中的BFER节点包括PE61至PE90,PE61至PE90的BFR-id分别为61至90。
需要说明的是,本申请实施例中,BIER域可以被划分为多个AS域,为了便于描述,图9中以BIER域中包括三个AS域(例如,AS0、AS1以及AS2)为例进行说明。
应理解,AS域的边界可以是自治系统边界路由器(autonomous system borderrouter,ASBR)。例如,图9中,AS0的边界节点是ASBR1,AS1的边界节点是ASBR2,AS2的边界节点是ASBR3。ASBR1、ASBR2、ASBR3之间相互连通。
还应理解,本申请实施例中,多个AS域可以被配置为一个BIER域,例如,通过静态配置的方式将多个AS域配置为一个BIER域。BIER域中不同的AS域内可能部署IGP并泛洪BIER信息。
参见图9,在跨AS域的场景下,可以对各个AS域的边界节点进行静态配置。例如,在ASBR1上配置BFR-id 1至BFR-id 30的下一跳是ASBR2(BFR-id 1至BFR-id 30next-hopASBR2),在ASBR1上配置BFR-id 61至BFR-id 90的下一跳是ASBR3(BFR-id 61至BFR-id90next-hop ASBR3),在PE256上还可以配置BFR-id 1至BFR-id 30以及BFR-id 61至BFR-id90的下一跳是ASBR1(BFR-id 1至BFR-id 30以及BFR-id 61至BFR-id 90 next-hopASBR1)。
作为示例,可以将BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120都设置为陷阱BFR-id,在BIER域中(例如,AS0、AS1以及AS2)中的每个设备上都配置BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120为陷阱BFR-id。
具体的,参见图9,为了设置陷阱BFR-id,一方面,可以进行如下配置:在PE256、ASBR1上配置陷阱BFR-id为31至BFR-id 60以及BFR-id 91至BFR-id 120,这个配置可以通过加密保存的方式让攻击者无法查看。应理解,这个配置可以通过加密保存的方式让攻击者无法查看。也就是说,这里以加密的方式保存的是哪些BFR-id是陷阱BFR-id,例如,加密保存BFR-id 31至BFR-id 255为陷阱BFR-id。另一方面,还可以将这些陷阱BFR-id和正常的BFR-id不作区分的进行配置,并按照非加密保存的方式让攻击者可见。比如可将这些陷阱BFR-id和正常的BFR-id配置在一个BFR-id范围段中。例如,在ASBR1上配置BFR-id 1至BFR-id 60的下一跳是ASBR2(BFR-id 1至BFR-id 60next-hop ASBR2),其中,BFR-id 31至BFR-id 60为陷阱BFR-id。在ASBR1上配置BFR-id 61至BFR-id 120的下一跳是ASBR3(BFR-id 61至BFR-id 120next-hop ASBR3),其中,BFR-id 91至BFR-id 120为陷阱BFR-id。在PE256上还可以配置BFR-id 1至BFR-id 120的下一跳是ASBR1(BFR-id 1至BFR-id 120next-hopASBR1),其中,BFR-id 31至BFR-id 60以及BFR-id 91至BFR-id 120为陷阱BFR-id。
攻击者根据上面的2、3、4的配置,可能会将BFR-id 31至BFR-id 60或BFR-id 91至BFR-id 120的bit位置1进行Dos攻击,但会触发陷阱BFR-id的处理从而暴露其攻击,从而可以检测到BIER报文被攻击者恶意篡改的行为或可提高检测BIER报文被攻击者恶意篡改行为的概率。
上文结合图1至图9,详细描述了本申请实施例提供的一种报文检测的方法,下面将结合图10至图12,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图10是本申请实施例提供的一种第一网络设备1000的示意性结构图。图10所示的该第一网络设备1000可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图10所示,所述第一网络设备1000包括:获取模块1010、确定模块1020,
获取模块1010,用于获取位索引显式复制BIER报文,所述BIER报文包括陷阱信息,所述陷阱信息用于指示所述BIER报文是否为合法的BIER报文;
确定模块1020,用于确定所述陷阱信息是否有效;
所述确定模块1020,还用于当确定所述陷阱信息有效时,确定所述BIER报文为非法的BIER报文。
可选的,所述BIER报文中包括比特串BitString,所述比特串中包括所述陷阱信息。
可选的,所述陷阱信息包括多个比特位。
可选的,所述多个比特位中的至少两个比特位之间不相邻。
可选的,所述确定模块1020具体用于:当确定所述多个比特位中的任意一个比特位有效时,确定所述BIER报文为非法的BIER报文。
可选的,所述确定模块1020还用于:当确定所述多个比特位均无效时,确定所述BIER报文为合法的BIER报文。
可选的,所述获取模块1010还用于:接收第二网络设备泛洪的BIER信息,其中,所述第二网络设备为BIER域的中间转发设备,所述BIER域包括所述第一网络设备,所述BIER信息中包括所述第二网络设备的比特转发路由器标识BFR-ID,所述BFR-ID用于指示所述第二网络设备为所述BIER域的边缘转发设备。
可选的,所述获取模块1010还用于:接收控制消息,所述控制消息指示所述BIER报文中的陷阱信息;根据所述控制消息获取或确定或验证所述BIER报文中的陷阱信息。
可选的,第一网络设备1000还包括:建立模块1030,用于建立第一表项,所述第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,发出告警或记录日志信息;
所述确定模块1020,还用于当确定所述陷阱信息有效时,发出告警或记录日志信息
图11是本申请实施例的第一网络设备2000的硬件结构示意图。图11所示第一网络设备2000可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图11所示,所述第一网络设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一网络设备实现上述收发。例如,所述接口2003用于获取位索引显式复制BIER报文。
所述处理器2001用于执行上述实施例中由第一网络设备进行的处理。例如,该处理器用于定所述陷阱信息是否有效;还用于当确定所述陷阱信息有效时,确定所述BIER报文为非法的BIER报文;和/或用于本文所描述的技术的其他过程。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random accessmemory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2000进入正常运行状态。在第一网络设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备2000的处理过程。
可以理解的是,图11仅仅示出了第一网络设备2000的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图12为本申请实施例的另一种第一网络设备2100的硬件结构示意图。图12所示的第一网络设备2100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图12所述,第一网络设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项,例如,上文中的转发表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。应理解,本实施例的第一网络设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种芯片系统,应用于第一网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一网络设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种报文检测的方法,其特征在于,所述方法包括:
第一网络设备获取位索引显式复制BIER报文,所述BIER报文包括陷阱信息,所述陷阱信息用于检测所述BIER报文是否为合法的BIER报文,所述陷阱信息不用于标识边缘位转发路由器BFR;
所述第一网络设备确定所述陷阱信息是否有效;
当所述第一网络设备确定所述陷阱信息有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文。
2.根据权利要求1所述的方法,其特征在于,所述BIER报文中包括比特串BitString,所述BitString中包括所述陷阱信息。
3.根据权利要求2所述的方法,其特征在于,所述陷阱信息包括多个比特位。
4.根据权利要求3所述的方法,其特征在于,所述多个比特位中的至少两个比特位之间不相邻。
5.根据权利要求3或4所述的方法,其特征在于,当所述第一网络设备确定所述陷阱信息有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文,具体包括:
当所述第一网络设备确定所述多个比特位中的任意一个比特位有效时,所述第一网络设备确定所述BIER报文为非法的BIER报文。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
当所述第一网络设备确定所述多个比特位均无效时,所述第一网络设备确定所述BIER报文为合法的BIER报文。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备接收第二网络设备泛洪的BIER信息,其中,所述第二网络设备为BIER域的中间转发设备,所述BIER域包括所述第一网络设备,所述BIER信息中包括所述第二网络设备的比特转发路由器标识BFR-ID,所述BFR-ID用于指示所述第二网络设备为所述BIER域的边缘转发设备。
8.根据权利要求1至4中任一项所述的方法,其特征在于,在所述第一网络设备确定所述陷阱信息是否有效之前,所述方法还包括:
所述第一网络设备接收控制消息,所述控制消息指示所述BIER报文中的陷阱信息;
所述第一网络设备根据所述控制消息获取所述BIER报文中的陷阱信息。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备建立第一表项,所述第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,发出告警或记录日志信息;
所述第一网络设备确定所述陷阱信息有效时,发出告警或记录日志信息。
10.一种第一网络设备,其特征在于,包括:
获取模块,用于获取位索引显式复制BIER报文,所述BIER报文包括陷阱信息,所述陷阱信息用于检测所述BIER报文是否为合法的BIER报文,所述陷阱信息不用于标识边缘位转发路由器BFR;
确定模块,用于确定所述陷阱信息是否有效;
所述确定模块,还用于当确定所述陷阱信息有效时,确定所述BIER报文为非法的BIER报文。
11.根据权利要求10所述的第一网络设备,其特征在于,所述BIER报文中包括比特串BitString,所述比特串中包括所述陷阱信息。
12.根据权利要求11所述的第一网络设备,其特征在于,所述陷阱信息包括多个比特位。
13.根据权利要求12所述的第一网络设备,其特征在于,所述多个比特位中的至少两个比特位之间不相邻。
14.根据权利要求12或13所述的第一网络设备,其特征在于,所述确定模块具体用于:
当确定所述多个比特位中的任意一个比特位有效时,确定所述BIER报文为非法的BIER报文。
15.根据权利要求12或13所述的第一网络设备,其特征在于,所述确定模块还用于:
当确定所述多个比特位均无效时,确定所述BIER报文为合法的BIER报文。
16.根据权利要求10至13中任一项所述的第一网络设备,其特征在于,所述获取模块还用于:
接收第二网络设备泛洪的BIER信息,其中,所述第二网络设备为BIER域的中间转发设备,所述BIER域包括所述第一网络设备,所述BIER信息中包括所述第二网络设备的比特转发路由器标识BFR-ID,所述BFR-ID用于指示所述第二网络设备为所述BIER域的边缘转发设备。
17.根据权利要求10至13中任一项所述的第一网络设备,其特征在于,所述获取模块还用于:
接收控制消息,所述控制消息指示所述BIER报文中的陷阱信息;
根据所述控制消息获取所述BIER报文中的陷阱信息。
18.根据权利要求10至13中任一项所述的第一网络设备,其特征在于,还包括:
建立模块,用于建立第一表项,所述第一表项中包括所述陷阱信息,所述第一表项指示在所述陷阱信息有效时,发出告警或记录日志信息;
所述确定模块,还用于当确定所述陷阱信息有效时,发出告警或记录日志信息。
19.一种第一网络设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于从存储器中调用并运行所述程序以执行权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至9中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287690.9A CN113542188B (zh) | 2020-04-13 | 2020-04-13 | 报文检测的方法以及第一网络设备 |
KR1020210046902A KR102621953B1 (ko) | 2020-04-13 | 2021-04-12 | 패킷 검출 방법 및 제1 네트워크 장치 |
US17/227,720 US20210320929A1 (en) | 2020-04-13 | 2021-04-12 | Packet Detection Method and First Network Device |
JP2021067658A JP7322088B2 (ja) | 2020-04-13 | 2021-04-13 | パケット検出方法および第1のネットワーク機器 |
EP21168097.0A EP3896924A1 (en) | 2020-04-13 | 2021-04-13 | Packet detection method and first network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287690.9A CN113542188B (zh) | 2020-04-13 | 2020-04-13 | 报文检测的方法以及第一网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542188A CN113542188A (zh) | 2021-10-22 |
CN113542188B true CN113542188B (zh) | 2023-04-18 |
Family
ID=75529732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010287690.9A Active CN113542188B (zh) | 2020-04-13 | 2020-04-13 | 报文检测的方法以及第一网络设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210320929A1 (zh) |
EP (1) | EP3896924A1 (zh) |
JP (1) | JP7322088B2 (zh) |
KR (1) | KR102621953B1 (zh) |
CN (1) | CN113542188B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11451468B2 (en) * | 2021-01-28 | 2022-09-20 | Cisco Technology, Inc. | Management framework for BIER in-band traffic accounting and path monitoring |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040966A (zh) * | 2012-11-09 | 2014-09-10 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
WO2016107444A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 位转发入口路由器、位转发路由器及操作管理维护检测方法 |
CN106341327A (zh) * | 2015-07-08 | 2017-01-18 | 中兴通讯股份有限公司 | 一种bier报文的传输方法及系统 |
CN109921987A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 一种bier-te网络检测方法、装置及系统 |
CN110391977A (zh) * | 2018-04-18 | 2019-10-29 | 中兴通讯股份有限公司 | 一种网络故障保护的方法、系统和存储介质 |
CN110768946A (zh) * | 2019-08-13 | 2020-02-07 | 中国电力科学研究院有限公司 | 一种基于布隆过滤器的工控网络入侵检测系统及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3731111B2 (ja) | 2001-02-23 | 2006-01-05 | 三菱電機株式会社 | 侵入検出装置およびシステムならびにルータ |
JP2007208575A (ja) | 2006-02-01 | 2007-08-16 | Alaxala Networks Corp | 不正トラフィック管理装置およびシステム |
US9571897B2 (en) * | 2013-09-17 | 2017-02-14 | Cisco Technology, Inc. | Bit indexed explicit replication for professional media networks |
US10341221B2 (en) * | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
CN106572023B (zh) * | 2015-10-12 | 2020-08-11 | 中兴通讯股份有限公司 | 一种实现比特位索引显示复制的方法及比特位转发路由器 |
US10142227B2 (en) * | 2016-01-28 | 2018-11-27 | Cisco Technology, Inc. | Bit indexed explicit replication for deterministic network data plane |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10225187B2 (en) * | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10587495B2 (en) * | 2018-03-21 | 2020-03-10 | Nokia Solutions And Networks Oy | Hierarchical bit indexed replication of multicast packets |
JP2020109916A (ja) * | 2019-01-07 | 2020-07-16 | 日本電信電話株式会社 | 通信装置、マルチキャスト転送システム、および、マルチキャスト転送方法 |
US11025689B1 (en) * | 2019-11-15 | 2021-06-01 | Nokia Solutions And Networks Oy | Multicast support |
CN113162855B (zh) | 2020-01-22 | 2022-12-27 | 华为技术有限公司 | 组播报文检测方法、网络设备和系统 |
-
2020
- 2020-04-13 CN CN202010287690.9A patent/CN113542188B/zh active Active
-
2021
- 2021-04-12 US US17/227,720 patent/US20210320929A1/en active Pending
- 2021-04-12 KR KR1020210046902A patent/KR102621953B1/ko active IP Right Grant
- 2021-04-13 EP EP21168097.0A patent/EP3896924A1/en active Pending
- 2021-04-13 JP JP2021067658A patent/JP7322088B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040966A (zh) * | 2012-11-09 | 2014-09-10 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
WO2016107444A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 位转发入口路由器、位转发路由器及操作管理维护检测方法 |
CN105812197A (zh) * | 2014-12-30 | 2016-07-27 | 华为技术有限公司 | 位转发入口路由器、位转发路由器及操作管理维护检测方法 |
CN106341327A (zh) * | 2015-07-08 | 2017-01-18 | 中兴通讯股份有限公司 | 一种bier报文的传输方法及系统 |
CN109921987A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 一种bier-te网络检测方法、装置及系统 |
CN110391977A (zh) * | 2018-04-18 | 2019-10-29 | 中兴通讯股份有限公司 | 一种网络故障保护的方法、系统和存储介质 |
CN110768946A (zh) * | 2019-08-13 | 2020-02-07 | 中国电力科学研究院有限公司 | 一种基于布隆过滤器的工控网络入侵检测系统及方法 |
Non-Patent Citations (5)
Title |
---|
"Multicast Using Bit Index Explicit Replication (BIER)";IJ WIJNANDS等;《INTERNET ENGINEERING TASK FORCE, IETF STANDARD, INTERNET SOCIETY (ISOC) 4》;20171120;第5.1节 * |
IJ WIJNANDS等."Encapsulation for Bit Index Explicit Replication(BIER) in MPLS and Non-MPLS Networks".《INTERNET ENGINEERING TASK FORCE, IETF * |
STANDARD, INTERNET SOCIETY (ISOC) 4》.2018, * |
STANDARDWORKINGDRAFT, INTERNET》.2019, * |
XIE等."Encapsulation for BIER in Non-MPLS IPv6 Networks".《INTERNET-DRAFT:NETWORK WORKING GROUP, INTERNET ENGINEERING TASK FORCE,IETF * |
Also Published As
Publication number | Publication date |
---|---|
KR20210127098A (ko) | 2021-10-21 |
JP7322088B2 (ja) | 2023-08-07 |
JP2021170772A (ja) | 2021-10-28 |
KR102621953B1 (ko) | 2024-01-05 |
EP3896924A1 (en) | 2021-10-20 |
US20210320929A1 (en) | 2021-10-14 |
CN113542188A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784411B (zh) | 建立bier转发表项的方法、装置和系统 | |
CN109218178B (zh) | 一种报文处理方法及网络设备 | |
WO2019105461A1 (zh) | 报文的发送、处理方法及装置、pe节点、节点 | |
CN109076018B (zh) | 利用is-is协议实现分段路由网络中网元的方法和设备 | |
CN1531284B (zh) | 网络基础结构的保护及控制信息的安全通信 | |
EP2224645B1 (en) | A method and equipment for transmitting a message based on the layer-2 tunnel protocol | |
CN112189323A (zh) | 使用安全分段标识符进行分段路由 | |
US7555774B2 (en) | Inline intrusion detection using a single physical port | |
EP2748981B1 (en) | Network environment separation | |
CN112470427A (zh) | 加密业务的安全业务可见性和分析法 | |
CN112385185B (zh) | 基于软件定义网络的业务功能链的实现 | |
CN113114576B (zh) | 报文发送的方法、设备和系统 | |
US11855888B2 (en) | Packet verification method, device, and system | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN113542188B (zh) | 报文检测的方法以及第一网络设备 | |
CN113746753A (zh) | BIERv6报文转发的方法、设备以及系统 | |
CN114690680A (zh) | 数据处理的方法、控制器以及第一网络设备 | |
CN113765809A (zh) | Bier组播流量的统计方法、设备以及系统 | |
WO2020052499A1 (zh) | 防仿冒攻击检查的方法、设备和系统 | |
WO2021254454A1 (zh) | Bier oam检测的方法、设备以及系统 | |
WO2021129023A1 (zh) | 报文发送的方法、设备和系统 | |
CN113596192A (zh) | 一种基于网闸组网的通信方法、装置、设备及介质 | |
JP7119170B2 (ja) | Bierv6パケット転送方法、デバイス、およびシステム | |
Gross et al. | RFC 8926: Geneve: Generic Network Virtualization Encapsulation | |
WO2023213216A1 (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 |