CN114915589A - 报文传输方法及装置 - Google Patents

报文传输方法及装置 Download PDF

Info

Publication number
CN114915589A
CN114915589A CN202110474671.1A CN202110474671A CN114915589A CN 114915589 A CN114915589 A CN 114915589A CN 202110474671 A CN202110474671 A CN 202110474671A CN 114915589 A CN114915589 A CN 114915589A
Authority
CN
China
Prior art keywords
packet
message
network device
bit string
address
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
CN202110474671.1A
Other languages
English (en)
Other versions
CN114915589B (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 PCT/CN2022/074787 priority Critical patent/WO2022171014A1/zh
Publication of CN114915589A publication Critical patent/CN114915589A/zh
Application granted granted Critical
Publication of CN114915589B publication Critical patent/CN114915589B/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/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种报文传输方法及装置,该方法包括:第一网络设备接收源用户设备发送的第一报文,该第一报文包括第一比特串和目的地址DA,该第一比特串用于指示至少一个目的用户设备,该第一报文的DA为所述第一网络设备的地址;该第一网络设备根据该第一比特串获取第二报文,该第二报文包括第一信息,该第一信息用于指示到达至少一个目的用户设备的下一跳设备;该第一网络设备向该下一跳设备发送该第二报文。本申请提供的技术方案能够在支持用户IP网络中点到多点的数据传送的同时,还可以降低用户设备的开销和复杂性。

Description

报文传输方法及装置
本申请要求于2021年02月10日提交中国专利局、申请号为202110184047.8、发明名称为“一种报文转发方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种报文传输方法及装置。
背景技术
互联网协议(internet protocol,IP)网络中点到多点的数据传输方式能够有效地节约 网络带宽、降低网络负载,因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络 电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。目前 用户网络中通过组播报文实现点到多点的数据传输,源用户设备通过使用一个组播地址将 数据发往多个接收者(多个目的用户设备)。由于用户网络中的设备(例如,源用户设备、 多个目的用户设备)需要能够进行组播报文的处理,以及支持相应的IP组播协议,因此, 该技术方案中用户设备会存在额外的开销,实现的复杂度也较高。因此,如何在支持用户 IP网络中点到多点的数据传送的同时,还可以降低用户设备的开销和复杂性成为亟需要解 决的问题。
发明内容
本申请提供一种报文传输方法及装置,能够在支持用户IP网络中点到多点的数据传 送的同时,还可以降低用户设备的开销和复杂性。
第一方面,提供了一种报文传输方法,该方法包括:第一网络设备接收源用户设备发 送的第一报文,该第一报文包括第一比特串和目的地址DA,该第一比特串用于指示至少一个目的用户设备,该第一报文的DA为该第一网络设备的地址;该第一网络设备根据该 第一比特串获取第二报文,该第二报文包括第一信息,该第一信息用于指示到达该至少一 个目的用户设备的下一跳设备;该第一网络设备向该下一跳设备发送该第二报文。
上述技术方案中,用户IP网络中可以通过单播报文进行点到多点的数据传送,这样, 用户设备不需要支持组播报文的处理能力以及相应的IP组播协议,可以降低用户设备的 开销和复杂性。
结合第一方面,在第一方面的某些实现方式中,该第一报文为单播报文或互联网协议 第6版(internet protocol version 6,IPv6)单播报文。
结合第一方面,在第一方面的某些实现方式中,该下一跳设备为第一目的用户设备, 该第一网络设备向该第一目的用户设备发送该第二报文,该第一信息包括作为DA的该第 一目的用户设备的地址。
结合第一方面,在第一方面的某些实现方式中,该下一跳设备为第二网络设备,该第 一网络设备向该第二网络设备发送该第二报文,该第一信息包括作为DA的该述第二网络 设备的地址。
结合第一方面,在第一方面的某些实现方式中,该第一网络设备通过隧道向该第二网 络设备发送该第二报文,该第二报文包括隧道头,该第一信息为该隧道头包括的与该隧道 对应的信息。
结合第一方面,在第一方面的某些实现方式中,该第二报文包括该隧道头和该第一报 文。
结合第一方面,在第一方面的某些实现方式中,该第二报文包括该隧道头和第三报文, 该第三报文是基于组播地址和该第一报文获得的报文,该第三报文的DA为该组播地址; 或者该第二报文包括该隧道头和第三报文,该第三报文是基于该第一报文和该第二网络设 备的地址获得的报文,该第三报文的DA为该第二网络设备的地址。
结合第一方面,在第一方面的某些实现方式中,该第一网络设备位于第一区域region, 该第二网络设备位于第二region,该第一信息包括第二比特串,该第二比特串用于指示该 第二网络设备。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一网络设备根据 对应关系和该第一比特串,获得该第二比特串,该对应关系包括该第一比特串中与该至少 一个目的用户设备对应的比特位和该第二比特串中与该第二网络设备对应的比特位;该第 一网络根据该第二比特串获得该第二报文。
结合第一方面,在第一方面的某些实现方式中,该第一网络设备位于第一数据中心, 该第二网络设备位于第二数据中心;或者该第一网络设备位于第一region,该第二网络设 备位于第二region。一个region中可以包括多个数据中心。
结合第一方面,在第一方面的某些实现方式中,该第一报文还包括第一校验checksum, 该第二报文还包括第二checksum,该第二checksum是基于该第一checksum、该第一报文 的DA以及该第一信息获得的checksum。
结合第一方面,在第一方面的某些实现方式中,该源用户设备和该至少一个目的用户 设备属于同一用户。
结合第一方面,在第一方面的某些实现方式中,该第一报文为互联网协议第六版IPv6 单播报文,该IPv6单播报文包括IPv6扩展头,该第一比特串位于该IPv6扩展头中。
第二方面,提供了一种报文传输方法,包括:第二设备接收第一设备发送的第二报文, 该第二报文包括第一信息,该第一信息用于指示第一设备到达至少一个目的用户设备的下 一跳设备。
结合第二方面,在第二方面的某些实现方式中,该第二设备为第一目的用户设备,该 第一设备为第一网络设备,该第一信息包括作为目的地址DA的该第一目的用户设备的地 址。
结合第二方面,在第二方面的某些实现方式中,该第二设备为第一目的用户设备,该 第一设备为第一网络设备,该第一信息包括作为目的地址DA的该第一目的用户设备的地 址。
结合第二方面,在第二方面的某些实现方式中,该第二设备为第二网络设备,该第一 设备为第一网络设备,该第二网络设备通过隧道接收该第一网络设备发送的该第二报文, 该第二报文包括隧道头,该第一信息为该隧道头包括的与该隧道对应信息。
结合第二方面,在第二方面的某些实现方式中,该第二报文包括该隧道头和第一报文, 该第一报文包括第一比特串,该第一比特串用于指示该至少一个目的用户设备。
结合第二方面,在第二方面的某些实现方式中,该第二报文包括该隧道头和第三报文, 该第三报文是基于组播地址和第一报文获得的报文,该第三报文的DA为该组播地址,该 第一报文包括第一比特串,该第一比特串用于指示该至少一个目的用户设备;或者该第二 报文包括该隧道头和第三报文,该第三报文是基于该第一报文和该第二网络设备的地址获 得的报文,该第三报文的DA为该第二网络设备的地址,该第一报文包括第一比特串,该 第一比特串用于指示该至少一个目的用户设备。
结合第二方面,在第二方面的某些实现方式中,该第一网络设备位于第一区域region, 该第二网络设备位于第二region,该第一信息包括第二比特串,该第二比特串用于指示该 第二网络设备。
结合第二方面,在第二方面的某些实现方式中,该第二报文还包括用户报文和第一比 特串,该第一比特串用于指示该至少一个目的用户设备,该方法还包括:该第二网络设备 基于该第二报文获得该用户报文;该第二网络设备根据该第二报文包括的该第一比特串和 该第一信息,向该第一目的用户设备发送该用户报文。
结合第二方面,在第二方面的某些实现方式中,该第二报文还包括用户报文,该方法 还包括:该第二网络设备对该第二报文进行解封装获得该用户报文;该第二网络设备根据该第二报文包括的该第一比特串和该第一信息,向该第一目的用户设备发送该用户报文。
结合第二方面,在第二方面的某些实现方式中,该第一网络设备位于第一数据中心, 该第二网络设备位于第二数据中心;或者该第一网络设备位于第一region,该第二网络设 备位于第二region。
结合第二方面,在第二方面的某些实现方式中,该第二报文还包括第二校验checksum, 该第二checksum是基于第一报文包括的第一checksum、该第一报文的DA以及该第一信 息获得的checksum。
第二方面和第二方面的任意一个可能的实现方式的有益效果和第一方面以及第一方 面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。
第三方面,提供了一种用于报文传输的装置,该装置设置于第一网络设备,包括:接 收模块,处理模块,发送模块,
接收模块,用于接收源用户设备发送的第一报文,该第一报文包括第一比特串和目的 地址DA,该第一比特串用于指示至少一个目的用户设备,该第一报文的DA为该第一网络设备的地址;
处理模块,用于根据该第一比特串获取第二报文,该第二报文包括第一信息,该第一 信息用于指示到达该至少一个目的用户设备的下一跳设备;
发送模块,用于向该下一跳设备发送该第二报文。
结合第三方面,在第三方面的某些实现方式中,该下一跳设备为第一目的用户设备, 该发送模块具体用于:向该第一目的用户设备发送该第二报文,该第一信息包括作为DA 的该第一目的用户设备的地址。
结合第三方面,在第三方面的某些实现方式中,该下一跳设备为第二网络设备,该发 送模块具体用于:向该第二网络设备发送该第二报文,该第一信息包括作为DA的该第二网络设备的地址。
结合第三方面,在第三方面的某些实现方式中,该下一跳设备为第二网络设备,该发 送模块具体用于:通过隧道向该第二网络设备发送该第二报文,该第二报文包括隧道头, 该第一信息为该隧道头包括的与该隧道对应的信息。
结合第三方面,在第三方面的某些实现方式中,该第二报文包括该隧道头和该第一报 文。
结合第三方面,在第三方面的某些实现方式中,该第二报文包括该隧道头和第三报文, 该第三报文是基于组播地址和该第一报文获得的报文,该第三报文的DA为该组播地址; 或者该第二报文包括该隧道头和第三报文,该第三报文是基于该第一报文和该第二网络设 备的地址获得的报文,该第三报文的DA为该第二网络设备的地址。
结合第三方面,在第三方面的某些实现方式中,该第一网络设备位于第一区域region, 该第二网络设备位于第二region,该第一信息包括第二比特串,该第二比特串用于指示该 第二网络设备。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于:根据对应关系和 该第一比特串,获得该第二比特串,该对应关系包括该第一比特串中与该至少一个目的用 户设备对应的比特位和该第二比特串中与该第二网络设备对应的比特位;根据该第二比特 串获得该第二报文。
结合第三方面,在第三方面的某些实现方式中,该第一网络设备位于第一数据中心, 该第二网络设备位于第二数据中心;或者该第一网络设备位于第一region,该第二网络设 备位于第二region。
结合第三方面,在第三方面的某些实现方式中,该第一报文还包括第一校验checksum, 该第二报文还包括第二checksum,该第二checksum是基于该第一checksum、该第一报文 的DA以及该第一信息获得的checksum。
结合第三方面,在第三方面的某些实现方式中,该源用户设备和该至少一个目的用户 设备属于同一用户。
结合第三方面,在第三方面的某些实现方式中,该第一报文为互联网协议第六版IPv6 单播报文,该IPv6单播报文包括IPv6扩展头,该第一比特串位于该IPv6扩展头中。
第四方面,提供了一种用于报文传输的装置,该装置设于第二设备,包括:接收模块, 用于接收第一设备发送的第二报文,该第二报文包括第一信息,该第一信息用于指示第一 设备到达至少一个目的用户设备的下一跳设备。
结合第四方面,在第四方面的某些实现方式中,该第二设备为第一目的用户设备,该 第一设备为第一网络设备,该第一信息包括作为目的地址DA的该第一目的用户设备的地 址。
结合第四方面,在第四方面的某些实现方式中,该第二设备为第二网络设备,该第一 设备为该第一网络设备,该第一信息包括作为DA的该第二网络设备的地址。
结合第四方面,在第四方面的某些实现方式中,该第二设备为第二网络设备,该第一 设备为第一网络设备,该接收模块具体用于:该第二网络设备通过隧道接收该第一网络设 备发送的该第二报文,该第二报文包括隧道头,该第一信息为该隧道头包括的与该隧道对 应信息。
结合第四方面,在第四方面的某些实现方式中,该第二报文包括该隧道头和第一报文, 该第一报文包括第一比特串,该第一比特串用于指示该至少一个目的用户设备。
结合第四方面,在第四方面的某些实现方式中,该第二报文包括该隧道头和第三报文, 该第三报文是基于组播地址和第一报文获得的报文,该第三报文的DA为该组播地址,该 第一报文包括第一比特串,该第一比特串用于指示该至少一个目的用户设备;或者该第二 报文包括该隧道头和第三报文,该第三报文是基于该第一报文和该第二网络设备的地址获 得的报文,该第三报文的DA为该第二网络设备的地址,该第一报文包括第一比特串,该 第一比特串用于指示该至少一个目的用户设备。
结合第四方面,在第四方面的某些实现方式中,该第一网络设备位于第一区域region, 该第二网络设备位于第二region,该第一信息包括第二比特串,该第二比特串用于指示该 第二网络设备。
结合第四方面,在第四方面的某些实现方式中,该第二报文还包括用户报文和第一比 特串,该第一比特串用于指示该至少一个目的用户设备,该第二设备还包括:处理模块, 发送模块,
处理模块,用于基于该第二报文获得该用户报文;
发送模块,用于根据该第二报文包括的该第一比特串和该第一信息,向该第一目的用 户设备发送该用户报文。
结合第四方面,在第四方面的某些实现方式中,该第二报文还包括用户报文,处理模 块,用于对该第二报文进行解封装获得该用户报文;发送模块,用于根据该第二报文包括 的该第一比特串和该第一信息,向该第一目的用户设备发送该用户报文。
结合第四方面,在第四方面的某些实现方式中,该第一网络设备位于第一数据中心, 该第二网络设备位于第二数据中心;或者该第一网络设备位于第一region,该第二网络设 备位于第二region。
结合第四方面,在第四方面的某些实现方式中,该第二报文还包括第二校验checksum, 该第二checksum是基于第一报文包括的第一checksum、该第一报文的DA以及该第一信 息获得的checksum。
第五方面,提供了一种用于报文传输的装置,该装置设置于第一网络设备,具有实现 上述第一方面或第一方面中任一种实现方式中报文传输方法的功能。该功能可以基于硬件 实现,也可以基于硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相 对应的模块。
在一个可能的设计中,该装置的结构中包括处理器,该处理器被配置为支持该装置执 行上述方法中相应的功能。
该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指 令和数据。
在另一个可能的设计中,该装置包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器 以及只读存储器。其中,当需要运行该装置时,通过固化在只读存储器中的基本输入/输 出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该装置进入正常运行状态。 在该装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处 理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供一种用于报文传输的装置,该装置设置于第一网络设备,包括:主控 板和接口板,进一步,还可以包括交换网板。该装置用于执行第一方面或第一方面的任意 可能的实现方式中报文传输方法方法。具体地,该装置包括用于执行第一方面或第一方面 的任意可能的实现方式中报文传输方法的模块。
需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用 主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越 多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多 块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该装置可以不 需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一 网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供 大容量的数据交换和处理能力。所以,分布式架构的该装置的数据接入和处理能力要大于 集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
第七方面,提供一种用于报文传输的装置,该装置设置于第一网络设备,包括控制模 块和第一转发子设备。该第一转发子设备包括:接口板,进一步,还可以包括交换网板。该第一转发子设备用于执行第六方面中的接口板的功能,进一步,还可以执行第六方面中交换网板的功能。该控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存 储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只 读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系 统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。 在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该 处理器执行第六方面中主控板的功能。在实际应用中,该装置可以包含任意数量的接口, 处理器或者存储器。
第八方面,提供了一种用于报文传输的装置,该装置设于第二设备,具有实现上述第 二方面或第二方面中任一种实现方式中报文传输方法的功能。该功能可以基于硬件实现, 也可以基于硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的 模块。
在一个可能的设计中,该装置的结构中包括处理器,该处理器被配置为支持该装置执 行上述方法中相应的功能。
该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指 令和数据。
在另一个可能的设计中,该装置包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器 以及只读存储器。其中,当需要运行该装置时,通过固化在只读存储器中的基本输入/输 出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该装置进入正常运行状态。 在该装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处 理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,提供一种用于报文传输的装置,该装置设于第二设备,包括:主控板和接 口板,进一步,还可以包括交换网板。该装置用于执行第二方面或第二方面的任意可能的 实现方式中报文传输方法方法。具体地,该装置包括用于执行第二方面或第二方面的任意 可能的实现方式中报文传输方法的模块。
需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用 主控板。接口板可能有一块或多块,该装置的数据处理能力越强,提供的接口板越多。接 口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有 多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该装置可以不需要交 换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该装置可以 有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据 交换和处理能力。所以,分布式架构的该装置的数据接入和处理能力要大于集中式架构的 设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
第十方面,提供一种用于报文传输的装置,该装置设于第二设备,包括控制模块和第 一转发子设备。该第一转发子设备包括:接口板,进一步,还可以包括交换网板。该第一转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。该控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以 及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储 器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者 嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制 模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器 执行第八方面中主控板的功能。在实际应用中,该装置可以包含任意数量的接口,处理器 或者存储器。
第十一方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码, 当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一 种可能执行的方法。
第十二方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码, 当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一 种可能执行的方法。
第十三方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该 计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可 能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的 PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM) 以及硬盘驱动器(hard drive)。
第十四方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该 计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可 能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(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)、现场可编程门阵列(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是一种应用场景示意图。
图2是本申请实施例提供的一种报文传输方法的示意性流程图。
图3是应用于实施例的一种单数据中心多租户的场景示意图。
图4是本申请实施例提供的一种在单数据中心场景内进行报文传输的方法的示意性 流程图。
图5是应用于实施例的另一种单数据中心多租户的场景示意图。
图6是本申请实施例提供的另一种在单数据中心场景内进行报文传输的方法的示意 性流程图。
图7是应用于实施例的一种多数据中心多租户的场景示意图。
图8是本申请实施例提供的一种在多数据中心多租户场景内进行报文传输的方法的 示意性流程图。
图9是应用于实施例的一种跨region的多数据中心多租户场景示意图。
图10示出了region1中的一种可能的场景。
图11是本申请实施例提供的在跨region的场景内进行报文传输的方法的示意性流程 图。
图12是本申请实施例提供的一种用于报文传输的装置1200的示意性结构图。
图13是本申请实施例提供的另一种用于报文传输的装置1300的示意性结构图。
图14是本申请实施例提供的另一种用于报文传输的装置2000的硬件结构示意图。
图15为本申请实施例提供的另一种用于报文传输的装置2100的硬件结构示意图。
图16是本申请实施例提供的另一种用于报文传输的装置2200的硬件结构示意图。
图17为本申请实施例提供的另一种用于报文传输的装置2300的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。 应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(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可以是单个,也可以是多个。
互联网协议(internet protocol,IP)网络中点到多点的数据传输方式能够有效地节约 网络带宽、降低网络负载,因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络 电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。图1 一种应用场景示意图。如图1所示,该应用场景中可以包括:多个用户设备(例如,源用 户设备1、目的用户设备2、目的用户设备3)以及运营商网络,其中,该多个用户设备 组成的网络也可以称为用户网络。作为示例,上述用户设备也可以称为用户边缘设备(customer edge,CE),可以是路由器或用户主机。图1中是以一个源用户设备,两个目 的用户设备进行举例说明的。在该用户网络中,源用户设备1需要经过运营商网络将报文 转发给至少两个目的用户设备,例如目的用户设备2以及目的用户设备3。相关的技术方 案中,源用户设备1向运营商网络发送一个组播报文,运营商网络将该组播报文分别发送 给目的用户设备2、目的用户设备3,从而实现了用户IP网络中点到多点的数据传送。但 是,在该种技术方案中,需要用户设备支持IP组播报文以及相应的IP组播协议,这样对 于用户设备而言会存在额外的开销和复杂性。
有鉴于此,本申请实施例提供了一种报文传输方法,该方法能够在支持用户IP网络 中点到多点的数据传送的同时,还可以降低用户设备的开销和复杂性。本申请实施例对上 述应用场景中源用户设备和目的用户设备的数量不做具体限定,可以包括至少一个源用户 设备、至少两个目的用户设备。
图2是本申请实施例提供的一种报文传输方法的示意性流程图。图2对应的实施例所 提供的方法可以应用于图1所示的场景中。如图2所示,该方法可以包括步骤210-230,下面分别对步骤210-230进行详细描述。
步骤210:第一网络设备接收源用户设备发送的第一报文,该第一报文包括第一比特 串和目的地址DA。
上述源用户设备发送给第一网络设备的第一报文可以是单播报文,具体可以是IPv6 单播报文,本申请对此不做具体限定。该第一报文中可以包括第一比特串和目的地址(destination address,DA)。该第一比特串用于指示至少一个目的用户设备。该第一报文的DA为该第一网络设备的地址。
步骤220:第一网络设备根据该第一比特串获取第二报文,该第二报文包括第一信息, 该第一信息用于指示到达该至少一个目的用户设备的下一跳设备。
本申请实施例对所述第二报文不做具体限定,一种可能的实现方式中,该下一跳设备 为第一目的用户设备,该第二报文的DA为第一目的用户设备的地址,该第一信息包括作 为DA的所述第一目的用户设备的地址。另一种可能的实现方式中,该下一跳设备为第二网络设备,该第二报文的DA为该第二网络设备的地址,该第一信息包括作为DA的所述 第二网络设备的地址。另一种可能的实现方式中,该下一跳设备为第二网络设备,该第二 报文包括隧道头,该第一信息为所述隧道头包括的与所述隧道对应的信息。具体的,一个 示例,该第二报文包括隧道头和第一报文。另一个示例,该第二报文包括所述隧道头和第 三报文,该第三报文是基于组播地址和该第一报文获得的报文,该第三报文的DA为所述 组播地址。另一个示例,该第二报文包括该隧道头和第三报文,该第三报文是基于该第一 报文和该第二网络设备的地址获得的报文,该第三报文的DA为该第二网络设备的地址。 下面会结合具体的场景详细描述,此处暂不详述。
步骤230:第一网络设备向该下一跳设备发送该第二报文。
第一网络设备向该下一跳设备发送该第二报文的具体实现方式有多种,本申请实施例 对此不做具体限定。一个示例,下一跳设备为第一目的用户设备,第一网络设备可以直接 向该第一目的用户设备发送所述第二报文。另一个示例,下一跳设备为第二网络设备,第 一网络设备向第二网络设备发送所述第二报文。另一个示例,下一跳设备为第二网络设备, 第一网络设备可以通过隧道向第二网络设备发送所述第二报文。该隧道可以是单播隧道, 或者也可以是多播隧道。举例说明,该单播隧道例如可以是多协议标签交换(multiple protocol label switching,MPLS)隧道,或者IP隧道,或者IPv6隧道。该多播隧道例如可 以是点到多点(point-to-multipoint,P2MP)隧道或者多点到多点(multi-pointto multi-point, MP2MP)隧道。
上述技术方案中,用户IP网络中可以通过单播报文进行点到多点的数据传送,这样, 用户设备不需要支持组播报文的处理能力以及相应的IP组播协议,可以降低用户设备的 开销和复杂性。
下面会结合不同的场景,对本申请实施例提供的报文传输方法的具体实现过程进行详 细描述。下面的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实 施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的下面的例 子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围 内。
图3是应用于实施例的一种单数据中心多租户的场景示意图。如图3所示,该场景中 可以包括:IP报文复制系统(包括设备R1)、SW1-SW6、SRC1、SRC2、RCV1、RCV2、 RCV3、RCV4、RCVX。在图3的示例中,IP报文复制系统是一个具有IP报文复制能力 的设备R1,该设备R1可以是由具有IP报文复制能力的专用硬件组成,也有可能是由通 用硬件(如服务器及网卡)和具有IP报文复制能力的软件模块组成,本申请实施例对此 不做限定。举例说明,设备R1例如可以是路由器、交换机、通用计算机上的应用软件等。 可选地,IP报文复制系统还可以是一个由多台设备组成的网络,该网络属于运营商或网络 服务提供商(serviceprovider,SP),为一个或多个用户(也可以称为租户)提供IP报文 点到多点的传输服务。下面会结合图5对这种应用场景进行描述,此处不再赘述。SW1-SW6 为交换机,其组成的交换网络也可以称为Fabric网络。该Fabric网络可以为数据中心(data center,DC)的多个租户提供报文的转发服务。SRC1、RCV2、RCV3、RCVX及其链路 属于DC内的第一用户(也可以称为第一租户)的专用设备和链路。比如,这些设备和链 路可以是运营商租赁给第一用户的,或者这些设备和链路是第一用户自行购买并安装部署 的。其中,第一用户的SRC1获取第一报文,将该第一报文经过Fabric网络发送给R1, R1根据该第一报文获得第二报文,并经过Fabric网络将该第二报文发送给RCV2、RCV3、 RCVX。SRC2、RCV1、RCV4及其链路属于DC内的第二用户(也可以称为第二租户) 的专用设备和链路。比如,这些设备和链路可以是运营商租赁给第二用户的,或者这些设 备和链路是第二用户自行购买并安装部署的。SRC2、RCV1、RCV4之间的报文传输过程 与第一用户的设备之间进行报文传输的过程类似,具体的请参见上述第一用户的设备之间 进行报文传输,此处不再赘述。
下面以图3所示的应用场景为例,结合图4,对本申请实施例提供的一种在单数据中 心场景内进行报文传输的方法的具体实现过程进行详细描述。图4是本申请实施例提供的 一种在单数据中心场景内进行报文传输的方法的示意性流程图。如图4所示,该方法可以 包括步骤410-430,下面分别对步骤410-430进行详细描述。为了便于描述,下面以属于所述第一用户的设备(例如,图3中的SRC1、RCV2、RCV3、RCVX)之间进行报文传 输为例进行说明。
步骤410:SRC1根据原始用户报文获得第一报文,并通过Fabric网络发送给设备R1。
SRC1作为第一用户的源用户设备,当其需要将原始用户报文发送给RCV2、RCV3、RCVX时,SRC1可以根据原始用户报文构造如下所示的第一报文,并将该第一报文发送 给设备R1。SRC1发送给设备R1的第一报文可采用如下格式:
{IPv6头(SA=SRC1,DA=IP1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)}
上述SRC1发送给设备R1的第一报文可以是在用户报文的外层封装IPv6头和IPv6扩展头。其中,IPv6头的源地址(source address,SA)为SRC1的地址,目的地址(destination address,DA)为设备R1上为第一用户分配的地址IP1。IPv6扩展头中可以包括BitString, 或者也可以包括BIER头,BIER头中包括BitString,本申请实施例对此不做具体限定。上 述位串(BitString)中不同的比特位(bit)可以对应RCV2、RCV3、RCVX。例如,可以 将位串(BitString)中对应于RCV2、RCV3、RCVX的bit位置1,从而用于指导设备R1 将第一报文分别发送给RCV2、RCV3、RCVX。以RCV2、RCV3、RCVX分别配置的位 转发路由器标识(Bit-forwarding router identifier,BFR ID)分别为2、3、4为例,上述BitString 可以是0000 1110。上述用户报文不是一个隧道报文(tunnel packet),而是一个没有封装 隧道头(tunnel header)的原始用户报文。例如,该用户报文的IP头后面是UDP头,UDP 头后面的Payload不是一个IP报文而是一个净荷如视频或音频数据等。
步骤420:设备R1接收第一报文,并确定所述第一报文属于第一用户。
作为示例,设备R1可以通过Fabric网络中的SW1、SW3接收到SRC1发送的第一报文。设备R1还可以根据第一报文确定该报文属于第一用户,具体的实现方式有多种,下 面分别对几种不同的实现进行详细描述。
一种可能的实现方式中,设备R1可以根据第一报文的SA为SRC1的地址,确定该 第一报文属于第一用户。
另一种可能的实现方式中,设备R1还可以根据第一报文的DA为设备R1上为第一用户分配的地址IP1,确定确定该第一报文属于第一用户。
另一种可能的实现方式中,设备R1还可以根据接收到第一报文的虚拟局域网标识(virtual local area network identifier,VLAN ID)确定该第一报文属于第一用户。具体的, 作为示例,在Fabric网络中,SW1连接SRC1的端口、SW5连接RCV2的端口、SW6连 接RCV3的端口以及SW6连接RCVX的端口都配置为虚拟网络实例(virtual network instance,VNI)标识10(vni10)。SW3连接设备R1的接口进一步划分为用VLAN区分 的多个子接口,其中第1个子接口使用一个VLAN ID区分并配置为vni10实例,例如第 一子接口的VLAN ID可以是10。在这个例子中,SRC1发出的第一报文实际上首先是被 SW1收到,SW1确定报文属于第一用户,SW1使用虚拟扩展局域网(virtual extensible local area network,VXLAN)隧道将第一报文进行封装并发送到SW3,vxlan隧道中会携带vni10 标识。SW3对第一报文进行vxlan解封装,根据VXLAN中的vni10确定第一报文属于第 一用户,并往第一子接口发送给设备R1。发送给设备R1的第一报文会携带VLAN ID(本 例中是10),设备R1根据收到第一报文的接口以及该报文中的VLAN ID确定报文属于 第一用户。
步骤430:设备R1根据第一用户对应的转发表项以及第一报文中的BitString确定第 二报文,将该第二报文分别发送至RCV2、RCV3、RCVX。
设备R1上可以配置对应于多个租户的IP组播转发实例,例如可以将对应于第一用户 的IP组播转发实例配置在虚拟路由转发(virtual routing forwarding,VRF)实例1(vrf1) 上,将对应于第二用户的IP组播转发实例配置在VRF实例2(vrf2)上。具体的如下表1 所示。
表1设备R1上配置的第一用户、第二用户对应的IP组播转发实例
Figure BDA0003046585800000121
Figure BDA0003046585800000131
以vrf1为例,设备R1分配对应于vrf1的IP地址为IP1,也就是说,设备R1上为第 一用户分配的地址IP1。转发表项“IP地址=SRC1,Nbr=SRC,FBM=0000 0001”表示当有 报文的bit string从右往左第1个bit位为1时,报文会往设备R1的邻居(SRC1)发送, Nbr=SRC1表示设备R1的邻居为SRC1,IP地址=SRC1表示发往SRC1的报文的DA为 SRC1的地址。转发表项“IP地址=RCV2,Nbr=RCV2,FBM=0000 0010”表示当有报文的 bit string从右往左第2个bit位为1时,报文会往设备R1的邻居(RCV2)发送,Nbr=RCV2 表示设备R1的邻居为RCV2,IP地址=RCV2表示发往RCV2的报文的DA为RCV2的地 址。转发表项“IP地址=RCV3,Nbr=RCV3,FBM=0000 0100”表示当有报文的bit string 从右往左第3个bit位为1时,该报文会往设备R1的邻居(RCV3)发送,Nbr=RCV3表 示设备R1的邻居为RCV3,IP地址=RCV3表示发往RCV3的报文的DA为RCV3的地址。 转发表项“IP地址=RCVX,Nbr=RCVX,FBM=0000 1000”表示当有报文的bit string从右 往左第4个bit位为1时,该报文会往设备R1的邻居(RCVX)发送,Nbr=RCVX表示设 备R1的邻居为RCVX,IP地址=RCVX表示发往RCVX的报文的DA为RCVX的地址。
以vrf2为例,设备R1分配对应于vrf2的IP地址为IP2,也就是说,设备R1上为第 二用户分配的地址IP2。关于设备R1上对应于第二用户的各个转发表项的解释说明请参 考上文中对第一用户的各个转发表项的描述,此处不再赘述。
在上面的例子中,设备R1针对第一用户和第二用户,分别建立vrf1和vrf2的BIER转发表并确保只有第一用户能访问vr1所对应的R1的地址,只有第二用户才能访问vrf2 所对应的R1的地址。另一种方法,可以针对第一用户和第二用户分别建立sub-domain 1 和sub-domain 2的BIER转发表,并且sub-domain 1和sub-domain 2分别配置IP1和IP2 作为服务地址,IP1只允许第一用户的IP地址访问,IP2只允许第二用户的IP地址访问, 比如可以通过访问控制列表(access control list,ACL)进行控制。
下面对设备R1根据上述转发表项确定属于第一用户的第二报文,并转发第二报文的 过程进行详细描述。
一个示例,设备R1根据上述转发表项“IP地址=RCV2,Nbr=RCV2,FBM=00000010” 以及第一报文中的BitString=0000 1110,确定设备R1需要向RCV2发送报文。具体的, 设备R1向RCV2发送报文时,报文外层IPv6头中的DA会更新为RCV2的地址,并将IPv6 扩展头中的BitString(0000 1110)以及FBM字段做AND操作,本申请实施例中AND的 结果是0000 0010。因此,设备R1发送给RCV2的报文的外层IPv6头中的DA为RCV2 的地址,IPv6扩展头中的BitString为0000 0010。举例说明,设备R1发送给RCV2的第 二报文为:{IPv6头(SA=SRC1,DA=RCV2),IPv6扩展头(BitString=0000 0010),用户报文 (UDP,VideoPayload)}。
另一个示例,设备R1根据上述转发表项“IP地址=RCV3,Nbr=RCV3,FBM=00000100”以及第一报文中的BitString=0000 1110,确定设备R1需要向RCV3发送报文。具 体的,设备R1向RCV3发送报文时,报文外层IPv6头中的DA会更新为RCV3的地址, 并将IPv6扩展头中的BitString(0000 1110)以及FBM字段做AND操作,本申请实施例 中AND的结果是0000 0100。因此,设备R1发送给RCV3的报文的外层IPv6头中的DA 为RCV3的地址,IPv6扩展头中的BitString为0000 0100。举例说明,设备R1发送给RCV3 的第二报文为:{IPv6头(SA=SRC1,DA=RCV3),IPv6扩展头(BitString=0000 0100),用户 报文(UDP,VideoPayload)}。
另一个示例,设备R1根据上述转发表项“IP地址=RCVX,Nbr=RCVX,FBM=00001000”以及第一报文中的BitString=0000 1110,确定设备R1需要向RCVX发送报文。具 体的,设备R1向RCVX发送报文时,报文外层IPv6头中的DA会更新为RCVX的地址, 并将IPv6扩展头中的BitString(0000 1110)以及FBM字段做AND操作,本申请实施例 中AND的结果是0000 1000。因此,设备R1发送给RCVX的外层IPv6头中的DA为RCVX 的地址,IPv6扩展头中的BitString为0000 1000。举例说明,设备R1发送给RCVX的第 二报文为:{IPv6头(SA=SRC1,DA=RCVX),IPv6扩展头(BitString=0000 1000),用户报文 (UDP,Video Payload)}。
需要说明的是,以设备R1发送给RCV2的第二报文为例,其SA为SRC1、DA为 RCV2,这和SRC1发送给设备R1的第一报文(SA为SRC1、DA为IP1)有所改变。由 于UDP头的checksum字段是根据报文的源地址、目的地址及Payload等字段计算出来的 校验值,下面列举出了几种确定第二报文中UDP头的checksum值的具体实现方式。
一种可能的实现方式中,设备R1在更改第一报文的目的地址得到第二报文时,会根 据第二报文和第一报文的目的地址的改变对checksum做一个增量更新,从而确定第二报 文中的checksum值。这样,通过增量更新checksum值可以不需要重新读取整个payload来重新计算checksum,节省计算开销。
另一种可能的实现方式中,可以在SRC1/RCV2/RCV3/RCVX各主机上配置使能“零UDP校验(zero UDP checksum)”。例如,本实施例用在特定的“目的UDP端口”上、 对“目的UDP端口”为第一预设值的情况下使能“零UDP校验”。相应的,SRC1发送 给设备R1的第一报文在UDP头checksum字段填0值,RCV2收到第一报文时不校验 checksum字段,设备R1向RCV2发送第二报文时,虽然第二报文的目的地址相比较第一 报文的目的地址有所更改,但第二报文中的checksum值保持0值不变即可。
另一种可能的实现方式中,本实施例所述的UDP头也可以是UDP-Lite头(UDP-Liteheader),设备R1向RCV2发送第二报文时,设备R1在修改第一报文的目的地址等字段 得到第二报文时,对UDP-Lite头中的checksum字段作相应的修改。
图5是应用于实施例的另一种单数据中心多租户的场景示意图。如图5所示,该场景 中可以包括:IP报文复制系统(包括设备A-设备F)、SW1-SW6、SRC1、SRC2、RCV1、 RCV2、RCV3、RCV4、RCVX。在图5的示例中,IP报文复制系统是由设备A-设备F多 台设备组成的网络,该网络属于运营商或网络服务提供商(network service provider,NSP), 为一个或多个用户(也可以称为租户)提供IP报文点到多点的传输服务。SW1-SW6、SRC1、 SRC2、RCV1、RCV2、RCV3、RCV4、RCVX与图3所示的场景相同,具体的请参考图 3中的描述,此处不再赘述。
下面以图5所示的应用场景为例,结合图6,对本申请实施例提供的另一种在单数据 中心场景内进行报文传输的方法的具体实现过程进行详细描述。图6是本申请实施例提供 的另一种在单数据中心场景内进行报文传输的方法的示意性流程图。如图6所示,该方法 可以包括步骤610-630,下面分别对步骤610-630进行详细描述。
步骤610:SRC1根据原始用户报文获得第一报文,并通过Fabric网络发送给设备A。
SRC1作为第一用户的源用户设备,当其需要将原始用户报文发送给RCV2、RCV3、RCVX时,SRC1可以根据原始用户报文构造如下所示的第一报文,并将该第一报文发送 给设备A。第一报文采用的报文格式如下所示:
{IPv6头(SA=SRC1,DA=A1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)}
其中,第一报文的外层IPv6头的SA为SRC1的地址,DA为设备A上为第一用户分 配的地址A1。
步骤620:设备A接收第一报文,根据第一报文中的BitString确定第二报文。
设备A接收到第一报文后,可以根据第一报文中的DA为A1确定该报文属于第一用户,再根据第一报文中的BitString为0000 1110确定需要向设备F和设备E发送的第二报文。具体的,设备A可以根据第一报文的BitString中RCV2(BFR ID=2)对应的bit为置 1,确定需要向设备F发送第二报文;根据第一报文的BitString中RCV3(BFR ID=3)、 RCVX(BFRID=4)分别对应的bit为置1,确定需要向设备E发送第二报文。
一种可能的实现方式中,设备A将第二报文发送给设备F和设备E的过程,可以看做设备A和设备F之间有一个单播隧道,设备A和设备E之间有另一个单播隧道。为了 便于描述,下面以设备A通过单播隧道将第二报文发送给设备E的过程为例进行说明。 例如,设备A可以对从SRC1接收到的第一报文的外层再封装一个隧道头得到第二报文, 该第二报文包括隧道头和第一报文。该隧道头比如可以是多协议标签交换(multiple protocol labelswitching,MPLS)隧道头或者IP隧道头或者IPv6隧道头。以IP隧道头为 例,第二报文中IP隧道头的源地址是设备A的地址,IP隧道头的目的地址是设备E的地 址E1。举例说明,这种实现方式中,设备A发送给设备E的第二报文如下所示:{IP隧 道头(IPv6头(SA=A1,DA=E1)),IPv6头(SA=SRC1,DA=A1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)}。又如,设备A会对接收到的第一报文的的外层增 加封装一个隧道头得到第二报文,该第二报文包括隧道头和第三报文,第三报文是基于设 备E的地址E1和第一报文获得的报文,该第三报文的目的地址为设备E的地址E1。以隧 道头用IP隧道头或者IPv6隧道头时,隧道头的目的地址也是E的一个地址,例如也可以 是E1。举例说明,这种实现方式中,设备A发送给设备E的第二报文如下所示:{IP隧 道头(IPv6头(SA=A1,DA=E1)),IPv6头(SA=SRC1,DA=E1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,VideoPayload)}。
另一种可能的实现方式中,设备A将第二报文发送给设备F和设备E的过程,可以看做设备A通过多播隧道(例如点到多点(point-to-multipoint,P2MP)隧道或者MP2MP 隧道)分别发送给设备F和设备E。例如,设备A对收到的第一报文增加封装一个多播隧 道头得到第二报文,该第二报文包括隧道头和第三报文,第三报文是基于组播地址和所述 第一报文获得的报文。比如,该第三报文的目的地址为一个组播组地址MC-Grp-1,该组 播组地址MC-Grp-1可以用于将第二报文通过多播隧道分别发送给设备E和设备F。举例 说明,这种实现方式中,设备A发送的第二报文如下所示:{P2MP隧道头,IPv6头 (SA=SRC1,DA=MC-Grp-1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)}。
步骤630:设备E、设备F通过Fabric网络分别将第二报文发送至RCV2、RCV3、RCVX。
下面以设备E通过单播隧道接收设备A发送的第二报文为例,对设备E通过Fabric网络分别向RCV2、RCV3、RCVX发送报文的具体实现过程进行描述。
以设备E通过单播隧道接收到的第二报文为:{IP隧道头(IPv6头(SA=A1,DA=E1)), IPv6头(SA=SRC1,DA=A1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)}作为示例。设备E根据第二报文的IP隧道头中的DA为自己,对该第二报文进 行解封装,得到内层的第一报文{IPv6头(SA=SRC1,DA=A1),IPv6扩展头(BitString=0000 1110),用户报文(UDP,Video Payload)},并根据内层报文的DA为A1确定该报文属于第 一用户。
设备E还可以根据第一报文的IPv6扩展头中的BitString为0000 1110,确定需要向 RCV2、RCV3、RCVX发送报文。设备E发送给RCV2的报文中外层IPv6头的DA为RCV2 的地址,IPv6扩展头中的BitString为0000 0010,设备E发送给RCV3的报文中外层IPv6 头的DA为RCV3的地址,IPv6扩展头中的BitString为0000 0100。发送给RCVX的报文 中外层IPv6头的DA为RCVX的地址,IPv6扩展头中的BitString为0000 1000。
需要说明的是,设备E也可以对分别发送给RCV2、RCV3、RCVX的报文中的checksum进行重新计算和更改。例如,设备A收到SRC发送的报文,再通过单播隧道发送给设备 F或设备E时,虽然内层报文的目的地址进行了更改,但不对UDP头的checksum进行更 改,在设备E或设备F收到报文时也不对UDP头的checksum进行校验。但当设备E和 设备F发送给RCV2/RCV3/RCVX时则进行checksum的重新计算和更改,使得 RCV2/RCV3/RCVX上收到的checksum是正确的。再如,设备A对从SRC收到的报文经 过多播隧道封装发送给设备F和设备E时,虽然内层报文的目的地址进行了更改,但不对 UDP头的checksum进行更改,在设备E或设备F收到报文时也不对UDP头的checksum 进行校验。但当设备E和设备F发送给RCV2/RCV3/RCVX时则进行checksum的重新计 算和更改,使得RCV2/RCV3/RCVX上收到的报文的checksum是正确的。
图7是应用于实施例的一种多数据中心多租户的场景示意图。在如图7所示的一个区 域内可以包括多个数据中心或可用区(available zone,AZ)。其中,Fabric1位于第一个数 据中心或可用区AZ,Fabric2位于第2个AZ,Fabric位于第3个AZ,这三个AZ之间相 互连接。R1/R2/R3分别是AZ1、AZ2、AZ3的复制路由器。第一用户包括位于AZ1的 J1/J2/J3、位于AZ2的J4/J5/J6以及位于AZ3的J7/J8。第二用户包括位于AZ1的H1/H2/H3、 位于AZ2的H4/H5/H6以及位于AZ3的H7/H8。
下面以图7所示的应用场景为例,结合图8,对本申请实施例提供的一种在多数据中 心多租户场景内进行报文传输的方法的具体实现过程进行详细描述。图8是本申请实施例 提供的一种在多数据中心多租户场景内进行报文传输的方法的示意性流程图。如图8所示,该方法可以包括步骤810-820,下面分别对步骤810-820进行详细描述。为了便于描 述,下面以第一用户的J1需要将报文分别发送至J2/J3/J4/J5/J6/J7/J8为例进行说明。
步骤810:J1根据原始用户报文获得第一报文,并通过Fabric1网络发送给R1。
假设J1需要发送报文给J2/J3/J4/J5/J6/J7/J8,J1可以封装如下的第一报文:{IPv6头(SA=J1,DA=IP1),IPv6扩展头(BitString=1111 1110),用户报文(UDP,VideoPayload)}
其中,DA为R1上为第一用户分配的地址IP1。J1可以根据DA为IP1,通过Fabric1 网络将上述第一报文发送给R1。
步骤820:R1根据第一用户对应的转发表项以及第一报文中的BitString确定第二报 文,并对该第二报文进行转发。
R1上可以配置对应于多个租户的IP组播转发实例,例如可以将对应于第一用户的IP 组播转发实例配置在VRF实例1(vrf1)上,将对应于第二用户的IP组播转发实例配置 在VRF实例2(vrf2)上。具体的如下表2所示。
表2设备R1/R2/R3上配置的第一用户、第二用户对应的IP组播转发实例
Figure BDA0003046585800000171
Figure BDA0003046585800000181
R1通过Fabric1网络收到J1发送的第一报文后,可以确定第一报文属于第一用户,并根据vrf1所对应的转发表确定第二报文,并对该第二报文进行转发。下面对具体的转发过程进行详细描述。为了便于描述,本申请实施例中可以将报文中最右的一个bit本文称为bit 1,从右往左依次是bit 2、3、4、5、6、7、8。
由于第一报文的BitString中的bit 2、3分别对应于J2和J3,J1根据表2中vrf1对应 的转发表项“IP地址=J2,Nbr=J2,FBM=0000 0010”以及“IP地址=J3,Nbr=J3,FBM=0000 0100”,确定J1需要向J2和J3发送报文。具体的,J1向J2发送报文时,报文转发的实 际路径会经过Fabric1,该报文外层IPv6头中的DA为J2的地址,IPv6扩展头中的BitString 为0000 0010。J1向发送J3发送报文时,报文外层IPv6头中的DA为J3的地址,IPv6扩 展头中的BitString为0000 0100。
本实施例中,J1发送给J2/J3的报文中的BitString是第一报文中的BitString和转发表 项中的FBM进行AND操作的结果。以J1发送给J2的报文为例,J1接收到的第一报文中的BitString为1111 1110,转发表项中的FBM为0000 0010,AND操作的结果为0000 0010,因此,J1发送给J2的报文的BitString为0000 0010。由于第一报文的BitString中的bit4、5、6分别对应于J4/J5/J6,J1根据表2中vrf1对应的转发表项“IP地址=J4/J5/J6, Nbr=R2<IP12>,FBM=0011 1000”,确定J1需要向R2<IP12>发送报文。具体的,J1向 R2发送报文时,报文转发的实际路径会经过Fabric1和Fabric2,该报文外层IPv6头中的 DA为R2的地址IP12,IPv6扩展头中的BitString为0011 1000。
R2接收到该报文后,根据DA为IP12确定该报文属于第一用户,并根据vrf1所对应的转发表对该报文进行转发。例如,R2根据表2中vrf1对应的转发表项“IP地址=J4,Nbr=J4, FBM=0000 1000”确定需要向J4发送报文。具体的,R2向J4发送报文时,该报文外层IPv6头中的DA为J4的地址,IPv6扩展头中的BitString为0000 1000。又如,R2根据表 2中vrf1对应的转发表项“IP地址=J5,Nbr=J5,FBM=0001 0000”确定需要向J5发送报 文。具体的,R2向J5发送报文时,该报文外层IPv6头中的DA为J5的地址,IPv6扩展 头中的BitString为0001 0000。又如,R2根据表2中vrf1对应的转发表项“IP地址=J6,Nbr=J6,FBM=0010 0000”确定需要向J6发送报文。具体的,R2向J6发送报文时,该报文外层 IPv6头中的DA为J6的地址,IPv6扩展头中的BitString为0010 0000。
由于第一报文的BitString中的bit 7、8分别对应于J7和J8,J1根据表2中vrf1对应 的转发表项“IP地址=J7/J8,Nbr=R3<IP13>,FBM=1100 0000”确定需要向R3<IP13>发送报文。具体的,J1向R3发送报文时,报文转发的实际路径会经过Fabric1和Fabric3, 该报文外层IPv6头中的DA为R3的地址IP13,IPv6扩展头中的BitString为1100 0000。 R3接收到该报文后,根据DA为IP13确定该报文属于第一用户,并根据vrf1所对应的转 发表对该报文进行转发。例如,R3根据表2中vrf1对应的转发表项“IP地址=J7,Nbr=J7, FBM=01000000”确定需要向J7发送报文。具体的,R3向J7发送报文时,该报文外层 IPv6头中的DA为J7的地址,IPv6扩展头中的BitString为0100 0000。又如,R3根据表 2中vrf1对应的转发表项“IP地址=J8,Nbr=J8,FBM=1000 0000”确定需要向J8发送报 文。具体的,R3向J8发送报文时,该报文外层IPv6头中的DA为J8的地址,IPv6扩展 头中的BitString为1000 0000。
图9是应用于实施例的一种跨region的多数据中心多租户场景示意图。如图9所示, 该场景中可以包括多个region,例如,7个region,分别是region1、region2、region3、region4、 region5、region6、region7。每个region有一个区域路由器(region router,RR1),图9 所示的RR1-RR7分别代表region1-region7。RR1-RR7可以是云商(cloudprovider)的网 络,云商的网络也可以称为(云)服务提供商。
下面对各个region中的租户情况进行举例说明。
region1:包括第一用户的主机J1-J8,第二用户的主机H1-H8。
region2:包括第一用户的主机J9-J13,第二用户的主机H9-H11。
region3:包括第一用户的主机J14-J16,第二用户的主机H12-H16。
region4:包括第一用户的主机为空,第二用户的主机H17-H18。
region5:包括第一用户的主机J20-J24,第二用户的主机为空。
region6:包括第一用户的主机J25-J32,第二用户的主机H21-H24。
region7:包括第一用户的主机为空,第二用户的主机H25-H 32。
图10示出了region1中的一种可能的场景。一个region内可以包括多个AZ。如图10所示,region1中可以包括AZ1、AZ2、AZ3,其中,AZ1包括H1-3、J1-3、Fabric1、R1, AZ2包括H4-6、J4-6、Fabric2、R2,AZ3包括H7-8、J7-8、Fabric3、R3。region1中还包 括一个区域路由器RR1及Fabric0,RR1通过Fabric0及各AZ的Fabric与区域中的各节点 相连。
下面以图9所示的应用场景为例,结合图11,对本申请实施例提供的一种在跨region 的场景内进行报文传输的方法的具体实现过程进行详细描述。图11是本申请实施例提供 的在跨region的场景内进行报文传输的方法的示意性流程图。如图11所示,该方法可以 包括步骤1110-1170,下面分别对步骤1110-1170进行详细描述。
为了便于描述,下面以第一用户位于region 1的J1需要发送报文给region2、region3、 region5、region6的每一个主机为例,对一种跨region的场景内进行报文传输的方法进行 说明。
步骤1110:region 1中的J1根据原始用户报文获得第一报文,并将该第一报文发送给 region 1中的RR1。
假设第一用户为主机J1-J8、J9-J13、J14-J16、J20-24、J25-32分配的BFR-id分别是 1-8、9-13、14-16、20-24、25-32。第一用户位于region 1的J1需要发送报文给region2、region3、region5、region6的每一个主机(例如,J9-J13、J14-J16、J20-J24、J25-J32), J1可以对原始用户报文进行封装,得到如下的第一报文:{IPv6头(SA=J1,DA=RR1_1), IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户报文(UDP,VideoPayload)}。其中,IPv6头的SA为J1的地址,DA为RR1上为第一用户分配的地址RR1_1。 IPv6扩展头中的BitString从右往左的bit位中值为1的bit位包括:bit 9-16(代表J9-J16),20-32(代表J20-J32)。
J1可以根据DA为RR1上为第一用户分配的地址RR1_1,将该第一报文发送给RR1。
步骤1120:RR1根据第一报文的BitString,对第一报文进行封装获得第二报文,并根据RR1的BIER转发表将该第二报文发送给RR2。
RR1在接收到J1发送的第一报文后,可以确定该第一报文属于第一用户。具体的,作为示例,在RR1上,也需要为第一用户、第二用户分配不同的IP组播复制服务地址, 本实施例中用RR1_1和RR1_2分别表示RR1上为第一用户、第二用户提供IP组播复制 服务的地址。RR1上收到的第一报文目的地址是RR1_1时,RR1可以确定报文属于第一 用户。例如,RR1上为第一用户配置vrf1,将RR1_1的地址绑定在vrf1上。RR1还通过 VLAN ID 10子接口绑定第一用户对应的vrf1,VLAN ID 10的子接口连接Fabric0,Fabric0 上的路由器设备将VLANID 10的子接口和VNI 10绑定,Fabric0-Fabric1之间通过VNI 10 标识第一用户。这样RR1上的RR1_1地址只能通过VLAN ID 10、VNI 10进行访问,RR1 可以根据接收到的报文目的地址为RR1_1,或者接收报文的接口是VLAN ID 10的子接口 等方式确定该第一报文属于第一用户。
为了实现跨region进行报文传输,作为第一用户的服务提供商,会对RR1~RR7分配 BFR ID,这个BFR ID的分配空间不同于第一用户,而是服务提供商自己所分配的。例如服务提供商可以对RR1~RR7分别分配BFR ID=1~7。
一种实现方式中,RR1可以根据第一报文中的BitString确定报文要发送给哪些RR所 在的region,并确定封装第二报文的BitString,该BitString为服务提供商自己的BitString。 在这种实现方式中,为了能根据第一用户的报文中的BitString确定报文要发送给哪些RR 所在的区域,服务提供商会还会建立第一用户的Bit位和服务提供商自己的Bit位的对应 关系,以便在收到第一用户的报文后根据报文中的BitString确定服务提供商自己的 BitString。具体的如下表3所示。
表3设备RR1上第一用户的Bit位和服务提供商自己的Bit位的对应关系
第一用户的Bitmask 服务提供商的BFR-id
0000 0000,0000 0000,0000 0000,1111 1111(bit 1-8) 1
0000 0000,0000 0000,0001 1111,0000 0000(bit 9-13) 2
0000 0000,0000 0000,1110 0000,0000 0000(bit 14-16) 3
0000 0000,1111 1000,0000 0000,0000 0000(bit 20-24) 5
1111 1111,0000 0000,0000 0000,0000 0000(bit 25-32) 6
如果第一用户的报文中的BitString和上表3中的第1行的BitMask进行AND操作的结果为非0,则服务提供商的BitString中的第1位将置1,其它各行同理。作为示例,RR1 接收到的第一报文的BitString=1111 1111,1111 1000,1111 1111,0000 0000,其从右往左的bit位中值为1的bit位包括:bit 9-16(代表J9-J16),20-32(代表J20-J32)。因此, RR1可以根据表3确定服务提供商自己的BitString为0011 0110(即自己的BFR ID 2/3/5/6 位置1)。
服务提供商还可以建立的自己的BIER转发表,具体的如下表4所示。
表4服务提供商建立的自己的BIER转发表
Figure BDA0003046585800000211
如表4所示,每个RR节点对于收到的报文,会取报文中的BitString和每个表项中的 FBM进行AND操作。当AND操作的结果是非0值时,标识该条表项需要处理。如果该 条表项没有Flag=Decapsulation的指示,则会往相应的邻居发送报文,并且发送给邻居的 报文的BitString会更新为AND操作后的结果。如果该条表项有Flag=Decapsulation的指 示,则会复制一份报文并将报文解封装去掉外层封装的头部,再对内层报文进行转发。
针对第一用户,RR1/RR2/RR3/RR5/RR6上还会生成对应于第一用户vrf1的BIER转发表,如下表5所示。
表5RR1/RR2/RR3/RR5/RR6上对应于第一用户vrf1的BIER转发表
Figure BDA0003046585800000212
Figure BDA0003046585800000221
在这种实现方式中,RR1可以对该第一报文封装一个新的IPv6头2和IPv6扩展头2,得到如下的第二报文:{IPv6头2(SA=RR1_1,DA=0),IPv6扩展头2(BitString=00110110), IPv6头(SA=J1,DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111, 0000 0000),用户报文(UDP,Video Payload)}。
其中,IPv6头2的SA为RR1上为第一用户分配的地址RR1_1,DA的地址为0,需 要进一步的根据由IPv6扩展头2中的BitString所确定的下一跳节点确定。具体的,RR1 根据所获得的报文中的Ipv6扩展头2中的BitString以及RR1的BIER转发表(表4), 将Ipv6扩展头2中的BitString和BIER转发表中RR1对应的每一个转发表项的FBM进行 AND操作,确定是否往该转发表发送(或解封装并发送)报文。
作为示例,本例中只会往Nbr=RR2的这一个转发表项发送,发送给RR2的第二报文如下:
{IPv6头2(SA=RR1_1,DA=RR2),
IPv6扩展头2(BitString=0011 0110),
IPv6头(SA=J1,DA=RR1_1),
IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),
用户报文(UDP,Video Payload)};
或者,RR1发送给RR2的报文的Ipv6头的目的地址也可以改为组播组地址 Mcast-Grp-1,具体的,RR1发送给RR2的第二报文如下:
{IPv6头2(SA=RR1_1,DA=RR2),
IPv6扩展头2(BitString=0011 0110),
IPv6头(SA=J1,DA=Mcast-Grp-1),
IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),
用户报文(UDP,Video Payload)};
另一种实现方式中,为了避免服务提供商要建立第一用户的Bit位和服务提供商自己 的Bit位的对应关系,简化实现的过程,也可以在入口RR路由器(例如,RR1)中配置 生成一个第一用户和BitString的静态映射关系。这样,即使第一用户的某个用户报文只到部分区域,报文也会发送给第一用户的所有区域路由器,再在区域路由器上丢弃报文。例如:针对第一用户,RR1上生成如下的对应关系:(第一用户,BitString=0011 0110), 其中从右往左的值为1的bit位分别是bit 2/3/5/6,分别对应于RR2/3/5/6。即RR1收到第 一用户的报文后会封装隧道头并携带BitString=0011 0110,从而将报文发送给RR2/3/5/6。当RR2收到上述报文,根据Ipv6扩展头2中的BitString以及RR2的BIER转发表,如果 报文中的Bit位9-13中有任何一位或多位1bit则报文会发给相应的主机,如果报文中的 Bit位9-13中没有任何一个值为1的bit则报文会在RR2上丢弃。这种方式虽然可能导致 链路带宽浪费,但对RR1来说实现较为简单,第一用户和第二用户也不需要针对各区域 的RR路由器配置BFR ID,只需要服务提供商配置各区域的RR路由器的BFR ID即可。
步骤1130:RR2接收RR1发送的第二报文,并根据RR2的BIER转发表分别向region2中的J9-J13以及RR3发送报文。
一个示例,RR2接收RR1发送的第二报文后,可以根据Ipv6扩展头2中的BitString(0011 0110)中从右往左的第2个bit为置1以及表4中RR2的BIER转发表项“Nbr=RR2*, FBM=0000 0010,Flag=Decapsulation”,确定该第二报文需要往Nbr=RR2的这一转发表 项发送。该表项有Flag=Decapsulation标记,RR2将第二报文解封装获得内层的第一报文{IPv6头(SA=J1,DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,11111111, 0000 0000),用户报文(UDP,Video Payload)}。RR2确定第一报文属于第一用户(即vrf1), 根据RR2上生成的对应于第一用户vrf1的BIER转发表进行转发。例如,RR2可以根据外层SA=RR1_1确定报文属于第一用户。RR2接收到RR1发送的第二报文中Ipv6头的目 的地址也可能是组播组地址Mcast-Grp-1,上述Ipv6头的DA为RR1_1只是一种举例说明。
具体的,RR2可以根据解封装后获得的第一报文的BitString=1111 1111,11111000, 1111 1111,0000 0000以及转发表项“Nbr=J9,FBM=0000 0000,0000 0000,00000000,0000 0001,0000 0000”、“Nbr=J10,FBM=0000 0000,0000 0000,0000 0000,00000010,0000 0000”、“Nbr=J11,FBM=0000 0000,0000 0000,0000 0000,0000 0100,00000000”、 “Nbr=J12,FBM=0000 0000,0000 0000,0000 0000,0000 1000,0000 0000”、“Nbr=J13, FBM=0000 0000,0000 0000,0000 0000,0001 0000,0000 0000”确定需要将第一报文分别 发送给J9、J10、J11、J12、J13。发送给J9、J10、J11、J12、J13的报文目的地址分别是 J9、J10、J11、J12、J13。
举例说明,RR2发送给J9的报文如下:{IPv6头(SA=J1,DA=J9),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000,0000 0001,0000 0000),用户报文(UDP,Video Payload)}。发送给J10的报文如下:{IPv6头(SA=J1,DA=J10),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000,0000 0010,0000 0000),用户报文(UDP,Video Payload)}。发送 给J11的报文如下:{IPv6头(SA=J1,DA=J11),IPv6扩展头(BitString=0000 0000,0000 0000, 0000 0000,0000 0100,0000 0000),用户报文(UDP,Video Payload)}。发送给J12的报文如 下:{IPv6头(SA=J1,DA=J12),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000, 0000 1000,0000 0000),用户报文(UDP,Video Payload)}。发送给J13的报文如下:{IPv6 头(SA=J1,DA=J13),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000,0001 0000, 0000 0000),用户报文(UDP,Video Payload)}。需要说明的是,发送给J9/J10/J11/J12/J13 的报文中的用户报文UDP的checksum可以相应的更新。具体的更新方法请参考上文中确 定第二报文的checksum值的具体实现方式,此处不再赘述。
另一个示例,RR2接收RR1发送的第二报文后,可以根据Ipv6扩展头2中的BitString (0011 0110)中从右往左的第3、5、6个bit为置1以及表4中RR2的BIER转发表项“Nbr=RR3,FBM=0111 1100”,确定需要向RR3发送报文。发送给RR3的报文如下:{IPv6 头2(SA=RR1_1,DA=RR3),IPv6扩展头2(BitString=0011 0100),IPv6头(SA=J1, DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户 报文(UDP,Video Payload)}。RR2接收RR1发送的第二报文中,Ipv6头的目的地址也可 能是组播组地址Mcast-Grp-1,上述Ipv6头的目的地址为RR1_1只是一种举例说明。
步骤1140:RR3接收RR2发送的报文,并根据RR3的BIER转发分别向region3中 的J14-J16以及RR4发送报文。
一个示例,RR3接收RR2发送的报文后,可以根据Ipv6扩展头2中的BitString(00110100)中从右往左的第3个bit为置1以及表4中RR3的BIER转发表项“Nbr=RR3*, FBM=00000100,Flag=Decapsulation”,确定该报文需要往Nbr=RR3的这一转发表项发 送。该表项有Flag=Decapsulation标记,RR3将报文解封装获得内层报文{IPv6头(SA=J1, DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户 报文(UDP,Video Payload)}。RR3确定该报文属于第一用户(即vrf1),根据表5中RR3 上生成的对应于第一用户vrf1的BIER转发表进行转发。RR3接收RR2发送的报文中Ipv6 头的目的地址也可能是组播组地址Mcast-Grp-1,上述Ipv6头的DA为RR1_1只是一种举 例说明。
具体的,RR3可以根据解封装后获得的内层报文的BitString=1111 1111,11111000, 1111 1111,0000 0000以及转发表项“Nbr=J14,FBM=0000 0000,0000 0000,00000000,0010 0000,0000 0000”、“Nbr=J15,FBM=0000 0000,0000 0000,0000 0000,01000000,0000 0000”、“Nbr=J16,FBM=0000 0000,0000 0000,0000 0000,1000 0000,0000000”,将内 层报文分别发送给J14、J15、J16。发送给J14、J15、J16的报文目的地址分别是J14、J15、 J16。
举例说明,RR3发送给J14的报文如下:{IPv6头(SA=J1,DA=J14),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000,0010 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J15的报文如下:{IPv6头(SA=J1,DA=J15),IPv6扩展头(BitString=0000 0000,0000 0000,0000 0000,0100 0000,0000 0000),用户报文(UDP,Video Payload)}。发送 给J16的报文如下:{IPv6头(SA=J1,DA=J16),IPv6扩展头(BitString=0000 0000,0000 0000, 0000 0000,1000 0000,0000 000),用户报文(UDP,Video Payload)}。需要说明的是,发送 给J14/J15/J16的报文中的用户报文UDP的checksum可以相应的更新。具体的更新方法请 参考上文中确定第二报文的checksum值的具体实现方式,此处不再赘述。
另一个示例,RR3接收RR1发送的报文后,可以根据Ipv6扩展头2中的BitString(0011 0100)中从右往左的第5、6个bit为置1以及表4中RR3的BIER转发表项“Nbr=RR4,FBM=0111 1000”,确定需要将该报文发送给RR4。发送给RR4的报文如下:{IPv6头 2(SA=RR1_1,DA=RR4),IPv6扩展头2(BitString=0011 0000),IPv6头(SA=J1,DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户报文(UDP,Video Payload)}。RR3发送给RR4的报文中Ipv6头的目的地址也可能是组播组地址Mcast-Grp-1, 上述Ipv6头的DA为RR1_1只是一种举例说明。
步骤1150:RR4接收RR3发送的报文,并根据RR4的BIER转发表分别向RR5以及 RR6发送报文。
一个示例,RR4接收RR3发送的报文后,可以根据Ipv6扩展头2中的BitString(00110000)中从右往左的第5、第6个bit为置1以及表4中RR4的BIER转发表项“Nbr=RR5, FBM=0101 0000”、“Nbr=RR6,FBM=0010 0000”,确定需要将该报文发送给RR5、RR6。
举例说明,发送给RR5的报文如下:{IPv6头2(SA=RR1_1,DA=RR5),IPv6扩展头 2(BitString=0001 0000),IPv6头(SA=J1,DA=RR1_1),IPv6扩展头(BitString=11111111, 1111 1000,1111 1111,0000 0000),用户报文(UDP,Video Payload)}。发送给RR6的报文 如下:{IPv6头2(SA=RR1_1,DA=RR6),IPv6扩展头2(BitString=0010 0000),IPv6头(SA=J1, DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户 报文(UDP,Video Payload)}。RR4发送给RR5的报文中Ipv6头的目的地址也可能是组播 组地址Mcast-Grp-1,上述Ipv6头的DA为RR1_1只是一种举例说明。
步骤1160:RR5接收RR4发送的报文,并根据RR5的BIER转发表分别向region5 中的J20-J24发送报文。
RR5接收RR4发送的报文后,可以根据Ipv6扩展头2中的BitString(0001 0000)中从右往左的第5个bit为置1以及表4中RR5的BIER转发表项“Nbr=RR5*,FBM=0001 0000,Flag=Decapsulation”,确定该报文需要往Nbr=RR5的这一转发表项发送。该表项 有Flag=Decapsulation标记,RR5将该报文解封装获得内层报文{IPv6头(SA=J1, DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户 报文(UDP,Video Payload)}。RR5确定该报文属于第一用户(即vrf1),根据表5中RR5 上生成的对应于第一用户vrf1的BIER转发表进行转发。
具体的,RR5可以根据解封装后获得的内层报文的BitString=1111 1111,11111000, 1111 1111,0000 0000以及转发表项“Nbr=J20,FBM=0000 0000,0000 0000,00001000,0000 0000,0000 0000”、“Nbr=J21,FBM=0000 0000,0000 0000,0001 0000,00000000,0000 0000”、“Nbr=J22,FBM=0000 0000,0000 0000,0010 0000,0000 0000,00000000”、“Nbr=J23, FBM=0000 0000,0000 0000,0100 0000,0000 0000,0000 0000”、“Nbr=J24,FBM=0000 0000, 0000 0000,1000 0000,0000 0000,0000 0000”,将内层报文分别发送给J20、J21、J22、J23、 J24。发送给J20、J21、J22、J23、J24的报文目的地址分别是J20、J21、J22、J23、J24。
举例说明,RR5发送给J20的报文如下:{IPv6头(SA=J1,DA=J20),IPv6扩展头(BitString=0000 0000,0000 0000,0000 1000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J21的报文如下:{IPv6头(SA=J1,DA=J21),IPv6扩展头(BitString=0000 0000,0000 0000,0001 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送 给J22的报文如下:{IPv6头(SA=J1,DA=J22),IPv6扩展头(BitString=0000 0000,0000 0000, 0010 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J23的报文如 下:{IPv6头(SA=J1,DA=J23),IPv6扩展头(BitString=0000 0000,0000 0000,0100 0000, 0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J24的报文如下:{IPv6 头(SA=J1,DA=J24),IPv6扩展头(BitString=0000 0000,0000 0000,1000 0000,0000 0000, 0000 0000),用户报文(UDP,Video Payload)}。
需要说明的是,发送给J20/J21/J22/J23/J24的报文中的用户报文UDP的checksum可 以相应的更新。具体的更新方法请参考上文中确定第二报文的checksum值的具体实现方 式,此处不再赘述。
步骤1170:RR6接收RR4发送的报文,并根据RR6的BIER转发表分别向region6 中的J25-J32发送报文。
RR6接收RR4发送的报文后,可以根据Ipv6扩展头2中的BitString(0010 0000)中从右往左的第6个bit为置1以及表4中RR6的BIER转发表项“Nbr=RR6*,FBM=0010 0000,Flag=Decapsulation”,确定该报文需要往Nbr=RR6的这一转发表项发送。该表项 有Flag=Decapsulation标记,RR6将该报文解封装获得内层报文{IPv6头(SA=J1, DA=RR1_1),IPv6扩展头(BitString=1111 1111,1111 1000,1111 1111,0000 0000),用户 报文(UDP,Video Payload)}。RR6确定该报文属于第一用户(即vrf1),根据表5中RR6 上生成的对应于第一用户vrf1的BIER转发表进行转发。RR4发送给RR6的报文中Ipv6 头的目的地址也可能是组播组地址Mcast-Grp-1,上述Ipv6头的DA为RR1_1只是一种举 例说明。
具体的,RR6可以根据解封装后获得的内层报文的BitString=1111 1111,11111000, 1111 1111,0000 0000以及转发表项“Nbr=J25,FBM=0000 0000,0000 0001,00000000,0000 0000,0000 0000”、“Nbr=J26,FBM=0000 0000,0000 0010,0000 0000,00000000,0000 0000”、“Nbr=J27,FBM=0000 0000,0000 0100,0000 0000,0000 0000,00000000”、 “Nbr=J28,FBM=0000 0000,0000 1000,0000 0000,0000 0000,0000 0000”、“Nbr=J29, FBM=0000 0000,0001 0000,0000 0000,0000 0000,0000 0000”、“Nbr=J30,FBM=0000 0000, 0010 0000,0000 0000,0000 0000,0000 0000”、“Nbr=J31,FBM=00000000,0100 0000,0000 0000,0000 0000,0000 0000”、“Nbr=J32,FBM=0000 0000,10000000,0000 0000,0000 0000, 0000 0000”,将内层报文分别发送给J25-J32。发送给J25、J26、J27、J28、J29、J30、J31、 J32的报文目的地址分别是J25、J26、J27、J28、J29、J30、J31、J32。
举例说明,RR6发送给J25的报文如下:{IPv6头(SA=J1,DA=J25),IPv6扩展头(BitString=0000 0000,0000 0001,0000 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J26的报文如下:{IPv6头(SA=J1,DA=J26),IPv6扩展头(BitString=0000 0000,0000 0010,0000 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送 给J27的报文如下:{IPv6头(SA=J1,DA=J27),IPv6扩展头(BitString=0000 0000,0000 0100, 0000 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J28的报文如 下:{IPv6头(SA=J1,DA=J28),IPv6扩展头(BitString=0000 0000,0000 1000,0000 0000, 0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J29的报文如下:{IPv6 头(SA=J1,DA=J29),IPv6扩展头(BitString=0000 0000,0001 0000,0000 0000,0000 0000, 0000 0000),用户报文(UDP,Video Payload)}。发送给J30的报文如下:{IPv6头(SA=J1, DA=J30),IPv6扩展头(BitString=0000 0000,0010 0000,0000 0000,0000 0000,0000 0000), 用户报文(UDP,Video Payload)}。发送给J31的报文如下:{IPv6头(SA=J1,DA=J31),IPv6 扩展头(BitString=0000 0000,0100 0000,0000 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。发送给J32的报文如下:{IPv6头(SA=J1,DA=J32),IPv6扩展头(BitString=0000 0000,1000 0000,0000 0000,0000 0000,0000 0000),用户报文(UDP,Video Payload)}。
需要说明的是,发送给J25/J26/J27/J28/J29/J30/J31/J32的报文中的用户报文UDP的 checksum可以相应的更新。具体的更新方法请参考上文中确定第二报文的checksum值的 具体实现方式,此处不再赘述。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各 过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何 限定。
上文结合图1至图11,详细描述了本申请实施例提供的报文传输方法,下面将结合图12至图17,详细描述本申请的装置的实施例。方法实施例的描述与装置实施例的描述 相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图12是本申请实施例提供的一种用于报文传输的装置1200的示意性结构图,该装置 1200设置于第一网络设备。图12所示的该用于报文传输的装置1200可以执行上述实施例的报文传输方法的相应步骤。如图12所示,该装置1200包括:接收模块1210,处理 模块1220和发送模块1230。接收模块1210用于接收源用户设备发送的第一报文,该第 一报文包括第一比特串和目的地址DA,该第一比特串用于指示至少一个目的用户设备, 该第一报文的DA为该第一网络设备的地址。处理模块1220用于根据该第一比特串获取 第二报文,该第二报文包括第一信息,该第一信息用于指示到达该至少一个目的用户设备 的下一跳设备。发送模块1230用于向该下一跳设备发送该第二报文。
可选地,该下一跳设备为第一目的用户设备,该发送模块1230具体用于:向该第一目的用户设备发送该第二报文,该第一信息包括作为DA的该第一目的用户设备的地址。
可选地,该下一跳设备为第二网络设备,该发送模块1230具体用于:向该第二网络设备发送该第二报文,该第一信息包括作为DA的该第二网络设备的地址。
可选地,该下一跳设备为第二网络设备,该发送模块1230具体用于:通过隧道向该第二网络设备发送该第二报文,该第二报文包括隧道头,该第一信息为该隧道头包括的与该隧道对应的信息。
可选地,该第二报文包括该隧道头和该第一报文。
可选地,该第二报文包括该隧道头和第三报文,该第三报文是基于组播地址和该第一 报文获得的报文,该第三报文的DA为该组播地址;或者该第二报文包括该隧道头和第三 报文,该第三报文是基于该第一报文和该第二网络设备的地址获得的报文,该第三报文的 DA为该第二网络设备的地址。
可选地,该第一网络设备位于第一区域region,该第二网络设备位于第二region,该 第一信息包括第二比特串,该第二比特串用于指示该第二网络设备。
可选地,该处理模块1220还用于:根据对应关系和该第一比特串,获得该第二比特串,该对应关系包括该第一比特串中与该至少一个目的用户设备对应的比特位和该第二比特串中与该第二网络设备对应的比特位;根据该第二比特串获得该第二报文。
可选地,该第一网络设备位于第一数据中心,该第二网络设备位于第二数据中心;或 者该第一网络设备位于第一region,该第二网络设备位于第二region。
可选地,该第一报文还包括第一校验checksum,该第二报文还包括第二checksum,该第二checksum是基于该第一checksum、该第一报文的DA以及该第一信息获得的checksum。
可选地,该源用户设备和该至少一个目的用户设备属于同一用户。
可选地,所述第一报文为互联网协议第六版IPv6单播报文,所述IPv6单播报文包括 IPv6扩展头,所述第一比特串位于所述IPv6扩展头中。
图13是本申请实施例提供的一种用于报文传输的装置1300的示意性结构图,该装置 1300设于第二设备。图13所示的该用于报文传输的装置1300可以执行上述实施例的报文传输方法中的相应步骤。如图13所示,该装置1300包括:接收模块1310,用于接收 第一设备发送的第二报文,该第二报文包括第一信息,该第一信息用于指示第一设备到达 至少一个目的用户设备的下一跳设备。
可选地,该第二设备为第一目的用户设备,该第一设备为第一网络设备,该第一信息 包括作为目的地址DA的该第一目的用户设备的地址。
可选地,该第二设备为第二网络设备,该第一设备为第一网络设备,该第一设备为该 第一网络设备,该第一信息包括作为DA的该第二网络设备的地址。
可选地,该第二设备为第二网络设备,该第一设备为第一网络设备,该接收模块1310 具体用于:该第二网络设备通过隧道接收该第一网络设备发送的该第二报文,该第二报文 包括隧道头,该第一信息为该隧道头包括的与该隧道对应信息。
可选地,该第二报文包括该隧道头和第一报文,该第一报文包括第一比特串,该第一 比特串用于指示该至少一个目的用户设备。
可选地,该第二报文包括该隧道头和第三报文,该第三报文是基于组播地址和第一报 文获得的报文,该第三报文的DA为该组播地址,该第一报文包括第一比特串,该第一比 特串用于指示该至少一个目的用户设备;或者该第二报文包括该隧道头和第三报文,该第 三报文是基于该第一报文和该第二网络设备的地址获得的报文,该第三报文的DA为该第 二网络设备的地址,该第一报文包括第一比特串,该第一比特串用于指示该至少一个目的 用户设备。
可选地,该第一网络设备位于第一区域region,该第二网络设备位于第二region,该 第一信息包括第二比特串,该第二比特串用于指示该第二网络设备。
可选地,该第二报文还包括用户报文和第一比特串,该第一比特串用于指示该至少一 个目的用户设备,该装置1300还包括:处理模块1320,发送模块1330,
处理模块1320,用于基于该第二报文获得该用户报文;
发送模块1330,用于根据该第二报文包括的该第一比特串和该第一信息,向该第一 目的用户设备发送该用户报文。
可选地,该第二报文还包括用户报文,处理模块1320,用于对该第二报文进行解封装获得该用户报文;发送模块1330,用于根据该第二报文包括的该第一比特串和该第一 信息,向该第一目的用户设备发送该用户报文。
可选地,该第一网络设备位于第一数据中心,该第二网络设备位于第二数据中心;或 者该第一网络设备位于第一region,该第二网络设备位于第二region。
可选地,该第二报文还包括第二校验checksum,该第二checksum是基于第一报文包 括的第一checksum、该第一报文的DA以及该第一信息获得的checksum。
图14是本申请实施例的用于报文传输的装置2000的硬件结构示意图,该装置2000设置于第一网络设备。图14所示的用于报文传输的装置2000可以执行上述实施例的报 文传输方法。如图14所示,该装置2000包括处理器2001、存储器2002、接口2003和总 线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处 理器2001、存储器2002和接口2003通过总线2004连接。所述接口2003具体可以包括 发送器和接收器,用于第一网络设备实现上述收发。所述处理器2001用于执行上述实施 例中由第一网络设备进行的处理。存储器2002包括操作系统20021和应用程序20022, 用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成 方法实施例中涉及BFIR的处理过程。可选的,所述存储器2002可以包括只读存储器 (read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中, 所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所 述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM 中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正 常运行状态。在第一网络设备进入正常运行状态后,运行在RAM中的应用程序和操作系 统,从而,完成方法实施例中涉及第一网络设备的处理过程。图14仅仅示出了用于报文 传输的装置2000的简化设计。在实际应用中,该装置可以包含任意数量的接口,处理器 或者存储器。
图15为本申请实施例的另一种用于报文传输的装置2100的硬件结构示意图,该装置2100设置于第一网络设备。图15所示的用于报文传输的装置2100可以执行上述实施 例的报文传输方法。如图15所述,该装置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可对应于上述方法实施例所具有的功能和/或所实施 的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板 和备用主控板。接口板可能有一块或多块,BFIR的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图16是本申请实施例的用于报文传输的装置2200的硬件结构示意图,该装置2200设于第二设备。图16所示用于报文传输的装置2200可以执行上述实施例的方法中第二设备执行的相应步骤。如图16所示,该装置2200包括处理器2201、存储器2202、接口2203 和总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上 述处理器2201、存储器2202和接口2203通过总线2204连接。所述接口2203具体可以 包括发送器和接收器,用于第二设备实现上述收发。所述处理器2201用于执行上述实施 例中由第二设备进行的处理。存储器2202包括操作系统22021和应用程序22022,用于 存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法 实施例中涉及第二设备的处理过程。可选的,所述存储器2202可以包括只读存储器 (read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其 中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统; 所述RAM包括应用程序和操作系统。当需要运行第二设备时,通过固化在ROM中的BIOS 或者嵌入式系统中的bootloader引导系统进行启动,引导第二设备进入正常运行状态。在 第二设备进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法 实施例中涉及第二设备的处理过程。图16仅仅示出了用于报文传输的装置2200的简化设 计。在实际应用中,该装置可以包含任意数量的接口,处理器或者存储器。
图17为本申请实施例的另一种用于报文传输的装置2300的硬件结构示意图,该装置 2300设于第二设备。图17所示的用于报文传输的装置2300可以执行上述实施例的方法中第二设备执行的相应步骤。如图17所述,该装置2300包括:主控板2310、接口板2330、 交换网板2320和接口板2340。主控板2310、接口板2330和2340,以及交换网板2320 之间通过系统总线与系统背板相连实现互通。其中,主控板2310用于完成系统管理、设 备维护、协议处理等功能。交换网板2320用于完成各接口板(接口板也称为线卡或业务 板)之间的数据交换。接口板2330和2340用于提供各种业务接口(例如,POS接口、 GE接口、ATM接口等),并实现数据包的转发。接口板2330可以包括中央处理器2331、 转发表项存储器2334、物理接口卡2333和网络处理器2332。其中,中央处理器2331用 于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2334用 于保存表项,例如,上文中的转发表项。物理接口卡2133用于完成流量的接收和发送。 本申请实施例中接口板2340上的操作与所述接口板2330的操作一致,为了简洁,不再赘 述。本实施例的用于报文传输的装置2300可对应于上述方法实施例所具有的功能和/或所 实施的各种步骤,在此不再赘述。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当 该计算机程序代码在计算机上运行时,使得计算机执行上述第一网络设备执行的方法。这 些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(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)。
本申请实施例还提供了一种芯片,应用于第一网络设备中,该芯片包括:至少一个处 理器、至少一个存储器和接口电路,所述接口电路负责所述芯片与外界的信息交互,所述 至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储 器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方 法中所述第一网络设备的操作。在具体实现过程中,该芯片可以以中央处理器(centralprocessing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(microprocessing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip, SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列 (field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device, PLD)的形式实现。
本申请实施例还提供了一种芯片,应用于第二设备中,该芯片包括:至少一个处理器、 至少一个存储器和接口电路,所述接口电路负责所述芯片与外界的信息交互,所述至少一 个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存 储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法第二 设备的操作。在具体实现过程中,该芯片可以以中央处理器(central processingunit,CPU)、 微控制器(micro controller unit,MCU)、微处理器(micro processingunit,MPU)、数 字信号处理器(digital signal processing,DSP)、片上系统(system onchip,SoC)、专 用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmablelogic device,PLD) 的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一网络设备中,所述计算机程 序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述 第一网络设备的操作。
本申请实施例还提供了一种计算机程序产品,应用于第二设备中,所述计算机程序产 品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第二 设备的操作。
本申请实施例还提供了一种系统,包括:上述第一网络设备和第二设备。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现 有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的 介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (46)

1.一种报文传输方法,其特征在于,所述方法包括:
第一网络设备接收源用户设备发送的第一报文,所述第一报文包括第一比特串和目的地址DA,所述第一比特串用于指示至少一个目的用户设备,所述第一报文的DA为所述第一网络设备的地址;
所述第一网络设备根据所述第一比特串获取第二报文,所述第二报文包括第一信息,所述第一信息用于指示到达所述至少一个目的用户设备的下一跳设备;
所述第一网络设备向所述下一跳设备发送所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述下一跳设备为第一目的用户设备,所述第一网络设备向所述下一跳设备发送所述第二报文,包括:
所述第一网络设备向所述第一目的用户设备发送所述第二报文,所述第一信息包括作为DA的所述第一目的用户设备的地址。
3.根据权利要求1所述的方法,其特征在于,所述下一跳设备为第二网络设备,所述第一网络设备向所述下一跳设备发送所述第二报文,包括:
所述第一网络设备向所述第二网络设备发送所述第二报文,所述第一信息包括作为DA的所述第二网络设备的地址。
4.根据权利要求1所述的方法,其特征在于,所述下一跳设备为第二网络设备,所述第一网络设备向所述下一跳设备发送所述第二报文,包括:
所述第一网络设备通过隧道向所述第二网络设备发送所述第二报文,所述第二报文包括隧道头,所述第一信息为所述隧道头包括的与所述隧道对应的信息。
5.根据权利要求4所述的方法,其特征在于,所述第二报文包括所述隧道头和所述第一报文。
6.根据权利要求4所述的方法,其特征在于,所述第二报文包括所述隧道头和第三报文,所述第三报文是基于组播地址和所述第一报文获得的报文,所述第三报文的DA为所述组播地址;或者
所述第二报文包括所述隧道头和第三报文,所述第三报文是基于所述第一报文和所述第二网络设备的地址获得的报文,所述第三报文的DA为所述第二网络设备的地址。
7.根据权利要求4所述的方法,其特征在于,所述第一网络设备位于第一区域region,所述第二网络设备位于第二region,所述第一信息包括第二比特串,所述第二比特串用于指示所述第二网络设备。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一网络设备根据对应关系和所述第一比特串,获得所述第二比特串,所述对应关系包括所述第一比特串中与所述至少一个目的用户设备对应的比特位和所述第二比特串中与所述第二网络设备对应的比特位;
所述第一网络根据所述第二比特串获得所述第二报文。
9.根据权利要求3至8任一所述的方法,其特征在于,所述第一网络设备位于第一数据中心,所述第二网络设备位于第二数据中心;或者
所述第一网络设备位于第一region,所述第二网络设备位于第二region。
10.根据权利要求1至9任一所述的方法,其特征在于,所述第一报文还包括第一校验checksum,所述第二报文还包括第二checksum,所述第二checksum是基于所述第一checksum、所述第一报文的DA以及所述第一信息获得的checksum。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述源用户设备和所述至少一个目的用户设备属于同一用户。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述第一报文为互联网协议第六版IPv6单播报文,所述IPv6单播报文包括IPv6扩展头,所述第一比特串位于所述IPv6扩展头中。
13.一种报文传输方法,其特征在于,所述方法包括:
第二设备接收第一设备发送的第二报文,所述第二报文包括第一信息,所述第一信息用于指示第一设备到达至少一个目的用户设备的下一跳设备。
14.根据权利要求13所述的方法,其特征在于,所述第二设备为第一目的用户设备,所述第一设备为第一网络设备,所述第一信息包括作为目的地址DA的所述第一目的用户设备的地址。
15.根据权利要求13所述的方法,其特征在于,所述第二设备为第二网络设备,所述第一设备为所述第一网络设备,所述第一信息包括作为DA的所述第二网络设备的地址。
16.根据权利要求13所述的方法,其特征在于,所述第二设备为第二网络设备,所述第一设备为第一网络设备,所述第二设备接收第一网络设备发送的第二报文,包括:
所述第二网络设备通过隧道接收所述第一网络设备发送的所述第二报文,所述第二报文包括隧道头,所述第一信息为所述隧道头包括的与所述隧道对应信息。
17.根据权利要求16所述的方法,其特征在于,所述第二报文包括所述隧道头和第一报文,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备。
18.根据权利要求16所述的方法,其特征在于,所述第二报文包括所述隧道头和第三报文,所述第三报文是基于组播地址和第一报文获得的报文,所述第三报文的DA为所述组播地址,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备;或者
所述第二报文包括所述隧道头和第三报文,所述第三报文是基于所述第一报文和所述第二网络设备的地址获得的报文,所述第三报文的DA为所述第二网络设备的地址,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备。
19.根据权利要求16至18任一所述的方法,其特征在于,所述第一网络设备位于第一区域region,所述第二网络设备位于第二region,所述第一信息包括第二比特串,所述第二比特串用于指示所述第二网络设备。
20.根据权利要求15所述的方法,其特征在于,所述第二报文还包括用户报文和第一比特串,所述第一比特串用于指示所述至少一个目的用户设备,所述方法还包括:
所述第二网络设备基于所述第二报文获得所述用户报文;
所述第二网络设备根据所述第二报文包括的所述第一比特串和所述第一信息,向所述至少一个目的用户设备发送所述用户报文。
21.根据权利要求16至18任一所述的方法,其特征在于,所述第二报文还包括用户报文,所述方法还包括:
所述第二网络设备对所述第二报文进行解封装获得所述用户报文;
所述第二网络设备根据所述第二报文包括的所述第一比特串和所述第一信息,向所述第一目的用户设备发送所述用户报文。
22.根据权利要求15至20任一所述的方法,其特征在于,所述第一网络设备位于第一数据中心,所述第二网络设备位于第二数据中心;或者
所述第一网络设备位于第一region,所述第二网络设备位于第二region。
23.根据权利要求13至22任一所述的方法,其特征在于,所述第二报文还包括第二校验checksum,所述第二checksum是基于第一报文包括的第一checksum、所述第一报文的DA以及所述第一信息获得的checksum。
24.一种用于报文传输的装置,其特征在于,所述装置设置于第一网络设备,包括:
接收模块,用于接收源用户设备发送的第一报文,所述第一报文包括第一比特串和目的地址DA,所述第一比特串用于指示至少一个目的用户设备,所述第一报文的DA为所述第一网络设备的地址;
处理模块,用于根据所述第一比特串获取第二报文,所述第二报文包括第一信息,所述第一信息用于指示到达所述至少一个目的用户设备的下一跳设备;
发送模块,用于向所述下一跳设备发送所述第二报文。
25.根据权利要求24所述的装置,其特征在于,所述下一跳设备为第一目的用户设备,所述发送模块具体用于:
向所述第一目的用户设备发送所述第二报文,所述第一信息包括作为DA的所述第一目的用户设备的地址。
26.根据权利要求24所述的装置,其特征在于,所述下一跳设备为第二网络设备,所述发送模块具体用于:
向所述第二网络设备发送所述第二报文,所述第一信息包括作为DA的所述第二网络设备的地址。
27.根据权利要求24所述的装置,其特征在于,所述下一跳设备为第二网络设备,所述发送模块具体用于:
通过隧道向所述第二网络设备发送所述第二报文,所述第二报文包括隧道头,所述第一信息为所述隧道头包括的与所述隧道对应的信息。
28.根据权利要求27所述的装置,其特征在于,所述第二报文包括所述隧道头和所述第一报文。
29.根据权利要求27所述的装置,其特征在于,所述第二报文包括所述隧道头和第三报文,所述第三报文是基于组播地址和所述第一报文获得的报文,所述第三报文的DA为所述组播地址;或者
所述第二报文包括所述隧道头和第三报文,所述第三报文是基于所述第一报文和所述第二网络设备的地址获得的报文,所述第三报文的DA为所述第二网络设备的地址。
30.根据权利要求27至29任一所述的装置,其特征在于,所述第一网络设备位于第一区域region,所述第二网络设备位于第二region,所述第一信息包括第二比特串,所述第二比特串用于指示所述第二网络设备。
31.根据权利要求30所述的装置,其特征在于,所述处理模块还用于:
根据对应关系和所述第一比特串,获得所述第二比特串,所述对应关系包括所述第一比特串中与所述至少一个目的用户设备对应的比特位和所述第二比特串中与所述第二网络设备对应的比特位;
根据所述第二比特串获得所述第二报文。
32.根据权利要求26至31任一所述的装置,其特征在于,所述第一网络设备位于第一数据中心,所述第二网络设备位于第二数据中心;或者
所述第一网络设备位于第一region,所述第二网络设备位于第二region。
33.根据权利要求24至32任一所述的装置,其特征在于,所述第一报文还包括第一校验checksum,所述第二报文还包括第二checksum,所述第二checksum是基于所述第一checksum、所述第一报文的DA以及所述第一信息获得的checksum。
34.根据权利要求24至33中任一所述的装置,其特征在于,所述源用户设备和所述至少一个目的用户设备属于同一用户。
35.根据权利要求24至34中任一项所述的装置,其特征在于,所述第一报文为互联网协议第六版IPv6单播报文,所述IPv6单播报文包括IPv6扩展头,所述第一比特串位于所述IPv6扩展头中。
36.一种用于报文传输的装置,其特征在于,所述装置设于第二设备,包括:
接收模块,用于接收第一设备发送的第二报文,所述第二报文包括第一信息,所述第一信息用于指示第一设备到达至少一个目的用户设备的下一跳设备。
37.根据权利要求36所述的装置,其特征在于,所述第二设备为第一目的用户设备,所述第一设备为第一网络设备,所述第一信息包括作为目的地址DA的所述第一目的用户设备的地址。
38.根据权利要求36所述的装置,其特征在于,所述第二设备为第二网络设备,所述第一设备为所述第一网络设备,所述第一信息包括作为DA的所述第二网络设备的地址。
39.根据权利要求36所述的装置,其特征在于,所述第二设备为第二网络设备,所述第一设备为第一网络设备,所述接收模块具体用于:
通过隧道接收所述第一网络设备发送的所述第二报文,所述第二报文包括隧道头,所述第一信息为所述隧道头包括的与所述隧道对应信息。
40.根据权利要求39所述的装置,其特征在于,所述第二报文包括所述隧道头和第一报文,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备。
41.根据权利要求39所述的装置,其特征在于,所述第二报文包括所述隧道头和第三报文,所述第三报文是基于组播地址和第一报文获得的报文,所述第三报文的DA为所述组播地址,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备;或者
所述第二报文包括所述隧道头和第三报文,所述第三报文是基于所述第一报文和所述第二网络设备的地址获得的报文,所述第三报文的DA为所述第二网络设备的地址,所述第一报文包括第一比特串,所述第一比特串用于指示所述至少一个目的用户设备。
42.根据权利要求39至41任一所述的装置,其特征在于,所述第一网络设备位于第一区域region,所述第二网络设备位于第二region,所述第一信息包括第二比特串,所述第二比特串用于指示所述第二网络设备。
43.根据权利要求38所述的装置,其特征在于,所述第二报文还包括用户报文和第一比特串,所述第一比特串用于指示所述至少一个目的用户设备,所述第二设备还包括:
处理模块,用于基于所述第二报文获得所述用户报文;
发送模块,用于根据所述第二报文包括的所述第一比特串和所述第一信息,向所述第一目的用户设备发送所述用户报文。
44.根据权利要求39至41任一所述的装置,其特征在于,所述第二报文还包括用户报文,
处理模块,用于对所述第二报文进行解封装获得所述用户报文;
发送模块,用于根据所述第二报文包括的所述第一比特串和所述第一信息,向所述第一目的用户设备发送所述用户报文。
45.根据权利要求38至44任一所述的装置,其特征在于,所述第一网络设备位于第一数据中心,所述第二网络设备位于第二数据中心;或者
所述第一网络设备位于第一region,所述第二网络设备位于第二region。
46.根据权利要求36至45任一所述的装置,其特征在于,所述第二报文还包括第二校验checksum,所述第二checksum是基于第一报文包括的第一checksum、所述第一报文的DA以及所述第一信息获得的checksum。
CN202110474671.1A 2021-02-10 2021-04-29 报文传输方法及装置 Active CN114915589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/074787 WO2022171014A1 (zh) 2021-02-10 2022-01-28 报文传输方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110184047 2021-02-10
CN2021101840478 2021-02-10

Publications (2)

Publication Number Publication Date
CN114915589A true CN114915589A (zh) 2022-08-16
CN114915589B CN114915589B (zh) 2024-06-04

Family

ID=82761036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110474671.1A Active CN114915589B (zh) 2021-02-10 2021-04-29 报文传输方法及装置

Country Status (2)

Country Link
CN (1) CN114915589B (zh)
WO (1) WO2022171014A1 (zh)

Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193909A1 (en) * 2002-04-15 2003-10-16 Jun Wang Method and apparatus for handoff in a communication system supporting multiple service instances
US20050025143A1 (en) * 2003-07-29 2005-02-03 Sbc Knowledge Ventures, L.P. Broadband access for virtual private networks
CN1874301A (zh) * 2006-01-24 2006-12-06 华为技术有限公司 快速响应ip分片报文的方法和系统
CN101060486A (zh) * 2007-06-05 2007-10-24 杭州华三通信技术有限公司 一种报文混播变换及转发的方法和交换设备
CN101606345A (zh) * 2006-11-24 2009-12-16 Ktf电信公司 用于路由x-cast ip数据报的设备和方法
US20100329172A1 (en) * 2008-02-25 2010-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Delivery of Multicast Data
CN102377646A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 转发芯片、网络交换系统及组播实现方法
US20120076067A1 (en) * 2009-06-03 2012-03-29 Alcatel Lucent Method And Apparatus In A Plurality Of Rendezvous Points For Together Processing Multicast Traffics From Mobile Multicast Source
US20130094505A1 (en) * 2011-10-17 2013-04-18 Futurewei Technologies, Co. Multicast Support for Internet Protocol Version Four Residual Deployment Via Encapsulation or Translation
CN103095585A (zh) * 2011-11-02 2013-05-08 中兴通讯股份有限公司 一种IPv4和IPv6之间组播控制流信息互通的方法和系统
WO2013139337A2 (en) * 2012-03-05 2013-09-26 Netiter Aps SYSTEM AND METHOD FOR DATA COMMUNICATION BETWEEN A FIRST INTERNET PROTOCOL VERSION (IPv4) AND A SECOND INTERNET PROTOCOL VERSION (IPv6)
CN103841037A (zh) * 2012-11-21 2014-06-04 华为技术有限公司 组播报文转发的方法及设备
CN105429841A (zh) * 2014-09-15 2016-03-23 中兴通讯股份有限公司 Nni ping的实现方法及装置
CN105721359A (zh) * 2014-12-04 2016-06-29 中兴通讯股份有限公司 Vxlan报文传输方法及装置
CN105743793A (zh) * 2014-12-31 2016-07-06 瞻博网络公司 用于网络设备组件的比特索引显式复制(bier)转发
WO2016198017A1 (zh) * 2015-10-16 2016-12-15 中兴通讯股份有限公司 一种组播地址的传输方法和装置
CN106357542A (zh) * 2016-10-12 2017-01-25 华为技术有限公司 提供组播业务的方法和软件定义网络控制器
CN106664601A (zh) * 2014-07-08 2017-05-10 英特尔公司 用于分组系统承载分流的设备
CN106878181A (zh) * 2016-12-29 2017-06-20 新华三技术有限公司 一种报文传输方法和装置
US20180375799A1 (en) * 2017-06-22 2018-12-27 Nicira, Inc. Multicast packet handling based on control information in software-defined networking (sdn) environment
CN109120526A (zh) * 2017-06-26 2019-01-01 北京华为数字技术有限公司 点对点的传输报文的方法和网络设备
CN109688240A (zh) * 2018-12-24 2019-04-26 睿哲科技股份有限公司 IPv4组播和IPv6组播互相转换装置和设备
CN109729009A (zh) * 2017-10-31 2019-05-07 华为技术有限公司 用于实现组播业务的方法和装置
CN109729012A (zh) * 2018-12-24 2019-05-07 新华三技术有限公司 一种单播报文传输方法和装置
US20190386837A1 (en) * 2018-06-19 2019-12-19 Juniper Networks, Inc. Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices
US20190386850A1 (en) * 2018-06-19 2019-12-19 Juniper Networks, Inc. Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices
CN110784411A (zh) * 2019-09-30 2020-02-11 华为技术有限公司 建立bier转发表项的方法、装置和系统
CN111147383A (zh) * 2018-11-02 2020-05-12 华为技术有限公司 报文转发的方法、发送报文的装置和接收报文的装置
CN111245731A (zh) * 2020-02-24 2020-06-05 重庆金美通信有限责任公司 一种协议无关组播信令穿越bier的改进方法
CN111385209A (zh) * 2018-12-28 2020-07-07 华为技术有限公司 一种报文处理方法、报文转发方法、装置及设备
US20200280455A1 (en) * 2019-02-28 2020-09-03 Cisco Technology, Inc. Redundant multicast trees without duplication and with fast recovery
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置
US20200314016A1 (en) * 2019-03-27 2020-10-01 Nokia Solutions And Networks Oy Tunneling inter-domain stateless internet protocol multicast packets
CN112039920A (zh) * 2020-09-14 2020-12-04 迈普通信技术股份有限公司 通信方法、装置、电子设备及存储介质
CN112054959A (zh) * 2019-06-06 2020-12-08 华为技术有限公司 一种bier报文的发送方法和装置
US10880208B1 (en) * 2019-02-11 2020-12-29 Google Llc Offloads for multicast virtual network packet processing in a network interface card
CN112187647A (zh) * 2019-07-05 2021-01-05 华为技术有限公司 报文转发方法、设备及计算机可读存储介质

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193909A1 (en) * 2002-04-15 2003-10-16 Jun Wang Method and apparatus for handoff in a communication system supporting multiple service instances
US20050025143A1 (en) * 2003-07-29 2005-02-03 Sbc Knowledge Ventures, L.P. Broadband access for virtual private networks
CN1874301A (zh) * 2006-01-24 2006-12-06 华为技术有限公司 快速响应ip分片报文的方法和系统
CN101606345A (zh) * 2006-11-24 2009-12-16 Ktf电信公司 用于路由x-cast ip数据报的设备和方法
CN101060486A (zh) * 2007-06-05 2007-10-24 杭州华三通信技术有限公司 一种报文混播变换及转发的方法和交换设备
US20100329172A1 (en) * 2008-02-25 2010-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Delivery of Multicast Data
US20120076067A1 (en) * 2009-06-03 2012-03-29 Alcatel Lucent Method And Apparatus In A Plurality Of Rendezvous Points For Together Processing Multicast Traffics From Mobile Multicast Source
CN102377646A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 转发芯片、网络交换系统及组播实现方法
US20130094505A1 (en) * 2011-10-17 2013-04-18 Futurewei Technologies, Co. Multicast Support for Internet Protocol Version Four Residual Deployment Via Encapsulation or Translation
CN103095585A (zh) * 2011-11-02 2013-05-08 中兴通讯股份有限公司 一种IPv4和IPv6之间组播控制流信息互通的方法和系统
WO2013139337A2 (en) * 2012-03-05 2013-09-26 Netiter Aps SYSTEM AND METHOD FOR DATA COMMUNICATION BETWEEN A FIRST INTERNET PROTOCOL VERSION (IPv4) AND A SECOND INTERNET PROTOCOL VERSION (IPv6)
CN103841037A (zh) * 2012-11-21 2014-06-04 华为技术有限公司 组播报文转发的方法及设备
CN106664601A (zh) * 2014-07-08 2017-05-10 英特尔公司 用于分组系统承载分流的设备
CN105429841A (zh) * 2014-09-15 2016-03-23 中兴通讯股份有限公司 Nni ping的实现方法及装置
CN105721359A (zh) * 2014-12-04 2016-06-29 中兴通讯股份有限公司 Vxlan报文传输方法及装置
CN105743793A (zh) * 2014-12-31 2016-07-06 瞻博网络公司 用于网络设备组件的比特索引显式复制(bier)转发
WO2016198017A1 (zh) * 2015-10-16 2016-12-15 中兴通讯股份有限公司 一种组播地址的传输方法和装置
CN106357542A (zh) * 2016-10-12 2017-01-25 华为技术有限公司 提供组播业务的方法和软件定义网络控制器
CN106878181A (zh) * 2016-12-29 2017-06-20 新华三技术有限公司 一种报文传输方法和装置
US20180375799A1 (en) * 2017-06-22 2018-12-27 Nicira, Inc. Multicast packet handling based on control information in software-defined networking (sdn) environment
CN109120526A (zh) * 2017-06-26 2019-01-01 北京华为数字技术有限公司 点对点的传输报文的方法和网络设备
CN109729009A (zh) * 2017-10-31 2019-05-07 华为技术有限公司 用于实现组播业务的方法和装置
US20190386850A1 (en) * 2018-06-19 2019-12-19 Juniper Networks, Inc. Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices
US20190386837A1 (en) * 2018-06-19 2019-12-19 Juniper Networks, Inc. Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices
CN111147383A (zh) * 2018-11-02 2020-05-12 华为技术有限公司 报文转发的方法、发送报文的装置和接收报文的装置
CN109729012A (zh) * 2018-12-24 2019-05-07 新华三技术有限公司 一种单播报文传输方法和装置
CN109688240A (zh) * 2018-12-24 2019-04-26 睿哲科技股份有限公司 IPv4组播和IPv6组播互相转换装置和设备
CN111385209A (zh) * 2018-12-28 2020-07-07 华为技术有限公司 一种报文处理方法、报文转发方法、装置及设备
US10880208B1 (en) * 2019-02-11 2020-12-29 Google Llc Offloads for multicast virtual network packet processing in a network interface card
US20200280455A1 (en) * 2019-02-28 2020-09-03 Cisco Technology, Inc. Redundant multicast trees without duplication and with fast recovery
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置
US20200314016A1 (en) * 2019-03-27 2020-10-01 Nokia Solutions And Networks Oy Tunneling inter-domain stateless internet protocol multicast packets
CN112054959A (zh) * 2019-06-06 2020-12-08 华为技术有限公司 一种bier报文的发送方法和装置
CN112187647A (zh) * 2019-07-05 2021-01-05 华为技术有限公司 报文转发方法、设备及计算机可读存储介质
CN110784411A (zh) * 2019-09-30 2020-02-11 华为技术有限公司 建立bier转发表项的方法、装置和系统
CN111245731A (zh) * 2020-02-24 2020-06-05 重庆金美通信有限责任公司 一种协议无关组播信令穿越bier的改进方法
CN112039920A (zh) * 2020-09-14 2020-12-04 迈普通信技术股份有限公司 通信方法、装置、电子设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
D. JOHNSON; RICE UNIVERSITY; C. PERKINS (ED.); WICHORUS INC.;J. ARKKO;ERICSSON;: "Mobility Support in IPv6 draft-ietf-mext-rfc3775bis-02.txt", IETF *
D. JOHNSON; RICE UNIVERSITY; C. PERKINS (ED.); WICHORUS INC.;J. ARKKO;ERICSSON;: "Mobility Support in IPv6 draft-ietf-mext-rfc3775bis-02.txt", IETF, 1 October 2008 (2008-10-01) *
DAVID B. JOHNSON;CARNEGIE MELLON UNIVERSITY; CHARLES PERKINS; NOKIA;: "Mobility Support in IPv6", IETF *
DAVID B. JOHNSON;CARNEGIE MELLON UNIVERSITY; CHARLES PERKINS; NOKIA;: "Mobility Support in IPv6", IETF, 22 October 1999 (1999-10-22) *

Also Published As

Publication number Publication date
WO2022171014A1 (zh) 2022-08-18
CN114915589B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN110784411B (zh) 建立bier转发表项的方法、装置和系统
CN109218178B (zh) 一种报文处理方法及网络设备
CN107409083B (zh) 对具有evpn控制平面的vxlan中的bgp路由信息的可扩展处理
US7296092B2 (en) Apparatus for inter-domain communications including a virtual switch for routing data packets between virtual interfaces of the virtual switch
US8705528B2 (en) Subnet scoped multicast/broadcast packet distribution mechanism over a routed network
US10243834B1 (en) Interconnecting virtual networks using an ethernet virtual private network (EVPN) and virtual extensible local area network (VXLAN) based overlay network
KR102054338B1 (ko) 개별 관리들을 이용하는 vlan 태깅된 패킷들의 가상 포워딩 인스턴스들의 원단 주소들로의 라우팅
US8098656B2 (en) Method and apparatus for implementing L2 VPNs on an IP network
US20130124750A1 (en) Network virtualization without gateway function
EP4231597A1 (en) Method for forwarding bier message, and device and system
CN113114576B (zh) 报文发送的方法、设备和系统
EP3716529B1 (en) Tunneling inter-domain stateless internet protocol multicast packets
WO2021093463A1 (zh) 报文转发的方法、第一网络设备以及第一设备组
CN109120526B (zh) 点对点的传输报文的方法和网络设备
CN113541924B (zh) 报文检测的方法、设备以及系统
CN112532563B (zh) 报文的发送方法和装置
US20230318974A1 (en) BIER Packet Forwarding Method, Device, and System
US20220337521A1 (en) Packet Sending Method, Device and System
CN114915589B (zh) 报文传输方法及装置
US11632445B2 (en) Packet recirculation for tunneling encapsulation
CN114520762B (zh) BIERv6报文的发送方法以及第一网络设备
WO2021077991A1 (zh) 报文检测方法、连通性协商关系建立方法以及相关设备
CN114006780A (zh) 报文转发的方法、设备以及系统
CN113285878A (zh) 负载分担的方法、第一网络设备
WO2022012073A1 (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