ES2832533T3 - Método y dispositivo para realizar el reparto de carga - Google Patents

Método y dispositivo para realizar el reparto de carga Download PDF

Info

Publication number
ES2832533T3
ES2832533T3 ES16867985T ES16867985T ES2832533T3 ES 2832533 T3 ES2832533 T3 ES 2832533T3 ES 16867985 T ES16867985 T ES 16867985T ES 16867985 T ES16867985 T ES 16867985T ES 2832533 T3 ES2832533 T3 ES 2832533T3
Authority
ES
Spain
Prior art keywords
link
forwarding node
hash factor
occupied
network device
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
ES16867985T
Other languages
English (en)
Inventor
Shunwan Zhuang
Shuanglong Chen
Zhenbin Li
Guoyi Chen
Jia Che
Nan Wu
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
Application granted granted Critical
Publication of ES2832533T3 publication Critical patent/ES2832533T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate 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/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Landscapes

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

Abstract

Un método para implementar el reparto de carga mediante factores de hash, en donde se usa un factor de hash respectivo para ajustar un flujo de paquetes desde un enlace a un enlace correspondiente al factor de hash respectivo para el reenvío, el método que comprende: seleccionar (201), por un dispositivo de red, un flujo de paquetes reenviado mediante un primer enlace, en donde primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío; seleccionar (202), por el dispositivo de red, un segundo enlace que puede usarse para reenviar el flujo de paquetes, en donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío; seleccionar (203), por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace; determinar (204), por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, en donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y guardar (205), por el dispositivo de red, el primer factor de hash en un nodo de origen del flujo de paquetes.

Description

DESCRIPCIÓN
Método y dispositivo para realizar el reparto de carga
Campo técnico
La presente invención se refiere al campo de las tecnologías de las comunicaciones y, en particular, a un método y un aparato para implementar el reparto de carga.
Antecedentes
En un entorno de red, debe ser reenviado un paquete desde un nodo de origen a un nodo de destino a lo largo de una ruta de reenvío, para que se reenvíe un paquete de datos, y se transmitan datos. El nodo de origen se denomina también nodo de entrada (en inglés, Ingress Node), y el nodo de destino se denomina también nodo de salida (en inglés, Egress Node). En un mecanismo de uso de una etiqueta para reenviar un paquete, tal como un mecanismo de conmutación de etiquetas multiprotocolo (en inglés, Multiple Protocol Label Switch, MPLS para abreviar) o un mecanismo de enrutamiento de segmento, la ruta de reenvío se conoce también como una ruta de conmutación de etiquetas (en inglés, Label Switch Path, LSP para abreviar). Para un entorno de red en el que múltiples enlaces llegan a la misma dirección de destino, si se usa una tecnología de enrutamiento convencional, un paquete enviado a la dirección de destino ocupa uno de los enlaces, y los otros enlaces están en estado de espera o no válido. Algunos enlaces en un nodo de reenvío están congestionados porque es necesario enviar demasiados paquetes, y los enlaces restantes en el nodo de reenvío están en un estado inactivo.
Mediante una tecnología de rutas múltiples de igual coste (en inglés, Equal-Cost Multipath, ECMP para abreviar), puede ser reenviado un flujo de paquetes en un nodo de origen mediante un enlace no congestionado, pero no puede ser reenviado un flujo de paquetes en otro nodo de reenvío mediante un enlace no congestionado, es decir, no puede resolverse el desequilibrio de carga mediante la tecnología ECMP.
El documento US 2014/119193 A1 describe un proceso del reparto de carga para un grupo de agregación de enlaces mediante la redistribución del flujo de datos a puertos menos congestionados en un conjunto de puertos asociados con el grupo de agregación de enlaces. El documento US2013/286846 A1 describe un método que incluye la asignación de flujos de paquetes a cada una de una pluralidad de interfaces de salida del primer enrutador basado al menos en la cantidad calculada del ancho de banda.
Compendio
Las realizaciones de la presente invención proporcionan un método según la reivindicación 1 y un aparato para implementar el reparto de carga según la reivindicación 7, para que todos los enlaces para reenviar un flujo de paquetes sean enlaces no congestionados, y se resuelva el desequilibrio de carga.
Según un primer aspecto, una realización de la presente invención proporciona un método para implementar el reparto de carga, y el método incluye:
seleccionar, por un dispositivo de red, un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
seleccionar, por el dispositivo de red, un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
seleccionar, por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace;
determinar, por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
guardar, por el dispositivo de red, el primer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar, por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace, el método además incluye:
determinar, por el dispositivo de red, que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un segundo factor de hash correspondiente al segundo enlace;
determinar, por el dispositivo de red, que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
guardar, por el dispositivo de red, el segundo factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de determinar, por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el método además incluye:
determinar, por el dispositivo de red, que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y realizar la etapa de guardar el primer factor de hash en un nodo de origen del flujo de paquetes, dónde
el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío.
Opcionalmente, después de determinar, por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el método además incluye:
determinar, por el dispositivo de red, que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y seleccionar un tercer factor de hash correspondiente al segundo enlace;
determinar, por el dispositivo de red, que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
guardar, por el dispositivo de red, el tercer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar, por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace, el método además incluye:
determinar, por el dispositivo de red, que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
seleccionar, por el dispositivo de red, un cuarto factor de hash correspondiente al octavo enlace;
determinar, por el dispositivo de red, que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
guardar, por el dispositivo de red, el cuarto factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, la determinación, por el dispositivo de red, de que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el primer flujo de paquetes incluye: determinar, por el dispositivo de red según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío; y
determinar, por el dispositivo de red según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
Según un segundo aspecto, una realización de la presente invención proporciona un aparato para implementar el reparto de carga, y el aparato incluye:
una primera unidad de selección, configurada para seleccionar un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
una segunda unidad de selección, configurada para seleccionar un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
una tercera unidad de selección, configurada para seleccionar un primer factor de hash correspondiente al segundo enlace;
una primera unidad de determinación, configurada para determinar que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
una primera unidad de guardado, configurada para guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, el aparato además incluye:
una segunda unidad de determinación, configurada para: después de que el tercer módulo de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una cuarta unidad de selección, configurada para seleccionar un segundo factor de hash correspondiente al segundo enlace;
una quinta unidad de determinación, configurada para determinar que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
una segunda unidad de guardado, configurada para guardar el segundo factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato además incluye:
una sexta unidad de determinación, configurada para: después de que la primera unidad de determinación determine que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, donde el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío; y
una unidad de activación, configurada para activar la primera unidad de guardado para guardar el primer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato además incluye:
una séptima unidad de determinación, configurada para: después de que la primera unidad de determinación determine que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes;
una quinta unidad de selección, configurada para seleccionar un tercer factor de hash correspondiente al segundo enlace;
una octava unidad de determinación, configurada para determinar que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
una tercera unidad de guardado, configurada para guardar el tercer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato además incluye:
una segunda unidad de determinación, configurada para: después de que la primera unidad de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una sexta unidad de selección, configurada para seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
una séptima unidad de selección, configurada para seleccionar un cuarto factor de hash correspondiente al octavo enlace;
una novena unidad de determinación, configurada para determinar que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
una cuarta unidad de guardado, configurada para guardar el cuarto factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, la primera unidad de determinación se configura además específicamente para:
determinar, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío ; y
determinar, según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
Según un tercer aspecto, una realización de la presente invención proporciona un dispositivo de red. El dispositivo de red incluye un procesador y una memoria.
La memoria se configura para almacenar una instrucción del programa y datos.
El procesador se configura para leer la instrucción y los datos que se almacenan en la memoria, para realizar las siguientes operaciones:
seleccionar un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
seleccionar un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
seleccionar un primer factor de hash correspondiente al segundo enlace;
determinar que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar el primer factor de hash correspondiente al segundo enlace, el procesador realiza además las siguientes operaciones:
determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un segundo factor de hash correspondiente al segundo enlace;
determinar que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
guardar el segundo factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el procesador realiza además las siguientes operaciones:
determinar que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y realizar la siguiente etapa de guardar el primer factor de hash en un nodo de origen del flujo de paquetes, donde
el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío.
Opcionalmente, después de determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el procesador realiza además las siguientes operaciones:
determinar que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes;
seleccionar un tercer factor de hash correspondiente al segundo enlace;
determinar que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
guardar el tercer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar el primer factor de hash correspondiente al segundo enlace, el procesador realiza además las siguientes operaciones:
determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
seleccionar un cuarto factor de hash correspondiente al octavo enlace;
determinar que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
guardar el cuarto factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, para determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el primer flujo de paquetes, el procesador realiza las siguientes operaciones:
determinar, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío ; y
determinar, según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
Según las soluciones técnicas proporcionadas en las realizaciones de la presente invención, si el primer enlace en el primer nodo de reenvío está en un estado congestionado, el dispositivo de red selecciona el flujo de paquetes reenviado mediante el primer enlace. El dispositivo de red selecciona el segundo enlace y el primer factor de hash correspondiente al segundo enlace para el flujo de paquetes, y el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes. El dispositivo de red verifica el primer factor de hash y determina que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Después de verificar el primer factor de hash, el dispositivo de red guarda el primer factor de hash en el nodo de origen que reenvía el flujo de paquetes. El nodo de origen puede encapsular el primer factor de hash en el flujo de paquetes, y reenviar, mediante el segundo enlace y el tercer enlace, el flujo de paquetes encapsulado con el primer factor de hash. De esta manera, después de verificar que múltiples enlaces tales como el segundo enlace y el tercer enlace a través del cuales pasa el flujo de paquetes reenviado mediante el primer enlace no están congestionados, el dispositivo de red guarda el primer factor de hash en el nodo de origen que reenvía el flujo de paquetes. El flujo de paquetes puede ser reenviado en múltiples nodos de reenvío distintos al nodo de origen mediante un enlace no congestionado, para que se alivie un estado congestionado del primer enlace congestionado, y se implemente un reparto de carga relativamente equilibrado.
Breve descripción de los dibujos
Para describir las soluciones técnicas en las realizaciones de la presente invención o en la técnica anterior más claramente, se describen a continuación brevemente los dibujos adjuntos necesarios para describir las realizaciones o la técnica anterior. Aparentemente, los dibujos adjuntos en la siguiente descripción muestran simplemente algunas realizaciones registradas en la presente solicitud, y las personas con conocimientos ordinarios en la técnica aún pueden derivar otros dibujos de estos dibujos adjuntos.
La FIG. 1 es un diagrama esquemático de un marco de sistema relacionado con un escenario de aplicación según una realización de la presente invención;
La FIG. 2A y la FIG. 2B son un diagrama de flujo esquemático de un método para implementar el reparto de carga según una realización de la presente invención;
La FIG. 3 es un diagrama estructural esquemático de una arquitectura de red según una realización de la presente invención;
La FIG. 4 es un diagrama esquemático de una arquitectura de red parcial relacionada con un escenario de aplicación según una realización de la presente invención;
La FIG. 5A y la FIG. 5B son un diagrama de flujo esquemático de un método para implementar el reparto de carga según una realización de la presente invención;
La FIG. 6 es un diagrama estructural esquemático de un aparato para implementar el reparto según una realización de la presente invención; y
La FIG. 7 es un diagrama estructural esquemático de hardware de un dispositivo de red según una realización de la presente invención.
Descripción de las realizaciones
Para hacer que los expertos en la técnica comprendan mejor las soluciones técnicas de la presente invención, se describen a continuación clara y completamente las soluciones técnicas en las realizaciones de la presente invención con referencia a los dibujos adjuntos en las realizaciones de la presente invención. Aparentemente, las realizaciones descritas son simplemente una parte y no todas las realizaciones de la presente invención.
En un entorno de red común, un nodo de origen configurado para reenviar un flujo de paquetes puede seleccionar un factor de hash correspondiente para el flujo de paquetes según un estado de carga de un enlace del nodo de origen. El nodo de origen agrega el factor de hash al flujo de paquetes. El nodo de origen realiza un cálculo de hash sobre el factor de hash para obtener un resultado de cálculo de hash. Debido a que el nodo de origen determina el factor de hash según el estado de carga del enlace del nodo de origen, un enlace que está en el nodo de origen y que corresponde al resultado del cálculo de hash está en un estado no congestionado. Es decir, el flujo de paquetes al que se agrega el factor de hash puede enviarse a otro nodo de reenvío mediante el enlace no congestionado en el nodo de origen. El otro nodo de reenvío puede obtener un resultado de cálculo de hash según el factor de hash en el flujo de paquetes. Un enlace que está en el otro nodo de reenvío y que corresponde al resultado del cálculo de hash puede estar en un estado congestionado. En un entorno de red común, en un método para implementar el reparto de carga, no puede garantizarse que un enlace a través del cual pase el flujo de paquetes al que se agrega el factor de hash y que está en cada nodo de reenvío, esté en un estado no congestionado.
Para implementar el reparto de carga relativamente equilibrado, las realizaciones de la presente invención proporcionan un método y un aparato para implementar el reparto de carga. Después de seleccionar un factor de hash para un flujo de paquetes, un dispositivo de red verifica si están congestionados los múltiples enlaces a través de los cuales pasa el flujo de paquetes encapsulado con el factor de hash. Si el dispositivo de red determina que no están congestionados los múltiples enlaces a través de los cuales pasa el flujo de paquetes encapsulado con el factor de hash, el dispositivo de red guarda el factor de hash en un nodo de origen configurado para reenviar el flujo de paquetes. Después de que el nodo de origen encapsula el factor de hash en el flujo de paquetes, el flujo de paquetes encapsulado con el factor de hash puede ser reenviado mediante enlaces no congestionados en los múltiples nodos de reenvío, y los múltiples nodos de reenvío incluyen los nodos de reenvío excepto el nodo de origen. Los múltiples nodos de reenvío pueden incluir además el nodo de origen.
Por ejemplo, uno de los escenarios de aplicación de las implementaciones de la presente invención puede aplicarse a un sistema de red mostrado en la FIG. 1. En el sistema de red, para un primer enlace en un estado congestionado en un primer nodo de reenvío, un dispositivo 101 de red selecciona un flujo de paquetes reenviado mediante el primer enlace, y selecciona un segundo enlace que puede usarse para reenviar el flujo de paquetes. El segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío. El dispositivo 101 de red selecciona un primer factor de hash correspondiente al segundo enlace y determina que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. El tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío. Después de determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el dispositivo 101 de red guarda el primer factor de hash en un nodo 102 de origen del flujo de paquetes. Si el nodo 102 de origen recibe el flujo de paquetes, el nodo 102 de origen encapsula el primer factor de hash en el flujo de paquetes, y luego reenvía el flujo de paquetes encapsulado con el primer factor de hash a un nodo 103 de destino.
En el escenario de aplicación mostrado en la FIG. 1, si el dispositivo 101 de red es el nodo 102 de origen, que el dispositivo 101 de red guarde el primer factor de hash en el nodo 102 de origen es equivalente a que el nodo 102 de origen guarde el primer factor de hash en el nodo 102 de origen. Si el dispositivo 101 de red es otro dispositivo de red distinto del nodo 102 de origen, que el dispositivo 101 de red guarde el primer factor de hash en el nodo 102 de origen es equivalente a que el dispositivo 101 de red envíe el primer factor de hash al nodo 102 de origen y que el nodo 102 de origen guarde el primer factor de hash. El dispositivo 101 de red puede ser un controlador en una red, tal como un controlador SDN (red definida por software, en inglés, Software Defined Network).
Cabe señalar que el escenario de aplicación anterior solo se muestra para comprender los principios de la presente invención, pero no pretende limitar las soluciones técnicas proporcionadas en las realizaciones de la presente invención.
Las implementaciones de un método y un aparato para implementar el reparto de carga en la presente invención se describen en detalle a continuación con referencia a los dibujos adjuntos y mediante las realizaciones.
La FIG. 2A y la FIG. 2B son un diagrama de flujo esquemático de un método para implementar el reparto de carga según una realización de la presente invención. En esta realización, por ejemplo, el método puede incluir el siguiente contenido.
S201. Un dispositivo de red selecciona un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío.
En una implementación específica, el dispositivo de red puede obtener los estados de carga de los enlaces en una red, y puede determinar si los enlaces están en un estado congestionado basado en los estados de carga de los enlaces. Si el dispositivo de red determina que el primer enlace está en un estado congestionado, el dispositivo de red determina que la carga del primer enlace debe repartirse a otro enlace. En este caso, el dispositivo de red puede seleccionar el flujo de paquetes reenviado mediante el primer enlace. El flujo de paquetes es un flujo de paquetes candidato que debe ajustarse desde el primer enlace a otro enlace. Para el flujo de paquetes candidato, el dispositivo de red determina primero que, después de ajustar el flujo de paquetes candidato, el flujo de paquetes candidato puede ser reenviado mediante un enlace en un estado no congestionado; y luego ajusta una ruta de reenvío del flujo de paquetes candidatos, para que el flujo de paquetes candidatos se ajuste desde el primer enlace a otro enlace para su reenvío. Después de ajustar la ruta de reenvío del flujo de paquetes candidato, se reduce el tráfico de carga reenviado en el primer enlace, se revive un estado congestionado del primer enlace, y el ajuste del enlace de reenvío del flujo de paquetes candidato no causa la generación de un nuevo enlace congestionado en la red.
En esta realización, el flujo de paquetes representa un grupo de paquetes, y el grupo de paquetes tiene una misma ruta de reenvío en la red. El grupo de paquetes pasa a través de un mismo nodo de reenvío durante el reenvío en la red. Por ejemplo, el flujo de paquetes puede ser un grupo de paquetes cuyas direcciones de destino tienen un mismo prefijo.
En esta realización, el dispositivo de red puede usar múltiples implementaciones para determinar si el primer enlace está en un estado congestionado. Por ejemplo, el dispositivo de red puede determinar, mediante el ancho de banda disponible del primer enlace, si el primer enlace está en un estado congestionado. Específicamente, el dispositivo de red obtiene el ancho de banda disponible del primer enlace. Si el dispositivo de red determina que el ancho de banda disponible del primer enlace es menor que un umbral de ancho de banda disponible preestablecido, el dispositivo de red determina que el primer enlace está en un estado congestionado. Para otro ejemplo, el dispositivo de red puede determinar, mediante el ancho de banda ocupado del primer enlace, si el primer enlace está en un estado congestionado. Específicamente, el dispositivo de red obtiene el ancho de banda ocupado del primer enlace. Si el dispositivo de red determina que el ancho de banda ocupado del primer enlace es mayor que un umbral de ancho de banda ocupado preestablecido, el dispositivo de red determina que el primer enlace está en un estado congestionado. Para otro ejemplo más, el dispositivo de red puede determinar, mediante una ratio de uso del ancho de banda del primer enlace, si el primer enlace está en un estado congestionado. La ratio de uso del ancho de banda del primer enlace representa una ratio entre el ancho de banda ocupado del primer enlace y el ancho de banda total del primer enlace. Específicamente, el dispositivo de red obtiene el ancho de banda total y el ancho de banda ocupado del primer enlace, y calcula la ratio de uso del ancho de banda del primer enlace según el ancho de banda total del primer enlace y el ancho de banda ocupado del primer enlace. Si el dispositivo de red determina que la ratio de uso del ancho de banda del primer enlace es mayor que un umbral de ratio de uso del ancho de banda preestablecido, el dispositivo de red determina que el primer enlace está en un estado congestionado.
En esta realización, el flujo de paquetes puede ser cualquier flujo de paquetes reenviado mediante el primer enlace. Por ejemplo, el dispositivo de red puede seleccionar aleatoriamente el flujo de paquetes de todos los flujos de paquetes reenviados mediante el primer enlace. Para otro ejemplo, el dispositivo de red puede seleccionar el flujo de paquetes según el uso del ancho de banda del primer enlace y los estados del ancho de banda ocupado de los flujos de paquetes, para que el primer enlace pueda estar en un estado no congestionado cuando el flujo de paquetes no ocupe el ancho de banda del primer enlace. Específicamente, el dispositivo de red calcula el ancho de banda excedido por el cual el ancho de banda ocupado del primer enlace excede un umbral de ancho de banda correspondiente al estado congestionado, compara por separado el ancho de banda ocupado de cada flujo de paquetes reenviado mediante el primer enlace con el ancho de banda excedido, y selecciona el flujo de paquetes cuyo ancho de banda ocupado excede el ancho de banda excedido.
S202. El dispositivo de red selecciona un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío.
En una implementación específica, para el flujo de paquetes seleccionado, el dispositivo de red puede determinar otro enlace que está en el primer nodo de reenvío que no sea el primer enlace y que puede usarse para reenviar el flujo de paquetes, y seleccionar, como segundo enlace del otro enlace, un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes.
El segundo enlace es un enlace candidato usado para reenviar el flujo de paquetes después de ajustar una ruta de reenvío del flujo de paquetes. Para el enlace candidato, el dispositivo de red determina primero que, después de ajustar el flujo de paquetes al enlace candidato, otro enlace usado para reenviar el flujo de paquetes también está en un estado no congestionado; y luego ajusta la ruta de reenvío del flujo de paquetes, para que el flujo de paquetes se ajuste desde el primer enlace a otro enlace candidato para el reenvío.
El segundo enlace debe cumplir la siguiente condición: El segundo enlace no está en un estado congestionado después de que el ancho de banda disponible del segundo enlace esté ocupado por el flujo de paquetes. En esta realización, el dispositivo de red puede usar múltiples implementaciones para determinar si el segundo enlace está en un estado congestionado después de que el segundo enlace esté ocupado por el flujo de paquetes. Por ejemplo, el dispositivo de red puede determinar, según el ancho de banda disponible que queda después de que el segundo enlace esté ocupado por el flujo de paquetes, si el segundo enlace está en un estado congestionado después de que el segundo enlace esté ocupado por el flujo de paquetes. Específicamente, el dispositivo de red obtiene el ancho de banda disponible del segundo enlace y el ancho de banda ocupado por el flujo de paquetes, y calcula una diferencia entre el ancho de banda disponible del segundo enlace y el ancho de banda ocupado por el flujo de paquetes. Si el dispositivo de red determina que la diferencia entre el ancho de banda disponible del segundo enlace y el ancho de banda ocupado por el flujo de paquetes es mayor que un umbral de ancho de banda disponible preestablecido, el dispositivo de red determina que el segundo enlace no está en un estado congestionado después de que el ancho de banda disponible del segundo enlace esté ocupado por el flujo de paquetes. Para otro ejemplo, el dispositivo de red puede determinar, según una ratio de uso del ancho de banda obtenida después de que el segundo enlace esté ocupado por el flujo de paquetes, si el segundo enlace está en un estado congestionado después de que el segundo enlace esté ocupado por el flujo de paquetes. Específicamente, el dispositivo de red obtiene el ancho de banda ocupado y el ancho de banda total del segundo enlace y el ancho de banda ocupado por el flujo de paquetes, calcula una suma del ancho de banda ocupado del segundo enlace y el ancho de banda ocupado por el flujo de paquetes, y calcula, mediante la suma y el ancho de banda total del segundo enlace, la ratio de uso del ancho de banda obtenida después de que el segundo enlace esté ocupado por el flujo de paquetes. Si el dispositivo de red determina que la ratio de uso del ancho de banda obtenida después de que el segundo enlace esté ocupado por el flujo de paquetes es menor que un umbral de ratio de uso del ancho de banda preestablecido, el dispositivo de red determina que el segundo enlace no está en un estado congestionado después de que el ancho de banda disponible del segundo enlace esté ocupado por el flujo de paquetes.
Además del primer enlace, puede haber otros múltiples enlaces que se conecten en el primer nodo de reenvío y que puedan usarse para reenviar el flujo de paquetes. Los otros enlaces no están en un estado congestionado después de que el ancho de banda disponible de los otros enlaces esté ocupado por el flujo de paquetes. El flujo de paquetes puede ser reenviado finalmente a un nodo de destino del flujo de paquetes después de ser reenviado mediante cualquier enlace en los otros enlaces. Por ejemplo, el dispositivo de red puede seleccionar el segundo enlace de los otros múltiples enlaces que pueden usarse para reenviar el flujo de paquetes. Por ejemplo, el dispositivo de red puede seleccionar aleatoriamente el segundo enlace de los otros múltiples enlaces que pueden usarse para reenviar el flujo de paquetes. Para otro ejemplo, el dispositivo de red puede seleccionar un enlace que tenga el ancho de banda más alto disponible o un enlace que tenga una menor ratio de uso del ancho de banda de los otros múltiples enlaces que pueden usarse para reenviar el flujo de paquetes, y usar el enlace seleccionado como segundo enlace.
5203. El dispositivo de red selecciona un primer factor de hash correspondiente al segundo enlace.
El primer factor de hash es un factor de hash que está en el primer nodo de reenvío y que corresponde al segundo enlace, es decir, un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash usado por el primer nodo de reenvío que corresponde al segundo enlace. Si se encapsula el primer factor de hash en el flujo de paquetes, el primer nodo de reenvío recibe el flujo de paquetes encapsulado con el primer factor de hash, realiza el cálculo de hash en el primer factor de hash mediante el algoritmo de hash usado por el primer nodo de reenvío, para obtener un primer resultado del cálculo, determina el segundo enlace según el primer resultado de cálculo, y reenvía, mediante el segundo enlace, el flujo de paquetes encapsulado con el primer factor de hash. De esta manera, el flujo de paquetes encapsulado con el primer factor de hash puede ser reenviado sin usar más el primer enlace.
El primer factor de hash es un factor de hash candidato usado para ajustar el flujo de paquetes desde el primer enlace al segundo enlace para el reenvío. Para el factor de hash candidato, si el dispositivo de red determina que el factor de hash candidato está encapsulado en el flujo de paquetes, los múltiples enlaces usados para reenviar el flujo de paquetes están en un estado no congestionado, y el dispositivo de red ajusta la ruta de reenvío del flujo de paquetes mediante el factor de hash candidato, para que el flujo de paquetes se ajuste desde el primer enlace a un enlace correspondiente al factor de hash candidato para el reenvío.
Por ejemplo, en una implementación específica en la que el dispositivo de red selecciona el primer factor de hash, el dispositivo de red obtiene un conjunto de factores de hash que está en el primer nodo de reenvío y que corresponde al segundo enlace, y selecciona el primer factor de hash del conjunto de factores de hash correspondiente al segundo enlace.
5204. El dispositivo de red determina que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío.
En una implementación específica, el dispositivo de red determina, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace. El tercer enlace es específicamente un enlace que corresponde a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash usado por el segundo nodo de reenvío. El dispositivo de red determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del tercer enlace, y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
En esta realización, el dispositivo de red puede usar múltiples implementaciones para determinar que el flujo de paquetes se reenvíe mediante el tercer enlace. Por ejemplo, el dispositivo de red realiza un cálculo de hash sobre el primer factor de hash mediante el algoritmo de hash usado por el segundo nodo de reenvío, para obtener un segundo resultado de cálculo, y determina el tercer enlace según el segundo resultado de cálculo. Específicamente, el dispositivo de red determina, según una estructura de topología de red, que el flujo de paquetes encapsulado con el primer factor de hash llega al segundo nodo de reenvío después de ser reenviado mediante el segundo enlace. El dispositivo de red obtiene el algoritmo de hash usado por el segundo nodo de reenvío, y realiza el cálculo de hash sobre el primer factor de hash mediante el algoritmo de hash usado por el segundo nodo de reenvío, para obtener el segundo resultado del cálculo. El dispositivo de red determina, según el segundo resultado del cálculo, que el flujo de paquetes se reenvíe mediante el tercer enlace correspondiente al segundo resultado del cálculo. Para otro ejemplo, el dispositivo de red encuentra el tercer enlace según el primer factor de hash y una tabla de mapeo. La tabla de mapeo incluye el primer factor de hash y un enlace que está en correspondencia con el primer factor de hash. Específicamente, el dispositivo de red determina, según una estructura de topología de red, que el flujo de paquetes encapsulado con el primer factor de hash llega al segundo nodo de reenvío después de ser reenviado mediante el segundo enlace. El dispositivo de red obtiene una tabla de mapeo del segundo nodo de reenvío, y la tabla de mapeo del segundo nodo de reenvío registra una correspondencia entre un enlace y un factor de hash que están en el segundo nodo de reenvío. El dispositivo de red encuentra, en la tabla de mapeo, el tercer enlace correspondiente al primer factor de hash.
En esta realización, el dispositivo de red puede usar múltiples implementaciones para determinar si el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Para un método de determinación específico, consulte el método para determinar si el segundo enlace está en un estado congestionado después de que el ancho de banda disponible del segundo enlace esté ocupado por el flujo de paquetes. Los detalles no se describen en esta memoria.
5205. El dispositivo de red guarda el primer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de la S205, el nodo de origen encapsula el primer factor de hash en el flujo de paquetes, y reenvía el flujo de paquetes encapsulado con el primer factor de hash. Después de que el flujo de paquetes encapsulado con el primer factor de hash llega al primer nodo de reenvío, el primer nodo de reenvío determina múltiples enlaces que están en el primer nodo de reenvío y que pueden usarse para reenviar el flujo de paquetes encapsulado con el primer factor de hash. El primer nodo de reenvío realiza el cálculo de hash sobre el primer factor de hash mediante el algoritmo de hash usado por el primer nodo de reenvío, para obtener el primer resultado del cálculo. El primer nodo de reenvío determina el segundo enlace correspondiente al primer resultado de cálculo de los múltiples enlaces que están en el primer nodo de reenvío y que pueden usarse para reenviar el flujo de paquetes encapsulado con el primer factor de hash. El primer nodo de reenvío reenvía, mediante el segundo enlace, el flujo de paquetes encapsulado con el primer factor de hash. Después de que el flujo de paquetes encapsulado con el primer factor de hash llega al segundo nodo de reenvío, el segundo nodo de reenvío determina múltiples rutas que están en el segundo nodo de reenvío y que pueden usarse para reenviar el flujo de paquetes encapsulado con el primer factor de hash. El segundo nodo de reenvío realiza el cálculo de hash sobre el primer factor de hash mediante el algoritmo de hash usado por el segundo nodo de reenvío, para obtener el segundo resultado del cálculo. El segundo nodo de reenvío determina el tercer enlace correspondiente al segundo resultado del cálculo de las múltiples rutas que están en el segundo nodo de reenvío y que pueden usarse para reenviar el flujo de paquetes encapsulado con el primer factor de hash. El segundo nodo de reenvío reenvía, mediante del tercer enlace, el flujo de paquetes encapsulado con el primer factor de hash. Por lo tanto, el flujo de paquetes encapsulado con el primer factor de hash puede ser reenviado mediante el segundo enlace y el tercer enlace que no están en un estado congestionado, y ya no se reenvía mediante el primer enlace en un estado congestionado.
El primer nodo de reenvío puede ser cualquier nodo distinto del nodo de destino en la ruta de reenvío del flujo de paquetes. Por ejemplo, el primer nodo de reenvío puede ser el nodo de origen del flujo de paquetes.
Si el dispositivo de red es un controlador, el controlador puede entregar el primer factor de hash al nodo de origen mientras entrega información de enrutamiento correspondiente al flujo de paquetes al nodo de origen. Por ejemplo, el controlador puede agregar, mediante un protocolo de puerta de enlace de frontera extendido (en inglés, Border Gateway Protocol, BGP para abreviar), el primer factor de hash y la información de enrutamiento correspondiente al flujo de paquetes a la información de accesibilidad de la capa de red (en inglés, Network Layer Reachability, NLRI para abreviar) del BGP, y envía la información de accesibilidad de la capa de red al nodo de origen.
Si el tercer enlace está en un estado congestionado después de que el enlace disponible del tercer enlace esté ocupado por el flujo de paquetes, el dispositivo de red puede determinar que el flujo de paquetes encapsulado con el primer factor de hash pase a través de un enlace congestionado. El dispositivo de red puede determinar que el primer factor de hash no es aplicable al ajuste de la ruta de reenvío del flujo de paquetes.
Por ejemplo, si el dispositivo de red determina que el primer factor de hash no es aplicable, el dispositivo de red puede seleccionar otro factor de hash como un factor de hash candidato usado para ajustar la ruta de reenvío del flujo de paquetes. Después de la S203, el método proporcionado en esta realización puede incluir además la S206, la S207 y la S208.
5206. El dispositivo de red determina que un tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y selecciona un segundo factor de hash correspondiente al segundo enlace.
Por ejemplo, el segundo factor de hash y el primer factor de hash son dos factores de hash diferentes en el primer nodo de reenvío que corresponden al segundo enlace. Un resultado obtenido mediante el cálculo del segundo factor de hash mediante el algoritmo de hash usado por el primer nodo de reenvío corresponde al segundo enlace. El segundo factor de hash puede usarse para ajustar el flujo de paquetes desde el primer enlace al segundo enlace.
5207. El dispositivo de red determina que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío.
En una implementación específica, el dispositivo de red determina, según el segundo factor de hash, que el flujo de paquetes se reenvíe mediante el cuarto enlace. El cuarto enlace es específicamente un enlace que corresponde a un resultado obtenido mediante el cálculo del segundo factor de hash mediante un algoritmo de hash usado por el segundo nodo de reenvío. El dispositivo de red determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del cuarto enlace, y el ancho de banda usado del cuarto enlace, que el cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes.
Para una implementación específica en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el cuarto enlace, consulte la implementación específica anterior en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el tercer enlace. Los detalles no se describen en esta realización. Además, para una implementación específica en la que el dispositivo de red determina si el cuarto enlace está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, consulte la implementación específica anterior en la que el dispositivo de red determina si el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Los detalles tampoco se describen en esta realización.
5208. El dispositivo de red guarda el segundo factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de la S208, el nodo de origen encapsula el segundo factor de hash en el flujo de paquetes, y reenvía el flujo de paquetes encapsulado con el segundo factor de hash.
Para una forma de procesamiento en la que un nodo de reenvío en una red reenvía el flujo de paquetes encapsulado con el segundo factor de hash, consulte la forma de procesamiento anterior en la que el primer nodo de reenvío reenvía el flujo de paquetes encapsulado con el primer factor de hash. Los detalles no se describen en esta realización. Además, si se usa un controlador como dispositivo de red, para una implementación específica en la que el controlador entrega el segundo factor de hash al nodo de origen, consulte la implementación específica anterior en la que el controlador entrega el primer factor de hash al nodo de origen. Los detalles tampoco se describen en esta realización.
Para otro ejemplo, si el dispositivo de red determina que el primer factor de hash no es aplicable, el dispositivo de red puede seleccionar, además del primer enlace y del segundo enlace, otro enlace que esté en el primer nodo de reenvío y que puede usarse para reenviar el flujo de paquetes y, a continuación, seleccionar, como factor de hash candidato, un factor de hash correspondiente al otro enlace que está en el primer nodo de reenvío y que puede usarse para reenviar el flujo de paquetes. Opcionalmente, después de la S203, el método proporcionado en esta realización puede incluir además de la S209 a la S212.
5209. El dispositivo de red determina que un tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y selecciona un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío.
El octavo enlace debe cumplir la siguiente condición de selección: El octavo enlace es un enlace que está en el primer nodo de reenvío que no sea el primer enlace y el segundo enlace y que puede usarse para reenviar el flujo de paquetes. El flujo de paquetes puede ser reenviado finalmente al nodo de destino del flujo de paquetes después de ser reenviado mediante el octavo enlace, y el octavo enlace no está en un estado congestionado después de que el ancho de banda disponible del octavo enlace esté ocupado por el flujo de paquetes. Para conocer un método para seleccionar el octavo enlace mediante el dispositivo de red, consulte el método para seleccionar el segundo enlace por el dispositivo de red. Los detalles no se describen en esta memoria. Para conocer un método para determinar si el octavo enlace está en un estado congestionado después de que el octavo enlace esté ocupado por el flujo de paquetes, consulte el método anterior para determinar si el segundo enlace está en un estado congestionado después de que el segundo enlace esté ocupado por el flujo de paquetes. Los detalles no se describen en esta memoria.
5210. El dispositivo de red selecciona un cuarto factor de hash correspondiente al octavo enlace.
El cuarto factor de hash es un factor de hash que está en el primer nodo de reenvío y que corresponde al octavo enlace, y el primer factor de hash es un factor de hash que está en el primer nodo de reenvío y que corresponde al segundo enlace. Es decir, el primer factor de hash y el cuarto factor de hash son dos factores de hash diferentes. Un resultado obtenido mediante el cálculo del cuarto factor de hash mediante el algoritmo de hash usado por el primer nodo de reenvío corresponde al octavo enlace. El cuarto factor de hash puede usarse para ajustar el flujo de paquetes desde el primer enlace al octavo enlace.
5211. El dispositivo de red determina que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío.
En una implementación específica, el dispositivo de red determina, según el cuarto factor de hash, que el flujo de paquetes se reenvíe mediante el noveno enlace. El noveno enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del cuarto factor de hash mediante un algoritmo de hash usado por el cuarto nodo de reenvío. El dispositivo de red determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del noveno enlace y el ancho de banda usado del noveno enlace, que el noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes.
Para una implementación específica en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el noveno enlace, consulte la implementación específica anterior en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el tercer enlace. Los detalles no se describen en esta memoria. Además, para una implementación específica en la que el dispositivo de red determina si el noveno enlace está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, consulte la implementación específica anterior en la que el dispositivo de red determina si el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Los detalles tampoco se describen en esta memoria.
5212. El dispositivo de red guarda el cuarto factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de la S212, el nodo de origen encapsula el cuarto factor de hash en el flujo de paquetes, y reenvía el flujo de paquetes encapsulado con el cuarto factor de hash. Para una forma de procesamiento en la que un nodo de reenvío en una red reenvía el flujo de paquetes encapsulado con el cuarto factor de hash, consulte la forma de procesamiento anterior en la que el primer nodo de reenvío reenvía el flujo de paquetes encapsulado con el primer factor de hash. Los detalles no se describen en esta memoria. Además, si se usa un controlador como dispositivo de red, para una implementación específica en la que el controlador entrega el cuarto factor de hash al nodo de origen, consulte la implementación específica anterior en la que el controlador entrega el primer factor de hash al nodo de origen. Los detalles tampoco se describen en esta memoria.
Para otro ejemplo, si el dispositivo de red determina que el primer factor de hash no es aplicable, el dispositivo de red puede volver a seleccionar otro flujo de paquetes, que no sea el flujo de paquetes seleccionado en la S201, que se reenvía mediante el primer enlace, luego seleccionar otro enlace que esté en el primer nodo de reenvío que no sea el primer enlace y que puede usarse para reenviar el otro flujo de paquetes, y seleccionar un factor de hash correspondiente al otro enlace como factor de hash candidato. Para una forma de procesamiento de volver a seleccionar un flujo de paquetes cuya ruta de reenvío debe ajustarse, consulte de la S201 a la S205. Los detalles no se describen en esta realización.
Después de la S204, el dispositivo de red determina que una ruta de reenvío del flujo de paquetes encapsulado con el primer factor de hash incluya al menos dos enlaces no congestionados, es decir, el segundo enlace y el tercer enlace. Para garantizar tantos enlaces no congestionados como sea posible en la ruta de reenvío del flujo de paquetes encapsulado con el primer factor de hash, el dispositivo de red puede continuar verificando si un enlace de reenvío que es del flujo de paquetes encapsulado con el primer factor de hash y que está después de que el tercer enlace está en estado congestionado. Después de determinar que el enlace de reenvío después del tercer enlace no esté en un estado congestionado, el dispositivo de red guarda el primer factor de hash en el nodo de origen del flujo de paquetes. Opcionalmente, entre la S204 y la S205, el método proporcionado en esta realización puede incluir además la S213.
5213. El dispositivo de red determina que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, donde el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío.
En una implementación específica, el dispositivo de red determina, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el quinto enlace. El quinto enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash usado por el tercer nodo de reenvío. El dispositivo de red determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del quinto enlace, y el ancho de banda usado del quinto enlace, que el quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes.
Para una implementación específica en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el quinto enlace, consulte la implementación específica anterior en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el tercer enlace. Los detalles no se describen en esta realización. Además, para una implementación específica en la que el dispositivo de red determina si el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, consulte la implementación específica anterior en la que el dispositivo de red determina si el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Los detalles tampoco se describen en esta realización.
Opcionalmente, después de la S213, el dispositivo de red puede continuar verificando secuencialmente, en una forma para verificar el tercer enlace en la S204 y en una forma para verificar el quinto enlace en la S213, si los enlaces de reenvío que son del flujo de paquetes encapsulado con el primer factor de hash y que están después del quinto enlace están en un estado congestionado. La S205 no se realiza hasta que el dispositivo de red determine que todos los enlaces a través de los cuales pasa el flujo de paquetes encapsulado con el primer factor de hash desde el primer nodo de reenvío a un nodo de destino no están en un estado congestionado, para que el primer factor de hash se guarde en el nodo de origen del flujo de paquetes. De esta forma, el dispositivo de red ajusta la ruta de reenvío del flujo de paquetes, para que se reduzca el grado de congestión del primer enlace, y la ocupación del flujo de paquetes no cause congestión de toda la ruta de reenvío ajustada del flujo de paquetes. Por tanto, una función de carga de red esté más equilibrada. Si el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, el dispositivo de red puede determinar que el flujo de paquetes encapsulado con el primer factor de hash pase ciertamente a través de un enlace congestionado. El dispositivo de red puede determinar que el primer factor de hash no es aplicable para el ajuste de la ruta de reenvío del flujo de paquetes. Por ejemplo, si el dispositivo de red determina, durante la verificación del quinto enlace, que el primer factor de hash no es aplicable, el dispositivo de red puede seleccionar otro factor de hash, que no sea el primer factor de hash, que corresponda al segundo enlace como un factor de hash candidato. Específicamente, después de la S204, esta realización puede incluir además de la S214 a la S217.
5214. El dispositivo de red determina que un quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y selecciona un tercer factor de hash correspondiente al segundo enlace.
El tercer factor de hash y el primer factor de hash son dos factores de hash diferentes en el primer nodo de reenvío correspondientes al segundo enlace. Un resultado obtenido mediante el cálculo del tercer factor de hash mediante el algoritmo de hash usado por el primer nodo de reenvío que corresponde al segundo enlace. El tercer factor de hash puede usarse para ajustar el flujo de paquetes desde el primer enlace al segundo enlace.
5215. El dispositivo de red determina que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no esté en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío.
En una implementación específica, el dispositivo de red determina, según el tercer factor de hash, que el flujo de paquetes encapsulado con el tercer factor de hash se reenvíe mediante el sexto enlace y se reenvíe mediante el séptimo enlace. El sexto enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del tercer factor de hash mediante el algoritmo de hash usado por el segundo nodo de reenvío, y el séptimo enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del tercer factor de hash mediante un algoritmo de hash usado por el sexto nodo de reenvío. El dispositivo de red determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del sexto enlace y el ancho de banda usado del sexto enlace, que el sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes; y determina, según el ancho de banda ocupado por el flujo de paquetes, el ancho de banda total del séptimo enlace, y el ancho de banda usado del séptimo enlace, que el séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes.
Para una implementación específica en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el sexto enlace y el séptimo enlace, consulte la implementación específica anterior en la que el dispositivo de red determina que el flujo de paquetes se reenvíe mediante el tercer enlace. Los detalles no se describen en esta realización. Además, para una implementación específica en la que el dispositivo de red determina por separado si el sexto enlace y el séptimo enlace están en un estado congestionado después de que el ancho de banda disponible del sexto enlace y el ancho de banda disponible del séptimo enlace estén ocupados por el flujo de paquetes, consulte la implementación específica anterior en la que el dispositivo de red determina si el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes. Los detalles tampoco se describen en esta realización.
5216. El dispositivo de red guarda el tercer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de la S216, el nodo de origen encapsula el tercer factor de hash en el flujo de paquetes, y luego reenvía el flujo de paquetes encapsulado con el tercer factor de hash.
Para una forma de procesamiento en la que un nodo de reenvío en una red reenvía el flujo de paquetes encapsulado con el tercer factor de hash, consulte la forma de procesamiento anterior en la que el primer nodo de reenvío reenvía el flujo de paquetes encapsulado con el primer factor de hash. Los detalles no se describen en esta realización. Además, si se usa un controlador como dispositivo de red, para una implementación específica en la que el controlador entrega el tercer factor de hash al nodo de origen, consulte la implementación específica anterior en la que el controlador entrega el primer factor de hash al nodo de origen. Los detalles tampoco se describen en esta realización.
Además de los ejemplos anteriores que incluyen de la S214 a la S216, si el dispositivo de red determina, durante la verificación del quinto enlace, que el primer factor de hash no es aplicable, el dispositivo de red puede seleccionar otro enlace que esté en el primer nodo de reenvío que no sea el primer enlace y el segundo enlace y que puede usarse para reenviar el flujo de paquetes, y luego seleccionar, como un factor de hash candidato, un factor de hash correspondiente al otro enlace que puede usarse para reenviar el flujo de paquetes. Alternativamente, el dispositivo de red puede volver a seleccionar otro flujo de paquetes, que no sea el flujo de paquetes seleccionado en la S201, que se reenvíe mediante el primer enlace, luego seleccionar otro enlace que esté en el primer nodo de reenvío que no sea el primer enlace y que puede usarse para reenviar el otro flujo de paquetes, y seleccionar, como factor de hash candidato, un factor de hash correspondiente al otro enlace que puede usarse para reenviar el otro flujo de paquetes. Para una forma de procesamiento de volver a seleccionar un enlace que está en el primer nodo de reenvío y que se obtiene después de que se ajusta el flujo de paquetes y una forma de procesamiento de volver a seleccionar un flujo de paquetes cuya ruta de reenvío debe ajustarse, consulte de la S201 a la S205. Los detalles no se describen en esta realización.
Como se muestra en la FIG. 3, el tercer enlace y el cuarto enlace son enlaces en el segundo nodo de reenvío que corresponden a diferentes factores de hash. Puede aprenderse que el tercer enlace y el cuarto enlace pueden ser un mismo enlace, o pueden ser enlaces diferentes, es decir, el tercer nodo de reenvío y el cuarto nodo de reenvío pueden ser un mismo nodo o pueden ser nodos diferentes. Ciertamente, en la S207 y la S208, el dispositivo de red determina que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes y el cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes. En este caso, el tercer enlace y el cuarto enlace son ciertamente enlaces diferentes, y el tercer nodo de reenvío y el cuarto nodo de reenvío son ciertamente nodos diferentes.
Como se muestra en la FIG. 3, el tercer enlace y el sexto enlace son enlaces en el segundo nodo de reenvío que corresponden a diferentes factores de hash. Puede aprenderse que el tercer enlace y el sexto enlace pueden ser un mismo enlace, o pueden ser enlaces diferentes, es decir, el tercer nodo de reenvío y el sexto nodo de reenvío pueden ser un mismo nodo, o pueden ser nodos diferentes. Cuando el tercer enlace y el sexto enlace son un mismo enlace, el sexto nodo de reenvío es el tercer nodo de reenvío, y el quinto enlace y el séptimo enlace son enlaces en el tercer nodo de reenvío que corresponden a diferentes factores de hash. En este caso, el quinto enlace y el séptimo enlace pueden ser un mismo enlace, o pueden ser enlaces diferentes, es decir, el quinto nodo de reenvío y el séptimo nodo de reenvío pueden ser un mismo nodo, o pueden ser nodos diferentes. Ciertamente, en la S215 y la S216, el dispositivo de red determina que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes y el séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes. En este caso, el quinto enlace y el séptimo enlace son ciertamente enlaces diferentes, y el quinto nodo de reenvío y el séptimo nodo de reenvío son ciertamente nodos diferentes.
Además, el segundo factor de hash y el tercer factor de hash son factores de hash en el primer nodo de reenvío que corresponden al segundo enlace. El segundo factor de hash y el tercer factor de hash pueden ser un mismo factor de hash, o pueden ser factores de hash diferentes. Cuando el segundo factor de hash y el tercer factor de hash son un mismo factor de hash, el cuarto enlace y el sexto enlace son un mismo enlace. Cuando el segundo factor de hash y el tercer factor de hash son factores de hash diferentes, el cuarto enlace y el sexto enlace pueden ser un mismo enlace, o pueden ser enlaces diferentes.
Esta realización puede aplicarse a múltiples entornos de red diferentes. En diferentes entornos de red, los factores de hash pueden ser información diferente en un flujo de paquetes. Por ejemplo, esta realización puede aplicarse a un entorno de red en el que se usa una tecnología de conmutación de etiquetas multiprotocolo (en inglés, Multiple Protocol Label Switch, MPLS para abreviar). Si se usa la tecnología MPLS para reenviar un paquete en el entorno de red, un factor de hash es una etiqueta MPLS. Para otro ejemplo, esta realización puede aplicarse a un entorno de red en el que se usa una tecnología LAN virtual extensible (en inglés, Virtual eXtensible Local Area Network, VXLAN para abreviar). Si se usa la tecnología VXLAN para reenviar un paquete en el entorno de red, un factor de hash es un número de puerto de un protocolo de datagrama de usuario de origen (en inglés, User Datagram Protocol, UDP para abreviar). Para otro ejemplo más, esta realización puede aplicarse a un entorno de red en el que se usa una tecnología de virtualización de red que usa encapsulación de enrutamiento genérico (en inglés, Network Virtualization Generic Routing Encapsulation, NVGRE para abreviar). Si se usa la tecnología NVGRE para reenviar un paquete en el entorno de red, un factor de hash es un identificador de flujo, ID de flujo.
Según la solución técnica de esta realización, para el primer enlace en un estado congestionado, el dispositivo de red primero selecciona el flujo de paquetes reenviado mediante el primer enlace y un factor de hash que se usa para ajustar el flujo de paquetes desde el primer enlace a otro enlace, determina que la ruta de reenvío del flujo de paquetes incluya al menos dos enlaces no congestionados cuando el factor de hash esté encapsulado en el flujo de paquetes, y luego guarda el factor de hash en el nodo de origen del flujo de paquetes. Por lo tanto, después de que el nodo de origen encapsula el factor de hash en el flujo de paquetes, en la técnica anterior, solo puede garantizarse que una ruta de reenvío del flujo de paquetes tenga un enlace no congestionado en el nodo de origen y, por el contrario, en esta realización, puede garantizarse que la ruta de reenvío del flujo de paquetes tenga al menos dos enlaces no congestionados, para que la carga de la red esté más equilibrada.
Para permitir que los expertos en la técnica comprendan más claramente una forma de aplicación específica de esta realización de la presente invención, se usa a continuación un ejemplo de un escenario de aplicación para describir esta realización de la presente invención. La FIG. 4 es un diagrama esquemático de una arquitectura de red parcial relacionada con este escenario de aplicación. Un controlador es el dispositivo de red en la realización anterior de la FIG. 2A y la FIG. 2B, y se configura para controlar el reparto de carga de una red completa. La "N" representa un nodo de reenvío y la "L" representa un enlace entre los nodos de reenvío.
Específicamente, la FIG. 5A y la FIG. 5B son un diagrama de flujo esquemático de un método para implementar el reparto de carga según una realización de la presente invención. Esta realización puede aplicarse al ejemplo del escenario de aplicación. Por ejemplo, el método puede incluir el siguiente contenido.
5501. Un controlador obtiene información de topología, información de tráfico de carga, e información de algoritmo de hash de una red completa.
El controlador puede usar la información de topología, la información del tráfico de carga, y la información del algoritmo de hash para seleccionar cualquier enlace congestionado en la red, seleccionar un flujo de paquetes que deba ajustarse, y seleccionar un factor de hash que sea aplicable para ajustar el flujo de paquetes desde el enlace congestionado a un enlace no congestionado. La información de topología representa una relación de conexión entre enlaces y nodos de reenvío en la red. La información del tráfico de carga incluye el ancho de banda total de cada enlace en la red, el ancho de banda ocupado de cada enlace en la red, y un flujo de paquetes reenviado en cada enlace en la red. La información del algoritmo de hash representa un algoritmo de hash de cada nodo de reenvío en la red, o una tabla de mapeo entre un factor de hash y un enlace en cada nodo de reenvío en la red.
5502. El controlador determina, según el ancho de banda total y el ancho de banda ocupado de un enlace L1, que el enlace L1 está en un estado congestionado.
Específicamente, el controlador puede calcular una ratio entre el ancho de banda ocupado del enlace L1 y el ancho de banda total del enlace L1, y usa la ratio como una ratio de uso del ancho de banda del enlace L1. El controlador determina si la ratio de uso del ancho de banda del enlace L1 excede un umbral de ratio de uso del ancho de banda preestablecido y, en caso afirmativo, el controlador determina que el enlace L1 está en un estado congestionado. El enlace L1 es equivalente al primer enlace en la realización de la FIG. 2A y la FIG. 2B.
5503. El controlador selecciona un flujo F1 de paquetes reenviado mediante enlace L1.
El flujo F1 de paquetes puede ser cualquier flujo de paquetes en el enlace L1. Por ejemplo, el flujo F1 de paquetes puede ser un flujo de paquetes que está en el enlace L1 y que ocupa el mayor ancho de banda. Para otro ejemplo, el flujo F1 de paquetes puede ser un flujo de paquetes que permite que el enlace L1 ya no se congestione si el flujo de paquetes ya no ocupa el enlace L1.
5504. El controlador determina que tanto un enlace L2 como un enlace L7 en un nodo N1 de reenvío pueden usarse para reenviar el flujo F1 de paquetes y que los enlaces no están en un estado congestionado después de que el ancho de banda disponible de los enlaces esté ocupado por el flujo F1 de paquetes, y selecciona el enlace L2 desde el enlace L2 y el enlace L7.
Por ejemplo, el ancho de banda disponible del enlace L2 puede ser mayor que el ancho de banda disponible del enlace L7, o una ratio de uso del ancho de banda del enlace L2 puede ser menor que la ratio de uso del ancho de banda del enlace L7. Es decir, el controlador puede seleccionar preferentemente un enlace que tenga el ancho de banda disponible más alto o un enlace que tenga una ratio de uso del ancho de banda más pequeña entre el enlace L2 y el enlace L7.
El nodo N1 de reenvío es equivalente al primer nodo de reenvío en la realización anterior de la FIG. 2A y la FIG. 2B. El enlace L2 es equivalente al segundo enlace en la realización anterior de la FIG. 2A y la FIG. 2B.
5505. El controlador determina que los factores de hash en el nodo N1 de reenvío que corresponden al enlace L2 incluyen un factor H1 de hash y un factor H2 de hash, y selecciona el factor H1 de hash del factor H1 de hash y del factor H2 de hash.
Por ejemplo, el controlador puede seleccionar aleatoriamente el factor H1 de hash de los dos factores de hash en el nodo N1 de reenvío que corresponden al enlace L2.
El factor H1 de hash seleccionado en la S505 es equivalente al primer factor de hash en la realización anterior de la FIG. 2A y la FIG. 2B.
5506. El controlador determina que el flujo F1 de paquetes llega a un nodo N2 de reenvío después de ser reenviado mediante el enlace L2, determina, según el factor H1 de hash, que el flujo F1 de paquetes encapsulado con el factor H1 de hash se reenvíe mediante un enlace L3, y determina si el enlace L3 está en un estado congestionado después de que el ancho de banda disponible del enlace L3 esté ocupado por el flujo F1 de paquetes. Si el enlace L3 no está en un estado congestionado, se realiza la S507; o si el enlace L3 está en un estado congestionado, se realiza la S509.
El controlador puede determinar, según la información de topología de la red, que el flujo F1 de paquetes llega al nodo N2 de reenvío después de ser reenviado mediante el enlace L2. El controlador puede determinar, según la información del algoritmo de hash usada por el nodo N2 de reenvío, que el enlace L3 en el nodo N2 de reenvío corresponde al factor H1 de hash, es decir, el flujo F1 de paquetes encapsulado con el factor H1 de hash debe ser reenviado mediante el enlace L3. El controlador puede determinar, según la información de tráfico de carga de la red, el ancho de banda total del enlace L3, el ancho de banda ocupado del enlace L3, y el ancho de banda ocupado por el flujo F1 de paquetes, calcula el ancho de banda disponible o una ratio de uso del ancho de banda del enlace L3 después de que el ancho de banda disponible del enlace L3 esté ocupado por el flujo F1 de paquetes, y luego determina, según el ancho de banda disponible calculado o la ratio de uso del ancho de banda, si el enlace L3 está en un estado congestionado después de que el ancho de banda disponible del enlace L3 esté ocupado por el flujo F1 de paquetes.
El nodo N2 de reenvío es equivalente a un nodo N2 de reenvío en la realización anterior de la FIG. 2A y la FIG. 2B. El enlace L3 es equivalente al tercer enlace en la realización anterior de la FIG. 2A y la FIG. 2B.
5507. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H1 de hash llega a un nodo N3 de reenvío después de ser reenviado mediante el enlace L3, determina, según el factor H1 de hash, que el flujo F1 de paquetes encapsulado con el factor H1 de hash debe ser reenviado mediante un enlace L4, y determina si el enlace L4 está en un estado congestionado después de que el ancho de banda disponible del enlace L4 esté ocupado por el flujo F1 de paquetes. Si el enlace L4 no está en un estado congestionado, se realiza la S508; o si el enlace L4 está en un estado congestionado, se realiza la S509.
Para un proceso en el que el controlador determina el nodo N3 de reenvío, determina el enlace L4, y determina si el enlace L4 está congestionado después de que el enlace L4 esté ocupado por el flujo F1 de paquetes, consulte las descripciones del nodo N2 de reenvío y el enlace L3 en la S506. Los detalles no se describen en esta memoria.
El nodo N3 de reenvío es equivalente al tercer nodo de reenvío en la realización de la FIG. 2A y la FIG. 2B. El enlace L4 es equivalente al quinto enlace en la realización de la FIG. 2A y la FIG. 2B.
5508. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H1 de hash llega a un nodo N4 de reenvío después de ser reenviado mediante el enlace L4, determina el nodo N4 de reenvío como un nodo de destino del flujo F1 de paquetes, y entrega el factor H1 de hash a un nodo de origen del flujo F1 de paquetes.
El nodo N4 de reenvío es equivalente al quinto nodo de reenvío en la realización anterior de la FIG. 2A y la FIG. 2B.
En la S508, cuando el nodo N4 de reenvío es el nodo de destino del flujo F1 de paquetes, el controlador determina que, si el factor H1 de hash está encapsulado en el flujo F1 de paquetes, todas las rutas de reenvío desde el nodo N1 de reenvío al nodo de destino no están congestionadas. Por lo tanto, el factor H1 de hash se usa para ajustar una ruta de reenvío del flujo F1 de paquetes, para que pueda reducirse el grado de congestión del enlace L1, y no aparezca ningún nuevo enlace congestionado en la red después de ajustar el flujo F1 de paquetes.
5509. El controlador selecciona el factor H2 de hash que está en el nodo N1 de reenvío y que corresponde al enlace L2.
5510. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H2 de hash llega al nodo N2 de reenvío después de ser reenviado mediante el enlace L2, determina, según el factor H2 de hash, que el flujo F1 de paquetes encapsulado con el factor H2 de hash debe ser reenviado mediante un enlace L5, y determina si el enlace L5 está en un estado congestionado después de que el ancho de banda disponible del enlace L5 esté ocupado por el flujo F1 de paquetes. Si el enlace L5 no está en un estado congestionado, se realiza la S511; o si el enlace L5 está en un estado congestionado, se realiza la S513.
Para un proceso en el que el controlador determina el nodo N2 de reenvío, determina el enlace L5, y determina si el enlace L5 está congestionado después de que el enlace L5 esté ocupado por el flujo F1 de paquetes, consulte las descripciones del nodo N2 de reenvío y el enlace L3 en la S506. Los detalles no se describen en esta realización.
5511. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H2 de hash llega a un nodo N5 de reenvío después de ser reenviado mediante el enlace L5, determina, según el factor H2 de hash, que el flujo F1 de paquetes encapsulado con el factor H2 de hash debe ser reenviado mediante un enlace L6, y determina si el enlace L6 está en un estado congestionado después de que el ancho de banda disponible del enlace L6 esté ocupado por el flujo F1 de paquetes. Si el enlace L6 no está en un estado congestionado, se realiza la S512; o si el enlace L6 está en un estado congestionado, se realiza la S513.
Para un proceso en el que el controlador determina el nodo N5 de reenvío, determina el enlace L6, y determina si el enlace L6 está congestionado después de que el enlace L6 esté ocupado por el flujo F1 de paquetes, consulte las descripciones del nodo N2 de reenvío y el enlace L3 en la S506. Los detalles no se describen en esta realización.
5512. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H2 de hash llega a un nodo N4 de reenvío después de ser reenviado mediante el enlace L6, determina el nodo N4 de reenvío como un nodo de destino del flujo F1 de paquetes, y entrega el factor H2 de hash a un nodo de origen del flujo F1 de paquetes.
En la S512, cuando el nodo N4 de reenvío es el nodo de destino del flujo F1 de paquetes, el controlador determina que, si el factor H2 de hash está encapsulado en el flujo F1 de paquetes, todas las rutas de reenvío desde el nodo N1 de reenvío al nodo de destino no están congestionadas. Por lo tanto, el factor H2 de hash se usa para ajustar una ruta de reenvío del flujo F1 de paquetes, para que pueda reducirse un grado de congestión del enlace L1, y no aparezca ningún nuevo enlace congestionado en la red después de ajustar el flujo F1 de paquetes.
Si la S509 se realiza después de la S506 en el que el controlador determina que el enlace L3 está en un estado congestionado después de que el ancho de banda disponible del enlace L3 esté ocupado por el flujo F1 de paquetes, el factor H2 de hash es equivalente al segundo factor de hash en la realización de la FIG. 2A y la FIG. 2B, y el enlace L5 es equivalente al cuarto enlace en la realización de la FIG. 2A y la FIG. 2B, y el nodo N5 de reenvío es equivalente al cuarto nodo de reenvío en la realización de la FIG. 2A y la FIG. 2B. Si la S509 se realiza después de la S507 en la que el controlador determina que el enlace L4 está en un estado congestionado después de que el ancho de banda disponible del enlace L4 esté ocupado por el flujo F1 de paquetes, el factor H2 de hash es equivalente al tercer factor de hash en la realización de la FIG. 2A y la FIG. 2B, el enlace L4 es equivalente al sexto enlace en la realización de la FIG. 2A y la FIG. 2B, el enlace L6 es equivalente al séptimo enlace en la realización de la FIG. 2A y la FIG. 2B, el nodo N5 de reenvío es equivalente al sexto nodo de reenvío en la realización de la FIG. 2A y la FIG. 2B, y el nodo N4 de reenvío es equivalente al quinto nodo de reenvío en la realización de la FIG. 2A y la FIG. 2B y también es equivalente al séptimo nodo de reenvío en la realización de la FIG. 2A y la FIG. 2B.
5513. El controlador selecciona un enlace L7 que puede usarse para reenviar el flujo F1 de paquetes.
El enlace L7 es equivalente al octavo enlace en la realización anterior de la FIG. 2A y la FIG. 2B.
5514. El controlador determina y selecciona un factor H3 de hash que está en el nodo N1 de reenvío y que corresponde al enlace L7.
En esta realización, el enlace L7 en el nodo N1 de reenvío puede corresponder a un solo factor de hash, es decir, el factor H3 de hash. El factor H3 de hash es equivalente al cuarto factor de hash en la realización anterior de la FIG. 2A y la FIG. 2B.
5515. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H3 de hash llega a un nodo N6 de reenvío después de ser reenviado mediante el enlace L7, determina, según el factor H3 de hash, que el flujo F1 de paquetes encapsulado con el factor H3 de hash debe ser reenviado mediante un enlace L8, y determina si el enlace L8 está en un estado congestionado después de que el ancho de banda disponible del enlace L8 esté ocupado por el flujo F1 de paquetes. Si el enlace L8 no está en un estado congestionado, se realiza la S516; o si el enlace L8 está en un estado congestionado, se realiza la S517.
Para un proceso en el que el controlador determina el nodo N6 de reenvío, determina el enlace L8, y determina si el enlace L8 está congestionado después de que el enlace L8 esté ocupado por el flujo F1 de paquetes, consulte las descripciones del nodo N2 de reenvío y el enlace L3 en la S506. Los detalles no se describen en esta realización.
5516. El controlador determina que el flujo F1 de paquetes encapsulado con el factor H3 de hash llega a un nodo N4 de reenvío después de ser reenviado mediante el enlace L8, determina el nodo N4 de reenvío como un nodo de destino del flujo F1 de paquetes y entrega el factor H3 de hash a un nodo de origen del flujo F1 de paquetes.
En la S516, cuando el nodo N4 de reenvío es el nodo de destino del flujo F1 de paquetes, el controlador determina que, si el factor H3 de hash está encapsulado en el flujo F1 de paquetes, todas las rutas de reenvío desde el nodo N1 de reenvío al nodo de destino no están congestionadas. Por lo tanto, el factor H3 de hash se usa para ajustar una ruta de reenvío del flujo F1 de paquetes, para que pueda reducirse un grado de congestión del enlace L1, y no aparezca ningún nuevo enlace congestionado en la red después de ajustar el flujo F1 de paquetes.
5517. El controlador selecciona un flujo F2 de paquetes reenviado mediante el enlace L1, y procesa el flujo F2 de paquetes en una forma de procesar el flujo F1 de paquetes en la S504 a la S517 hasta que algunos flujos de paquetes en el enlace L1 congestionado se ajustan a otro enlace.
La S517 es un proceso de selección repetida de un flujo de paquetes y un factor de hash, para finalmente seleccionar un factor de hash para un flujo de paquetes en el enlace L1. El controlador determina que, si el factor de hash está encapsulado en el flujo de paquetes, todas las rutas de reenvío desde el nodo N1 de reenvío al nodo de destino no están congestionadas, y entrega el factor de hash a un nodo de origen del flujo de paquetes. Después de ajustar una ruta de reenvío de un flujo de paquetes para el enlace L1, el controlador puede ajustar aún más una ruta de reenvío de un flujo de paquetes en otro enlace que está en un estado congestionado en la red hasta que no haya ningún enlace congestionado en la red. De esta forma, se equilibra la carga de la red.
El escenario de aplicación en esta realización es solo un ejemplo de las realizaciones de la presente invención, y las realizaciones de la presente invención no se limitan a este escenario de aplicación.
La FIG. 6 es un diagrama estructural esquemático de un aparato 600 para implementar el reparto de carga según una realización de la presente invención. El aparato 600 incluye específicamente:
una primera unidad 601 de selección, configurada para seleccionar un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
una segunda unidad 602 de selección, configurada para seleccionar un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
una tercera unidad 603 de selección, configurada para seleccionar un primer factor de hash correspondiente al segundo enlace;
una primera unidad 604 de determinación, configurada para determinar que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
una primera unidad 605 de guardado, configurada para guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
Por ejemplo, el aparato mostrado en la FIG. 6 para implementar el reparto de carga puede configurarse para realizar el método mostrado en la FIG. 2A y la FIG. 2B. Específicamente, la primera unidad 601 de selección puede configurarse para realizar la S201 en la FIG. 2A y la FIG. 2B. La segunda unidad 602 de selección puede configurarse para realizar la S202 en la FIG. 2A y la FIG. 2B. La tercera unidad 603 de selección puede configurarse para realizar la S203 en la FIG. 2A y la FIG. 2B. La primera unidad 604 de determinación puede configurarse para realizar la S204 en la FIG. 2A y la FIG. 2B. La primera unidad 605 de guardado puede configurarse para realizar la S205 en la FIG. 2A y la FIG. 2B.
Opcionalmente, la primera unidad 604 de determinación puede configurarse específicamente para: determinar, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío; y determinar, según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
Opcionalmente, el aparato 600 puede además incluir:
una segunda unidad de determinación, configurada para: después de que el tercer módulo de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una cuarta unidad de selección, configurada para seleccionar un segundo factor de hash correspondiente al segundo enlace;
una quinta unidad de determinación, configurada para determinar que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
una segunda unidad de guardado, configurada para guardar el segundo factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato 600 puede además incluir:
una sexta unidad de determinación, configurada para: después de que la primera unidad de determinación determina que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, donde el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío; y
una unidad de activación, configurada para activar la primera unidad de guardado para guardar el primer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato 600 puede además incluir:
una séptima unidad de determinación, configurada para: después de que la primera unidad de determinación determina que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que el quinto enlace está en un estado congestionado después el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes;
una quinta unidad de selección, configurada para seleccionar un tercer factor de hash correspondiente al segundo enlace;
una octava unidad de determinación, configurada para determinar que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el cuarto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
una tercera unidad de guardado, configurada para guardar el tercer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, el aparato 600 puede además incluir:
una segunda unidad de determinación, configurada para: después de que la primera unidad de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una sexta unidad de selección, configurada para seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
una séptima unidad de selección, configurada para seleccionar un cuarto factor de hash correspondiente al octavo enlace;
una novena unidad de determinación, configurada para determinar que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
una cuarta unidad de guardado, configurada para guardar el cuarto factor de hash en el nodo de origen del flujo de paquetes.
El aparato 600 en esta realización corresponde al dispositivo de red mencionado en la realización mostrada en la FIG.
2A y la FIG. 2B. Para una implementación específica en la que el aparato 600 en esta realización realiza el método, consulte las descripciones detalladas en la realización anterior de la FIG. 2A y la FIG. 2B. Los detalles no se describen en esta realización.
Según la solución técnica en esta realización, para el primer enlace en un estado congestionado, el aparato 600 selecciona, mediante la primera unidad 601 de selección, el flujo de paquetes reenviado mediante el primer enlace, selecciona, mediante la segunda unidad 602 de selección y la tercera unidad 603 de selección, un factor de hash usado para ajustar el flujo de paquetes desde el primer enlace a otro enlace, determina, mediante la primera unidad 604 de determinación, que una ruta de reenvío del flujo de paquetes incluya al menos dos enlaces no congestionados si el factor de hash está encapsulado en el flujo de paquetes, y guarde el factor de hash en el nodo de origen del flujo de paquetes mediante la primera unidad 605 de guarda. Por lo tanto, después de que el nodo de origen encapsula el factor de hash en el flujo de paquetes, en la técnica anterior, solo puede garantizarse que una ruta de reenvío del flujo de paquetes tenga un enlace no congestionado en el nodo de origen y, por el contrario, en esta realización, puede garantizarse que la ruta de reenvío del flujo de paquetes tenga al menos dos enlaces no congestionados, para que la carga de la red esté más equilibrada.
La FIG. 7 es un diagrama estructural esquemático de hardware de un dispositivo 700 de red según una realización de la presente invención. El dispositivo 700 de red puede configurarse para implementar el reparto de carga. Es decir, el dispositivo 700 de red puede configurarse para realizar el método proporcionado en la realización anterior. En esta realización, el dispositivo 700 de red incluye un procesador 701, una memoria 702, una interfaz 703 de red, y un sistema 704 de bus.
El sistema 704 de bus se configura para acoplar los componentes de hardware del dispositivo 700 de red.
La interfaz 703 de red se configura para implementar una conexión de comunicación entre el dispositivo 700 de red y al menos otro dispositivo de red a través de Internet, una red de área amplia, una red de área local, una red de área metropolitana, o similar.
La memoria 702 se configura para almacenar una instrucción y datos de programa.
El procesador 701 se configura para leer la instrucción y los datos que están almacenados en la memoria 702, para ejecutar las siguientes operaciones:
seleccionar un flujo de paquetes reenviado mediante un primer enlace, donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
seleccionar un segundo enlace que puede usarse para reenviar el flujo de paquetes, donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
seleccionar un primer factor de hash correspondiente al segundo enlace;
determinar que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar el primer factor de hash correspondiente al segundo enlace, el procesador 701 puede realizar además las siguientes operaciones:
determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un segundo factor de hash correspondiente al segundo enlace;
determinar que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
guardar el segundo factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el procesador 701 puede realizar además las siguientes operaciones:
determinar que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y realizar la etapa de guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
El quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío.
Opcionalmente, después de determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el procesador 701 puede realizar además las siguientes operaciones:
determinar que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes;
seleccionar un tercer factor de hash correspondiente al segundo enlace;
determinar que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
guardar el tercer factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, después de seleccionar el primer factor de hash correspondiente al segundo enlace, el procesador 701 puede realizar además las siguientes operaciones:
determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
seleccionar un cuarto factor de hash correspondiente al octavo enlace;
determinar que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
guardar el cuarto factor de hash en el nodo de origen del flujo de paquetes.
Opcionalmente, para determinar que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el primer flujo de paquetes, el procesador 701 puede realizar las siguientes operaciones:
determinar, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío ; y
determinar, según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
El dispositivo 700 de red en esta realización corresponde al dispositivo de red en la realización anterior mostrada en la FIG. 2A y la FIG. 2B. Para varias implementaciones específicas en las que el procesador 701 del dispositivo 700 de red en esta realización realiza las operaciones, consulte las descripciones detalladas en la realización anterior mostrada en la FIG. 2A y la FIG. 2B. Los detalles no se describen en esta realización.
El "primero" en nombres como "primer nodo de reenvío", "primer enlace" y "primer factor de hash" que se mencionan en las realizaciones de la presente invención se usa simplemente como un identificador de nombre, y no significa que sea el primero en una secuencia. Esta regla también se aplica al "segundo", "tercero", "cuarto", "quinto", "sexto", "séptimo", "octavo", y "noveno".
El procesador en las realizaciones de la presente invención puede ser un chip de circuito integrado, y tiene una capacidad de procesamiento de señales. En un proceso de implementación, las etapas de los métodos anteriores pueden implementarse mediante un circuito lógico integrado de hardware en el procesador, o mediante instrucciones en una forma de software. Estas instrucciones pueden implementarse y controlarse mediante la cooperación del procesador y se usan para realizar el método descrito en las realizaciones de la presente invención. El procesador anterior también puede ser un procesador de propósito genérico, un procesador de señales digitales (en inglés, Digital Signal Processing, DSP, por sus siglas en inglés), un circuito integrado específico de la aplicación (en inglés, application specific integrated circuit), una matriz de puertas programables en campo (en inglés, Field Programmable Gate Array, FPGA, por sus siglas en inglés) u otro dispositivo lógico programable, una puerta discreta o un dispositivo lógico transistor, o un componente de hardware discreto.
El procesador de propósito genérico puede ser un microprocesador o el procesador puede ser cualquier procesador convencional, descodificador, o similar. Las etapas del método descritas con referencia a las realizaciones de la presente invención pueden realizarse directamente por un procesador hardware, o pueden realizarse mediante una combinación de hardware en el procesador y un módulo de software. Un módulo software puede estar ubicado en un medio de almacenamiento maduro en la técnica, tal como una memoria de acceso aleatorio, una memoria flash, una memoria de solo lectura, una memoria programable de solo lectura, una memoria programable borrable eléctricamente, un registro, o similares.
Además, el sistema de bus puede incluir además un bus de potencia, un bus de control, un bus de señales de estado, y similares, además de un bus de datos. Sin embargo, para una descripción clara, varios tipos de buses en la FIG. 8, la FIG. 9 y la FIG. 10 se marcan como el sistema de bus.
A partir de las descripciones anteriores de las implementaciones, los expertos en la técnica pueden comprender claramente que algunas o todas las etapas de los métodos en las realizaciones pueden implementarse mediante software además de una plataforma de hardware universal. Basados en tal comprensión, las soluciones técnicas de la presente invención esencialmente o la parte que contribuye a la técnica anterior pueden implementarse en forma de un producto de software. El producto de software puede almacenarse en un medio de almacenamiento, tal como una memoria de solo lectura (ROM, por sus siglas en inglés)/memoria de lectura aleatoria (RAM, por sus siglas en inglés), un disco magnético, o un disco óptico, e incluye varias instrucciones para instruir a un dispositivo informático (que puede ser un ordenador personal, un servidor, o un dispositivo de red tal como pasarela de medios) para realizar los métodos descritos en las realizaciones o algunas partes de las realizaciones de la presente invención.
Las realizaciones en esta especificación se describen todas de una forma progresiva, para partes iguales o similares en las realizaciones, puede hacerse referencia a estas realizaciones, y cada realización se enfoca en una diferencia con otras realizaciones. Especialmente, las realizaciones del método y del aparato son básicamente similares a una realización del sistema y, por lo tanto, se describen brevemente. Para las partes relacionadas, consulte las descripciones parciales en la realización del sistema. Las realizaciones descritas del dispositivo y del sistema son simplemente ejemplos. Los módulos descritos como partes separadas pueden estar o no físicamente separados, y las partes mostradas como módulos pueden o no ser módulos físicos, pueden estar ubicadas en una posición, o pueden estar distribuidas en una pluralidad de unidades de red. Algunos o todos los módulos pueden seleccionarse según las necesidades reales para lograr los objetivos de las soluciones de las realizaciones. Los expertos en la técnica pueden comprender e implementar las realizaciones de la presente invención.

Claims (12)

REIVINDICACIONES
1. Un método para implementar el reparto de carga mediante factores de hash, en donde se usa un factor de hash respectivo para ajustar un flujo de paquetes desde un enlace a un enlace correspondiente al factor de hash respectivo para el reenvío, el método que comprende:
seleccionar (201), por un dispositivo de red, un flujo de paquetes reenviado mediante un primer enlace, en donde primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío;
seleccionar (202), por el dispositivo de red, un segundo enlace que puede usarse para reenviar el flujo de paquetes, en donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
seleccionar (203), por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace; determinar (204), por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, en donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
guardar (205), por el dispositivo de red, el primer factor de hash en un nodo de origen del flujo de paquetes.
2. El método según la reivindicación 1, después de seleccionar (203), por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace, el método además comprende:
determinar (206), mediante el dispositivo de red, que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un segundo factor de hash correspondiente al segundo enlace;
determinar (207), por el dispositivo de red, que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, en donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y
guardar (208), por el dispositivo de red, el segundo factor de hash en el nodo de origen del flujo de paquetes.
3. El método según la reivindicación 1, después de determinar (204), por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el método además comprende:
determinar (213), por el dispositivo de red, que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y realizar la etapa de guardar el primer factor de hash en un nodo de origen del flujo de paquetes, en donde
el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío.
4. El método según la reivindicación 3, después de determinar (204), por el dispositivo de red, que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, el método además comprende:
determinar (214), por el dispositivo de red, que el quinto enlace está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, y seleccionar un tercer factor de hash correspondiente al segundo enlace;
determinar (215), por el dispositivo de red, que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no esté en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, en donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
guardar (216), por el dispositivo de red, el tercer factor de hash en el nodo de origen del flujo de paquetes.
5. El método según la reivindicación 1, después de seleccionar (203), por el dispositivo de red, un primer factor de hash correspondiente al segundo enlace, el método además comprende:
determinar (209), por el dispositivo de red, que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, y seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, en donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
seleccionar (210), por el dispositivo de red, un cuarto factor de hash correspondiente al octavo enlace; determinar (211), por el dispositivo de red, que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, en donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
guardar (212), por el dispositivo de red, el cuarto factor de hash en el nodo de origen del flujo de paquetes.
6. El método según la reivindicación 1, en donde la determinación (204), por el dispositivo de red, de que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes comprende:
determinar, por el dispositivo de red según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, en donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío; y determinar, por el dispositivo de red según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
7. Un aparato (600) para implementar el reparto de carga mediante factores de hash, en donde se usa un factor de hash respectivo para ajustar un flujo de paquetes desde un enlace a un enlace correspondiente al factor de hash respectivo para reenvío, el aparato (600) que comprende:
una primera unidad (601) de selección, configurada para seleccionar un flujo de paquetes reenviado mediante un primer enlace, en donde el primer enlace es un enlace en un estado congestionado en un primer nodo de reenvío; una segunda unidad (602) de selección, configurada para seleccionar un segundo enlace que puede usarse para reenviar el flujo de paquetes, en donde el segundo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el segundo enlace es un enlace entre el primer nodo de reenvío y un segundo nodo de reenvío;
una tercera unidad (603) de selección, configurada para seleccionar un primer factor de hash correspondiente al segundo enlace;
una primera unidad (604) de determinación, configurada para determinar que un tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, en donde el tercer enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al primer factor de hash, y el tercer enlace es un enlace entre el segundo nodo de reenvío y un tercer nodo de reenvío; y
una primera unidad (605) de guardado, configurada para guardar el primer factor de hash en un nodo de origen del flujo de paquetes.
8. El aparato (600) según la reivindicación 7, que además comprende:
una segunda unidad de determinación, configurada para: después de que el tercer módulo de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una cuarta unidad de selección, configurada para seleccionar un segundo factor de hash correspondiente al segundo enlace;
una quinta unidad de determinación, configurada para determinar que un cuarto enlace no está en un estado congestionado después de que el ancho de banda disponible del cuarto enlace esté ocupado por el flujo de paquetes, en donde el cuarto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al segundo factor de hash, y el cuarto enlace es un enlace entre el segundo nodo de reenvío y un cuarto nodo de reenvío; y una segunda unidad de guardado, configurada para guardar el segundo factor de hash en el nodo de origen del flujo de paquetes.
9. El aparato (600) según la reivindicación 7, que además comprende:
una sexta unidad de determinación, configurada para: después de que la primera unidad de determinación determine que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que un quinto enlace no está en un estado congestionado después de que el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes, en donde el quinto enlace es un enlace que está en el tercer nodo de reenvío y que corresponde al primer factor de hash, y el quinto enlace es un enlace entre el tercer nodo de reenvío y un quinto nodo de reenvío; y
una unidad de activación, configurada para activar la primera unidad de guardado para guardar el primer factor de hash en el nodo de origen del flujo de paquetes.
10. El aparato (600) según la reivindicación 9, que además comprende:
una séptima unidad de determinación, configurada para: después de que la primera unidad de determinación determine que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes, determinar que el quinto enlace está en un estado congestionado después el ancho de banda disponible del quinto enlace esté ocupado por el flujo de paquetes;
una quinta unidad de selección, configurada para seleccionar un tercer factor de hash correspondiente al segundo enlace;
una octava unidad de determinación, configurada para determinar que un sexto enlace no está en un estado congestionado después de que el ancho de banda disponible del sexto enlace esté ocupado por el flujo de paquetes y que un séptimo enlace no está en un estado congestionado después de que el ancho de banda disponible del séptimo enlace esté ocupado por el flujo de paquetes, en donde el sexto enlace es un enlace que está en el segundo nodo de reenvío y que corresponde al tercer factor de hash, el sexto enlace es un enlace entre el segundo nodo de reenvío y un sexto nodo de reenvío, el séptimo enlace es un enlace que está en el sexto nodo de reenvío y que corresponde al tercer factor de hash, y el séptimo enlace es un enlace entre el sexto nodo de reenvío y un séptimo nodo de reenvío; y
una tercera unidad de guardado, configurada para guardar el tercer factor de hash en el nodo de origen del flujo de paquetes.
11. El aparato (600) según la reivindicación 7, que además comprende:
una segunda unidad de determinación, configurada para: después de que la primera unidad de selección seleccione el primer factor de hash, determinar que el tercer enlace está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes;
una sexta unidad de selección, configurada para seleccionar un octavo enlace que puede usarse para reenviar el flujo de paquetes, en donde el octavo enlace es un enlace que no está en un estado congestionado después de que el ancho de banda disponible del enlace esté ocupado por el flujo de paquetes, y el octavo enlace es un enlace entre el primer nodo de reenvío y un octavo nodo de reenvío;
una séptima unidad de selección, configurada para seleccionar un cuarto factor de hash correspondiente al octavo enlace;
una novena unidad de determinación, configurada para determinar que un noveno enlace no está en un estado congestionado después de que el ancho de banda disponible del noveno enlace esté ocupado por el flujo de paquetes, en donde el noveno enlace es un enlace que está en el octavo nodo de reenvío y que corresponde al cuarto factor de hash, y el noveno enlace es un enlace entre el octavo nodo de reenvío y un noveno nodo de reenvío; y
una cuarta unidad de guardado, configurada para guardar el cuarto factor de hash en el nodo de origen del flujo de paquetes.
12. El aparato (600) según la reivindicación 7, en donde la primera unidad (604) de determinación se configura específicamente para:
determinar, según el primer factor de hash, que el flujo de paquetes se reenvíe mediante el tercer enlace, en donde el tercer enlace es específicamente un enlace correspondiente a un resultado obtenido mediante el cálculo del primer factor de hash mediante un algoritmo de hash del segundo nodo de reenvío ; y
determinar, según el ancho de banda ocupado por el flujo de paquetes y el ancho de banda total y el ancho de banda usado del tercer enlace, que el tercer enlace no está en un estado congestionado después de que el ancho de banda disponible del tercer enlace esté ocupado por el flujo de paquetes.
ES16867985T 2015-11-26 2016-11-23 Método y dispositivo para realizar el reparto de carga Active ES2832533T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510843538.3A CN106803812B (zh) 2015-11-26 2015-11-26 一种用于实现负载分担的方法和装置
PCT/CN2016/106942 WO2017088762A1 (zh) 2015-11-26 2016-11-23 一种用于实现负载分担的方法和装置

Publications (1)

Publication Number Publication Date
ES2832533T3 true ES2832533T3 (es) 2021-06-10

Family

ID=58762993

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16867985T Active ES2832533T3 (es) 2015-11-26 2016-11-23 Método y dispositivo para realizar el reparto de carga

Country Status (5)

Country Link
US (2) US10749804B2 (es)
EP (2) EP3823227A1 (es)
CN (2) CN106803812B (es)
ES (1) ES2832533T3 (es)
WO (1) WO2017088762A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547365A (zh) * 2017-08-29 2018-01-05 新华三技术有限公司 一种报文传输路径选择方法及装置
CN109996292B (zh) * 2017-12-29 2022-09-13 中国移动通信集团上海有限公司 一种移动回传网络的路径优化方法
US11223567B2 (en) * 2019-01-18 2022-01-11 Cisco Technology, Inc. Transmission control protocol session mobility
CN113259248B (zh) * 2020-02-07 2023-03-10 华为技术有限公司 用于确定转发业务流的链路的方法及装置
BR112022015508A2 (pt) 2020-02-07 2022-10-11 Huawei Tech Co Ltd Método e aparelho para determinação de enlace para encaminhamento de fluxo de serviço
CN111314200B (zh) * 2020-02-29 2023-10-20 新华三技术有限公司 一种报文转发方法及装置
CN115237727B (zh) * 2022-09-21 2022-12-02 云账户技术(天津)有限公司 最拥堵子链路的确定方法、装置、电子设备及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11261703A (ja) * 1998-03-10 1999-09-24 Fujitsu Ltd 輻輳制御方法及び、交換機における輻輳制御システム
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
US7802001B1 (en) * 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
US9654383B2 (en) * 2005-08-17 2017-05-16 Avaya Inc. Route optimization using measured congestion
GB0600417D0 (en) * 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US7580417B2 (en) * 2006-08-07 2009-08-25 Cisco Technology, Inc. Method and apparatus for load balancing over virtual network links
US9258268B2 (en) * 2007-08-27 2016-02-09 At&T Intellectual Property, I., L.P. Methods and apparatus to dynamically select a peered voice over internet protocol (VoIP) border element
US8738752B2 (en) * 2008-01-30 2014-05-27 Cisco Technology, Inc. Local placement of large flows to assist load-balancing
CN101325557A (zh) * 2008-07-25 2008-12-17 华为技术有限公司 一种隧道负载分担的方法、系统和装置
US8259585B1 (en) * 2009-04-17 2012-09-04 Juniper Networks, Inc. Dynamic link load balancing
US8619587B2 (en) * 2010-01-05 2013-12-31 Futurewei Technologies, Inc. System and method to support enhanced equal cost multi-path and link aggregation group
CN102136989B (zh) * 2010-01-26 2014-03-12 华为技术有限公司 报文传输的方法、系统和设备
US9036481B1 (en) * 2010-05-05 2015-05-19 Marvell International Ltd. Method and apparatus for adaptive packet load balancing
US8787377B2 (en) * 2011-03-21 2014-07-22 Avaya, Inc. Usage of masked BMAC addresses in a provider backbone bridged (PBB) network
US9590820B1 (en) * 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
IN2012MU01023A (es) * 2012-03-30 2014-01-03
US9071541B2 (en) * 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US8891364B2 (en) * 2012-06-15 2014-11-18 Citrix Systems, Inc. Systems and methods for distributing traffic across cluster nodes
JP5974665B2 (ja) * 2012-06-22 2016-08-23 富士通株式会社 情報処理システム、中継装置、情報処理装置および情報処理方法
US9923798B1 (en) * 2012-06-28 2018-03-20 Juniper Networks, Inc. Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering
US9391841B2 (en) * 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US8995277B2 (en) * 2012-10-30 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method for dynamic load balancing of network flows on LAG interfaces
CN103916319B (zh) * 2013-01-06 2017-03-15 杭州华三通信技术有限公司 Lacp堆叠组网中的链路选择方法和堆叠设备
US20140219090A1 (en) * 2013-02-04 2014-08-07 Telefonaktiebolaget L M Ericsson (Publ) Network congestion remediation utilizing loop free alternate load sharing
US9756142B2 (en) * 2013-03-14 2017-09-05 The Regents Of The University Of California System and method for delivering video data from a server in a wireless network by caching the video data
US9497281B2 (en) * 2013-04-06 2016-11-15 Citrix Systems, Inc. Systems and methods to cache packet steering decisions for a cluster of load balancers
US20150023173A1 (en) * 2013-07-16 2015-01-22 Comcast Cable Communications, Llc Systems And Methods For Managing A Network
US9160651B2 (en) * 2013-07-24 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Metric biasing for bandwidth aware tie breaking
US10778584B2 (en) * 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US20150163133A1 (en) * 2013-12-09 2015-06-11 Donald B. Grosser Load sharing of mpls pseudo-wires
US9270598B1 (en) * 2013-12-13 2016-02-23 Cisco Technology, Inc. Congestion control using congestion prefix information in a named data networking environment
US20150188731A1 (en) * 2013-12-27 2015-07-02 Daniel P. Daly Programmable Distributed Networking
US10356011B2 (en) * 2014-05-12 2019-07-16 Futurewei Technologies, Inc. Partial software defined network switch replacement in IP networks
US10044581B1 (en) * 2015-09-29 2018-08-07 Amazon Technologies, Inc. Network traffic tracking using encapsulation protocol
US9900253B2 (en) * 2014-08-28 2018-02-20 Cavium, Inc. Phantom queue link level load balancing system, method and device
US10462040B2 (en) * 2014-09-11 2019-10-29 Hewlett Packard Enterprise Development Lp Non-minimum cost forwarding for packet-switched networks
ES2827245T3 (es) * 2014-10-07 2021-05-20 Sedonasys Systems Ltd Sistemas y métodos para gestionar redes de comunicación multicapa
US10038741B1 (en) * 2014-11-24 2018-07-31 Amazon Technologies, Inc. Selective enabling of sequencing for encapsulated network traffic
US10148575B2 (en) * 2014-12-22 2018-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive load balancing in packet processing
CN104601487A (zh) * 2014-12-31 2015-05-06 北京华为数字技术有限公司 一种实现多级负载分担的方法及sdn控制器
US9813340B2 (en) * 2015-06-30 2017-11-07 Cisco Technology, Inc. Class-aware load balancing using data-plane protocol in a loop-free multiple edge network topology
US20170048144A1 (en) * 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks
US9923828B2 (en) * 2015-09-23 2018-03-20 Cisco Technology, Inc. Load balancing with flowlet granularity
US10091113B2 (en) * 2015-11-06 2018-10-02 At&T Intellectual Property I, L.P. Network functions virtualization leveraging unified traffic management and real-world event planning

Also Published As

Publication number Publication date
US10749804B2 (en) 2020-08-18
WO2017088762A1 (zh) 2017-06-01
US20180278531A1 (en) 2018-09-27
EP3367620A4 (en) 2018-10-24
EP3823227A1 (en) 2021-05-19
US20200358703A1 (en) 2020-11-12
CN106803812A (zh) 2017-06-06
CN112838984A (zh) 2021-05-25
CN106803812B (zh) 2020-12-01
US11336577B2 (en) 2022-05-17
EP3367620A1 (en) 2018-08-29
EP3367620B1 (en) 2020-09-09

Similar Documents

Publication Publication Date Title
ES2832533T3 (es) Método y dispositivo para realizar el reparto de carga
ES2906171T3 (es) Sistema y métodos para la colocación de funciones de servicio inteligente y escala automática basado en aprendizaje automático
US10050809B2 (en) Adaptive load balancing for single active redundancy using EVPN designated forwarder election
US10153967B2 (en) Deterministic and optimized bit index explicit replication (BIER) forwarding
US8873551B2 (en) Multi-destination forwarding in network clouds which include emulated switches
US9036477B2 (en) Virtual private network to label switched path mapping
US10389632B1 (en) Non-recirculating label switching packet processing
CN105634942B (zh) 转发报文的方法和交换机
US10069732B2 (en) Techniques for architecture-independent dynamic flow learning in a packet forwarder
US10122735B1 (en) Switch having dynamic bypass per flow
JP7250871B2 (ja) 伝送パスを決定する方法およびノード
CN111490937B (zh) 一种建立跨域转发路径的方法、装置及系统
US20150295861A1 (en) Link problem handling
CN105052092A (zh) 具有孤立端口的多节点虚拟交换机中的路径优化
EP3902210A1 (en) Congruent bidirectional segment routing tunnels
US20220417113A1 (en) End-to-end network performance guarantees in a cloud native architecture in service provider networks
US10567270B1 (en) Dynamic signaling of bypass tunnel based on bandwidth threshold at a point of local repair
US20240015108A1 (en) Method and system for efficient input/output transfer in network devices
US20160006581A1 (en) Multicast forwarding entry computing
US10284468B1 (en) E-channel identifiers (ECIDS) for scalable satellite device clustering control in a campus network
Lesokhin et al. Flow-based tunneling for SR-IOV using switchdev API