CN113541924A - 报文检测的方法、设备以及系统 - Google Patents

报文检测的方法、设备以及系统 Download PDF

Info

Publication number
CN113541924A
CN113541924A CN202010287068.8A CN202010287068A CN113541924A CN 113541924 A CN113541924 A CN 113541924A CN 202010287068 A CN202010287068 A CN 202010287068A CN 113541924 A CN113541924 A CN 113541924A
Authority
CN
China
Prior art keywords
bier
hmac
information
network device
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010287068.8A
Other languages
English (en)
Other versions
CN113541924B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010287068.8A priority Critical patent/CN113541924B/zh
Priority to PCT/CN2021/081471 priority patent/WO2021208664A1/zh
Priority to EP21789095.3A priority patent/EP4117242A4/en
Publication of CN113541924A publication Critical patent/CN113541924A/zh
Priority to US18/045,175 priority patent/US11855888B2/en
Application granted granted Critical
Publication of CN113541924B publication Critical patent/CN113541924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

本申请提供了一种报文检测的方法,该方法包括:第一网络设备接收BIER报文,所述BIER报文的报文头信息中包括第一密钥哈希信息认证码HMAC,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC,所述第一信息用于指示所述BIER报文的转发信息;确定所述第一HMAC和所述第二HMAC是否相同;当确定所述第一HMAC和所述第二HMAC不相同时,确定所述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报文的报文头信息中包括第一密钥哈希信息认证码HMAC,该第一HMAC用于验证该BIER报文是否为合法的BIER报文;该第一网络设备根据第一密钥以及该报文头信息中的第一信息确定第二HMAC,该第一信息用于指示该BIER报文的转发信息;该第一网络设备确定该第一HMAC和该第二HMAC是否相同;当该第一网络设备确定该第一HMAC和该第二HMAC不相同时,该第一网络设备确定该BIER报文为非法的BIER报文。
应理解,上述第一HMAC是头节点(例如图1所示的BFIR1或BFIR2)在封装BIER报文的报文头信息时,根据配置的第一密钥以及报文头信息中的第一信息确定的,并携带在转发给其他节点的BIER报文的报文头信息中。本申请对第一HMAC携带在报文头信息中的位置不做具体限定。
需要说明的是,本申请实施例中,头节点(例如图1所示的BFIR1或BFIR2)在计算上述第一HMAC时,参与计算的第一密钥可以是管理员手动配置的,或者也可以是网络管理设备统一下发配置的,本申请不做具体限定。
还需要说明的是,参与头节点计算第一HMAC的第一信息可以是报文头信息中指导BIER报文进行转发的字段,该指导BIER报文进行转发的字段在BIER报文转发的过程中是不需要改变的。
第一网络设备在接收到BIER报文之后,可以根据其本地配置的第一密钥以及BIER报文的报文头信息中的第一信息确定第二HMAC。应理解,第一网络设备和头节点类似,其在计算第二HMAC时使用的第一密钥可以是管理员手动配置的,或者也可以是网络管理设备统一下发配置的,或者还可以是头节点下发给第一网络设备的,本申请不做具体限定。
第一网络设备在计算第二HMAC时使用的第一信息应该和头节点在计算第一HMAC时使用的第一信息相同。具体的实现方式可以有多种,本申请不做具体限定。例如,头节点和第一网络设备可以根据网络协议配置使用相同的第一信息。具体的,网络协议统一规定参与HMAC计算的第一信息,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。又如,头节点也可以将参与其计算第一HMAC的第一信息下发给第一网络设备,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。又如,头节点还可以在BIER报文的报文头信息中携带指示信息,该指示信息可以指示头节点其计算第一HMAC时使用的第一信息,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
本申请实施例中,由于参与头节点计算第一HMAC的第一信息可以是报文头信息中指导BIER报文进行转发的字段,该指导BIER报文进行转发的字段在BIER报文转发的过程中是不需要改变的。因此,BIER域中的其他转发设备(例如,第一网络设备)在接收到BIER报文后,可以根据与头节点计算第一HMAC时使用的相同的第一密钥和第一信息计算第二HMAC,并比较第二HMAC和第一HMAC是否相同。
如果第一网络设备计算的第二HMAC和BIER报文的报文头信息中携带的第一HMAC相同时,可以理解为该BIER报文是合法的报文。例如,报文头信息中的第一信息在BIER报文转发过程中没有被恶意篡改。
如果第一网络设备计算的第二HMAC和BIER报文的报文头信息中携带的第一HMAC不相同时,可以理解为该BIER报文是非法的报文。例如,报文头信息中的第一信息在BIER报文转发过程中被恶意篡改。
上述技术方案中,第一网络设备在接收到BIER报文后,可以根据配置的密钥以及报文头信息中的第一信息确定第二HMAC,并比较BIER报文中携带的第一HMAC和该第二HMAC是否相同。如果第一HMAC和该第二HMAC相同,说明BIER报文未被非法修改,该BIER报文可以被认为是合法的报文,否则,则BIER报文可以被认为是非法的报文。这样,可检测到BIER报文是否为非法报文,或可提高检测BIER报文是否为非法报文的概率。一方面,能够增强BIER报文转发过程中的安全性。另一方面,还可以避免BIER域中的头节点在封装BIER报文的报文头信息时出现错误或失误,提高BIER报文封装的准确性。
进一步的,上述技术方案通过识别非法的BIER报文,还可以锁定出非法的设备,或者可以确定转发和处理BIER报文的网络设备是否存在故障。
在一种可能的实现方式中,该方法还包括:当该第一网络设备确定该第一HMAC和该第二HMAC相同时,该第一网络设备确定该BIER报文为合法的BIER报文;该第一网络设备转发该BIER报文。
在另一种可能的实现方式中,该第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
在另一种可能的实现方式中,该第一信息包括位索引转发表标识BIFT-ID。
在另一种可能的实现方式中,该第一网络设备根据该BIFT-ID确定该BIER报文对应的SD、BSL和SI;该第一网络设备根据该第一密钥以及以下中的至少一种:该SD、该BSL和该SI,确定该第二HMAC。
在另一种可能的实现方式中,该第一信息还包括BIER转发入口路由器的标识BFIR-ID。
在另一种可能的实现方式中,该BIER报文的报文头信息包括互联网协议第六版IPv6头,该第一信息还包括源IPv6地址字段。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC标记字段,该HMAC标记字段中的标记位指示参与计算该第二HMAC的该第一信息。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括该第一密钥的标识ID。
上述技术方案中,可以允许第一网络设备中保存有多个密钥,并使用密钥的标识来区分,HMAC的计算则使用其中的一个密钥。这样,在一个密钥使用时间较长的情况下,为了提高检测BIER报文是否为非法报文的概率,可以更换密钥,使用多个密钥的其他密钥。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC密钥字段,该HMAC密钥字段中包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括算法的标识ID,该算法是指示该第一网络设备确定该第二HMAC的算法。
第二方面,提供了一种报文检测的方法,包括:第二网络设备接收组播数据报文;该第二网络设备对该组播数据报文进行封装,得到位索引显式复制BIER报文,其中,该BIER报文中携带有第一密钥哈希消息认证码HMAC,该第一HMAC是该第二网络设备根据第一密钥以及该BIER报文的报文头信息中的第一信息确定的,该第一信息用于指示该BIER报文的转发信息,该第一HMAC用于验证该BIER报文是否为合法的BIER报文;该第二网络设备对该BIER报文进行转发。
在一种可能的实现方式中,该第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
在另一种可能的实现方式中,该第一信息包括位索引转发表的标识BIFT-ID。
在另一种可能的实现方式中,该第二网络设备根据该BIFT-ID确定该BIER报文对应的SD、BSL和SI;该第二网络设备根据该第一密钥以及以下中的至少一种:该SD、该BSL和该SI,确定该第一HMAC。
在另一种可能的实现方式中,该第一信息还包括BIER转发入口路由器的标识BFIRID。
在另一种可能的实现方式中,该BIER报文的报文头信息包括互联网协议第六版IPv6头,该第一信息还包括源IPv6地址字段。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC标记字段,该HMAC标记字段中的标记位指示参与计算该第二HMAC的该第一信息。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC密钥字段,该HMAC密钥字段中包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括算法ID,该算法是指示该第二网络设备确定该第一HMAC的算法。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种第一网络设备,包括:
接收模块,用于接收位索引显式复制BIER报文,该BIER报文的报文头信息中包括第一密钥哈希信息认证码HMAC,该第一HMAC用于验证该BIER报文是否为合法的BIER报文;
确定模块,用于根据第一密钥以及该报文头信息中的第一信息确定第二HMAC,该第一信息用于指示该BIER报文的转发信息;
该确定模块,还用于确定该第一HMAC和该第二HMAC是否相同;
该确定模块,还用于当确定该第一HMAC和该第二HMAC不相同时,确定该BIER报文为非法的BIER报文。
在一种可能的实现方式中,该确定模块,还用于:当确定该第一HMAC和该第二HMAC相同时,确定该BIER报文为合法的BIER报文;
还包括:转发模块,用于转发该BIER报文。
在另一种可能的实现方式中,该第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
在另一种可能的实现方式中,该第一信息包括位索引转发表标识BIFT-ID。
在另一种可能的实现方式中,该确定模块具体用于:根据该BIFT-ID确定该BIER报文对应的SD、BSL和SI;该第一网络设备根据该第一密钥以及以下中的至少一种:该SD、该BSL和该SI,确定该第二HMAC。
在另一种可能的实现方式中,该第一信息还包括BIER转发入口路由器的标识BFIR-ID。
在另一种可能的实现方式中,该BIER报文的报文头信息包括互联网协议第六版IPv6头,该第一信息还包括源IPv6地址字段。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC标记字段,该HMAC标记字段中的标记位指示指示参与计算该第二HMAC的该第一信息。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC密钥字段,该HMAC密钥字段中包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括算法的标识ID,该算法是指示该第一网络设备确定该第二HMAC的算法。
第四方面,提供了一种第二网络设备,包括:
接收模块,用于接收组播数据报文;
封装模块,用于对该组播数据报文进行封装,得到位索引显式复制BIER报文,其中,该BIER报文中携带有第一密钥哈希消息认证码HMAC,该第一HMAC是该第二网络设备根据第一密钥以及该BIER报文的报文头信息中的第一信息确定的,该第一信息用于指示该BIER报文的转发信息,该第一HMAC用于验证该BIER报文是否为合法的BIER报文;
转发模块,用于对该BIER报文进行转发。
在另一种可能的实现方式中,该第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
在另一种可能的实现方式中,该第一信息包括位索引转发表的标识BIFT-ID。
在另一种可能的实现方式中,该封装模块具体用于:根据该BIFT-ID确定该BIER报文对应的SD、BSL和SI;根据该第一密钥以及以下中的至少一种:该SD、该BSL和该SI,确定该第一HMAC。
在另一种可能的实现方式中,该第一信息还包括BIER转发入口路由器的标识BFIRID。
在另一种可能的实现方式中,该BIER报文的报文头信息包括互联网协议第六版IPv6头,该第一信息还包括源IPv6地址字段。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC标记字段,该HMAC标记字段中的标记位指示参与计算该第二HMAC的该第一信息。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括HMAC密钥字段,该HMAC密钥字段中包括该第一密钥的标识ID。
在另一种可能的实现方式中,该BIER报文的报文头信息中还包括算法ID,该算法是指示该第二网络设备确定该第一HMAC的算法。
第五方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。所述接口用于支持第一网络设备接收BIER报文,或者用于支持转发所述BIER报文。所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第七方面,提供一种第一网络设备,所述第一网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第六方面中的接口板的功能,进一步,还可以执行第六方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第六方面中主控板的功能。
可以理解的是,在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
第八方面,提供了一种第二网络设备,该第二网络设备具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第二网络设备的结构中包括处理器和接口,所述处理器被配置为支持第二网络设备执行上述方法中相应的功能。所述接口用于支持第二网络设备接收组播数据报文,或者用于支持第二网络设备对所述BIER报文进行转发。所述第二网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第二网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第二网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第二网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备进入正常运行状态。在第二网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,提供一种第二网络设备,所述第二网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第二网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述第二网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第十方面,提供一种第二网络设备,所述第二网络设备包括控制器和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第九方面中的接口板的功能,进一步,还可以执行第九方面中交换网板的功能。所述控制器包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第九方面中主控板的功能。
可以理解的是,在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
第十一方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第十二方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。
第十三方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十四方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(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)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第十六方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第二方面或第二方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(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)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第十七方面,提供了一种系统,该系统包括上述第一网络设备和第二网络设备。
附图说明
图1是本申请实施例提供的一种BIER技术的示意性组网图。
图2是本申请实施例提供的一种可能的BIER头格式的示意图。
图3是另一种可能的BIER头格式的示意性框图。
图4是一种基于BIER技术建立BIER转发表以及进行BIER报文转发的过程。
图5是本申请实施例提供的一种可能的BIERv6封装的报文格式示意图。
图6是本申请实施例提供的一种报文检测的方法的示意性流程图。
图7是本申请实施例提供的一种可能的BIER报文的示意图。
图8是本申请实施例提供的另一种可能的BIER报文的示意图。
图9是本申请实施例提供的另一种可能的BIER报文的示意图。
图10是本申请实施例提供的一种第一网络设备1000的示意性结构图。
图11是本申请实施例提供的一种第二网络设备1100的示意性结构图。
图12是本申请实施例的第一网络设备2000的硬件结构示意图。
图13是本申请实施例的另一种第一网络设备2100的硬件结构示意图。
图14是本申请实施例的第一网络设备2200的硬件结构示意图。
图15是本申请实施例的另一种第一网络设备2400的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(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组成一个比特串(bit string)。
本申请实施例中,需要原始组播数据报文在BIER域中传输时需要额外封装一个特定的BIER头。BIER头中通过bit string标注了该原始组播数据报文的所有目的节点。BIER域中的BFR可以根据位索引转发表(bit index forwarding table,BIFT)以及BIER头中携带的bit string进行转发,保证原始组播数据报文能够发送到所有的目的地址。
需要说明的是,本申请中的原始组播数据报文的目的节点可以是多个BFER的集合。为了便于描述,下面将原始组播数据报文需要发送至的多个BFER的集合称为目的节点。
应理解,BIER头后面的原始组播数据报文可以是互联网协议第6版(internetprotocol version 6,IPv6)组播报文,或者还可以是互联网协议第4版(internetprotocol version 4,IPv4)组播报文,本申请不做具体限定。
BIER封装的类型可以有多种,本申请不做具体限定。作为一个示例,可以通过多协议标签交换(multi-protocol label switching,MPLS)对BIER报文进行的封装,这种封装可以称为BIER-MPLS封装。作为另一个示例,可以基于互联网协议第6版(internetprotocolversion 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)、比特串长度(bit string 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)/比特串长度(bitstring length,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、比特串长度(bit string length,BSL)
BSL为BIER头中包括的bit string的长度。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 identifier,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)比特串(bit string)字段
bit string中的每个bit用来标识边缘BFR,例如bit string的低位(最右)的一个bit用来标识BFR-ID=1的BFER。bit string中从右往左第2个Bit用来标识BFR-ID=2的BFER。转发面转发所依据的转发表项则是根据报文中的bit string决定该报文要往哪几个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)bit string
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头中封装的bit string标注了该流量的所有目的节点。例如,对于BFR-ID为1的节点D对应的bit string为0001,BFR-ID为2的节点F对应的bit string为0010,BFR-ID为3的节点E对应的bit string为0100,BFR-ID为4的节点A对应的bit string为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报文的bit string从右往左第1个bit位、第2个bit位、第3个bit位任意一个为1时,该BIER报文会往节点A的邻居(节点B)发送,Nbr=B表示节点A的邻居为节点B。
转发表项2用于表示当有BIER报文的bit string从右往左第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头的bit string为0111,并根据上述转发表项1将封装之后的BIER报文转发到邻居节点B。节点B收到该BIER报文后,根据bit string为0111以及BIFT表项确定需要将该BIER报文分别发送至节点C和节点E。节点B将该BIER报文往节点C发送时,可以将BIER头的bit string(0111)以及BIFT表项里Nbr=C对应的FBM字段做AND操作,本申请实施例中AND的结果是0011,因此,节点B可以将BIER头的bit string修改为0011,并发送至节点C。同样地,节点B将该BIER报文往节点E发送时,可以将BIER头的bit string修改为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,RH)。
图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头中包含bit string字段即可。BIER头格式可以是如图2所示的格式,或如图3所示的格式,或其他格式。如在BIERv6封装下,BIER头可以进一步删除Proto字段、DSCP字段等,只要BIER头部包含有用于位索引显式复制的位串(bit string)即可。具体的有关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报文头携带表示目的节点集合的bit string。
节点A根据BIER报文头及其bit string信息,将封装后的BIERv6报文发送给B,发送时IPv6头中的目的地址字段中可以使用B的单播地址(例如,B::100)。节点B根据BIER报文头及其bit string信息,将报文发送给C和E,发送时IPv6头中的目的地址字段中可以使用C的单播地址(例如,C::100)以及E的单播地址(例如,E::100)。同样的,节点C根据BIER报文头及其bit string信息,将报文发送给D和F,发送时IPv6头中的目的地址字段中可以使用D的单播地址(例如,D::100)以及F的单播地址(例如,D::100)。
随着对网络安全的重视,非法报文的检测显得尤为重要。一种可能的情况中,上述BIER报文在转发的过程中,容易受到攻击者的攻击,使得该BIER报文成为非法的BIER报文。以图1所示的网络架构为例,作为一个示例,攻击者可以攻击BFIR1和BFR之间的链路,将这个链路连接在攻击者的设备上实施攻击。例如,攻击者对收到的BFIR1发送的BIER报文后,对BIER报文的报文头信息中的转发信息进行篡改,之后再将篡改后的BIER报文发送给BFR。这样,可能会导致组播流量在BIER域内大量复制,发送给了不需要接收该组播流量的设备,造成链路带宽浪费,甚至会导致链路上的拒绝服务(denial of service,DoS)。
应理解,上述转发信息可以是在BIER报文在转发的过程中,BIER报文的报文头信息中指导BIER报文转发至接收者的信息。该转发信息可以包括以下中的至少一种:子域SD、比特串长度BSL、集合标识SI、位索引转发表的标识BIFT-ID。可选地,该转发信息还可以包括报文头信息中的BIER转发入口路由器的标识BFIR ID字段。可选地,该转发信息还可以包括源IPv6地址字段。具体的,该转发信息和封装在BIER报文外层的报文头信息的格式相关,下面会结合具体的例子进行详细描述,此处暂不详述。
本申请实施例提供的一种报文检测的方法,可以检测出非法的BIER报文,增强BIER报文转发过程中的安全性或BIER报文封装的准确性。
图6是本申请实施例提供的一种报文检测的方法的示意性流程图。参见图6,该方法可以包括步骤610-640,下面分别对步骤610-640进行详细描述。
步骤610:第一网络设备接收BIER报文,该BIER报文的报文头信息中包括第一密钥哈希信息认证码(hash-based message authentication code,HMAC)。
本申请实施例中,第一网络设备可以对应于图1中的BFR或BFER,该第一网络设备可以接收到BIER报文。该BIER报文外层封装的报文头信息可以有多种格式,本申请对此不做具体限定。例如,BIER报文的报文头信息可以是如图2所示的BIER头格式,又如,BIER报文的报文头信息还可以是如图3所示的BIER头格式,又如,BIER报文的报文头信息还可以是如图5所示的BIERv6头格式。
BIER报文的报文头信息中会携带第一HMAC,该第一HMAC用于该第一网络设备验证所述BIER报文是否为合法的BIER报文。应理解,上述第一HMAC是头节点(例如图1所示的BFIR1或BFIR2)在封装BIER报文的报文头信息时,根据配置的第一密钥以及报文头信息中的第一信息确定的,并携带在转发给其他节点的BIER报文的报文头信息中。本申请实施例对第一HMAC携带在报文头信息中的位置不做具体限定,下面会结合具体的例子进行说明,此处暂不详述。
应理解,HMAC算法是一种基于哈希函数和密钥进行消息认证的方法,是一种加密算法。它引入了密钥,由于使用的密钥是双方事先约定的,第三方不可能知道,所以无法仿造出一致的HMAC结果,安全性较高。
需要说明的是,本申请实施例中,头节点(例如图1所示的BFIR1或BFIR2)在计算上述第一HMAC时,参与计算的第一密钥可以是管理员手动配置的,或者也可以是网络管理设备统一下发配置的,本申请不做具体限定。
还需要说明的是,参与头节点计算第一HMAC的第一信息可以是报文头信息中指导BIER报文进行转发的字段,该指导BIER报文进行转发的字段在BIER报文转发的过程中是不需要改变的。
例如,以报文头信息为图2所示的BIER头为例,该第一信息可以是BIFT ID字段的取值。可选地,由于在图2所示的BIER头格式中不直接包含SD/BSL/SI字段,SD/BSL/SI为三个隐式字段,因此,还需要根据BIFT ID字段映射出SD/BSL/SI取值。
又如,以报文头信息为图3所示的BIER头为例,该第一信息可以是SD/BSL/SI中的任意一个或多个。
又如,以报文头信息为图5所示的BIERv6头为例,如果BIERv6头的IPv6扩展头中包含的BIER头为图2所示的格式,该第一信息可以是BIFT ID字段的取值。如果BIERv6头的IPv6扩展头中包含的BIER头为图3所示的格式,该第一信息可以是SD/BSL/SI中的任意一个或多个。
可选地,在一些实施例中,参与HMAC计算的第一信息还可以进一步包括BIER头格式中的BFIR ID字段的取值。
可选地,在一些实施例中,如果报文头信息为图5所示的BIERv6头为例,参与HMAC计算的第一信息还可以进一步包括源IPv6字段的取值。
步骤620:第一网络设备根据第一密钥以及BIER报文的报文头信息中的第一信息确定第二HMAC。
第一网络设备在接收到BIER报文之后,可以根据其本地配置的第一密钥以及BIER报文的报文头信息中的第一信息确定第二HMAC。应理解,第一网络设备和头节点类似,其在计算第二HMAC时使用的第一密钥可以是管理员手动配置的,或者也可以是网络管理设备统一下发配置的,或者还可以是头节点下发给第一网络设备的,本申请不做具体限定。
第一网络设备在计算第二HMAC时使用的第一信息应该和头节点在计算第一HMAC时使用的第一信息相同。具体的实现方式可以有多种,本申请不做具体限定。
一种可能的实现方式中,头节点和第一网络设备可以根据网络协议配置使用相同的第一信息。例如,网络协议统一规定参与HMAC计算的第一信息,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
另一种可能的实现方式中,头节点也可以将参与其计算第一HMAC的第一信息下发给第一网络设备,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
另一种可能的实现方式中,头节点还可以在BIER报文的报文头信息中携带指示信息,该指示信息可以指示头节点其计算第一HMAC时使用的第一信息,这样,可以实现第一网络设备在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
具体的,BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示参与计算所述第二HMAC的第一信息。
应理解,HMAC标记字段可以包括多个标记位,该多个标记位可以代表第一信息(BIER报文的报文头信息中的某一个或多个字段)。其中,每个标记位可以代表某一个字段,如果该标记位置位,可以理解为参与HMAC计算时会用到该标记位对应的字段的取值。
可选地,该指示信息还可以指示头节点计算第一HMAC时,除了使用网络协议统一规定的第一信息之外,还包括其他可选的报文头信息中的字段。这样,第一网络设备在计算第二HMAC时,可以根据该指示信息实现其在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
有关第一信息的描述请参见步骤610中的说明,此处暂不赘述。
步骤630:第一网络设备确定第一HMAC和第二HMAC是否相同。
本申请实施例中,由于参与头节点计算第一HMAC的第一信息可以是报文头信息中指导BIER报文进行转发的字段,该指导BIER报文进行转发的字段在BIER报文转发的过程中是不需要改变的。因此,BIER域中的其他转发设备(例如,第一网络设备)在接收到BIER报文后,可以根据与头节点计算第一HMAC时使用的相同的第一密钥和第一信息计算第二HMAC,并比较第二HMAC和第一HMAC是否相同。
如果第一网络设备计算的第二HMAC和BIER报文的报文头信息中携带的第一HMAC相同时,可以理解为该BIER报文是合法的报文。例如,报文头信息中的第一信息在BIER报文转发过程中没有被恶意篡改。
如果第一网络设备计算的第二HMAC和BIER报文的报文头信息中携带的第一HMAC不相同时,可以理解为该BIER报文是非法的报文。例如,报文头信息中的第一信息在BIER报文转发过程中被恶意篡改。
步骤640:当第一网络设备确定第一HMAC和第二HMAC不相同时,第一网络设备确定BIER报文为非法的BIER报文。
本申请实施例中,当第一网络设备确定第一HMAC和第二HMAC不相同时,第一网络设备确定BIER报文为非法的BIER报文。
可选地,在一些实施例中,当第一网络设备确定BIER报文为非法的BIER报文后,还可以对该为非法的BIER报文进行处理,例如,记录日志信息或发出告警,这样,以便于管理人员发现转发的BIER报文是非法的报文,从而增强BIER报文转发过程中的安全性或BIER报文封装的准确性。
上述技术方案中,第一网络设备在接收到BIER报文后,可以根据配置的密钥以及报文头信息中的第一信息确定第二HMAC,并比较BIER报文中携带的第一HMAC和该第二HMAC是否相同。如果第一HMAC和该第二HMAC相同,说明BIER报文未被非法修改,该BIER报文可以被认为是合法的报文,否则,则BIER报文可以被认为是非法的报文。这样,可检测到BIER报文文是否为非法报文,或可提高检测BIER报文是否为非法报文的概率。一方面,能够增强BIER报文转发过程中的安全性。另一方面,还可以避免BIER域中的头节点在封装BIER报文的报文头信息时出现错误或失误,提高BIER报文封装的准确性。
进一步的,本申请实施例提供的方案中,通过识别非法的BIER报文,还可以锁定出非法的设备,或者可以确定转发和处理BIER报文的网络设备是否存在故障。
下面结合图7-图9,对BIER报文的报文头信息中携带第一HMAC的具体实现方式进行描述。应理解,图7-图9的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据所给出的图7-图9的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图7是本申请实施例提供的一种可能的BIER报文的示意图。
如图7所示,该BIER报文是基于BIERv6进行封装的。该BIER报文包括外层的报文头信息以及内层的原始组播数据报文,其中,报文头信息可以包括外层IPv6头和IPv6扩展头,IPv6扩展头中包括BIER头以及HMAC字段。
HMAC字段中可以包括头节点计算的第一HMAC,该第一HMAC用于BIER域中的其他设备验证所述BIER报文是否为合法的BIER报文。
应理解,BIER头格式只要包含比特串(bit string)字段即可,可以是如图2所示的格式,或如图3所示的格式,或其他格式,本申请对此不做具体限定。
可选地,图7所示的BIER报文的报文头信息中还包括HMAC标记(HMAC Flags)字段,所述HMAC标记字段中的标记位指示头节点计算所述第一HMAC所使用的第一信息,或用于指示头节点计算所述第一HMAC除了使用网络协议统一规定的第一信息之外,还包括其他可选的报文头信息中的字段。这样,第一网络设备在计算第二HMAC时,可以根据该指示信息实现其在计算第二HMAC时使用的第一信息和头节点在计算第一HMAC时使用的第一信息相同。
具体的,作为示例,本申请实施例中,参与计算第一HMAC的第一信息包括BIFT-ID、TC、Entropy、DSCP、proto、BFIR-ID字段。一种可能的实现方式中,HMAC标记(HMAC Flags)字段中的标记位指示参与HMAC计算的第一信息包括BIFT-ID、TC、Entropy、DSCP、proto、BFIR-ID字段。这样,第一网络设备在计算第二HMAC时,可以根据该指示信息,根据第一密钥以及BIFT-ID、TC、Entropy、DSCP、proto、BFIR-ID字段的取值确定第二HMAC,并通过比较第二HMAC和第一HMAC是否相同确定BIER报文是否为合法的报文。另一种可能的实现方式中,网络协议统一规定参与HMAC计算的第一信息包括BIFT-ID字段,该HMAC标记(HMAC Flags)字段中的标记位指示参与HMAC的计算还包括TC、Entropy、DSCP、proto、BFIR-ID字段,这样,第一网络设备在计算第二HMAC时,可以根据该指示信息,根据第一密钥以及BIFT-ID、TC、Entropy、DSCP、proto、BFIR-ID字段的取值确定第二HMAC,并通过比较第二HMAC和第一HMAC是否相同确定BIER报文是否为合法的报文。
可选地,在一些实施例中,图7所示的BIER报文的报文头信息中还可以包括密钥ID,例如,包括头节点计算报文中携带的第一HMAC时使用的第一密钥的ID。这样,第一网络设备在收到BIER报文,并根据报文头信息中的第一信息计算第二HMAC时,可以确定使用的密钥。
需要说明的是,计算第二HMAC时使用的密钥,可以是头节点下发给第一网络设备的,或者还可以是网络管理设备统一下发配置的,或者还可以是管理员手动配置的,只要头节点计算HMAC时使用的密钥和BIER中的转发节点(例如,第一网络设备)使用的密钥相同即可。
具体的,作为一种示例。如图7所示,该BIER报文的报文头信息中还可以包括HMAC密钥标识(HMAC key ID)字段,该HMAC key ID字段中包括上述密钥ID。
可选地,在一些实施例中,图7所示的BIER报文的报文头信息中还可以包括算法ID,该算法是指示所述第一网络设备确定第二HMAC的算法。
本申请实施例中,算法ID可以位于HMAC密钥标识(HMAC key ID)字段中,或者也可以位于其他字段,例如,图7的预留(reserved)字段中。
应理解,图7所示的HMAC Flags字段、reserved字段、HMAC key ID字段、HMAC字段也可以称为HMAC头。
图8是本申请实施例提供的另一种可能的BIER报文的示意图。
如图8所示,该BIER报文是基于BIERv6进行封装的。该BIER报文包括外层的报文头信息以及内层的原始组播数据报文,其中,报文头信息可以包括外层IPv6头和IPv6扩展头,IPv6扩展头中包括BIER头以及HMAC字段。
HMAC字段中可以包括头节点计算的第一HMAC,该第一HMAC用于BIER域中的其他设备验证所述BIER报文是否为合法的BIER报文。
应理解,BIER头格式只要包含比特串(bit string)字段即可,可以是如图2所示的格式,或如图3所示的格式,或其他格式,本申请对此不做具体限定。
还应理解,IPv6扩展头中的HMAC Flags字段、reserved字段、HMAC key ID字段是可选的。
如图8所示,HMAC头被定义为一种类型、长度和值(type length value,TLV)格式,其中,HMAC Flags字段、reserved字段、HMAC key ID字段、HMAC字段作为Option TLV中的Option data,由Option TLV中的Option type标识其格式,由Option TLV中的Optionlength标识其长度。由于TLV是一个自带分界信息的结构体,可以方便的和其他结构体结合使用。在本申请实施例中,是BIER头的TLV携带HMAC-TLV,在某些场合单独使用这个HMAC的TLV,或者其他的头部也可以复用这个HMAC的TLV头部格式。这样,可以使得HMAC机制的使用更加灵活
图9是本申请实施例提供的另一种可能的BIER报文的示意图。如图9所示,该BIER报文包括外层的BIER头和HMAC头。
BIER头格式只要包含比特串(bit string)字段即可,可以是如图2所示的格式,或如图3所示的格式,或其他格式,本申请对此不做具体限定。
HMAC头中可以包括HMAC字段。可选地,还可以包括以下字段中的一种或多种:HMACFlags字段、reserved字段、HMAC key ID字段。具体的有关上述各个字段的描述,请参见图7中的说明,此处不再赘述。
在图9所示的BIER报文中,BIER头的Proto字段用一个特定的值表示BIER头后面跟着一个HMAC头部,HMAC头部再使用Proto字段标识HMAC头部后面的原始组播数据报文的格式。
上文结合图1至图9,详细描述了本申请实施例提供的一种报文检测的方法,下面将结合图10至图15,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图10是本申请实施例提供的一种第一网络设备1000的示意性结构图。图10所示的该第一网络设备1000可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图10所示,所述第一网络设备1000包括:接收模块1010、确定模块1020,
接收模块1010,用于接收位索引显式复制BIER报文,所述BIER报文的报文头信息中包括第一密钥哈希信息认证码HMAC,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
确定模块1020,用于根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC,所述第一信息用于指示所述BIER报文的转发信息;
所述确定模块1020,还用于确定所述第一HMAC和所述第二HMAC是否相同;
所述确定模块1020,还用于当确定所述第一HMAC和所述第二HMAC不相同时,确定所述BIER报文为非法的BIER报文。
可选地,所述确定模块1020,还用于:当确定所述第一HMAC和所述第二HMAC相同时,确定所述BIER报文为合法的BIER报文;
第一网络设备1000还包括:转发模块1030,用于转发所述BIER报文。
可选地,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
可选地,所述第一信息包括位索引转发表标识BIFT-ID。
可选地,所述确定模块1020具体用于:根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;所述第一网络设备根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第二HMAC。
可选地,所述第一信息还包括BIER转发入口路由器的标识BFIR-ID。
可选地,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
可选地,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示指示参与计算所述第二HMAC的所述第一信息。
可选地,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
可选地,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
可选地,所述BIER报文的报文头信息中还包括算法的标识ID,所述算法是指示所述第一网络设备确定所述第二HMAC的算法。
图11是本申请实施例提供的一种第二网络设备1100的示意性结构图。图11所示的该第二网络设备1100可以执行上述实施例的方法中第二网络设备执行的相应步骤。如图11所示,所述第二网络设备1100包括:接收模块1110、封装模块1120,转发模块1130,
接收模块1110,用于接收组播数据报文;
封装模块1120,用于对所述组播数据报文进行封装,得到位索引显式复制BIER报文,其中,所述BIER报文中携带有第一密钥哈希消息认证码HMAC,所述第一HMAC是所述第二网络设备根据第一密钥以及所述BIER报文的报文头信息中的第一信息确定的,所述第一信息用于指示所述BIER报文的转发信息,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
转发模块1130,用于对所述BIER报文进行转发。
可选地,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
可选地,所述第一信息包括位索引转发表的标识BIFT-ID。
可选地,所述封装模块1120具体用于:根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第一HMAC。
可选地,所述第一信息还包括BIER转发入口路由器的标识BFIR ID。
可选地,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
可选地,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示参与计算所述第二HMAC的所述第一信息。
可选地,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
可选地中,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
可选地,所述BIER报文的报文头信息中还包括算法ID,所述算法是指示所述第二网络设备确定所述第一HMAC的算法。
图12是本申请实施例的第一网络设备2000的硬件结构示意图。图12所示第一网络设备2000可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图12所示,所述第一网络设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一网络设备实现上述收发。例如,所述接口2003用于接收位索引显式复制BIER报文。
所述处理器2001用于执行上述实施例中由第一网络设备进行的处理。例如,用于根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC;还用于确定所述第一HMAC和所述第二HMAC是否相同;还用于当确定所述第一HMAC和所述第二HMAC不相同时,确定所述BIER报文为非法的BIER报文;和/或用于本文所描述的技术的其他过程。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(randomaccess memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/outputsystem,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2000进入正常运行状态。在第一网络设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备2000的处理过程。
可以理解的是,图12仅仅示出了第一网络设备2000的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图13为本申请实施例的另一种第一网络设备2100的硬件结构示意图。图13所示的第一网络设备2100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图13所述,第一网络设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项,例如,上文中的BIFT。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。应理解,本实施例的第一网络设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图14是本申请实施例的第二网络设备2200的硬件结构示意图。图14所示第二网络设备2200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图14所示,所述第二网络设备2200包括处理器2201、存储器2202、接口2203和总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2201、存储器2202和接口2203通过总线2204连接。
所述接口2203具体可以包括发送器和接收器,用于第二网络设备实现上述收发。例如,该接口用于支持接收组播数据报文。又例如,该接口2203用于支持对所述BIER报文进行转发。
所述处理器2201用于执行上述实施例中由第二网络设备进行的处理。例如,用于对所述组播数据报文进行封装,得到位索引显式复制BIER报文;和/或用于本文所描述的技术的其他过程。存储器2202包括操作系统22021和应用程序22022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选的,所述存储器2202可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第二网络设备2200时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备2200进入正常运行状态。在第二网络设备2200进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第二网络设备2200的处理过程。
可以理解的是,图14仅仅示出了第二网络设备2200的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
图15为本申请实施例的另一种第二网络设备2400的硬件结构示意图。图15所示的第二网络设备2400可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图15所述,第二网络设备2400包括:主控板2410、接口板2430、交换网板2420和接口板2440。主控板2410、接口板2430和2440,以及交换网板2420之间通过系统总线与系统背板相连实现互通。其中,主控板2410用于完成系统管理、设备维护、协议处理等功能。交换网板2420用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2430和2440用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2430可以包括中央处理器2431、转发表项存储器2434、物理接口卡2433和网络处理器2432。其中,中央处理器2431用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2434用于保存表项,例如,上文中的BIFT。物理接口卡2433用于完成流量的接收和发送。
应理解,本申请实施例中接口板2440上的操作与所述接口板2430的操作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备2400可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-onlymemory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-onlymemory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,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)的形式实现。
本申请实施例还提供了另一种芯片系统,应用于第二网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第二网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(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 (45)

1.一种报文检测的方法,其特征在于,所述方法包括:
第一网络设备接收位索引显式复制BIER报文,所述BIER报文的报文头信息中包括第一密钥哈希信息认证码HMAC,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
所述第一网络设备根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC,所述第一信息用于指示所述BIER报文的转发信息;
所述第一网络设备确定所述第一HMAC和所述第二HMAC是否相同;
当所述第一网络设备确定所述第一HMAC和所述第二HMAC不相同时,所述第一网络设备确定所述BIER报文为非法的BIER报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一网络设备确定所述第一HMAC和所述第二HMAC相同时,所述第一网络设备确定所述BIER报文为合法的BIER报文;
所述第一网络设备转发所述BIER报文。
3.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
4.根据权利要求1或2所述的方法,其特征在于,所述第一信息包括位索引转发表标识BIFT-ID。
5.根据权利要求4所述的方法,其特征在于,所述第一网络设备根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC,具体包括:
所述第一网络设备根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;
所述第一网络设备根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第二HMAC。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述第一信息还包括BIER转发入口路由器的标识BFIR-ID。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示参与计算所述第二HMAC的所述第一信息。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
10.根据权利要求9所述的方法,其特征在于,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括算法的标识ID,所述算法是指示所述第一网络设备确定所述第二HMAC的算法。
12.一种报文检测的方法,其特征在于,所述方法包括:
第二网络设备接收组播数据报文;
所述第二网络设备对所述组播数据报文进行封装,得到位索引显式复制BIER报文,其中,所述BIER报文中携带有第一密钥哈希消息认证码HMAC,所述第一HMAC是所述第二网络设备根据第一密钥以及所述BIER报文的报文头信息中的第一信息确定的,所述第一信息用于指示所述BIER报文的转发信息,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
所述第二网络设备对所述BIER报文进行转发。
13.根据权利要求12所述的方法,其特征在于,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
14.根据权利要求12所述的方法,其特征在于,所述第一信息包括位索引转发表的标识BIFT-ID。
15.根据权利要求14所述的方法,其特征在于,所述第一HMAC是所述第二网络设备根据第一密钥以及所述BIER报文的报文头信息中的第一信息确定的,具体包括:
所述第二网络设备根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;
所述第二网络设备根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第一HMAC。
16.根据权利要求13至15中任一项所述的方法,其特征在于,所述第一信息还包括BIER转发入口路由器的标识BFIRID。
17.根据权利要求13至16中任一项所述的方法,其特征在于,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
18.根据权利要求12至17中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示参与计算所述第二HMAC的所述第一信息。
19.根据权利要求12至18中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
20.根据权利要求19所述的方法,其特征在于,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
21.根据权利要求12至20中任一项所述的方法,其特征在于,所述BIER报文的报文头信息中还包括算法ID,所述算法是指示所述第二网络设备确定所述第一HMAC的算法。
22.一种第一网络设备,其特征在于,包括:
接收模块,用于接收位索引显式复制BIER报文,所述BIER报文的报文头信息中包括第一密钥哈希信息认证码HMAC,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
确定模块,用于根据第一密钥以及所述报文头信息中的第一信息确定第二HMAC,所述第一信息用于指示所述BIER报文的转发信息;
所述确定模块,还用于确定所述第一HMAC和所述第二HMAC是否相同;
所述确定模块,还用于当确定所述第一HMAC和所述第二HMAC不相同时,确定所述BIER报文为非法的BIER报文。
23.根据权利要求22所述的第一网络设备,其特征在于,
所述确定模块,还用于:当确定所述第一HMAC和所述第二HMAC相同时,确定所述BIER报文为合法的BIER报文;
还包括:
转发模块,用于转发所述BIER报文。
24.根据权利要求22或23所述的第一网络设备,其特征在于,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
25.根据权利要求22或23所述的第一网络设备,其特征在于,所述第一信息包括位索引转发表标识BIFT-ID。
26.根据权利要求25所述的第一网络设备,其特征在于,所述确定模块具体用于:
根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;
所述第一网络设备根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第二HMAC。
27.根据权利要求24至26中任一项所述的第一网络设备,其特征在于,所述第一信息还包括BIER转发入口路由器的标识BFIR-ID。
28.根据权利要求24至27中任一项所述的第一网络设备,其特征在于,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
29.根据权利要求22至28中任一项所述的第一网络设备,其特征在于,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示指示参与计算所述第二HMAC的所述第一信息。
30.根据权利要求22至29中任一项所述的第一网络设备,其特征在于,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
31.根据权利要求30所述的第一网络设备,其特征在于,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
32.根据权利要求22至31中任一项所述的第一网络设备,其特征在于,所述BIER报文的报文头信息中还包括算法的标识ID,所述算法是指示所述第一网络设备确定所述第二HMAC的算法。
33.一种第二网络设备,其特征在于,包括:
接收模块,用于接收组播数据报文;
封装模块,用于对所述组播数据报文进行封装,得到位索引显式复制BIER报文,其中,所述BIER报文中携带有第一密钥哈希消息认证码HMAC,所述第一HMAC是所述第二网络设备根据第一密钥以及所述BIER报文的报文头信息中的第一信息确定的,所述第一信息用于指示所述BIER报文的转发信息,所述第一HMAC用于验证所述BIER报文是否为合法的BIER报文;
转发模块,用于对所述BIER报文进行转发。
34.根据权利要求33所述的第二网络设备,其特征在于,所述第一信息包括以下中的至少一种:子域SD、比特串长度BSL和集合标识SI。
35.根据权利要求33所述的第二网络设备,其特征在于,所述第一信息包括位索引转发表的标识BIFT-ID。
36.根据权利要求35所述的第二网络设备,其特征在于,所述封装模块具体用于:
根据所述BIFT-ID确定所述BIER报文对应的SD、BSL和SI;
根据所述第一密钥以及以下中的至少一种:所述SD、所述BSL和所述SI,确定所述第一HMAC。
37.根据权利要求34至36中任一项所述的第二网络设备,其特征在于,所述第一信息还包括BIER转发入口路由器的标识BFIRID。
38.根据权利要求34至37中任一项所述的第二网络设备,其特征在于,所述BIER报文的报文头信息包括互联网协议第六版IPv6头,所述第一信息还包括源IPv6地址字段。
39.根据权利要求33至38中任一项所述的第二网络设备,其特征在于,所述BIER报文的报文头信息中还包括HMAC标记字段,所述HMAC标记字段中的标记位指示参与计算所述第二HMAC的所述第一信息。
40.根据权利要求33至39中任一项所述的第二网络设备,其特征在于,所述BIER报文的报文头信息中还包括所述第一密钥的标识ID。
41.根据权利要求40所述的第二网络设备,其特征在于,所述BIER报文的报文头信息中还包括HMAC密钥字段,所述HMAC密钥字段中包括所述第一密钥的标识ID。
42.根据权利要求33至41中任一项所述的第二网络设备,其特征在于,所述BIER报文的报文头信息中还包括算法ID,所述算法是指示所述第二网络设备确定所述第一HMAC的算法。
43.一种第一网络设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于从存储器中调用并运行所述程序以执行权利要求1至11中任一项所述的方法。
44.一种第二网络设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于从存储器中调用并运行所述程序以执行权利要求12至21中任一项所述的方法。
45.一种报文检测的系统,包括如权利要求22至32中任一项所述的第一网络设备以及权利要求33至42中任一项所述的第二网络设备。
CN202010287068.8A 2020-04-13 2020-04-13 报文检测的方法、设备以及系统 Active CN113541924B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010287068.8A CN113541924B (zh) 2020-04-13 2020-04-13 报文检测的方法、设备以及系统
PCT/CN2021/081471 WO2021208664A1 (zh) 2020-04-13 2021-03-18 报文检测的方法、设备以及系统
EP21789095.3A EP4117242A4 (en) 2020-04-13 2021-03-18 MESSAGE DETECTION METHOD, DEVICE AND SYSTEM
US18/045,175 US11855888B2 (en) 2020-04-13 2022-10-10 Packet verification method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010287068.8A CN113541924B (zh) 2020-04-13 2020-04-13 报文检测的方法、设备以及系统

Publications (2)

Publication Number Publication Date
CN113541924A true CN113541924A (zh) 2021-10-22
CN113541924B CN113541924B (zh) 2023-09-29

Family

ID=78083560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010287068.8A Active CN113541924B (zh) 2020-04-13 2020-04-13 报文检测的方法、设备以及系统

Country Status (4)

Country Link
US (1) US11855888B2 (zh)
EP (1) EP4117242A4 (zh)
CN (1) CN113541924B (zh)
WO (1) WO2021208664A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11705983B2 (en) * 2021-03-22 2023-07-18 Cisco Technology, Inc. Efficient BIER forwarding over varying BSL domain using header stitching

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811387A (zh) * 2014-01-24 2015-07-29 思科技术公司 具有位索引显式复制的等价多路径
CN105743863A (zh) * 2014-12-12 2016-07-06 华为技术有限公司 一种对报文进行处理的方法及装置
WO2016198016A2 (zh) * 2015-10-30 2016-12-15 中兴通讯股份有限公司 一种bier控制信息的传输方法、装置和系统
WO2019114437A1 (zh) * 2017-12-13 2019-06-20 南京中兴新软件有限责任公司 Bier-te网络检测方法、装置及系统
CN110784411A (zh) * 2019-09-30 2020-02-11 华为技术有限公司 建立bier转发表项的方法、装置和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1223145C (zh) * 2002-08-20 2005-10-12 华为技术有限公司 基于边界网关协议报文的报文安全保护方法
US8543805B2 (en) * 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
US11451474B2 (en) * 2013-09-17 2022-09-20 Cisco Technology, Inc. Equal cost multi-path with bit indexed explicit replication
US9059985B1 (en) * 2014-12-08 2015-06-16 Fmr Llc Methods for fraud detection
CN107147508B (zh) * 2016-03-01 2022-11-01 中兴通讯股份有限公司 故障检测方法及装置
EP3361765A1 (en) * 2017-02-10 2018-08-15 Kamstrup A/S Radio frequency communication system and method
US11485318B2 (en) * 2019-09-13 2022-11-01 Denso International America, Inc. Queuing control for messages with de-whitened tones transmitted in phone-as-a-key systems
US11343097B2 (en) * 2020-06-02 2022-05-24 Bank Of America Corporation Dynamic segmentation of network traffic by use of pre-shared keys

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811387A (zh) * 2014-01-24 2015-07-29 思科技术公司 具有位索引显式复制的等价多路径
CN105743863A (zh) * 2014-12-12 2016-07-06 华为技术有限公司 一种对报文进行处理的方法及装置
WO2016198016A2 (zh) * 2015-10-30 2016-12-15 中兴通讯股份有限公司 一种bier控制信息的传输方法、装置和系统
CN106656524A (zh) * 2015-10-30 2017-05-10 中兴通讯股份有限公司 一种bier控制信息的传输方法、装置和系统
WO2019114437A1 (zh) * 2017-12-13 2019-06-20 南京中兴新软件有限责任公司 Bier-te网络检测方法、装置及系统
CN110784411A (zh) * 2019-09-30 2020-02-11 华为技术有限公司 建立bier转发表项的方法、装置和系统

Also Published As

Publication number Publication date
EP4117242A4 (en) 2023-08-09
EP4117242A1 (en) 2023-01-11
CN113541924B (zh) 2023-09-29
US11855888B2 (en) 2023-12-26
WO2021208664A1 (zh) 2021-10-21
US20230115034A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
CN110784411B (zh) 建立bier转发表项的方法、装置和系统
CN109218178B (zh) 一种报文处理方法及网络设备
EP3799354B1 (en) Synchronizing multicast router capability towards ethernet virtual private network (evpn) multi homed protocol independent multicast (pim) device
CN113114576B (zh) 报文发送的方法、设备和系统
CN114465946B (zh) 获取转发表项的方法、装置以及系统
CN114095305A (zh) Bier报文转发的方法、设备以及系统
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
WO2021244108A1 (zh) Bier组播流量的统计方法、设备以及系统
US11855888B2 (en) Packet verification method, device, and system
WO2021052381A1 (zh) 报文的发送方法和装置
CN113746753A (zh) BIERv6报文转发的方法、设备以及系统
CN113542188B (zh) 报文检测的方法以及第一网络设备
WO2021254454A1 (zh) Bier oam检测的方法、设备以及系统
WO2021129023A1 (zh) 报文发送的方法、设备和系统
CN113285878B (zh) 负载分担的方法、第一网络设备
CN114690680A (zh) 数据处理的方法、控制器以及第一网络设备
CN114598644A (zh) Bier报文转发的方法、设备以及系统
CN115134297A (zh) 一种BIERv6报文的处理方法、设备以及系统
CN114006780A (zh) 报文转发的方法、设备以及系统
CN114520762A (zh) BIERv6报文的发送方法以及第一网络设备
JP7119170B2 (ja) Bierv6パケット転送方法、デバイス、およびシステム

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