CN112753198B - 在网络中的负载均衡和报文重排序方法及装置 - Google Patents

在网络中的负载均衡和报文重排序方法及装置 Download PDF

Info

Publication number
CN112753198B
CN112753198B CN201880098071.6A CN201880098071A CN112753198B CN 112753198 B CN112753198 B CN 112753198B CN 201880098071 A CN201880098071 A CN 201880098071A CN 112753198 B CN112753198 B CN 112753198B
Authority
CN
China
Prior art keywords
packet
chip
message
node
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880098071.6A
Other languages
English (en)
Other versions
CN112753198A (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 CN202210214776.8A priority Critical patent/CN114726660A/zh
Publication of CN112753198A publication Critical patent/CN112753198A/zh
Application granted granted Critical
Publication of CN112753198B publication Critical patent/CN112753198B/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
    • 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/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects

Landscapes

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

Abstract

本申请提供在网络中的负载均衡和报文重排序方法及装置。本申请方法包括:入口节点根据报文流的目的地址和转发表确定目的芯片的标识,基于目的芯片的标识为报文流分配通道标识以及报文流中每个报文进入通道的序列号,生成更新的报文流,更新的报文流中的每个报文包括对应的报文流中的报文、报文的序列号以及通道标识,以逐包负载分担的方式发送更新的报文流。第一出口节点根据源芯片的标识和通道标识确定更新的报文流的存储资源,将报文流中的报文存入存储资源中,序列号小的报文在存储资源的位置前于序列号大的报文在存储资源的位置,发送保存在存储资源中的报文流包括的多个报文。本申请解决了网络链路间的负载不均衡和数据包乱序的问题。

Description

在网络中的负载均衡和报文重排序方法及装置
技术领域
本申请涉及通信技术,尤其涉及一种在网络中的负载均衡和报文重排序方法及装置。
背景技术
在网络里,从同一源设备到同一目的设备之间往往存在多条可达链路。目前采用一种逐流等价路由(Equal-Cost Multipath Routing,简称:ECMP)的方法解决链路负载均衡的问题。ECMP在存在多条不同链路到达同一目的地址的网络环境中可以同时使用多条链路。不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。实现了等值情况下,多链路负载均衡和链路备份的目的。但是,由于每条流的大小不同,从而使得网络链路间的负载可能会存在较严重的不均衡现象。以上导致网络设备的带宽利用率较低,影响网络性能。
另一种方法是为每个报文按照某种策略选择转发路径,该策略可以是随机、轮询或者基于链路负载进行选择等,理论上逐包负载均衡能实现最佳的均衡效果,并且能有效缓解网络爆发(Burst)导致的瞬时拥塞。但是,逐包负载均衡会在接收侧引起数据包乱序的问题,这会导致业务性能下降。
发明内容
本申请提供一种在网络中的负载均衡和报文重排序方法及装置,以解决网络链路间的负载不均衡和数据包乱序的问题。
第一方面,本申请提供一种在网络中执行的负载均衡方法。该方法包括如下步骤:
第一出口节点通过第一芯片从与其连接的第一主机接收第一报文流包括的多个报文。该第一报文流的目的地址为所述第一出口节点通过第一芯片连接的第三主机的地址。第一入口节点根据第一报文流和转发表中的第一表项确定第一芯片的标识。第一表项包括第一报文流的目的地址和第一芯片的标识。如上所述,第一出口节点是通过芯片与主机连接的。一个芯片可以连接多个主机。在第一入口节点根据其可达的出口节点及出口节点上的芯片生成转发表。转发表中的表项记录报文流的目的地址与出口节点上的芯片的对应关系。例如,第一表项包括第三主机的地址和第一芯片的标识,表示二者具有对应关系。在确定了所述第一报文流对应第一芯片的标识后,第一入口节点基于第一芯片的标识为第一报文流分配第一通道标识。第一通道标识用于指示第一通道。第一通道是第一入口节点与第一芯片之间的多个通道中的一个通道。本申请第一入口节点给报文流分配通道是基于其目的芯片的。例如,第一报文流的目的芯片是第一芯片,那么分配给第一报文流的通道就是第一入口节点与第一芯片之间的多个通道的其中之一。本申请中第一入口节点可以为第一报文流分配第一芯片的标识对应的默认通道的标识作为第一通道标识。第一入口节点与第一芯片之间的多个通道中设定一个默认通道。该通道的优先级高于其他通道。例如,默认通道中的报文先于其他通道中的报文发送。第一入口节点为第一报文流包括的多个报文中的每个报文分配一个序列号。每个序列号用于指示对应的报文进入第一通道中的顺序。第一入口节点根据第一报文流生成更新的第一报文流,第一入口节点在将第一报文流中的报文发出去之前,在待发送的报文还携带上在前述步骤中分配给该报文的通道标识(第一通道标识)和序列号,以将在前述步骤中分配给该报文的通道标识(第一通道标识)和序列号用作第一出口节点处实现报文重排序。最后第一入口节点以逐包负载分担的方式向第一出口节点发送更新的第一报文流中的多个报文,更新的第一报文流中的每个报文均被分配了第一通道标识和序列号,第一入口节点在发送这些报文时根据序列号的先后顺序经由多个出端口将发送所述更新的第一报文流包括的多个报文,实现了对所述更新的第一报文流的逐包负载分担。
本申请通过第一入口节点对要发送的报文流按流分配通道。第一入口节点按包给报文流中的报文分配序列号。然后,第一入口节点以序列号的先后顺序以逐包负载分担的方式向第一出口节点发送更新的第一报文流中的多个报文。实现了网络链路间的负载均衡,提高带宽利用率。
在一种可能的实现方式中,第一入口节点向第一出口节点发送第二报文流,第二报文流与第一报文流具有不同的特征,例如,第二报文流来自与第一入口节点中的第三芯片连接的第二主机,由第三芯片接收;或者,第二报文流的二元组或五元组与第一报文的不同,尤其是第二报文流的源地址与第一报文流的源地址不同,第二报文流的目的地址与第一报文流的目的地址也可以不同,也可以相同,但二者有一点是相同的,即第二报文流要到达的主机和第一报文流要达到的主机均连接至第一出口节点中的第一芯片。第一入口节点根据第二报文流和转发表中的第二表项确定第一芯片的标识,因此第一入口节点分配给第二报文流的也是第一通道标识。
在一种可能的实现方式中,第一入口节点向第一出口节点发送第三报文流,第三报文流与第一报文流具有不同的特征,例如,第三报文流去往的主机和第二报文流去往的主机连接至第一出口节点上的不同的芯片,第三报文流的目的芯片是第四芯片,第一报文流的目的芯片是第一芯片。第一入口节点根据第三报文流和转发表中的第三表项确定第四芯片的标识,这与第一报文流的第一芯片的标识是不同的,因此第一入口节点分配给第三报文流的是第三通道标识,不同于第一报文流的第一通道标识。
在一种可能的实现方式中,第一入口节点在给去往第一芯片的第一报文流分配通道标识时,如果检测到第一通道上传输的报文的速率大于第一阈值,并且第一报文流的速率高于另一阈值,说明此时第一通道上的速率已达到饱和状态,如果再给其分配报文流势必造成负载过重,此时就需要考虑给第一报文流分配其他通道标识。通常第一入口节点会选择一个传输的报文的速率低于第二阈值的通道作为其他通道。而如果其他通道的速率同样不符合第一报文流的速率需求,就需要给第一报文流分配一个空闲的通道作为其他通道。
一旦第一入口节点给第一报文流分配了其他通道标识,第一入口节点为新接收到的第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入其他通道中的顺序,新接收到的第一报文流的多个报文对应的最小的序列号为0,而第一入口节点向第一芯片发送新接收到的第一报文流的多个报文时,会将指示信息携带在新接收到的第一报文流的多个报文的每个报文中,指示信息用于指示新接收到的第一报文流的多个报文对应的最小的序列号为0。
在一种可能的实现方式中,若在第一时长内第一入口节点没有接收到需要经由第一通道向第一芯片发送的流量,则第一入口节点将第一通道的状态标识为空闲,并将第一通道标识对应的存储器中保存的信息设置为零;或者,若在第二时长内第一入口节点没有接收到需要经由第一入口节点与第一芯片之间的多个通道向第一芯片发送的流量,则第一入口节点将多个通道的状态标识为空闲,并将第一芯片的标识对应的存储器中保存的信息设置为零。
在一种可能的实现方式中,为了便于第一出口节点对接收到的报文进行重排序,确保报文的先后顺序,第一入口节点还可以在更新的第一报文流的每个报文中携带上第二芯片的标识。
第二方面,本申请提供一种在网络中执行的对报文进行重排序的方法,第一出口节点接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,第一通道标识用于指示第一通道,第二芯片是第一入口节点中用于接收第一报文流的芯片,更新的第一报文流是根据第一报文流得到的,更新的第一报文流包括的多个报文与第一报文流包括的多个报文一一对应,更新的第一报文流中的每个报文还包含第一报文流中对应的报文,第一通道是第二芯片与第一出口节点之间的多个通道中的一个通道。第一出口节点按照报文流的源芯片和报文流所分配的通道标识确定报文流的存储器资源,即同一个源芯片可以对应多个存储资源,这些存储资源与通道标识对应,例如,第一报文流的源芯片是第二芯片,其通道标识是第一通道标识,因此第一出口节点为其确定的是和第二芯片的标识、第一通道标识对应的第一存储资源。若第一出口节点根据第二芯片的标识和第一通道标识确定第一出口节点尚未为第一通道分配存储资源,则第一出口节点分配一个存储资源作为第一存储资源。第一出口节点根据更新的第一报文流中的每个报文中携带的序列号,将第一报文流中的多个报文保存到第一存储资源,序列号小的报文在第一存储资源的位置前于序列号大的报文在第一存储资源的位置。第一通道标识和序列号用于确认报文的保存的位置,但是第一出口节点存入第一存储资源的报文是更新的第一报文流中与第一报文流对应的各个报文,不包括芯片标识、通道标识和序列号等。第一出口节点根据报文在第一存储资源中的保存位置,按照先后顺序向第一报文流的目的主机逐一发送报文。当第一出口节点确定更新的第一报文携带的序列号和第一存储资源的首个存储单元的序号相同时,表示此时接收的报文正是报文流中的首个报文,因此第一出口节点在尚未将第一报文流包括的多个报文都保存在第一存储资源的情况下发送第一报文,第一报文是第一报文流包括的多个报文中的一个报文,第一报文是首个进入第一通道的报文,更新的第一报文是更新的第一报文流包括的多个报文中的一个报文。
本申请通过第一出口节点对接收的报文按照其通道标识和序列号进行重排序,解决数据包乱序的问题,提升业务性能。
在一种可能的实现方式中,第一出口节点接收更新的第二报文流,更新的第二报文流的源芯片是第三芯片,更新的第二报文流与上述更新的第一报文流来自不同的芯片。第一出口节点根据第三芯片的标识和第一通道标识确定的也是第一存储资源。但是第二报文流中的多个报文在第一存存储资源中的位置不同于第一报文流中的多个报文在第一存存储资源中的位置。
在一种可能的实现方式中,第一出口节点接收更新的第三报文流,更新的第三报文流的源芯片是第二芯片,与上述更新的第一报文流来自相同的芯片,但二者的目的芯片不同。第一出口节点根据第二芯片的标识和第二通道标识确定的是第二存储资源。
在一种可能的实现方式中,当第一出口节点中用于接收更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,第一出口节点发送第一消息,第一消息(例如广播消息)用于通知第二芯片或其他芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文。或者,第一出口节点通知第二芯片或其他芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,当第一出口节点确定第一出口节点中接收更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,第一出口节点发送第二消息,第二消息(例如广播消息)用于通告第二芯片或其他芯片向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文。
在一种可能的实现方式中,若在第三时长内第一存储资源上没有保存任何报文,则第一出口节点将第一存储资源的状态标识为空闲,并将第一存储资源对应的存储器中保存的信息设置为零;或者,若在第四时长内第三芯片对应的多个存储资源上没有保存任何报文,则第一出口节点将多个存储资源的状态标识为空闲,并将多个存储资源对应的存储器中保存的信息设置为零。
第三方面,本申请提供一种在网络中的路由通告方法,第一出口节点生成第一路由信息,第一路由信息包括第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,第一出口节点包括第一芯片,向第一入口节点发送第一路由信息。
另外,第一出口节点还可以生成第二路由信息,第二路由信息包括第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,第一出口节点包括第二芯片,第一出口节点向第一入口节点发送第二路由信息。
上述第一路由信息和第二路由信息中还可以包括用于指示第一芯片或第二芯片具有重排序能力的信息。
第四方面,本申请提供一种在网络中执行的负载均衡装置,网络包括第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点,装置应用于第一入口节点上,装置包括:
报文接收模块,用于接收第一报文流包括的多个报文,第一报文流的目的地址为第一出口节点通过第一芯片连接的主机的地址,第一出口节点包括第一芯片;
芯片确定模块,用于根据第一报文流和转发表中的第一表项确定第一芯片的标识,第一表项包括第一报文流的目的地址和第一芯片的标识;
通道分配模块,用于基于第一芯片的标识为第一报文流分配第一通道标识;
序号分配模块,用于为第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序,第一通道标识用于指示第一通道,第一通道是第一入口节点与第一芯片之间的多个通道中的一个通道;
报文更新模块,用于根据第一报文流生成更新的第一报文流,更新的第一报文流包括多个报文,更新的第一报文流包括的多个报文与第一报文流包括的多个报文一一对应,更新的第一报文流中的每个报文包括对应的第一报文流中的报文、对应的第一报文流中的报文的序列号以及第一通道标识;
报文发送模块,用于以逐包负载分担的方式向第一出口节点发送更新的第一报文流中的多个报文。
在一种可能的实现方式中,报文接收模块,还用于接收第二报文流包括的多个报文,第二报文流的目的地址为第一出口节点通过第一芯片连接的主机的地址;
芯片确定模块,还用于根据第二报文流和转发表中的第二表项确定第一芯片的标识,第二表项包括第二报文流的目的地址和第一芯片的标识;
通道分配模块,还用于基于第一芯片的标识为第二报文流分配第一通道标识;
序号分配模块,还用于为第二报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序;
报文更新模块,还用于根据第二报文流生成更新的第二报文流,更新的第二报文流包括多个报文,更新的第二报文流包括的多个报文与第二报文流包括的多个报文一一对应,更新的第二报文流中的每个报文包括对应的第二报文流中的报文、对应的第二报文流中的报文的序列号以及第一通道标识;
报文发送模块,还用于以逐包负载分担的方式向第一出口节点发送更新的第二报文流中的多个报文。
在一种可能的实现方式中,更新的第一报文流中的每个报文还包括第一入口节点中用于接收第一报文流的芯片的标识,第一通道是第一入口节点中用于接收第一报文流的芯片与第一芯片之间的多个通道中的一个通道。
在一种可能的实现方式中,通道分配模块,还用于当第一入口节点检测到第一通道上传输的报文的速率大于第一阈值时,为第一报文流分配其他通道标识,其他通道标识用于指示其他通道,其他通道是第一入口节点与第一芯片之间的多个通道中的一个通道,其他通道不同于第一通道。
在一种可能的实现方式中,通道分配模块,具体用于为第一报文流确定一个速率低于第二阈值的通道的标识作为其他通道标识。
在一种可能的实现方式中,序号分配模块,还用于为新接收到的第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入其他通道中的顺序,新接收到的第一报文流的多个报文对应的最小的序列号为0;
在报文发送模块,还用于在向第一芯片发送新接收到的第一报文流的多个报文时,将指示信息携带在新接收到的第一报文流的多个报文的每个报文中,指示信息用于指示新接收到的第一报文流的多个报文对应的最小的序列号为0。
在一种可能的实现方式中,通道分配模块,还用于若在第一时长内第一入口节点没有接收到需要经由第一通道向第一芯片发送的流量,则将第一通道的状态标识为空闲,并将第一通道标识对应的存储器中保存的信息设置为零;或者,
若在第二时长内第一入口节点没有接收到需要经由第一入口节点与第一芯片之间的多个通道向第一芯片发送的流量,则将多个通道的状态标识为空闲,并将第一芯片的标识对应的存储器中保存的信息设置为零。
第五方面,本申请提供一种在网络中执行的对报文进行重排序的装置,网络包括第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点,装置应用于第一出口节点,装置包括:
报文接收模块,用于接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,第一通道标识用于指示第一通道,第二芯片是第一入口节点中用于接收第一报文流的芯片,更新的第一报文流是根据第一报文流得到的,更新的第一报文流包括的多个报文与第一报文流包括的多个报文一一对应,更新的第一报文流中的每个报文还包含第一报文流中对应的报文,第一通道是第二芯片与第一出口节点之间的多个通道中的一个通道;
资源确定模块,用于根据第二芯片的标识和第一通道标识确定第一存储资源;
报文保存模块,用于根据更新的第一报文流中的每个报文中携带的序列号,将第一报文流中的多个报文保存到第一存储资源,序列号小的报文在第一存储资源的位置前于序列号大的报文在第一存储资源的位置;
报文发送模块,用于发送保存在第一存储资源中的第一报文流包括的多个报文,保存在第一存储资源的位置前的报文先于保存在第一存储资源的位置后的报文被发送。
在一种可能的实现方式中,报文接收模块,还用于接收更新的第二报文流包括的多个报文,每个报文包括第三芯片的标识、第一通道标识以及序列号,第三芯片是第一入口节点中用于接收第二报文流的芯片,更新的第二报文流是根据第二报文流得到的,更新的第二报文流包括的多个报文与第二报文流包括的多个报文一一对应,更新的第二报文流中的每个报文还包含第二报文流中对应的报文;
资源确定模块,还用于根据第三芯片的标识和第一通道标识确定第一存储资源;
报文保存模块,还用于根据更新的第二报文流中的每个报文中携带的序列号,将第二报文流中的多个报文保存到第一存储资源,序列号小的报文在第一存储资源的位置前于序列号大的报文在第一存储资源的位置;
报文发送模块,还用于发送保存在第一存储资源中的第二报文流包括的多个报文,保存在第一存储资源的位置前的报文先于保存在第一存储资源的位置后的报文被发送。
在一种可能的实现方式中,报文发送模块,具体用于确定更新的第一报文携带的序列号和第一存储资源的首个存储单元的序号相同时,在尚未将第一报文流包括的多个报文都保存在第一存储资源的情况下发送第一报文,第一报文是第一报文流包括的多个报文中的一个报文,第一报文是首个进入第一通道的报文,更新的第一报文是更新的第一报文流包括的多个报文中的一个报文。
在一种可能的实现方式中,还包括:
消息发送模块,用于当第一出口节点中用于接收更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,发送第一消息,第一消息用于通知第二芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文;或者,
在通知第二芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,当第一出口节点确定第一出口节点中接收更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,发送第二消息,第二消息用于通告第二芯片向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文。
在一种可能的实现方式中,资源确定模块,还用于若在第三时长内第一存储资源上没有保存任何报文,则第一出口节点将第一存储资源的状态标识为空闲,并将第一存储资源对应的存储器中保存的信息设置为零;或者,
若在第四时长内第三芯片对应的多个存储资源上没有保存任何报文,则第一出口节点将多个存储资源的状态标识为空闲,并将多个存储资源对应的存储器中保存的信息设置为零。
第六方面,本申请提供一种在网络中的路由通告装置,网络包括第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点,装置应用于第一出口节点上,装置包括:
路由生成模块,用于生成第一路由信息,第一路由信息包括第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,第一出口节点包括第一芯片;
路由发送模块,用于向第一入口节点发送第一路由信息。
在一种可能的实现方式中,第一路由信息还包括用于指示第一芯片具有重排序能力的信息。
在一种可能的实现方式中,路由生成模块,还用于生成第二路由信息,第二路由信息包括第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,第一出口节点包括第二芯片;
路由发送模块,还用于向第一入口节点发送第二路由信息。
在一种可能的实现方式中,第二路由信息还包括用于指示第二芯片具有重排序能力的信息。
第七方面,本申请提供一种在网络中的第一入口节点,网络包括第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点,第一入口节点包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一的在网络中执行的负载均衡方法。
第八方面,本申请提供一种在网络中的第一出口节点,网络包括第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点,第一出口节点包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第二方面中任一的在网络中执行的对报文进行重排序的方法,或者,如上述第三方面中任一的在网络中的路由通告方法。
第九方面,本申请提供一种网络,包括:第一入口节点、第一出口节点以及至少一个中间节点,第一入口节点经由至少一个中间节点连接到第一出口节点;第一入口节点采用上述第四方面或第七方面中任一项的装置,第一出口节点采用上述第五方面、第六方面或第八方面中任一项的装置。
第十方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由计算机执行,以控制计算机执行上述第一至第三方面中任一项的方法。
第十一方面,本申请提供一种计算机程序,当计算机程序被计算机执行时,用于执行上述第一至第三方面中任一项的方法。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请网络实施例的结构示意图;
图2为本申请在网络中执行的负载均衡方法实施例一的流程图;
图3为本申请在网络中执行的负载均衡方法实施例一的对应关系示意图;
图4为本申请在网络中执行的负载均衡方法实施例二的流程图;
图5为本申请在网络中执行的负载均衡方法实施例三的流程图;
图6为本申请在网络中执行的对报文进行重排序的方法实施例一的流程图;
图7为本申请在网络中执行的对报文进行重排序的方法实施例一的对应关系示意图;
图8为本申请在网络中执行的对报文进行重排序的方法实施例二的流程图;
图9为本申请在网络中执行的对报文进行重排序的方法实施例三的流程图;
图10为本申请在网络中执行的负载均衡装置实施例的结构示意图;
图11为本申请在网络中执行的对报文进行重排序的装置实施例一的结构示意图;
图12为本申请在网络中执行的对报文进行重排序的装置实施例二的结构示意图;
图13为本申请在网络中的路由通告装置实施例的结构示意图;
图14为本申请网络节点实施例的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
图1为本申请网络实施例的结构示意图,如图1所示,该网络包括第一入口节点10、第一出口节点20以及至少一个中间节点30。第一入口节点10经由至少一个中间节点30连接到第一出口节点20。本申请无论是入口节点还是出口节点中均可以包括一个或多个芯片。节点经由芯片连接至主机。例如,第一入口节点10包括第二芯片11和第三芯片12。第一入口节点10通过第二芯片11连接第一主机40,通过第三芯片12连接第二主机50。第一出口节点20包括第一芯片21和第四芯片22。第一出口节点20通过第一芯片21连接第三主机60,通过第四芯片22连接第四主机70。报文流是从网络一端的某个主机发送给另一端的某个主机,因此报文流从源主机发出后被与该源主机连接的芯片接收。该芯片将报文流发出后经过中间节点到达出口节点的另一芯片。该另一芯片是与目的主机连接的芯片。进而,出口节点可以经由与目的主机连接的芯片向目的主机发送该报文流。本申请根据网络拓扑结构,为第一入口节点上去往同一个目的芯片的报文流创建多个虚拟的通道。例如,第一入口节点与第一芯片之间有多个通道。第一入口节点与第四芯片之间有多个通道。第一入口节点按照报文流进行负载均衡,到达同一芯片的不同的报文流可以进入与该芯片相关的同一个或不同的通道。同一个报文流也可以进入与目的芯片相关的同一个或者不同的通道。并且给进入通道的每一个报文分配一个序列号,从而指示该报文进入通道的顺序。第一出口节点负责报文重排序。具体地,根据报文流所在的通道和每个报文的序列号,对乱序到达目的芯片的报文流中的多个报文进行重排序。从而实现报文流中的报文以正确的顺序被发送给目的主机。
需要说明的是,本实施例中的第一入口节点10、第一出口节点20及中间节点30均表示的是网络中的一类网络节点。其数量可以是一个或多个。而网络节点本身既可以作为报文流的发送节点,也可以作为报文流的接收节点。本实施例中是为了便于描述报文流的流向才以入口节点和出口节点加以区分,但并不是对节点的功能限定。另外,图1所示的网络包括边缘网络和转发网络。主机位于边缘网络。具体地,第一主机40和第二主机50位于一个边缘网络。第三主机60和第四主机70位于另一个边缘网络。入口节点、中间节点以及出口节点位于转发网络。分别位于不同的边缘网络的两个主机(例如第一主机40和第三主机60)进行通信时,一个主机(例如第一主机40)发送的流量需要经由入口节点(例如第一入口节点10)进入转发网络。然后,该流量需要经由出口节点(例如第一出口节点20)离开转发网络。另外,与第一芯片11连接的第三主机60也表示一类主机,其数量可以是一个或多个,第三主机60既可以是发送数据的设备,也可以是接收数据的设备,这与报文流的流向相关,对比不做具体限定,第一主机40、第二主机50及第四主机70均与此类此。本实施例示例性的给出了第一入口节点10和第一出口节点20中包括两个芯片的场景,但并不限定于这种网络结构,第一入口节点10和第一出口节点20中包括的芯片数量可以有更多种可能,对此不做具体限定。
图2为本申请在网络中执行的负载均衡方法实施例一的流程图。如图2所示,本实施例的方法应用于图1所示的网络,其执行主体是第一入口节点,该方法可以包括步骤101至106。
步骤101、接收第一报文流包括的多个报文。
第一报文流的目的地址为第一出口节点通过第一芯片连接的主机的地址。
第一入口节点通过第二芯片从与其连接的第一主机接收第一报文流包括的多个报文,该第一报文流的目的地址为第一出口节点通过第一芯片连接的第三主机的地址。
步骤102、根据第一报文流和转发表中的第一表项确定第一芯片的标识。
第一表项包括第一报文流的目的地址和第一芯片的标识。
第一入口节点根据第一报文流和转发表中的第一表项确定第一芯片的标识,第一表项包括第一报文流的目的地址和第一芯片的标识,如上所述,第一出口节点是通过芯片与主机连接的,一个芯片可以连接多个主机,在第一入口节点根据其可达的出口节点及其上的芯片配置转发表,转发表中的表项表示报文流的目的地址与出口节点上的芯片的对应关系,例如,第一表项包括第三主机的地址和第一芯片的标识,表示二者是对应关系。第三主机的地址可以是第三主机的网际协议(internet protocol,IP)地址或者第三主机的媒体访问控制(media access control,MAC)地址。
步骤103、基于第一芯片的标识为第一报文流分配第一通道标识。
第一通道标识用于指示第一通道,第一通道是第一入口节点与第一芯片之间的多个通道中的一个通道。
在确定了出口处对应的第一芯片的标识后,第一入口节点基于第一芯片的标识为第一报文流分配第一通道标识,第一通道标识用于指示第一通道,第一通道是第一入口节点与第一芯片之间的多个通道中的一个通道,本申请第一入口节点给报文流分配通道是基于其目的芯片的,例如,第一报文流的目的芯片是第一芯片,那么分配给第一报文流的通道就是与第一芯片相关的多个通道的其中之一。本申请中第一入口节点可以为第一报文流分配第一芯片的标识对应的默认通道的标识作为第一通道标识,第一入口节点与第一芯片之间的多个通道中设定一个默认通道,该通道的优先级高于其他通道,即默认通道中的报文先于其他通道中的报文发送。
本申请中,第一入口节点记录有目的芯片和通道标识的对应关系信息,图3为本申请在网络中执行的负载均衡方法实施例一的对应关系示意图,如图3所示,根据网络拓扑,进入第一入口节点的报文流可以去往不同的目的地址,每个目的地址均连接至位于一个第一出口节点上的目的芯片,第一入口节点可以针对每个目标芯片创建一个或多个虚拟的通道,由通道标识对通道进行标识,并且每个目标芯片对应的通道是动态分配的,可根据去往该目的芯片的报文流的流量确定是否需要为该目标芯片创建通道、继续增加新的通道或者减少其原有的通道。例如,当第一入口节点确定第一报文流要去往的目的芯片是第一芯片时,通常情况下,第一入口节点会根据对应关系信息为第一报文流分配第一芯片对应的多个通道中的默认通道标识,但如果默认通道上传输的报文的速率大于第一阈值,第一入口节点则为第一报文流分配其他非默认通道标识。而且第一报文流中的每个报文还被分配了序列号,该序列号用于指示对应的报文进入通道的顺序,确保了报文流中报文的先后顺序。
步骤104、为第一报文流包括的多个报文中的每个报文分配一个序列号。
每个序列号用于指示对应的报文进入第一通道中的顺序。
第一入口节点为第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序。
步骤105、根据第一报文流生成更新的第一报文流。
更新的第一报文流包括多个报文,更新的第一报文流包括的多个报文与第一报文流包括的多个报文一一对应,更新的第一报文流中的每个报文包括对应的第一报文流中的报文、对应的第一报文流中的报文的序列号以及第一通道标识。
第一入口节点根据第一报文流生成更新的第一报文流,第一入口节点在将第一报文流中的报文发出去之前,在报文中除报文本身外,还要携带上在前述步骤中分配给该报文的通道标识(第一通道标识)和序列号,以用作第一出口节点处实现报文重排序。
表1
ETH报文头 IP报文头 源芯片标识 指示信息 通道标识 序列号 TCP/UDP报文头
表1是第一入口节点发送给第一出口节点的报文的格式示例,除了ETH报文头、IP报文头和TCP/UDP报文头外,与本申请相关的信息包括源芯片标识、通道标识序列号,其中:源芯片标识用于表示第一入口节点中接收该报文的芯片(例如第二芯片),通道标识用于表示第一入口节点分配给报文所在报文流的通道的标识(例如第一通道标识),序列号用于表示报文进入通道的顺序。
步骤106、以逐包负载分担的方式向第一出口节点发送更新的第一报文流中的多个报文。
最后第一入口节点以逐包负载分担的方式向第一出口节点发送更新的第一报文流中的多个报文,更新的第一报文流中的每个报文均被分配了第一通道标识和序列号,第一入口节点在发送这些报文时根据通道和序列号的先后顺序依次从每个出端口上将报文逐个发出,实现了逐包负载分担的方式。
本申请通过第一入口节点对要发送的报文流按流分配通道,并按包给报文流中的报文分配序列号,再以通道和序列号的先后顺序依次从每个出端口上将报文逐个发出,实现了网络链路间的负载均衡,提高带宽利用率。
一种可能的实现方式中,转发表的表项中还可以包括用于表示第一出口节点中的芯片是否支持报文重排序的标识,第一入口节点根据该标识确定如何向第一出口节点发送报文流,例如,若是第一芯片不支持报文重排序,则第一入口节点就不能采用上述方法对第一报文流进行负载均衡,只能以逐流分发的方式向第一出口节点发送第一报文流。
图4为本申请在网络中执行的负载均衡方法实施例二的流程图。图4所示的方法是在图2所示的方法的基础上进行扩展得到的。如图4所示,本实施例的方法应用于图1所示的网络其执行主体是第一入口节点。图4所示的方法可以包括步骤201至206。
步骤201、接收第二报文流包括的多个报文。
第二报文流的目的地址为第一出口节点通过第一芯片连接的主机的地址。
本实施例中的第二报文流与图2所示方法实施例中的第一报文流具有不同的特征,例如,第二报文流来自与第一入口节点中的第三芯片连接的第二主机,由第三芯片接收;或者,第二报文流的二元组或五元组与第一报文的不同,尤其是第二报文流的源地址与第一报文流的源地址不同,第二报文流的目的地址与第一报文流的目的地址也可以不同,也可以相同,但二者有一点是相同的,即第二报文流要到达的主机和第一报文流要达到的主机均连接至第一出口节点中的第一芯片。
步骤202、根据第二报文流和转发表中的第二表项确定第一芯片的标识。
第二表项包括第二报文流的目的地址和第一芯片的标识。
第一入口节点根据第二报文流和转发表中的第二表项确定第一芯片的标识,如上所述,第二报文流的目的地址是与第一芯片连接的主机的地址,因此第二表项包括第二报文流的目的地址和第一芯片的标识,表示二者是对应关系。
步骤203、基于第一芯片的标识为第二报文流分配第一通道标识。
与上述方法实施例中的步骤103相同的是,在确定了出口处对应的第一芯片的标识后,第一入口节点为第二报文流分配的也是第一通道标识。
步骤204、为第二报文流包括的多个报文中的每个报文分配一个序列号。
每个序列号用于指示对应的报文进入第一通道中的顺序。
该步骤与上述方法实施例中的步骤104原理类似,此处不再赘述。
步骤205、根据第二报文流生成更新的第二报文流。
更新的第二报文流包括多个报文,更新的第二报文流包括的多个报文与第二报文流包括的多个报文一一对应,更新的第二报文流中的每个报文包括对应的第二报文流中的报文、对应的第二报文流中的报文的序列号以及第一通道标识。
第一入口节点根据第二报文流生成更新的第二报文流,第一入口节点在将第二报文流中的报文发出去之前,在报文中除报文本身外,还要携带上在前述步骤中分配给该报文的通道标识(第一通道标识)和序列号,以用作第一出口节点处实现报文重排序。
步骤206、以逐包负载分担的方式向第一出口节点发送更新的第二报文流中的多个报文。
该步骤与上述方法实施例中的步骤106原理类似,此处不再赘述。
本实施例中由于第二报文流去往的主机和第一报文流去往的主机均连接至第一出口节点中的第一芯片,基于这种情况第一入口节点在给两个报文流分配通道标识时,都分配的是第一通道标识,这表示第一报文流和第二报文流均被分配到了第一通道中,只是在分配报文的序列号时,需要根据报文进入第一通道的先后顺序为其分配序列号。
图5为本申请在网络中执行的负载均衡方法实施例三的流程图。图5所示的方法是在图2以及图4所示的方法的基础上进行扩展得到的。如图5所示,本实施例的方法应用于图1所示的网络,其执行主体是第一入口节点。图5所示的方法可以包括步骤301至306。
步骤301、接收第三报文流包括的多个报文。
第三报文流的目的地址为第一出口节点通过第四芯片连接的主机的地址。
本实施例中的第三报文流与图2所示方法实施例中的第一报文流具有不同的特征,例如,第三报文流去往的主机和第一报文流去往的主机连接至第一出口节点上的不同的芯片,第三报文流的目的芯片是第四芯片,第一报文流的目的芯片是第一芯片。
步骤302、根据第三报文流和转发表中的第三表项确定第四芯片的标识。
第三表项包括第三报文流的目的地址和第四芯片的标识。
第一入口节点根据第三报文流和转发表中的第三表项确定第四芯片的标识,如上所述,第三报文流的目的地址是与第四芯片连接的主机的地址,因此第三表项包括第三报文流的目的地址和第四芯片的标识,表示二者是对应关系。
步骤303、基于第四芯片的标识为第三报文流分配第二通道标识。
第二通道标识用于指示第二通道,第二通道是第一入口节点与第四芯片之间的多个通道中的一个通道。
在确定了出口处对应的第四芯片的标识后,第一入口节点基于第四芯片的标识为第三报文流分配第二通道标识,第二通道标识用于指示第二通道,第二通道是第一入口节点与第四芯片之间的多个通道中的一个通道,本申请第一入口节点给报文流分配通道是基于其目的芯片的,例如,第三报文流的目的芯片是第四芯片,那么分配给第三报文流的通道就是与第四芯片相关的多个通道的其中之一。
步骤304、为第三报文流包括的多个报文中的每个报文分配一个序列号。
每个序列号用于指示对应的报文进入第二通道中的顺序。
该步骤与上述方法实施例中的步骤104原理类似,此处不再赘述。
步骤305、根据第三报文流生成更新的第三报文流。
更新的第三报文流包括多个报文,更新的第三报文流包括的多个报文与第三报文流包括的多个报文一一对应,更新的第三报文流中的每个报文包括对应的第三报文流中的报文、对应的第三报文流中的报文的序列号以及第二通道标识。
第一入口节点根据第三报文流生成更新的第三报文流,第一入口节点在将第三报文流中的报文发出去之前,在报文中除报文本身外,还要携带上在前述步骤中分配给该报文的通道标识(第二通道标识)和序列号,以用作第一出口节点处实现报文重排序。
步骤306、以逐包负载分担的方式向第一出口节点发送更新的第三报文流中的多个报文。
该步骤与上述方法实施例中的步骤106原理类似,此处不再赘述。
本实施例中由于第三报文流去往的主机和第一报文流去往的主机分别连接至第一出口节点中的第四芯片和第一芯片,基于这种情况第一入口节点在给两个报文流分配通道标识时,分配的是不同的通道标识。
在上述技术方案的基础上,当第一入口节点检测到第一通道上传输的报文的速率大于第一阈值时,第一入口节点为第一报文流分配其他通道标识,其他通道标识用于指示其他通道,其他通道是第一入口节点与第一芯片之间的多个通道中不同于第一通道的通道。若选择失败,则第一入口节点为第一报文流确定一个空闲的通道的标识作为其他通道标识。
第一入口节点在给去往第一芯片的第一报文流分配通道标识时,如果检测到第一通道上传输的报文的速率大于第一阈值,并且第一报文流的速率高于另一阈值,说明此时第一通道上的速率已达到饱和状态,如果再给其分配报文流势必造成负载过重,此时就需要考虑给第一报文流分配其他通道标识。通常第一入口节点会选择一个传输的报文的速率低于第二阈值的通道作为其他通道。而如果其他通道的速率同样不符合第一报文流的速率需求,就需要给第一报文流分配一个空闲的通道作为其他通道。
一旦第一入口节点给第一报文流分配了其他通道标识,第一入口节点为新接收到的第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入其他通道中的顺序,新接收到的第一报文流的多个报文对应的最小的序列号为0,而第一入口节点向第一芯片发送新接收到的第一报文流的多个报文时,会将指示信息携带在新接收到的第一报文流的多个报文的每个报文中,指示信息用于指示新接收到的第一报文流的多个报文对应的最小的序列号为0。
如果新接收到的第一报文流的多个报文对应的最小的序列号为0,表示该其他通道是新创建的通道,需要告知第一出口节点,用作对报文重排序使用。
在上述技术方案的基础上,若在第一时长内第一入口节点没有接收到需要经由第一通道向第一芯片发送的流量,则第一入口节点将第一通道的状态标识为空闲,并将第一通道标识对应的存储器中保存的信息设置为零;或者,若在第二时长内第一入口节点没有接收到需要经由第一入口节点与第一芯片之间的多个通道向第一芯片发送的流量,则第一入口节点将多个通道的状态标识为空闲,并将第一芯片的标识对应的存储器中保存的信息设置为零。
上述存储器是第一入口节点的部件,其中保存的信息包括被分配的通道的相关信息,例如,通道标识,通道传输报文的速率等,如果第一通道中在第一时长内没有要传输的流量,则为了提高资源利用率,可以将第一通道的状态标识为空闲,并且将其相关信息清零,以便于将该部分资源给其他芯片使用。如果第一入口节点去往第一芯片的多个通道在第二时长内均没有要传输的流量,同样为了提高资源利用率,可以将多个通道的状态均标识为空闲,并且将其相关信息清零,以便于将该部分资源给其他芯片使用。
为了便于第一出口节点对接收到的报文进行重排序,确保报文的先后顺序,第一入口节点还可以在更新的第一报文流的每个报文中携带上第二芯片的标识。
图6为本申请在网络中执行的对报文进行重排序的方法实施例一的流程图。图2所示的方法与图6所示的方法可以应用于图1所示的网络,从而实现位于不同边缘网络的主机之前的通信。具体地,第一入口节点10可以通过执行图2所示的方法,获取来自第一主机40的第一报文流包括的多个报文,并且向第一出口节点20发送更新的第一报文流。第一出口节点20可以通过执行图6所示的方法,接收第一入口节点10提供的更新的第一报文流,根据更新的第一报文流得到第一报文流包括的多个报文,并且向第三主机60发送第一报文流包括的多个报文。如图6所示,本实施例的方法应用于图1所示的网络,其执行主体是第一出口节点。图6所示的方法可以包括步骤401至404。
步骤401、接收更新的第一报文流包括的多个报文。
每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,第一通道标识用于指示第一通道,第二芯片是第一入口节点中用于接收第一报文流的芯片,更新的第一报文流是根据第一报文流得到的,更新的第一报文流包括的多个报文与第一报文流包括的多个报文一一对应,更新的第一报文流中的每个报文还包含第一报文流中对应的报文,第一通道是第二芯片与第一出口节点之间的多个通道中的一个通道。
第一出口节点是基于发送更新的第一报文流的芯片来确定对应的存储资源的,上述第二芯片既是接收第一报文流的芯片,也是发出更新的第一报文流的芯片。
步骤402、根据第二芯片的标识和第一通道标识确定第一存储资源。
第一出口节点按照报文流的源芯片和报文流所分配的通道标识确定报文流的存储器资源,即同一个源芯片可以对应多个存储资源,这些存储资源与通道标识对应,例如,第一报文流的源芯片是第二芯片,其通道标识是第一通道标识,因此第一出口节点为其确定的是和第二芯片的标识、第一通道标识对应的第一存储资源。若第一出口节点根据第二芯片的标识和第一通道标识确定第一出口节点尚未为第一通道分配存储资源,则第一出口节点分配一个存储资源作为第一存储资源。
本申请中,第一出口节点记录有源芯片和存储资源的对应关系信息,图7为本申请在网络中执行的对报文进行重排序的方法实施例一的对应关系示意图,如图7所示,根据网络拓扑,第一出口节点接收的报文流来自不同的源地址,每个源地址均连接至位于一个第一入口节点上的源芯片,第一出口节点可以针对每个源芯片确定一个或多个存储资源,并且每个源芯片对应的存储资源是动态分配的,可根据存储资源上存储报文的情况确定是否需要为该源芯片确定存储资源、继续增加新的存储资源或者减少其原有的存储资源。例如,当第一出口节点确定第一报文流来自第二芯片,第一出口节点会根据对应关系信息为第一报文流确定第二芯片对应的第一存储资源,而且第一报文流中的每个报文还根据其携带的序列号决定了该报文在第一存储资源中的位置,序列号小的位置前于序列号大的位置,确保了报文流中报文的先后顺序。
步骤403、根据更新的第一报文流中的每个报文中携带的序列号,将更新的第一报文流中的多个报文保存到第一存储资源。
序列号小的报文在第一存储资源的位置前于序列号大的报文在第一存储资源的位置。
第一通道标识和序列号用于确认报文的保存的位置,但是第一出口节点存入第一存储资源的报文是更新的第一报文流中与第一报文流对应的各个报文,不包括芯片标识、通道标识和序列号等。
步骤404、发送保存在第一存储资源中的第一报文流包括的多个报文。
保存在第一存储资源的位置前的报文先于保存在第一存储资源的位置后的报文被发送。
第一出口节点根据报文在第一存储资源中的保存位置,按照先后顺序向第一报文流的目的主机逐一发送报文。当第一出口节点确定更新的第一报文携带的序列号和第一存储资源的首个存储单元的序号相同时,表示此时接收的报文正是报文流中的首个报文,因此第一出口节点在尚未将第一报文流包括的多个报文都保存在第一存储资源的情况下发送第一报文,第一报文是第一报文流包括的多个报文中的一个报文,第一报文是首个进入第一通道的报文,更新的第一报文是更新的第一报文流包括的多个报文中的一个报文。
本申请通过第一出口节点对接收的报文按照其通道标识和序列号进行重排序,解决数据包乱序的问题,提升业务性能。
图8为本申请在网络中执行的对报文进行重排序的方法实施例二的流程图。图8所示的方法和图4所示的方法进行配合,将第二主机50发送的第二报文流包括的多个报文传输到第一芯片21连接的主机(例如第三主机60)。具体地,第一入口节点10可以根据图4所示的方法,向第一出口节点20发送更新的第二报文流中的多个报文。第一出口节点20可以根据图8所示的方法接收更新的第二报文流包括的多个报文。如图8所示,本实施例的方法应用于图1所示的网络。其执行主体是第一出口节点,图8所示的方法可以包括步骤501至504。
步骤501、接收更新的第二报文流包括的多个报文。
每个报文包括第三芯片的标识、第一通道标识以及序列号,第三芯片是第一入口节点中用于接收第二报文流的芯片,更新的第二报文流是根据第二报文流得到的,更新的第二报文流包括的多个报文与第二报文流包括的多个报文一一对应,更新的第二报文流中的每个报文还包含第二报文流中对应的报文。
本实施例中更新的第二报文流的源芯片是第三芯片,更新的第二报文流的源芯片与上述更新的第一报文流来自不同的芯片。
步骤502、根据第三芯片的标识和第一通道标识确定第一存储资源。
该步骤与上述方法实施例中的步骤402原理类似,此处不再赘述。
步骤503、根据更新的第二报文流中的每个报文中携带的序列号,将更新的第二报文流中的多个报文保存到第一存储资源。
序列号小的报文在第一存储资源的位置前于序列号大的报文在第一存储资源的位置。
本实施例中第二报文流中的多个报文在第一存存储资源中的位置不同于第一报文流中的多个报文在第一存存储资源中的位置。
步骤504、发送保存在第一存储资源中的第二报文流包括的多个报文。
保存在第一存储资源的位置前的报文先于保存在第一存储资源的位置后的报文被发送。
该步骤与上述方法实施例中的步骤404原理类似,此处不再赘述。
图9为本申请在网络中执行的对报文进行重排序的方法实施例三的流程图。图9所示的方法和图5所示的方法进行配合,将第一主机40发送的更新的第三报文流包括的多个报文传输到第四芯片22连接的主机(例如第四主机70)。具体地,第一入口节点10可以根据图5所示的方法,向第一出口节点20发送更新的第三报文流中的多个报文。第一出口节点20可以根据图9所示的方法接收更新的第三报文流包括的多个报文。如图9所示,本实施例的方法应用于图1所示的网络,其执行主体是第一出口节点,图9所示的该方法可以包括步骤601至604。
步骤601、接收更新的第三报文流包括的多个报文。
每个报文包括第二芯片的标识、第二通道标识以及序列号,每个序列号用于指示对应的报文进入第二通道中的序列号,第二通道标识用于指示第二通道,更新的第三报文流是根据第三报文流得到的,更新的第三报文流包括的多个报文与第三报文流包括的多个报文一一对应,更新的第三报文流中的每个报文还包含第三报文流中对应的报文。
本实施例中更新的第三报文流的源芯片是第二芯片,与上述更新的第一报文流来自相同的芯片,但二者的目的芯片不同。
步骤602、根据第二芯片的标识和第二通道标识确定第二存储资源。
该步骤与上述方法实施例中的步骤402的区别在于,由于通道标识不同第一出口节点给第二报文流确定的存储资源与上述第一存储资源不同。
步骤603、根据更新的第三报文流中的每个报文中携带的序列号,将更新的第三报文流中的多个报文保存到第二存储资源。
序列号小的报文在第二存储资源的位置前于序列号大的报文在第二存储资源的位置。
该步骤与上述方法实施例中的步骤403原理类似,此处不再赘述。
步骤604、发送保存在第二存储资源中的第三报文流包括的多个报文。
保存在第二存储资源的位置前的报文先于保存在第二存储资源的位置后的报文被发送。
该步骤与上述方法实施例中的步骤404原理类似,此处不再赘述。
在上述技术方案的基础上,当第一出口节点中用于接收更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,第一出口节点发送第一消息,第一消息(例如广播消息)用于通知第二芯片或其他芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文。或者,第一出口节点通知第二芯片或其他芯片停止向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,当第一出口节点确定第一出口节点中接收更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,第一出口节点发送第二消息,第二消息(例如广播消息)用于通告第二芯片或其他芯片向用于接收更新的第一报文流的芯片以逐包负载分担的方式发送报文。
在上述技术方案的基础上,若在第三时长内第一存储资源上没有保存任何报文,则第一出口节点将第一存储资源的状态标识为空闲,并将第一存储资源对应的存储器中保存的信息设置为零;或者,若在第四时长内第三芯片对应的多个存储资源上没有保存任何报文,则第一出口节点将多个存储资源的状态标识为空闲,并将多个存储资源对应的存储器中保存的信息设置为零。
本申请中第一存储资源是用于对报文进行重排序的(其被分配给第一通道)存储资源,而存储器是用于保存第一通道的上下文信息的存储器,二者之间没有必然的联系。
一种可能的实现方式中,本申请提供一种在网络中的路由通告方法,该方法应用于图1所示的网络,其执行主体是第一出口节点,第一出口节点生成第一路由信息,第一路由信息包括第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,第一出口节点包括第一芯片,向第一入口节点发送第一路由信息。
另外,第一出口节点还可以生成第二路由信息,第二路由信息包括第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,第一出口节点包括第二芯片,第一出口节点向第一入口节点发送第二路由信息。
上述第一路由信息和第二路由信息中还可以包括用于指示第一芯片或第二芯片具有重排序能力的信息。
图10为本申请在网络中执行的负载均衡装置实施例的结构示意图。所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点。图10所示的装置可以是所述第一入口节点。图10所示的装置可以用于执行图2-图5中任一所示的方法。关于图10所示的装置的具体实现方式,可以参考实施例对图2-图5中任一的描述,此处不再赘述。
参见图10,所述装置1000包括:报文接收模块31、芯片确定模块32、通道分配模块33、序号分配模块34、报文更新模块35和报文发送模块36。其中,报文接收模块31,用于接收第一报文流包括的多个报文,所述第一报文流的目的地址为所述第一出口节点通过第一芯片连接的主机的地址,所述第一出口节点包括所述第一芯片;芯片确定模块32,用于根据所述第一报文流和转发表中的第一表项确定所述第一芯片的标识,所述第一表项包括所述第一报文流的目的地址和所述第一芯片的标识;通道分配模块33,用于基于所述第一芯片的标识为所述第一报文流分配第一通道标识;序号分配模块34,用于为所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序,所述第一通道标识用于指示所述第一通道,所述第一通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道;报文更新模块35,用于根据所述第一报文流生成更新的第一报文流,所述更新的第一报文流包括多个报文,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文包括对应的所述第一报文流中的报文、对应的所述第一报文流中的报文的序列号以及所述第一通道标识;报文发送模块36,用于以逐包负载分担的方式向所述第一出口节点发送所述更新的第一报文流中的多个报文。
在上述技术方案的基础上,所述报文接收模块31,还用于接收第二报文流包括的多个报文,所述第二报文流的目的地址为所述第一出口节点通过所述第一芯片连接的主机的地址;所述芯片确定模块32,还用于根据所述第二报文流和所述转发表中的第二表项确定所述第一芯片的标识,所述第二表项包括所述第二报文流的目的地址和所述第一芯片的标识;所述通道分配模块33,还用于基于所述第一芯片的标识为所述第二报文流分配所述第一通道标识;所述序号分配模块34,还用于为所述第二报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述第一通道中的顺序;所述报文更新模块35,还用于根据所述第二报文流生成更新的第二报文流,所述更新的第二报文流包括多个报文,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文包括对应的所述第二报文流中的报文、对应的所述第二报文流中的报文的序列号以及所述第一通道标识;所述报文发送模块36,还用于以逐包负载分担的方式向所述第一出口节点发送所述更新的第二报文流中的多个报文。
在上述技术方案的基础上,所述更新的第一报文流中的每个报文还包括所述第一入口节点中用于接收所述第一报文流的芯片的标识,所述第一通道是所述第一入口节点中用于接收所述第一报文流的芯片与所述第一芯片之间的多个通道中的一个通道。
在上述技术方案的基础上,所述通道分配模块33,还用于当所述第一入口节点检测到所述第一通道上传输的报文的速率大于第一阈值时,为所述第一报文流分配其他通道标识,所述其他通道标识用于指示其他通道,所述其他通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道,所述其他通道不同于所述第一通道。
在上述技术方案的基础上,所述通道分配模块33,具体用于为所述第一报文流确定一个速率低于第二阈值的通道的标识作为所述其他通道标识。
在上述技术方案的基础上,所述序号分配模块34,还用于为新接收到的所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述其他通道中的顺序,新接收到的所述第一报文流的多个报文对应的最小的序列号为0;在所述报文发送模块,还用于在向所述第一芯片发送所述新接收到的所述第一报文流的多个报文时,将指示信息携带在所述新接收到的所述第一报文流的多个报文的每个报文中,所述指示信息用于指示所述新接收到的所述第一报文流的多个报文对应的最小的序列号为0。
在上述技术方案的基础上,所述通道分配模块33,还用于若在第一时长内所述第一入口节点没有接收到需要经由所述第一通道向所述第一芯片发送的流量,则将所述第一通道的状态标识为空闲,并将所述第一通道标识对应的存储器中保存的信息设置为零;或者,若在第二时长内所述第一入口节点没有接收到需要经由所述第一入口节点与所述第一芯片之间的多个通道向所述第一芯片发送的流量,则将所述多个通道的状态标识为空闲,并将所述第一芯片的标识对应的存储器中保存的信息设置为零。
本实施例的装置,可以用于上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本申请在网络中执行的对报文进行重排序的装置实施例一的结构示意图。所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点。图11所示的装置可以是所述第一出口节点。图11所示的装置可以用于执行图6-图9中任一所示的方法。关于图11所示的装置的具体实现方式,可以参考实施例对图6-图9中任一的描述,此处不再赘述。
参见图11,所述装置2000包括:报文接收模块41、资源确定模块42、报文保存模块43和报文发送模块44。其中,报文接收模块41,用于接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,所述第一通道标识用于指示所述第一通道,所述第二芯片是所述第一入口节点中用于接收第一报文流的芯片,所述更新的第一报文流是根据所述第一报文流得到的,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文还包含所述第一报文流中对应的报文,所述第一通道是所述第二芯片与所述第一出口节点之间的多个通道中的一个通道;资源确定模块42,用于根据所述第二芯片的标识和所述第一通道标识确定第一存储资源;报文保存模块43,用于根据所述更新的第一报文流中的每个报文中携带的序列号,将所述第一报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;报文发送模块44,用于发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
在上述技术方案的基础上,所述报文接收模块41,还用于接收更新的第二报文流包括的多个报文,每个报文包括第三芯片的标识、所述第一通道标识以及序列号,所述第三芯片是所述第一入口节点中用于接收第二报文流的芯片,所述更新的第二报文流是根据所述第二报文流得到的,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文还包含所述第二报文流中对应的报文;所述资源确定模块42,还用于根据所述第三芯片的标识和所述第一通道标识确定所述第一存储资源;所述报文保存模块43,还用于根据所述更新的第二报文流中的每个报文中携带的序列号,将所述第二报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;所述报文发送模块44,还用于发送保存在所述第一存储资源中的所述第二报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
在上述技术方案的基础上,所述报文发送模块44,具体用于确定更新的第一报文携带的序列号和所述第一存储资源的首个存储单元的序号相同时,在尚未将所述第一报文流包括的多个报文都保存在所述第一存储资源的情况下发送第一报文,所述第一报文是所述第一报文流包括的多个报文中的一个报文,所述第一报文是首个进入所述第一通道的报文,所述更新的第一报文是所述更新的第一报文流包括的多个报文中的一个报文。
在上述技术方案的基础上,图12为本申请在网络中执行的对报文进行重排序的装置实施例二的结构示意图,如图12所示,该装置2000还包括:消息发送模块45,用于当所述第一出口节点中用于接收所述更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,发送第一消息,所述第一消息用于通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文;或者,在通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,当所述第一出口节点确定所述第一出口节点中接收所述更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,发送第二消息,所述第二消息用于通告所述第二芯片向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文。
在上述技术方案的基础上,所述资源确定模块42,还用于若在第三时长内所述第一存储资源上没有保存任何报文,则所述第一出口节点将所述第一存储资源的状态标识为空闲,并将所述第一存储资源对应的存储器中保存的信息设置为零;或者,
若在第四时长内所述第三芯片对应的多个存储资源上没有保存任何报文,则所述第一出口节点将所述多个存储资源的状态标识为空闲,并将所述多个存储资源对应的存储器中保存的信息设置为零。
本实施例的装置,可以用于上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图13为本申请在网络中的路由通告装置实施例的结构示意图。所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点。图13所示的装置可以是所述第一出口节点。图13所示的装置可以用于执行上述在网络中的路由通告方法。关于图13所示的装置的具体实现方式,可以参考实施例对在网络中的路由通告方法的描述,此处不再赘述。
参见图13,所述装置3000包括:路由生成模块51和路由发送模块52。其中,路由生成模块51,用于生成第一路由信息,所述第一路由信息包括所述第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,所述第一出口节点包括所述第一芯片;路由发送模块52,用于向所述第一入口节点发送所述第一路由信息。
所述第一路由信息还包括用于指示所述第一芯片具有重排序能力的信息。
在上述技术方案的基础上,所述路由生成模块51,还用于生成第二路由信息,所述第二路由信息包括所述第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,所述第一出口节点包括所述第二芯片;所述路由发送模块52,还用于向所述第一入口节点发送所述第二路由信息。
所述第二路由信息还包括用于指示所述第二芯片具有重排序能力的信息。
本实施例的装置,可以用于上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本申请网络节点实施例的结构示意图,如图14所示,该网络节点4000包括处理器61、存储器62、输入装置63和输出装置64;网络节点中处理器61的数量可以是一个或多个,图14中以一个处理器61为例;网络节点中的处理器61、存储器62、输入装置63和输出装置64可以通过总线或其他方式连接,图14中以通过总线连接为例。
存储器62作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器61通过运行存储在存储器62中的软件程序、指令以及模块,从而执行网络节点的各种功能应用以及数据处理,即实现上述的方法。
存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器62可进一步包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至网络节点。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置63可用于接收输入的数字或字符信息,以及产生与网络节点的用户设置以及功能控制有关的键信号输入。输出装置64可包括显示屏等显示设备。
上述网络节点可以是图1所示网络实施例中的第一入口节点或者第一出口节点。
一种可能的实现方式中,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由计算机执行,以控制所述计算机执行上述方法实施例的技术方案。
一种可能的实现方式中,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述方法实施例的技术方案。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

Claims (36)

1.一种在网络中执行的负载均衡方法,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述方法包括:
所述第一入口节点接收第一报文流包括的多个报文,所述第一报文流的目的地址为所述第一出口节点通过第一芯片连接的主机的地址,所述第一出口节点包括所述第一芯片;
所述第一入口节点根据所述第一报文流和转发表中的第一表项确定所述第一芯片的标识,所述第一表项包括所述第一报文流的目的地址和所述第一芯片的标识;
所述第一入口节点基于所述第一芯片的标识为所述第一报文流分配第一通道标识;
所述第一入口节点为所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序,所述第一通道标识用于指示所述第一通道,所述第一通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道;
所述第一入口节点根据所述第一报文流生成更新的第一报文流,所述更新的第一报文流包括多个报文,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文包括对应的所述第一报文流中的报文、对应的所述第一报文流中的报文的序列号以及所述第一通道标识;
所述第一入口节点以逐包负载分担的方式向所述第一出口节点发送所述更新的第一报文流中的多个报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一入口节点接收第二报文流包括的多个报文,所述第二报文流的目的地址为所述第一出口节点通过所述第一芯片连接的主机的地址;
所述第一入口节点根据所述第二报文流和所述转发表中的第二表项确定所述第一芯片的标识,所述第二表项包括所述第二报文流的目的地址和所述第一芯片的标识;
所述第一入口节点基于所述第一芯片的标识为所述第二报文流分配所述第一通道标识;
所述第一入口节点为所述第二报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述第一通道中的顺序;
所述第一入口节点根据所述第二报文流生成更新的第二报文流,所述更新的第二报文流包括多个报文,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文包括对应的所述第二报文流中的报文、对应的所述第二报文流中的报文的序列号以及所述第一通道标识;
所述第一入口节点以逐包负载分担的方式向所述第一出口节点发送所述更新的第二报文流中的多个报文。
3.根据权利要求1所述的方法,其特征在于,所述更新的第一报文流中的每个报文还包括所述第一入口节点中用于接收所述第一报文流的芯片的标识,所述第一通道是所述第一入口节点中用于接收所述第一报文流的芯片与所述第一芯片之间的多个通道中的一个通道。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一入口节点基于所述第一芯片的标识为所述第一报文流分配第一通道标识之后,所述方法还包括:
当所述第一入口节点检测到所述第一通道上传输的报文的速率大于第一阈值时,所述第一入口节点为所述第一报文流分配其他通道标识,所述其他通道标识用于指示其他通道,所述其他通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道,所述其他通道不同于所述第一通道。
5.根据权利要求4所述的方法,其特征在于,所述第一入口节点为所述第一报文流分配其他通道标识,包括:
所述第一入口节点为所述第一报文流确定一个速率低于第二阈值的通道的标识作为所述其他通道标识。
6.根据权利要求4所述的方法,其特征在于,所述第一入口节点为所述第一报文流分配其他通道标识之后,所述方法还包括:
所述第一入口节点为新接收到的所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述其他通道中的顺序,新接收到的所述第一报文流的多个报文对应的最小的序列号为0;
所述第一入口节点向所述第一芯片发送所述新接收到的所述第一报文流的多个报文时,所述第一入口节点将指示信息携带在所述新接收到的所述第一报文流的多个报文的每个报文中,所述指示信息用于指示所述新接收到的所述第一报文流的多个报文对应的最小的序列号为0。
7.根据权利要求1-3、5-6中任一项所述的方法,其特征在于,所述第一入口节点接收第一报文流包括的多个报文之后,所述方法还包括:
若在第一时长内所述第一入口节点没有接收到需要经由所述第一通道向所述第一芯片发送的流量,则所述第一入口节点将所述第一通道的状态标识为空闲,并将所述第一通道标识对应的存储器中保存的信息设置为零;或者,
若在第二时长内所述第一入口节点没有接收到需要经由所述第一入口节点与所述第一芯片之间的多个通道向所述第一芯片发送的流量,则所述第一入口节点将所述多个通道的状态标识为空闲,并将所述第一芯片的标识对应的存储器中保存的信息设置为零。
8.一种在网络中执行的对报文进行重排序的方法,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述方法包括:
所述第一出口节点接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,所述第一通道标识用于指示所述第一通道,所述第二芯片是所述第一入口节点中用于接收第一报文流的芯片,所述更新的第一报文流是根据所述第一报文流得到的,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文还包含所述第一报文流中对应的报文,所述第一通道是所述第二芯片与所述第一出口节点之间的多个通道中的一个通道;
所述第一出口节点根据所述第二芯片的标识和所述第一通道标识确定第一存储资源;
所述第一出口节点根据所述更新的第一报文流中的每个报文中携带的序列号,将所述第一报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
所述第一出口节点发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
9.根据权利要求8所述的方法,其特征在于,还包括:
所述第一出口节点接收更新的第二报文流包括的多个报文,每个报文包括第三芯片的标识、所述第一通道标识以及序列号,所述第三芯片是所述第一入口节点中用于接收第二报文流的芯片,所述更新的第二报文流是根据所述第二报文流得到的,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文还包含所述第二报文流中对应的报文;
所述第一出口节点根据所述第三芯片的标识和所述第一通道标识确定所述第一存储资源;
所述第一出口节点根据所述更新的第二报文流中的每个报文中携带的序列号,将所述第二报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
所述第一出口节点发送保存在所述第一存储资源中的所述第二报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
10.根据权利要求8所述的方法,其特征在于,所述第一出口节点发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,包括:
确定更新的第一报文携带的序列号和所述第一存储资源的首个存储单元的序号相同时,所述第一出口节点在尚未将所述第一报文流包括的多个报文都保存在所述第一存储资源的情况下发送第一报文,所述第一报文是所述第一报文流包括的多个报文中的一个报文,所述第一报文是首个进入所述第一通道的报文,所述更新的第一报文是所述更新的第一报文流包括的多个报文中的一个报文。
11.根据权利要求8-10中任一项所述的方法,其特征在于,还包括:
当所述第一出口节点中用于接收所述更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,所述第一出口节点发送第一消息,所述第一消息用于通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文;或者,
所述第一出口节点通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,
当所述第一出口节点确定所述第一出口节点中接收所述更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,所述第一出口节点发送第二消息,所述第二消息用于通告所述第二芯片向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文。
12.根据权利要求9的方法,其特征在于,还包括:
若在第三时长内所述第一存储资源上没有保存任何报文,则所述第一出口节点将所述第一存储资源的状态标识为空闲,并将所述第一存储资源对应的存储器中保存的信息设置为零;或者,
若在第四时长内所述第三芯片对应的多个存储资源上没有保存任何报文,则所述第一出口节点将所述多个存储资源的状态标识为空闲,并将所述多个存储资源对应的存储器中保存的信息设置为零。
13.一种在网络中的路由通告方法,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述方法包括:
所述第一出口节点生成第一路由信息,所述第一路由信息包括所述第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,所述第一出口节点包括所述第一芯片;
所述第一出口节点向所述第一入口节点发送所述第一路由信息;
所述第一出口节点用于接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,所述第一通道标识用于指示所述第一通道,所述第二芯片是所述第一入口节点中用于接收第一报文流的芯片,所述更新的第一报文流是根据所述第一报文流得到的,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文还包含所述第一报文流中对应的报文,所述第一通道是所述第二芯片与所述第一出口节点之间的多个通道中的一个通道;
所述第一出口节点用于根据所述第二芯片的标识和所述第一通道标识确定第一存储资源;
所述第一出口节点用于根据所述更新的第一报文流中的每个报文中携带的序列号,将所述第一报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
所述第一出口节点还用于发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
14.根据权利要求13所述的方法,其特征在于,所述第一路由信息还包括用于指示所述第一芯片具有重排序能力的信息。
15.根据权利要求13或14所述的方法,其特征在于,还包括:
所述第一出口节点生成第二路由信息,所述第二路由信息包括所述第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,所述第一出口节点包括所述第二芯片;
所述第一出口节点向所述第一入口节点发送所述第二路由信息。
16.根据权利要求15所述的方法,其特征在于,所述第二路由信息还包括用于指示所述第二芯片具有重排序能力的信息。
17.一种在网络中执行的负载均衡装置,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述装置应用于所述第一入口节点上,所述装置包括:
报文接收模块,用于接收第一报文流包括的多个报文,所述第一报文流的目的地址为所述第一出口节点通过第一芯片连接的主机的地址,所述第一出口节点包括所述第一芯片;
芯片确定模块,用于根据所述第一报文流和转发表中的第一表项确定所述第一芯片的标识,所述第一表项包括所述第一报文流的目的地址和所述第一芯片的标识;
通道分配模块,用于基于所述第一芯片的标识为所述第一报文流分配第一通道标识;
序号分配模块,用于为所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入第一通道中的顺序,所述第一通道标识用于指示所述第一通道,所述第一通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道;
报文更新模块,用于根据所述第一报文流生成更新的第一报文流,所述更新的第一报文流包括多个报文,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文包括对应的所述第一报文流中的报文、对应的所述第一报文流中的报文的序列号以及所述第一通道标识;
报文发送模块,用于以逐包负载分担的方式向所述第一出口节点发送所述更新的第一报文流中的多个报文。
18.根据权利要求17所述的装置,其特征在于,所述报文接收模块,还用于接收第二报文流包括的多个报文,所述第二报文流的目的地址为所述第一出口节点通过所述第一芯片连接的主机的地址;
所述芯片确定模块,还用于根据所述第二报文流和所述转发表中的第二表项确定所述第一芯片的标识,所述第二表项包括所述第二报文流的目的地址和所述第一芯片的标识;
所述通道分配模块,还用于基于所述第一芯片的标识为所述第二报文流分配所述第一通道标识;
所述序号分配模块,还用于为所述第二报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述第一通道中的顺序;
所述报文更新模块,还用于根据所述第二报文流生成更新的第二报文流,所述更新的第二报文流包括多个报文,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文包括对应的所述第二报文流中的报文、对应的所述第二报文流中的报文的序列号以及所述第一通道标识;
所述报文发送模块,还用于以逐包负载分担的方式向所述第一出口节点发送所述更新的第二报文流中的多个报文。
19.根据权利要求17所述的装置,其特征在于,所述更新的第一报文流中的每个报文还包括所述第一入口节点中用于接收所述第一报文流的芯片的标识,所述第一通道是所述第一入口节点中用于接收所述第一报文流的芯片与所述第一芯片之间的多个通道中的一个通道。
20.根据权利要求17-19中任一项所述的装置,其特征在于,所述通道分配模块,还用于当所述第一入口节点检测到所述第一通道上传输的报文的速率大于第一阈值时,为所述第一报文流分配其他通道标识,所述其他通道标识用于指示其他通道,所述其他通道是所述第一入口节点与所述第一芯片之间的多个通道中的一个通道,所述其他通道不同于所述第一通道。
21.根据权利要求20所述的装置,其特征在于,所述通道分配模块,具体用于为所述第一报文流确定一个速率低于第二阈值的通道的标识作为所述其他通道标识。
22.根据权利要求20所述的装置,其特征在于,所述序号分配模块,还用于为新接收到的所述第一报文流包括的多个报文中的每个报文分配一个序列号,每个序列号用于指示对应的报文进入所述其他通道中的顺序,新接收到的所述第一报文流的多个报文对应的最小的序列号为0;
在所述报文发送模块,还用于在向所述第一芯片发送所述新接收到的所述第一报文流的多个报文时,将指示信息携带在所述新接收到的所述第一报文流的多个报文的每个报文中,所述指示信息用于指示所述新接收到的所述第一报文流的多个报文对应的最小的序列号为0。
23.根据权利要求17-19、21-22中任一项所述的装置,其特征在于,所述通道分配模块,还用于若在第一时长内所述第一入口节点没有接收到需要经由所述第一通道向所述第一芯片发送的流量,则将所述第一通道的状态标识为空闲,并将所述第一通道标识对应的存储器中保存的信息设置为零;或者,
若在第二时长内所述第一入口节点没有接收到需要经由所述第一入口节点与所述第一芯片之间的多个通道向所述第一芯片发送的流量,则将所述多个通道的状态标识为空闲,并将所述第一芯片的标识对应的存储器中保存的信息设置为零。
24.一种在网络中执行的对报文进行重排序的装置,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述装置应用于所述第一出口节点,所述装置包括:
报文接收模块,用于接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,所述第一通道标识用于指示所述第一通道,所述第二芯片是所述第一入口节点中用于接收第一报文流的芯片,所述更新的第一报文流是根据所述第一报文流得到的,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文还包含所述第一报文流中对应的报文,所述第一通道是所述第二芯片与所述第一出口节点之间的多个通道中的一个通道;
资源确定模块,用于根据所述第二芯片的标识和所述第一通道标识确定第一存储资源;
报文保存模块,用于根据所述更新的第一报文流中的每个报文中携带的序列号,将所述第一报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
报文发送模块,用于发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
25.根据权利要求24所述的装置,其特征在于,所述报文接收模块,还用于接收更新的第二报文流包括的多个报文,每个报文包括第三芯片的标识、所述第一通道标识以及序列号,所述第三芯片是所述第一入口节点中用于接收第二报文流的芯片,所述更新的第二报文流是根据所述第二报文流得到的,所述更新的第二报文流包括的多个报文与所述第二报文流包括的多个报文一一对应,所述更新的第二报文流中的每个报文还包含所述第二报文流中对应的报文;
所述资源确定模块,还用于根据所述第三芯片的标识和所述第一通道标识确定所述第一存储资源;
所述报文保存模块,还用于根据所述更新的第二报文流中的每个报文中携带的序列号,将所述第二报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
所述报文发送模块,还用于发送保存在所述第一存储资源中的所述第二报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
26.根据权利要求24所述的装置,其特征在于,所述报文发送模块,具体用于确定更新的第一报文携带的序列号和所述第一存储资源的首个存储单元的序号相同时,在尚未将所述第一报文流包括的多个报文都保存在所述第一存储资源的情况下发送第一报文,所述第一报文是所述第一报文流包括的多个报文中的一个报文,所述第一报文是首个进入所述第一通道的报文,所述更新的第一报文是所述更新的第一报文流包括的多个报文中的一个报文。
27.根据权利要求24-26中任一项所述的装置,其特征在于,还包括:
消息发送模块,用于当所述第一出口节点中用于接收所述更新的第一报文流的芯片对应的可用的存储资源小于第三阈值时,发送第一消息,所述第一消息用于通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文;或者,
在通知所述第二芯片停止向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文之后,当所述第一出口节点确定所述第一出口节点中接收所述更新的第一报文流的芯片对应的可用的存储资源多于第四阈值时,发送第二消息,所述第二消息用于通告所述第二芯片向所述用于接收所述更新的第一报文流的芯片以逐包负载分担的方式发送报文。
28.根据权利要求25所述的装置,其特征在于,所述资源确定模块,还用于若在第三时长内所述第一存储资源上没有保存任何报文,则所述第一出口节点将所述第一存储资源的状态标识为空闲,并将所述第一存储资源对应的存储器中保存的信息设置为零;或者,
若在第四时长内所述第三芯片对应的多个存储资源上没有保存任何报文,则所述第一出口节点将所述多个存储资源的状态标识为空闲,并将所述多个存储资源对应的存储器中保存的信息设置为零。
29.一种在网络中的路由通告装置,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述装置应用于所述第一出口节点上,所述装置包括:
路由生成模块,用于生成第一路由信息,所述第一路由信息包括所述第一出口节点通过第一芯片连接的主机的地址和第一芯片的标识,所述第一出口节点包括所述第一芯片;
路由发送模块,用于向所述第一入口节点发送所述第一路由信息;
所述第一出口节点用于接收更新的第一报文流包括的多个报文,每个报文包括第二芯片的标识、第一通道标识以及序列号,每个序列号用于指示对应的报文进入第一通道中的序列号,所述第一通道标识用于指示所述第一通道,所述第二芯片是所述第一入口节点中用于接收第一报文流的芯片,所述更新的第一报文流是根据所述第一报文流得到的,所述更新的第一报文流包括的多个报文与所述第一报文流包括的多个报文一一对应,所述更新的第一报文流中的每个报文还包含所述第一报文流中对应的报文,所述第一通道是所述第二芯片与所述第一出口节点之间的多个通道中的一个通道;
所述第一出口节点用于根据所述第二芯片的标识和所述第一通道标识确定第一存储资源;
所述第一出口节点用于根据所述更新的第一报文流中的每个报文中携带的序列号,将所述第一报文流中的多个报文保存到所述第一存储资源,序列号小的报文在所述第一存储资源的位置前于序列号大的报文在所述第一存储资源的位置;
所述第一出口节点还用于发送保存在所述第一存储资源中的所述第一报文流包括的多个报文,保存在所述第一存储资源的位置前的报文先于保存在所述第一存储资源的位置后的报文被发送。
30.根据权利要求29所述的装置,其特征在于,所述第一路由信息还包括用于指示所述第一芯片具有重排序能力的信息。
31.根据权利要求29或30所述的装置,其特征在于,所述路由生成模块,还用于生成第二路由信息,所述第二路由信息包括所述第一出口节点通过第二芯片连接的主机的地址和第二芯片的标识,所述第一出口节点包括所述第二芯片;
所述路由发送模块,还用于向所述第一入口节点发送所述第二路由信息。
32.根据权利要求31所述的装置,其特征在于,所述第二路由信息还包括用于指示所述第二芯片具有重排序能力的信息。
33.一种在网络中的第一入口节点,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述第一入口节点包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的在网络中执行的负载均衡方法。
34.一种在网络中的第一出口节点,其特征在于,所述网络包括第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点,所述第一出口节点包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求8-12中任一所述的在网络中执行的对报文进行重排序的方法,或者,如权利要求13-16中任一所述的在网络中的路由通告方法。
35.一种网络,其特征在于,包括:第一入口节点、第一出口节点以及至少一个中间节点,所述第一入口节点经由所述至少一个中间节点连接到所述第一出口节点;所述第一入口节点采用权利要求17-23、33中任一项所述的装置,所述第一出口节点采用权利要求24-32、34中任一项所述的装置。
36.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由计算机执行,以控制所述计算机执行权利要求1-16中任一项所述的方法。
CN201880098071.6A 2018-09-30 2018-09-30 在网络中的负载均衡和报文重排序方法及装置 Active CN112753198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210214776.8A CN114726660A (zh) 2018-09-30 2018-09-30 发送、处理报文的方法、入口节点及网络***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/109168 WO2020062268A1 (zh) 2018-09-30 2018-09-30 在网络中的负载均衡和报文重排序方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210214776.8A Division CN114726660A (zh) 2018-09-30 2018-09-30 发送、处理报文的方法、入口节点及网络***

Publications (2)

Publication Number Publication Date
CN112753198A CN112753198A (zh) 2021-05-04
CN112753198B true CN112753198B (zh) 2022-04-05

Family

ID=69949244

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210214776.8A Pending CN114726660A (zh) 2018-09-30 2018-09-30 发送、处理报文的方法、入口节点及网络***
CN201880098071.6A Active CN112753198B (zh) 2018-09-30 2018-09-30 在网络中的负载均衡和报文重排序方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210214776.8A Pending CN114726660A (zh) 2018-09-30 2018-09-30 发送、处理报文的方法、入口节点及网络***

Country Status (4)

Country Link
US (1) US11736407B2 (zh)
EP (1) EP3849135B1 (zh)
CN (2) CN114726660A (zh)
WO (1) WO2020062268A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210288908A1 (en) * 2020-03-12 2021-09-16 Schweitzer Engineering Laboratories, Inc. Elimination of address resolution protocol
CN115757052A (zh) * 2021-09-03 2023-03-07 华为技术有限公司 报文处理的方法、装置以及***
CN114124854B (zh) * 2021-11-29 2024-02-09 天融信雄安网络安全技术有限公司 报文处理方法、装置、电子设备及可读存储介质
CN114244845A (zh) * 2021-12-15 2022-03-25 锐捷网络股份有限公司 一种负载均衡的方法、装置及电子设备
CN114285807A (zh) * 2021-12-22 2022-04-05 中国农业银行股份有限公司 一种报文信息管理方法、装置、服务器和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789949A (zh) * 2010-02-04 2010-07-28 中兴通讯股份有限公司 一种实现负荷分担的方法和路由设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263597B2 (en) * 2001-04-19 2007-08-28 Ciena Corporation Network device including dedicated resources control plane
US7856032B2 (en) * 2005-04-04 2010-12-21 Current Technologies, Llc Multi-function modem device
US7860025B2 (en) * 2005-06-28 2010-12-28 Cisco Technology, Inc. Directed acyclic graph discovery and network prefix information distribution relative to a clusterhead in an ad hoc mobile network
CN102868617A (zh) * 2011-07-05 2013-01-09 中兴通讯股份有限公司 一种p2p网络路由方法及***
US10135914B2 (en) * 2013-04-16 2018-11-20 Amazon Technologies, Inc. Connection publishing in a distributed load balancer
CN104378297B (zh) * 2013-08-15 2018-01-16 新华三技术有限公司 一种报文转发方法及设备
WO2015042152A1 (en) * 2013-09-17 2015-03-26 Cisco Technology, Inc. Bit indexed explicit replication using multiprotocol label switching
US9160553B2 (en) * 2013-11-27 2015-10-13 Architecture Technology Corporation Adaptive multicast network communications
CN104486236B (zh) 2014-11-28 2018-02-06 华为技术有限公司 负载分担的方法和路由设备
US10187286B2 (en) * 2016-05-23 2019-01-22 Arista Networks, Inc. Method and system for tracking network device information in a network switch
US9985872B2 (en) * 2016-10-03 2018-05-29 128 Technology, Inc. Router with bilateral TCP session monitoring
CN108347376B (zh) 2017-01-24 2020-01-31 华为技术有限公司 一种调整转发路径的方法、装置及***
US10700959B2 (en) * 2017-04-09 2020-06-30 Barefoot Networks, Inc. Source routing design with simplified forwarding elements
US11184235B2 (en) * 2018-03-06 2021-11-23 Cisco Technology, Inc. In-band direct mode performance loss measurement in software defined networks
US10904136B2 (en) * 2018-08-06 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Multicast distribution tree versioning for minimizing multicast group traffic disruption
US10929171B2 (en) * 2019-02-22 2021-02-23 Vmware, Inc. Distributed forwarding for performing service chain operations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789949A (zh) * 2010-02-04 2010-07-28 中兴通讯股份有限公司 一种实现负荷分担的方法和路由设备

Also Published As

Publication number Publication date
CN114726660A (zh) 2022-07-08
WO2020062268A1 (zh) 2020-04-02
EP3849135A1 (en) 2021-07-14
US11736407B2 (en) 2023-08-22
CN112753198A (zh) 2021-05-04
US20210218688A1 (en) 2021-07-15
EP3849135B1 (en) 2022-08-24
EP3849135A4 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
CN112753198B (zh) 在网络中的负载均衡和报文重排序方法及装置
US20200366607A1 (en) Slice-based routing
CN104506408A (zh) 基于sdn的数据传输的方法及装置
US10122623B2 (en) Control device and control method in SDN network
CN109962850B (zh) 实现分段路由的方法和控制器及计算机可读存储介质
US10531274B2 (en) Data processing method and device
CN108337179B (zh) 链路流量控制方法及装置
CN109873776B (zh) 一种组播报文负载分担的均衡方法及装置
CN111585896B (zh) 一种数据转发方法、装置及可读存储介质
US11018990B2 (en) Route priority configuration method, device, and controller
US11863322B2 (en) Communication method and apparatus
CN106130920A (zh) 一种报文转发方法及装置
CN103929367A (zh) 一种负载均衡的方法和装置
CN112311685A (zh) 一种处理网络拥塞的方法以及相关装置
CN111464443B (zh) 基于服务功能链的报文转发方法、装置、设备及存储介质
US20150263990A1 (en) Network device, control method, and program
CN106209634B (zh) 地址映射关系的学习方法及装置
WO2019165855A1 (zh) 一种报文传输的方法及装置
KR101541168B1 (ko) 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법
CN108924066B (zh) 报文转发方法和装置
CN106982169B (zh) 报文转发方法及装置
KR20170057770A (ko) 가상 스위치의 패킷 전송 제어 방법
CN107360104B (zh) 一种隧道端点网络的实现方法和装置
CN111385215B (zh) 传输报文的方法和装置
CN118055069A (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