ES2627949T3 - Método, dispositivo y sistema para implementar el enrutamiento de paquetes en una red - Google Patents
Método, dispositivo y sistema para implementar el enrutamiento de paquetes en una red Download PDFInfo
- Publication number
- ES2627949T3 ES2627949T3 ES13886628.0T ES13886628T ES2627949T3 ES 2627949 T3 ES2627949 T3 ES 2627949T3 ES 13886628 T ES13886628 T ES 13886628T ES 2627949 T3 ES2627949 T3 ES 2627949T3
- Authority
- ES
- Spain
- Prior art keywords
- server
- switch
- servers
- packet
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004913 activation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 34
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un método para implementar el enrutamiento de paquetes en una red, en donde la red comprende un controlador, dos servidores y al menos un conmutador, en donde los dos servidores comprenden un primer servidor y un segundo servidor, el al menos un conmutador comprende un primer conmutador y un segundo conmutador, el controlador se conecta, respectivamente, al primer conmutador y al segundo conmutador, el primer servidor se conecta directamente al primer conmutador, el segundo servidor se conecta directamente al segundo conmutador, la red comprende al menos dos subredes, cada servidor de los al menos dos servidores pertenece a una subred de las al menos dos subredes y el método comprende: obtener, por el controlador, identificadores de los dos servidores e información de topología de red, en donde la información de topología de red comprende la información de conexión de red de los dos servidores; determinar, por el controlador, que los dos servidores se encuentran en subredes diferentes, los dos servidores se encuentran bajo un mismo enrutador y los dos servidores se conectan, respectivamente, a conmutadores diferentes, mediante el uso de los identificadores de los dos servidores y según la información de conexión de red de los dos servidores, creando, por el controlador, una primera regla de enrutamiento distribuido, en donde la primera regla de enrutamiento distribuido comprende: modificar la dirección MAC de destino del paquete en una dirección MAC del segundo servidor y establecer un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor; enviar, por el controlador, la primera regla de enrutamiento distribuido al primer conmutador para ordenar al primer conmutador que: modifique la dirección MAC de destino del paquete en una dirección MAC del segundo servidor y establezca un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor y para reenviar el paquete procesado al segundo servidor, en donde la etiqueta de red en capa 2 donde se ubica el segundo servidor es para ordenar que el paquete se transmita al segundo conmutador conectado directamente al segundo servidor y la dirección MAC del segundo servidor es para ordenar que el paquete se transmita al segundo servidor.
Description
5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Metodo, dispositivo y sistema para implementar el enrutamiento de paquetes en una red.
Campo tecnico
La presente invencion se refiere al campo de las tecnologfas de red y, en particular, a un metodo, dispositivo y sistema para implementar el enrutamiento de paquetes en una red.
Antecedentes
Con el desarrollo de la tecnologfa de computacion en la nube (Computacion en la Nube), aplicar la tecnologfa de computacion en la nube a un centro de datos (CD, Centro de Datos) se ha convertido en una tendencia inevitable. Dado que los requisitos de acceso y el trafico de interaccion entre los servidores de recursos (un servidor, una memoria, una base de datos y similares) dentro de un centro de datos de computacion en la nube aumentaran, de manera significativa, en comparacion con aquellos en un centro de datos convencional, un modo de trafico se modifica de basarse en el trafico vertical (es decir, trafico norte-sur, el cual se refiere, espedficamente, al trafico para que un usuario acceda a un servidor) a basarse en el trafico horizontal (es decir, trafico este-oeste, el cual se refiere, espedficamente, al trafico entre servidores).
Actualmente, para lidiar con el problema de un fuerte aumento del trafico este-oeste de un centro de datos, muchos fabricantes en la industria proponen soluciones y este tipo de solucion se muestra en la Figura 1. Segun un protocolo de comunicaciones de red estandar, cuando una maquina ffsica (Maquina Ffsica, MF) o una maquina virtual (Maquina Virtual, MV) de una subred 1 necesita comunicarse con una maquina ffsica o una maquina virtual de una subred 2, todos los paquetes necesitan atravesar una puerta de enlace ffsica/virtual (Puerta de Enlace Ffsica/Virtual). Mediante la adopcion de la solucion anterior, todos los paquetes de datos que se comunican a lo largo de una subred necesitan atravesar la puerta de enlace ffsica/virtual, de modo que la puerta de enlace ffsica/virtual se convierte en un cuello de botella del trafico este-oeste del centro de datos y un ancho de banda total del trafico este-oeste de todo el centro de datos se limita por la puerta de enlace ffsica/virtual. Ademas, debido al ancho de banda limitado de las comunicaciones de la puerta de enlace ffsica/virtual y con un aumento de la concurrencia de las comunicaciones, los pares de comunicaciones evitan el ancho de banda de las comunicaciones de la puerta de enlace ffsica entre sf, lo cual resulta en una fuerte cafda de un ancho de banda de red promedio.
El documento de Koerner Marc y otros: "Optimizing openflow load-balancing with L2 direct server return" (2013 Cuarta Conferencia Internacional sobre la Red del Futuro (NOF), IEEE, 23 de octubre de 2013, paginas 1-5, XP032558790) describe un metodo de balanceo de carga en capa dos.
El documento EP 2482496 A1 describe un metodo y sistema para la comunicacion entre servidores virtuales y la comunicacion entre maquinas virtuales se puede llevar a cabo y es posible que el administrador de red se encuentre en una condicion de flujo de comunicaciones en tiempo real.
Compendio
Sobre dicha base, las realizaciones de la presente invencion proveen un metodo, dispositivo y sistema para implementar el enrutamiento de paquetes en una red, lo cual puede mejorar, de forma eficiente, un ancho de banda de transmision del trafico este-oeste.
En la presente memoria descriptiva, el termino "enrutamiento distribuido" se refiere a que, en un proceso en el que un paquete se envfa de un servidor de origen a un servidor de destino, un conmutador conectado directamente al servidor de origen y al servidor de destino puede modificar un encabezado de paquete para el paquete segun una regla de enrutamiento, de modo que un paquete modificado se reenvfa en una capa de enlace de datos en capa 2 pero no se procesa en una capa de protocolo de enrutamiento en capa 3.
En la presente memoria descriptiva, el termino "regla de enrutamiento distribuido" se refiere a una regla de enrutamiento para entregar a un conmutador conectado directamente al servidor de origen que envfa el paquete y/o a un conmutador conectado directamente al servidor de destino que recibe el paquete, de modo que el conmutador puede modificar el encabezado de paquete del paquete segun la regla de enrutamiento, de modo que un paquete modificado se procesa y reenvfa en la capa de enlace de datos en capa 2 pero no se procesa en la capa de protocolo de enrutamiento en capa 3.
En la presente memoria descriptiva, el termino "subred" se refiere a una division de una gran estructura de red en varias estructuras de red relativamente pequenas segun cierto principio (por ejemplo, segun la division geografica), para facilitar la administracion de la red de un administrador. Desde la perspectiva de la topologfa, se hace referencia a las estructuras de red relativamente pequenas como subredes. Cada servidor tiene una etiqueta de subred y la etiqueta de subred se usa para identificar una subred a la cual pertenece el servidor.
5
10
15
20
25
30
35
40
45
50
55
En la presente memoria descriptiva, el termino "servidor" se refiere, en general, a un dispositivo informatico que normalmente ejecuta uno o mas programas de software en un entorno de red. Sin embargo, el servidor puede ademas implementarse como un servidor virtual (a saber, un programa de software) ejecutado en uno o mas dispositivos informaticos, donde el unico o mas dispositivos informaticos se consideran servidores en una red y el servidor se refiere a una maquina ffsica o a una maquina virtual instalada en una maquina ffsica.
En la presente memoria descriptiva, los terminos "plataforma de control central" y "controlador" se refieren a la capacidad de obtener informacion de topologfa de red y obtener informacion del servidor de origen y del servidor de destino del paquete, pudiendo determinar, segun la informacion de topologfa de red, si dos nodos para la transmision de paquetes satisfacen un requisito de enrutamiento distribuido y pudiendo crear una regla de enrutamiento distribuido y entregar la regla de enrutamiento distribuido creada a uno o mas conmutadores directamente conectados al servidor de origen que envfa el paquete y al servidor de destino que recibe el paquete, de modo que el unico o los dos conmutadores pueden llevar a cabo el enrutamiento distribuido para el paquete segun la regla de enrutamiento distribuido.
Segun un primer aspecto, un metodo para implementar el enrutamiento de paquetes en una red, en donde la red comprende un controlador, dos servidores y al menos un conmutador, en donde los dos servidores comprenden un primer servidor y un segundo servidor, el al menos un conmutador comprende un primer conmutador y un segundo conmutador, el controlador se conecta, respectivamente, al primer conmutador y al segundo conmutador, el primer servidor se conecta directamente al primer conmutador, el segundo servidor se conecta directamente al segundo conmutador, la red comprende al menos dos subredes, cada servidor de los al menos dos servidores pertenece a una subred de las al menos dos subredes y el metodo comprende:
obtener, por el controlador, identificadores de los dos servidores e informacion de topologfa de red, en donde la informacion de topologfa de red comprende informacion de conexion de red de los dos servidores;
determinar, por el controlador, que los dos servidores se encuentran en diferentes subredes, los dos servidores se encuentran bajo un mismo enrutador y los dos servidores se conectan, respectivamente, a diferentes conmutadores, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores, creando, por el controlador, una primera regla de enrutamiento distribuido, en donde la primera regla de enrutamiento distribuido comprende: modificar la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establecer un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor;
enviar, por el controlador, la primera regla de enrutamiento distribuido al primer conmutador para ordenar al primer conmutador que: modifique la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establezca un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor y para reenviar el paquete procesado al segundo servidor, en donde la etiqueta de red en capa 2 donde se ubica el segundo servidor es para ordenar que el paquete se transmita al segundo conmutador conectado directamente al segundo servidor y la direccion MAC del segundo servidor es para ordenar al paquete que se transmita al segundo servidor.
En una segunda manera de implementacion posible del primer aspecto, para ser transparente para un servidor de destino para la transmision de paquetes y para reenviar el paquete enviado por el primer servidor al segundo servidor reenviado por una puerta de enlace a la cual pertenece el segundo servidor desde una perspectiva del servidor de destino, la primera regla de enrutamiento distribuido incluye: modificar una direccion Mac de origen del paquete enviado por el primer servidor al segundo servidor en una direccion Mac de la puerta de enlace a la cual pertenece el segundo servidor.
Segun un segundo aspecto, se provee ademas un controlador, el cual se configura para implementar el enrutamiento de paquetes entre dos servidores en una red, los dos servidores comprenden un primer servidor y un segundo servidor, el al menos un conmutador comprende un primer conmutador y un segundo conmutador, el controlador se conecta respectivamente al primer conmutador y al segundo conmutador, el primer servidor se conecta directamente al primer conmutador, el segundo servidor se conecta directamente al segundo conmutador, la red comprende al menos dos subredes, el primer servidor y el segundo servidor pertenecen, respectivamente, a una subred diferente de las al menos dos subredes, en donde el controlador comprende:
una unidad de obtencion, configurada para obtener identificadores de dos servidores e informacion de topologfa de red, en donde la informacion de topologfa de red comprende informacion de conexion de red de los dos servidores;
una unidad de activacion, configurada para determinar, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores en la informacion de topologfa de red, que los dos servidores se encuentran en diferentes subredes, los dos servidores se encuentran bajo un mismo enrutador y los dos servidores se conectan, respectivamente, a diferentes conmutadores y posibilitan una unidad de creacion de regla de enrutamiento;
5
10
15
20
25
30
35
40
45
50
la unidad de creacion de regla de enrutamiento, configurada para crear una primera regla de enrutamiento distribuido, en donde la primera regla de enrutamiento distribuido comprende: modificar la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establecer un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor; y
una unidad de envfo, configurada para enviar la primera regla de enrutamiento distribuido al primer conmutador para ordenar al primer conmutador que: modifique la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establezca un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor y para reenviar el paquete procesado al segundo servidor, en donde la etiqueta de red en capa 2 donde se ubica el segundo servidor es para ordenar que el paquete se transmita al segundo conmutador conectado directamente al segundo servidor y la direccion MAC del segundo servidor es para ordenar al paquete que se transmita al segundo servidor. En una segunda manera de implementacion posible del segundo aspecto, la primera regla de enrutamiento distribuido ademas incluye: modificar una direccion Mac de origen del paquete enviado por el primer servidor al segundo servidor en una direccion Mac de una puerta de enlace a la cual pertenece el segundo servidor.
Segun las soluciones tecnicas anteriores, en el metodo, dispositivo y sistema para implementar el enrutamiento de paquetes en la red provisto por las realizaciones de la presente invencion, un encabezado de paquete de un paquete enviado entre dos servidores que se encuentran bajo un mismo enrutador y en diferentes subredes se puede modificar, de modo que un paquete que satisface las condiciones de enrutamiento distribuido alcanza, directamente, un servidor de destino despues de reenviarse en una capa de enlace de datos en capa 2 de un conmutador sin procesarse por un enrutador en capa 3, mejorando, asf, de manera eficiente, un ancho de banda de transmision del trafico este-oeste.
Breve descripcion de los dibujos
Con el fin de describir las soluciones tecnicas en las realizaciones de la presente invencion de forma mas clara, a continuacion se introducen brevemente los dibujos anexos requeridos para describir las realizaciones de la presente invencion. De manera aparente, los dibujos anexos en la siguiente descripcion muestran simplemente algunas realizaciones de la presente invencion y una persona con experiencia ordinaria en la tecnica puede derivar otros dibujos a partir de dichos dibujos anexos sin esfuerzos creativos.
La Figura 1 es un diagrama de red esquematico de un sistema para implementar la comunicacion de paquetes de un centro de datos en la tecnica anterior;
la Figura 2A es un diagrama de red esquematico de un primer sistema para implementar el enrutamiento distribuido en una red segun una realizacion de la presente invencion;
la Figura 2B es un diagrama de red esquematico de un segundo sistema para implementar el enrutamiento distribuido en una red segun una realizacion de la presente invencion;
la Figura 3 es un diagrama de flujo esquematico de una realizacion del metodo para implementar el enrutamiento distribuido de un paquete en una red segun la presente invencion;
la Figura 4 es un diagrama de flujo esquematico de una segunda realizacion del metodo para implementar el enrutamiento distribuido de un paquete en una red segun la presente invencion;
la Figura 5 es un diagrama de flujo esquematico de una tercera realizacion del metodo para implementar el enrutamiento distribuido de un paquete en una red segun la presente invencion;
la Figura 6A es un diagrama de red esquematico de un tercer sistema para implementar el enrutamiento distribuido en una red segun una realizacion de la presente invencion;
la Figura 6B es un diagrama de red esquematico de un cuarto sistema para implementar el enrutamiento distribuido en una red segun una realizacion de la presente invencion;
la Figura 7 es un diagrama estructural esquematico de una primera realizacion de un controlador segun la presente invencion;
la Figura 8 es un diagrama estructural esquematico de una segunda realizacion de un controlador segun la presente invencion; y
la Figura 9 es un diagrama estructural esquematico de una unidad de activacion en un controlador segun la presente invencion.
Descripcion de las realizaciones
5
10
15
20
25
30
35
40
45
50
A continuacion se describen de forma clara y completa las soluciones tecnicas en las realizaciones de la presente invencion con referencia a los dibujos anexos en las realizaciones de la presente invencion. De manera aparente, las realizaciones descritas son una parte de, antes que todas, las realizaciones de la presente invencion. Todas las otras realizaciones que una persona con experiencia normal en la tecnica obtenga segun las realizaciones de la presente invencion sin esfuerzos creativos caeran dentro del alcance de proteccion de la presente invencion.
En general, un modulo de programa incluye una rutina, un programa, un componente, una estructura de datos y estructuras de otros tipos para ejecutar una tarea espedfica o implementar un tipo de dato abstracto espedfico. Ademas, una persona con experiencia en la tecnica puede comprender que las realizaciones se pueden implementar usando otras configuraciones del sistema informatico, incluido un dispositivo portatil, un sistema multiprocesador, electronica de consumo programable o basada en microprocesador, un ordenador pequeno, un ordenador grande y un dispositivo informatico similar. Las realizaciones se pueden implementar ademas en un entorno informatico distribuido donde una tarea se ejecuta por un dispositivo de procesamiento remoto vinculado por una red de comunicaciones. En el entorno informatico distribuido, el modulo de programa se puede ubicar en un dispositivo de almacenamiento como, por ejemplo, una memoria local o remota.
Las realizaciones se pueden implementar como un proceso implementado por un ordenador, un sistema informatico, un producto de programa informatico o un medio de almacenamiento informatico que almacena un programa informatico, el cual se ejecuta por un sistema informatico y se forma por una orden de un proceso a modo de ejemplo. Por ejemplo, un medio de almacenamiento legible por ordenador se puede implementar por uno o mas de una memoria informatica no permanente, una memoria permanente, una unidad de disco duro, una unidad flash, un disco flexible o un disco compacto y un medio similar.
La Figura 2A a la Figura 2B muestran dos tipos de diagramas de red esquematicos de una realizacion del sistema para implementar el enrutamiento de paquetes en una red segun la presente invencion.
En la Figura 2A, el diagrama de red esquematico del sistema incluye: una plataforma de control central 100, un enrutador 200, un primer conmutador 310 y tres servidores, donde la plataforma de control central 100 se conecta al primer conmutador 310, el enrutador 200 se conecta al primer conmutador 310 y un primer servidor 410, un segundo servidor 420 y un tercer servidor 430 se conectan, todos, al primer conmutador 310.
En comparacion con la Figura 2A, las diferencias residen en que, en la Figura 2B, existe un segundo conmutador 320, la plataforma de control central 100 se conecta al segundo conmutador 320 y, ademas, el enrutador 200 se conecta al segundo conmutador 320, el primer servidor 410 y el tercer servidor 430 se conectan al primer conmutador 310 y el segundo servidor 420 se conecta al segundo conmutador 320.
La plataforma de control central 100 en la Figura 2A y la Figura 2B se configura para construir y mantener, de forma dinamica, la informacion de topologfa de red, tomar una decision de enrutamiento distribuido, crear una regla de enrutamiento distribuido y entregar la regla de enrutamiento distribuido al primer conmutador 310 y/o al segundo conmutador.
Es comprensible que, en un proceso de implementacion espedfico, no se requiera necesariamente que la plataforma de control central 100 construya o mantenga, de manera dinamica, la informacion de topologfa de red, puede haber otra entidad para construir y mantener, de forma dinamica, la informacion de topologfa de red y la plataforma de control central 100 obtiene la informacion de topologfa de red de la entidad.
El primer conmutador 310 y el segundo conmutador 320, como entidades de reenvfo en capa 2, se configuran para recibir y ejecutar la regla de enrutamiento distribuido creada y entregada por la plataforma de control central 100, modificar un encabezado de paquete para un paquete que satisface las condiciones de enrutamiento distribuido y se transmite por un servidor de origen y un servidor de destino y para reenviar el paquete modificado.
Las condiciones de enrutamiento distribuido son: determinar si el servidor de origen que envfa el paquete y el servidor de destino que recibe el paquete se encuentran en subredes diferentes y determinar si el servidor de origen y el servidor de destino se encuentran bajo un mismo enrutador.
El primer servidor 410, el segundo servidor 420 y el tercer servidor 430 actuan como entidades de comunicaciones y, en una implementacion espedfica, los servidores anteriores se pueden referir a maquinas ffsicas o a una o mas maquinas virtuales instaladas en los servidores.
El enrutador 200 es una entidad para implementar el reenvfo en capa 3 y puede integrar una o mas puertas de enlace.
La Figura 3 muestra un metodo para implementar el enrutamiento distribuido de un paquete segun la red anterior, donde la red incluye un controlador, al menos dos servidores y al menos un conmutador. El controlador se conecta al al menos un conmutador, los al menos dos servidores se conectan al al menos un conmutador, la red incluye al
5
10
15
20
25
30
35
40
45
50
menos dos subredes y cada servidor de los al menos dos servidores pertenece a una subred de las al menos dos subredes. El metodo incluye:
301: el controlador obtiene identificadores de dos servidores e informacion de topologfa de red, donde la informacion de topologfa de red incluye informacion de conexion de red de los dos servidores.
El controlador en la etapa corresponde a la plataforma de control central 100 en el sistema anterior para implementar el enrutamiento distribuido de un paquete.
302: cuando el controlador determina, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores, que los dos servidores se encuentran en diferentes subredes y que los dos servidores se encuentran bajo un mismo enrutador, el controlador crea una primera regla de enrutamiento distribuido y envfa la primera regla de enrutamiento distribuido a un primer conmutador conectado, directamente, a un primer servidor, donde la primera regla de enrutamiento distribuido se usa para ordenar al primer conmutador que modifique un encabezado de paquete para un paquete enviado por el primer servidor a un segundo servidor y para reenviar el paquete modificado.
Mediante la adopcion de la realizacion del metodo anterior, un controlador obtiene identificadores de dos servidores que necesitan enviar un paquete y consultan la informacion de topologfa de toda una red usando los identificadores. De forma espedfica, el controlador consulta la informacion de conexion de red de los dos servidores y determina, segun la informacion de conexion de red, si los dos servidores se encuentran en subredes diferentes y si los dos servidores se encuentran bajo un mismo enrutador. Cuando se satisfacen las dos condiciones anteriores, el controlador crea una regla de enrutamiento distribuido y entrega la regla a un conmutador conectado directamente a un servidor que envfa el paquete. El conmutador modifica, segun la regla de enrutamiento distribuido entregada, un encabezado para un paquete enviado por un primer servidor a un segundo servidor, para reenviar el paquete modificado segun el encabezado de paquete. La manera de implementacion anterior se puede adoptar para evitar que todos los paquetes atraviesen un enrutador y mejorar asf, de forma eficiente, un ancho de banda de transmision del trafico este-oeste.
En un proceso de implementacion espedfico, un proceso en el que el controlador determina si los dos servidores satisfacen las condiciones de enrutamiento distribuido se puede activar de las dos siguientes maneras:
Manera 1: el primer servidor de los dos servidores envfa un paquete al segundo servidor, el paquete alcanza un conmutador conectado directamente al primer servidor, cuando el conmutador no tiene una regla de enrutamiento de paquetes correspondiente, el conmutador envfa una solicitud de regla de enrutamiento al controlador, donde la solicitud incluye los identificadores de los dos servidores (por ejemplo, una direccion IP o una direccion Mac) y el controlador determina las condiciones de enrutamiento distribuido segun los identificadores de los dos servidores y la informacion de topologfa de red.
Manera 2: una MV1 y una MV2 se crean de forma separada en un ordenador principal y, cuando el controlador recibe un mensaje de creacion de la MV1 y la MV2 y descubre, mediante el uso de identificadores de las dos maquinas virtuales, que no se entrega ninguna regla de enrutamiento para la transmision de paquetes de las dos maquinas virtuales, el controlador obtiene los identificadores de las dos maquinas virtuales y determina las condiciones de enrutamiento distribuido segun los identificadores de las dos maquinas virtuales y la informacion de topologfa de red.
De manera espedfica, la primera regla de enrutamiento distribuido incluye: modificar una direccion Mac de destino del paquete enviado por el primer servidor al segundo servidor en una direccion Mac del segundo servidor. Cuando recibe el paquete enviado por el primer servidor al segundo servidor, el primer conmutador modifica la direccion Mac de destino del paquete en la direccion Mac del segundo servidor, de modo que el paquete se reenvfa directamente al segundo servidor en un proceso en el que el paquete se reenvfa al segundo servidor a traves del primer conmutador, en lugar de encaminarse y reenviarse por una puerta de enlace.
De forma opcional, cuando los dos servidores se encuentran bajo conmutadores diferentes, la regla de enrutamiento distribuido necesita incluir la modificacion de un campo de etiqueta de red en capa 2, es decir, establecer el campo de etiqueta de red en capa 2 del paquete enviado por el primer servidor al segundo servidor para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor. La etiqueta de red en capa 2 es, espedficamente: una etiqueta Vlan, una etiqueta Vxlan o similares. Es comprensible que las maneras de implementacion para la etiqueta de red en capa 2 sean varias y los ejemplos anteriores no constituyen una limitacion para la etiqueta de red en capa 2.
De manera opcional, una direccion Mac de origen del paquete enviado al segundo servidor se modifica en una direccion Mac de una puerta de enlace a la cual pertenece el segundo servidor. Para entregar dicha regla, pueden existir dos situaciones segun las diferentes arquitecturas de red del sistema de red:
5
10
15
20
25
30
35
40
45
50
(1) cuando los dos servidores se conectan a un mismo conmutador, la regla de modificar la direccion Mac de origen del paquete enviado al segundo servidor en la direccion Mac de la puerta de enlace a la cual pertenece el segundo servidor se entrega al conmutador conectado directamente a los dos servidores; y
(2) cuando los dos servidores se conectan de forma separada a diferentes conmutadores, la regla de modificar la direccion Mac de origen del paquete enviado al segundo servidor en la direccion Mac de la puerta de enlace a la cual pertenece el segundo servidor se puede enviar al primer conmutador conectado directamente al primer servidor o a un segundo conmutador conectado directamente al segundo servidor. Cuando se selecciona enviar la regla al segundo conmutador, es necesario volver a crear una nueva regla de enrutamiento distribuido y entregar la regla de enrutamiento al segundo conmutador.
La manera de implementacion anterior se describe desde una perspectiva del segundo servidor y el paquete del primer servidor se reenvfa y procesa por la puerta de enlace a la cual pertenece el segundo servidor, lo cual se ajusta mas un proceso de reenvfo de red convencional.
La manera de implementacion anterior resuelve la creacion y entrega de la regla de enrutamiento distribuido del paquete enviado por el primer servidor al segundo servidor. Considerando una propiedad de comunicacion bidireccional de los dos servidores, es necesario crear una regla de enrutamiento distribuido para procesar el paquete enviado por el segundo servidor al primer servidor.
Despues de que el controlador determina que los dos servidores se encuentran en diferentes subredes y que los dos servidores se encuentran bajo un mismo enrutador, el metodo ademas incluye:
cuando el controlador determina que el conmutador conectado directamente al segundo servidor es el primer conmutador, crear, por el controlador, una tercera regla de enrutamiento distribuido y envfa la tercera regla de enrutamiento distribuido al primer conmutador, donde la tercera regla de enrutamiento distribuido se usa para ordenar al primer conmutador que modifique un encabezado de paquete para el paquete enviado por el segundo servidor al primer servidor y para reenviar el paquete modificado; y
cuando el controlador determina que el conmutador conectado directamente al segundo servidor es el segundo conmutador diferente del primer conmutador, crear, por el controlador, una cuarta regla de enrutamiento distribuido y envfa la cuarta regla de enrutamiento distribuido al segundo conmutador, donde la cuarta regla de enrutamiento distribuido se usa para ordenar al segundo conmutador que modifique el encabezado de paquete para el paquete enviado por el segundo servidor al primer servidor y para reenviar el paquete modificado.
La tercera regla de enrutamiento distribuido o la cuarta regla de enrutamiento distribuido incluye: modificar una direccion Mac de destino del paquete enviado por el segundo servidor al primer servidor en una direccion Mac del primer servidor.
De manera opcional, cuando el segundo servidor y el primer servidor se conectan, de forma separada, a diferentes conmutadores, la tercera regla de enrutamiento distribuido anterior o la cuarta regla de enrutamiento distribuido incluyen ademas: establecer un campo de etiqueta de red en capa 2 del paquete enviado por el segundo servidor al primer servidor para que sea una etiqueta de red en capa 2 donde se ubica el primer servidor.
De manera opcional, con el fin de hacer un trayecto de reenvfo de paquetes transparente para el primer servidor y de hacer que el primer servidor considere que usar la regla de enrutamiento distribuido para procesar el paquete es similar al enrutamiento convencional (es decir, una puerta de enlace a la cual pertenece el primer servidor), la tercera regla de enrutamiento distribuido anterior o la cuarta regla de enrutamiento distribuido incluye ademas: modificar una direccion Mac de origen del paquete enviado por el segundo servidor al primer servidor en una direccion Mac de la puerta de enlace a la cual pertenece el primer servidor. De esta manera, cuando el paquete enviado por el segundo servidor al primer servidor atraviesa el conmutador, la direccion Mac de origen del paquete se modifica en la direccion Mac de la puerta de enlace a la cual pertenece el primer servidor.
De manera opcional, otra forma de hacer el paquete enviado por el segundo servidor al primer servidor transparente para el primer servidor es crear otra regla de enrutamiento distribuido, es decir, una quinta regla de enrutamiento distribuido y entregar la quinta regla de enrutamiento distribuido al conmutador conectado directamente al primer servidor, donde la regla incluye: modificar una direccion Mac de origen del paquete enviado por el segundo servidor al primer servidor en una direccion Mac de una puerta de enlace a la cual pertenece el primer servidor.
De manera opcional, un proceso en el que el controlador determina, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores, que los dos servidores se encuentran en subredes diferentes y que los dos servidores se encuentran bajo un mismo enrutador incluye, espedficamente:
obtener, por el controlador, los identificadores de los dos servidores, consultar, segun los identificadores, identificadores de subred de los dos servidores en la informacion de conexion de red de los dos servidores y
5
10
15
20
25
30
35
40
45
comparar los identificadores de subred encontrados de los dos servidores y, cuando los dos identificadores de subred son diferentes, determinar que los dos servidores se encuentran en subredes diferentes; y
consultar, por el controlador, segun los identificadores de los dos servidores, identificadores de enrutadores, a los cuales pertenecen los dos servidores, en la informacion de conexion de red de los dos servidores y comparar los identificadores de enrutador encontrados de los dos servidores y, cuando los dos identificadores de enrutador son iguales, determinar que los dos servidores se encuentran bajo un mismo enrutador.
En la realizacion anterior, un protocolo de comunicaciones adoptado por el controlador y el conmutador incluye, pero no se limita a: un protocolo de flujo abierto (Openflow) o un protocolo de interprete de ordenes seguro (Secure Shell).
Con el fin de describir el proceso de crear y entregar la regla de enrutamiento distribuido de forma mas clara, abajo se usan cuatro realizaciones espedficas para describir la creacion y entrega de la regla de enrutamiento distribuido:
(I) una manera de crear, de forma pasiva, una regla de enrutamiento distribuido
1) las descripciones se llevan a cabo segun una arquitectura de red en la Figura 2A
401: un primer servidor 410 envfa un paquete de datos a un segundo servidor 420 y el paquete de datos alcanza un primer conmutador 310 conectado al primer servidor 410 y al segundo servidor 420. De manera espedfica, un encabezado del paquete de datos incluye la siguiente informacion quintuple:
- Mac de origen
- Mac de destino Tipo de Ethernet IP de origen IP de destino
- Mac del primer servidor
- Mac de una puerta de enlace del primer servidor 0x0800 IP del primer servidor IP del segundo servidor
Una direccion Mac de destino del paquete de datos es una direccion Mac de una puerta de enlace a la cual pertenece el primer servidor. Es decir, segun el enrutamiento convencional, un proximo salto del paquete de datos es una puerta de enlace de una subred a la cual pertenece el primer servidor.
El tipo de Ethernet en la tabla anterior se anade por el primer servidor segun un tipo de red de transmision. Es comprensible que el tipo de Ethernet pueda ser tambien otro tipo de red, el cual no se limita en la presente memoria por la realizacion de la presente invencion.
403: el primer conmutador 310 busca una directiva de enrutamiento local almacenada por el primer conmutador 310 y no encuentra concordancias y, por lo tanto, envfa una solicitud a la plataforma de control central 100.
La directiva de enrutamiento adopta una estructura de "campo de concordancia + campo de ejecucion", donde el campo de concordancia incluye informacion sobre el servidor de origen y el servidor de destino y la informacion puede incluir una direccion IP, una direccion Mac o similares. En un proceso de implementacion de la etapa 403, se determina, mediante el uso de un modo de concordancia del campo de concordancia, si se puede encontrar la directiva de enrutamiento para la que se requiere una concordancia.
405: la plataforma de control central 100 determina, segun la solicitud enviada por el primer conmutador 310, si el primer servidor 410 y el segundo servidor 420 cumplen con las condiciones de enrutamiento distribuido y determina, mediante la obtencion de los identificadores de los dos servidores y en combinacion con la informacion de topologfa de red (que es, espedficamente, la informacion de conexion de red de los dos servidores), si los dos servidores se encuentran en subredes diferentes y si los dos servidores se encuentran bajo un mismo enrutador; y, cuando las dos condiciones anteriores se cumplen, lleva a cabo la etapa 407; de lo contrario, crea una regla de enrutamiento de forma convencional.
Un proceso para determinar si el primer servidor 410 y el segundo servidor 420 cumplen con las condiciones de enrutamiento distribuido incluye, espedficamente:
la plataforma de control central 100 obtiene identificadores (por ejemplo, direcciones IP o direcciones Mac) del primer servidor 410 y segundo servidor 420, consulta, segun los identificadores anteriores, identificadores de subred (subred_id) de los dos servidores en la informacion de conexion de red de los dos servidores y compara los identificadores de subred encontrados de los dos servidores y, cuando los dos identificadores de subred son diferentes, determina que los dos servidores se encuentran en subredes diferentes.
La plataforma de control central 100 consulta, segun los identificadores de los dos servidores, identificadores de enrutadores (Enrutador_id), a los cuales pertenecen los dos servidores, en la informacion de conexion de red de los
5
10
15
20
25
30
35
40
dos servidores y compara los identificadores de enrutador encontrados de los dos servidores y, cuando los identificadores de enrutador son iguales, determina que los dos servidores se encuentran bajo un mismo enrutador.
407: crear una primera regla de enrutamiento distribuido del paquete enviado por el primer servidor al segundo servidor y entregar la primera regla de enrutamiento distribuido al primer conmutador 310, donde la regla es la siguiente:
- Campo de concordancia
- Campo de ejecucion
- Ori_Mac
- Des_Mac Ethernet_tipo Ori_IP Des_IP Acciones
- Mac del primer servidor
- Mac de una puerta de enlace a la cual pertenece el primer servidor 0x0800 IP del primer servidor IP del segundo servidor Mod_Des_Mac=Mac del segundo servidor
- Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor
Se debe notar que las dos reglas de ejecucion incluidas en el campo de ejecucion constituyen una realizacion preferida. En un proceso de implementacion espedfico, es necesario modificar una direccion Mac de destino del paquete, es decir, "Mod_Des_Mac=Mac del segundo servidor"; y es opcional modificar la direccion Mac de origen del paquete, es decir, "Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor".
409: cuando el paquete enviado por el primer servidor 410 al segundo servidor 420 alcanza el primer conmutador 310 y se determina, por la concordancia del campo de concordancia de la primera regla de enrutamiento distribuido, que el paquete se envfa por el primer servidor 410 al segundo servidor 420, modificar la direccion Mac de destino del paquete y modificar una etiqueta Vlan segun el campo de ejecucion de la primera regla de enrutamiento distribuido, de modo que el paquete puede alcanzar directamente el segundo servidor 420 despues de atravesar el primer conmutador 310.
Se debe notar que la anterior estructura de campo de concordancia de la primera regla de enrutamiento distribuido es meramente un ejemplo espedfico. Es comprensible que el campo de concordancia de la regla de enrutamiento distribuido descrito en las realizaciones de la memoria descriptiva se pueda implementar de otra manera. Por ejemplo, el campo de concordancia solamente incluye un IP de un servidor de origen y un IP de un servidor de destino, lo cual no se encuentra limitado por las realizaciones de la presente invencion.
En la realizacion de la presente invencion, el controlador determina si la informacion sobre el paquete enviado por el primer servidor 410 al segundo servidor 420 cumple con las condiciones de enrutamiento distribuido, donde las condiciones de enrutamiento distribuido son, espedficamente: determinar si el servidor de origen que envfa el paquete y el servidor de destino que recibe el paquete se encuentran en subredes diferentes y si los dos servidores se encuentran bajo un mismo enrutador. Si se satisfacen las condiciones de enrutamiento distribuido anteriores, la regla de enrutamiento distribuido se entrega al conmutador conectado directamente a los dos servidores. El conmutador que recibe la regla de enrutamiento distribuido reenvfa y procesa el paquete anterior modificando la Mac de destino del paquete en la Mac del servidor de destino. De esta manera, se evita que todos los paquetes necesiten reenviarse mediante el uso de un protocolo de enrutamiento en capa 3 y la presion de un enrutador, la cual tiene una funcion de puerta de salida, en el reenvfo de paquetes se reduce de forma significativa.
El proceso anterior es crear la regla de enrutamiento distribuido para el paquete enviado por el primer servidor 410 al segundo servidor 420, para reenviar el paquete. Una persona con experiencia ordinaria en la tecnica puede comprender que, con respecto al enrutamiento distribuido para un paquete enviado por el segundo servidor 420 al primer servidor 410, el controlador puede crear una regla de enrutamiento distribuido correspondiente de forma similar para reenviar el paquete enviado por el segundo servidor 420 al primer servidor 410 y los detalles no se describen nuevamente en la presente memoria.
Una situacion en la que dos servidores se conectan a un conmutador se describe mas arriba y una manera de enrutamiento distribuido del paquete se describe mas abajo mediante el uso de dos servidores que se conectan, de forma separada, a dos conmutadores como ejemplo.
2) Las descripciones se llevan a cabo segun una arquitectura de red en la Figura 2B
501: un primer servidor 410 envfa un paquete de datos a un segundo servidor 420 y el paquete de datos alcanza un primer conmutador 310 conectado al primer servidor 410. Un encabezado del paquete de datos incluye la siguiente informacion quintuple:
5
10
15
20
25
30
- Mac de origen
- Mac de destino Tipo de Ethernet IP de origen IP de destino
- Mac del primer servidor
- Mac de una puerta de enlace del primer servidor 0x0800 IP del primer servidor IP del segundo servidor
Una direccion Mac de destino del paquete de datos es una direccion Mac de una puerta de enlace a la cual pertenece el primer servidor. Es decir, segun el enrutamiento convencional, un proximo salto del paquete de datos es una puerta de enlace a la cual pertenece el primer servidor.
El tipo de Ethernet en la tabla anterior se anade por el primer servidor segun un tipo de red de transmision. Es comprensible que el tipo de Ethernet pueda ser tambien otro tipo de red, el cual no se limita en la presente memoria por la realizacion de la presente invencion.
503: el primer conmutador 310 busca una directiva de enrutamiento local almacenada por el primer conmutador 310 y no encuentra concordancias y, por lo tanto, envfa una solicitud a la plataforma de control central 100.
La directiva de enrutamiento adopta una estructura de "campo de concordancia + campo de ejecucion", donde el campo de concordancia incluye informacion sobre el servidor de origen y el servidor de destino y la informacion puede incluir una direccion IP, una direccion Mac o similares. En un proceso de implementacion de la etapa 503, se determina, mediante el uso de un modo de concordancia del campo de concordancia, si se puede encontrar la directiva de enrutamiento para la que se requiere una concordancia.
505: la plataforma de control central 100 determina, segun la solicitud enviada por el primer conmutador 310, si el primer servidor 410 y el segundo servidor 420 cumplen con las condiciones de enrutamiento distribuido y determina, mediante la obtencion de los identificadores de los dos servidores y en combinacion con la informacion de topologfa de red (que es, espedficamente, la informacion de conexion de red de los dos servidores), si los dos servidores se encuentran en subredes diferentes y si los dos servidores se encuentran bajo un mismo enrutador; y cuando las dos condiciones anteriores se cumplen, lleva a cabo la etapa 507; de lo contrario, crea una regla de enrutamiento de forma convencional.
Un proceso para determinar si el primer servidor 410 y el segundo servidor 420 cumplen con las condiciones de enrutamiento distribuido incluye, espedficamente:
la plataforma de control central 100 obtiene identificadores (por ejemplo, direcciones IP o direcciones Mac) del primer servidor 410 y segundo servidor 420, consulta, segun los identificadores anteriores, identificadores de subred (subred_id) de los dos servidores en la informacion de conexion de red de los dos servidores y compara los identificadores de subred encontrados de los dos servidores y, cuando los dos identificadores de subred son diferentes, determina que los dos servidores se encuentran en subredes diferentes.
La plataforma de control central 100 consulta, segun los identificadores de los dos servidores, identificadores de enrutadores (Enrutador_id), a los cuales pertenecen los dos servidores, en la informacion de conexion de red de los dos servidores y compara los identificadores de enrutador encontrados de los dos servidores y, cuando los identificadores de enrutador son iguales, determina que los dos servidores se encuentran bajo un mismo enrutador.
507: la plataforma de control central 100 crea una primera regla de enrutamiento distribuido del paquete enviado por el primer servidor 410 al segundo servidor 420 y entrega la primera regla de enrutamiento distribuido al primer conmutador 310, donde la regla es la siguiente:
- Campo de concordancia
- Campo de ejecucion
- Ori_Mac
- Des_Mac Ethernet_tipo Ori_IP Des_IP Acciones
- Mac del primer servidor
- Mac de una puerta de enlace a la cual pertenece el primer conmutador 0x0800 IP del primer servidor IP del segundo servidor Mod_Des_Mac=Mac del segundo servidor
- Mod_Vlan_vid=Vlan del segundo servidor
- Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor
En el campo de ejecucion de la primera regla de enrutamiento distribuido entregada al primer conmutador 310, es necesario modificar una direccion Mac de origen del paquete en una direccion Mac del segundo servidor usado como un extremo de recepcion de paquete de destino, es decir, "Mod_Des_Mac=Mac del segundo servidor". Se conoce a partir de la Figura 2B que el primer servidor 410 y el segundo servidor 420 se conectan de forma separada 5 a diferentes conmutadores. Es decir, es necesario modificar una etiqueta de red en capa 2 en el paquete enviado por dos servidores que se comunican mediante conmutadores de cruce y, en la presente realizacion, es necesario modificar una etiqueta Vlan. Es decir, "Mod_Vlan_vid=Vlan del segundo servidor" tambien es necesario. Ademas, es opcional modificar la direccion Mac de origen del paquete, es decir, "Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor".
10 A modo de otra transformacion, para una orden de "Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor", una segunda regla de enrutamiento distribuido puede ademas crearse de forma independiente y la regla se entrega al segundo conmutador 320 conectado directamente al segundo servidor 420, donde la segunda regla de enrutamiento distribuido se muestra de la siguiente manera:
- Campo de concordancia
- Campo de ejecucion
- Ori_Mac
- Des_Mac Ethernet_tipo Ori_IP Des_IP Acciones
- Mac del primer servidor
- Mac de una puerta de enlace a la cual pertenece el primer conmutador 0x0800 IP del primer servidor IP del segundo servidor Mod_Ori_Mac=Mac de una puerta de enlace a la cual pertenece el segundo servidor
Ademas, la primera regla de enrutamiento distribuido que incluye "Mod_Des_Mac=Mac del segundo servidor" y
15 "Mod_vlan_vid=Vlan del segundo servidor" se entrega al primer conmutador 310. Es decir, la regla de enrutamiento distribuido, segun se describe a continuacion, se entrega al primer conmutador 310:
- Campo de concordancia
- Campo de ejecucion
- Ori_Mac
- Des_Mac Ethernet_tipo Ori_IP Des_IP Acciones
- Mac del primer servidor
- Mac de una puerta de enlace a la cual pertenece el primer conmutador 0x0800 IP del primer servidor IP del segundo servidor Mod_Des_Mac=Mac del segundo servidor
- Mod_vlan_vid=Vlan del segundo servidor
509: cuando el paquete enviado por el primer servidor 410 al segundo servidor 420 alcanza el primer conmutador 310, el primer conmutador 310 determina, por la concordancia del campo de concordancia de la primera regla de enrutamiento distribuido, que el paquete se envfa por el primer servidor 410 al segundo servidor 420, modifica la
20 direccion Mac de destino del paquete y modifica una etiqueta Vlan segun el campo de ejecucion de la primera regla de enrutamiento distribuido, de modo que el paquete puede alcanzar directamente el segundo servidor 420 despues de reenviarse en una capa de enlace de datos en capa 2 del primer conmutador 310 y segundo conmutador 320.
En la realizacion de la presente invencion, el controlador determina si la informacion sobre el paquete enviado por el primer servidor 410 al segundo servidor 420 cumple con las condiciones de enrutamiento distribuido, donde las 25 condiciones de enrutamiento distribuido son, espedficamente: determinar si el servidor de origen que envfa el
paquete y el servidor de destino que recibe el paquete se encuentran en subredes diferentes y si los dos servidores se encuentran bajo un mismo enrutador. Si se satisfacen las condiciones de enrutamiento distribuido anteriores, la regla de enrutamiento distribuido se entrega al conmutador conectado a los dos servidores. El conmutador que recibe la regla de enrutamiento distribuido reenvfa y procesa el paquete anterior modificando la Mac de destino del 30 paquete en la Mac del servidor de destino. Se evita que todos los paquetes necesiten reenviarse mediante el uso de un enrutador en capa 3 y la presion de un enrutador, la cual tiene una funcion de puerta de salida, en el reenvfo de paquetes se reduce de forma significativa.
Un proceso para crear y entregar la regla de enrutamiento distribuido se describe mas arriba en una manera en la que el primer servidor 410 envfa el paquete al segundo servidor 420 y un proceso para crear y entregar una regla de 35 enrutamiento distribuido para un paquete enviado por el segundo servidor 420 al primer servidor 410 es similar al
proceso anterior y los detalles no se describen nuevamente en la realizacion de la presente invencion.
5
10
15
20
25
30
En la anterior "manera de crear, de forma pasiva, una regla de enrutamiento distribuido", se hace referencia a la manera como "pasiva" porque la plataforma de control central 100 solo inicia el proceso de creacion de la regla de enrutamiento distribuido despues de recibir informacion sobre el paquete enviado por el servidor de origen al servidor de destino y de determinar que no se crea ninguna regla de enrutamiento.
(II) Una manera de crear, de forma activa, una regla de enrutamiento distribuido
En la Figura 6A y la Figura 6B, un vConmutador (Conmutador Virtual) se refiere a un conmutador virtual y una MV (Maquina Virtual) se refiere a una maquina virtual. En un proceso de implementacion espedfico, el vConmutador puede ser una entidad logica y puede ser una misma entidad ffsica junto con la MV.
Un proceso para crear y entregar una regla de enrutamiento distribuido se describe mas abajo mediante el uso de un escenario Openstack. Con referencia a la Figura 6A, el metodo incluye:
601: crear una MV1 640 en un nodo informatico 1 y, en el presente caso, la informacion de topologfa de red bajo un vConmutadorl 620 se cambia.
602: el nodo informatico 1 detecta que la informacion de topologfa de red cambia e informa el cambio a un nodo de control 600.
603: el nodo de control 600 actualiza la informacion de topologfa de red.
604: crear una MV2 650 en el nodo informatico 1 y el nodo informatico 1 detecta que la informacion de topologfa de red cambia e informa el cambio al nodo de control 600.
605: el nodo de control 600 descubre, segun la informacion de topologfa de red, que se crean dos MV y determina si la MV1 640 y la MV2 650 se encuentran bajo un mismo enrutador y si la MV1 640 y la MV2 650 se encuentran en subredes diferentes.
606: cuando se determina que se satisfacen las dos condiciones anteriores, el nodo de control 600 crea dos reglas de enrutamiento distribuido de forma separada. Una primera regla de enrutamiento distribuido se usa para encaminar y reenviar un paquete enviado por la MV1 640 a la MV2 650 y una segunda regla de enrutamiento distribuido se usa para encaminar y reenviar un paquete enviado por la MV2 650 a la MV1 640.
La primera regla de enrutamiento distribuido es:
- Campo de concordancia
- Campo de ejecucion
- Mac_Ori
- Mac_Des Ethernet_tipo IP_Ori IP_Des Acciones
- Mac de MV1
- Mac de una puerta de enlace a la cual pertenece MV1 0x0800 IP de MV1 IP de MV2 Mod_Mac_Des=MV2 Mac
- Mod_Mac_Ori=MV2 GW Mac
En la regla anterior, "Mod_Mac_Des=MV2 Mac" significa modificar una direccion Mac de destino del paquete en una direccion Mac de la MV2 650 y la regla es obligatoria.
"Mod_Mac_Ori=MV2 GW Mac" significa modificar una direccion Mac de origen del paquete en una direccion Mac de una puerta de enlace a la cual pertenece la MV2 650 y la regla es opcional.
De manera similar, la segunda regla de enrutamiento distribuido es:
- Campo de concordancia
- Campo de ejecucion
- Mac_Ori
- Mac_Des Ethernet_tipo IP_Ori IP_Des Acciones
- Mac de MV2
- Mac de una puerta de enlace a la cual pertenece MV2 0x0800 IP de MV2 IP de MV1 Mod_Mac_Des=MV1 Mac
- Mod_Mac_Ori=MV1 GW Mac
5
10
15
20
25
30
35
40
En la regla anterior, "Mod_Mac_Des=MV1 Mac" significa modificar una direccion Mac de destino del paquete en una direccion Mac de la MV1 y la regla es obligatoria.
"Mod_Mac_Ori=MV1 GW Mac" significa modificar una direccion Mac de origen del paquete en una direccion Mac de una puerta de enlace a la cual pertenece la MV1 y la regla es opcional.
607: el nodo de control 600 entrega las dos reglas de enrutamiento creadas al vConmutadorl 620.
Despues del proceso anterior, para el paquete enviado por la MV1 a la MV2 y el paquete enviado por la MV2 a la MV1, el enrutamiento distribuido y el reenvfo de los paquetes se pueden implementar usando las dos reglas de enrutamiento anteriores.
Es comprensible que, en la realizacion anterior que se muestra en la Figura 6A, el vConmutadorl, la MV1 y la MV2 sean entidades logicas con funciones diferentes. En un proceso de implementacion espedfico, el vConmutadorl y la MV1 se pueden implementar en una misma entidad ffsica, o el vConmutadorl y la MV2 se pueden implementar en una misma entidad ffsica, o el vConmutadorl, la MV1 y la MV2 se pueden implementar en una misma entidad ffsica, lo cual no se encuentra limitado por las realizaciones de la presente invencion.
La realizacion anterior es para una situacion en la que dos maquinas virtuales se conectan a un mismo vConmutador y la siguiente realizacion describe una situacion en la que dos maquinas virtuales se conectan, de forma separada, a dos vConmutadores, con referencia a la Figura 6B:
701: crear una MV1 640 en un nodo informatico 1 y, en el presente caso, la informacion de topologfa de red bajo un vConmutadorl 620 se cambia;
702: el nodo informatico 1 detecta que la informacion de topologfa de red cambia e informa el cambio de la topologfa de red a un nodo de control 600;
703: el nodo de control 600 actualiza la informacion de topologfa de red;
704: crear una MV2 650 en un nodo informatico 2 y el nodo informatico 2 detecta que la informacion de topologfa de red cambia e informa el cambio al nodo de control 600;
705: el nodo de control 600 descubre, segun la informacion de topologfa de red, que se crean dos MV y determina, mediante el uso de identificadores de las dos MV y segun la informacion de topologfa de red, si la MV1 640 y la MV2 650 se encuentran bajo un mismo enrutador y si la MV1 640 y la MV2 650 se encuentran en subredes diferentes;
706: cuando se determina que se satisfacen las dos condiciones anteriores, el nodo de control 600 crea dos reglas de enrutamiento distribuido de forma separada. Una primera regla de enrutamiento distribuido se usa para encaminar y reenviar un paquete enviado por la MV1 640 a la MV2 650 y una segunda regla de enrutamiento distribuido se usa para encaminar y reenviar un paquete enviado por la MV2 650 a la MV1 640.
La primera regla de enrutamiento distribuido es:
- Campo de concordancia
- Campo de ejecucion
- Mac_Ori
- Mac_Des Ethernet_tipo IP_Ori IP_Des Acciones
- Mac de MV1
- Mac de una puerta de enlace a la cual pertenece MVl 0x0800 IP de MV1 IP de MV2 Mod_Mac_Des=MV2 Mac
- Mod_Vlan_vid=MV2 Vlan
- Mod_Mac_Ori=MV2 GW Mac
En la regla anterior, "Mod_Mac_Des=MV2 Mac" significa modificar una direccion Mac de destino del paquete en una direccion Mac de la MV2 y la regla es obligatoria. "Mod_Vlan_vid=MV2 Vlan" significa modificar una etiqueta Vlan del paquete en una etiqueta Vlan donde se ubica la MV2 y la regla es tambien obligatoria. "Mod_Mac_Ori=MV2 GW Mac" significa modificar una direccion Mac de origen del paquete en una direccion Mac de una puerta de enlace a la cual pertenece la MV2 y la regla es opcional. Un objetivo es hacer un proceso de reenvfo del enrutamiento distribuido de paquetes transparente para la MV2. Es decir, parece para la MV2 que el paquete se reenvfa a la MV2 por la puerta de enlace a la cual pertenece la MV2, lo cual es igual a lo que ocurre en una manera de enrutamiento convencional.
5
10
15
20
25
30
35
40
De manera similar, la segunda regla de enrutamiento distribuido es:
- Campo de concordancia
- Campo de ejecucion
- Mac_Ori
- Mac_Des Tipo de Ethernet IP_Ori IP_Des Acciones
- Mac de MV2
- Mac de una puerta de enlace a la cual pertenece MV2 0x0800 IP de MV2 IP de MV1 Mod_Mac_Des=MV1 Mac
- Mod_Mac_Ori=MV1 GW Mac
En la regla anterior, "Mod_Mac_Des=MV1 Mac" significa modificar una direccion Mac de destino del paquete en una direccion Mac de la MV1 y la regla es obligatoria.
"Mod_Mac_Ori=MV1 GW Mac" significa modificar una direccion Mac de origen del paquete en una direccion Mac de una puerta de enlace a la cual pertenece la MV1 y la regla es opcional.
707: el nodo de control 600 entrega la primera regla de enrutamiento distribuido creada al vConmutadorl y entrega la segunda regla de enrutamiento distribuido creada a un vConmutador2.
En la realizacion que se muestra en la Figura 6B, el vConmutadorl y la MV1 y el vConmutador2 y la MV2 son entidades logicas diferentes, respectivamente. En un proceso de implementacion espedfico, el vConmutadorl y la MV1 se pueden implementar en una misma entidad ffsica, o el vConmutador2 y la MV2 se pueden implementar en una misma entidad ffsica, los cuales no se encuentran limitados por las realizaciones de la presente invencion.
Mediante la adopcion de la anterior realizacion del metodo, un controlador obtiene identificadores de maquinas virtuales recientemente creadas y determina, usando los identificadores y consultado la informacion de topologfa de toda la red, si las dos maquinas virtuales se encuentran en subredes diferentes y si las dos maquinas virtuales se encuentran bajo un mismo enrutador. Cuando se satisfacen las dos condiciones anteriores, el controlador crea una regla de enrutamiento distribuido y entrega la regla a un conmutador conectado directamente a la maquina virtual que envfa el paquete. El conmutador procesa, segun la regla de enrutamiento distribuido entregada, un paquete enviado por una primera maquina virtual a una segunda maquina virtual. La manera de implementacion anterior se puede adoptar para evitar que todos los paquetes atraviesen un enrutador con una funcion de puerta de enlace y asf mejorar, de forma eficiente, un ancho de banda de transmision del trafico este-oeste.
Otra realizacion de la presente invencion provee un controlador, donde el controlador se configura para implementar el enrutamiento distribuido de un paquete en una red. Como se muestra en la Figura 7, el controlador 100 incluye:
una unidad de obtencion 110, configurada para obtener identificadores de dos servidores e informacion de topologfa de red, donde la informacion de topologfa de red incluye informacion de conexion de red de los dos servidores;
una unidad de activacion 120, configurada para determinar, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores en la informacion de topologfa de red, que los dos servidores se encuentran en subredes diferentes y que los dos servidores se encuentran bajo un mismo enrutador y posibilitar una unidad de creacion de regla de enrutamiento 130;
la unidad de creacion de regla de enrutamiento 130, configurada para crear una primera regla de enrutamiento distribuido, donde la primera regla de enrutamiento distribuido se usa para ordenar a un primer conmutador modificar un encabezado de paquete para un paquete enviado por un primer servidor a un segundo servidor y para reenviar el paquete modificado; y
una unidad de envfo 140, configurada para enviar la primera regla de enrutamiento distribuido al primer conmutador conectado directamente al primer servidor.
La primera regla de enrutamiento distribuido incluye: modificar una direccion Mac de destino del paquete enviado por el primer servidor al segundo servidor en una direccion Mac del segundo servidor.
De forma opcional, la primera regla de enrutamiento distribuido ademas incluye: establecer un campo de etiqueta de red en capa 2 del paquete enviado por el primer servidor al segundo servidor para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor.
De manera opcional, la primera regla de enrutamiento distribuido ademas incluye:
5
10
15
20
25
30
35
40
45
modificar una direccion Mac de origen del paquete enviado por el primer servidor al segundo servidor en una direccion Mac de una puerta de enlace a la cual pertenece el segundo servidor.
De manera opcional, el controlador 100 ademas incluye:
una unidad de determinacion 150, configurada para permitir que la unidad de creacion de regla de enrutamiento cree una segunda regla de enrutamiento distribuido cuando se determina que un conmutador conectado al segundo servidor es un segundo conmutador diferente del primer conmutador, donde
la unidad de creacion de regla de enrutamiento 130 se configura ademas para crear la segunda regla de enrutamiento distribuido, donde la segunda regla de enrutamiento distribuido se usa para ordenar al segundo conmutador que modifique el encabezado de paquete para el paquete enviado por el primer servidor a un segundo servidor y para reenviar el paquete modificado; y
la unidad de envfo 140 se configura ademas para enviar la segunda regla de enrutamiento distribuido al segundo conmutador.
La segunda regla de enrutamiento distribuido incluye:
modificar una direccion Mac de origen del paquete enviado por el primer servidor al segundo servidor en una direccion Mac de una puerta de enlace a la cual pertenece el segundo servidor.
Con respecto a un proceso de creacion de la regla de enrutamiento distribuido para el paquete enviado por el primer servidor al segundo servidor y para dos situaciones en las que el primer servidor y el segundo servidor se conectan al primer conmutador y el primer servidor se conecta al primer conmutador y el segundo servidor se conecta al segundo conmutador.
La unidad de determinacion 150 en el controlador 100 anterior se configura ademas para: cuando se determina que el conmutador conectado directamente al segundo servidor es el primer conmutador, permitir que la unidad de creacion de regla de enrutamiento cree una tercera regla de enrutamiento distribuido y cuando se determina que el conmutador directamente conectado al segundo servidor es el segundo conmutador diferente del primer conmutador, permitir que la unidad de creacion de regla de enrutamiento cree una cuarta regla de enrutamiento distribuido.
La unidad de creacion de regla de enrutamiento 130 en el controlador 100 anterior se configura ademas para crear la tercera regla de enrutamiento distribuido y crear la cuarta regla de enrutamiento distribuido, donde la tercera regla de enrutamiento distribuido se usa para ordenar al primer conmutador que modifique un encabezado de paquete para un paquete enviado por el segundo servidor al primer servidor y para reenviar el paquete modificado, donde la cuarta regla de enrutamiento distribuido se usa para ordenar al segundo conmutador que modifique el encabezado de paquete para el paquete enviado por el segundo servidor al primer servidor y para reenviar el paquete modificado.
La unidad de envfo 140 se configura ademas para enviar la tercera regla de enrutamiento distribuido al primer conmutador y enviar la cuarta regla de enrutamiento distribuido al segundo conmutador.
La tercera regla de enrutamiento distribuido o la cuarta regla de enrutamiento distribuido incluye:
modificar una direccion Mac de destino del paquete enviado por el segundo servidor al primer servidor en una direccion Mac del primer servidor.
De manera opcional, la tercera regla de enrutamiento distribuido o la cuarta regla de enrutamiento distribuido ademas incluye:
establecer un campo de etiqueta de red en capa 2 del paquete enviado por el segundo servidor al primer servidor para que sea una etiqueta de red en capa 2 donde se ubica el primer servidor.
De manera opcional, la tercera regla de enrutamiento distribuido o la cuarta regla de enrutamiento distribuido ademas incluye:
modificar una direccion Mac de origen del paquete enviado por el segundo servidor al primer servidor en una direccion Mac de una puerta de enlace a la cual pertenece el primer servidor.
Con respecto al enrutamiento distribuido para el paquete enviado por el segundo servidor al primer servidor, la unidad de determinacion 150 incluida en el controlador 100 se configura ademas para: cuando se determina que un conmutador conectado directamente al primer servidor es el primer conmutador diferente del segundo conmutador, permitir que la unidad de creacion de regla de enrutamiento cree una quinta regla de enrutamiento distribuido.
5
10
15
20
25
30
35
40
45
50
La unidad de creacion de regla de enrutamiento 130 se configura ademas para crear la quinta regla de enrutamiento distribuido, donde la quinta regla de enrutamiento distribuido se usa para ordenar al primer conmutador que modifique el encabezado de paquete para el paquete enviado por el segundo servidor al primer servidor y para reenviar el paquete modificado.
La unidad de envfo 140 se configura ademas para enviar la quinta regla de enrutamiento distribuido al primer conmutador.
La quinta regla de enrutamiento distribuido incluye: modificar una direccion Mac de origen del paquete enviado por el segundo servidor al primer servidor en una direccion Mac de una puerta de enlace a la cual pertenece el primer servidor.
Ademas, con referencia a la Figura 9, la unidad de activacion 120 ademas incluye:
un primer modulo de determinacion 121, configurado para consultar, segun los identificadores de los dos servidores, identificadores de subred de los dos servidores en la informacion de conexion de red de los dos servidores y comparar los identificadores de subred encontrados de los dos servidores y, cuando los dos identificadores de subred son diferentes, determinar que los dos servidores se encuentran en subredes diferentes;
un segundo modulo de determinacion 122, configurado para consultar, segun los identificadores de los dos servidores, identificadores de enrutadores, a los cuales pertenecen los dos servidores, en la informacion de conexion de red de los dos servidores y comparar los identificadores de enrutador encontrados de los dos servidores y, cuando los identificadores de enrutador son iguales, determinar que los dos servidores se encuentran bajo un mismo enrutador; y
un modulo de activacion 123, configurado para permitir la unidad de creacion de regla de enrutamiento segun los resultados del primer modulo de determinacion y el segundo modulo de determinacion.
Una persona con experiencia ordinaria en la tecnica puede darse cuenta de que, en combinacion con los ejemplos descritos en las realizaciones descritas en la presente memoria descriptiva, las unidades y etapas de algoritmo se pueden implementar por hardware electronico, software del ordenador o una combinacion de ellos. Con el fin de describir, de manera clara, la intercambiabilidad entre hardware y software, lo anterior ha descrito, de forma general, las etapas y composiciones de cada ejemplo segun las funciones. Si las funciones se llevan a cabo por hardware o software depende de las aplicaciones particulares y de las condiciones de limitacion de diseno de las soluciones tecnicas. Una persona con experiencia en la tecnica puede usar diferentes metodos para implementar las funciones descritas para cada aplicacion particular, pero no se considerara que la implementacion va mas alla del alcance de la presente invencion.
Una persona con experiencia en la tecnica podra comprender de forma clara que, a los fines de una descripcion conveniente y breve, para un proceso de trabajo detallado del sistema, aparato y unidad anteriores, se puede hacer referencia a un proceso correspondiente en las realizaciones anteriores del metodo y los detalles no se describen nuevamente en la presente memoria.
En las diversas realizaciones provistas en la presente solicitud, se debe comprender que el sistema, aparato y metodo descritos se pueden implementar de otras maneras. Por ejemplo, la realizacion del aparato descrita es meramente a modo de ejemplo. Por ejemplo, la division de unidad es meramente una division de funcion logica y en la implementacion real la division puede ser otra. Por ejemplo, se pueden combinar o integrar en otro sistema multiples unidades o componentes, o algunas caractensticas se pueden ignorar o no llevar a cabo. Ademas, los acoplamientos mutuos representados o descritos o los acoplamientos directos o conexiones de comunicacion se pueden implementar a traves de algunas interfaces. Los acoplamientos indirectos o conexiones de comunicacion entre los aparatos o unidades se pueden implementar de forma electronica, mecanica o de otra manera.
Las unidades descritas como partes separadas pueden o pueden no estar ffsicamente separadas y las partes que se muestran como unidades pueden o pueden no ser unidades ffsicas, pueden ubicarse en una posicion, o pueden distribuirse en multiples unidades de red. Una parte de o todas las unidades se pueden seleccionar segun las necesidades reales para lograr los objetivos de las soluciones de las realizaciones de la presente invencion.
Ademas, las unidades funcionales en las realizaciones de la presente invencion se pueden integrar en una unidad de procesamiento, o cada una de las unidades puede existir sola ffsicamente, o dos o mas unidades se integran en una unidad. La unidad integrada se puede implementar en forma de hardware o se puede implementar en forma de una unidad funcional de software.
Cuando la unidad integrada se implementa en la forma de una unidad funcional de software y se vende o usa como un producto independiente, la unidad integrada se puede almacenar en un medio de almacenamiento legible por ordenador. Segun dicho entendimiento, las soluciones tecnicas de la presente invencion esencialmente, o la parte que contribuye a la tecnica anterior, o todas o una parte de las soluciones tecnicas se pueden implementar en la
forma de un producto de software. El producto de software se almacena en un medio de almacenamiento e incluye varias instrucciones para indicar a un dispositivo informatico (que puede ser un ordenador personal, un servidor, un dispositivo de red o similares) que lleve a cabo todas o una parte de las etapas de los metodos descritos en las realizaciones de la presente invencion. Los medios de almacenamiento anteriores incluyen: cualquier medio que 5 pueda almacenar un codigo de programa como, por ejemplo, una memoria USB, un disco duro removible, una memoria de solo lectura (ROM, por sus siglas en ingles), una memoria de acceso aleatorio (RAM, por sus siglas en ingles), un disco magnetico o un disco optico.
Las descripciones anteriores son meramente realizaciones espedficas de la presente invencion, pero no pretenden limitar el alcance de proteccion de la presente invencion. Cualquier modificacion o reemplazo descubierto 10 inmediatamente por una persona con experiencia en la tecnica dentro del alcance tecnico descrito en la presente invencion caera 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 (4)
- 5101520253035404550REIVINDICACIONES1. Un metodo para implementar el enrutamiento de paquetes en una red, en donde la red comprende un controlador, dos servidores y al menos un conmutador,en donde los dos servidores comprenden un primer servidor y un segundo servidor, el al menos un conmutador comprende un primer conmutador y un segundo conmutador, el controlador se conecta, respectivamente, al primer conmutador y al segundo conmutador, el primer servidor se conecta directamente al primer conmutador, el segundo servidor se conecta directamente al segundo conmutador, la red comprende al menos dos subredes, cada servidor de los al menos dos servidores pertenece a una subred de las al menos dos subredes y el metodo comprende:obtener, por el controlador, identificadores de los dos servidores e informacion de topologfa de red, en donde la informacion de topologfa de red comprende la informacion de conexion de red de los dos servidores;determinar, por el controlador, que los dos servidores se encuentran en subredes diferentes, los dos servidores se encuentran bajo un mismo enrutador y los dos servidores se conectan, respectivamente, a conmutadores diferentes, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores, creando, por el controlador, una primera regla de enrutamiento distribuido, en donde la primera regla de enrutamiento distribuido comprende: modificar la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establecer un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor;enviar, por el controlador, la primera regla de enrutamiento distribuido al primer conmutador para ordenar al primer conmutador que: modifique la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establezca un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor y para reenviar el paquete procesado al segundo servidor, en donde la etiqueta de red en capa 2 donde se ubica el segundo servidor es para ordenar que el paquete se transmita al segundo conmutador conectado directamente al segundo servidor y la direccion mAc del segundo servidor es para ordenar que el paquete se transmita al segundo servidor.
- 2. El metodo segun la reivindicacion 1, en donde la primera regla de enrutamiento distribuido ademas comprende: modificar una direccion MAC de origen del paquete en una direccion MAC de una puerta de enlace a la cual pertenece el segundo servidor y la primera regla de enrutamiento distribuido se usa para ordenar al primer conmutador:que modifique una direccion MAC de origen del paquete en una direccion MAC de una puerta de enlace a la cual pertenece el segundo servidor, en donde el paquete se envfa por el primer servidor al segundo servidor.
- 3. Un controlador, configurado para implementar el enrutamiento de paquetes entre dos servidores en una red, los dos servidores comprenden un primer servidor y un segundo servidor, el al menos un conmutador comprende un primer conmutador y un segundo conmutador, el controlador se conecta respectivamente al primer conmutador y al segundo conmutador, el primer servidor se conecta directamente al primer conmutador, el segundo servidor se conecta directamente al segundo conmutador, la red comprende al menos dos subredes, el primer servidor y el segundo servidor pertenecen, respectivamente, a una subred diferente de las al menos dos subredes, en donde el controlador comprende:una unidad de obtencion, configurada para obtener identificadores de dos servidores e informacion de topologfa de red, en donde la informacion de topologfa de red comprende informacion de conexion de red de los dos servidores;una unidad de activacion, configurada para determinar, mediante el uso de los identificadores de los dos servidores y segun la informacion de conexion de red de los dos servidores en la informacion de topologfa de red, que los dos servidores se encuentran en subredes diferentes, los dos servidores se encuentran bajo un mismo enrutador y los dos servidores se conectan, respectivamente, a conmutadores diferentes y posibilitar una unidad de creacion de regla de enrutamiento;la unidad de creacion de regla de enrutamiento, configurada para crear una primera regla de enrutamiento distribuido, en donde la primera regla de enrutamiento distribuido comprende: modificar la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establecer un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor; yuna unidad de envfo, configurada para enviar la primera regla de enrutamiento distribuido al primer conmutador para ordenar al primer conmutador que: modifique la direccion MAC de destino del paquete en una direccion MAC del segundo servidor y establezca un campo de etiqueta de red en capa 2 del paquete para que sea una etiqueta de red en capa 2 donde se ubica el segundo servidor y para reenviar el paquete procesado al segundo servidor, en donde la etiqueta de red en capa 2 donde se ubica el segundo servidor es para ordenar que el paquete se transmita alsegundo conmutador conectado directamente al segundo servidor y la direccion MAC del segundo servidor es para ordenar que el paquete se transmita al segundo servidor.
- 4. El controlador segun la reivindicacion 3, en donde la primera regla de enrutamiento distribuido ademas comprende: modificar una direccion MAC de origen del paquete en una direccion MAC de una puerta de enlace a la 5 cual pertenece el segundo servidor y la primera regla de enrutamiento distribuido se usa para ordenar al primer conmutador que:modifique una direccion MAC de origen del paquete en una direccion MAC de una puerta de enlace a la cual pertenece el segundo servidor, en donde el paquete se envfa por el primer servidor al segundo servidor.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2013/088710 WO2015081551A1 (zh) | 2013-12-06 | 2013-12-06 | 一种网络中实现报文路由的方法、设备和系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2627949T3 true ES2627949T3 (es) | 2017-08-01 |
Family
ID=53272772
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13886628.0T Active ES2627949T3 (es) | 2013-12-06 | 2013-12-06 | Método, dispositivo y sistema para implementar el enrutamiento de paquetes en una red |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US9614754B2 (es) |
| EP (1) | EP2899927B1 (es) |
| CN (2) | CN105531966B (es) |
| ES (1) | ES2627949T3 (es) |
| WO (1) | WO2015081551A1 (es) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107453992A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 一种虚拟网络内的数据转发方法及系统 |
| CN108092860B (zh) * | 2017-12-07 | 2019-09-10 | 中盈优创资讯科技有限公司 | 城域网的二层拓扑结构发现方法、装置、存储介质及设备 |
| US11245753B2 (en) * | 2018-08-17 | 2022-02-08 | Fastly, Inc. | User space redirect of packet traffic |
| CN111327530B (zh) * | 2018-12-14 | 2022-02-25 | 北京金山云网络技术有限公司 | 数据发送方法、装置、网络系统及交换机 |
| CN111327545B (zh) * | 2018-12-14 | 2021-10-15 | 北京金山云网络技术有限公司 | 数据发送方法、装置、网络系统及交换机 |
| US11252034B1 (en) * | 2019-03-15 | 2022-02-15 | Juniper Networks, Inc. | Generating candidate links and candidate paths before selecting links for an optimized optical network plan |
| CN113301073A (zh) * | 2020-04-16 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 分布式机器学习系统中服务器节点之间的通信方法和装置 |
| CN115190086B (zh) * | 2022-09-13 | 2023-01-06 | 之江实验室 | 基于可编程交换机的身份标识网络流量调度方法及装置 |
| US11824745B1 (en) * | 2022-12-15 | 2023-11-21 | Amazon Technologies, Inc. | Reverse engineering computer network system functionality |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004328029A (ja) * | 2003-04-21 | 2004-11-18 | Nec Corp | ネットワークアクセスシステム |
| CN100409646C (zh) * | 2003-10-28 | 2008-08-06 | 武汉烽火网络有限责任公司 | 用策略流实现不同因特网协议数据包转发的方法和设备 |
| CN100550882C (zh) * | 2004-03-02 | 2009-10-14 | 华为技术有限公司 | 一种穿越子网的方法及子网穿越系统 |
| US7554996B2 (en) * | 2005-09-14 | 2009-06-30 | Cisco Technology, Inc. | Controlled distribution of inter-area routing information |
| CN101325551B (zh) * | 2008-07-28 | 2010-09-22 | 杭州华三通信技术有限公司 | 一种报文处理方法和报文处理装置 |
| US7957374B2 (en) * | 2008-10-22 | 2011-06-07 | Fortinet, Inc. | Mechanism for enabling layer two host addresses to be shielded from the switches in a network |
| CA3204215A1 (en) * | 2009-04-01 | 2010-10-07 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
| US9210065B2 (en) * | 2009-06-22 | 2015-12-08 | Alcatel Lucent | Providing cloud-based services using dynamic network virtualization |
| EP3432524B1 (en) | 2009-09-24 | 2024-05-01 | Zoom Video Communications, Inc. | System and method for identifying communication between virtual servers |
| TWI389525B (zh) * | 2010-02-25 | 2013-03-11 | Gemtek Technology Co Ltd | 具有多網段存取性的資料傳輸系統及其方法 |
| WO2011150396A1 (en) * | 2010-05-28 | 2011-12-01 | Huawei Technologies Co., Ltd. | Virtual layer 2 and mechanism to make it scalable |
| CN102480485B (zh) * | 2010-11-30 | 2014-09-24 | 杭州华三通信技术有限公司 | 实现同一vlan内端口跨设备隔离的系统、方法和交换设备 |
| CN102740290B (zh) * | 2011-03-31 | 2015-03-11 | 香港理工大学 | 一种预认证和预配置方法及其系统 |
| AU2012296329B2 (en) * | 2011-08-17 | 2015-08-27 | Nicira, Inc. | Logical L3 routing |
| US8856518B2 (en) * | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
| US9898317B2 (en) * | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
| CN102752224B (zh) * | 2012-07-26 | 2015-02-11 | 广东省电力调度中心 | 一种交换机报文转发方法和装置 |
| US9331940B2 (en) * | 2012-08-28 | 2016-05-03 | Alcatel Lucent | System and method providing distributed virtual routing and switching (DVRS) |
| US20140233569A1 (en) * | 2013-02-15 | 2014-08-21 | Futurewei Technologies, Inc. | Distributed Gateway in Virtual Overlay Networks |
| US9432287B2 (en) * | 2013-03-12 | 2016-08-30 | International Business Machines Corporation | Virtual gateways and implicit routing in distributed overlay virtual environments |
| US9225636B2 (en) * | 2013-04-04 | 2015-12-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for exchanging IP packets among network layer 2 peers |
| US9282033B2 (en) * | 2013-08-06 | 2016-03-08 | Cisco Technology, Inc. | Intelligent handling of virtual machine mobility in large data center environments |
| US9577845B2 (en) * | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
| US10063458B2 (en) * | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
-
2013
- 2013-12-06 CN CN201380079591.XA patent/CN105531966B/zh active Active
- 2013-12-06 ES ES13886628.0T patent/ES2627949T3/es active Active
- 2013-12-06 CN CN201710218343.9A patent/CN107181691B/zh active Active
- 2013-12-06 WO PCT/CN2013/088710 patent/WO2015081551A1/zh not_active Ceased
- 2013-12-06 EP EP13886628.0A patent/EP2899927B1/en active Active
-
2016
- 2016-06-06 US US15/173,730 patent/US9614754B2/en active Active
-
2017
- 2017-02-13 US US15/430,561 patent/US9860170B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20170155581A1 (en) | 2017-06-01 |
| CN107181691B (zh) | 2020-06-26 |
| EP2899927A1 (en) | 2015-07-29 |
| WO2015081551A1 (zh) | 2015-06-11 |
| CN105531966A (zh) | 2016-04-27 |
| CN107181691A (zh) | 2017-09-19 |
| US9860170B2 (en) | 2018-01-02 |
| US20160285748A1 (en) | 2016-09-29 |
| CN105531966B (zh) | 2017-06-09 |
| EP2899927B1 (en) | 2017-04-19 |
| EP2899927A4 (en) | 2015-07-29 |
| US9614754B2 (en) | 2017-04-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104243270B (zh) | 一种建立隧道的方法和装置 | |
| US10009267B2 (en) | Method and system for controlling an underlying physical network by a software defined network | |
| CN103391250B (zh) | 静态trill路由方法和系统 | |
| US9504016B2 (en) | Optimized multicast routing in a Clos-like network | |
| CN103430149B (zh) | 虚拟机迁移通知方法和系统 | |
| US20150023352A1 (en) | Implement equal cost multiple path of trill network | |
| EP2899927B1 (en) | Method, device and system for implementing packet routing in network | |
| US20150103841A1 (en) | Intelligent Host Route Distribution for Low Latency Forwarding and Ubiquitous Virtual Machine Mobility in Interconnected Data Centers | |
| CN106664235B (zh) | 软件定义网络与传统网络的融合方法以及装置 | |
| US20150098320A1 (en) | Systems and methods of inter data center out-bound traffic management | |
| CN102150148A (zh) | 层2拓扑中针对单播帧和多播帧的差别化服务 | |
| CN102694732B (zh) | 一种基于局部虚拟化的虚拟网构建方法和系统 | |
| US8861339B2 (en) | Packet forwarding function of a mobility switch deployed as routed SMLT (RSMLT) node | |
| JP2015534793A (ja) | パケットを送信するための方法、ルーティング・ブリッジ、およびシステム | |
| CN108259466B (zh) | DDoS流量回注方法、SDN控制器及网络系统 | |
| CN103095579B (zh) | Trill网络互联方法、装置及系统 | |
| WO2012078523A1 (en) | Systems and methods for pseudo-link creation | |
| CN103493439B (zh) | 接收信息的方法、发送信息的方法及装置 | |
| CN105049351B (zh) | 基于sdn的多链接透明互联算法 | |
| CN104426778B (zh) | 路由更新方法和路由设备 | |
| WO2013000326A1 (zh) | 多链接透明互连网络中数据的传输方法及系统 | |
| CN102904808A (zh) | 跨资源预留协议流量工程标签交换路径的建立方法及系统 | |
| Yang et al. | SDN-Enabled EVPN-VXLAN With P4 Accelerated User Plane | |
| CN104811386A (zh) | 报文转发方法、设备及系统 |