ES2709354T3 - Procedimiento y aparato de implementación de gestión de tráfico y dispositivo de red - Google Patents

Procedimiento y aparato de implementación de gestión de tráfico y dispositivo de red Download PDF

Info

Publication number
ES2709354T3
ES2709354T3 ES15837302T ES15837302T ES2709354T3 ES 2709354 T3 ES2709354 T3 ES 2709354T3 ES 15837302 T ES15837302 T ES 15837302T ES 15837302 T ES15837302 T ES 15837302T ES 2709354 T3 ES2709354 T3 ES 2709354T3
Authority
ES
Spain
Prior art keywords
packet
management
queue
request
chip
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
ES15837302T
Other languages
English (en)
Inventor
Weibo Xiong
Binbin Wu
Minghui Wang
Guichao Huo
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 ES2709354T3 publication Critical patent/ES2709354T3/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC

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 dispositivo de red que comprende: una gestión de tráfico, TM, un aparato de implementación (101), un procesador (102) y un chip de un tejido de conmutación (103) y un puerto de comunicación, en el que: el procesador (102) comprende una primera interfaz y una segunda interfaz, en el que el procesador (102) se comunica con el aparato de implementación TM (101) a través de la primera interfaz, y se comunica con el chip del tejido de conmutación (103) a través de la segunda interfaz; el puerto de comunicación se utiliza para comunicarse con otro dispositivo de red, en el que después de que el dispositivo de red reciba un paquete de datos del puerto de comunicación, el dispositivo de red envía el paquete de datos al procesador (102) para su procesamiento mediante el chip del tejido de conmutación (103). ; el chip del tejido de conmutación (103) está configurado para enviar el paquete de datos al procesador (102) a través de la segunda interfaz; el procesador (102) está configurado para analizar el paquete de datos y adquirir un identificador de flujo; adquirir un identificador de cola de una cola de flujo correspondiente según el identificador de flujo y almacenar el paquete de datos en la cola de flujo; y enviar una solicitud de gestión de paquetes al aparato de implementación TM (101) a través de la primera interfaz, en el que la solicitud de gestión de paquetes comprende el identificador de cola; el aparato de implementación TM (101) está configurado para recibir la solicitud de gestión de paquetes; realizar la gestión de tráfico en la solicitud de gestión de paquetes; generar una respuesta de gestión de paquetes según un resultado de gestión, en el que la respuesta de gestión de paquetes comprende una indicación de gestión y el identificador de cola, la indicación de gestión es una indicación de procesamiento de descarte o una indicación de procesamiento de reenvío; y enviar la respuesta de gestión de paquetes al procesador (102); y el procesador (102) está configurado además para recibir la respuesta de gestión de paquetes a través de la primera interfaz, y procesar, según la indicación de gestión, el paquete de datos en la cola de flujo correspondiente al identificador de cola.

Description

DESCRIPCION
Procedimiento y aparato de implementacion de gestion de trafico y dispositivo de red.
Campo tecnico
La presente invencion se refiere al campo de las comunicaciones de red y, en particular, a un procedimiento y aparato de implementacion de gestion de trafico, y a un dispositivo de red.
Antecedentes
Con el desarrollo de las redes y las tecnologias de protocolo de Internet (protocolo de Internet, IP para abreviar), una red IP ha cambiado de una red que proporciona solo un servicio de datos a una red que proporciona varios servicios, por ejemplo, datos, voz, video e imagen. Debido a las caracteristicas de los diferentes servicios, un dispositivo necesita utilizar una tecnologia de calidad de servicio (calidad de servicio, QoS para abreviar) para proporcionar QoS de diferentes clases a flujos de datos de diferentes tipos de servicio. Los factores para evaluar la calidad de servicio incluyen un ancho de banda de transmision, un retardo de transmision, una tasa de perdida de paquetes, una fluctuacion de fase y similares. En general, la QoS se puede mejorar desde varios aspectos, por ejemplo, asegurando un ancho de banda de transmision, reduciendo el retardo de transmision, reduciendo la tasa de perdida de paquetes de datos y reduciendo la fluctuacion de fase. En general, un dispositivo implementa, mediante una funcion de gestion de trafico (gestion de trafico, TM para abreviar), objetivos de rendimiento, por ejemplo, un ancho de banda de transmision, un retardo de transmision, una tasa de perdida de paquetes y una fluctuacion de fase de un flujo de datos. La funcion TM puede implementarse en un chip de procesamiento de protocolo o un chip de un tejido de conmutacion, o puede implementarse mediante un chip TM independiente. Un chip TM independiente puede satisfacer cada vez mas demandas de servicio, capacidades de conmutacion y demandas de ancho de banda cada vez mayores, y requisitos de QoS cada vez mas altos. Actualmente, un chip TM en un dispositivo generalmente se ubica en una ruta de datos entre una unidad central de procesamiento (CPU) y un chip de un tejido de conmutacion, como se muestra en la FIG. 1. Una interfaz del chip TM debe ser compatible con una interfaz de datos a alta velocidad de la ruta de datos, lo que hace que la interfaz del chip TM sea inflexible y complicada de implementar; ademas, el chip TM necesita utilizar una matriz de puertas programables por campo de alta especificacion (FPGA), como la serie Stratix de la compania Altera y la serie virtex de la compania Xilinx (Xilinx), a fin de cumplir con el requisito de una funcion de gestion de trafico, procesamiento logico, y rendimiento. Ademas, ademas de un procesador o un chip de un tejido de conmutacion, una unidad de almacenamiento externo dedicado, como una memoria de acceso aleatorio sincrona y dinamica de tasa de datos doble (Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM para abreviar) o una memoria de acceso aleatorio sincrona y dinamica de tasa de datos cuadruple (Quad Data Rate Synchronous Dynamic Random Access Memory, QDR SDRAM para abreviar), debe estar equipada para almacenar un paquete de datos y la informacion relacionada. El chip TM tambien debe estar equipado con una unidad de almacenamiento externa dedicada, como una DDR SDRAM o una QDR SDRAM, para almacenar un paquete de datos y la informacion relacionada, lo que genera un coste relativamente alto.
El documento US 7035212 B1 describe una arquitectura de reenvio de extremo a extremo. La arquitectura incluye un centro de memoria que tiene una primera interfaz de entrada para recibir paquetes desde un puerto de origen. Los paquetes tienen identificadores de flujo de entrada asociados. Una segunda interfaz de entrada emite los paquetes a un tejido de conmutacion. Un controlador de entrada gestiona como los paquetes se ponen en cola y son emitidos al tejido de conmutacion. Una estructura similar se utiliza en el lado de salida del tejido de conmutacion. El documento US2007/0163433 A1 describe un dispositivo para uso en un sistema de fluido que incluye un elemento de perturbacion de flujo dentro de un canal de fluido.
Compendio
Segun un procedimiento y aparato de implementacion de gestion de trafico, y un dispositivo de red provisto en realizaciones de la presente invencion, un chip TM que se utiliza exclusivamente para la gestion de trafico esta componentizado y esta situado a un lado de un procesador o un chip de un tejido de conmutacion, e interactua e interfunciona con el procesador o el chip de un tejido de conmutacion, a fin de implementar una funcion de gestion de trafico del dispositivo de red, que puede reducir la dificultad de implementacion y la complejidad del hardware TM y reducir el coste de un dispositivo.
La presente invencion se define en las reivindicaciones adjuntas.
Segun el procedimiento y el aparato de implementacion de gestion de trafico, y el dispositivo de red provisto en las realizaciones de la presente invencion, un aparato de implementacion TM esta componentizado y esta situado a un lado de un procesador o un chip de un tejido de conmutacion, e interfunciona con el procesador o el chip de un tejido de conmutacion, a fin de implementar una funcion de gestion de trafico del dispositivo de red. Debido a que el analisis y la clasificacion del trafico se realizan en un paquete de datos en el procesador o en el chip de un tejido de conmutacion, el aparato de implementacion TM adquiere informacion relacionada del paquete de datos mediante la comunicacion con el procesador o el chip de un tejido de conmutacion, a fin de realizar la gestion de trafico. De esta manera, el aparato de implementacion TM no necesita usar un FPGA de alta especificacion, y un chip FPGA de nivel medio y bajo puede cumplir con los requisitos de la funcion de gestion de trafico, el procesamiento logico y el rendimiento, lo que reduce el coste del dispositivo de red. Ademas, el aparato de implementacion TM no necesita almacenar el paquete de datos, lo que reduce la cantidad de unidades de almacenamiento externas del dispositivo, y puede reducir aun mas el coste del dispositivo de red. Ademas, debido a que una interfaz de comunicaciones entre el aparato de implementacion TM y el procesador o el chip de un tejido de conmutacion no esta limitada por una interfaz de datos a alta velocidad de una ruta de datos (utilizada para la comunicacion entre el chip de un tejido de conmutacion y el procesador), la implementacion de la interfaz es flexible, que tambien puede reducir la complejidad de la implementacion y la dificultad del dispositivo de red.
Descripcion breve de los dibujos
La FIG. 1 es un diagrama estructural esquematico de un dispositivo de red segun una realizacion de la presente invencion;
La FIG. 2A y la FIG. 2B son diagramas estructurales esquematicos de otro dispositivo de red segun una realizacion de la presente invencion;
la FIG. 3 es un diagrama de flujo de un procedimiento de implementacion de gestion de trafico segun una realizacion de la presente invencion; y
la FIG. 4 es un diagrama esquematico de un aparato de implementacion de gestion de trafico segun una realizacion de la presente invencion.
Descripcion de las realizaciones
Para hacer que los objetivos, caracteristicas y ventajas de las realizaciones de la presente invencion sean mas claros de entender, a continuacion se describen detalladamente las realizaciones de la presente invencion en referencia a los dibujos adjuntos y las formas de implementacion especificas.
Al ser diferente de la tecnica anterior, un chip TM se coloca en cascada en una ruta de datos entre un procesador y un chip de un tejido de conmutacion (ingles: switching fabric), en las realizaciones de la presente invencion, un aparato de implementacion TM (hardware TM o chip TM) esta situado a un lado de un procesador o un chip de un tejido de conmutacion, y una interfaz del aparato de implementacion TM no esta necesariamente limitada a una interfaz de datos a alta velocidad de una ruta de datos. El aparato de implementacion TM no necesita almacenar y procesar un paquete de datos, pero el procesador o el chip de un tejido de conmutacion almacena el paquete de datos y realiza el procesamiento, por ejemplo, el analisis y la clasificacion del trafico en el paquete de datos. Al comunicarse con el procesador o el chip de un tejido de conmutacion, el aparato de implementacion TM adquiere informacion relacionada con el paquete de datos, como por ejemplo, un identificador de cola de flujo, la longitud de un paquete y un numero de serie y, posteriormente, realiza funciones de gestion de trafico como el control de congestion y planificacion de colas segun la informacion relacionada del paquete de datos. De esta manera, el aparato de implementacion TM solo necesita almacenar la informacion relacionada del paquete de datos, y no necesita almacenar el paquete de datos mediante una unidad de almacenamiento externo dedicado, lo que reduce la cantidad de unidades de almacenamiento externas requeridas por un dispositivo, y puede reducir el coste de un dispositivo. A continuacion, el aparato de implementacion TM realimenta un resultado de la ejecucion, segun la informacion relacionada del paquete de datos, la gestion de trafico al procesador o al chip de un tejido de conmutacion, de modo que el procesador o el chip de un tejido de conmutacion ejecutan una operacion correspondiente en el paquete de datos segun el resultado, para implementar la gestion de trafico en el paquete de datos. De esta manera, el aparato de implementacion TM interactua con el procesador o el chip de un tejido de conmutacion, que no solo puede implementar una funcion de gestion de trafico de un dispositivo de red, sino que tambien reduce el coste de un dispositivo. Ademas, una interfaz para la comunicacion entre el aparato de implementacion TM y el procesador o el chip de un tejido de conmutacion se desacopla de la interfaz de datos a alta velocidad de la ruta de datos, lo que tambien puede reducir la complejidad de implementacion del dispositivo de red. En lo que respecta a la FIG. 1, una realizacion de la presente invencion proporciona un dispositivo de red, donde el dispositivo de red 10 incluye un aparato de implementacion TM 101, un procesador 102, un chip de un tejido de conmutacion 103 y una memoria 104.
El aparato de implementacion TM 101, el procesador 102 y el chip de un tejido de conmutacion 103 estan conectados entre si mediante un bus 105, y el procesador 102 puede realizar operaciones, tales como configuracion, control y gestion, en el aparato de implementacion TM 101 y el chip de un tejido de conmutacion 103 mediante el bus 105. El procesador 102 accede a la memoria 104 mediante el bus 105.
El bus 105 puede ser un bus de interconexion de componentes perifericos (peripheral component interconnect, PCI para abreviar), una arquitectura estandar de la industria extendida (extended industry standard architecture, EISA para abreviar), un bus o similares. El bus 105 puede clasificarse en un bus de direcciones, un bus de datos, un bus de control y similares. Para facilitar la denotacion, el bus se denota mediante solo una linea en negrita en la FIG. 1; sin embargo, no indica que haya solo un bus o solo un tipo de bus.
El aparato de implementacion TM 101 esta situado a un lado del procesador 102, e implementa una funcion de gestion de trafico a traves de la interaccion y el interfuncionamiento con el procesador 102.
El procesador 102 incluye una primera interfaz que se emplea para comunicarse con el aparato de implementacion TM 101, e incluye ademas una segunda interfaz que se emplea para comunicarse con el chip de un tejido de conmutacion 103. La segunda interfaz es generalmente una interfaz de datos a alta velocidad, por ejemplo, una interfaz de 40 gigabits por segundo (Gbit/s), y puede usar cualquier tipo de protocolo compatible con el procesador 102 y el chip de un tejido de conmutacion 103, por ejemplo, una interfaz independiente del medio de 10 gigabits (10 Gigabit Media Independent Interface, XGMII para abreviar), una XAUI (expansion de la XGMII) o PCIe (PCI Express, Peripheral Component Interconnect Express). Una velocidad de la primera interfaz puede ser mas baja que una velocidad de la segunda interfaz, por ejemplo, la velocidad de la primera interfaz puede ser de 4 Gbit/s, 10 Gbps o similares. Un tipo de protocolo de la primera interfaz puede ser el mismo que un tipo de protocolo de la segunda interfaz, o puede ser diferente de un tipo de protocolo de la segunda interfaz, el cual se determina especificamente segun un tipo de protocolo compatible con el procesador 102 y el aparato de implementacion TM 101.
Por otro lado, el dispositivo de red 10 incluye ademas varios puertos de comunicaciones que se utilizan para comunicarse con otros dispositivos de red. Despues de recibir un paquete de datos desde un puerto de comunicaciones, el dispositivo de red 10 envia, mediante el chip de un tejido de conmutacion 103, el paquete de datos recibido en el procesador 102 para su procesamiento.
La memoria 104 esta configurada para almacenar un programa. Concretamente, el programa puede incluir un codigo de programa, donde el codigo de programa incluye una instruccion de operaciones por ordenador. La memoria 104 puede incluir una memoria de acceso aleatorio (random access memory, RAM para abreviar), como una DDR SDRAM, o puede incluir una memoria no volatil (non-volatile memory), como una memoria flash (en ingles: flash memory), una unidad de disco duro (en ingles: hard disk drive, HDD para abreviar) o una unidad de estado solido (en ingles: solid-state drive, SSD para abreviar).
El chip de un tejido de conmutacion 103 esta configurado para enviar el paquete de datos al procesador 102 a traves de la segunda interfaz.
El procesador 102 ejecuta el programa almacenado en la memoria 104 a fin de: analizar el paquete de datos para adquirir un identificador de flujo; adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo y almacenar el paquete de datos en la cola de flujo; y enviar una solicitud de gestion de paquetes al aparato de implementacion TM 101 a traves de la primera interfaz, donde la solicitud de gestion de paquetes incluye el identificador de cola.
La memoria 104 esta configurada ademas para almacenar la cola de flujo, donde el identificador de cola se emplea para identificar la cola de flujo.
El aparato de implementacion TM 101 esta configurado para recibir la solicitud de gestion de paquetes; realizar la gestion de trafico en la solicitud de gestion de paquetes; generar una respuesta de gestion de paquetes segun un resultado de gestion, donde la respuesta de gestion de paquetes incluye una indicacion de gestion y el identificador de cola; y enviar la respuesta de gestion de paquetes al procesador 102 de modo que el procesador 102 procesa, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El procesador 102 esta configurado ademas para recibir la respuesta de gestion de paquetes a traves de la primera interfaz, y procesar, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola, a fin de implementar la gestion de trafico del dispositivo de red.
El aparato de implementacion TM 101 esta configurado especificamente para determinar, segun una politica de gestion de la congestion del aparato de implementacion TM 101 y un estado del bufer de una cola de planificacion del aparato de implementacion TM 101, si se descarta la solicitud de gestion de paquetes; y si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de descarte, de modo que el procesador 102 descarta el paquete de datos en la cola de flujo correspondiente a la identificador de cola; o si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion, donde se emplea la cola de planificacion para almacenar la solicitud de gestion de paquetes. El procesador 102 esta configurado especificamente para descartar, segun la indicacion de procesamiento de descarte, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El aparato de implementacion TM 101 esta ademas configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun una politica de planificacion de cola del aparato de implementacion TM 101; y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de la gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de reenvio, de modo que el procesador 102 reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Ademas, el procesador 102 esta configurado especificamente para reenviar, segun la indicacion de procesamiento de reenvio, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Debido a que la longitud de la solicitud de gestion de paquetes es mucho mas corta que la longitud del paquete de datos, el aparato de implementacion TM 101 solo necesita una unidad de almacenamiento externa, como una QDR SDRAM, para almacenar la cola de planificacion, y la unidad de almacenamiento externa no necesita tener una capacidad extremadamente grande. Ademas, como la longitud de la solicitud de gestion de paquetes es generalmente fija, la cola de planificacion puede implementarse en forma de una lista enlazada.
La politica de gestion de la congestion del aparato de implementacion TM 101 incluye una politica, tal como la caida de la cola de congestion o la caida aleatoria de la congestion.
Cuando la politica de gestion de la congestion es la caida de la cola de congestion, que el aparato de implementacion TM 101 determina, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, determinar, segun la politica de gestion de la congestion, que se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
Cuando la politica de gestion de la congestion es la caida aleatoria de la congestion, que el aparato de implementacion TM 101 determina, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, adquirir, de la cola de planificacion segun la politica de gestion de la congestion, un paquete que esta listo para ser descartado aleatoriamente, y si el paquete que esta listo para ser descartado aleatoriamente incluye la solicitud de gestion de paquetes, determinar que se descarta la solicitud de gestion de paquetes, o si el paquete que esta listo para ser descartado aleatoriamente no incluye la solicitud de gestion de paquetes, determinar que no se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
La politica de planificacion de cola del aparato de implementacion TM 101 puede realizar la planificacion por byte, o puede realizar la planificacion por paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM 101 realiza la planificacion por paquete de datos, el aparato de implementacion TM 101 no necesita realizar la planificacion de colas segun la longitud de un paquete, y se determina si es necesario intercambiar la longitud del paquete de un paquete de datos entre el aparato de implementacion TM 101 y el procesador 102 segun una forma de implementacion del procesador 102.
Tres posibles formas de implementacion del procesador 102 son las siguientes:
En una forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador 102 guarda un puntero al encabezado y un puntero al final del paquete de datos en la cola de flujo, para que el paquete de datos se pueda adquirir correctamente desde la cola de flujo segun el puntero al encabezado y el puntero al final.
Cuando la politica de planificacion de cola del aparato de implementacion TM 101 realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud de un paquete; el procesador 102 esta configurado ademas para adquirir la longitud del paquete del paquete de datos; y
la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador 102 guarda un puntero al encabezado del paquete de datos en la cola de flujo y la longitud de un paquete del paquete de datos, para determinar el paquete de datos en la cola de flujo, de modo que el paquete de datos se pueda adquirir correctamente de la cola de flujo segun el puntero al encabezado y la longitud del paquete; y
el procesador 102 esta configurado ademas para adquirir la longitud del paquete del paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM 101 realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra posible forma de implementacion, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador 102 guarda solo un puntero al encabezado del paquete de datos en la cola de flujo; y el procesador 102 adquiere ademas la longitud de un paquete del paquete de datos, e intercambia la longitud del paquete del paquete de datos con el aparato de implementacion TM 101; la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la respuesta de la gestion de paquetes incluye ademas la longitud del paquete de modo que el procesador 102 adquiere, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al identificador de cola; y el procesador 102 esta configurado especificamente para adquirir correctamente, segun la longitud del paquete y el puntero al encabezado guardado, el paquete de datos de la cola de flujo correspondiente al identificador de cola, y procesar el paquete de datos segun la indicacion de gestion.
El procesador 102 anterior en esta realizacion de la presente invencion puede ser un procesador de proposito general que incluye una unidad central de procesamiento (Central Processing Unit, CPU para abreviar), un procesador de red (Network Processor, NP para abreviar) y similares; o puede ser un procesador de senal digital (DSP), un circuito integrado de aplicacion especifica (ASIC), un FPGA u otro dispositivo logico programable.
El aparato de implementacion TM 101 anterior puede ser un FPGA u otro dispositivo logico programable.
Ademas, el paquete de datos recibido por el procesador 102 a traves de la segunda interfaz puede ser un paquete fragmentado. Es decir, un paquete de datos se divide en varios paquetes fragmentados.
El procesador 102 puede configurarse ademas para volver a ensamblar varios paquetes fragmentados en un paquete de datos completo; a continuacion, como se ha descrito anteriormente, realizar el analisis y la clasificacion del trafico en el paquete de datos, es decir, adquirir un identificador de flujo; adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo; y almacenar el paquete de datos en la cola de flujo. De forma alternativa, el procesador 102 envia una solicitud de gestion de fragmentos correspondiente al paquete fragmentado al aparato de implementacion TM 101, donde la solicitud de gestion de fragmentos incluye informacion del fragmento y el identificador de cola anterior y, opcionalmente, incluye ademas la longitud de un paquete del paquete fragmentado. El aparato de implementacion TM 101 incluye ademas una lista de fragmentos enlazados que se emplea para almacenar varias solicitudes de gestion de fragmentos correspondientes a un paquete de datos, y el aparato de implementacion TM 101 utiliza la lista de fragmentos enlazados que almacena las diversas solicitudes de gestion de fragmentos correspondientes a un paquete de datos como un todo para realizar la gestion de trafico anterior, es decir, para realizar el control de congestion, almacenar el paquete de datos en una cola de planificacion y quitar de la cola el paquete de datos de la cola de planificacion, y similares.
Una solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM 101 y el procesador 102 tambien puede encontrar una perdida de paquetes. Por lo tanto, la solicitud de gestion de paquetes puede incluir ademas un primer numero de serie, y la respuesta de gestion de paquetes puede incluir ademas un segundo numero de serie para identificar si la solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM 101 y el procesador 102 encuentra una perdida de paquetes.
Concretamente, el procesador 102 genera una solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido; y despues de recibir la solicitud de gestion de paquetes, el aparato de implementacion TM 101 comprueba si un numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el aparato de implementacion TM 101 solicita al procesador 102 que retransmita una solicitud de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la solicitud de gestion de paquetes y el numero de serie de la solicitud de gestion de paquetes recibida anteriormente.
El aparato de implementacion TM 101 esta configurado ademas para enviar una primera solicitud de retransmision de paquetes, donde la primera solicitud de retransmision de paquetes incluye el primer numero de serie. El procesador 102 esta configurado ademas para recibir la primera solicitud de retransmision de paquetes y retransmitir la solicitud de gestion de paquetes correspondiente al primer numero de serie.
Del mismo modo, el aparato de implementacion TM 101 genera una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido; y despues de recibir la respuesta de gestion de paquetes, el procesador 102 comprueba si un numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el procesador 102 solicita al aparato de implementacion TM 101 que retransmita una respuesta de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la respuesta de gestion de paquetes y el numero de serie de la respuesta de gestion de paquetes recibida anteriormente.
El procesador 102 esta configurado ademas para enviar una segunda solicitud de retransmision de paquetes, donde la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie. El aparato de implementacion TM 101 esta configurado ademas para recibir la segunda solicitud de retransmision de paquetes y retransmitir la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
Ademas, el chip de un tejido de conmutacion 103 puede realizar un control de flujo inverso, es decir, el chip de un tejido de conmutacion 103 controla de manera inversa, segun un estado de flujo de conmutacion y reenvio realizado por el chip de un tejido de conmutacion 103, el reenvio de una cola de flujo por el procesador 102. El chip de un tejido de conmutacion 103 esta configurado ademas para enviar un paquete de control de flujo inverso al procesador 102, donde el paquete de control de flujo inverso incluye un requisito de control de trafico y un identificador de cola o informacion sobre un puerto de comunicaciones (por ejemplo, un numero de puerto). El procesador 102 esta configurado ademas para analizar y procesar el paquete de control de flujo inverso, y enviar una solicitud de control de flujo al aparato de implementacion TM 101, donde la solicitud de control de flujo incluye el identificador de cola y el requisito de control de trafico, de modo que el aparato de implementacion TM 101 puede realizar, segun el requisito de control de trafico, la planificacion de puesta en cola y salida de la cola en una cola de planificacion correspondiente al identificador de cola.
Segun el dispositivo de red provisto en esta realizacion de la presente invencion, un aparato de implementacion TM 101 esta situado a un lado del procesador 102, e interactua e interfunciona con el procesador 102, a fin de implementar una funcion de gestion de trafico del dispositivo de red. El aparato de implementacion TM 101 no necesita usar un FPGA de alta especificacion, y un chip FPGA de nivel medio y bajo puede cumplir con los requisitos de la funcion de gestion de trafico, el procesamiento logico y el rendimiento, lo que reduce el coste del dispositivo de red. Ademas, al ser diferente de un chip TM, en la tecnica anterior, que necesita estar equipado con una unidad de almacenamiento externo dedicado para almacenar un paquete de datos, el aparato de implementacion TM 101 en esta realizacion de la presente invencion no necesita almacenar un paquete de datos, lo cual reduce la cantidad de unidades de almacenamiento externas del dispositivo y puede reducir aun mas el coste del dispositivo de red. Ademas, debido a que una interfaz de comunicaciones (es decir, una primera interfaz) entre el aparato de implementacion TM 101 y el procesador 102 no esta limitada por una interfaz de datos a alta velocidad (es decir, una segunda interfaz) de una ruta de datos (utilizada para la comunicacion entre un chip de un tejido de conmutacion y el procesador), la implementacion de la interfaz es flexible, lo cual tambien puede reducir la complejidad de la implementacion y la dificultad del dispositivo de red.
En relacion con la FIG. 2A, una realizacion de la presente invencion proporciona otro dispositivo de red, donde el dispositivo de red 20 incluye un aparato de implementacion TM 201, un chip de un tejido de conmutacion 202 y una memoria 203.
El aparato de implementacion TM 201 esta conectado al chip del tejido de conmutacion 202 mediante un bus 204. El bus 204 puede ser un bus PCI, un bus EISA, o similar. El bus 204 puede clasificarse en un bus de direcciones, un bus de datos, un bus de control y similares. Para facilitar la denotacion, el bus se denota mediante solo una linea en negrita en la FIG. 2; sin embargo, no indica que haya solo un bus o solo un tipo de bus.
El chip del tejido de conmutacion 202 accede a la memoria 203 mediante el bus 204.
El aparato de implementacion TM 201 esta situado a un lado del chip del tejido de conmutacion 202, e implementa una funcion de gestion de trafico al interactuar e interfuncionar con el chip del tejido de conmutacion 202.
El chip del tejido de conmutacion 202 incluye una primera interfaz que se emplea para comunicarse con el aparato de implementacion TM 201, una velocidad de la primera interfaz no es necesario que sea extremadamente alta, y la velocidad de la primera interfaz puede ser de 4 Gbps, 10 Gbps o similar. La primera interfaz puede usar cualquier tipo de protocolo compatible con el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202, por ejemplo, una XAUI o una PCIe.
El dispositivo de red 20 incluye ademas varios puertos de comunicaciones que se utilizan para comunicarse con otros dispositivos de red. Despues de recibir un paquete de datos desde un puerto de comunicaciones, el dispositivo de red 20 envia el paquete de datos recibido al chip del tejido de conmutacion 202.
El chip del tejido de conmutacion 202 esta configurado para analizar el paquete de datos y adquirir un identificador de flujo; adquirir un identificador de cola de una cola de flujo segun el identificador de flujo y almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola; y enviar una solicitud de gestion de paquetes al aparato de implementacion TM 201 a traves de la primera interfaz, donde la solicitud de gestion de paquetes incluye el identificador de cola.
La memoria 203 esta configurada para almacenar la cola de flujo, donde el identificador de cola se emplea para identificar la cola de flujo.
La memoria 203 puede incluir una RAM, o puede incluir una memoria no volatil, por ejemplo, al menos una memoria de disco.
El aparato de implementacion TM 201 esta configurado para recibir la solicitud de gestion de paquetes; realizar la gestion de trafico en la solicitud de gestion de paquetes; generar una respuesta de gestion de paquetes segun un resultado de gestion, donde la respuesta de gestion de paquetes incluye una indicacion de gestion y el identificador de cola; y enviar la respuesta de gestion de paquetes al chip del tejido de conmutacion 202 de modo que el chip del tejido de conmutacion 202 procesa, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El chip del tejido de conmutacion 202 esta configurado ademas para recibir la respuesta de gestion de paquetes a traves de la primera interfaz, y procesar, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El aparato de implementacion TM 201 esta configurado especificamente para determinar, segun una politica de gestion de la congestion del aparato de implementacion TM 201 y un estado del bufer de una cola de planificacion del aparato de implementacion TM 201, si se descarta la solicitud de gestion de paquetes; y si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de descarte, de modo que el chip del tejido de conmutacion 202 descarta el paquete de datos en la cola de flujo correspondiente a la identificador de cola; o si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion, donde se emplea la cola de planificacion para almacenar la solicitud de gestion de paquetes.
El chip del tejido de conmutacion 202 esta configurado especificamente para descartar, segun la indicacion de procesamiento de descarte, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El aparato de implementacion TM 201 esta ademas configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun una politica de planificacion de cola del aparato de implementacion TM 201; y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de la gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de reenvio, de modo que el chip del tejido de conmutacion 202 reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Ademas, el chip del tejido de conmutacion 202 esta configurado especificamente para reenviar, segun la indicacion de procesamiento de reenvio, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Debido a que la longitud de la solicitud de gestion de paquetes es mucho mas corta que la longitud del paquete de datos, el aparato de implementacion TM 201 solo necesita una unidad de almacenamiento externa, como una QDR SDRAM, para almacenar la cola de planificacion, y la unidad de almacenamiento externa no necesita tener una capacidad extremadamente grande. Ademas, como la longitud de la solicitud de gestion de paquetes es generalmente fija, la cola de planificacion puede implementarse en forma de una lista enlazada.
La politica de gestion de la congestion del aparato de implementacion TM 201 incluye una politica, tal como la caida de la cola de congestion o la caida aleatoria de la congestion.
Cuando la politica de gestion de la congestion es la caida de la cola de congestion, que el aparato de implementacion TM 201 determina, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, determinar, segun la politica de gestion de la congestion, que se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
Cuando la politica de gestion de la congestion es la caida aleatoria de la congestion, que el aparato de implementacion TM 201 determina, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, adquirir, de la cola de planificacion segun la politica de gestion de la congestion, un paquete que esta listo para ser descartado aleatoriamente, y si el paquete que esta listo para ser descartado aleatoriamente incluye la solicitud de gestion de paquetes, determinar que se descarta la solicitud de gestion de paquetes, o si el paquete que esta listo para ser descartado aleatoriamente no incluye la solicitud de gestion de paquetes, determinar que no se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
Como se muestra en la FIG. 2B, el dispositivo de red 20 incluye ademas un procesador 205. El procesador 205 esta conectado al aparato de implementacion TM 201 y al chip del tejido de conmutacion 202 mediante el bus 204.
El procesador 205 puede realizar operaciones como la configuracion, el control y la gestion, en el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202 mediante el bus 204.
El procesador 205 puede ser un procesador de proposito general que incluye una CPU, un NP y similares; o puede ser un procesador de senal digital (DSP), un circuito integrado de aplicacion especifica (ASlC), un FPGA u otro dispositivo logico programable.
El chip del tejido de conmutacion 202 puede incluir ademas una segunda interfaz que se emplea para comunicarse con el procesador 205. La segunda interfaz es generalmente una interfaz de datos a alta velocidad, por ejemplo, una interfaz de 40 Gbps, y una velocidad de la segunda interfaz es generalmente mas alta que una velocidad de la primera interfaz. La segunda interfaz puede usar cualquier tipo de protocolo compatible con el procesador 205 y el chip del tejido de conmutacion 202, como una XAUI y una PCIe. Un tipo de protocolo de la segunda interfaz puede ser el mismo que un tipo de protocolo de la primera interfaz, o puede ser diferente de un tipo de protocolo de la primera interfaz, el cual se determina especificamente segun un tipo de protocolo compatible con el procesador 205 y el aparato de implementacion TM 201.
El chip del tejido de conmutacion 202 esta ademas configurado para enviar el paquete de datos al procesador 205 a traves de la segunda interfaz.
Ademas, el dispositivo de red 20 puede incluir ademas una memoria 206 que esta configurada para almacenar un programa. Concretamente, el programa puede incluir un codigo de programa, donde el codigo de programa incluye una instruccion de operaciones por ordenador. La memoria 206 puede incluir una memoria RAM, como una d Dr SDRAM, o puede incluir una memoria no volatil, como una memoria flash, un HDD o un SSD.
El procesador 205 accede a la memoria 206 mediante el bus 204. El procesador 205 ejecuta el programa almacenado en la memoria 206 para realizar operaciones tales como configuracion, control y gestion en el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202, y para comunicarse con el chip del tejido de conmutacion 202 y recibir el paquete de datos enviado por el chip del tejido de conmutacion 202.
La politica de planificacion de cola del aparato de implementacion TM 201 puede realizar la planificacion por byte, o puede realizar la planificacion por paquete de datos.
Concretamente, si la longitud del paquete de un paquete de datos debe intercambiarse entre el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202, debe determinarse segun la politica de planificacion de cola del aparato de implementacion TM 201 y el procesamiento realizado cuando el chip del tejido de conmutacion realiza la clasificacion de trafico en el paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM 201 realiza la planificacion por paquete de datos, el aparato de implementacion TM 201 no necesita realizar la planificacion de colas segun la longitud de un paquete, y se determina si es necesario intercambiar la longitud del paquete de un paquete de datos entre el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202 segun una forma de implementacion del chip del tejido de conmutacion 202.
Tres posibles formas de implementacion del chip del tejido de conmutacion 202 son las siguientes:
En una forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el chip del tejido de conmutacion 202 puede guardar un puntero al encabezado y un puntero al final del paquete de datos en la cola de flujo, para que el paquete de datos se pueda adquirir correctamente desde la cola de flujo segun el puntero al encabezado y el puntero al final.
Cuando la politica de planificacion de cola del aparato de implementacion TM 201 realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud de un paquete; el chip del tejido de conmutacion 202 esta configurado ademas para adquirir la longitud del paquete del paquete de datos; y
la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el chip del tejido de conmutacion 202 puede guardar un puntero al encabezado del paquete de datos en la cola de flujo y la longitud de un paquete del paquete de datos, para determinar el paquete de datos en la cola de flujo, de modo que el paquete de datos se pueda adquirir correctamente de la cola de flujo segun el puntero al encabezado y la longitud del paquete; y
el chip del tejido de conmutacion 202 esta configurado ademas para adquirir la longitud del paquete del paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM 201 realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra posible forma de implementacion, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador 202 puede guardar solo un puntero al encabezado del paquete de datos en la cola de flujo; y el chip del tejido de conmutacion 202 adquiere ademas la longitud de un paquete del paquete de datos, e intercambia la longitud del paquete del paquete de datos con el aparato de implementacion Tm 201;
la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la respuesta de la gestion de paquetes incluye ademas la longitud del paquete de modo que el chip del tejido de conmutacion 202 puede adquirir correctamente, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al identificador de cola; y el chip del tejido de conmutacion 202 esta configurado especificamente para adquirir correctamente, segun la longitud del paquete y el puntero al encabezado guardado, el paquete de datos de la cola de flujo correspondiente al identificador de cola, y procesar el paquete de datos segun la indicacion de gestion.
El aparato de implementacion TM 201 anterior puede ser un FPGA u otro dispositivo logico programable.
Ademas, el paquete de datos recibido por el chip del tejido de conmutacion 202 puede ser un paquete fragmentado. Es decir, un paquete de datos se divide en varios paquetes fragmentados.
El chip del tejido de conmutacion 202 puede configurarse ademas para volver a ensamblar varios paquetes fragmentados en un paquete de datos completo; a continuacion, como se ha descrito anteriormente, realizar el analisis y la clasificacion del trafico en el paquete de datos, es decir, adquirir un identificador de flujo, adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo, y almacenar el paquete de datos en la cola de flujo.
De forma alternativa, el chip del tejido de conmutacion 202 envia una solicitud de gestion de fragmentos correspondiente al paquete fragmentado al aparato de implementacion TM 201, donde la solicitud de gestion de fragmentos incluye informacion del fragmento y el identificador de cola anterior y, opcionalmente, incluye ademas la longitud de un paquete del paquete fragmentado. El aparato de implementacion TM 201 incluye ademas una lista de fragmentos enlazados que se emplea para almacenar varias solicitudes de gestion de fragmentos correspondientes a un paquete de datos, y el aparato de implementacion TM 201 utiliza la lista de fragmentos enlazados que almacena las diversas solicitudes de gestion de fragmentos correspondientes a un paquete de datos como un todo para realizar la gestion de trafico anterior, es decir, para realizar el control de congestion, almacenar el paquete de datos en una cola de planificacion y quitar de la cola el paquete de datos de la cola de planificacion, y similares.
Una solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202 tambien puede encontrar una perdida de paquetes. Por lo tanto, la solicitud de gestion de paquetes puede incluir ademas un primer numero de serie, y la respuesta de gestion de paquetes puede incluir ademas un segundo numero de serie para identificar si la solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202 encuentra una perdida de paquetes.
Concretamente, el chip del tejido de conmutacion 202 genera una solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido; y despues de recibir la solicitud de gestion de paquetes, el aparato de implementacion TM 201 comprueba si un numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el aparato de implementacion TM 201 solicita al chip del tejido de conmutacion 202 que retransmita una solicitud de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la solicitud de gestion de paquetes y el numero de serie de la solicitud de gestion de paquetes recibida anteriormente.
El aparato de implementacion TM 201 esta configurado ademas para enviar una primera solicitud de retransmision de paquetes, donde la primera solicitud de retransmision de paquetes incluye el primer numero de serie. El chip del tejido de conmutacion 202 esta configurado ademas para recibir la primera solicitud de retransmision de paquetes y retransmitir la solicitud de gestion de paquetes correspondiente al primer numero de serie.
Del mismo modo, el aparato de implementacion TM 201 genera una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido; y despues de recibir la respuesta de gestion de paquetes, el chip del tejido de conmutacion 202 comprueba si un numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el chip del tejido de conmutacion 202 solicita al aparato de implementacion TM 201 que retransmita una respuesta de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la respuesta de gestion de paquetes y el numero de serie de la respuesta de gestion de paquetes recibida anteriormente.
El chip del tejido de conmutacion 202 esta configurado ademas para enviar una segunda solicitud de retransmision de paquetes, donde la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie. El aparato de implementacion TM 201 esta configurado ademas para recibir la segunda solicitud de retransmision de paquetes y retransmitir la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
Ademas, el chip del tejido de conmutacion 202 puede realizar un control de flujo inverso, es decir, controlar de manera inversa el reenvio de una cola de flujo. El chip del tejido de conmutacion 202 esta configurado ademas para enviar una solicitud de control de flujo al aparato de implementacion TM 201, donde la solicitud de control de flujo incluye un identificador de cola y un requisito de control de trafico, de modo que el dispositivo de implementacion de TM 201 pueda realizar, segun el requisito de control de trafico, la planificacion de la puesta en cola y salida de la cola en una cola de planificacion correspondiente al identificador de cola.
Segun el dispositivo de red provisto en esta realizacion de la presente invencion, un aparato de implementacion TM 201 esta situado a un lado de un chip del tejido de conmutacion 202, e interactua e interfunciona con el chip del tejido de conmutacion 202, a fin de implementar una funcion de gestion de trafico del dispositivo de red. El aparato de implementacion TM 201 no necesita usar un FPGA de alta especificacion, y un chip FPGA de nivel medio y bajo puede cumplir con los requisitos de la funcion de gestion de trafico, el procesamiento logico y el rendimiento, lo que reduce el coste del dispositivo de red. Ademas, al ser diferente de un chip TM, en la tecnica anterior, que necesita estar equipado con una unidad de almacenamiento externo dedicado para almacenar un paquete de datos, el aparato de implementacion TM 201 en esta realizacion de la presente invencion no necesita almacenar un paquete de datos, lo cual reduce la cantidad de unidades de almacenamiento externas del dispositivo y puede reducir aun mas el coste del dispositivo de red. Ademas, debido a que una interfaz de comunicaciones (es decir, una primera interfaz) entre el aparato de implementacion TM 201 y el chip del tejido de conmutacion 202 no esta limitada por una interfaz de datos a alta velocidad (es decir, una segunda interfaz) de una ruta de datos (utilizada para la comunicacion entre el chip del tejido de conmutacion y un procesador), la implementacion de la interfaz es flexible, lo cual tambien puede reducir la complejidad de la implementacion y la dificultad del dispositivo de red. En lo que respecta a la FIG. 3, una realizacion de la presente invencion proporciona un procedimiento de implementacion de gestion de trafico, que se ejecuta mediante el aparato de implementacion TM anterior. Como se muestra en la FIG. 3, el procedimiento incluye las siguientes etapas:
301. Recibir una solicitud de gestion de paquetes enviada por un procesador o un chip de un tejido de conmutacion, donde la solicitud de gestion de paquetes incluye un identificador de cola.
302. Realizar la gestion de trafico en la solicitud de gestion de paquetes y generar una respuesta de gestion de paquetes segun un resultado de gestion, donde la respuesta de gestion de paquetes incluye una indicacion de gestion y el identificador de cola.
303. Enviar la respuesta de gestion de paquetes al procesador o al chip del tejido de conmutacion, de modo que el procesador o el chip del tejido de conmutacion procese, segun la indicacion de gestion, un paquete de datos en una cola de flujo correspondiente al identificador de cola.
Concretamente, el aparato de implementacion TM recibe la solicitud de gestion de paquetes del procesador o el chip del tejido de conmutacion y, posteriormente, realiza la gestion de trafico en la solicitud de gestion de paquetes.
El identificador de cola (ID) se emplea para identificar una cola de flujo en la que el procesador o el chip del tejido de conmutacion almacena el paquete de datos.
En esta realizacion de la presente invencion, el aparato de implementacion TM esta situado a un lado del procesador o del chip del tejido de conmutacion. El procesador o el chip del tejido de conmutacion analiza un paquete de datos para adquirir un identificador de flujo y realiza la clasificacion del trafico y, posteriormente, almacena el paquete de datos en una cola de flujo del procesador o el chip del tejido de conmutacion, donde la cola de flujo se identifica mediante el uso del ID de cola, y el ID de cola es univoco correspondiente al identificador de flujo. El aparato de implementacion TM realiza la gestion de trafico en una solicitud de gestion de paquetes, y devuelve, al procesador o al chip del tejido de conmutacion, el resultado de realizar la gestion de trafico en la solicitud de gestion de paquetes, de modo que el procesador o el chip del tejido de conmutacion procesa un paquete de datos en una cola de flujo correspondiente segun el resultado, implementando asi una funcion de gestion de trafico de un dispositivo de red mediante el interfuncionamiento entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion. El aparato de implementacion TM no necesita almacenar un paquete de datos, lo cual reduce la cantidad de unidades de almacenamiento externas del dispositivo; ademas, debido a que la informacion relacionada del paquete de datos (la solicitud/respuesta de gestion de paquetes) se intercambia entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion, una interfaz de comunicacion entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion no esta limitada por una interfaz de datos a alta velocidad de una ruta de datos (comunicacion entre el chip del tejido de conmutacion y el procesador), de modo que una interfaz del aparato de implementacion TM se desacopla de la interfaz de datos a alta velocidad de la ruta de datos.
Despues de recibir la solicitud de gestion de paquetes enviada por el procesador o el chip del tejido de conmutacion, el aparato de implementacion TM primero determina, segun una politica de gestion de la congestion del aparato de implementacion TM y un estado del bufer de una cola de planificacion del aparato de implementacion TM, si se descarta la solicitud de gestion de paquetes o almacenar la solicitud de gestion de paquetes en la cola de planificacion.
La cola de planificacion del aparato de implementacion TM se emplea para almacenar la solicitud de gestion de paquetes. Pueden existir multiples colas de planificacion en el aparato de implementacion TM al mismo tiempo y se utilizan para almacenar las solicitudes de gestion de paquetes correspondientes a diferentes colas de flujo. En esta realizacion de la presente invencion, la cola de planificacion se identifica preferiblemente mediante el ID de cola. Ciertamente, la cola de planificacion puede identificarse mediante otro ID que sea univoca correspondiente al ID de cola, el cual no esta limitado en la presente invencion.
La gestion de trafico que se realiza en la solicitud de gestion de paquetes y la generacion de una respuesta de gestion de paquetes segun un resultado de gestion incluye:
determinar, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion, si se descarta la solicitud de gestion de paquetes; y
si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de descarte, de modo que el procesador o el chip del tejido de conmutacion descartan el paquete de datos en la cola de flujo correspondiente al identificador de cola; o si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion.
Concretamente, si el resultado determinante es no, el aparato de implementacion TM almacena la solicitud de gestion de paquetes en la cola de planificacion correspondiente al ID de cola, de modo que el aparato de implementacion TM realiza la gestion y la planificacion segun una politica de planificacion de cola. Si el resultado de la determinacion es si, el aparato de implementacion TM no almacena la solicitud de gestion de paquetes, sino que descarta directamente la solicitud de gestion de paquetes y envia la respuesta de gestion de paquetes en la cual la indicacion de gestion es la indicacion de procesamiento de descarte al procesador o al chip del tejido de conmutacion, de modo que el procesador o el chip del tejido de conmutacion descarta el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El aparato de implementacion TM necesita ademas realizar la gestion y la planificacion en cada cola de planificacion segun la politica de planificacion de cola del aparato de implementacion TM, a fin de implementar la funcion de gestion de trafico.
La gestion de trafico que se realiza en la solicitud de gestion de paquetes y la generacion de una respuesta de gestion de paquetes segun un resultado de gestion ademas incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola; y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de reenvio, de modo que el procesador o el chip del tejido de conmutacion reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Debido a que la longitud de la solicitud de gestion de paquetes es mucho mas corta que la longitud del paquete de datos, el aparato de implementacion TM solo necesita una unidad de almacenamiento externa, como una QDR SDRAM, para almacenar la cola de planificacion, y la unidad de almacenamiento externa no necesita tener una capacidad extremadamente grande. Ademas, como la longitud de la solicitud de gestion de paquetes es generalmente fija, la cola de planificacion puede implementarse en forma de una lista enlazada.
La politica de gestion de la congestion del aparato de implementacion TM incluye una politica, tal como la caida de la cola de congestion o la caida aleatoria de la congestion.
Cuando la politica de gestion de la congestion del aparato de implementacion TM es la caida de la cola de congestion, la determinacion, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, determinar, segun la politica de gestion de la congestion, que se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
Cuando la politica de gestion de la congestion es la caida aleatoria de la congestion, que el aparato de implementacion TM determina, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion correspondiente al identificador de cola, si se descarta la solicitud de gestion de paquetes incluye: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, adquirir, de la cola de planificacion segun la politica de gestion de la congestion, un paquete que esta listo para ser descartado aleatoriamente, y si el paquete que esta listo para ser descartado aleatoriamente incluye la solicitud de gestion de paquetes, determinar que se descarta la solicitud de gestion de paquetes, o si el paquete que esta listo para ser descartado aleatoriamente no incluye la solicitud de gestion de paquetes, determinar que no se descarta la solicitud de gestion de paquetes; o
si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, no se descarta la solicitud de gestion de paquetes.
Ademas, la solicitud de gestion de paquetes puede incluir ademas la longitud de un paquete, y la respuesta de gestion de paquetes incluye ademas la longitud del paquete, de modo que el procesador o el chip del tejido de conmutacion pueden adquirir correctamente, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al ID de cola.
La politica de planificacion de cola del aparato de implementacion TM puede realizar la planificacion por byte, o puede realizar la planificacion por paquete de datos.
Cuando la politica de planificacion de cola realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud de un paquete, y la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye: realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
Concretamente, si la longitud del paquete de un paquete de datos debe intercambiarse entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion, debe determinarse segun la politica de planificacion de cola del aparato de implementacion TM y el procesamiento realizado cuando el chip del tejido de conmutacion realiza la clasificacion de trafico en el paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM realiza la planificacion por paquete de datos, el aparato de implementacion TM no necesita realizar la planificacion de colas segun la longitud de un paquete, y se determina si es necesario intercambiar la longitud del paquete de un paquete de datos entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion segun una forma de implementacion del procesador o el chip del tejido de conmutacion.
Tres posibles formas de implementacion del procesador o el chip del tejido de conmutacion son las siguientes: En una forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion guarda un puntero al encabezado y un puntero al final del paquete de datos en la cola de flujo, para que el paquete de datos se pueda adquirir correctamente desde la cola de flujo segun el puntero al encabezado y el puntero al final.
Si la politica de planificacion de cola del aparato de implementacion TM realiza la planificacion por byte, el procesador o el chip del tejido de conmutacion necesita ademas adquirir la longitud de un paquete del paquete de datos, donde la solicitud de gestion de paquetes incluye la longitud del paquete; y la realizacion de la gestion y la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye: realizar la planificacion de la salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion guarda un puntero al encabezado del paquete de datos en la cola de flujo y la longitud de un paquete del paquete de datos, para determinar el paquete de datos en la cola de flujo, de modo que el paquete de datos se pueda adquirir correctamente de la cola de flujo segun el puntero al encabezado y la longitud del paquete; y el procesador o el chip del tejido de conmutacion necesita adquirir la longitud del paquete del paquete de datos.
Si la politica de planificacion de cola del aparato de implementacion TM realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la realizacion de la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola incluye:
realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion guarda solo un puntero al encabezado del paquete de datos en la cola de flujo; y el procesador o el chip del tejido de conmutacion adquiere ademas la longitud de un paquete del paquete de datos, e intercambia la longitud del paquete del paquete de datos con el aparato de implementacion TM.
Independientemente de si la politica de planificacion de cola del aparato de implementacion TM realiza la planificacion por byte o la planificacion por paquete de datos, la solicitud de gestion de paquetes incluye ademas la longitud del paquete, y la respuesta de la gestion de paquetes tambien debe incluir la longitud del paquete, de modo que el procesador o el chip del tejido de conmutacion puedan adquirir correctamente, segun la longitud del paquete, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Ademas, el paquete de datos recibido por el procesador o el chip del tejido de conmutacion puede ser un paquete fragmentado. Es decir, un paquete de datos se divide en varios paquetes fragmentados.
El procesador o el chip del tejido de conmutacion puede volver a ensamblar varios paquetes fragmentados en un paquete de datos completo; a continuacion, como se ha descrito anteriormente, realizar el analisis y la clasificacion del trafico en el paquete de datos, es decir, adquirir un identificador de flujo, adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo, y almacenar el paquete de datos en la cola de flujo. De forma alternativa, el procesador o el chip del tejido de conmutacion tambien puede enviar una solicitud de gestion de fragmentos correspondiente al paquete fragmentado al aparato de implementacion TM, donde la solicitud de gestion de fragmentos incluye informacion del fragmento y el identificador de cola anterior y, opcionalmente, incluye ademas la longitud de un paquete del paquete fragmentado. El aparato de implementacion TM incluye ademas una lista de fragmentos enlazados que se emplea para almacenar varias solicitudes de gestion de fragmentos correspondientes a un paquete de datos, y el aparato de implementacion TM utiliza la lista de fragmentos enlazados que almacena las diversas solicitudes de gestion de fragmentos correspondientes a un paquete de datos como un todo para realizar la gestion de trafico anterior, es decir, para realizar el control de congestion, almacenar el paquete de datos en una cola de planificacion y quitar de la cola el paquete de datos de la cola de planificacion, y similares.
Una solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM y procesador o el chip del tejido de conmutacion tambien puede encontrar una perdida de paquetes. Por lo tanto, la solicitud de gestion de paquetes puede incluir ademas un primer numero de serie, y la respuesta de gestion de paquetes puede incluir ademas un segundo numero de serie para identificar si la solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion encuentra una perdida de paquetes.
Concretamente, el procesador o el chip del tejido de conmutacion genera una solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido; y despues de recibir la solicitud de gestion de paquetes, el aparato de implementacion TM comprueba si un numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el aparato de implementacion TM solicita al procesador o al chip del tejido de conmutacion que retransmita una solicitud de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la solicitud de gestion de paquetes y el numero de serie de la solicitud de gestion de paquetes recibida anteriormente. Concretamente, el aparato de implementacion TM envia una primera solicitud de retransmision de paquetes al procesador o al chip del tejido de conmutacion, donde la primera solicitud de retransmision de paquetes incluye el primer numero de serie. El procesador o el chip del tejido de conmutacion recibe la primera solicitud de retransmision de paquetes y retransmite la solicitud de gestion de paquetes correspondiente al primer numero de serie.
Del mismo modo, el aparato de implementacion TM genera una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido; y despues de recibir la respuesta de gestion de paquetes, el procesador o el chip del tejido de conmutacion comprueba si un numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el procesador o el chip del tejido de conmutacion solicita al aparato de implementacion TM que retransmita una respuesta de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la respuesta de gestion de paquetes y el numero de serie de la respuesta de gestion de paquetes recibida anteriormente. Concretamente, el procesador o el chip del tejido de conmutacion envia una segunda solicitud de retransmision de paquetes al aparato de implementacion TM, donde la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie. El aparato de implementacion TM recibe la segunda solicitud de retransmision de paquetes y retransmite la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
Ademas, el chip del tejido de conmutacion puede realizar un control de flujo inverso, es decir, controlar de manera inversa el reenvio de una cola de flujo. El procesador o el chip del tejido de conmutacion envia una solicitud de control de flujo al aparato de implementacion TM, donde la solicitud de control de flujo incluye un identificador de cola y un requisito de control de trafico, de modo que el dispositivo de implementacion de TM pueda realizar, segun el requisito de control de trafico, la planificacion de la puesta en cola y salida de la cola en una cola de planificacion correspondiente al identificador de cola.
Segun el procedimiento de implementacion de gestion de trafico provisto en esta realizacion de la presente invencion, un aparato de implementacion TM esta situado a un lado de un procesador o un chip de un tejido de conmutacion, e interfunciona con el procesador o el chip del tejido de conmutacion, a fin de implementar una funcion de gestion de trafico de un dispositivo de red. Debido a que el analisis y la clasificacion del trafico se realizan en un paquete de datos en el procesador o en el chip de un tejido de conmutacion, el aparato de implementacion TM adquiere informacion relacionada del paquete de datos mediante la comunicacion con el procesador o el chip de un tejido de conmutacion, a fin de realizar la gestion de trafico. De esta manera, el aparato de implementacion TM no necesita usar un FPGA de alta especificacion, y un chip FPGA de nivel medio y bajo puede cumplir con los requisitos de la funcion de gestion de trafico, el procesamiento logico y el rendimiento, lo que reduce el coste del dispositivo de red. Ademas, el aparato de implementacion TM no necesita almacenar el paquete de datos, lo que reduce la cantidad de unidades de almacenamiento externas del dispositivo, y puede reducir aun mas el coste del dispositivo de red. Ademas, debido a que una interfaz de comunicaciones entre el aparato de implementacion TM y el procesador o el chip de un tejido de conmutacion no esta limitada por una interfaz de datos a alta velocidad de una ruta de datos (utilizada para la comunicacion entre el chip de un tejido de conmutacion y el procesador), la implementacion de la interfaz es flexible, que tambien puede reducir la complejidad de la implementacion y la dificultad del dispositivo de red.
En lo que respecta a la FIG. 4, una realizacion de la presente invencion proporciona un aparato de implementacion de gestion de trafico, donde el aparato de implementacion TM 400 de gestion de trafico incluye:
un modulo receptor 401, configurado para recibir una solicitud de gestion de paquetes enviada por un procesador o un chip de un tejido de conmutacion, donde la solicitud de gestion de paquetes incluye un identificador de cola, y el identificador de cola se usa para identificar una cola de flujo en la cual el procesador o el chip del tejido de conmutacion almacena un paquete de datos;
un modulo de gestion de trafico 402, configurado para realizar la gestion de trafico en la solicitud de gestion de paquetes y generar una respuesta de gestion de paquetes segun un resultado de gestion, donde la respuesta de gestion de paquetes incluye una indicacion de gestion y el identificador de cola; y
un modulo de envio 403, configurado para enviar la respuesta de gestion de paquetes al procesador o al chip del tejido de conmutacion, de modo que el procesador o el chip del tejido de conmutacion procese, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
El modulo de gestion de trafico 402 esta ademas configurado especificamente para determinar, segun una politica de gestion de la congestion del aparato de implementacion TM 400 y un estado del bufer de una cola de planificacion del aparato de implementacion TM 400, si se descarta la solicitud de gestion de paquetes; y si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion; o si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de descarte, de modo que el procesador o el chip del tejido de conmutacion descarta el paquete de datos en la cola de flujo correspondiente al identificador de cola.
La cola de planificacion se emplea para almacenar la solicitud de gestion de paquetes.
El modulo de gestion de trafico 402 esta ademas configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun una politica de planificacion de cola del aparato de implementacion TM 400; y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de la gestion de paquetes, donde la indicacion de gestion es una indicacion de procesamiento de reenvio, de modo que el procesador o el chip del tejido de conmutacion reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola.
Opcionalmente, el modulo de gestion de trafico 402 incluye:
un submodulo de control de congestion 4021 configurado para determinar, segun la politica de gestion de la congestion y el estado del bufer de la cola de planificacion, si se descarta la solicitud de gestion de paquetes; un submodulo de gestion de cola 4022 configurado para: cuando un resultado determinante del submodulo de control de congestion es no, almacenar la solicitud de gestion de paquetes en la cola de planificacion; y ademas configurado para realizar una planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola, y cuando la solicitud de gestion de paquetes sale de la cola de planificacion, generar la respuesta de gestion de paquetes, donde la indicacion de gestion es la indicacion de procesamiento de reenvio, de modo que el procesador o el chip del tejido de conmutacion reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola; y
un submodulo de descarte 4023 configurado para: cuando el resultado determinante del submodulo de control de congestion es si, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, donde la indicacion de gestion es la indicacion de procesamiento de descartes, de modo que el procesador o el chip del tejido de conmutacion descarta el paquete de datos en la cola de flujo correspondiente al identificador de cola.
La politica de gestion de la congestion incluye una politica, tal como la caida aleatoria de la congestion o la caida de la cola de congestion.
Cuando la politica de gestion de la congestion es la caida de la cola de congestion, el submodulo de control de congestion esta configurado especificamente para: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, determinar, segun la politica de gestion de la congestion, que se descarta la solicitud de gestion de paquetes, o si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, determinar que no se descarta la solicitud de gestion de paquetes.
Cuando la politica de gestion de la congestion es la caida aleatoria de la congestion, el submodulo de control de congestion esta configurado especificamente para: si un bufer de la cola de planificacion correspondiente al identificador de cola esta completo, adquirir, segun la politica de gestion de la congestion, un paquete que esta listo para ser descartado aleatoriamente, y si el paquete que esta listo para ser descartado incluye la solicitud de gestion de paquetes, determinar que se descarta la solicitud de gestion de paquetes, o si el paquete que esta listo para ser descartado aleatoriamente no incluye la solicitud de gestion de paquetes, determinar que no se descarta la solicitud de gestion de paquetes; o si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, determinar que no se descarta la solicitud de gestion de paquetes.
Ademas, la solicitud de gestion de paquetes puede incluir ademas la longitud de un paquete, y la respuesta de gestion de paquetes incluye ademas la longitud del paquete, de modo que el procesador o el chip del tejido de conmutacion pueden adquirir correctamente, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al ID de cola.
La politica de planificacion de cola del aparato de implementacion TM 400 puede realizar la planificacion por byte, o puede realizar la planificacion por paquete de datos.
Cuando la politica de planificacion de cola realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud de un paquete, y el submodulo de gestion de cola 4022 esta configurado especificamente para realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
Concretamente, si una longitud del paquete de un paquete de datos debe intercambiarse entre el aparato de implementacion TM 400 y el procesador o el chip del tejido de conmutacion, debe determinarse segun la politica de planificacion de cola del aparato de implementacion TM 400 y el procesamiento realizado cuando el chip del tejido de conmutacion realiza la clasificacion de trafico en el paquete de datos.
Cuando la politica de planificacion de cola del aparato de implementacion TM realiza la planificacion por paquete de datos, el aparato de implementacion TM no necesita realizar la planificacion de colas segun la longitud de un paquete, y se determina si es necesario intercambiar la longitud del paquete de un paquete de datos entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion segun una forma de implementacion del procesador o el chip del tejido de conmutacion.
Tres posibles formas de implementacion del procesador o el chip del tejido de conmutacion son las siguientes:
En una forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion puede guardar un puntero al encabezado y un puntero al final del paquete de datos en la cola de flujo, para que el paquete de datos se pueda adquirir correctamente desde la cola de flujo segun el puntero al encabezado y el puntero al final.
Si la politica de planificacion de cola realiza la planificacion por byte, el procesador o el chip del tejido de conmutacion necesita ademas adquirir la longitud de un paquete del paquete de datos, donde la solicitud de gestion de paquetes incluye la longitud del paquete; y el submodulo de gestion de cola 4022 esta configurado especificamente para realizar la planificacion de la salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion guarda un puntero al encabezado del paquete de datos en la cola de flujo y la longitud de un paquete del paquete de datos, para determinar el paquete de datos en la cola de flujo, de modo que el paquete de datos se pueda adquirir correctamente de la cola de flujo segun el puntero al encabezado y la longitud del paquete; y el procesador o el chip del tejido de conmutacion ademas necesita adquirir la longitud del paquete del paquete de datos.
Si la politica de planificacion de cola realiza la planificacion por byte, la solicitud de gestion de paquetes incluye ademas la longitud del paquete; y el submodulo de gestion de cola 4022 esta configurado especificamente para realizar la planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete.
En otra forma de implementacion posible, despues de almacenar el paquete de datos en la cola de flujo correspondiente al identificador de cola, el procesador o el chip del tejido de conmutacion guarda solo un puntero al encabezado del paquete de datos en la cola de flujo; y el procesador o el chip del tejido de conmutacion adquiere ademas la longitud de un paquete del paquete de datos, e intercambia la longitud del paquete del paquete de datos con el aparato de implementacion TM 400.
La solicitud de gestion de paquetes incluye ademas la longitud del paquete; y
la respuesta de la gestion de paquetes tambien debe incluir la longitud del paquete, de modo que el procesador o el chip del tejido de conmutacion puedan adquirir correctamente, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al identificador de cola.
Ademas, el paquete de datos recibido por el procesador o el chip del tejido de conmutacion puede ser un paquete fragmentado. Es decir, un paquete de datos se divide en varios paquetes fragmentados.
El procesador o el chip del tejido de conmutacion puede configurarse ademas para volver a ensamblar varios paquetes fragmentados en un paquete de datos completo; a continuacion, como se ha descrito anteriormente, realizar el analisis y la clasificacion del trafico en el paquete de datos, es decir, adquirir un identificador de flujo, adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo, y almacenar el paquete de datos en la cola de flujo.
De forma alternativa, el procesador o el chip del tejido de conmutacion puede enviar una solicitud de gestion de fragmentos correspondiente al paquete fragmentado al aparato de implementacion TM, donde la solicitud de gestion de fragmentos incluye informacion del fragmento y el identificador de cola anterior y, opcionalmente, incluye ademas la longitud de un paquete del paquete fragmentado. El aparato de implementacion TM incluye ademas una lista de fragmentos enlazados que se emplea para almacenar varias solicitudes de gestion de fragmentos correspondientes a un paquete de datos, y el aparato de implementacion TM especificamente utiliza la lista de fragmentos enlazados que almacena las diversas solicitudes de gestion de fragmentos correspondientes a un paquete de datos como un todo para realizar la gestion de trafico anterior, es decir, para realizar el control de congestion, almacenar el paquete de datos en una cola de planificacion y quitar de la cola el paquete de datos de la cola de planificacion, y similares.
Una solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM y procesador o el chip del tejido de conmutacion tambien puede encontrar una perdida de paquetes. Por lo tanto, la solicitud de gestion de paquetes puede incluir ademas un primer numero de serie, y la respuesta de gestion de paquetes puede incluir ademas un segundo numero de serie para identificar si la solicitud/respuesta de gestion de paquetes transmitida entre el aparato de implementacion TM y el procesador o el chip del tejido de conmutacion encuentra una perdida de paquetes.
Concretamente, el procesador o el chip del tejido de conmutacion genera una solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido; y despues de recibir la solicitud de gestion de paquetes, el aparato de implementacion TM comprueba si un numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el aparato de implementacion TM solicita al procesador o al chip del tejido de conmutacion que retransmita una solicitud de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la solicitud de gestion de paquetes y el numero de serie de la solicitud de gestion de paquetes recibida anteriormente.
El aparato de implementacion TM esta configurado ademas para enviar una primera solicitud de retransmision de paquetes, donde la primera solicitud de retransmision de paquetes incluye el primer numero de serie. El procesador o el chip del tejido de conmutacion esta configurado ademas para recibir la primera solicitud de retransmision de paquetes y retransmitir la solicitud de gestion de paquetes correspondiente al primer numero de serie.
Del mismo modo, el aparato de implementacion TM genera una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacena la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido; y despues de recibir la respuesta de gestion de paquetes, el procesador o el chip del tejido de conmutacion comprueba si un numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente, por ejemplo, aumenta progresivamente en 1 o disminuye progresivamente en 1. Si el numero de serie de la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que no se produce ninguna perdida de paquetes. Si el numero de serie de la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, se determina que se produce una perdida de paquetes y el procesador o el chip del tejido de conmutacion solicita al aparato de implementacion TM que retransmita una respuesta de gestion de paquetes cuyo numero de serie se encuentra entre el numero de serie de la respuesta de gestion de paquetes y el numero de serie de la respuesta de gestion de paquetes recibida anteriormente.
El procesador o el chip del tejido de conmutacion esta configurado ademas para enviar una segunda solicitud de retransmision de paquetes, donde la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie. El aparato de implementacion TM esta configurado ademas para recibir la segunda solicitud de retransmision de paquetes y retransmitir la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
Ademas, el chip del tejido de conmutacion puede realizar un control de flujo inverso, es decir, controlar de manera inversa el reenvio de una cola de flujo. El procesador o el chip del tejido de conmutacion esta ademas configurado para enviar una solicitud de control de flujo al aparato de implementacion TM, donde la solicitud de control de flujo incluye un identificador de cola y un requisito de control de trafico, de modo que el dispositivo de implementacion de TM pueda realizar, segun el requisito de control de trafico, la planificacion de la puesta en cola y salida de la cola en una cola de planificacion correspondiente al identificador de cola.
El aparato de implementacion TM 400 provisto en esta realizacion de la presente invencion esta situado a un lado de un procesador o un chip de un tejido de conmutacion, e interactua e interfunciona con el procesador o el chip del tejido de conmutacion, para implementar una funcion de gestion de trafico de un dispositivo de red. El aparato de implementacion TM 400 no necesita usar un FPGA de alta especificacion, y un chip FPGA de nivel medio y bajo puede cumplir con los requisitos de la funcion de gestion de trafico, el procesamiento logico y el rendimiento, lo que reduce el coste del dispositivo de red. Ademas, al ser diferente de un chip TM, en la tecnica anterior, que necesita estar equipado con una unidad de almacenamiento externo dedicado para almacenar un paquete de datos, el aparato de implementacion TM 400 en esta realizacion de la presente invencion no necesita almacenar un paquete de datos, lo cual reduce la cantidad de unidades de almacenamiento externas del dispositivo y puede reducir aun mas el coste del dispositivo de red. Ademas, debido a que una comunicacion entre el aparato de implementacion TM 400 y el procesador o el chip del tejido de conmutacion no esta limitada por una ruta de datos (utilizada para la comunicacion entre el chip de un tejido de conmutacion y el procesador), la implementacion de la interfaz es flexible, que tambien puede reducir la complejidad de la implementacion y la dificultad del dispositivo de red.
Una persona con experiencia ordinaria en la tecnica puede comprender que la totalidad o una parte de las etapas de las realizaciones anteriores del procedimiento pueden implementarse mediante un programa de instrucciones y el hardware relevante. El programa correspondiente puede almacenarse en un medio de almacenamiento legible por ordenador. El medio de almacenamiento anterior puede incluir: una memoria de acceso aleatorio, una memoria de solo lectura, una memoria flash, un disco duro, un disco de estado solido o un disco optico.
Las descripciones anteriores son meramente formas de implementacion ejemplares de la presente invencion, pero no pretenden limitar el alcance de proteccion de la presente invencion. Cualquier variacion o sustitucion facilmente averiguada por un experto en la tecnica dentro del alcance tecnico descrito en la presente invencion debera estar dentro del alcance de proteccion de la presente invencion. Por lo tanto, el alcance de proteccion de la presente invencion estara sujeto al alcance de proteccion de las reivindicaciones.

Claims (15)

REIVINDICACIONES
1. Un dispositivo de red que comprende: una gestion de trafico, TM, un aparato de implementacion (101), un procesador (102) y un chip de un tejido de conmutacion (103) y un puerto de comunicacion, en el que:
el procesador (102) comprende una primera interfaz y una segunda interfaz, en el que el procesador (102) se comunica con el aparato de implementacion TM (101) a traves de la primera interfaz, y se comunica con el chip del tejido de conmutacion (103) a traves de la segunda interfaz;
el puerto de comunicacion se utiliza para comunicarse con otro dispositivo de red, en el que despues de que el dispositivo de red reciba un paquete de datos del puerto de comunicacion, el dispositivo de red envia el paquete de datos al procesador (102) para su procesamiento mediante el chip del tejido de conmutacion (103). ;
el chip del tejido de conmutacion (103) esta configurado para enviar el paquete de datos al procesador (102) a traves de la segunda interfaz;
el procesador (102) esta configurado para analizar el paquete de datos y adquirir un identificador de flujo; adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo y almacenar el paquete de datos en la cola de flujo; y enviar una solicitud de gestion de paquetes al aparato de implementacion TM (101) a traves de la primera interfaz, en el que la solicitud de gestion de paquetes comprende el identificador de cola; el aparato de implementacion TM (101) esta configurado para recibir la solicitud de gestion de paquetes; realizar la gestion de trafico en la solicitud de gestion de paquetes; generar una respuesta de gestion de paquetes segun un resultado de gestion, en el que la respuesta de gestion de paquetes comprende una indicacion de gestion y el identificador de cola, la indicacion de gestion es una indicacion de procesamiento de descarte o una indicacion de procesamiento de reenvio; y enviar la respuesta de gestion de paquetes al procesador (102); y
el procesador (102) esta configurado ademas para recibir la respuesta de gestion de paquetes a traves de la primera interfaz, y procesar, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
2. El dispositivo de red segun la reivindicacion 1 en el que:
el aparato de implementacion TM (101) esta configurado especificamente para determinar, segun una politica de gestion de la congestion del aparato de implementacion TM (101) y un estado del bufer de una cola de planificacion del aparato de implementacion TM (101), si se descarta la solicitud de gestion de paquetes, en la que la cola de planificacion se utiliza para almacenar la solicitud de gestion de paquetes; y si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, en la que la indicacion de gestion es una indicacion de procesamiento de descarte; o si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion; y
el procesador (102) esta configurado especificamente para descartar, segun la indicacion de procesamiento de descarte, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
3. El dispositivo de red segun la reivindicacion 2 en el que:
el aparato de implementacion TM (101) esta ademas configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun una politica de planificacion de cola del aparato de implementacion TM (101); y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de la gestion de paquetes, en el que la indicacion de gestion es una indicacion de procesamiento de reenvio; y el procesador (102) esta configurado especificamente para reenviar, segun la indicacion de procesamiento de reenvio, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
4. El dispositivo de red segun la reivindicacion 3 en el que la politica de planificacion de cola realiza la planificacion por byte; la solicitud de gestion de paquetes comprende ademas la longitud de un paquete;
el aparato de implementacion TM (101) esta configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun la politica de planificacion de cola y la longitud del paquete; y
el procesador (102) esta configurado especificamente para adquirir, segun la longitud del paquete, el paquete de datos de la cola de flujo correspondiente al identificador de cola.
5. El dispositivo de red, segun una cualquiera de las reivindicaciones 2 a 4, en el que la politica de gestion de la congestion es caida de la cola de congestion; y
el aparato de implementacion TM (101) esta configurado especificamente para: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, determinar, segun la politica de gestion de la congestion, que se descarta la solicitud de gestion de paquetes; o si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, determinar que no se descarta la solicitud de gestion de paquetes.
6. El dispositivo de red segun una cualquiera de las reivindicaciones 2 a 4, en el que la politica de gestion de la congestion es la caida aleatoria de la congestion; y
el aparato de implementacion TM (101) esta configurado especificamente para: si un bufer de la cola de planificacion correspondiente al identificador de cola esta lleno, adquirir, segun la politica de gestion de la congestion, un paquete que esta listo para ser descartado aleatoriamente, y si el paquete que esta listo para descartarse aleatoriamente comprende la solicitud de gestion de paquetes, determinar que se descarta la solicitud de gestion de paquetes, o si el paquete que esta listo para descartarse aleatoriamente no comprende la solicitud de gestion de paquetes, determinar que no se descarta la solicitud de gestion de paquetes; o si un bufer de la cola de planificacion correspondiente al identificador de cola no esta lleno, determinar que se no descarta la solicitud de gestion de paquetes.
7. El dispositivo de red segun una cualquiera de las reivindicaciones 1 a 6, en el que la solicitud de gestion de paquetes incluye ademas un primer numero de serie;
el procesador (102) esta configurado para generar la solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacenar la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido;
el aparato de implementacion TM (101) esta configurado para comprobar si el primer numero de serie incluido en la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente despues de recibir la solicitud de gestion de paquetes;
el aparato de implementacion TM (101) esta configurado para determinar que no se producen perdidas de paquetes si el primer numero de serie incluido en la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente;
el aparato de implementacion TM (101) esta configurado para determinar si se produce una perdida de paquete y enviar una primera solicitud de retransmision de paquetes si el primer numero de serie incluido en la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida previamente, en el que la primera solicitud de retransmision de paquetes incluye el primer numero de serie;
el procesador (102) esta configurado ademas para recibir la primera solicitud de retransmision de paquetes y retransmitir la solicitud de gestion de paquetes correspondiente al primer numero de serie.
8. El dispositivo de red segun una cualquiera de las reivindicaciones 1 a 7, en el que la respuesta de gestion de paquetes incluye ademas un segundo numero de serie;
el aparato de implementacion TM (101) esta configurado para generar una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacenar la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido;
el procesador (102) esta configurado para comprobar si el segundo numero de serie incluido en la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente despues de recibir la respuesta de gestion de paquetes;
el procesador (102) esta configurado para determinar que no se producen perdidas de paquetes si el segundo numero de serie incluido en la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente;
el procesador (102) esta configurado para determinar si se produce una perdida de paquete y enviar una segunda solicitud de retransmision de paquetes si el segundo numero de serie incluido en la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, en el que la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie;
el aparato de implementacion TM (101) esta configurado ademas para recibir la segunda solicitud de retransmision de paquetes y retransmitir la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
9. El dispositivo de red segun una cualquiera de las reivindicaciones 1 a 8, en el que
el chip de un tejido de conmutacion (103) esta configurado para enviar un paquete de control de flujo inverso al procesador (102) segun un estado de conmutacion de flujo y reenvio realizado por el chip del tejido de conmutacion (103), en el que el paquete de control de flujo inverso incluye un requisito de control de trafico y un identificador de cola;
el procesador (102) esta ademas configurado para analizar y procesar el paquete de control de flujo inverso y enviar una solicitud de control de flujo al aparato de implementacion TM (101), en el que la solicitud de control de flujo incluye el identificador de cola y el requisito de control de trafico, de modo que el aparato de implementacion TM (101) puede realizar, segun el requisito de control de trafico, la planificacion de la puesta en cola y salida de la cola en una cola de planificacion correspondiente al identificador de cola.
10. Un dispositivo de red que comprende: una gestion de trafico, un aparato de implementacion TM (201) y un chip de un tejido de conmutacion (202) y un puerto de comunicacion, en el que:
el chip del tejido de conmutacion (202) comprende una primera interfaz y se comunica con el aparato de implementacion TM (201) a traves de la primera interfaz;
el puerto de comunicacion se utiliza para comunicarse con otro dispositivo de red, en el que despues de que el dispositivo de red reciba un paquete de datos del puerto de comunicacion, el dispositivo de red envia el paquete de datos al chip del tejido de conmutacion (202);
el chip del tejido de conmutacion (202) esta configurado para analizar el paquete de datos y adquirir un identificador de flujo;
adquirir un identificador de cola de una cola de flujo correspondiente segun el identificador de flujo y almacenar el paquete de datos en la cola de flujo; y enviar una solicitud de gestion de paquetes al aparato de implementacion TM (201) a traves de la primera interfaz, en el que la solicitud de gestion de paquetes comprende el identificador de cola; el aparato de implementacion TM (201) esta configurado para recibir la solicitud de gestion de paquetes; realizar la gestion de trafico en la solicitud de gestion de paquetes; generar una respuesta de gestion de paquetes segun un resultado de gestion, en el que la respuesta de gestion de paquetes comprende una indicacion de gestion y el identificador de cola, la indicacion de gestion es una indicacion de procesamiento de descarte o una indicacion de procesamiento de reenvio; y enviar la respuesta de gestion de paquetes al chip del tejido de conmutacion (202); y el chip del tejido de conmutacion (202) esta configurado ademas para recibir la respuesta de gestion de paquetes a traves de la primera interfaz, y procesar, segun la indicacion de gestion, el paquete de datos en la cola de flujo correspondiente al identificador de cola, a fin de implementar la gestion de trafico del dispositivo de red.
11. El dispositivo de red segun la reivindicacion 10 en el que:
el aparato de implementacion TM (201) esta configurado especificamente para determinar, segun una politica de gestion de la congestion del aparato de implementacion TM (201) y un estado del bufer de una cola de planificacion del aparato de implementacion TM (201), si se descarta la solicitud de gestion de paquetes, en la que la cola de planificacion se utiliza para almacenar la solicitud de gestion de paquetes; y si se determina que se descarta la solicitud de gestion de paquetes, descartar la solicitud de gestion de paquetes y generar la respuesta de gestion de paquetes, en la que la indicacion de gestion es una indicacion de procesamiento de descarte; de modo que el chip del tejido de conmutacion (202) descarta el paquete de datos en la cola de flujo correspondiente al identificador de cola; o si se determina que no se descarta la solicitud de gestion de paquetes, almacenar la solicitud de gestion de paquetes en la cola de planificacion; y
el chip del tejido de conmutacion (202) esta configurado especificamente para descartar, segun la indicacion de procesamiento de descarte, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
12. El dispositivo de red segun la reivindicacion 11, en el que:
el aparato de implementacion TM (201) esta ademas configurado especificamente para realizar una planificacion de salida de la cola en la cola de planificacion segun una politica de planificacion de cola del aparato de implementacion TM (201); y cuando la solicitud de gestion de paquetes se quita de la cola de planificacion, generar la respuesta de la gestion de paquetes, en el que la indicacion de gestion es una indicacion de procesamiento de reenvio, de modo que el chip del tejido de conmutacion (202) reenvia el paquete de datos en la cola de flujo correspondiente al identificador de cola; y
el chip del tejido de conmutacion (202) esta configurado especificamente para reenviar, segun la indicacion de procesamiento de reenvio, el paquete de datos en la cola de flujo correspondiente al identificador de cola.
13. El dispositivo de red segun la reivindicacion 10 en el que el dispositivo de red comprende ademas un procesador (205), el procesador (205) esta conectado al aparato de implementacion TM (201) y al chip de un tejido de conmutacion (202) mediante un bus (204);
el procesador (205) esta configurado para realizar operaciones en el aparato de implementacion TM (201) y el chip del tejido de conmutacion (202) mediante el bus (204), en el que las operaciones comprenden configuracion, control y gestion.
14. El dispositivo de red segun la reivindicacion 13, en el que la solicitud de gestion de paquetes incluye ademas un primer numero de serie;
el chip del tejido de conmutacion (202) esta configurado para generar la solicitud de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacenar la solicitud de gestion de paquetes en un primer tiempo de retransmision preestablecido;
el aparato de implementacion TM (201) esta configurado para comprobar si el primer numero de serie incluido en la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una solicitud de gestion de paquetes recibida previamente despues de recibir la solicitud de gestion de paquetes;
el aparato de implementacion TM (201) esta configurado para determinar que no se producen perdidas de paquetes si el primer numero de serie incluido en la solicitud de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida anteriormente;
el aparato de implementacion TM (201) esta configurado para determinar si se produce una perdida de paquete y enviar una primera solicitud de retransmision de paquetes si el primer numero de serie incluido en la solicitud de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la solicitud de gestion de paquetes recibida previamente, en el que la primera solicitud de retransmision de paquetes incluye el primer numero de serie;
el chip del tejido de conmutacion (202) esta configurado ademas para recibir la primera solicitud de retransmision de paquetes y retransmitir la solicitud de gestion de paquetes correspondiente al primer numero de serie.
15. El dispositivo de red segun la reivindicacion 13 o 14 en el que la respuesta de gestion de paquetes incluye ademas un segundo numero de serie;
el aparato de implementacion TM (201) esta configurado para generar una respuesta de gestion de paquetes en orden ascendente o descendente de numeros de serie, y almacenar la respuesta de gestion de paquetes en un segundo tiempo de retransmision preestablecido;
el chip del tejido de conmutacion (202) esta configurado para comprobar si el segundo numero de serie incluido en la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con un numero de serie de una respuesta de gestion de paquetes recibida previamente despues de recibir la respuesta de gestion de paquetes;
el chip del tejido de conmutacion (202) esta configurado para determinar que no se producen perdidas de paquetes si el segundo numero de serie incluido en la respuesta de gestion de paquetes aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente;
el chip del tejido de conmutacion (202) esta configurado para determinar si se produce una perdida de paquete y enviar una segunda solicitud de retransmision de paquetes si el segundo numero de serie incluido en la respuesta de gestion de paquetes no aumenta progresivamente o disminuye progresivamente en comparacion con el numero de serie de la respuesta de gestion de paquetes recibida anteriormente, en el que la segunda solicitud de retransmision de paquetes incluye el segundo numero de serie;
el aparato de implementacion TM (201) esta configurado ademas para recibir la segunda solicitud de retransmision de paquetes y retransmitir la respuesta de gestion de paquetes correspondiente al segundo numero de serie.
ES15837302T 2014-09-05 2015-04-08 Procedimiento y aparato de implementación de gestión de tráfico y dispositivo de red Active ES2709354T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410451900.8A CN105391567B (zh) 2014-09-05 2014-09-05 流量管理实现方法、装置和网络设备
PCT/CN2015/076090 WO2016033970A1 (zh) 2014-09-05 2015-04-08 流量管理实现方法、装置和网络设备

Publications (1)

Publication Number Publication Date
ES2709354T3 true ES2709354T3 (es) 2019-04-16

Family

ID=55423421

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15837302T Active ES2709354T3 (es) 2014-09-05 2015-04-08 Procedimiento y aparato de implementación de gestión de tráfico y dispositivo de red

Country Status (5)

Country Link
US (1) US10129151B2 (es)
EP (1) EP3079303B1 (es)
CN (1) CN105391567B (es)
ES (1) ES2709354T3 (es)
WO (1) WO2016033970A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860841B2 (en) * 2015-08-20 2018-01-02 Apple Inc. Communications fabric with split paths for control and data packets
CN106209681B (zh) * 2016-06-28 2019-05-10 华为技术有限公司 一种队列管理方法和装置
CN106254269B (zh) * 2016-08-18 2019-08-06 杭州迪普科技股份有限公司 一种报文转发方法及装置
US10171369B2 (en) 2016-12-22 2019-01-01 Huawei Technologies Co., Ltd. Systems and methods for buffer management
US10088643B1 (en) 2017-06-28 2018-10-02 International Business Machines Corporation Multidimensional torus shuffle box
US10169048B1 (en) 2017-06-28 2019-01-01 International Business Machines Corporation Preparing computer nodes to boot in a multidimensional torus fabric network
US10571983B2 (en) 2017-06-28 2020-02-25 International Business Machines Corporation Continuously available power control system
US10356008B2 (en) 2017-06-28 2019-07-16 International Business Machines Corporation Large scale fabric attached architecture
US10476803B2 (en) * 2017-12-18 2019-11-12 Mellanox Technologies, Ltd. Elephant flow detection in network access
US10462060B2 (en) 2018-02-14 2019-10-29 Mellanox Technologies, Ltd. Ability to detect unlimited elephant flows
US11030102B2 (en) 2018-09-07 2021-06-08 Apple Inc. Reducing memory cache control command hops on a fabric
CN113783786A (zh) * 2020-06-10 2021-12-10 深圳市中兴微电子技术有限公司 一种交换网络流量控制方法、设备及储存介质
JP7480675B2 (ja) * 2020-10-29 2024-05-10 株式会社デンソー 中継装置
CN114124839B (zh) * 2021-09-07 2023-06-06 中国联合网络通信集团有限公司 接口板和数据处理方法
CN115242731A (zh) * 2022-07-21 2022-10-25 中国农业银行股份有限公司 一种报文处理方法、装置、设备及存储介质
CN115842792B (zh) * 2023-02-20 2023-05-12 之江实验室 一种数据处理方法、装置、存储介质及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035212B1 (en) * 2001-01-25 2006-04-25 Optim Networks Method and apparatus for end to end forwarding architecture
US6892285B1 (en) * 2002-04-30 2005-05-10 Cisco Technology, Inc. System and method for operating a packet buffer
US20050147032A1 (en) * 2003-12-22 2005-07-07 Lyon Norman A. Apportionment of traffic management functions between devices in packet-based communication networks
US7554908B2 (en) * 2004-12-10 2009-06-30 Intel Corporation Techniques to manage flow control
US7582137B2 (en) * 2006-01-18 2009-09-01 United Technologies Corporation Fuel deoxygenator with non-planar fuel channel and oxygen permeable membrane
CN100579065C (zh) * 2006-09-30 2010-01-06 华为技术有限公司 一种高速数据流的传输方法、装置及数据交换设备
US8154996B2 (en) * 2008-09-11 2012-04-10 Juniper Networks, Inc. Methods and apparatus for flow control associated with multi-staged queues
CN101505242B (zh) * 2008-12-25 2012-10-17 华为技术有限公司 路由器故障检测方法及路由装置
CN101984608A (zh) * 2010-11-18 2011-03-09 中兴通讯股份有限公司 报文拥塞避免方法及系统
JP2014236453A (ja) * 2013-06-05 2014-12-15 富士通株式会社 情報処理装置、情報処理システム及び情報処理システムの制御方法
CN106031094B (zh) * 2014-01-02 2020-01-21 马维尔国际贸易有限公司 分布式计数器的准确测量
CN105684382A (zh) * 2014-08-11 2016-06-15 华为技术有限公司 报文的控制方法、交换机及控制器

Also Published As

Publication number Publication date
CN105391567B (zh) 2019-05-24
WO2016033970A1 (zh) 2016-03-10
EP3079303A4 (en) 2017-02-22
US10129151B2 (en) 2018-11-13
US20160380895A1 (en) 2016-12-29
CN105391567A (zh) 2016-03-09
EP3079303A1 (en) 2016-10-12
EP3079303B1 (en) 2018-11-14

Similar Documents

Publication Publication Date Title
ES2709354T3 (es) Procedimiento y aparato de implementación de gestión de tráfico y dispositivo de red
US11792046B2 (en) Method for generating forwarding information, controller, and service forwarding entity
US8582440B2 (en) Oversubscribed packet stream-based interconnect protocol
US11929930B2 (en) System and method of a high buffered high bandwidth network element
US8897315B1 (en) Fabric traffic management in a network device
ES2826404T3 (es) Protocolo de transporte ligero
EP3573297B1 (en) Packet processing method and apparatus
US10454711B2 (en) Method for obtaining port path and apparatus
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
ES2856155T3 (es) Transmisión de mensajes mediante componentes de aceleración configurados para acelerar un servicio
ES2707390T3 (es) Método, aparato y sistema para determinar el trayecto de transmisión de un paquete
US20100040060A1 (en) Fast emulation of mac table flushing for elan unicasts
US9548939B2 (en) Switch device for a network element of a data transfer network
CN107547388B (zh) 一种报文发送方法及装置
ES2640982T3 (es) Método de configuración de red
ES2733647T3 (es) Método, sistema y nodos de conmutación de protección
WO2019165855A1 (zh) 一种报文传输的方法及装置
US9621487B2 (en) Method and apparatus for protection switching based on memory control in packet transport system
EP3459216A1 (en) System and method for mtu size reduction in a packet network
US9467389B2 (en) Handling large frames in a virtualized fibre channel over ethernet (FCoE) data forwarder
US20230032924A1 (en) Application-based data labeling
ES2530592B1 (es) Sistema de comunicaciones, elementos de red y procedimiento para facilitar el encaminamiento de paquetes de datos
US20180287953A1 (en) Generic queue