CN117544555A - 一种集合通信的方法、装置及系统 - Google Patents

一种集合通信的方法、装置及系统 Download PDF

Info

Publication number
CN117544555A
CN117544555A CN202311140994.2A CN202311140994A CN117544555A CN 117544555 A CN117544555 A CN 117544555A CN 202311140994 A CN202311140994 A CN 202311140994A CN 117544555 A CN117544555 A CN 117544555A
Authority
CN
China
Prior art keywords
message
network device
communication group
terminal devices
communication
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.)
Pending
Application number
CN202311140994.2A
Other languages
English (en)
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 CN202311140994.2A priority Critical patent/CN117544555A/zh
Publication of CN117544555A publication Critical patent/CN117544555A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/128Shortest path evaluation for finding disjoint paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • 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/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical 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/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
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例公开了一种集合通信的方法、装置及系统,该方法包括:第一网络设备接收第一报文,第一网络设备接收至少一个第二报文,第一网络设备根据第一报文和至少一个第二报文发送第三报文。在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入。而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。

Description

一种集合通信的方法、装置及系统
技术领域
本申请实施例涉及通信技术领域,更具体的说,涉及集合通信的方法、装置及系统。
背景技术
集合通信是指一个特定组内所有进程都参与的通信方式,集合通信包括全局规约、广播和同步等。
在现有的集合通信方法中,网络设备需要与终端设备建立连接。在终端设备需要向网络设备发送集合通信报文时,终端设备会利用与网络设备建立的连接构造集合通信报文,终端设备再将构造好的集合通信报文发送给网络设备。同样,在网络设备需要向终端设备发送集合通信报文时,网络设备会利用与终端设备建立的连接构造集合通信报文,网络设备再将构造好的集合通信报文发送给终端设备。
通过现有的集合通信方法可以得知,为了实现网络设备与终端设备建立连接,需要在网络设备上设置与终端设备建立连接的硬件模块,该硬件模块会增加网络设备的硬件投入。而且,网络设备还需要使用状态机来维持与终端设备建立的连接状态,从而还会增加网络设备的资源开销。
发明内容
本申请实施例提供一种集合通信的方法、装置及系统,在网络设备与终端设备不建立连接的情况下,网络设备可以利用终端设备之间的连接来实现集合通信报文的汇聚和分发。
本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种集合通信的方法,该方法包括:第一网络设备接收第一报文,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址。第一网络设备接收至少一个第二报文,至少一个第二报文均包括第一集合通信标识。第一网络设备根据第一报文和至少一个第二报文发送第三报文,第三报文包括第一集合通信标识和第一目的地址。
在第一方面中,在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入。而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备根据第二报文的负荷与第一报文的报文头生成第三报文,第二报文为第二网络设备发送的报文。第一网络设备发送第三报文。
其中,第一网络设备可以根据第二报文的负荷与第一报文的报文头生成第三报文,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。第一网络设备提取第一报文的负荷得到第一数据。第一网络设备将第一数据和第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为一个时,第一网络设备可以仅提取第一报文的负荷得到第一数据,再将第一数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。第一网络设备接收至少一个第四报文,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。第一网络设备将第二数据和第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为至少两个时,第一网络设备可以将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据,再将第二数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,第一网络设备确定第一报文的集合通信类型为全局规约或广播。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。第一网络设备根据第三数据与第一报文的报文头生成第三报文。第一网络设备发送第三报文。
其中,第一网络设备可以根据第三数据与第一报文的报文头生成第三报文,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,第一网络设备确定第一报文的集合通信类型为全局规约或广播。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同,第二报文为第二网络设备发送的报文。第一网络设备发送第三报文,第三报文的负荷与第一报文的负荷相同。
其中,第一网络设备可以生成第三报文,而且第三报文的负荷与第一报文的负荷相同,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。第一网络设备将第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为一个时,第一网络设备可以仅将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。第一网络设备接收至少一个第五报文,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为至少两个时,第一网络设备可以将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,方法还包括:第一网络设备确定第一报文的集合通信类型为同步。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备发送第三报文,第三报文的负荷与第一报文的负荷相同。
其中,第一网络设备可以生成第三报文,而且第三报文的负荷与第一报文的负荷相同,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,方法还包括:第一网络设备确定第一报文的集合通信类型为同步。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,在第一网络设备确定第一报文的集合通信类型为全局规约时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在第一网络设备确定第一报文的集合通信类型为广播且第一报文不携带广播数据时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在第一网络设备确定第一报文的集合通信类型为广播且第一报文携带广播数据时,第一报文的负荷与第三报文的负荷相同,第一报文的校验值与第三报文的校验值相同。
在一种可能的实现方式中,第一网络设备在基于融合以太网的远程直接内存访问RoCE组网内时,第一目的地址为目的媒体访问控制MAC地址。第一网络设备在基于互联网协议可路由的融合以太网的远程直接内存访问RoCEv2组网内时,第一目的地址为目的互联网协议IP地址。第一网络设备在无限带宽IB组网内时,第一目的地址为目的本地标识符LID地址。
在一种可能的实现方式中,第一网络设备在RoCE组网内时,第一报文的第一字段与第三报文的第一字段相同,第一字段包括源MAC地址、全局路由头部GRH中的源全局标识符GID、GRH中的目的GID或基础传输头部BTH中的目的队列对QP号中的至少一种。第一网络设备在RoCEv2组网内时,第一报文的第二字段与第三报文的第二字段相同,第二字段包括源IP地址、用户数据报协议UDP源端口号或IB传输头中的目的QP号中的至少一种。第一网络设备在IB组网内时,第一报文的第三字段与第三报文的第三字段相同,第三字段包括源LID地址或BTH中的目的QP号中的至少一种。
第二方面,本申请实施例提供了一种网络设备,该网络设备包括交换芯片。交换芯片,用于接收第一报文,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址。接收至少一个第二报文,至少一个第二报文均包括第一集合通信标识。根据第一报文和至少一个第二报文发送第三报文,第三报文包括第一集合通信标识和第一目的地址。
在第二方面中,在网络设备与终端设备不建立连接的情况下,网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省网络设备在硬件上的投入。而且,网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少网络设备的资源开销。
在一种可能的实现方式中,网络设备还包括与交换芯片相连接的计算芯片。计算芯片,用于根据第二报文的负荷与第一报文的报文头生成第三报文,第二报文为第二网络设备发送的报文。交换芯片,用于发送第三报文。
在一种可能的实现方式中,计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。提取第一报文的负荷得到第一数据。交换芯片,用于将第一数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。交换芯片,用于接收至少一个第四报文,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。计算芯片,用于将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。交换芯片,用于将第二数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,交换芯片,用于确定第一报文的集合通信类型为全局规约或广播。计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括与交换芯片相连接的计算芯片。计算芯片,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。根据第三数据与第一报文的报文头生成第三报文。交换芯片,用于发送第三报文。
在一种可能的实现方式中,交换芯片,用于确定第一报文的集合通信类型为全局规约或广播。计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括与交换芯片相连接的计算芯片。计算芯片,用于确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同,第二报文为第二网络设备发送的报文。交换芯片,用于发送第三报文,第三报文的负荷与第一报文的负荷相同。
在一种可能的实现方式中,计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。交换芯片,用于将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。交换芯片,用于接收至少一个第五报文,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,交换芯片,用于确定第一报文的集合通信类型为同步。计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括与交换芯片相连接的计算芯片。计算芯片,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。交换芯片,用于发送第三报文,第三报文的负荷与第一报文的负荷相同。
在一种可能的实现方式中,交换芯片,用于确定第一报文的集合通信类型为同步。计算芯片,用于确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
第三方面,本申请实施例提供了一种网络设备,该网络设备包括接收模块和发送模块。接收模块,用于接收第一报文,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址。接收至少一个第二报文,至少一个第二报文均包括第一集合通信标识。发送模块,用于根据第一报文和至少一个第二报文发送第三报文,第三报文包括第一集合通信标识和第一目的地址。
在一种可能的实现方式中,网络设备还包括处理模块。处理模块,用于根据第二报文的负荷与第一报文的报文头生成第三报文,第二报文为第二网络设备发送的报文。发送模块,用于发送第三报文。
在一种可能的实现方式中,处理模块,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。提取第一报文的负荷得到第一数据。发送模块,用于将第一数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,处理模块,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。接收模块,用于接收至少一个第四报文,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。处理模块,用于将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。发送模块,用于将第二数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,处理模块,用于确定第一报文的集合通信类型为全局规约或广播。确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括处理模块。处理模块,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。根据第三数据与第一报文的报文头生成第三报文。发送模块,用于发送第三报文。
在一种可能的实现方式中,处理模块,用于确定第一报文的集合通信类型为全局规约或广播。确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括处理模块。处理模块,用于确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同,第二报文为第二网络设备发送的报文。发送模块,用于发送第三报文,第三报文的负荷与第一报文的负荷相同。
在一种可能的实现方式中,处理模块,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。发送模块,用于将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,处理模块,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。接收模块,用于接收至少一个第五报文,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。发送模块,用于将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,处理模块,用于确定第一报文的集合通信类型为同步。确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,网络设备还包括处理模块。处理模块,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。发送模块,用于发送第三报文,第三报文的负荷与第一报文的负荷相同。
在一种可能的实现方式中,处理模块,用于确定第一报文的集合通信类型为同步。确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
第四方面,本申请实施例提供了一种系统,该系统包括第一网络设备和至少两个终端设备。其中,第一网络设备接收第一报文,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址。第一网络设备接收至少一个第二报文,至少一个第二报文均包括第一集合通信标识。第一网络设备根据第一报文和至少一个第二报文发送第三报文,第三报文包括第一集合通信标识和第一目的地址。
在第四方面中,本申请实施例在第一网络设备与至少两个终端均不建立连接的情况下,第一网络设备可以利用至少两个终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备不需要具备与至少两个终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与至少两个终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备根据第二报文的负荷与第一报文的报文头生成第三报文,第二报文为第二网络设备发送的报文。第一网络设备发送第三报文。
其中,第一网络设备可以根据第二报文的负荷与第一报文的报文头生成第三报文,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。第一网络设备提取第一报文的负荷得到第一数据。第一网络设备将第一数据和第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为一个时,第一网络设备可以仅提取第一报文的负荷得到第一数据,再将第一数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。第一网络设备接收至少一个第四报文,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。第一网络设备将第二数据和第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为至少两个时,第一网络设备可以将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据,再将第二数据和第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,第一网络设备确定第一报文的集合通信类型为全局规约或广播。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。第一网络设备根据第三数据与第一报文的报文头生成第三报文。第一网络设备发送第三报文。
其中,第一网络设备可以根据第三数据与第一报文的报文头生成第三报文,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,第一网络设备确定第一报文的集合通信类型为全局规约或广播。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同,第二报文为第二网络设备发送的报文。第一网络设备发送第三报文,第三报文的负荷与第一报文的负荷相同。
其中,第一网络设备可以生成第三报文,而且第三报文的负荷与第一报文的负荷相同,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。第一网络设备将第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为一个时,第一网络设备可以仅将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,在第一网络设备接收第一报文以后,在第一网络设备接收至少一个第二报文以前,方法还包括:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。第一网络设备接收至少一个第五报文,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备将第一集合通信标识发送给第二网络设备。
其中,在第一集合通信标识对应的本地通信组的终端设备的数量为至少两个时,第一网络设备可以将第一集合通信标识发送给第二网络设备。
在一种可能的实现方式中,方法还包括:第一网络设备确定第一报文的集合通信类型为同步。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,第一网络设备根据第一报文和至少一个第二报文发送第三报文包括:第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。第一网络设备发送第三报文,第三报文的负荷与第一报文的负荷相同。
其中,第一网络设备可以生成第三报文,而且第三报文的负荷与第一报文的负荷相同,所以第一网络设备不需要构造第三报文。
在一种可能的实现方式中,方法还包括:第一网络设备确定第一报文的集合通信类型为同步。第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在一种可能的实现方式中,在第一网络设备确定第一报文的集合通信类型为全局规约时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在第一网络设备确定第一报文的集合通信类型为广播且第一报文不携带广播数据时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在第一网络设备确定第一报文的集合通信类型为广播且第一报文携带广播数据时,第一报文的负荷与第三报文的负荷相同,第一报文的校验值与第三报文的校验值相同。
在一种可能的实现方式中,第一网络设备在基于融合以太网的远程直接内存访问RoCE组网内时,第一目的地址为目的媒体访问控制MAC地址。第一网络设备在基于互联网协议可路由的融合以太网的远程直接内存访问RoCEv2组网内时,第一目的地址为目的互联网协议IP地址。第一网络设备在无限带宽IB组网内时,第一目的地址为目的本地标识符LID地址。
在一种可能的实现方式中,第一网络设备在RoCE组网内时,第一报文的第一字段与第三报文的第一字段相同,第一字段包括源MAC地址、全局路由头部GRH中的源全局标识符GID、GRH中的目的GID或基础传输头部BTH中的目的队列对QP号中的至少一种。第一网络设备在RoCEv2组网内时,第一报文的第二字段与第三报文的第二字段相同,第二字段包括源IP地址、用户数据报协议UDP源端口号或IB传输头中的目的QP号中的至少一种。第一网络设备在IB组网内时,第一报文的第三字段与第三报文的第三字段相同,第三字段包括源LID地址或BTH中的目的QP号中的至少一种。
附图说明
图1所示的为本申请实施例提供的一种网络示意图;
图2所示的为本申请实施例提供的一种报文的集合通信类型为全局规约的方法流程图;
图3所示的为本申请实施例提供的一种报文的集合通信类型为广播的方法流程图;
图4所示的为本申请实施例提供的一种报文的集合通信类型为同步的方法流程图;
图5所示的为本申请实施例提供的一种报文的集合通信类型为全局规约的方法流程图;
图6所示的为本申请实施例提供的一种报文的集合通信类型为广播的方法流程图;
图7所示的为本申请实施例提供的一种报文的集合通信类型为同步的方法流程图;
图8所示的为本申请实施例提供的一种集合通信的方法的流程图;
图9所示的为本申请实施例提供的另一种集合通信的方法的流程图;
图10所示的为本申请实施例提供的又一种集合通信的方法的流程图;
图11所示的为本申请实施例提供的又一种集合通信的方法的流程图;
图12所示的为本申请实施例提供的又一种集合通信的方法的流程图;
图13所示的为本申请实施例提供的一种网络设备的示意图;
图14所示的为本申请实施例提供的一种系统的示意图;
图15所示的为本申请实施例提供的另一种网络设备的示意图。
具体实施方式
本申请实施例提供一种集合通信的方法、装置及系统,可以解决背景技术中存在的问题,在网络设备与终端设备不建立连接的情况下,网络设备可以利用终端设备之间的连接来实现集合通信报文的汇聚和分发。本申请实施例提到的网络设备可以为交换机或路由器等设备,本申请实施例提到的终端设备可以为服务器等设备。当然,本申请实施例的网络设备和终端设备并不局限于上述已经提到的设备,还可以为其他尚未提到的设备。
请参见图1所示,图1所示的为本申请实施例提供的一种网络示意图。在图1所示的实施例中,第二网络设备200的子节点包括第一网络设备100和第三网络设备300等网络设备,第一网络设备100的子节点包括第一终端设备401和第二终端设备402等终端设备,第三网络设备300的子节点包括第三终端设备403和第四终端设备404等终端设备。当然,根据实际情况的不同,图1中的网络设备和终端设备的数量均可能会发生变化。例如,第一网络设备100的子节点数量可以为1个或多个。又如,第一网络设备100的父节点数量可以为1个或多个。
请结合图1和表1所示,表1所示的为第一网络设备100预先生成的信息表。
表1
在表1中,表1的第一列为集合通信标识,集合通信标识分别为本地通信组的标识和全局通信组的标识。例如,在图1和表1所示的实施例中,集合通信标识(1001)分别为本地通信组(A1)的标识和全局通信组(B1)的标识,其中,本地通信组(A1)包括第一终端设备401和第二终端设备402,全局通信组(B1)包括第一终端设备401、第二终端设备402、第三终端设备403和第四终端设备404。
在表1中,表1的第二列为与集合通信标识对应的本地通信组的名称。例如,在图1和表1所示的实施例中,本地通信组的名称为A1,本地通信组(A1)包括第一终端设备401和第二终端设备402。
在表1中,表1的第三列为与集合通信标识对应的子节点的端口号,子节点的端口号对应的端口为网络设备与子节点通信的端口。例如,在图1和表1所示的实施例中,子节点的端口号包括P1和P2,其中,端口号P1对应的端口为第一网络设备100与第一终端设备401通信的端口,端口号P2对应的端口为第一网络设备100与第二终端设备402通信的端口。
在表1中,表1的第四列为与集合通信标识对应的父节点的端口号,父节点的端口号对应的端口为网络设备与父节点通信的端口。例如,在图1和表1所示的实施例中,父节点的端口号包括P10,其中,端口号P10对应的端口为第一网络设备100与第二网络设备200通信的端口。
在表1中,表1的第五列为与集合通信标识对应的全局通信组的终端设备的数量。例如,在图1和表1所示的实施例中,全局通信组的名称为B1,全局通信组(B1)包括第一终端设备401、第二终端设备402、第三终端设备403和第四终端设备404,全局通信组(B1)的终端设备的数量为4个。
在图1和表1所示的实施例中,本地通信组(A1)包括第一终端设备401和第二终端设备402,由于第一终端设备401与第二终端设备402会建立连接,所以第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,在第一网络设备100上不需要设置与第一终端设备401和第二终端设备402建立连接的硬件模块。第三网络设备300与第一网络设备100的情况类似,关于第三网络设备300的情况可以参见第一网络设备100的详细说明。
请参见图1、图2和表1所示,图2所示的为本申请实施例提供的一种报文的集合通信类型为全局规约的方法流程图。
在图1、图2和表1所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S101、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S102、第一网络设备100根据报文(X1)的集合通信字段(QJGY)和表2确定报文(X1)的集合通信类型为全局规约。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(QJGY)。第一网络设备100根据集合通信字段(QJGY)和表2确定报文(X1)的集合通信类型为全局规约。
集合通信字段 集合通信类型
QJGY 全局规约
GB 广播
TB 同步
表2
步骤S103、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S104、第一网络设备100根据集合通信标识(1001)、端口(P1)和表1可以确定报文(X1)来自于子节点。
其中,在表1中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S105、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为全局规约,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S106、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷包括数值5,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S107、第一网络设备100根据报文(Y1)的集合通信字段(QJGY)和表2确定报文(Y1)的集合通信类型为全局规约。
步骤S108、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S109、第一网络设备100根据集合通信标识(1001)、端口(P2)和表1可以确定报文(Y1)来自于子节点。
步骤S110、第一网络设备100存储报文(Y1)。
步骤S111、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100确定报文(X1)和报文(Y1)中的全局规约字段均为求和。
其中,报文的报文头中的全局规约字段有多种类型,例如,全局规约字段可以为求和、取最大值或取最小值等。
步骤S112、第一网络设备100提取报文(X1)的负荷(数值1)和报文(Y1)的负荷(数值5),第一网络设备100计算报文(X1)的负荷(数值1)与报文(Y1)的负荷(数值5)之和得到数据A(数值6)。
其中,报文(X1)的负荷为数值1,报文(Y1)的负荷为数值5,数据A=报文(X1)的负荷(数值1)+报文(Y1)的负荷(数值5)=1+5=6。
步骤S113、第一网络设备100根据表1确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表1确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(4个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)。
其中,在本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)时,说明第一网络设备100还需要将数据A上送到第二网络设备200。
步骤S114、第一网络设备100将数据A(数值6)和集合通信标识(1001)发送给第二网络设备200。
其中,第二网络设备200在接收到第一网络设备100发送的数据A(数值6)和集合通信标识(1001)以后,第二网络设备200还会接收到第三网络设备300发送的数据B(数值4)和集合通信标识(1001)。在第二网络设备200接收到数据A(数值6)和数据B(数值4)以后,第二网络设备200会将数据A(数值6)和数据B(数值4)进行求和得到数据C(数值10),数据C=数据A+数据B=6+4=10。第二网络设备200将具有数据C(数值10)和集合通信标识(1001)的报文(Z1)发送给第一网络设备100,第二网络设备200将具有数据C(数值10)和集合通信标识(1001)的报文(Z2)发送给第三网络设备300。
步骤S115、第一网络设备100接收第二网络设备200发送的报文(Z1)。
步骤S116、第一网络设备100根据报文(Z1)的集合通信标识(1001)、接收报文(Z1)的端口(P10)和表1可以确定报文(Z1)来自于父节点。
其中,报文(Z1)包括报文头、负荷和校验值,负荷包括数值10,校验值为JYZ3,报文(Z1)的报文头包括集合通信标识,集合通信标识为1001。
步骤S117、第一网络设备100根据报文(X1)的报文头和报文(Z1)的负荷生成报文(X2),第一网络设备100根据报文(Y1)的报文头和报文(Z1)的负荷生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为报文(Z1)的负荷,报文(X2)的校验值为根据报文(X1)的报文头和报文(Z1)的负荷计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷包括数值10,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为报文(Z1)的负荷,报文(Y2)的校验值为根据报文(Y1)的报文头和报文(Z1)的负荷计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷包括数值10,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
其中,报文(X2)的负荷为数值10,报文(X1)的负荷为数值1,所以报文(X2)的负荷与报文(X1)的负荷不同。由于报文(X2)的负荷与报文(X1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(X2)的校验值与报文(X1)的校验值不同。报文(Y2)的负荷为数值10,报文(Y1)的负荷为数值5,所以报文(Y2)的负荷与报文(Y1)的负荷不同。由于报文(Y2)的负荷与报文(Y1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(Y2)的校验值与报文(Y1)的校验值不同。
步骤S118、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图2和表1所示的实施例中,在第一网络设备100得到全局规约的最终结果(数值10)以后,第一网络设备100会利用报文(X1)的报文头和全局规约的最终结果(数值10)生成报文(X2),并利用报文(Y1)的报文头和全局规约的最终结果(数值10)生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设 备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备 402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与 终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第 一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一 网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
请参见图1所示,如果本地通信组(A1)包括1个终端设备,假设本地通信组(A1)包括第一终端设备401,全局通信组(B1)包括第一终端设备401、第三终端设备403和第四终端设备404,那么建立连接的方式有很多种。例如,第一终端设备401与第三终端设备403建立连接,第三终端设备403与第四终端设备404建立连接,第一终端设备401与第四终端设备404建立连接。在这种情况下,第一网络设备100仅会接收到第一终端设备401发送的报文(X1),如果报文(X1)的集合通信类型为全局规约,而且本地通信组(A1)的终端设备的数量(1个)小于全局通信组(B1)的终端设备的数量(3个),那么第一网络设备100会将报文(X1)的负荷(数值1)和集合通信标识(1001)发送给第二网络设备200。
请参见图1、图3和表1所示,图3所示的为本申请实施例提供的一种报文的集合通信类型为广播的方法流程图。
在图1、图3和表1所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S201、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S202、第一网络设备100根据报文(X1)的集合通信字段(GB)和表2确定报文(X1)的集合通信类型为广播。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(GB)。第一网络设备100根据集合通信字段(GB)和表2确定报文(X1)的集合通信类型为广播。
步骤S203、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S204、第一网络设备100根据集合通信标识(1001)、端口(P1)和表1可以确定报文(X1)来自于子节点。
其中,在表1中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S205、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为广播,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S206、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷包括数值5,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S207、第一网络设备100根据报文(Y1)的集合通信字段(GB)和表2确定报文(Y1)的集合通信类型为广播。
步骤S208、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S209、第一网络设备100根据集合通信标识(1001)、端口(P2)和表1可以确定报文(Y1)来自于子节点。
步骤S210、第一网络设备100存储报文(Y1)。
步骤S211、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100提取报文(X1)的报文头中的源进程号(0)和报文(Y1)的报文头中的源进程号(1)。
步骤S212、第一网络设备100根据表3、报文(X1)的报文头中的源进程号(0)和报文(Y1)的报文头中的源进程号(1)确定报文(X1)的负荷中的数据为广播数据,并提取报文(X1)的负荷中的数值1,数值1为广播数据。
其中,请参见表3所示,表3所示的为第一网络设备100内预先存储的源进程号与广播数据的映射关系表。
表3
步骤S213、第一网络设备100根据表1确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表1确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(4个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)。
其中,在本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)时,说明第一网络设备100还需要将广播数据(数值1)上送到第二网络设备200。
步骤S214、第一网络设备100将广播数据(数值1)和集合通信标识(1001)发送给第二网络设备200。
其中,第二网络设备200在接收到第一网络设备100发送的广播数据(数值1)和集合通信标识(1001)以后,第二网络设备200还会接收到第三网络设备300发送的集合通信标识(1001)。然后,第二网络设备200将具有广播数据(数值1)和集合通信标识(1001)的报文(Z1)发送给第一网络设备100,第二网络设备200将具有广播数据(数值1)和集合通信标识(1001)的报文(Z2)发送给第三网络设备300。
步骤S215、第一网络设备100接收第二网络设备200发送的报文(Z1)。
步骤S216、第一网络设备100根据报文(Z1)的集合通信标识(1001)、接收报文(Z1)的端口(P10)和表1可以确定报文(Z1)来自于父节点。
其中,报文(Z1)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ3,报文(Z1)的报文头包括集合通信标识,集合通信标识为1001。
步骤S217、第一网络设备100根据报文(X1)的报文头和报文(Z1)的负荷生成报文(X2),第一网络设备100根据报文(Y1)的报文头和报文(Z1)的负荷生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为报文(Z1)的负荷,报文(X2)的校验值为根据报文(X1)的报文头和报文(Z1)的负荷计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为报文(Z1)的负荷,报文(Y2)的校验值为根据报文(Y1)的报文头和报文(Z1)的负荷计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
其中,报文(X2)的负荷为数值1,报文(X1)的负荷为数值1,所以报文(X2)的负荷与报文(X1)的负荷相同。由于报文(X2)的负荷与报文(X1)的负荷相同,报文(X2)的报文头与报文(X1)的报文头相同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(X2)的校验值与报文(X1)的校验值相同。报文(Y2)的负荷为数值1,报文(Y1)的负荷为数值5,所以报文(Y2)的负荷与报文(Y1)的负荷不同。由于报文(Y2)的负荷与报文(Y1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(Y2)的校验值与报文(Y1)的校验值不同。
步骤S218、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图3和表1所示的实施例中,在第一网络设备100得到广播数据(数值1)以后,第一网络设备100会利用报文(X1)的报文头和广播数据(数值1)生成报文(X2),并利用报文(Y1)的报文头和广播数据(数值1)生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
请参见图1所示,如果本地通信组(A1)包括1个终端设备,假设本地通信组(A1)包括第一终端设备401,全局通信组(B1)包括第一终端设备401、第三终端设备403和第四终端设备404,那么建立连接的方式有很多种。例如,第一终端设备401与第三终端设备403建立连接,第三终端设备403与第四终端设备404建立连接,第一终端设备401与第四终端设备404建立连接。在这种情况下,第一网络设备100仅会接收到第一终端设备401发送的报文(X1),如果报文(X1)的集合通信类型为广播,而且本地通信组(A1)的终端设备的数量(1个)小于全局通信组(B1)的终端设备的数量(3个),那么第一网络设备100会将广播数据(数值1)和集合通信标识(1001)发送给第二网络设备200。
请参见图1、图4和表1所示,图4所示的为本申请实施例提供的一种报文的集合通信类型为同步的方法流程图。
在图1、图4和表1所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S301、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷为空,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S302、第一网络设备100根据报文(X1)的集合通信字段(TB)和表2确定报文(X1)的集合通信类型为同步。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(TB)。第一网络设备100根据集合通信字段(TB)和表2确定报文(X1)的集合通信类型为同步。
步骤S303、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S304、第一网络设备100根据集合通信标识(1001)、端口(P1)和表1可以确定报文(X1)来自于子节点。
其中,在表1中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S305、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为同步,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S306、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷为空,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S307、第一网络设备100根据报文(Y1)的集合通信字段(TB)和表2确定报文(Y1)的集合通信类型为同步。
步骤S308、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S309、第一网络设备100根据集合通信标识(1001)、端口(P2)和表1可以确定报文(Y1)来自于子节点。
步骤S310、第一网络设备100存储报文(Y1)。
步骤S311、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100根据表1确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表1确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(4个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)。
其中,在本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个)时,说明第一网络设备100还需要将集合通信标识(1001)发送给第二网络设备200。
步骤S312、第一网络设备100将集合通信标识(1001)发送给第二网络设备200。
其中,第二网络设备200在接收到第一网络设备100发送集合通信标识(1001)以后,第二网络设备200还会接收到第三网络设备300发送的集合通信标识(1001)。然后,第二网络设备200将具有集合通信标识(1001)的报文(Z1)发送给第一网络设备100,第二网络设备200将具有集合通信标识(1001)的报文(Z2)发送给第三网络设备300。
步骤S313、第一网络设备100接收第二网络设备200发送的报文(Z1)。
步骤S314、第一网络设备100根据报文(Z1)的集合通信标识(1001)、接收报文(Z1)的端口(P10)和表1可以确定报文(Z1)来自于父节点。
其中,报文(Z1)包括报文头、负荷和校验值,负荷为空,校验值为JYZ3,报文(Z1)的报文头包括集合通信标识,集合通信标识为1001。
步骤S315、第一网络设备100根据报文(X1)的报文头生成报文(X2),第一网络设备100根据报文(Y1)的报文头生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为空,报文(X2)的校验值为根据报文(X1)的报文头计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷为空,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为空,报文(Y2)的校验值为根据报文(Y1)的报文头计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷为空,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S316、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图4和表1所示的实施例中,在第一网络设备100接收到第二网络设备200发送的报文(Z1)以后,第一网络设备100根据报文(X1)的报文头生成报文(X2),第一网络设备100根据报文(Y1)的报文头生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
请参见图1所示,如果本地通信组(A1)包括1个终端设备,假设本地通信组(A1)包括第一终端设备401,全局通信组(B1)包括第一终端设备401、第三终端设备403和第四终端设备404,那么建立连接的方式有很多种。例如,第一终端设备401与第三终端设备403建立连接,第三终端设备403与第四终端设备404建立连接,第一终端设备401与第四终端设备404建立连接。在这种情况下,第一网络设备100仅会接收到第一终端设备401发送的报文(X1),如果报文(X1)的集合通信类型为同步,而且本地通信组(A1)的终端设备的数量(1个)小于全局通信组(B1)的终端设备的数量(3个),那么第一网络设备100会将集合通信标识(1001)发送给第二网络设备200。
请结合图1和表4所示,表4所示的为第一网络设备100预先生成的信息表。
表4
在表4中,表4与表1的区别在第五列,表4的第五列为2个,即集合通信标识(1001)对应的全局通信组B1的终端设备的数量为2个。表1的第五列为4个,即集合通信标识(1001)对应的全局通信组B1的终端设备的数量为4个。
在图1和表4所示的实施例中,集合通信标识(1001)分别为本地通信组(A1)的标识和全局通信组(B1)的标识,其中,本地通信组(A1)包括第一终端设备401和第二终端设备402,全局通信组(B1)包括第一终端设备401和第二终端设备402。
在图1和表4所示的实施例中,本地通信组的名称为A1,本地通信组(A1)包括第一终端设备401和第二终端设备402,第一终端设备401和第二终端设备402均与集合通信标识(1001)对应,而且,第一终端设备401和第二终端设备402均与第一网络设备100通信。
在图1和表4所示的实施例中,子节点的端口号包括P1和P2,其中,端口号P1对应的端口为第一网络设备100与第一终端设备401通信的端口,端口号P2对应的端口为第一网络设备100与第二终端设备402通信的端口。
在图1和表4所示的实施例中,父节点的端口号包括P10,其中,端口号P10对应的端口为第一网络设备100与第二网络设备200通信的端口。
在图1和表4所示的实施例中,与集合通信标识(1001)对应的终端设备包括第一终端设备401和第二终端设备402,全局通信组(B1)的数量为2个,全局通信组(B1)包括第一终端设备401和第二终端设备402。
在图1和表4所示的实施例中,本地通信组(A1)包括第一终端设备401和第二终端设备402,由于第一终端设备401与第二终端设备402会建立连接,所以第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,在第一网络设备100上不需要设置与第一终端设备401和第二终端设备402建立连接的硬件模块。第三网络设备300与第一网络设备100的情况类似,关于第三网络设备300的情况可以参见第一网络设备100的详细说明。
请参见图1、图5和表4所示,图5所示的为本申请实施例提供的一种报文的集合通信类型为全局规约的方法流程图。
在图1、图5和表4所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S401、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S402、第一网络设备100根据报文(X1)的集合通信字段(QJGY)和表2确定报文(X1)的集合通信类型为全局规约。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(QJGY)。第一网络设备100根据集合通信字段(QJGY)和表2确定报文(X1)的集合通信类型为全局规约。
步骤S403、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S404、第一网络设备100根据集合通信标识(1001)、端口(P1)和表4可以确定报文(X1)来自于子节点。
其中,在表4中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S405、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为全局规约,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S406、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷包括数值5,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S407、第一网络设备100根据报文(Y1)的集合通信字段(QJGY)和表2确定报文(Y1)的集合通信类型为全局规约。
步骤S408、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S409、第一网络设备100根据集合通信标识(1001)、端口(P2)和表4可以确定报文(Y1)来自于子节点。
步骤S410、第一网络设备100存储报文(Y1)。
步骤S411、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100确定报文(X1)和报文(Y1)中的全局规约字段均为求和。
其中,报文的报文头中的全局规约字段有多种类型,例如,全局规约字段可以为求和、取最大值或取最小值等。
步骤S412、第一网络设备100提取报文(X1)的负荷(数值1)和报文(Y1)的负荷(数值5),第一网络设备100计算报文(X1)的负荷(数值1)与报文(Y1)的负荷(数值5)之和得到数据A(数值6)。
其中,报文(X1)的负荷为数值1,报文(Y1)的负荷为数值5,数据A=报文(X1)的负荷(数值1)+报文(Y1)的负荷(数值5)=1+5=6。
步骤S413、第一网络设备100根据表4确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表4确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(2个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)。
其中,在本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)时,说明第一网络设备100不需要将数据A上送到第二网络设备200。
步骤S414、第一网络设备100根据报文(X1)的报文头和数据A生成报文(X2),第一网络设备100根据报文(Y1)的报文头和数据A生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为数据A,报文(X2)的校验值为根据报文(X1)的报文头和数据A计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷包括数值6,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为数据A,报文(Y2)的校验值为根据报文(Y1)的报文头和数据A计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷包括数值6,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为QJGY,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
其中,报文(X2)的负荷为数值6,报文(X1)的负荷为数值1,所以报文(X2)的负荷与报文(X1)的负荷不同。由于报文(X2)的负荷与报文(X1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(X2)的校验值与报文(X1)的校验值不同。报文(Y2)的负荷为数值6,报文(Y1)的负荷为数值5,所以报文(Y2)的负荷与报文(Y1)的负荷不同。由于报文(Y2)的负荷与报文(Y1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(Y2)的校验值与报文(Y1)的校验值不同。
步骤S415、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图5和表4所示的实施例中,在第一网络设备100得到全局规约的最终结果(数值6)以后,第一网络设备100会利用报文(X1)的报文头和全局规约的最终结果(数值6)生成报文(X2),并利用报文(Y1)的报文头和全局规约的最终结果(数值6)生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
请参见图1、图6和表4所示,图6所示的为本申请实施例提供的一种报文的集合通信类型为广播的方法流程图。
在图1、图6和表4所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S501、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S502、第一网络设备100根据报文(X1)的集合通信字段(GB)和表2确定报文(X1)的集合通信类型为广播。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(GB)。第一网络设备100根据集合通信字段(GB)和表2确定报文(X1)的集合通信类型为广播。
步骤S503、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S504、第一网络设备100根据集合通信标识(1001)、端口(P1)和表4可以确定报文(X1)来自于子节点。
其中,在表4中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S505、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为广播,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S506、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷包括数值5,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S507、第一网络设备100根据报文(Y1)的集合通信字段(GB)和表2确定报文(Y1)的集合通信类型为广播。
步骤S508、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S509、第一网络设备100根据集合通信标识(1001)、端口(P2)和表4可以确定报文(Y1)来自于子节点。
步骤S510、第一网络设备100存储报文(Y1)。
步骤S511、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100提取报文(X1)的报文头中的源进程号(0)和报文(Y1)的报文头中的源进程号(1)。
步骤S512、第一网络设备100根据表3、报文(X1)的报文头中的源进程号(0)和报文(Y1)的报文头中的源进程号(1)确定报文(X1)的负荷中的数据为广播数据,并提取报文(X1)的负荷中的数值1,数值1为广播数据。
步骤S513、第一网络设备100根据表4确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表4确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(2个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)。
其中,在本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)时,说明第一网络设备100不需要将广播数据(数值1)上送到第二网络设备200。
步骤S514、第一网络设备100根据报文(X1)的报文头和广播数据(数值1)生成报文(X2),第一网络设备100根据报文(Y1)的报文头和广播数据(数值1)生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为广播数据(数值1),报文(X2)的校验值为根据报文(X1)的报文头和广播数据(数值1)计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为广播数据(数值1),报文(Y2)的校验值为根据报文(Y1)的报文头和广播数据(数值1)计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷包括数值1,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为GB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
其中,报文(X2)的负荷为数值1,报文(X1)的负荷为数值1,所以报文(X2)的负荷与报文(X1)的负荷相同。由于报文(X2)的负荷与报文(X1)的负荷相同,报文(X2)的报文头与报文(X1)的报文头相同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(X2)的校验值与报文(X1)的校验值相同。报文(Y2)的负荷为数值1,报文(Y1)的负荷为数值5,所以报文(Y2)的负荷与报文(Y1)的负荷不同。由于报文(Y2)的负荷与报文(Y1)的负荷不同,而且校验值为根据报文的报文头和报文的负荷计算得到的,所以报文(Y2)的校验值与报文(Y1)的校验值不同。
步骤S515、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图6和表4所示的实施例中,在第一网络设备100得到广播数据(数值1)以后,第一网络设备100会利用报文(X1)的报文头和广播数据(数值1)生成报文(X2),并利用报文(Y1)的报文头和广播数据(数值1)生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
请参见图1、图7和表4所示,图7所示的为本申请实施例提供的一种报文的集合通信类型为同步的方法流程图。
在图1、图7和表4所示的实施例中,集合通信标识(1001)对应的本地通信组(A1)包括第一终端设备401和第二终端设备402。第一终端设备401与第二终端设备402会预先建立连接,第一终端设备401会通过第一网络设备100向第二终端设备402发送报文(X1)。本申请实施例提供的集合通信的方法包括以下步骤:
步骤S601、第一网络设备100接收第一终端设备401发送的报文(X1)。
其中,报文(X1)包括报文头、负荷和校验值,负荷为空,校验值为JYZ1,报文(X1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
步骤S602、第一网络设备100根据报文(X1)的集合通信字段(TB)和表2确定报文(X1)的集合通信类型为同步。
其中,请参见表2所示,表2所示的为第一网络设备100内预先存储的集合通信字段与集合通信类型的映射关系表。在第一网络设备100接收报文(X1)以后,第一网络设备100会提取报文(X1)的报文头中的集合通信字段(TB)。第一网络设备100根据集合通信字段(TB)和表2确定报文(X1)的集合通信类型为同步。
步骤S603、第一网络设备100获取接收报文(X1)的端口对应的端口号(P1),并获取报文(X1)的报文头中的集合通信标识(1001)。
其中,第一网络设备100会预先确定与第一终端设备401通信的端口对应的端口号为P1,与第二终端设备402通信的端口对应的端口号为P2。在第一网络设备100通过端口(P1)接收到第一终端设备401发送的报文(X1)以后,第一网络设备100便可获取接收报文(X1)的端口对应的端口号(P1)。
步骤S604、第一网络设备100根据集合通信标识(1001)、端口(P1)和表4可以确定报文(X1)来自于子节点。
其中,在表4中,集合通信标识(1001)和端口(P1)对应的是子节点的端口号,所以第一网络设备100可以确定报文(X1)来自于子节点。
步骤S605、第一网络设备100存储报文(X1)。
其中,由于报文(X1)的集合通信类型为同步,所以第一网络设备100需要缓存报文(X1),以便于第一网络设备100可以在后续步骤中使用报文(X1)的报文头。
步骤S606、第一网络设备100接收第二终端设备402发送的报文(Y1)。
其中,报文(Y1)包括报文头、负荷和校验值,负荷为空,校验值为JYZ2,报文(Y1)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S607、第一网络设备100根据报文(Y1)的集合通信字段(TB)和表2确定报文(Y1)的集合通信类型为同步。
步骤S608、第一网络设备100获取接收报文(Y1)的端口对应的端口号(P2),并获取报文(Y1)的报文头中的集合通信标识(1001)。
步骤S609、第一网络设备100根据集合通信标识(1001)、端口(P2)和表4可以确定报文(Y1)来自于子节点。
步骤S610、第一网络设备100存储报文(Y1)。
步骤S611、在第一网络设备100确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,第一网络设备100根据表4确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),并根据表4确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(2个),第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)。
其中,在本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)时,说明第一网络设备100不需要将集合通信标识(1001)发送给第二网络设备200。
步骤S612、第一网络设备100根据报文(X1)的报文头生成报文(X2),第一网络设备100根据报文(Y1)的报文头生成报文(Y2)。
其中,报文(X2)的报文头为报文(X1)的报文头,报文(X2)的负荷为空,报文(X2)的校验值为根据报文(X1)的报文头计算得到的。具体的,报文(X2)包括报文头、负荷和校验值,负荷为空,校验值为JYZ4,报文(X2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.1,目的地址(192.168.1.1)为第二终端设备402的地址。
其中,报文(Y2)的报文头为报文(Y1)的报文头,报文(Y2)的负荷为空,报文(Y2)的校验值为根据报文(Y1)的报文头计算得到的。具体的,报文(Y2)包括报文头、负荷和校验值,负荷为空,校验值为JYZ5,报文(Y2)的报文头包括集合通信标识、集合通信字段和目的地址,集合通信标识为1001,集合通信字段为TB,目的地址为192.168.1.5,目的地址(192.168.1.5)为第一终端设备401的地址。
步骤S613、第一网络设备100发送报文(X2)和报文(Y2)。
其中,报文(X2)的报文头中的目的地址(192.168.1.1)为第二终端设备402的地址,第二终端设备402会接收到第一网络设备100发送的报文(X2)。报文(Y2)的报文头中的目的地址(192.168.1.5)为第一终端设备401的地址,第一终端设备401会接收到第一网络设备100发送的报文(Y2)。
在图1、图7和表4所示的实施例中,在第一网络设备100确定本地通信组(A1)的终端设备的数量(2个)等于全局通信组(B1)的终端设备的数量(2个)以后,第一网络设备100根据报文(X1)的报文头生成报文(X2),第一网络设备100根据报文(Y1)的报文头生成报文(Y2),并发送报文(X2)和报文(Y2),以使第一终端设备401和第二终端设备402分别接收到报文(Y2)和报文(X2)。本申请实施例在第一网络设备100与第一终端设备401和第二终端设备402不建立连接的情况下,第一网络设备100可以利用第一终端设备401与第二终端设备402之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备100不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备100在硬件上的投入;而且,第一网络设备100也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备100的资源开销。
另外,第三网络设备300的执行步骤与第一网络设备100的执行步骤类似,关于第三网络设备300的执行步骤可以参考第一网络设备100的执行步骤。
另外,如果本地通信组(A1)包括多个终端设备,例如,假设本地通信组(A1)包括终端设备A、终端设备B、终端设备C和终端设备D,那么建立连接的方式有很多种。例如,终端设备A与终端设备B建立连接,终端设备B与终端设备C建立连接,终端设备C与终端设备D建立连接,终端设备D与终端设备A建立连接。当然,本地通信组(A1)内的终端设备还可以采用其他的方式建立通信连接。
在图1至图7所示的实施例中,如果第一网络设备100在基于融合以太网的远程直接内存访问(RDMA over converged ethernet,RoCE)组网内时,那么报文(X1)的报文头中的目的地址为目的媒体访问控制(media access control,MAC)地址。而且,报文(X1)的第一字段与报文(X2)的第一字段相同,其中,第一字段包括源MAC地址、全局路由头部(globalroute header,GRH)中的源全局标识符(global identifier,GID)、全局路由头部中的目的全局标识符或基础传输头部(base transport header,BTH)中的目的队列对(queue pair,QP)号中的至少一种。
在图1至图7所示的实施例中,如果第一网络设备100在基于互联网协议可路由的融合以太网的远程直接内存访问(IP ROUTABLE RDMA over converged ethernet,RoCEv2)组网内时,那么报文(X1)的报文头中的目的地址为目的互联网协议(internet protocol,IP)地址。而且,报文(X1)的第二字段与报文(X2)的第二字段相同,其中,第二字段包括源IP地址、用户数据报协议(user datagram protocol,UDP)源端口号或无限带宽(infiniband,IB)传输头中的目的队列对号中的至少一种。
在图1至图7所示的实施例中,如果第一网络设备100在无限带宽(infiniband,IB)组网内时,那么报文(X1)的报文头中的目的地址为目的本地标识符(local identifier,LID)地址。而且,报文(X1)的第三字段与报文(X2)的第三字段相同,其中,第三字段包括源本地标识符地址或基础传输头部中的目的队列对号中的至少一种。
请参见图8所示,图8所示的为本申请实施例提供的一种集合通信的方法的流程图,图8所示的方法包括以下步骤。
步骤S701、第一网络设备接收第一报文。
其中,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址,第一报文是由第一集合通信标识对应的本地通信组内的终端设备发送的报文。
例如,请结合图1和表1所示,假设第二终端设备402向第一网络设备100发送第一报文,第一报文中的第一目的地址为第一终端设备401的地址,第一集合通信标识为1001,第一集合通信标识1001对应的本地通信组A1包括第一终端设备401和第二终端设备402。
步骤S702、第一网络设备接收至少一个第二报文。
其中,如果第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量,那么至少一个第二报文为一个第二报文,而且该第二报文是第二网络设备发送给第一网络设备的报文。
例如,请结合图2、图3和图4所示,图2、图3和图4所示的实施例均为第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量的情况。
其中,如果第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量,那么至少一个第二报文是第一集合通信标识对应的本地通信组内的终端设备发送的报文。
例如,请结合图5、图6和图7所示,图5、图6和图7所示的实施例均为第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量的情况。
当然,不管至少一个第二报文是第二网络设备或本地通信组内的终端设备发送的报文,至少一个第二报文均包括第一集合通信标识。
步骤S703、第一网络设备根据第一报文和至少一个第二报文发送第三报文。
其中,第三报文包括第一集合通信标识和第一目的地址。
在图8所示的实施例中,本申请实施例在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
请参见图9所示,图9所示的为本申请实施例提供的另一种集合通信的方法的流程图,图9所示的方法包括以下步骤。
步骤S801、第一网络设备接收第一报文。
其中,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址,第一报文是由第一集合通信标识对应的本地通信组内的终端设备发送的报文。
步骤S802、第一网络设备确定第一报文的集合通信类型为全局规约或广播。
其中,关于步骤S802的具体实现请参见图2所示的步骤S102和图3所示的步骤S202。
步骤S803、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。
其中,请参见表1所示,第一网络设备可以通过表1的第三列得知本地通信组的终端设备的数量。对于表1而言,与集合通信标识1001对应的子节点的端口号有P1和P2,所以本地通信组的终端设备的数量为2个。
步骤S804、第一网络设备接收至少一个第四报文。
其中,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。
步骤S805、第一网络设备将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。
其中,关于步骤S805的具体实现请参见图2所示的步骤S112和图3所示的步骤S212。
步骤S806、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
其中,关于步骤S806的具体实现请参见图2所示的步骤S113和图3所示的步骤S213。
步骤S807、第一网络设备将第二数据和第一集合通信标识发送给第二网络设备。
其中,关于步骤S807的具体实现请参见图2所示的步骤S114和图3所示的步骤S214。
另外,如果第一集合通信标识对应的本地通信组的终端设备的数量为一个,那么步骤S803至步骤S807可以替换为以下三个步骤:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个;第一网络设备提取第一报文的负荷得到第一数据;第一网络设备将第一数据和第一集合通信标识发送给第二网络设备。
步骤S808、第一网络设备接收第二网络设备发送的第二报文。
其中,第二报文均包括第一集合通信标识。
步骤S809、第一网络设备根据第二报文的负荷与第一报文的报文头生成第三报文。
其中,第三报文包括第一集合通信标识和第一目的地址。
其中,关于步骤S809的具体实现请参见图2所示的步骤S117和图3所示的步骤S217。
步骤S810、第一网络设备发送第三报文。
其中,关于步骤S810的具体实现请参见图2所示的步骤S118和图3所示的步骤S218。
在图9所示的实施例中,本申请实施例在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对全局规约报文或广播报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
请参见图10所示,图10所示的为本申请实施例提供的又一种集合通信的方法的流程图,图10所示的方法包括以下步骤。
步骤S901、第一网络设备接收第一报文。
其中,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址,第一报文是由第一集合通信标识对应的本地通信组内的终端设备发送的报文。
步骤S902、第一网络设备确定第一报文的集合通信类型为全局规约或广播。
其中,关于步骤S902的具体实现请参见图2所示的步骤S102、图3所示的步骤S202、图5所示的步骤S402和图6所示的步骤S502。
步骤S903、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。
其中,请参见表1所示,第一网络设备可以通过表1的第三列得知本地通信组的终端设备的数量。对于表1而言,与集合通信标识1001对应的子节点的端口号有P1和P2,所以本地通信组的终端设备的数量为2个。
步骤S904、第一网络设备接收至少一个第二报文。
其中,至少一个第二报文均包括第一集合通信标识
步骤S905、第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。
步骤S906、第一网络设备将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。
其中,关于步骤S906的具体实现请参见图2所示的步骤S112和图3所示的步骤S212。
步骤S907、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
其中,关于步骤S907的具体实现请参见图2所示的步骤S113和图3所示的步骤S213。
步骤S908、第一网络设备根据第三数据与第一报文的报文头生成第三报文。
其中,第三报文包括第一集合通信标识和第一目的地址。
其中,关于步骤S908的具体实现请参见图2所示的步骤S117和图3所示的步骤S217。
步骤S909、第一网络设备发送第三报文。
其中,关于步骤S909的具体实现请参见图2所示的步骤S118和图3所示的步骤S218。
在图10所示的实施例中,本申请实施例在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对全局规约报文或广播报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
请参见图11所示,图11所示的为本申请实施例提供的又一种集合通信的方法的流程图,图11所示的方法包括以下步骤。
步骤S1001、第一网络设备接收第一报文。
其中,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址,第一报文是由第一集合通信标识对应的本地通信组内的终端设备发送的报文。
步骤S1002、第一网络设备确定第一报文的集合通信类型为同步。
其中,关于步骤S1002的具体实现请参见图4所示的步骤S302。
步骤S1003、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。
其中,请参见表1所示,第一网络设备可以通过表1的第三列得知本地通信组的终端设备的数量。对于表1而言,与集合通信标识1001对应的子节点的端口号有P1和P2,所以本地通信组的终端设备的数量为2个。
步骤S1004、第一网络设备接收至少一个第五报文。
其中,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文;
步骤S1005、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
其中,关于步骤S1005的具体实现请参见图4所示的步骤S311。
步骤S1006、第一网络设备将第一集合通信标识发送给第二网络设备。
其中,关于步骤S1006的具体实现请参见图4所示的步骤S312。
另外,如果第一集合通信标识对应的本地通信组的终端设备的数量为一个,那么步骤S1003至步骤S1006可以替换为以下三个步骤:第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为一个;第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量;第一网络设备将第一集合通信标识发送给第二网络设备。
步骤S1007、第一网络设备接收第二网络设备发送的第二报文。
其中,第二报文均包括第一集合通信标识。
步骤S1008、第一网络设备确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同。
步骤S1109、第一网络设备根据第一报文的报文头生成第三报文。
其中,关于步骤S1109的具体实现请参见图4所示的步骤S315。
步骤S1010、第一网络设备发送第三报文。
其中,第三报文的负荷与第一报文的负荷相同。
其中,关于步骤S1010的具体实现请参见图4所示的步骤S316。
在图11所示的实施例中,本申请实施例在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对同步报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
请参见图12所示,图12所示的为本申请实施例提供的又一种集合通信的方法的流程图,图12所示的方法包括以下步骤。
步骤S1101、第一网络设备接收第一报文。
其中,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址,第一报文是由第一集合通信标识对应的本地通信组内的终端设备发送的报文。
步骤S1102、第一网络设备确定第一报文的集合通信类型为同步。
其中,关于步骤S1102的具体实现请参见图7所示的步骤S602。
步骤S1103、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。
其中,请参见表1所示,第一网络设备可以通过表1的第三列得知本地通信组的终端设备的数量。对于表1而言,与集合通信标识1001对应的子节点的端口号有P1和P2,所以本地通信组的终端设备的数量为2个。
步骤S1104、第一网络设备接收至少一个第二报文。
其中,至少一个第二报文均包括第一集合通信标识。
步骤S1105、第一网络设备确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。
步骤S1106、第一网络设备确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
其中,关于步骤S1106的具体实现请参见图7所示的步骤S611。
步骤S1107、第一网络设备根据第一报文的报文头生成第三报文。
其中,关于步骤S1107的具体实现请参见图7所示的步骤S612。
步骤S1108、第一网络设备发送第三报文。
其中,关于步骤S1108的具体实现请参见图7所示的步骤S613。
在图12所示的实施例中,本申请实施例在第一网络设备与终端设备不建立连接的情况下,第一网络设备可以利用第一终端设备与其他的终端设备之间的连接来实现对同步报文的汇聚和分发,所以第一网络设备不需要具备与终端设备建立连接的硬件模块,从而可以节省第一网络设备在硬件上的投入;而且,第一网络设备也不需要使用状态机来维持与终端设备建立的连接状态,从而会减少第一网络设备的资源开销。
请参见图13所示,图13所示的为本申请实施例提供的一种网络设备的示意图。图13所示的第一网络设备100包括交换芯片101和计算芯片102,交换芯片101主要用于接收、发送和识别集合通信报文,计算芯片102主要用于存储、汇聚和处理集合通信报文。下面将结合图1、图2、表1和图13详细的介绍交换芯片101和计算芯片102的功能。
在图1、图2、表1和图13所示的实施例中,交换芯片101接收第一终端设备401发送的报文(X1),交换芯片101根据报文(X1)的集合通信字段(QJGY)和表2确定报文(X1)的集合通信类型为全局规约,交换芯片101将报文(X1)发送给计算芯片102。计算芯片102接收交换芯片101发送的报文(X1),计算芯片102获取接收报文(X1)的端口对应的端口号(P1),计算芯片102获取报文(X1)的报文头中的集合通信标识(1001),计算芯片102根据集合通信标识(1001)、端口(P1)和表1可以确定报文(X1)来自于子节点,计算芯片102存储报文(X1)。
在图1、图2、表1和图13所示的实施例中,交换芯片101接收第二终端设备402发送的报文(Y1),交换芯片101根据报文(Y1)的集合通信字段(QJGY)和表2确定报文(Y1)的集合通信类型为全局规约,交换芯片101将报文(Y1)发送给计算芯片102。计算芯片102获取接收报文(Y1)的端口对应的端口号(P2),计算芯片102获取报文(Y1)的报文头中的集合通信标识(1001),计算芯片102根据集合通信标识(1001)、端口(P2)和表1可以确定报文(Y1)来自于子节点,计算芯片102存储报文(Y1)。
在图1、图2、表1和图13所示的实施例中,计算芯片102确定子节点的端口号(P1,P2)对应的端口均接收到集合通信报文以后,计算芯片102确定报文(X1)和报文(Y1)中的全局规约字段均为求和,计算芯片102提取报文(X1)的负荷(数值1)和报文(Y1)的负荷(数值5),计算芯片102计算报文(X1)的负荷(数值1)与报文(Y1)的负荷(数值5)之和得到数据A(数值6),计算芯片102根据表1确定集合通信标识(1001)对应的本地通信组(A1)的终端设备的数量(2个),计算芯片102根据表1确定集合通信标识(1001)对应的全局通信组(B1)的终端设备的数量(4个),计算芯片102确定本地通信组(A1)的终端设备的数量(2个)小于全局通信组(B1)的终端设备的数量(4个),计算芯片102将数据A(数值6)和集合通信标识(1001)发送给交换芯片101。
在图1、图2、表1和图13所示的实施例中,在交换芯片101接收到计算芯片102发送的数据A(数值6)和集合通信标识(1001)以后,交换芯片101将数据A(数值6)和集合通信标识(1001)发送给第二网络设备200。交换芯片101接收第二网络设备200发送的报文(Z1),交换芯片101将报文(Z1)发送给计算芯片102。
在图1、图2、表1和图13所示的实施例中,在计算芯片102接收到交换芯片101发送的报文(Z1)以后,计算芯片102根据报文(Z1)的集合通信标识(1001)、接收报文(Z1)的端口(P10)和表1可以确定报文(Z1)来自于父节点,计算芯片102根据报文(X1)的报文头和报文(Z1)的负荷生成报文(X2),计算芯片102根据报文(Y1)的报文头和报文(Z1)的负荷生成报文(Y2),计算芯片102将报文(X2)和报文(Y2)发送给交换芯片101。在交换芯片101接收到计算芯片102发送的报文(X2)和报文(Y2)以后,交换芯片101发送报文(X2)和报文(Y2)。
在图1、图2、表1和图13所示的实施例中,介绍了在报文的集合通信类型为全局规约时,第一网络设备100的交换芯片101和计算芯片102的执行过程。
请参见图14所示,图14所示的为本申请实施例提供的一种系统的示意图。图14所示的系统包括网络设备500和至少两个终端设备,至少两个终端设备包括终端设备601和终端设备602等设备。
在图14所示的实施例中,图14所示的网络设备500与图1至图7中的第一网络设备100的工作原理相同,关于图14所示的网络设备500的执行过程可以参见图1至图7中的第一网络设备100的执行过程。图14所示的终端设备601和终端设备602与图1至图7中的第一终端设备401和第二终端设备402的工作原理相同,关于图14所示的终端设备601和终端设备602的执行过程可以参见图1至图7中的第一终端设备401和第二终端设备402的执行过程。
在图14所示的实施例中,本申请实施例在网络设备500与至少两个终端均不建立连接的情况下,网络设备500可以利用至少两个终端设备之间的连接来实现对集合通信报文的汇聚和分发,所以网络设备500不需要具备与至少两个终端设备建立连接的硬件模块,从而可以节省网络设备500在硬件上的投入;而且,网络设备500也不需要使用状态机来维持与至少两个终端设备建立的连接状态,从而会减少网络设备500的资源开销。
请参见图15所示,图15所示的为本申请实施例提供的另一种网络设备的示意图。图15所示的网络设备包括以下模块:
接收模块701,用于接收第一报文,第一报文包括第一集合通信标识和第一目的地址,第一目的地址为第一终端设备的地址。接收至少一个第二报文,至少一个第二报文均包括第一集合通信标识。
发送模块702,用于根据第一报文和至少一个第二报文发送第三报文,第三报文包括第一集合通信标识和第一目的地址。
在图15所示的实施例中,网络设备还包括处理模块703。其中,处理模块703,用于根据第二报文的负荷与第一报文的报文头生成第三报文,第二报文为第二网络设备发送的报文。发送模块702,用于发送第三报文。
在图15所示的实施例中,处理模块703,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个,提取第一报文的负荷得到第一数据。发送模块702,用于将第一数据和第一集合通信标识发送给第二网络设备。
在图15所示的实施例中,处理模块703,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。接收模块701,用于接收至少一个第四报文,至少一个第四报文均包括第一集合通信标识,第一报文和至少一个第四报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。处理模块703,用于将第一报文的负荷与至少一个第四报文的负荷进行汇聚得到第二数据。发送模块702,用于将第二数据和第一集合通信标识发送给第二网络设备。
在图15所示的实施例中,处理模块703,用于确定第一报文的集合通信类型为全局规约或广播。确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在图15所示的实施例中,处理模块703,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。将第一报文的负荷与至少一个第二报文的负荷进行汇聚得到第三数据。根据第三数据与第一报文的报文头生成第三报文。发送模块702,用于发送第三报文。
在图15所示的实施例中,处理模块703,用于确定第一报文的集合通信类型为全局规约或广播。确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在图15所示的实施例中,处理模块703,用于确定第二报文的第一集合通信标识与第一报文的第一集合通信标识相同,第二报文为第二网络设备发送的报文。发送模块702,用于发送第三报文,第三报文的负荷与第一报文的负荷相同。
在图15所示的实施例中,处理模块703,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为一个。发送模块702,用于将第一集合通信标识发送给第二网络设备。
在图15所示的实施例中,处理模块703,用于确定第一集合通信标识对应的本地通信组的终端设备的数量为至少两个。接收模块701,用于接收至少一个第五报文,至少一个第五报文均包括第一集合通信标识,第一报文和至少一个第五报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。发送模块702,用于将第一集合通信标识发送给第二网络设备。
在图15所示的实施例中,处理模块703,用于确定第一报文的集合通信类型为同步。确定第一集合通信标识对应的本地通信组的终端设备的数量小于第一集合通信标识对应的全局通信组的终端设备的数量。
在图15所示的实施例中,处理模块703,用于确定第一报文和至少一个第二报文为第一集合通信标识对应的本地通信组的所有终端设备发送的报文。发送模块702,用于发送第三报文,第三报文的负荷与第一报文的负荷相同
在图15所示的实施例中,处理模块703,用于确定第一报文的集合通信类型为同步。确定第一集合通信标识对应的本地通信组的终端设备的数量等于第一集合通信标识对应的全局通信组的终端设备的数量。
在图15所示的实施例中,在处理模块703确定第一报文的集合通信类型为全局规约时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在处理模块703确定第一报文的集合通信类型为广播且第一报文不携带广播数据时,第一报文的负荷与第三报文的负荷不同,第一报文的校验值与第三报文的校验值不同。在处理模块703确定第一报文的集合通信类型为广播且第一报文携带广播数据时,第一报文的负荷与第三报文的负荷相同,第一报文的校验值与第三报文的校验值相同。
在图15所示的实施例中,处理模块703还可以包括交换芯片和计算芯片,图15的处理模块703的交换芯片与图13的交换芯片101的作用相同,图15的处理模块703中的计算芯片与图13的计算芯片102的作用相同。关于图15中的处理模块703的交换芯片和计算芯片的具体实现,可以参见图13所示的实施例中关于交换芯片101和计算芯片102的说明。
需要说明的是,当上述实施例中涉及软件实现的功能时,相关软件或软件中的模块可存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
此外,以上实施例仅用以说明本申请的技术方案而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,然而本领域的普通技术人员应当理解:其依然可对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换。

Claims (30)

1.一种通信的方法,其特征在于,所述方法包括:
第一网络设备接收第一报文,所述第一报文包括第一通信组标识和第一目的地址,所述第一目的地址为第一终端设备的地址;
所述第一网络设备接收至少一个第二报文,所述至少一个第二报文均包括所述第一通信组标识;
所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文,更新后的第一报文包括所述第一通信组标识;
所述第一网络设备发送所述更新后的第一报文。
2.根据权利要求1所述的通信的方法,其特征在于,所述第一报文还包括求和字段,所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文包括:
根据所述求和字段对所述第一报文和所述至少一个第二报文中的数据求和;
用所述求和的结果更新所述第一报文。
3.根据权利要求1或2所述的通信的方法,其特征在于,所述至少一个第二报文为一个第二报文;
所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文包括:
所述第一网络设备根据所述第二报文数据更新所述第一报文,所述第二报文为第二网络设备发送的报文。
4.根据权利要求3所述的通信的方法,其特征在于,在所述第一网络设备接收第一报文以后,在所述第一网络设备接收至少一个第二报文以前,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量为一个;
所述第一网络设备提取所述第一报文的数据得到第一数据;
所述第一网络设备将所述第一数据和所述第一通信组标识发送给所述第二网络设备。
5.根据权利要求3中任一项所述的通信的方法,其特征在于,在所述第一网络设备接收第一报文以后,在所述第一网络设备接收至少一个第二报文以前,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量为至少两个;
所述第一网络设备接收至少一个第三报文,所述至少一个第三报文均包括第一通信组标识,所述第一报文和所述至少一个第三报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述第一网络设备将所述第一报文的数据与所述至少一个第三报文的数据进行汇聚得到第二数据;
所述第一网络设备将所述第二数据和所述第一通信组标识发送给所述第二网络设备。
6.根据权利要求4或5所述的通信的方法,其特征在于,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量小于所述第一通信组标识对应的全局通信组的终端设备的数量。
7.根据权利要求1或2所述的通信的方法,其特征在于,所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文包括:
所述第一网络设备确定所述第一报文和所述至少一个第二报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述第一网络设备将所述第一报文的数据与所述至少一个第二报文的数据进行汇聚得到第三数据;
所述第一网络设备根据所述第三数据更新所述第一报文。
8.根据权利要求7所述的通信的方法,其特征在于,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量等于所述第一通信组标识对应的全局通信组的终端设备的数量。
9.根据权利要求1所述的通信的方法,其特征在于,所述至少一个第二报文为一个第二报文;
所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文包括:
所述第一网络设备确定所述第二报文的所述第一通信组标识与所述第一报文的所述第一通信组标识相同,所述第二报文为第二网络设备发送的报文;
所述更新后的第一报文的数据与所述第一报文的数据相同。
10.根据权利要求9所述的通信的方法,其特征在于,在所述第一网络设备接收第一报文以后,在所述第一网络设备接收至少一个第二报文以前,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量为一个;
所述第一网络设备将所述第一通信组标识发送给所述第二网络设备。
11.根据权利要求9所述的通信的方法,其特征在于,在第一网络设备接收第一报文以后,在所述第一网络设备接收至少一个第二报文以前,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量为至少两个;
所述第一网络设备接收至少一个第四报文,所述至少一个第四报文均包括第一通信组标识,所述第一报文和所述至少一个第四报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述第一网络设备将所述第一通信组标识发送给所述第二网络设备。
12.根据权利要求10或11所述的通信的方法,其特征在于,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量小于所述第一通信组标识对应的全局通信组的终端设备的数量。
13.根据权利要求1所述的通信的方法,其特征在于,所述第一网络设备根据所述第一报文和所述至少一个第二报文更新所述第一报文包括:
所述第一网络设备确定所述第一报文和所述至少一个第二报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述更新后的第一报文的数据与所述第一报文的数据相同。
14.根据权利要求13所述的通信的方法,其特征在于,所述方法还包括:
所述第一网络设备确定所述第一通信组标识对应的本地通信组的终端设备的数量等于所述第一通信组标识对应的全局通信组的终端设备的数量。
15.根据权利要求1至14中任意一项所述的通信的方法,其特征在于:
所述第一网络设备在基于以太网组网内时,所述第一目的地址为目的媒体访问控制MAC地址或目的互联网协议IP地址;
所述第一网络设备在无限带宽IB组网内时,所述第一目的地址为目的本地标识符LID地址。
16.根据权利要求15所述的通信的方法,其特征在于:
所述第一网络设备在RoCE组网内时,所述第一报文的第一字段与所述更新后的第一报文的第一字段相同,所述第一字段包括源MAC地址、全局路由头部GRH中的源全局标识符GID、GRH中的目的GID或基础传输头部BTH中的目的队列对QP号中的至少一种;
所述第一网络设备在RoCEv2组网内时,所述第一报文的第二字段与所述更新后的第一报文的第二字段相同,所述第二字段包括源IP地址、用户数据报协议UDP源端口号或IB传输头中的目的QP号中的至少一种;
所述第一网络设备在所述IB组网内时,所述第一报文的第三字段与所述更新后的第一报文的第三字段相同,所述第三字段包括源LID地址或BTH中的目的QP号中的至少一种。
17.一种网络设备,其特征在于,所述网络设备包括接收模块、处理模块和发送模块;
所述接收模块,用于接收第一报文,所述第一报文包括第一通信组标识和第一目的地址,所述第一目的地址为第一终端设备的地址;接收至少一个第二报文,所述至少一个第二报文均包括所述第一通信组标识;
所述处理模块,用于根据所述第一报文和所述至少一个第二报文更新所述第一报文,更新后的第一报文包括所述第一通信组标识;
所述发送模块,用于发送所述更新后的第一报文。
18.根据权利要求17所述的网络设备,其特征在于,所述第一报文还包括求和字段,所述处理模块用于:
根据所述求和字段对所述第一报文和所述至少一个第二报文中的数据求和;
用所述求和的结果更新所述第一报文。
19.根据权利要求17或18所述的网络设备,其特征在于,所述至少一个第二报文为一个第二报文;
所述处理模块,用于根据所述第二报文数据更新所述第一报文,所述第二报文为第二网络设备发送的报文;
所述发送模块,用于发送所述更新后的第一报文。
20.根据权利要求19所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量为一个;
提取所述第一报文的数据得到第一数据;
所述发送模块,用于将所述第一数据和所述第一通信组标识发送给所述第二网络设备。
21.根据权利要求19中任一项所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量为至少两个;
所述接收模块,用于接收至少一个第三报文,所述至少一个第三报文均包括第一通信组标识,所述第一报文和所述至少一个第三报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述处理模块,用于将所述第一报文的数据与所述至少一个第三报文的数据进行汇聚得到第二数据;
所述发送模块,用于将所述第二数据和所述第一通信组标识发送给所述第二网络设备。
22.根据权利要求20或21所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量小于所述第一通信组标识对应的全局通信组的终端设备的数量。
23.根据权利要求17或18所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一报文和所述至少一个第二报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;将所述第一报文的数据与所述至少一个第二报文的数据进行汇聚得到第三数据;根据所述第三数据更新所述第一报文;
所述发送模块,用于发送所述更新后的第一报文。
24.根据权利要求23所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量等于所述第一通信组标识对应的全局通信组的终端设备的数量。
25.根据权利要求17所述的网络设备,其特征在于,所述至少一个第二报文为一个第二报文;
所述处理模块,用于确定所述第二报文的所述第一通信组标识与所述第一报文的所述第一通信组标识相同,所述第二报文为第二网络设备发送的报文;
所述发送模块,用于发送所述更新后的第一报文,所述更新后的第一报文的数据与所述第一报文的数据相同。
26.根据权利要求25所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量为一个;
所述发送模块,用于将所述第一通信组标识发送给所述第二网络设备。
27.根据权利要求25所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量为至少两个;
所述接收模块,用于接收至少一个第四报文,所述至少一个第四报文均包括第一通信组标识,所述第四报文和所述至少一个第四报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述发送模块,用于将所述第一通信组标识发送给所述第二网络设备。
28.根据权利要求26或27所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量小于所述第一通信组标识对应的全局通信组的终端设备的数量。
29.根据权利要求17所述的网络设备,其特征在于:
所述处理模块,用于确定所述第一报文和所述至少一个第二报文为所述第一通信组标识对应的本地通信组的所有终端设备发送的报文;
所述发送模块,用于发送所述更新后的第一报文,所述更新后的第一报文的数据与所述第一报文的数据相同。
30.根据权利要求29所述的网络设备,其特征在于,所述方法还包括:
所述处理模块,用于确定所述第一通信组标识对应的本地通信组的终端设备的数量等于所述第一通信组标识对应的全局通信组的终端设备的数量。
CN202311140994.2A 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统 Pending CN117544555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311140994.2A CN117544555A (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202311140994.2A CN117544555A (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统
CN201910481166.2A CN112039777B (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910481166.2A Division CN112039777B (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN117544555A true CN117544555A (zh) 2024-02-09

Family

ID=73576571

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201910481166.2A Active CN112039777B (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统
CN202311140994.2A Pending CN117544555A (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统
CN202311141030.XA Pending CN117336229A (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910481166.2A Active CN112039777B (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311141030.XA Pending CN117336229A (zh) 2019-06-04 2019-06-04 一种集合通信的方法、装置及系统

Country Status (4)

Country Link
US (2) US11818033B2 (zh)
EP (1) EP3968583A4 (zh)
CN (3) CN112039777B (zh)
WO (1) WO2020244419A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092788A1 (en) * 2020-10-29 2022-05-05 Samsung Electronics Co., Ltd. Methods and system for securing a sdn controller from denial of service attack
CN115208964A (zh) * 2021-04-09 2022-10-18 华为技术有限公司 集合通信的方法及通信装置
CN113553279B (zh) * 2021-07-30 2023-04-07 中科计算技术西部研究院 一种rdma通信加速集合通信的方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6831898B1 (en) * 2000-08-16 2004-12-14 Cisco Systems, Inc. Multiple packet paths to improve reliability in an IP network
US7751327B2 (en) * 2004-02-25 2010-07-06 Nec Corporation Communication processing system, packet processing load balancing device and packet processing load balancing method therefor
CN1988706A (zh) * 2005-12-21 2007-06-27 美国博通公司 多模通信系统及在多模通信系统内传输信息的方法
US20090059934A1 (en) * 2007-08-30 2009-03-05 Motorola, Inc. Method and device for providing a bridge in a network
US8266204B2 (en) * 2010-03-15 2012-09-11 Microsoft Corporation Direct addressability and direct server return
CN106817726A (zh) * 2015-11-27 2017-06-09 中兴通讯股份有限公司 数据报文发送接收的处理方法及装置
US10521283B2 (en) * 2016-03-07 2019-12-31 Mellanox Technologies, Ltd. In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives
FR3053197A1 (fr) * 2016-06-24 2017-12-29 Orange Procede de communication udp via des chemins multiples entre deux terminaux
CN113938426A (zh) * 2016-11-02 2022-01-14 华为技术有限公司 一种报文处理方法以及网络设备
EP3602876A4 (en) * 2017-03-24 2020-03-18 Telefonaktiebolaget L M Ericsson (publ) METHOD AND DEVICE FOR DETERMINING A MODULATION SCHEME IN DIRECT CONNECTION-BASED COMMUNICATION
CN113839871A (zh) * 2017-09-25 2021-12-24 华为技术有限公司 一种报文转发的方法及网络设备
CN109769150B (zh) * 2017-11-09 2021-02-23 华为技术有限公司 一种传输组播业务的方法和设备
CN109691039B (zh) * 2018-01-16 2020-04-28 华为技术有限公司 一种报文传输的方法及装置
CN108989218B (zh) * 2018-07-11 2021-04-06 中国人民解放军陆军工程大学 一种基于网络融合架构的数据转发装置及方法

Also Published As

Publication number Publication date
EP3968583A4 (en) 2022-07-06
US20220094625A1 (en) 2022-03-24
CN112039777B (zh) 2023-09-15
CN117336229A (zh) 2024-01-02
CN112039777A (zh) 2020-12-04
US20240056381A1 (en) 2024-02-15
WO2020244419A1 (zh) 2020-12-10
US11818033B2 (en) 2023-11-14
EP3968583A1 (en) 2022-03-16

Similar Documents

Publication Publication Date Title
CN112039777B (zh) 一种集合通信的方法、装置及系统
US5802316A (en) Routers connecting LANs through public network
CN100555992C (zh) 基于网络的择路方案
CN107948076B (zh) 一种转发报文的方法及装置
KR101937736B1 (ko) 차세대 네트워크를 위한 객체 식별자 기반의 이종 식별자 노드간 상호연동 식별 장치 및 방법
CN113259859B (zh) 一种面向区域寻址的地理标识转发方法及装置
CN107547346B (zh) 一种报文传输方法和装置
EP3493507A1 (en) Session persistence method and apparatus, and storage medium
EP1182831A2 (en) Route updating method for micromobility network
CN101690087B (zh) 对漫游移动节点的数据的合法拦截
RU2687215C1 (ru) Способ и устройство для передачи информации о функциях коммутатора openflow
CN102201996A (zh) 网络地址转换环境中报文转发的方法及设备
CN104734877A (zh) 一种获取配置服务器信息的方法、装置及系统
CN110995609A (zh) 报文发送方法、装置、电子设备及存储介质
JP3625156B2 (ja) ネットワーク構成方法及び経路決定装置
US11196666B2 (en) Receiver directed anonymization of identifier flows in identity enabled networks
CN101572729B (zh) 一种虚拟专用网节点信息的处理方法及相关设备、系统
CN114827908A (zh) Vn组通信方法、装置、设备及存储介质
CN110474781B (zh) 一种组播数据转发的方法及装置
AU2021234957A1 (en) Method and system for routing an internet protocol data packet between wireless computer devices connected to a cellular network
WO2005043848A1 (en) Udp packet communication method and system for private ip terminals
KR20210051208A (ko) 종단 간 통신에 보안을 제공하기 위한 장치 및 방법
US8036218B2 (en) Technique for achieving connectivity between telecommunication stations
JP2004072160A (ja) スイッチング方法及び装置並びにコンピュータプログラム
CN108183859B (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