ES2825975T3 - Control de congestión en formación de redes de datos de paquete - Google Patents

Control de congestión en formación de redes de datos de paquete Download PDF

Info

Publication number
ES2825975T3
ES2825975T3 ES13731888T ES13731888T ES2825975T3 ES 2825975 T3 ES2825975 T3 ES 2825975T3 ES 13731888 T ES13731888 T ES 13731888T ES 13731888 T ES13731888 T ES 13731888T ES 2825975 T3 ES2825975 T3 ES 2825975T3
Authority
ES
Spain
Prior art keywords
traffic
network
link
rate
group
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
ES13731888T
Other languages
English (en)
Inventor
Neda Beheshti-Zavareh
Ying Zhang
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2825975T3 publication Critical patent/ES2825975T3/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/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • 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
    • 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/22Traffic shaping
    • 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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02B90/20Smart grids as enabling technology in buildings sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

Un método realizado en un elemento (203; 503A-C; 601) de controlador central acoplado a una red (205; 501A-C) de conmutadores (207, 209, 211, 213, 215, 217) de datos de paquetes con puertos (603, 605) de entrada y salida con enlaces (225, 227, 229) entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador, el método para regular el tráfico en los enlaces y que comprende: identificar (311, 313) un enlace congestionado (225) de la red, teniendo el enlace tráfico de una pluralidad de grupos (221, 223) de tráfico de paquetes desde un puerto de entrada a un puerto de salida; determinar (231) una tasa de regulación (t1; t2) para un grupo (221; 223) de tráfico de paquetes del enlace congestionado basándose en una ponderación (w1; w2; w3; w4) del grupo y una tasa de tráfico actual (r1; r2) del grupo a través del enlace; enviar (323) la tasa de regulación determinada desde el controlador central a un conmutador (209; 211) de entrada de la red, teniendo el conmutador de entrada un puerto de salida que está acoplado a un puerto de entrada del enlace.

Description

DESCRIPCIÓN
Control de congestión en formación de redes de datos de paquete
Campo de la invención
La presente divulgación está relacionada con el control de la congestión con un controlador central en las redes de datos de paquetes y más particularmente con el control de la congestión a través de un enlace usando grupos de tráfico de paquetes y ponderaciones para cada grupo de tráfico.
Antecedentes
TCP (protocolo de control de transmisión) se ha usado como un protocolo de capa de transporte confiable para redes de datos de paquetes durante décadas. Se ve particularmente combinado con el protocolo de Internet para TCP/IP y se ha mejorado continuamente a lo largo de los años.
En Internet, la pérdida de paquetes puede ocurrir debido a errores de transmisión, pero ocurre más comúnmente debido a la congestión. El TCP tiene un mecanismo de control de congestión que detecta la pérdida de paquetes de un extremo a otro y reacciona reduciendo el número de segmentos de datos pendientes no reconocidos permitidos en la red.
Sin embargo, no todas las aplicaciones de Internet usan TCP y, por tanto, no siguen el mismo concepto de control de congestión. Algunas aplicaciones de transmisión de audio/video, por ejemplo, usan UDP (protocolo de datagramas de usuario), no TCP. La transmisión por secuencias se usa actualmente para reproductores de audio de Internet, telefonía IP, videoconferencias y tipos similares de aplicaciones en tiempo real. Dado que estas aplicaciones normalmente no integran mecanismos de control de congestión compatibles con TCP, tratan los flujos de TCP competidores de manera diferente a como los flujos de TCP tratan otros flujos. Típicamente, al encontrar una congestión, todos los flujos de TCP contendientes reducen sus tasas de datos en un intento por disolver la congestión, mientras que los flujos que no son de TCP continúan enviando a su tasa original. Esto puede provocar la falta de tráfico de TCP o incluso un colapso de la congestión. El ancho de banda disponible en una red está ocupado casi exclusivamente por paquetes que se descartan debido a la congestión antes de que lleguen a su destino. El control de congestión está además limitado en TCP y otros mecanismos porque las operaciones se realizan de manera distribuida y se basan en un conocimiento limitado sobre el estado de congestión de la red en general. El documento US 2008/291927 A1, 27 de noviembre de 2008, se refiere a un aparato que comprende una pluralidad de puertos de entrada acoplados a una pluralidad de nodos aguas arriba, teniendo los puertos de entrada una tasa de datos entrante; y una pluralidad de puertos de salida acoplados a los puertos de salida y un enlace agregado que comprende una pluralidad de enlaces, teniendo el enlace agregado una capacidad de ancho de banda, en el que al menos algunos de los nodos aguas arriba reducen sus tasas de transferencia de datos a una tasa mayor que cero cuando la tasa de datos entrantes es mayor que o aproximadamente igual a la capacidad de ancho de banda del enlace agregado.
El documento US 2004/136379 A1, 15 de julio de 2004, se refiere al método y aparato para asignar recursos de red limitados, como ancho de banda y memoria intermedia, entre varias categorías de datos. El software de planificador ajusta las ponderaciones de servicio asociadas con varias categorías de datos para regular la pérdida y el retraso de paquetes. El software de control central monitoriza las condiciones de tráfico de red y regula el tráfico en entradas seleccionadas.
Sumario
Se implementa un método en un elemento de red para controlar la congestión en un enlace de una red de datos de paquetes. Se identifica un enlace congestionado y se determina una tasa de regulación para uno o más de los grupos de tráfico que atraviesan el enlace congestionado. El controlador central determina las tasas de regulación usando una ponderación del grupo y la tasa de tráfico actual del grupo a través del enlace. Las tasas de regulación se envían a los conmutadores para regular el tráfico de cada grupo afectado.
Los usuarios (o aplicaciones) pueden agruparse en grupos de tráfico, grupos de tráfico que se priorizan usando ponderaciones. El tráfico de cada grupo puede tratarse de forma diferente de acuerdo con la ponderación de prioridad asignada durante tiempos de congestión.
Una red con muchos conmutadores puede ser controlada por un solo controlador centralizado. Esto proporciona una vista de toda la red del estado de congestión en la red. Usando este punto de vista, se pueden tomar decisiones de control de congestión más inteligentes y eficientes.
De acuerdo con la presente invención, se proporciona un método realizado en un elemento de controlador central como se expone en la reivindicación 1, un elemento de red como se expone en la reivindicación 14 y un sistema como el que se expone en la reivindicación 18.
Breve descripción de los dibujos
La presente invención se ilustra a modo de ejemplo, y no a modo de limitación, en las figuras de los dibujos adjuntos en los que referencias similares indican elementos similares. Cabe señalar que las diferentes referencias a "una" o "una sola" realización en esta divulgación no son necesariamente a la misma realización, y tales referencias significan al menos una. Además, cuando se describe una característica, estructura o característica particular en relación con una realización, también se puede aplicar a otras realizaciones, se describan explícitamente o no. La figura 1 es un diagrama de una realización de una arquitectura de ejemplo para una red OpenFlow simple.
La figura 2 es un diagrama del área de la red con un controlador central y un enlace congestionado de acuerdo con una realización de la invención.
La figura 3 es un diagrama de flujo del proceso para controlar la congestión en una red de datos de paquetes de acuerdo con una realización de la invención.
La figura 4 es un diagrama de flujo del proceso para la mensajería entre un conmutador y un controlador con respecto a un enlace congestionado en una red de acuerdo con una realización de la invención.
La figura 5 es un diagrama de una realización de ejemplo de una red de arquitectura dividida de acuerdo con una realización de la invención.
La figura 6 es un diagrama de una realización de un elemento de red que implementa un controlador o un conmutador de acuerdo con una realización de la invención.
Descripción detallada
Un método descrito en el presente documento se realiza en un elemento de controlador central acoplado a una red de conmutadores de datos de paquetes con puertos de entrada y salida con enlaces entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador. El controlador central identifica un enlace congestionado de la red, teniendo el enlace tráfico desde una pluralidad de grupos de tráfico de paquetes desde un puerto de entrada a un puerto de salida. Determina una tasa de regulación para un grupo de tráfico de paquetes del enlace congestionado basándose en una ponderación del grupo y una tasa de tráfico actual del grupo, y envía la tasa de regulación determinada desde el controlador central a un conmutador de entrada de la red, teniendo el conmutador de entrada un puerto de salida que está acoplado a un puerto de entrada del enlace.
Un elemento de red descrito en el presente documento es acoplado a una red de conmutadores de datos de paquetes con puertos de entrada y salida con enlaces entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador, funcionando el elemento de red como un controlador central para regular el tráfico de los enlaces. El controlador de red incluye un procesador de red para identificar un enlace congestionado de la red, teniendo el enlace tráfico desde una pluralidad de grupos de tráfico de paquetes desde un puerto de entrada a un puerto de salida, y para determinar una tasa de regulación para un grupo de tráfico de paquetes del enlace congestionado basándose en una ponderación del grupo y una tasa de tráfico actual del grupo, y un puerto de transmisión acoplado a la red para enviar la tasa de regulación determinada desde el elemento de red a un conmutador de entrada del enlace, teniendo el conmutador de entrada un puerto de salida que se acopa a un puerto de entrada del enlace.
Un elemento de red descrito en el presente documento es acoplado a una red de conmutadores de datos de paquetes, teniendo el elemento de red un puerto de entrada y salida para formar enlaces con conmutadores de datos de paquetes de la red entre un nodo de entrada de un conmutador y un nodo de salida de otro conmutador, funcionando del elemento de red para regular el tráfico en los enlaces a los que se conecta basándose en instrucciones desde un controlador central. El elemento de red también incluye un procesador para identificar un enlace congestionado de la red comparando una carga de tráfico de datos de paquetes actual en el enlace con el ancho de banda de tráfico de datos de paquetes del enlace, incluyendo la carga tráfico desde una pluralidad de grupos de tráfico de paquetes, teniendo el enlace tráfico desde una pluralidad de grupos de tráfico de paquetes desde un puerto de entrada del elemento de red, y un puerto de transmisión para enviar un mensaje de congestión a un controlador central de la red.
En la siguiente descripción, se exponen numerosos detalles específicos. Sin embargo, se entiende que las realizaciones de la invención se pueden poner en práctica sin estos detalles específicos. En otros casos, los circuitos, estructuras y técnicas bien conocidos no se han mostrado en detalle para no oscurecer la comprensión de esta descripción. Sin embargo, un experto en la técnica apreciará que la invención se puede poner en práctica sin tales detalles específicos. Los expertos en la técnica, con las descripciones incluidas, podrán implementar la funcionalidad apropiada sin experimentación indebida.
Las operaciones de los diagramas de flujo se describirán con referencia a las realizaciones de ejemplo de las figuras. Sin embargo, las operaciones de los diagramas de flujo pueden realizarse mediante realizaciones de la invención distintas de las explicadas y las realizaciones descritas pueden realizar operaciones diferentes a las explicadas con referencia a los diagramas de flujo.
Las técnicas mostradas en las figuras se pueden implementar usando código y datos almacenados y ejecutados en uno o más dispositivos electrónicos (por ejemplo, una estación de extremo, un elemento de red, servidor o dispositivos electrónicos similares). Tales dispositivos electrónicos almacenan y se comunican (internamente y/o con otros dispositivos electrónicos a través de una red) código y datos usando medios no transitorios legibles por máquina o legibles por computadora, como medios de almacenamiento no transitorios legibles por máquina o legibles por computadora (por ejemplo, discos magnéticos, discos ópticos, memoria de acceso aleatorio, memoria de solo lectura, dispositivos de memoria flash y memoria de cambio de fase). Además, tales dispositivos electrónicos incluyen típicamente un conjunto de uno o más procesadores acoplados a uno o más de otros componentes, tales como uno o más dispositivos de almacenamiento, dispositivos de entrada/salida del usuario (por ejemplo, un teclado, una pantalla táctil y/o una pantalla) y conexiones de red. El acoplamiento del conjunto de procesadores y otros componentes se realiza típicamente a través de uno o más buses y puentes (también denominados controladores de bus). Los dispositivos de almacenamiento representan uno o más medios de almacenamiento no transitorios legibles por máquina o legibles por computadora y medios de comunicación no transitorios legibles por máquina o legibles por computadora. Por tanto, el dispositivo de almacenamiento de un dispositivo electrónico dado típicamente almacena código y/o datos para su ejecución en el conjunto de uno o más procesadores de ese dispositivo electrónico. Por supuesto, una o más partes de una realización de la invención pueden implementarse usando diferentes combinaciones de software, firmware y/o hardware.
Como se usa en el presente documento, un elemento de red (por ejemplo, un enrutador, conmutador, puente o dispositivo de red similar) es una pieza de equipo de red, que incluye hardware y software que interconecta comunicativamente otros equipos en la red (por ejemplo, otros elementos de red, estaciones de extremo o dispositivos de red similares). Algunos elementos de red son "elementos de red de servicios múltiples" que brindan soporte para múltiples funciones de red (por ejemplo, enrutamiento, puenteo, conmutación, agregación de capa 2, control de límite de sesión, multidifusión y/o gestión de suscriptores) y/o brindan soporte para múltiples servicios de aplicación (por ejemplo, recopilación de datos).
Una sola red de acceso/agregación puede estar formada por múltiples áreas distintas de arquitectura dividida que trabajan en conjunto con múltiples enrutadores tradicionales. Como se usa en el presente documento, un área de arquitectura dividida es una sección de una red de arquitectura dividida con enrutamiento separado similar a un dominio. Esto se puede hacer para simplificar la administración en un área geográfica amplia, para la solidez de la red o para la escalabilidad del plano de control. Cada área de arquitectura dividida puede ser administrada por un controlador independiente. Dependiendo de la aplicación específica, los controladores de estas distintas áreas de arquitectura dividida deben compartir e intercambiar información para la administración adecuada de la red de arquitectura dividida.
Un diseño de red de arquitectura dividida introduce una separación entre los componentes de control y reenvío de la red, también denominado plano de control y plano de reenvío o datos. Las redes de arquitectura dividida se pueden usar en un dominio de acceso/agregación de una red de nivel de portadora, un retorno móvil, computación en la nube y soporte multicapa (L3 & L2 & LI, red de transporte óptico (OTN), multiplexación por división de longitud de onda (WDM)), todos los cuales se encuentran entre los componentes básicos de la arquitectura de red.
A diferencia de la arquitectura de red tradicional, que integra planos de control y de reenvío (datos) en la misma caja, la arquitectura dividida desacopla estas dos funciones y ejecuta el plano de control en servidores (controladores) que pueden estar en ubicaciones físicas diferentes de los elementos de reenvío (conmutadores). La arquitectura dividida simplifica las funciones y el hardware de la plataforma de reenvío y concentra la inteligencia y la gestión de la red en un conjunto de controladores que supervisan los conmutadores. El estrecho acoplamiento de los planos de control y reenvío en la arquitectura de red tradicional suele dar como resultado un plano de control muy complicado y una gestión de red compleja. Esto encarece la creación de nuevos dispositivos de red y crea una gran barrera de entrada para nuevos protocolos y tecnología para su posible despliegue en estos dispositivos. A pesar de la rápida mejora en la velocidad de línea, la densidad de los puertos y el rendimiento, los mecanismos del plano de control de la red para gestionar estas funciones han avanzado a un ritmo mucho más lento.
En una red de arquitectura dividida, los controladores recopilan información de los conmutadores y calculan y distribuyen las decisiones de reenvío adecuadas a los conmutadores. Los controladores y conmutadores usan un protocolo de plano de control para comunicarse e intercambiar información. Un ejemplo de tal protocolo es OpenFlow, que proporciona un método abierto y estándar para que un conmutador se comunique con un controlador. La figura 1 es un diagrama de una descripción general de la interfaz OpenFlow entre un conmutador y un controlador. El controlador OpenFlow se comunica con el conmutador OpenFlow usando un canal seguro para configurar una tabla de reenvío (tabla de flujo).
La tabla de reenvío en un conmutador OpenFlow se llena con entradas que consisten en: reglas que definen coincidencias para campos en encabezados de paquetes; acciones que se ejecutarán al detectar una coincidencia definida por una regla; y una recopilación de estadísticas sobre el procesamiento de paquetes de datos en el plano de datos. Cuando un paquete de datos entrante coincide con una regla en particular, las acciones asociadas se realizan en el paquete de datos. Una regla contiene campos clave de varios encabezados en la pila de protocolos, por ejemplo, direcciones MAC de Ethernet, dirección IP, protocolo IP, números de puerto TCP/UDP, así como el número de puerto entrante. Un conjunto de paquetes de datos con características similares se puede gestionar como un flujo. Un flujo se puede definir usando cualquier número o combinación de los campos disponibles en un paquete de datos. También es posible restringir las reglas para que coincidan en un subconjunto de los campos disponibles mediante el uso de comodines para los campos no deseados.
El desacoplamiento del plano de control y el plano de datos de la arquitectura dividida facilita la tarea de modificar la lógica de control de la red y proporciona una interfaz programática sobre la cual los desarrolladores pueden construir una amplia variedad de nuevos protocolos y aplicaciones de gestión. En este modelo, los planos de datos y control pueden evolucionar y escalar de forma independiente, mientras que se reduce el costo de los elementos del plano de datos.
En algunas realizaciones, el control de congestión y la gestión del tráfico se proporcionan en redes de arquitectura dividida. Los enfoques descritos en el presente documento pueden aplicarse a cualquier red con un controlador centralizado, como una red GMPLS (conmutación de etiquetas multiprotocolo generalizada). Una red central/de retorno móvil es un ejemplo de una red para la que el mecanismo de control de congestión descrito es adecuado. En lugar de imponer una calidad de servicio garantizada para cada usuario individual como se hace actualmente, los operadores pueden agrupar a los usuarios (o aplicaciones) en grupos de tráfico, priorizar grupos de tráfico y tratar el tráfico de cada grupo de acuerdo con el nivel de prioridad asignado durante los tiempos de congestión.
En realizaciones de la presente invención, se usa un controlador central. Una red con muchos conmutadores puede ser controlada por un solo controlador centralizado. En una realización, el controlador centralizado recopila estadísticas de tráfico de todos los conmutadores y toma decisiones sobre la gestión de la congestión en tiempo real. El controlador central también puede recibir información de congestión específica de todos los enlaces en las redes. Esto proporciona una vista de toda la red del estado de congestión en la red. Usando este punto de vista, se pueden tomar decisiones de control de congestión más inteligentes y eficientes. Sin embargo, el controlador central puede estar ubicado junto a un conmutador o enrutador de la red, o puede ser parte de un conmutador, enrutador u otro elemento de red.
La presente invención no se limita al control de congestión del tráfico entre un par de nodos de entrada-salida de una red de área única. Cualquier conjunto de paquetes que comparta un número de encabezados de paquete puede clasificarse para ser tratado como un grupo de tráfico para su uso con el mecanismo de control de congestión descrito.
Las realizaciones descritas no requieren estadísticas de caída de conmutadores. En su lugar, se pueden usar otras estadísticas. Como resultado, se pueden soportar conmutadores que no soportan el registro de paquetes descartados. En cambio, todos los cálculos pueden basarse en las tasas de llegada de paquetes. También se pueden usar estadísticas agregadas de conmutadores dentro de la red, donde la agregación de flujo no permite estadísticas por flujo.
En algunas realizaciones, los grupos de tráfico gestionan la congestión. El tráfico en la red puede agruparse en diferentes grupos de tráfico, cada uno con una ponderación asignada. Un grupo de tráfico para los propósitos de la presente descripción es un conjunto de paquetes que son tratados igualmente por el mecanismo de control de congestión. La definición de un grupo puede adaptarse para adecuarse a diferentes aplicaciones de control de congestión. Por ejemplo, un grupo de tráfico se puede definir como una aplicación (identificado, por ejemplo, por número de puerto), un anfitrión final (identificado por ejemplo por dirección IP de origen), un servidor web (identificado por ejemplo por dirección IP de destino), un conjunto agregado de usuarios (perteneciente, por ejemplo, a un ISP), tráfico de una VLAN específica, tráfico entre un par específico de puertos de entrada-salida, etc. Las agrupaciones de tráfico definidas también se pueden usar para muchos otros fines, como funciones de enrutamiento y operaciones y gestión.
Con el fin de controlar la congestión, se asignan diferentes ponderaciones a diferentes grupos de tráfico. Las ponderaciones asignadas permiten priorizar diferentes grupos de tráfico, en el sentido de que las ponderaciones más grandes resultarán en menos caídas de paquetes en momentos de congestión. Las ponderaciones asignadas se usan cuando la red está congestionada. Cuando un enlace está congestionado, la tasa de regulación requerida para cada grupo de tráfico que usa ese enlace puede calcularse basándose en la ponderación del grupo de tráfico.
Como ejemplo, cuando un enlace está congestionado, el controlador puede ajustar el ancho de banda consumido por cada grupo de acuerdo con la ponderación del grupo. Este ajuste de tasa se puede realizar mediante la caída probabilística de paquetes (regulación de paquetes) en los conmutadores de entrada de una red o área o usando otros tipos de regulación de paquetes. Los detalles de una estrategia de regulación de ejemplo se describen con más detalle a continuación.
Una ponderación puede ser cualquier número positivo arbitrario. No se requiere que los diferentes grupos de tráfico tengan diferentes ponderaciones y no hay restricciones en la granularidad de las ponderaciones o en el número de posibles ponderaciones diferentes asignadas en una red. Cada grupo puede tener una ponderación diferente o algunos grupos pueden tener la misma ponderación. La ponderación relativa de dos grupos de tráfico solo importa si los dos grupos de tráfico atraviesan el mismo enlace en la red. De lo contrario, los dos grupos nunca competirán por el mismo enlace. En ese caso, la asignación de ponderación para los dos grupos de tráfico puede ser independiente entre sí.
La agrupación de tráfico y la asignación de ponderación se pueden realizar de una variedad de formas diferentes dependiendo de la configuración de la red y el tráfico en la red. La elección particular de grupos y ponderaciones puede adaptarse para adecuarse a cualquier implementación particular que proporcione una gran flexibilidad a la administración de la red.
Dado que el mecanismo de control de congestión descrito da prioridad a los grupos de tráfico que usan asignaciones de ponderación, no hay ninguna restricción en cuanto a cuántos niveles diferentes de prioridad puede soportar el sistema. Se pueden agregar más niveles de prioridad sin afectar la complejidad de los cálculos, la señalización o las colas porque no se necesitan colas separadas para diferentes grupos de tráfico dentro de la red.
En una arquitectura dividida, el comportamiento del conmutador puede abstraerse en el contexto de flujos, donde cada flujo corresponde a un conjunto de paquetes a través de un enlace. Para cada flujo (por ejemplo, un conjunto de paquetes) que necesita ser manejado y procesado por el conmutador, se puede definir una regla para especificar una cantidad de campos de encabezado que coinciden con los paquetes en el flujo o conjunto. De acuerdo con cada regla, hay un conjunto de acciones que se aplicarán a los paquetes entrantes que coincidan con la regla. La regla también puede tener bits de "no importa". Esto permite agregar flujos.
El conmutador también puede rastrear el número de aciertos de cada regla. En un ejemplo, un contador se actualiza cada vez que hay una coincidencia con la regla. Los contadores en los conmutadores de arquitectura dividida permiten recopilar estadísticas sobre la llegada de paquetes. En los conmutadores de entrada a la red, estas estadísticas se pueden recopilar para cada flujo. Sin embargo, dentro de la red después de la entrada, puede que no sea posible recopilar estadísticas individuales para cada flujo después de que se hayan agregado los flujos. El control de congestión, como se describe a continuación, usa estadísticas por grupo de tráfico en los conmutadores de entrada de la red y estadísticas agregadas dentro de la red.
Las estadísticas recopiladas por un conmutador individual dentro de la red pueden ser solicitadas o pedidas desde el conmutador por el controlador central. Al recibir una solicitud del controlador, el conmutador puede enviar su información de contador al controlador. Alternativamente, el conmutador puede enviar sus estadísticas de contador al controlador a una tasa preconfigurada, o cuando ocurre un 'evento' de activación.
La figura 2 es un diagrama de una red informática que usa un diseño de arquitectura dividida; sin embargo, la invención no está tan limitada. Un controlador central 203 recopila estadísticas de conmutadores en el SA (área de arquitectura dividida) 205 que se acoplan entre sí y con otras fuentes y receptores de paquetes externos (no mostrados). Los flujos de tráfico pasan a través de la conmutación basándose en el enrutamiento de paquetes impuesto por el controlador central, sin embargo, se puede usar cualquier otro control de enrutamiento. En el ejemplo ilustrado, hay dos grupos de tráfico, el grupo 1221 de tráfico y el grupo 2223 de tráfico. Estos son grupos de paquetes entrantes que se deben enrutar a través del SA 205 a un conmutador externo. El conmutador 209 de entrada para el grupo 1de tráfico reenvía los paquetes del grupo a un segundo conmutador 207. El conmutador 211 de entrada para el grupo 2 de tráfico reenvía sus paquetes también al mismo segundo conmutador 207. Los flujos de paquetes combinados se envían luego a otro conmutador 213 del SA y luego se clasifican para su reenvío a uno de los otros dos conmutadores 215, 217 de salida. Este flujo de paquetes simple y la red simple de conmutadores se proporcionan como ejemplo, y son posibles muchas otras configuraciones de red y rutas de enrutamiento.
En un ejemplo, cada conmutador tiene la capacidad de monitorizar la carga en cada uno de sus puertos de salida de enlace. Esto se puede hacer de una variedad de formas diferentes, por ejemplo, monitorizando la ocupación de la correspondiente cola de salida, monitorizando el número de paquetes descartados o de otra forma. Luego, el conmutador puede comparar esto con un umbral de congestión del enlace. Si la carga cruza el umbral, el conmutador puede enviar un mensaje de "congestión" al controlador.
La figura 2 también muestra una secuencia de mensajes que pueden intercambiarse entre el controlador y los conmutadores. El primer mensaje (1) es un mensaje de "detección de congestión" que se envía desde uno de los conmutadores 207 al controlador 203. El conmutador de informes que envió el mensaje está en este caso acoplado a tres enlaces diferentes 225, 227, 229. En este caso, dado que el mensaje de congestión identifica un enlace 225 que combina dos grupos de tráfico 221, 223, la congestión es una combinación de tráfico de los dos grupos.
El controlador puede referirse a las estadísticas de tráfico recopiladas para determinar qué acción se debe tomar, si la hay, o, como en el ejemplo ilustrado, el controlador envía una solicitud de tasa de tráfico (2) a cada uno de los conmutadores de entrada 209, 211 que proporciona paquetes al enlace congestionado 225. Los conmutadores de entrada se posicionan en el borde de los conmutadores para recibir tráfico de los dos grupos en el SA. El controlador pregunta a los conmutadores de entrada sobre las tasas reales o actuales (r1, r2) de esos grupos de tráfico (g1, g2) que tienen el enlace 225 congestionado como parte de sus rutas.
Los dos conmutadores de entrada responden con las tasas solicitadas usando un mensaje de respuesta de tasa (3). El controlador recopila esta información, aplica ponderaciones y valores de ancho de banda conocidos y determina una tasa de regulación. El controlador, después de determinar las tasas de regulación apropiadas (t1, t2), envía la tasa correspondiente en un mensaje (4) de regreso a los conmutadores de entrada. A continuación, los conmutadores de entrada aplican las tasas de regulación calculadas al tráfico. Esto evita que parte del tráfico entre al área de red y reduce la cantidad de congestión en todos los elementos de la red descendente.
Como alternativa, cada conmutador envía un mensaje con las estadísticas de tráfico recopiladas al controlador. El mensaje puede enviarse de forma regular, repetida o periódica y a una tasa preconfigurada. De esta forma, el controlador calcula la tasa de tráfico y la compara con el umbral de congestión. En su lugar, el controlador puede sondear los conmutadores en busca de datos basados en una planificación determinada por el controlador. El controlador puede optar por sondear más conmutadores activos con más frecuencia que los conmutadores que tienen una menor cantidad de tráfico, o puede usar cualquier otro criterio para determinar cuándo sondear un conmutador.
Cuando se usan mensajes de congestión, los conmutadores monitorizan la tasa de tráfico de cada cola de salida frente a un umbral. Esto permite que cada conmutador determine de forma independiente si está acoplado a un enlace congestionado. Cuando se recopilan estadísticas, los conmutadores solo envían sus estadísticas de contador (número de visitas) al controlador. El controlador compara las tasas con los umbrales para determinar si algún enlace está congestionado. Si bien el controlador debe realizar más funciones, los conmutadores son más simples. Por otro lado, la sobrecarga de señalización aumenta cuando los conmutadores envían estadísticas que el controlador no necesita. Los dos enfoques también se pueden combinar para que, por ejemplo, el controlador recopile y almacene estadísticas de tráfico, pero también reciba alertas de conmutadores sobre enlaces congestionados.
Como se describió anteriormente, el conmutador o el controlador determinan si un enlace está congestionado. Esto se puede determinar de diversas formas. En algunas realizaciones, se determina comparando las estadísticas de tráfico con los umbrales. Por ejemplo, la congestión puede declararse en un enlace cuando la carga en ese enlace excede una fracción del ancho de banda de tráfico total del enlace. La carga se puede representar de diferentes formas, por ejemplo, como la tasa de tráfico total de todos los grupos de tráfico en el enlace. Esto se puede expresar matemáticamente como en la ecuación 1.
Carga = X ri > a * CI
(Ecuación 1) En la ecuación 1, carga es el tráfico total en el enlace. X ri es la tasa de tráfico agregada de todos los grupos en el enlace donde ri es la tasa de tráfico para el grupo i. CI es el ancho de banda del enlace 1, y 0 < a <1 es un parámetro de congestión configurable determinado por el operador. Por ejemplo, a = 0,7 significa que una carga que excede el 70% del ancho de banda del enlace identifica el enlace como congestionado.
En los ejemplos anteriores, el conmutador o el controlador tienen una tabla de parámetros de congestión y ancho de banda permitido para cada enlace (a, CI) y recopila las tasas de tráfico (r) para cada grupo en cada enlace. Las tasas de tráfico para cada grupo de tráfico se suman para determinar la carga que luego se compara con el ancho de banda.
Al recibir un mensaje de congestión o al determinar que un enlace está congestionado. El conmutador del controlador calcula una tasa de regulación para aquellos grupos que tienen tráfico en los enlaces congestionados. La tasa de regulación se puede determinar de muchas formas diferentes. En algunas realizaciones, la tasa de tráfico es una tasa a la que los paquetes de un grupo deben descartarse en la entrada de la red.
Para un solo enlace congestionado en el que hay grupos de tráfico, se puede determinar una tasa permitida (ai) para el grupo de tráfico i comparando la ponderación W del grupo de tráfico con la ponderación de todos los grupos de tráfico que usan el enlace y aplicando eso comparación para factorizar el ancho de banda del enlace permitido. Tal determinación de la tasa permitida para un grupo particular (ai) se puede expresar matemáticamente como la ecuación 2.
Figure imgf000008_0001
(Ecuación 2) En la ecuación 2, ai es la tasa de tráfico permitida para el grupo de tráfico i. aCl es la tasa de tráfico agregado permitida en el enlace. Wi es la ponderación del grupo de tráfico i y £W¡ es la suma de las ponderaciones de todos los grupos de tráfico que comparten el enlace 1. En consecuencia, la tasa permitida para cada grupo de tráfico es proporcional a la ponderación de ese grupo. Téngase en cuenta que la suma £Wi solo se aplica a los grupos de tráfico que comparten el enlace 1.
Usando la tasa permitida ai para el grupo de tráfico i, la tasa de regulación ti se puede determinar comparando ri, la tasa real o actual del grupo, con ai, la tasa permitida. Si la tasa actual está por debajo de la tasa permitida, no se aplica ninguna regulación. Esto sirve para proteger a los grupos de tráfico que no están usando el enlace en exceso. Porque en la ecuación 2, la tasa permitida se basa en la ponderación de un grupo de tráfico en relación con los otros grupos de tráfico que usan el mismo enlace, las ponderaciones sirven como una forma de priorizar los grupos de tráfico. Con este principio, la calidad del servicio se puede controlar basándose en la ponderación asignada a un grupo de tráfico en particular. A un grupo de tráfico con una ponderación alta se le permitirá una tasa de tráfico más alta que a un grupo de tráfico con una tasa más baja.
Por otro lado, si la tasa de tráfico actual excede la tasa de tráfico permitida, entonces se puede aplicar una tasa de regulación a la tasa de tráfico. La tasa de regulación se puede determinar y expresar de diversas formas, dependiendo de la naturaleza y complejidad del conmutador que aplica la regulación. En un ejemplo, la tasa de regulación es simplemente la proporción de la tasa permitida dividida por la tasa actual. Restado de la unidad, esto dará una fracción entre 0 y 1 por la cual la tasa debe ser regulada. Si la tasa actual ri es mucho mayor que la tasa permitida ai, entonces la tasa de regulación será cercana al 1 o al 100%. Este ejemplo de determinación de la tasa de regulación se puede expresar matemáticamente como en la ecuación 3.
Figure imgf000008_0002
(Ecuación 3) En la ecuación 3, la tasa de caída se calcula basándose en la diferencia entre la tasa real (ri) y la tasa permitida (ai). Si la tasa real ya es menor que la tasa permitida, no se requiere ninguna regulación. De lo contrario, la tasa de regulación será proporcional a la cantidad de tasa que exceda la tasa permitida.
En el caso de múltiples enlaces congestionados en la red, la tasa de regulación de un grupo de tráfico puede determinarse como el máximo de todas las tasas de regulación determinadas en todos los enlaces congestionados atravesados por el grupo de tráfico en la red. En otras palabras, para cada enlace congestionado, se determina la tasa de regulación para el grupo de tráfico. Estas tasas de regulación se comparan y se selecciona la tasa máxima. Después de que se determina una tasa de regulación para un grupo de tráfico particular, la tasa de regulación calculada se envía a los conmutadores de entrada correspondientes, es decir, aquellos conmutadores de entrada con tráfico afectado por la congestión. Cuando un conmutador de entrada recibe la información sobre las tasas de regulación, descarta paquetes de cada grupo de tráfico de acuerdo con la tasa de regulación del grupo. Como se muestra en el ejemplo de la figura 2, mientras que el enlace congestionado 225 está entre dos conmutadores 207, 213 interiores a través de los cuales se combinan dos grupos 221, 223 de tráfico diferentes, las tasas de regulación t1, t2 se envían a los conmutadores 209, 211 de entrada en el que los grupos de tráfico entran en la red.
La figura 3 es un diagrama de flujo del proceso para controlar la congestión en una red de datos de paquetes. En 311, se identifica un enlace congestionado. Esto se puede hacer de varias formas diferentes. En un ejemplo, la tasa de tráfico actual se compara con un ancho de banda permitido para un enlace en particular. Si la tasa de tráfico excede el ancho de banda permitido, se determina que el enlace está congestionado. En 313, si la determinación de congestión la realiza un conmutador, un controlador central recibe un mensaje de congestión desde un conmutador de informes. Alternativamente, si la determinación de congestión se realiza en el controlador, entonces no es necesario ningún mensaje de congestión desde el conmutador. Si se usa un mensaje de congestión, puede identificar implícita o explícitamente el enlace que se ha determinado que está congestionado.
En 315, si se ha recibido un mensaje de congestión, el controlador envía una solicitud de estadísticas de tráfico. Dado que el controlador conoce la topología de la red o las rutas de enrutamiento de diferentes grupos de tráfico, el controlador puede enviar la solicitud a los conmutadores de entrada correspondientes al tráfico que está congestionado en el enlace identificado. El controlador también puede solicitar estadísticas de otros conmutadores, incluido el conmutador de informes. Los conmutadores de entrada correspondientes responden entonces a la solicitud enviando las estadísticas de tráfico. En 317, el controlador recibe las estadísticas de tráfico enviadas desde los conmutadores. El controlador puede, alternativamente, usar estadísticas recopiladas que ya haya obtenido de solicitudes anteriores.
En 319, el controlador usa las estadísticas para comparar la carga de tráfico actual en el enlace congestionado con el ancho de banda de tráfico permitido. Esto no solo permite que el controlador verifique que el enlace está congestionado, sino que también puede usarse para determinar la tasa de regulación. En 321, el controlador determina una tasa de regulación para un grupo de tráfico de paquetes. Si bien el mensaje de congestión identifica solo un enlace en particular, las estadísticas identificarán las tasas de tráfico para diferentes grupos de tráfico. La tasa de tráfico de cada grupo se puede comparar con el ancho de banda de cada grupo. Esto resultará en una tasa de regulación para cada grupo. Es posible que algunos grupos no se regulen, en cuyo caso la tasa de regulación es una tasa que no proporciona ninguna regulación. De acuerdo con la ecuación 3, esa tasa de regulación es 0. Alternativamente, el controlador simplemente no puede enviar una tasa para el grupo de tráfico que no esté regulada. Para cualquier enlace, puede haber solo un grupo de tráfico, sin embargo, también puede haber muchos grupos de tráfico. El controlador puede determinar una tasa de regulación diferente para cada grupo de tráfico en función las ponderaciones, la tasa de tráfico actual y el ancho de banda permitido.
En 322, el controlador envía la tasa o tasas de regulación determinadas a los conmutadores apropiados. En los ejemplos anteriores, las tasas de regulación se enviarán al conmutador de entrada para cada grupo de tráfico. En cada conmutador que recibe una tasa de regulación, en 325, el conmutador descarta los paquetes de datos entrantes del grupo de tráfico respectivo basándose en la tasa de regulación recibida.
La figura 4 es un diagrama de flujo del proceso para la mensajería entre un conmutador y un controlador con respecto a un enlace congestionado en una red. En 411, se recopilan estadísticas de tráfico. Pueden ser recogidos por un controlador o un conmutador o ambos. En 413, usando las estadísticas, se identifica un enlace congestionado. En 415, la carga de tráfico de datos de paquetes actual se compara con el ancho de banda del tráfico de datos de paquetes. Esta información se puede usar para identificar un enlace congestionado o para determinaciones posteriores de la tasa de regulación. Al igual que las operaciones 313 a 319, esta operación también es opcional.
En 417, se envía un mensaje de congestión desde el conmutador que detectó el enlace congestionado a un controlador central. El conmutador se convierte en el conmutador de informes para los fines de la transacción. En 419, el conmutador de informes recibe una solicitud de estadísticas de tráfico del controlador central. En respuesta a la solicitud, el conmutador, en 421, envía estadísticas de tráfico para el enlace congestionado al controlador. Las estadísticas enviadas pueden ser estadísticas sin procesar o pueden incluir cálculos intermedios, como la comparación de la carga del tráfico de datos de paquetes con el ancho de banda del enlace. Las estadísticas pueden ser independientes para cada uno de los grupos de tasas de tráfico que atraviesan el enlace congestionado. Esto permite que el controlador determine diferentes tasas de regulación para cada grupo.
En 423, el conmutador de informes recibe una tasa de regulación del controlador central. En comparación con el ejemplo de la figura 2, en este ejemplo, el conmutador de informes también realiza la regulación. Esto puede deberse a que el conmutador de informes es el conmutador de entrada para el grupo de tráfico o puede deberse a que el controlador determina que el tráfico debe gestionarse en el conmutador que determina la condición de congestión. En 425, el conmutador descarta los paquetes de datos entrantes basándose en la tasa de regulación recibida. La tasa de regulación puede ser para todo el tráfico o puede haber una tasa de regulación diferente para cada grupo de tráfico. En los ejemplos anteriores, el conmutador de informes recibirá la tasa de regulación para cada grupo de tráfico para el que sirve como conmutador de entrada. Sin embargo, en una realización alternativa, el conmutador recibirá tasas de regulación para cualquier grupo de tráfico en el enlace sobre el que envió un mensaje de congestión. Dado que el conmutador controla todos los paquetes que se envían a través del enlace congestionado, puede regular el tráfico a través del enlace congestionado. El controlador central puede seleccionar el conmutador para recibir tasas de regulación basándose en una variedad de arquitectura de red y factores de gestión.
La figura 5 es un diagrama de realización de ejemplo de una red de arquitectura dividida. La red de arquitectura dividida de ejemplo se divide en áreas 501A-C de arquitectura dividida (SA) separadas. Cada área 501A-C (también etiquetada como ÁREA I, ÁREA II, ÁREA III) contiene un conjunto de conmutadores. Todos los conmutadores de la misma área están controlados por un único controlador lógico 503A-C. En una realización, las SA pueden implementarse como un controlador primario y un conjunto de controladores de respaldo con fines de redundancia. Si bien se muestra un solo controlador físico para cada SA, puede haber múltiples componentes físicos para formar un solo controlador lógico para cada SA. Los elementos de red de cada SA normalmente están bajo el control de un único controlador lógico.
Los conmutadores de cada SA pueden ser cualquier tipo de enrutador, conmutador o dispositivo de red similar capaz de implementar un plano de datos de una red de arquitectura dividida. Los conmutadores pueden incluir conmutadores de arquitectura dividida de límite y conmutadores internos de arquitectura dividida. Un conmutador de arquitectura dividida de límite soporta funciones de arquitectura dividida con una interfaz que se conecta a otro conmutador en diferentes SA. Un conmutador de arquitectura dividida de límite típicamente es controlado por el controlador de una sola SA. En otras realizaciones, el conmutador de arquitectura dividida de límite puede estar en múltiples SA y tener interfaces controladas por cada controlador de SA respectivo. Un conmutador interno de arquitectura dividida soporta protocolos de arquitectura dividida. Está controlado por el controlador en su área. Todos sus vecinos están dentro de la misma SA.
Los conmutadores se comunican entre sí a través de un conjunto de enlaces. Estos enlaces pueden ser cualquier tipo de medio de comunicación, incluidos los medios de comunicación alámbricos o inalámbricos y cualquier combinación de los mismos. Los enlaces se pueden clasificar como enlaces internos o enlaces externos. Los enlaces internos son enlaces entre dos conmutadores dentro de una SA, estos conmutadores pueden ser conmutadores de límite o conmutadores SA internos, que pertenecen a la misma SA. Los enlaces externos son enlaces entre dos conmutadores SA que pertenecen a diferentes SA. En este caso, ambos conmutadores SA son conmutadores SA de límite. En el ejemplo ilustrado, los conmutadores de límite para el ÁREA I están etiquetados como A, B y C. Estos tres conmutadores también son los conmutadores de entrada y salida para el tráfico de datos que entra o sale del ÁREA I.
Como se muestra, el controlador central 503B para SA 1 mantiene tabla de estadísticas 505. Esta tabla contiene tasas, r, asignaciones, a y ponderaciones, w, para cada uno de los grupos de tráfico atendidos por el SA. La tabla se mantiene usando informes, respuestas a solicitudes y por cualquier otro medio adecuado dependiendo de la realización particular. Luego, la tabla se almacena en la memoria del controlador.
La figura 6 es un diagrama de una realización de un elemento de red que implementa un controlador o un conmutador. En una realización, el controlador 601 es un enrutador, conmutador o dispositivo de red similar. El controlador 601 puede incluir un módulo de entrada o puerto 603, un módulo de salida o puerto 605, un procesador 607 de red y un dispositivo 611 de almacenamiento. El módulo 603 de entrada maneja el tráfico de datos entrantes a nivel físico y de enlace y proporciona estos datos al procesador de red para su posterior procesamiento. Este módulo de entrada sirve como puerto de recepción para el tráfico de datos y para la información de comando y control. Cualquier solicitud, respuesta u otro mensaje se recibe en este puerto de recepción. De manera similar, el módulo 605 de salida maneja el tráfico de datos salientes a nivel físico y de enlace para transmitirlo a otros dispositivos a través de una red conectada. El módulo de salida sirve como puerto de transmisión de datos y para información de comando y control. Cualquier solicitud, mensaje o respuesta salientes se envían a través de este puerto de transmisión. Estos dos módulos funcionan juntos para permitir la comunicación con otros dispositivos a través de una red. Aunque se muestra que el elemento 601 de red tiene un módulo o puerto de entrada y salida separado, estos dos puertos pueden acoplarse a través de un solo conector físico.
El procesador 607 de red es un dispositivo de procesamiento o un conjunto de dispositivos de procesamiento que ejecutan las funciones del elemento de red incluyendo cada una de las funciones relacionadas con el plano de control de la red que gobierna el plano de datos de la red. El procesador 607 de red puede ejecutar un conjunto de módulos incluyendo un módulo 613 de descubrimiento de vecino, un módulo 615 de control de congestión, un módulo 617 de control de congestión, un módulo 619 de gestión de estado de enlace y un módulo controlador tal como un controlador OpenFlow 621.
Además, el procesador 607 de red puede acceder a los datos almacenados dentro del dispositivo 611 de almacenamiento. Los datos almacenados en el dispositivo 611 de almacenamiento pueden incluir tablas 623 de enrutamiento y una base 625 de datos de estadísticas de enlace. En otras realizaciones, el dispositivo 611 de almacenamiento puede incluir cualquier número de dispositivos de almacenamiento local o distribuidos separados y cualquier disposición de datos almacenados en estos dispositivos. Los otros módulos ejecutados por el procesador de red también pueden cargarse o almacenarse en el dispositivo 611 de almacenamiento.
El módulo 613 de descubrimiento de vecino puede gestionar los protocolos para comunicarse con otros dispositivos en una red usando un protocolo de saludo o un protocolo similar para obtener información sobre cada uno de los controladores vecinos en una red para permitir la comunicación adecuada y la configuración de los conmutadores del SA gestionada por el controlador. Se puede utilizar cualquier protocolo o proceso de saludo para identificar controladores y conmutadores adyacentes para el SA.
Un módulo 615 de control de congestión usa la información recopilada por el módulo 619 de gestión del estado de enlace para determinar si un enlace está congestionado y, en el caso de un controlador, para determinar una tasa de regulación que se aplicará al enlace. En un conmutador, el módulo de control de congestión puede activar el módulo de salida para enviar un mensaje de congestión al controlador y responder a cualquier solicitud del controlador. El módulo de control de congestión está acoplado a la base de datos 625 de estadísticas de enlace para obtener estadísticas de tasa y flujo para usar en la determinación de estados de congestión para enlaces conectados o en el caso del controlador para determinar tasas de regulación.
El módulo 619 de regulación en el caso de un conmutador recibe cualquier tasa de regulación del controlador y la aplica a los paquetes entrantes del grupo de tráfico afectado.
Un módulo 619 de gestión del estado de enlace gestiona la información del estado de enlace para una red o un área de la red en una base de datos 625 de estadísticas del enlace. El módulo 619 de gestión del estado de enlace también puede generar anuncios de estado de enlace para ser difundidos a controladores adyacentes proporcionando información sobre las conexiones entre el controlador y otros controladores, así como dentro del SA de un controlador. Esta información se puede empaquetar como un conjunto de anuncios de estado de enlace para cada par de conmutadores de límite que se envía a otros controladores en la red.
El controlador 621 puede ser cualquier tipo de controlador de arquitectura dividida para gestionar el plano de control del SA. El controlador puede implementar el protocolo OpenFlow o un protocolo similar para gestionar una red de arquitectura dividida. El módulo 621 de controlador puede comunicarse con conmutadores en el SA para configurar el reenvío de paquetes en el plano de datos. El controlador 621 también se comunica con otros controladores para intercambiar información de vecinos, anuncios de estado de enlace y para proporcionar información similar a los pares.
Además, el procesador 607 de red puede acceder a los datos almacenados dentro del dispositivo 611 de almacenamiento. Los datos almacenados en el dispositivo 611 de almacenamiento pueden incluir tablas 623 de enrutamiento y una base de datos 625 de estado de enlace. En otras realizaciones, el dispositivo 611 de almacenamiento puede incluir cualquier número de dispositivos de almacenamiento local o distribuidos separados y cualquier disposición de datos almacenados en estos dispositivos. Los otros módulos ejecutados por el proceso de red también se pueden cargar o almacenar en el dispositivo 611 de almacenamiento.
Por tanto, se describen un método, sistema y aparato para controlar la congestión en una red de datos de paquetes. La descripción anterior pretende ser ilustrativa y no restrictiva. Muchas otras realizaciones resultarán evidentes para los expertos en la técnica al leer y comprender la descripción anterior.

Claims (20)

REIVINDICACIONES
1. - Un método realizado en un elemento (203; 503A-C; 601) de controlador central acoplado a una red (205; 501A-C) de conmutadores (207, 209, 211, 213, 215, 217) de datos de paquetes con puertos (603, 605) de entrada y salida con enlaces (225, 227, 229) entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador, el método para regular el tráfico en los enlaces y que comprende:
identificar (311, 313) un enlace congestionado (225) de la red, teniendo el enlace tráfico de una pluralidad de grupos (221, 223) de tráfico de paquetes desde un puerto de entrada a un puerto de salida;
determinar (231) una tasa de regulación (t1; t2) para un grupo (221; 223) de tráfico de paquetes del enlace congestionado basándose en una ponderación (w1; w2; w3; w4) del grupo y una tasa de tráfico actual (r1; r2) del grupo a través del enlace;
enviar (323) la tasa de regulación determinada desde el controlador central a un conmutador (209; 211) de entrada de la red, teniendo el conmutador de entrada un puerto de salida que está acoplado a un puerto de entrada del enlace.
2. - El método de la reivindicación 1, en el que identificar un enlace congestionado (225) comprende recibir (1; 313) un mensaje de congestión desde un conmutador (207) de informes de la red (205).
3. - El método de la reivindicación 2, que comprende además enviar una solicitud (315) de estadísticas de tráfico al conmutador (209; 211) de entrada en respuesta al mensaje de congestión.
4. - El método de la reivindicación 3, que comprende además recibir estadísticas (317) de tráfico desde el conmutador (209; 211) de entrada y en el que determinar (321) una tasa de regulación (t1; t2) comprende determinar una tasa de regulación usando las estadísticas de tráfico recibidas.
5. - El método de la reivindicación 4, en el que recibir estadísticas (317) de tráfico comprende recibir valores para tasas de tráfico de grupos (221, 223) de paquetes en un enlace relacionado con el mensaje de congestión recibido.
6. - El método de la reivindicación 1, que comprende además recopilar estadísticas de tráfico en el controlador (203; 601) de una pluralidad de conmutadores (209; 211) y en el que identificar un enlace congestionado (225) comprende determinar una carga de tráfico de datos de paquetes actual para un enlace usando las estadísticas recopiladas y comparar (319) la carga de tráfico de datos de paquetes actual con un ancho de banda de tráfico para el enlace.
7. - El método de la reivindicación 6, en el que determinar una carga actual comprende solicitar (315) estadísticas de tráfico de datos de paquetes desde conmutadores (209, 211) de la red (205).
8. - El método de la reivindicación 1, que comprende además categorizar los paquetes de datos en grupos.
9. - El método de la reivindicación 1, en el que determinar una tasa de regulación comprende comparar una tasa de tráfico actual (r1; r2) del grupo (221, 223) de tráfico con un ancho de banda de tráfico para el enlace congestionado (225).
10. - El método de la reivindicación 9, en el que la ponderación (w1; w2; w3; w4) para el grupo (221; 223) de tráfico proporciona la porción del ancho de banda del tráfico de enlace que puede usar el grupo de tráfico.
11. - El método de la reivindicación 9, en el que la tasa de regulación (t1; t2) es proporcional a la comparación de la tasa de tráfico actual (r1; r2) con la tasa de tráfico permitida.
12. - El método de la reivindicación 1, en el que cada grupo (221; 223) de tráfico de paquetes comprende al menos uno de los paquetes que tienen un número de puerto común, paquetes que tienen una dirección IP de origen común, paquetes que tienen una dirección IP de destino común y paquetes que tienen usuarios comunes.
13. - El método de la reivindicación 1, que comprende además recibir (4; 423) la tasa de regulación (t1; t2) determinada en el conmutador (209; 211) de entrada y descartar (325; 425) los paquetes de datos entrantes del grupo (221; 223) de tráfico basándose en la tasa de regulación.
14. - Un elemento (203; 503A-C; 601) de red acoplado a una red (205; 501A-C) de conmutadores (207, 20, 211, 213, 215, 217) de datos de paquetes con puertos (603, 605) de entrada y salida con enlaces (225, 227, 229) entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador, funcionando el elemento de red como un controlador central para regular el tráfico en los enlaces y que comprende:
un procesador (607) de red configurado para identificar un enlace congestionado (225) de la red, teniendo el enlace tráfico de una pluralidad de grupos (221, 223) de tráfico de paquetes desde un puerto de entrada a un puerto de salida, y para determinar una tasa de regulación (t1; t2) para un grupo (221; 223) de tráfico de paquetes del enlace congestionado basándose en una ponderación (w1; w2; w3; w4) del grupo y tasa de tráfico actual (r1; r2)del grupo a través del enlace; y
un puerto (605) de transmisión acoplado a la red configurado para enviar la tasa de regulación determinada desde el elemento de red a un conmutador (209; 211) de entrada del enlace, teniendo el conmutador de entrada un puerto de salida que está acoplado a un puerto de entrada del enlace.
15. - El elemento (203; 601) de red de la reivindicación 14, que comprende además:
un puerto (603) de recepción para recopilar estadísticas de tráfico de una pluralidad de conmutadores (209, 211) de la red (205); y
una memoria (611) configurada para almacenar las estadísticas recopiladas, estando dispuesto el procesador (607) para identificar un enlace congestionado determinando una carga de tráfico de datos de paquetes actual para un enlace usando las estadísticas recopiladas y comparando la carga de tráfico de datos de paquetes actual con un ancho de banda de tráfico para el enlace.
16. - El elemento (203; 601) de red de la reivindicación 15, en el que el procesador está dispuesto para determinar una carga actual solicitando estadísticas de tráfico de datos de paquetes de conmutadores (209, 211) de la red (205; 501A-C) a través del puerto (605) de transmisión.
17. - El elemento (203; 601) de red de la reivindicación 15, en el que el procesador (607) determina una tasa de regulación (t1; t2) comparando una tasa de tráfico actual (r1; r2) del grupo (221; 223) de tráfico con un ancho de banda de tráfico para el enlace congestionado (225).
18. - Un sistema que comprende el elemento que funciona como un controlador central (203; 503A-C; 601) de acuerdo con cualquiera de las reivindicaciones 14 a 17 y un elemento (601) de red acoplado a la red (205; 501A-C) de conmutadores (207, 20, 211, 213, 215, 217) de datos de paquetes, teniendo el elemento de red un puerto (603, 605) de entrada y de salida para formar enlaces (225, 227, 229) con conmutadores de datos de paquetes de la red entre un puerto de entrada de un conmutador y un puerto de salida de otro conmutador, funcionado el elemento de red para regular el tráfico en los enlaces a los que está conectado basándose en las instrucciones de un controlador central y que comprende:
un procesador (607) configurado para identificar un enlace congestionado (225) de la red comparando una carga de tráfico de datos de paquetes actual en el enlace con el ancho de banda de tráfico de datos de paquetes del enlace, incluyendo la carga el tráfico de una pluralidad de grupos de tráfico de paquetes, teniendo el enlace el tráfico de una pluralidad de grupos (221, 223) de tráfico de paquetes desde un puerto (603) de entrada del elemento de red; y un puerto (605) de transmisión configurado para enviar un mensaje de congestión a un controlador central de la red.
19. - El sistema de la reivindicación 18, en el que el elemento (601) de red comprende además un puerto (603) de recepción configurado para recibir una tasa de regulación (t1; t2) del controlador central (203; 503A-C; 601), siendo la tasa de regulación para un grupo (221; 223) de tráfico de paquetes del enlace congestionado (225) basándose en una ponderación (w1; w2; w3; w4) del grupo y una tasa de tráfico actual (r1; r2) del grupo,
siendo dispuesto el procesador (607) para descartar los paquetes de datos entrantes del grupo de tráfico basándose en la tasa de regulación.
20. - El sistema de la reivindicación 18, en el que el elemento (601) de red comprende además una memoria (611) configurado para recopilar estadísticas de tráfico para transmitirlas al controlador central (203; 503A-C; 601), incluyendo las estadísticas de tráfico cargas de tráfico de datos de paquetes para un enlace identificado por grupos de tráfico.
ES13731888T 2012-05-04 2013-05-02 Control de congestión en formación de redes de datos de paquete Active ES2825975T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/464,182 US9013995B2 (en) 2012-05-04 2012-05-04 Congestion control in packet data networking
PCT/IB2013/053504 WO2013164795A1 (en) 2012-05-04 2013-05-02 Congestion control in packet data networking

Publications (1)

Publication Number Publication Date
ES2825975T3 true ES2825975T3 (es) 2021-05-17

Family

ID=48699870

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13731888T Active ES2825975T3 (es) 2012-05-04 2013-05-02 Control de congestión en formación de redes de datos de paquete

Country Status (12)

Country Link
US (2) US9013995B2 (es)
EP (1) EP2845347B1 (es)
JP (1) JP6321628B2 (es)
KR (1) KR102104047B1 (es)
CN (2) CN104272653B (es)
DK (1) DK2845347T3 (es)
ES (1) ES2825975T3 (es)
HU (1) HUE052257T2 (es)
IN (1) IN2014DN09403A (es)
PL (1) PL2845347T3 (es)
PT (1) PT2845347T (es)
WO (1) WO2013164795A1 (es)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012833A (ja) * 2011-06-28 2013-01-17 Canon Inc 送信装置及び送信装置の制御方法
WO2013158115A1 (en) * 2012-04-20 2013-10-24 Hewlett-Packard Development Company, L.P. Controlling data rates of data flows based on information indicating congestion
US9384354B2 (en) 2013-02-20 2016-07-05 International Business Machines Corporation Rule matching in the presence of languages with no types or as an adjunct to current analyses for security vulnerability analysis
EP2965473A1 (en) * 2013-03-04 2016-01-13 Nokia Solutions and Networks Oy User plane congestion control
US10313180B2 (en) * 2013-03-13 2019-06-04 Dell Products L.P. Systems and methods for managing switching devices in an information handling system
US9954781B2 (en) 2013-03-15 2018-04-24 International Business Machines Corporation Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced Ethernet networks
US9219689B2 (en) 2013-03-15 2015-12-22 International Business Machines Corporation Source-driven switch probing with feedback request
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9407560B2 (en) * 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9253096B2 (en) * 2013-03-15 2016-02-02 International Business Machines Corporation Bypassing congestion points in a converged enhanced ethernet fabric
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9444748B2 (en) * 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9401857B2 (en) 2013-03-15 2016-07-26 International Business Machines Corporation Coherent load monitoring of physical and virtual networks with synchronous status acquisition
CN104283808B (zh) * 2013-07-03 2019-03-26 华为技术有限公司 拥塞控制方法、设备及系统
US9736041B2 (en) * 2013-08-13 2017-08-15 Nec Corporation Transparent software-defined network management
US9338096B2 (en) * 2013-08-30 2016-05-10 Futurewei Technologies, Inc. Multicast tree packing for multi-party video conferencing under SDN environment
US10581728B1 (en) * 2013-09-20 2020-03-03 Amazon Technologies, Inc. Rate limiting of network traffic
WO2015052867A1 (ja) * 2013-10-11 2015-04-16 日本電気株式会社 端末装置、端末装置制御方法および端末装置制御プログラム
JP6236310B2 (ja) * 2013-12-19 2017-11-22 Kddi株式会社 トラヒックフロー割当方法および装置
US9520961B2 (en) * 2014-01-17 2016-12-13 Telefonaktiebolaget L M Ericsson (Publ) System and methods for optical lambda flow steering
US9397926B2 (en) * 2014-08-05 2016-07-19 Dell Products L.P. Peer-influenced aggregate member selection
EP3198810B1 (en) * 2014-09-24 2019-01-30 Foundation for Research and Technology Hellas FORTH Dynamic max-min fair rate regulation apparatuses, methods and systems
CN105814844B (zh) * 2014-11-17 2019-08-16 华为技术有限公司 交换机端口控制方法、装置及系统
US10764162B2 (en) 2015-03-25 2020-09-01 Gigamon Inc. In-fabric traffic analysis
US10986018B2 (en) * 2015-05-05 2021-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Reducing traffic overload in software defined network
WO2017000097A1 (zh) * 2015-06-27 2017-01-05 华为技术有限公司 一种数据转发的方法、装置和系统
CN106559349B (zh) * 2015-09-24 2019-03-19 阿里巴巴集团控股有限公司 业务传输速率的控制方法及装置、系统
US20180287932A1 (en) * 2015-09-30 2018-10-04 Hewlett-Packard Enterprise Development L.P. Identification of an sdn action path based on a measured flow rate
TWI713332B (zh) * 2017-01-19 2020-12-11 香港商阿里巴巴集團服務有限公司 業務傳輸速率的控制方法及裝置、系統
US10429917B2 (en) * 2017-04-21 2019-10-01 Dell Products L.P. Calculating a throttle rate for battery current limiting
US10637734B2 (en) 2017-05-31 2020-04-28 Cisco Technology, Inc. Techniques for adaptively and selectively protecting control plane of communications network
US10536379B2 (en) * 2017-09-28 2020-01-14 Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. System and method for control traffic reduction between SDN controller and switch
US10541893B2 (en) 2017-10-25 2020-01-21 Cisco Technology, Inc. System and method for obtaining micro-service telemetry data
CN109842570B (zh) 2017-11-27 2021-10-22 华为技术有限公司 聚合速率控制方法、设备以及系统
US11736406B2 (en) 2017-11-30 2023-08-22 Comcast Cable Communications, Llc Assured related packet transmission, delivery and processing
CN110233798B (zh) 2018-03-05 2021-02-26 华为技术有限公司 数据处理方法、装置及系统
CN108494699B (zh) * 2018-03-30 2021-10-19 山东师范大学 一种具有中心控制节点的网络拥塞控制方法
US11134430B2 (en) 2018-12-10 2021-09-28 At&T Intellectual Property I, L.P. System and method for detecting and acting upon a violation of terms of service
CN112787944B (zh) * 2019-11-11 2023-10-31 中兴通讯股份有限公司 流量控制方法、设备及计算机可读存储介质
US11256655B2 (en) 2019-11-19 2022-02-22 Oracle International Corporation System and method for providing bandwidth congestion control in a private fabric in a high performance computing environment
US11463547B2 (en) * 2019-12-12 2022-10-04 Google Llc Reliable transport protocol and hardware architecture for datacenter networking

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4022017B2 (ja) * 1999-03-17 2007-12-12 富士通株式会社 Lan中継装置
US20040136379A1 (en) * 2001-03-13 2004-07-15 Liao Raymond R Method and apparatus for allocation of resources
US7596627B2 (en) * 2001-12-18 2009-09-29 Cisco Technology, Inc. Methods and apparatus for network congestion control
US20040246895A1 (en) * 2003-06-09 2004-12-09 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth-limited supervisory packet transmission to control congestion and call establishment in packet-based networks
US20050108444A1 (en) * 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
JP2006166059A (ja) * 2004-12-08 2006-06-22 Nippon Telegr & Teleph Corp <Ntt> マーキング方法およびマーキング装置
US8059540B2 (en) * 2007-05-25 2011-11-15 Futurewei Technologies, Inc. Policy based and link utilization triggered congestion control
CN101582836B (zh) * 2008-05-16 2011-06-01 华为技术有限公司 拥塞控制的方法、无线网状网节点和系统
CN101478784B (zh) * 2008-12-31 2011-04-20 华为技术有限公司 一种控制网络拥塞的方法和装置
US8693328B2 (en) * 2009-02-19 2014-04-08 Sandvine Incorporated Ulc Method and apparatus for distributing credits to multiple shapers to enable shaping traffic targets in packet communication networks
JP5326908B2 (ja) * 2009-07-29 2013-10-30 ソニー株式会社 送信レート制御方法および通信装置
WO2011049135A1 (ja) * 2009-10-23 2011-04-28 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
US8443151B2 (en) * 2009-11-09 2013-05-14 Intel Corporation Prefetch optimization in shared resource multi-core systems
CN102098727B (zh) * 2009-12-15 2014-05-07 华为技术有限公司 数据速率控制方法和装置
JP5440200B2 (ja) * 2010-01-19 2014-03-12 富士通株式会社 中継装置及び帯域制御方法
US9094326B2 (en) * 2010-11-02 2015-07-28 Qualcomm Incorporated Systems and methods for communicating in a network
CN102231711B (zh) * 2011-07-19 2013-11-06 西安电子科技大学 基于维纳预测动态调整节点拥塞等级的路由控制方法
US8730806B2 (en) 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks

Also Published As

Publication number Publication date
US20150195203A1 (en) 2015-07-09
JP2015519823A (ja) 2015-07-09
EP2845347B1 (en) 2020-07-22
DK2845347T3 (da) 2020-08-31
JP6321628B2 (ja) 2018-05-09
CN104272653B (zh) 2018-05-08
IN2014DN09403A (es) 2015-07-17
US9197562B2 (en) 2015-11-24
PT2845347T (pt) 2020-08-27
HUE052257T2 (hu) 2021-04-28
CN104272653A (zh) 2015-01-07
CN108667743A (zh) 2018-10-16
KR102104047B1 (ko) 2020-04-23
WO2013164795A1 (en) 2013-11-07
US9013995B2 (en) 2015-04-21
KR20150017723A (ko) 2015-02-17
EP2845347A1 (en) 2015-03-11
US20130294236A1 (en) 2013-11-07
CN108667743B (zh) 2022-03-29
PL2845347T3 (pl) 2021-01-11

Similar Documents

Publication Publication Date Title
ES2825975T3 (es) Control de congestión en formación de redes de datos de paquete
US20220210092A1 (en) System and method for facilitating global fairness in a network
US10938724B2 (en) Flow rate based network load balancing
EP1851921B1 (en) Admission control and routing in a telecommunications network based on the consideration of all physical and logical links
KR102006038B1 (ko) 분할 아키텍처 시스템에서의 제어기-스위치 접속성의 회복력 인식 하이브리드 설계
Tomovic et al. Performance comparison of QoS routing algorithms applicable to large-scale SDN networks
US9667570B2 (en) Fabric extra traffic
Trestian et al. OFLoad: An OpenFlow-based dynamic load balancing strategy for datacenter networks
Tomovic et al. Fast and efficient bandwidth-delay constrained routing algorithm for SDN networks
KR20160134790A (ko) 강화된 흐름 라우팅, 확장성 및 보안성을 가진 자율 시스템들 내에서 그리고 이 자율 시스템들 사이에서 트래픽의 소프트웨어 정의 라우팅을 위한 시스템 및 방법
Huang et al. Joint middlebox selection and routing for software-defined networking
Tomovic et al. A new approach to dynamic routing in SDN networks
Seliuchenko et al. Enhanced multi-commodity flow model for QoS-aware routing in SDN
SE526346C2 (sv) Metod för kontrollera vidarebefordringskvaliteten i ett datanät
Domżał et al. Admission control in flow-aware multi-topology adaptive routing
Tkachova et al. A network load balancing algorithm for overlay-based SDN solutions
US20090141624A1 (en) Method and System for A Novel Flow Admission Control Framework
Kulkarni et al. On multipath routing algorithm for software defined networks
Wang et al. A credibility-based congestion control method
Tamura et al. Analysis of two-phase path management scheme for MPLS traffic engineering