ES2955714T3 - Método de envío de paquetes de datos y dispositivo relacionado - Google Patents

Método de envío de paquetes de datos y dispositivo relacionado Download PDF

Info

Publication number
ES2955714T3
ES2955714T3 ES19751709T ES19751709T ES2955714T3 ES 2955714 T3 ES2955714 T3 ES 2955714T3 ES 19751709 T ES19751709 T ES 19751709T ES 19751709 T ES19751709 T ES 19751709T ES 2955714 T3 ES2955714 T3 ES 2955714T3
Authority
ES
Spain
Prior art keywords
packet
small
sender
small packet
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19751709T
Other languages
English (en)
Inventor
Jianjian Zhu
Yu Deng
Wei Liu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2955714T3 publication Critical patent/ES2955714T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Abstract

En la realización de la presente solicitud se divulga un método de envío de paquetes de datos y un dispositivo relacionado, que comprende: un extremo emisor determina que una conexión multitrayectoria satisface una primera condición, utilizándose la primera condición para liberar una política de control de envío de paquetes pequeños utilizada por el conexión de múltiples rutas, usándose la política de control de envío de paquetes pequeños para controlar un intervalo de tiempo para que el extremo emisor envíe un pequeño paquete de datos por medio de la conexión de múltiples rutas, y siendo la longitud de los datos contenidos en el paquete de datos pequeños más pequeña que los datos máximos. longitud del paquete MSS; el extremo emisor libera la política de control de envío de paquetes pequeños; y después de liberar la política de control de envío de paquetes pequeños, el extremo emisor envía una pluralidad de paquetes de datos pequeños en una pluralidad de rutas de la conexión de rutas múltiples por medio de un modo de transmisión redundante, comprendiendo la pluralidad de paquetes de datos pequeños paquetes de datos pequeños que llevan los mismos datos. La realización de la presente solicitud mejora la eficiencia de la transmisión de datos. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método de envío de paquetes de datos y dispositivo relacionado
Campo técnico
Esta solicitud está relacionada con el campo de comunicaciones, y, en particular, con un método de envío de paquetes y un dispositivo relacionado.
Antecedentes
Actualmente, en una tecnología de transmisión multirruta, se aumenta un rendimiento a través de transmisión paralela en una pluralidad de rutas, o se implementa continuidad y fiabilidad de servicio usando una pluralidad de rutas. Por ejemplo, una tecnología de transmisión multirruta común es el Protocolo de Control de Transmisión Multirruta (MPTCP). La tecnología de transmisión multirruta puede soportar transmisión multirruta en una conexión, para ser específicos, los datos en una única ruta se distribuyen y se transmiten por separado en diferentes subflujos. De esta manera, hay una pluralidad de rutas entre dos direcciones en la conexión, y por lo tanto se reduce el riesgo de que las direcciones sean inalcanzables, y la conexión no se interrumpe en el proceso de aumentar o cambiar una ruta de transmisión. Adicionalmente, se introduce una política de programación redundante en la transmisión multirruta, para ser específicos, un paquete sin acuse de recibo en una cola de envío de datos TCP se envía repetidamente en una pluralidad de subflujos, para mejorar la fiabilidad de transmisión de datos en una capa de aplicación, reducir un retraso y la fluctuación de la transmisión de datos en una capa de servicio, y reducir una ratio de pérdida de paquetes de datos en la capa de servicio. Por ejemplo, la pluralidad de subflujos puede incluir una red wifi y una red celular, y la red celular puede ser una red 5G, una red 4G tal como una red Long Term Evolution (LTE,), una red 3G tal como una red de Acceso Múltiple por División de Código (CDMA), una red 2G, o algo semejante.
Sin embargo, para aumentar una carga útil en un paquete enviado, se inhabilita una política de control de envío de paquetes pequeños. En la política de control de envío de paquetes pequeños, cuando un emisor tiene un paquete pequeño que ha de ser enviado pero sin acuse de recibo, al emisor no se le permite seguir enviando un paquete pequeño. Cuando se usa la política de programación redundante para intentar enviar repetidamente un paquete pequeño en una pluralidad de subflujos de una conexión multirruta, una pluralidad de paquetes pequeños que llevan los mismos datos no pueden enviarse en la pluralidad de rutas a tiempo debido a la política de control de envío de paquetes pequeños, pero los paquetes pequeños siguen siendo enviados tras devolverse paquetes ACK correspondientes a los paquetes pequeños. En consecuencia, la eficiencia de transmisión de datos se ve afectada.
El documento de M Scharf, Alcatel-Lucent Bell Labs, A Ford Roke Manor Research: "MPTCP Application Interface Considerations; draft-scharf-mptcp-api-00.txt", INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH-1205 GINEBRA, SUIZA, 15 de octubre de 2009 (2009-10-15), XP015064564, describe el impacto que puede tener MPTCP en las aplicaciones, como cambios en el rendimiento.
El documento de Wu Jiyan ET AL: "Streaming High-Quality Mobile Video with Multipath TCP in Heterogeneous Wireless Networks", IEEE TRANSACTIONS ON MOBILE COMPUTING, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol.15. n.29, 1 de septiembre de 2016 (2016-09-01), páginas 2345-2361, XP011618393, ISSN: 1536-1233, DOI: 10.1109/TMC. 2015.2497238 [recuperado el 2016-08-03] investiga el problema de entrega de vídeo móvil usando MPTCT en redes inalámbricas heterogéneas con terminales en varias casas.
Compendio
Realizaciones de esta solicitud proporcionan un método de envío de paquetes y un dispositivo relacionado, para mejorar la eficiencia de transmisión de datos. A continuación, partes de la descripción y los dibujos que hacen referencia a realizaciones que no están cubiertas por las reivindicaciones no se presentan como realizaciones de la invención, sino como ejemplos que no forman parte de la invención.
Según un primer aspecto, una realización de esta solicitud proporciona un método de envío de paquetes, que incluye: determinar, por parte de un emisor, que una conexión multirruta cumple una primera condición, donde la primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños, por ejemplo, un mecanismo Nagle, usada para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos incluidos en el paquete pequeño es menor que un tamaño de segmento máximo MSS; inhabilitar la política de control de envío de paquetes pequeños; y enviar, por parte del emisor, una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante tras inhabilitar la política de control de envío de paquetes pequeños, donde, la pluralidad de paquetes pequeños incluyen paquetes pequeños que llevan los mismos datos. De esta manera, cuando una pila de protocolos habilita la política de control de envío de paquetes pequeños, y se tienen que transmitir datos en el modo de transmisión redundante, la política de control de envío de paquetes pequeños se puede inhabilitar adaptativamente cuando se cumple la condición, usando un mecanismo de determinación añadido, y no hay necesidad de modificar una configuración predeterminada en la pila de protocolos que es para habilitar la política de control de envío de paquetes pequeños. Después de inhabilitarse la política de control de envío de paquetes pequeños, la pluralidad de paquetes pequeños que llevan los mismos datos se envían en la pluralidad de rutas en el modo de transmisión redundante, para mejorar la eficiencia de transmisión de datos.
La primera condición incluye al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, el paquete pequeño tiene que ser enviado repetidamente en otra ruta de la conexión multirruta tras ser enviado en una ruta de la conexión multirruta, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta, donde la política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante.
Debe entenderse que, después de que el emisor envía un paquete pequeño en una ruta de la conexión multirruta, si el paquete pequeño se pierde o falla al ser enviado en un proceso de transmisión, un paquete pequeño que lleva los mismos datos tiene que reenviarse en otra ruta de la conexión multirruta en el modo de transmisión redundante. En este caso, también tiene que inhabilitarse la política de control de envío de paquetes pequeños, y el paquete pequeño se reenvía en la otra ruta en el modo de transmisión redundante después de inhabilitarse la política de control de envío de paquetes pequeños.
En un diseño posible, un método para determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado en el proceso de transmisión incluye al menos lo siguiente: Si el emisor no recibe, dentro de la duración prestablecida, un paquete de acuse de recibo correspondiente a un paquete pequeño tras enviar el paquete pequeño en una ruta de la conexión multirruta, el emisor puede determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado; o tras enviar un paquete pequeño en una ruta de la conexión multirruta, el emisor envía un paquete grande en al menos una ruta que es de la conexión multirruta y en el que no se envían paquetes pequeños, y si el emisor no recibe un paquete de acuse de recibo correspondiente al paquete pequeño antes de recibir un paquete de acuse de recibo correspondiente al paquete grande, el emisor puede determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado.
Debe entenderse que los datos en el paquete pequeño incluyen una cabecera de un protocolo por encima del protocolo TCP, por ejemplo, una cabecera de un protocolo de llamada de procedimiento remoto (RPC) o una cabecera de un Protocolo de Transferencia de Hipertexto (HTTP), pero no incluye una cabecera de TCP o una cabecera en una capa inferior (o capa más baja), por ejemplo, Protocolo de Mensajes de Control de Internet, (ICMP). Por lo tanto, la longitud de los datos incluidos en el paquete pequeño es una suma de una longitud de datos de carga útil y una longitud de la cabecera del protocolo por encima del protocolo TCP. Cuando la suma de la longitud de los datos de carga útil y la longitud de la cabecera del protocolo por encima del protocolo TCP es menor que el tamaño de segmento máximo MSS, la política de control de envío de paquetes pequeños surge efecto, y se tiene que determinar si hay que inhabilitar la política de control de envío de paquetes pequeños usada para la conexión multirruta.
En un diseño posible, tras enviar el paquete pequeño al receptor, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de recibir un paquete ACK devuelto correspondiente al paquete pequeño.
En otro diseño posible, el emisor puede prestablecer un tiempo de temporización, y tras enviar el paquete pequeño al receptor, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de alcanzarse el tiempo de temporización prestablecido.
En otro diseño posible, el emisor puede iniciar una condición de bloqueo de envío, y la condición de bloqueo de envío se usa para indicar que tras enviar el paquete pequeño, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de recibir un paquete ACK devuelto correspondiente al paquete pequeño. Si paquetes pequeños se combinan en un paquete grande tras un periodo de tiempo, al emisor se le permite enviar el paquete grande combinado al receptor.
En las tres maneras anteriores, el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta se puede controlar, para implementar la política de control de envío de paquetes pequeños, y aumentar una carga útil en un paquete enviado.
En un diseño posible, el emisor deja de ejecutar la política de control de envío de paquetes pequeños. Por ejemplo, el emisor omite la lógica de control correspondiente a la política de control de envío de paquetes pequeños cuando se va a ejecutar la lógica de control, o inhabilita directamente la lógica de control correspondiente a la política de control de envío de paquetes pequeños tras determinar que se cumple la condición.
En otro diseño posible, el emisor modifica un número de secuencia correspondiente a un primer paquete pequeño en el emisor, o modificar un número de secuencia de un primer paquete ACK recibido por el emisor, de modo que el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual, el emisor no recibe un paquete ACK correspondiente al primer paquete pequeño, y el primer paquete ACK es un paquete ACK con el número de secuencia más grande que es recibido por el emisor antes del momento actual.
En otro diseño posible, el emisor modifica una cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hacia 0, donde la cantidad de paquetes pequeños sin acuse de recibo se usa para indicar una cantidad de paquetes pequeños que han sido enviados por el emisor pero para los que no se han recibido paquetes ACK correspondientes.
En otro diseño posible, se usa un temporizador para controlar el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta, y el emisor modifica el temporizador tras enviar un primer paquete pequeño usando la conexión multirruta, de modo que el temporizador alcanza un tiempo prestablecido por adelantado, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual.
En las cuatro maneras anteriores, cuando una pila de protocolos habilita la política de control de envío de paquetes pequeños, y se tienen que transmitir datos en el modo de transmisión redundante, puede inhabilitarse la política de control de envío de paquetes pequeños, y no hay necesidad de seguir enviando el paquete pequeño tras devolverse el paquete ACK correspondiente al primer paquete pequeño, para mejorar la eficiencia de transmisión de datos.
En un diseño posible, como el emisor omite la lógica de control correspondiente a la política de control de envío de paquetes pequeños cuando se va a ejecutar la lógica de control, o inhabilita la lógica de control correspondiente a la política de control de envío de paquetes pequeños tras determinar que se cumple la condición, el emisor puede enviar la pluralidad de paquetes pequeños en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
En otro diseño posible, después de que el emisor modifica el número de secuencia correspondiente al primer paquete pequeño en el emisor, o modifica el número de secuencia del primer paquete ACK recibido por el emisor, el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, que puede indicar que el emisor ha recibido paquetes ACK correspondientes a todos los paquetes pequeños. De esta manera, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al primer paquete pequeño, para inhabilitar la política de control de envío de paquetes pequeños. Por lo tanto, se permite al emisor que envíe, en al menos una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. Tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, el emisor puede remodificar el número de secuencia correspondiente al primer paquete pequeño en el emisor o remodificar el número de secuencia del primer paquete ACK recibido por el emisor, que también puede indicar que el emisor ha recibido paquetes ACK correspondientes a todos los paquetes pequeños. De esta manera, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al paquete pequeño, para inhabilitar la política de control de envío de paquetes pequeños, y enviar un segundo paquete pequeño en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
En otro diseño posible, como el emisor modifica la cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hasta 0, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al paquete pequeño sin acuse de recibo, para inhabilitar la política de control de envío de paquetes pequeños. Entonces, el emisor puede enviar, en otra ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. A continuación, el emisor modifica la cantidad de paquetes pequeños sin acuse de recibo hasta 0, y puede enviar, en todavía otra ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. Por analogía, cada vez tras enviarse un paquete pequeño, la cantidad de paquetes pequeños sin acuse de recibo es siempre 0, o la cantidad de paquetes pequeños sin acuse de recibo se modifica hasta 0, de modo que el emisor puede enviar otro paquete pequeño a tiempo.
En otro diseño posible, tras enviar el primer paquete pequeño usando la conexión multirruta, el emisor ha modificado el temporizador, de modo que el temporizador alcanza el tiempo prestablecido por adelantado. Por lo tanto, antes de que el emisor reciba el paquete ACK correspondiente al primer paquete pequeño, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el emisor puede enviar, el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, en el modo de transmisión redundante en una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño. Adicionalmente, tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, el emisor puede remodificar el temporizador, de modo que el temporizador alcanza el tiempo prestablecido por adelantado, y envía un segundo paquete pequeño en una ruta de la conexión multirruta cuando el temporizador alcanza de nuevo el tiempo prestablecido por adelantado.
En los cuatro casos anteriores, como se inhabilita la política de control de envío de paquetes pequeños, el emisor puede enviar, en la pluralidad de rutas en el modo de transmisión redundante, una pluralidad de paquetes pequeños que llevan los mismos datos, para mejorar la eficiencia de transmisión de datos.
Debe entenderse que, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el paquete pequeño que lleva los mismos datos que el primer paquete pequeño puede ser enviado inmediatamente en la ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño. Como alternativa, existe una latencia en un proceso de ejecución de código o se tienen que realizar etapas de preparación relacionadas con envío (por ejemplo, encapsulación de paquetes y transferencia de un paquete a hardware, por ejemplo, una tarjeta de interfaz de red, para procesar) en algunos procedimientos de envío de paquetes existentes. Por lo tanto, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el temporizador puede ser retrasado durante un periodo de tiempo, y entonces el paquete pequeño que lleva los mismos datos que el primer paquete pequeño se envía en la ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño.
Según un segundo aspecto, una realización de esta solicitud proporciona un aparato de envío de paquetes, donde el aparato es un emisor de una conexión multirruta, e incluye: un módulo de determinación, configurado para determinar que una conexión multirruta cumple una primera condición, donde la primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños, por ejemplo, un mecanismo Nagle, usada para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos incluidos en el paquete pequeño es menor que un tamaño de segmento máximo MSS; un módulo de procesamiento, configurado para inhabilitar la política de control de envío de paquetes pequeños; y un módulo de envío, configurado para enviar una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante después de inhabilitarse la política de control de envío de paquetes pequeños, donde la pluralidad de paquetes pequeños incluyen paquetes pequeños que llevan los mismos datos. La primera condición comprende al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, el paquete pequeño tiene que ser enviado repetidamente en otra ruta de la conexión multirruta tras ser enviado en una ruta de la conexión multirruta, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta, en donde la política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante. De esta manera, cuando una pila de protocolos habilita la política de control de envío de paquetes pequeños, y se tienen que transmitir datos en el modo de transmisión redundante, la política de control de envío de paquetes pequeños se puede inhabilitar adaptativamente cuando se cumple la condición, usando un mecanismo de determinación añadido, y no hay necesidad de modificar una configuración predeterminada en la pila de protocolos que es para habilitar la política de control de envío de paquetes pequeños. Después de inhabilitarse la política de control de envío de paquetes pequeños, la pluralidad de paquetes pequeños que llevan los mismos datos se envían en la pluralidad de rutas en el modo de transmisión redundante, para mejorar la eficiencia de transmisión de datos.
Debe entenderse que el segundo aspecto describe el aparato correspondiente al primer aspecto, es decir, el emisor anterior, para ser específicos, un extremo para enviar un paquete pequeño, y diversos implementaciones, descripciones y efectos técnicos específicos del aparato no se describen de nuevo.
Según un tercer aspecto, una realización de esta solicitud proporciona un dispositivo de envío de paquetes, que incluye un circuito de procesamiento, una interfaz de comunicaciones, y un soporte de almacenamiento, donde el soporte de almacenamiento almacena un programa de pila de protocolos, la interfaz de comunicaciones se configura para ejecutar el programa de pila de protocolos para recibir un paquete de otro dispositivo o enviar un paquete a otro dispositivo, y se configura un circuito de procesamiento para ejecutar una instrucción en el soporte de almacenamiento usando la interfaz de comunicaciones, para implementar el método de envío de paquetes según el primer aspecto y la implementaciones del primer aspecto.
En un diseño posible, el dispositivo de envío de paquetes proporcionado en esta solicitud puede incluir módulos correspondientes configurados para realizar el comportamiento del aparato de envío de paquetes en el diseño de método anterior. Los módulos pueden ser software y/o hardware.
Debe entenderse que el tercer aspecto describe el aparato correspondiente al primer aspecto o el segundo aspecto, es decir, el emisor anterior, y diversas implementaciones, descripciones y efectos técnicos específicos del aparato no se describen de nuevo.
Según un cuarto aspecto, esta solicitud proporciona un soporte de almacenamiento legible por ordenador, donde el soporte de almacenamiento legible por ordenador almacena una instrucción, y cuando la instrucción se ejecuta en un ordenador, el ordenador realiza el método según todos los aspectos anteriores.
Según un quinto aspecto, esta solicitud proporciona un producto de programa informático que incluye una instrucción, donde cuando el producto de programa informático se ejecuta en un ordenador, el ordenador realiza el método según todos los aspectos anteriores.
Descripción de dibujos
Para describir más claramente las soluciones técnicas en las realizaciones de esta solicitud o en los antecedentes, a continuación se describen brevemente los dibujos adjuntos requeridos para describir las realizaciones de esta solicitud o los antecedentes.
La FIG. 1 es un diagrama estructural esquemático de un sistema multirruta según una realización de esta solicitud;
La FIG. 2 es un diagrama arquitectónico global de un dispositivo que soporta una tecnología MPTCP según una realización de esta solicitud;
La FIG. 3 es un diagrama esquemático de un paquete de datos pequeño de envío según una realización de esta solicitud.
La FIG. 4 es un diagrama esquemático de una prueba de retraso de transmisión según una realización de esta solicitud;
La FIG. 5 es un diagrama esquemático de estadísticas de retraso de transmisión según una realización de esta solicitud;
La FIG. 6 es un diagrama de flujo esquemático de un método de envío de paquetes según una realización de esta solicitud;
La FIG. 7 es un diagrama estructural esquemático de un aparato de envío de paquetes según una realización de esta solicitud; y
La FIG. 8 es un diagrama estructural esquemático de un dispositivo según una realización de esta solicitud.
Descripción de realizaciones
A continuación se describen las realizaciones de esta solicitud con referencia a los dibujos adjuntos en las realizaciones de esta solicitud.
A continuación se describen algunos términos que aparecen en esta solicitud.
Anfitrión: El anfitrión es un nodo de extremo configurado para iniciar o recibir una conexión multirruta, en otras palabras, un emisor o un receptor de una conexión multirruta. Por ejemplo, el anfitrión puede ejecutarse en un terminal o un servidor.
Ruta: La ruta es un enlace entre un emisor y un receptor. La ruta puede ser identificado usando un cuatro tuplas, y las cuatro tuplas se usan para indicar una pareja de una dirección de fuente (y/o puerto) y una dirección de destino (y/o puerto). Debe entenderse que tanto un receptor como un emisor que soportan una tecnología MPTCP pueden preparar una pluralidad de direcciones en anfitriones del receptor y el emisor, para identificar una pluralidad de rutas. Adicionalmente, una pluralidad de rutas entre una pareja de un receptor y un emisor pueden compartir uno o más rúters.
Subflujo: El subflujo es un flujo de un segmento TCP que discurre en una única ruta. El subflujo es parte de una conexión multirruta. Un inicio y una terminación del subflujo son similares a los de una conexión TCP regular.
Conexión multirruta: La conexión multirruta es un grupo de subflujos que pueden comunicar entre sí entre dos anfitriones sobre una aplicación, y el grupo de subflujos incluyen una pluralidad de subflujos. Las conexiones se correlacionan de manera biunívoco con enlaces de aplicaciones.
Paquete: El paquete es un paquete de datos con una cabecera, y la cabecera puede ser lógicamente completa o incompleta. El paquete es usualmente empaquetado físico de datos, o desde luego puede ser datos de empaquetado lógico. El concepto del paquete se usa para describir interacción de datos entre un anfitrión y una red conectada al anfitrión.
Paquete ACK: El paquete ACK también se denomina paquete de acuse de recibo, ACK (Acuse de recibo), paquete ACK, paquete de retroinformación, o notificación. En esta solicitud, el paquete de acuse de recibo puede ser usado por un receptor para retroinformar, a un emisor, información acerca de un paquete que se recibe o no se recibe, el paquete de acuse de recibo incluye información de retroinformación, y la información de retroinformación también se denomina información ACK, por ejemplo, un número de secuencia de un paquete específico. En la técnica anterior, la información de retroinformación de un paquete usualmente indica que un receptor notifica a un emisor que el paquete ha sido recibido.
Esta solicitud se aplica a una tecnología de transmisión multirruta. En la tecnología de transmisión multirruta, se transmiten datos usando una pluralidad de rutas, y la pluralidad de rutas puede ser dos o más rutas. Los datos transmitidos en la pluralidad de rutas son usualmente diferentes. En un protocolo de transmisión multirruta, los datos de una conexión se distribuyen a una pluralidad de subflujos, y un pedazo de los datos de la conexión se transmite en cada uno de la pluralidad de subflujos. Para facilitar la descripción, en esta solicitud, este tipo de modo de transmisión se denomina modo de transmisión multirruta que también se denomina un modo multirruta (modo MP) por abreviar. Sin embargo, en algunos escenarios especiales, por ejemplo, en un escenario en el que se impone un requisito muy estricto sobre la fiabilidad de los datos, o en un escenario en el que se impone un requisito relativamente estricto en un retraso, se puede usar otro modo de transmisión, es decir, un modo de transmisión redundante que también se denomina modo redundante por abreviar. En el modo de transmisión redundante, un paquete en una conexión se transmite repetidamente en una pluralidad de subflujos de la conexión. En otras palabras, se transmiten repetidamente datos de una conexión en una pluralidad de subflujos. Por ejemplo, en el modo de transmisión redundante, los mismos datos tienen que ser enviados una vez en cada subflujo de una conexión de transmisión multirruta. En este modo de transmisión, aparentemente no se pueden usar las ventajas de la tecnología de transmisión multirruta, y los dispositivos de un emisor y un receptor de los datos tienen que proporcionar una configuración de hardware más alta para procesar al menos un pedazo de los datos redundantes. En consecuencia, se provocan costes más altos en la configuración del dispositivo. Adicionalmente, se debe observar que para una conexión de transmisión multirruta, se pueden transmitir datos en n rutas, y n es mayor que 1. Un modo de transmisión multirruta predeterminado es que los datos se transmiten usando las n rutas. Sin embargo, los datos pueden transmitirse usando una o más de las n rutas.
La tecnología de transmisión multirruta puede aplicarse a una pluralidad de protocolos tales como el MPTCP, el protocolo Datagram de Usuario (UDP), y el protocolo QUIC (Quick UDP Internet Connection). El MPTCP se utiliza como ejemplo para la descripción en esta solicitud.
En un escenario de transmisión multirruta común actual, usualmente hay dos subflujos, es decir, una red celular y una red wifi. Sin embargo, se puede pronosticar que cada vez se populariza más un escenario de transmisión en el que hay más de dos subflujos. Por ejemplo, puede haber una pluralidad de operarios en un área en una red de área amplia, y en consecuencia el área soporta transmisión de datos TCP en más de dos subflujos. Para otro ejemplo, la transmisión de datos TCP multirruta en tres o más subflujos puede ser soportada en un centro de datos usando una tecnología de enrutamiento multirruta de igual coste (ECMP).
La tecnología MPTCP puede aplicarse a una pluralidad de sistemas de redes. Generalmente, si se tiene que transmitir información usando la tecnología MPTCP, al menos un enlace entre un emisor y un receptor de la información debe soportar la tecnología MPTCP. La FIG. 1 muestra brevemente tres sistemas de red que pueden usar la tecnología. Para facilitar la descripción, la FIG. 1 muestra dos rutas en el sistema multirruta como ejemplo para las que se usa respectivamente una tecnología wifi (indicada usando un rúter) y una red celular (indicada usando una estación base), donde una nube atrae varios servidores en la nube como ejemplo. Debe entenderse que el diagrama muestra únicamente una conexión entre la nube y otro dispositivo como ejemplo, y no muestra claramente una conexión entre un servidor específico de la nube y otro dispositivo. En un sistema 1 en la FIG. 1, un terminal se comunica con la nube. Si un dispositivo, de la nube, que comunica con el terminal no soporta la tecnología MPTCP pero el terminal soporta la tecnología, o si un dispositivo de la nube soporta la tecnología MPTCP pero el terminal no, para usar la tecnología, un lado que no soporta la tecnología tiene que interactuar con el otro lado usando un proxy (por ejemplo, una puerta de enlace) que soporta la tecnología MPTCP. En un sistema 2 en la FIG. 1, tanto la nube como un terminal soportan la tecnología MPTCP. En un sistema 3 en la FIG. 1, se describe un escenario en el que dos nubes se comunican entre sí. Ambas nubes pueden soportar la tecnología de transmisión multirruta, o al menos un extremo puede no soportar la tecnología siempre que el extremo que no soporta la tecnología use un proxy (por ejemplo, una puerta de enlace) que soporta la tecnología MPTCP. La FIG. 1 muestra un escenario en el que ambas nubes usan proxies que soportan la tecnología MPTCP, de modo que puerta de enlaces en los dos lados se comunican entre sí usando la tecnología.
La nube puede incluir una pluralidad de dispositivos tales como servidores. Generalmente, una conexión TCP relacionada con un nube es que un dispositivo de la nube se comunica con un extremo de capa peer.
La FIG. 2 es un diagrama arquitectónico global de un dispositivo que soporta una tecnología MPTCP según una realización de esta solicitud. En función de una relación jerárquica de una arquitectura lógica, se incluye como ejemplo una capa de aplicación, un módulo MPTCP, un módulo de gestión de subflujos y un módulo de recepción y envío de paquetes de capa inferior. El módulo MPTCP y el módulo de gestión de subflujos pueden pertenecer a una capa de transporte de red, y el módulo de recepción y envío de paquetes de capa inferior puede pertenecer a una capa de hardware y una capa controladora de hardware. El módulo de gestión de subflujos incluye establecimiento de subflujo, cierre de subflujo, gestión de estado, recepción de datos, envío de datos y similares. El módulo MPTCP incluye gestión de rutas y gestión de conexiones. La gestión de rutas incluye monitorización de estado de interfaz, gestión de atributos de interfaz, gestión de direcciones de interfaz, procesamiento de acontecimientos de subflujo y similares. La gestión de conexiones incluye establecimiento de conexión, cierre de conexión, estados de conexión, algoritmos de congestión, algoritmos de programación, envío de datos, recepción de datos y similares. En esta realización de esta solicitud, se mejoran principalmente parámetros de control (tales como un número de secuencia, una cantidad, y un tiempo prestablecido) del algoritmo de programación y una condición de determinación del envío de datos en el módulo MPTCP. Debe entenderse que la arquitectura mostrada en la FIG. 2, especialmente la descripción del módulo MPTCP, también es aplicable a un dispositivo de nube y un proxy MPTCP. Para un método y un dispositivo que se describen en esta solicitud, en una implementación, las funciones de un módulo de determinación 701 y un módulo de procesamiento 702 que se muestran en la FIG. 7 pueden ser implementadas por el módulo MPTCP mostrado en la FIG. 2, en otras palabras, el módulo MPTCP puede realizar etapas de método correspondientes al módulo de determinación 701 y el módulo de procesamiento 702, y funciones de un módulo de envío 703 mostrado en la FIG. 7 pueden ser implementadas por el módulo de recepción y envío de paquetes de capa inferior mostrado en la FIG. 2, en otras palabras, el módulo de recepción y envío de paquetes de capa inferior puede realizar etapas de método correspondientes al módulo de envío 703.
Un paquete pequeño enviado en esta solicitud se entrega desde una capa de aplicación de un emisor al módulo MPTCP, y entonces el paquete pequeño se adjudica sobre cada subflujo TCP. Un módulo de recepción y envío de paquetes de capa inferior del emisor envía el paquete pequeño a una red, y tras ser transmitido por la red, el paquete pequeño es recibido por un hardware de extremo de capa peer que soporta la tecnología MPTCP y es informado por la hardware de extremo de capa peer a una capa de transporte. Tras ser analizado e integrado, el paquete pequeño es informado por la capa de transporte a una capa de aplicación de la extremo de capa peer. De esta manera, se completa la transmisión de datos.
Como se muestra en la FIG. 3, un diagrama en la izquierdo en la FIG. 3 es un diagrama esquemático de envío de paquete de datos pequeño sin habilitar una política de control de envío de paquetes pequeños. Un emisor puede seguir enviando una pluralidad de paquetes pequeños (un paquete pequeño a, un paquete pequeño b y un paquete pequeño c) a un receptor. Tras recibir cada paquete pequeño, el receptor devuelve un paquete ACK correspondiente al paquete de datos pequeño al emisor. Un diagrama en la derecha en la FIG. 2 es un diagrama esquemático de envío de paquete de datos pequeño con una política de control de envío de paquetes pequeños habilitada. Tras enviar el paquete pequeño a al receptor, el emisor espera que el receptor devuelva un paquete ACK correspondiente al paquete pequeño a. En este caso, el paquete pequeño b y el paquete pequeño c se han almacenado temporalmente, y se combinan en un paquete medio/grande. Tras recibir el paquete ACK devuelto por el receptor, al emisor se le permite enviar el paquete medio/grande al receptor.
Para probar el impacto de la política de control de envío de paquetes pequeños en un retraso de transmisión generado cuando se envía un paquete pequeño usando una política de programación redundante, cuando se realiza interacción y transmisión de datos usando la política de programación redundante, el emisor y el receptor desconectan una interfaz LTE o una interfaz wifi, para probar un retraso de transmisión de datos en una capa de servicio. La FIG. 4 es un diagrama esquemático de una prueba de retraso de transmisión según una realización de esta solicitud. Primero, un emisor envía un paquete pequeño a un receptor, y registra información de marca de tiempo para enviar el paquete pequeño, por ejemplo, T1. Cada paquete pequeño lleva un número de secuencia del paquete pequeño. Entonces, tras recibir el paquete pequeño enviado por el emisor, el receptor devuelve un paquete ACK al emisor. El ACK lleva un número de secuencia que es el mismo que el número de secuencia del paquete pequeño. A continuación, cuando recibe el paquete ACK enviado por el receptor, el emisor graba información de marca de tiempo para recibir el paquete ACK, por ejemplo, T2, y obtiene la información de marca de tiempo T1 de paquete de datos pequeño en función del número de secuencia llevado en el paquete ACK. Finalmente, la información de marca de tiempo T1 se resta de la información de marca de tiempo T2, para obtener un retraso de transmisión (T2-T1) del paquete pequeño mediante cálculo.
La FIG. 5 es un diagrama esquemático de estadísticas de retraso de transmisión según una realización de esta solicitud. Una coordenada horizontal indica un número de secuencia de un paquete pequeño, y una coordenada vertical indica un retraso de transmisión de cada paquete pequeño que se registra en un proceso de prueba. Un retraso generado cuando se transmite un paquete pequeño a través de una interfaz wifi es aproximadamente 40 ms, y un retraso generado cuando se transmite un paquete pequeño a través de una interfaz LTE es aproximadamente 20 ms. Si se envían repetidamente paquetes pequeños en dos subflujos usando una política de programación redundante, un retraso de transmisión registrado de cada paquete pequeño debe ser aproximadamente 20 ms. De la FIG. 5 se puede aprender que, cuando para la transmisión se realiza conmutación desde la interfaz wifi a la interfaz LTE, se envían repetidamente paquetes pequeños en dos subflujos, y los retrasos de transmisión de los paquetes pequeños fluctúan significativamente. Esto se produce principalmente porque cuando un emisor envía un paquete pequeño en un subflujo del mismo, se permite que un paquete pequeño vuele en el aire. En este caso, el primer paquete pequeño puede ser enviado con éxito. Cuando el emisor programa un paquete pequeño que lleva los mismos datos, de modo que el paquete pequeño se envía repetidamente en el otro subflujo, una política de control de envío de paquetes pequeños surge efecto. Como hay un paquete pequeño que vuela en el aire, al emisor no se le permite volver a enviar un paquete pequeño. En consecuencia, los retrasos de transmisión de los paquetes pequeños fluctúan significativamente.
En conclusión, cuando se usa la política de programación redundante para intentar enviar repetidamente un paquete pequeño en una pluralidad de subflujos de una conexión MPTCP, o cuando se usa la política de programación redundante para intentar enviar, en una pluralidad de rutas, una pluralidad de paquetes pequeños que llevan los mismos datos, los paquetes pequeños no pueden ser enviados repetidamente en la pluralidad de subflujos a tiempo debido a la política de control de envío de paquetes pequeños, pero los paquetes pequeños siguen siendo enviados después de devolverse paquetes ACK correspondientes a los paquetes pequeños. En consecuencia, la eficiencia de transmisión de datos se ve afectada. Para resolver el problema técnico anterior, las realizaciones de esta solicitud proporcionan las siguientes soluciones.
La FIG. 6 es un diagrama de flujo esquemático de un método de envío de paquetes según una realización de esta solicitud. El método incluye, pero sin limitación a esto, las siguientes etapas.
S601. Un emisor determina que una conexión multirruta cumple una primera condición, donde la primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños usado para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos incluidos en el paquete pequeño es menor que un tamaño de segmento máximo MSS.
Específicamente, la primera condición incluye al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, el paquete pequeño tiene que ser enviado repetidamente en otra ruta de la conexión multirruta tras ser enviado en una ruta de la conexión multirruta, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta, donde la política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante.
Debe entenderse que, después de que el emisor envía un paquete pequeño en una ruta de la conexión multirruta, si el paquete pequeño se pierde o falla al ser enviado en un proceso de transmisión, el paquete pequeño tiene que reenviarse en otra ruta de la conexión multirruta en el modo de transmisión redundante. En este caso, también tiene que inhabilitarse la política de control de envío de paquetes pequeños, y el paquete pequeño se reenvía en la otra ruta en el modo de transmisión redundante después de inhabilitarse la política de control de envío de paquetes pequeños.
Un método para determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado en el proceso de transmisión incluye al menos lo siguiente: Si el emisor no recibe, dentro de la duración prestablecida, un paquete de acuse de recibo correspondiente a un paquete pequeño tras enviar el paquete pequeño en una ruta de la conexión multirruta, el emisor puede determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado; o tras enviar un paquete pequeño en una ruta de la conexión multirruta, el emisor envía un paquete grande en al menos una ruta que es de la conexión multirruta y en el que no se envían paquetes pequeños, y si el emisor no recibe un paquete de acuse de recibo correspondiente al paquete pequeño antes de recibir un paquete de acuse de recibo correspondiente al paquete grande, el emisor puede determinar que el paquete pequeño se ha perdido o ha fallado al ser enviado. Una longitud de datos incluidos en el paquete grande no es menor que el tamaño de segmento máximo MSS.
En esta realización de esta solicitud, el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta puede ser controlado en al menos las siguientes varias maneras opcionales.
En una primera manera opcional, tras enviar el paquete pequeño al receptor, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de recibir un paquete ACK devuelto correspondiente al paquete pequeño. Específicamente, el emisor envía primero el primer paquete de datos pequeño, y almacena temporalmente el segundo paquete pequeño que llega más tarde. T ras recibir un paquete ACK correspondiente al primer paquete pequeño, el emisor envía el segundo paquete pequeño temporalmente almacenado, y sigue almacenando temporalmente el tercer paquete pequeño que llega más tarde. El emisor sigue enviando un siguiente paquete pequeño únicamente tras recibir un paquete ACK de un paquete pequeño anterior. Por ejemplo, cuando se inicia un mecanismo Nagle, cuando el emisor tiene un paquete pequeño que ha de ser enviado pero sin acuse de recibo, al emisor no se le permite seguir enviando un paquete pequeño.
En una segunda manera opcional, se prestablece un tiempo de temporización, y tras enviar el paquete pequeño al receptor, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de alcanzarse el tiempo de temporización prestablecido. Específicamente, el emisor envía primero el primer paquete de datos pequeño, inicia la temporización, y almacena temporalmente el segundo paquete pequeño que llega más tarde. Cuando la duración de temporización supera el tiempo de temporización, el emisor envía el segundo paquete pequeño temporalmente almacenado, inicia la temporización, y continúa almacenando temporalmente el tercer paquete pequeño que llega más tarde. El emisor sigue enviando un siguiente paquete pequeño únicamente cada vez que se espera que la duración supere el tiempo de temporización.
En una tercera manera opcional, se inicia una condición de bloqueo de envío, y se usa la condición de bloqueo de envío para indicar que tras enviar el paquete pequeño, al emisor no se le permite enviar un paquete pequeño que lleva los mismos datos que el paquete pequeño antes de recibir un paquete ACK devuelto correspondiente al paquete pequeño. Si paquetes pequeños se combinan en un paquete grande tras un periodo de tiempo, el emisor puede enviar el paquete grande combinado al receptor.
Se debe observar que los datos en el paquete pequeño en esta realización de esta solicitud incluyen una cabecera de un protocolo por encima del protocolo TCP, por ejemplo, una cabecera de un protocolo de llamada de procedimiento remoto (RPC) o una cabecera de un Protocolo de Transferencia de Hipertexto (HTTP), pero no incluye una cabecera de TCP o una cabecera en una capa inferior (o capa más baja), por ejemplo, Protocolo de Mensaje de Control de Internet (ICMP). Por lo tanto, la longitud de los datos incluidos en el paquete pequeño es una suma de una longitud de datos de carga útil y una longitud de la cabecera del protocolo por encima del protocolo TCP. Cuando la suma de la longitud de los datos de carga útil y la longitud de la cabecera del protocolo por encima del protocolo TCP es menor que el tamaño de segmento máximo MSS, la política de control de envío de paquetes pequeños surge efecto, y se tiene que determinar si hay que inhabilitar la política de control de envío de paquetes pequeños usada para la conexión multirruta.
Se debe observar que, cuando el emisor determina que la conexión multirruta no cumple la primera condición, por ejemplo, cuando no hay configuradas políticas de programación redundante para conexiones multirruta del emisor y el receptor, el emisor puede programar el paquete pequeño usando la política de control de envío de paquetes pequeños, y enviar el paquete pequeño en cada ruta.
S602: El emisor inhabilita la política de control de envío de paquetes pequeños en al menos las siguientes varias maneras.
En una primera manera, el emisor deja de ejecutar la política de control de envío de paquetes pequeños. Por ejemplo, el emisor omite la lógica de control correspondiente a la política de control de envío de paquetes pequeños cuando se va a ejecutar la lógica de control, o inhabilita la lógica de control correspondiente a la política de control de envío de paquetes pequeños tras determinar que se cumple la condición.
En una segunda manera, el emisor modifica un número de secuencia correspondiente a un primer paquete pequeño en el emisor, o modificar un número de secuencia de un primer paquete ACK recibido por el emisor, de modo que el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual, el emisor no recibe un paquete ACK correspondiente al primer paquete pequeño, y el primer paquete ACK es un paquete ACK con el número de secuencia más grande que es recibido por el emisor antes del momento actual. El momento actual puede ser un tiempo de sistema actual del emisor o un momento para modificar el número de secuencia.
En una tercera manera, el emisor modifica una cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hacia 0, donde la cantidad de paquetes pequeños sin acuse de recibo se usa para indicar una cantidad de paquetes pequeños que han sido enviados por el emisor pero para los que no se han recibido paquetes ACK correspondientes. Específicamente, tras enviar el primer paquete pequeño, el emisor puede modificar inmediatamente la cantidad de paquetes pequeños sin acuse de recibo hasta 0 y entonces enviar el segundo paquete pequeño, y modificar inmediatamente la cantidad de paquetes pequeños sin acuse de recibo hasta 0 y entonces, enviar el tercer paquete pequeño. Cada vez tras enviar un paquete pequeño anterior, el emisor modifica inmediatamente la cantidad de paquetes pequeños sin acuse de recibo hasta 0, para enviar un siguiente paquete pequeño.
En una cuarta manera, se usa un temporizador para controlar el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta, y el emisor modifica el temporizador tras enviar un primer paquete pequeño usando la conexión multirruta, de modo que el temporizador alcanza un tiempo prestablecido por adelantado, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual. La duración del tiempo prestablecido puede ser menor que un retraso de transmisión. El retraso de transmisión puede ser una diferencia entre un momento en el que el emisor recibe un paquete ACK correspondiente a un paquete pequeño y un momento en el que el emisor envía el paquete pequeño. Adicionalmente, el momento actual puede ser un tiempo de sistema actual del emisor o un momento para modificar el número de secuencia.
S603: El emisor envía una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante tras inhabilitar la política de control de envío de paquetes pequeños, donde la pluralidad de paquetes pequeños incluyen paquetes pequeños que llevan los mismos datos.
En una primera manera opcional, como el emisor omite la lógica de control correspondiente a la política de control de envío de paquetes pequeños cuando se va a ejecutar la lógica de control, o inhabilita la lógica de control correspondiente a la política de control de envío de paquetes pequeños tras determinar que se cumple la condición, el emisor puede enviar la pluralidad de paquetes pequeños en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
En una segunda manera opcional, después de que el emisor modifica el número de secuencia correspondiente al primer paquete pequeño en el emisor, o modifica el número de secuencia del primer paquete ACK recibido por el emisor, el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, que puede indicar que el emisor ha recibido paquetes ACK correspondientes a todos los paquetes pequeños. De esta manera, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al primer paquete pequeño, para inhabilitar la política de control de envío de paquetes pequeños. Por lo tanto, se permite al emisor que envíe, en al menos una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. T ras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, el emisor puede remodificar el número de secuencia correspondiente al primer paquete pequeño en el emisor o remodificar el número de secuencia del primer paquete ACK recibido por el emisor, que también puede indicar que el emisor ha recibido paquetes ACK correspondientes a todos los paquetes pequeños. De esta manera, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al paquete pequeño, para inhabilitar la política de control de envío de paquetes pequeños, y enviar un segundo paquete pequeño en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
En una tercera manera opcional, como el emisor modifica la cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hasta 0, el emisor puede no tener que esperar para enviar el paquete pequeño después de devolverse el paquete ACK correspondiente al paquete pequeño sin acuse de recibo, para inhabilitar la política de control de envío de paquetes pequeños. Entonces, el emisor puede enviar, en otra ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. A continuación, el emisor modifica la cantidad de paquetes pequeños sin acuse de recibo hasta 0, y puede enviar, en todavía otra ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño. Por analogía, cada vez tras enviarse un paquete pequeño, la cantidad de paquetes pequeños sin acuse de recibo es siempre 0, o la cantidad de paquetes pequeños sin acuse de recibo se modifica hasta 0, hasta que se envían todos los paquetes pequeños.
En una cuarta manera opcional, tras enviar el primer paquete pequeño usando la conexión multirruta, el emisor ha modificado el temporizador, de modo que el temporizador alcanza el tiempo prestablecido por adelantado. Por lo tanto, antes de que el emisor reciba el paquete ACK correspondiente al primer paquete pequeño, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el emisor puede enviar, antes de recibir el paquete ACK correspondiente al primer paquete pequeño, el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, en el modo de transmisión redundante en una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño. Adicionalmente, tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, el emisor puede remodificar el temporizador, de modo que el temporizador alcanza el tiempo prestablecido por adelantado, y envía un segundo paquete pequeño en una ruta de la conexión multirruta cuando el temporizador alcanza de nuevo el tiempo prestablecido por adelantado.
Debe entenderse que, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el paquete pequeño que lleva los mismos datos que el primer paquete pequeño puede ser enviado inmediatamente en la ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño. Como alternativa, existe una latencia en un proceso de ejecución de código o se tienen que realizar etapas de preparación relacionadas con envío (por ejemplo, encapsulación de paquetes y transferencia de un paquete a hardware, por ejemplo, una tarjeta de interfaz de red, para procesar) en algunos procedimientos de envío de paquetes existentes. Por lo tanto, cuando el temporizador alcanza el tiempo prestablecido por adelantado, el temporizador puede ser retrasado durante un periodo de tiempo, y entonces el paquete pequeño que lleva los mismos datos que el primer paquete pequeño se envía en la ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño.
De esta manera, cuando una pila de protocolos habilita la política de control de envío de paquetes pequeños, y se tienen que transmitir datos en el modo de transmisión redundante, la política de control de envío de paquetes pequeños se puede inhabilitar adaptativamente cuando se cumple la condición, usando un mecanismo de determinación añadido, y no hay necesidad de modificar una configuración predeterminada en la pila de protocolos que es para habilitar la política de control de envío de paquetes pequeños. Después de inhabilitarse la política de control de envío de paquetes pequeños, la pluralidad de paquetes pequeños que llevan los mismos datos se envían en la pluralidad de rutas en el modo de transmisión redundante, para mejorar la eficiencia de transmisión de datos.
Se debe observar que en el método de envío de paquetes basado en conexión multirruta descrito en esta solicitud, al menos uno del emisor y el receptor puede ser un terminal, o una puerta de enlace que soporta el MPTCP, o un servidor que soporta el MPTCP. Debe entenderse que, antes de realizar el método en esta realización de esta solicitud, en el emisor y el receptor debe instalarse un sistema operativo que soporta el MPTCP y un controlador de un micropuerto.
Se debe observar que en esta realización de esta solicitud, el emisor y el receptor acceden a una red usando un nodo de acceso. El nodo de acceso es especialmente un nodo de acceso de una red inalámbrica. Específicamente, el nodo de acceso puede ser un Punto de Acceso (AP) de una red wifi, un rúter, un punto de acceso de una red WiMAX, una estación base de una red móvil celular inalámbrica, o algo semejante. Un tipo de la red inalámbrica y una forma específica del nodo de acceso de la red inalámbrica no están limitados en esta solicitud. Adicionalmente, redes inalámbricas de un mismo tipo son nodos de acceso que pertenecen todos a la red wifi, nodos de acceso que pertenecen todos a la red WiMAX, o nodos de acceso que pertenecen todos a la red celular inalámbrica, por ejemplo, una red 2G, una red 3G, una red 4G, o una red 5G.
El método en las realizaciones de esta solicitud se describe anteriormente en detalle, y a continuación se proporciona un aparato según una realización de esta solicitud.
La FIG. 7 es un diagrama estructural esquemático de un aparato de envío de paquetes según una realización de esta solicitud. El aparato de envío de paquetes puede incluir un módulo de determinación 701, un módulo de procesamiento 702 y un módulo de envío 703. El módulo de determinación 701 se configura para determinar que una conexión multirruta cumple una primera condición. La primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños usado para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos incluidos en el paquete pequeño es menor que un tamaño de segmento máximo MSS.
El módulo de procesamiento 702 se configura para inhabilitar la política de control de envío de paquetes pequeños. El módulo de envío 703 se configura para enviar una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante después de inhabilitarse la política de control de envío de paquetes pequeños. La pluralidad de paquetes pequeños incluyen paquetes pequeños que llevan los mismos datos.
La primera condición incluye al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta. La política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante.
Opcionalmente, la unidad de procesamiento 702 se configura específicamente para:
modificar un número de secuencia correspondiente a un primer paquete pequeño en el emisor, o modificar un número de secuencia de un primer paquete ACK recibido por el emisor, de modo que el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual, el emisor no recibe un paquete ACK correspondiente al primer paquete pequeño, y el primer paquete ACK es un paquete ACK con el número de secuencia más grande que es recibido por el emisor antes del momento actual.
Correspondientemente, el módulo de envío 703 se configura específicamente para:
enviar, en al menos una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y
enviar un segundo paquete pequeño en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
El módulo de procesamiento 702 se configura específicamente para:
modificar una cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hacia 0, donde la cantidad de paquetes pequeños sin acuse de recibo se usa para indicar una cantidad de paquetes pequeños que han sido enviados por el emisor pero para los que no se han recibido paquetes ACK correspondientes.
Se usa un temporizador para controlar el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta, y el módulo de procesamiento 702 se configura específicamente para:
modificar el temporizador tras enviarse un primer paquete pequeño usando la conexión multirruta, de modo que el temporizador alcanza un tiempo prestablecido por adelantado, donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual.
Correspondientemente, el módulo de envío 703 se configura específicamente para:
cuando el temporizador alcanza el tiempo prestablecido por adelantado, enviar en el modo de transmisión redundante en una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y
remodificar el temporizador tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, de modo que el temporizador alcanza el tiempo prestablecido por adelantado; y enviar un segundo paquete pequeño en una ruta de la conexión multirruta cuando el temporizador alcanza de nuevo el tiempo prestablecido por adelantado.
Se debe observar que para la implementación de cada unidad, consúltese la correspondiente descripción de la realización de método mostrada en la FIG. 6.
De esta manera, cuando una pila de protocolos habilita la política de control de envío de paquetes pequeños, y se tienen que transmitir datos en el modo de transmisión redundante, la política de control de envío de paquetes pequeños se puede inhabilitar adaptativamente cuando se cumple la condición, usando un mecanismo de determinación añadido, y no hay necesidad de modificar una configuración predeterminada en la pila de protocolos que es para habilitar la política de control de envío de paquetes pequeños. Después de inhabilitarse la política de control de envío de paquetes pequeños, los paquetes pequeños que llevan los mismos datos se envían en la pluralidad de rutas en el modo de transmisión redundante, para mejorar la eficiencia de transmisión de datos.
La FIG. 8 es un diagrama estructural esquemático de un dispositivo 800 según una realización de esta solicitud. El método en las realizaciones de esta solicitud se aplica al dispositivo 800. El dispositivo 800 incluye al menos un circuito de procesamiento 801, y una interfaz de comunicaciones 804. La interfaz de comunicaciones 804 incluye al menos una tarjeta física de interfaz de red. En una implementación, la tarjeta física de interfaz de red es correspondiente a una pluralidad de tarjetas virtuales de interfaz de red. La pluralidad de tarjetas virtuales de interfaz de red tienen una correspondencia biunívoca con una pluralidad de puertos, que no están marcados en el diagrama. El dispositivo 800 incluye además un soporte de almacenamiento 805 y al menos un bus de comunicaciones 802. El bus de comunicaciones 802 se configura para implementar conexión y comunicación entre estos componentes.
En una implementación, el dispositivo 800 puede ser un dispositivo terminal. Cuando el dispositivo 800 es el dispositivo terminal, el dispositivo 800 opcionalmente incluye una interfaz de usuario 803, que incluye una pantalla (por ejemplo, una pantalla táctil, una LCD, un CRT, dispositivo de formación de imágenes holográficas, o un proyector), un teclado, o un dispositivo de clic (por ejemplo, un ratón, un trackball, un panel táctil, o una pantalla táctil). El soporte de almacenamiento 805 puede incluir una memoria de solo lectura y una memoria de acceso aleatorio, y proporcionar una instrucción y datos para el circuito de procesamiento 801. Aparte del soporte de almacenamiento 805 puede incluir además una memoria de acceso aleatorio no volátil (NVRAM).
En algunos implementaciones, por ejemplo, cuando el dispositivo es un terminal o un servidor, el soporte de almacenamiento 805 almacena las siguientes elementos: un módulo ejecutable o una estructura de datos, un subconjunto de los mismos, o un set de extensión de los mismos: un sistema operativo 8051 que incluye diversos programas de sistema tales como una capa de tramas, una capa de biblioteca central, y una capa de controladores y que se configura para implementar diversos servicios básicos y procesar una tarea basada en hardware; y un módulo de programa de aplicación 8052 que incluye diversos programas de aplicación tales como un iniciador de programas, un reproductor multimedia, y un navegador y que se configuran para implementar diversos servicios de aplicación. Cuando el dispositivo es una puerta de enlace, el soporte de almacenamiento 805 puede almacenar únicamente código de programa requerido para realizar el método anterior (que por ejemplo incluye: recibir o enviar un paquete, recibir o enviar un paquete de acuse de recibo, y analizar el paquete recibido o analizar el paquete de acuse de recibo recibido).
El dispositivo puede ser el terminal, la puerta de enlace, o el servidor. Para los detalles, consúltese la información de la FIG. 1 a la FIG. 4. Por ejemplo, cuando el dispositivo es el terminal, consúltese el diagrama arquitectónico del terminal y la descripción relacionada en la FIG. 2. El dispositivo puede invocar un programa en el soporte de almacenamiento 805 usando el circuito de procesamiento 801, de modo que el circuito de procesamiento 801 realiza el método y las realizaciones en los diagramas anteriores usando la interfaz de comunicaciones 804. Por ejemplo, el dispositivo puede ser un emisor o un receptor de una conexión multirruta. Para implementaciones específicas, descripciones relacionadas y efectos beneficiosos, consúltese la descripciones anteriores. En esta memoria no se describen de nuevo detalles. Por ejemplo, el circuito de procesamiento 801 puede implementar, usando la interfaz de comunicaciones 804, las funciones del módulo de determinación 701, el módulo de procesamiento 702, y el módulo de envío 703 en el aparato mostrado en la FIG. 7. Por ejemplo, el módulo de envío 703 puede ser una interfaz de comunicaciones invocada por diferentes procesos o hilos.
Otro ejemplo que no forma parte de esta solicitud graba además un chip. El chip se puede disponer en el emisor anterior, y se configura para realizar el método descrito en esta solicitud, para analizar sintácticamente y procesar el paquete pequeño en el método anterior en esta solicitud. El chip puede disponerse además en el receptor anterior, y se configura para realizar el método descrito en esta solicitud, por ejemplo, tras recibir un paquete pequeño, generar un paquete de acuse de recibo descrito en el método anterior en esta solicitud.
Un experto en la técnica pueden entender que todos o algunos de los procesos de los métodos en las realizaciones pueden ser implementados por un programa informático que da instrucciones a hardware relacionado (tal como un procesador). El programa se puede almacenar en un soporte de almacenamiento legible por ordenador. Cuando se ejecuta el programa, se realizan los procesos de las realizaciones de método. El soporte de almacenamiento puede ser un disco magnético, un disco óptico, una Memoria de solo Lectura (ROM), una Memoria de Acceso Aleatorio (RAM), o algo semejante.
Lo anterior es un método de envío de paquetes y un aparato proporcionado en las realizaciones de esta solicitud.
Un experto en la técnica pueden entender que todos o algunos de los procesos de los métodos en las realizaciones pueden ser implementados por un programa informático que da instrucciones a hardware relacionado. El programa se puede almacenar en un soporte de almacenamiento legible por ordenador. Cuando se ejecuta el programa, se realizan los procesos de las realizaciones de método. El soporte de almacenamiento anterior incluye cualquier soporte que pueda almacenar código de programa, tal como un ROM, una memoria de acceso aleatorio RAM, un disco magnético o un disco óptico.

Claims (13)

REIVINDICACIONES
1. Un método de envío de paquetes, en donde el método se aplica a un emisor de una conexión multirruta, y el método comprende:
determinar (S601), por parte del emisor, que la conexión multirruta cumple una primera condición, en donde la primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños, por ejemplo, un mecanismo Nagle, usada para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos comprendida en el paquete pequeño es menor que un tamaño de segmento máximo, MSS;
inhabilitar (S602), por parte del emisor, la política de control de envío de paquetes pequeños; y
enviar (S603), por parte del emisor, una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante tras inhabilitar la política de control de envío de paquetes pequeños, en donde la pluralidad de paquetes pequeños comprenden paquetes pequeños que llevan los mismos datos
en donde la primera condición comprende al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, el paquete pequeño tiene que ser enviado repetidamente en otra ruta de la conexión multirruta tras ser enviado en una ruta de la conexión multirruta, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta, en donde la política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante.
2. El método según la reivindicación 1, en donde la inhabilitación (S602), por parte del emisor, de la política de control de envío de paquetes pequeños comprende:
modificar, por parte del emisor, un número de secuencia correspondiente a un primer paquete pequeño en el emisor, o modificar un número de secuencia de un primer paquete ACK recibido por el emisor, de modo que el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, en donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual, el emisor no recibe un paquete ACK correspondiente al primer paquete pequeño, y el primer paquete ACK es un paquete ACK con el número de secuencia más grande que es recibido por el emisor antes del momento actual; y correspondientemente, el envío, por parte del emisor, de una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante tras inhabilitar la política de control de envío de paquetes pequeños comprende:
enviar, por parte del emisor en al menos una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y
enviar, por parte del emisor, un segundo paquete pequeño en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
3. El método según la reivindicación 1, en donde la inhabilitación (S602), por parte del emisor, de la política de control de envío de paquetes pequeños comprende:
modificar, por parte del emisor, una cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hacia 0, en donde la cantidad de paquetes pequeños sin acuse de recibo se usa para indicar una cantidad de paquetes pequeños que han sido enviados por el emisor pero para los que no se han recibido paquetes ACK correspondientes.
4. El método según la reivindicación 1, en donde se usa un temporizador para controlar el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta, y la inhabilitación (S602), por parte del emisor, de la política de control de envío de paquetes pequeños comprende:
modificar, por parte del emisor, el temporizador tras enviar un primer paquete pequeño usando la conexión multirruta, de modo que el temporizador alcanza un tiempo prestablecido por adelantado, en donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual; y
correspondientemente, el envío, por parte del emisor, de una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante tras inhabilitar la política de control de envío de paquetes pequeños comprende:
cuando el temporizador alcanza el tiempo prestablecido por adelantado, enviar, por parte del emisor en el modo de transmisión redundante en una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y remodificar, por parte del emisor, el temporizador tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, de modo que el temporizador alcanza el tiempo prestablecido por adelantado; y enviar un segundo paquete pequeño en una ruta de la conexión multirruta cuando el temporizador alcanza de nuevo el tiempo prestablecido por adelantado.
5. El método según la reivindicación 1, en donde la inhabilitación (S602), por parte del emisor, de la política de control de envío de paquetes pequeños comprende:
detener, por parte del emisor, la ejecución de la política de control de envío de paquetes pequeños.
6. Un aparato de envío de paquetes, en donde el aparato es un emisor de una conexión multirruta, y el aparato comprende: un módulo de determinación (701), configurado para determinar que la conexión multirruta cumple una primera condición, en donde la primera condición se usa para inhabilitar una política de control de envío de paquetes pequeños, por ejemplo, un mecanismo Nagle, usada para la conexión multirruta, la política de control de envío de paquetes pequeños se usa para controlar un intervalo de tiempo en el que el emisor envía paquetes pequeños usando la conexión multirruta, y una longitud de datos comprendida en el paquete pequeño es menor que un tamaño de segmento máximo, MSS;
un módulo de procesamiento (702), configurado para inhabilitar la política de control de envío de paquetes pequeños; y un módulo de envío (703), configurado para enviar una pluralidad de paquetes pequeños en una pluralidad de rutas de la conexión multirruta en un modo de transmisión redundante después de inhabilitarse la política de control de envío de paquetes pequeños, en donde la pluralidad de paquetes pequeños comprenden paquetes pequeños que llevan los mismos datos,
en donde la primera condición comprende al menos una de las siguientes: se ha configurado una política de programación redundante para el emisor, una política de programación de la conexión multirruta es una política de programación redundante, se ha configurado una política de programación redundante para un receptor de la conexión multirruta, el paquete pequeño es un paquete enviado usando una política de programación redundante, el paquete pequeño tiene que ser enviado repetidamente en otra ruta de la conexión multirruta tras ser enviado en una ruta de la conexión multirruta, y el emisor envía actualmente paquetes en la pluralidad de rutas de la conexión multirruta, en donde la política de programación redundante se usa para dar instrucciones al emisor para que transmita datos en el modo de transmisión redundante.
7. El aparato según la reivindicación 6, en donde el módulo de procesamiento (703) se configura específicamente para: modificar un número de secuencia correspondiente a un primer paquete pequeño en el emisor, o modificar un número de secuencia de un primer paquete ACK recibido por el emisor, de modo que el número de secuencia correspondiente al primer paquete pequeño en el emisor es menor o igual al número de secuencia del primer paquete ACK, en donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual, el emisor no recibe un paquete ACK correspondiente al primer paquete pequeño, y el primer paquete ACK es un paquete ACK con el número de secuencia más grande que es recibido por el emisor antes del momento actual; y correspondientemente, el módulo de envío se configura específicamente para:
enviar, en al menos una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y
enviar un segundo paquete pequeño en la pluralidad de rutas de la conexión multirruta en el modo de transmisión redundante.
8. El aparato según la reivindicación 6, en donde el módulo de procesamiento (703) se configura específicamente para: modificar una cantidad de paquetes pequeños sin acuse de recibo almacenados en el emisor hacia 0, en donde la cantidad de paquetes pequeños sin acuse de recibo se usa para indicar una cantidad de paquetes pequeños que han sido enviados por el emisor pero para los que no se han recibido paquetes ACK correspondientes.
9. El aparato según la reivindicación 6, en donde se usa un temporizador para controlar el intervalo de tiempo en el que el emisor envía los paquetes pequeños usando la conexión multirruta, y el módulo de procesamiento (703) se configura específicamente para:
modificar el temporizador tras enviarse un primer paquete pequeño usando la conexión multirruta, de modo que el temporizador alcanza un tiempo prestablecido por adelantado, en donde el primer paquete pequeño es un último paquete pequeño enviado por el emisor antes de un momento actual; y
correspondientemente, el módulo de envío se configura específicamente para:
cuando el temporizador alcanza el tiempo prestablecido por adelantado, enviar en el modo de transmisión redundante en una ruta que está en la pluralidad de rutas de la conexión multirruta y en la que no se envía el primer paquete pequeño, un paquete pequeño que lleva los mismos datos que el primer paquete pequeño; y
remodificar el temporizador tras enviar el paquete pequeño que lleva los mismos datos que el primer paquete pequeño, de modo que el temporizador alcanza el tiempo prestablecido por adelantado; y enviar un segundo paquete pequeño en una ruta de la conexión multirruta cuando el temporizador alcanza de nuevo el tiempo prestablecido por adelantado.
10. El aparato según la reivindicación 6, en donde el módulo de procesamiento (703) se configura específicamente para: detener, por parte del emisor, la ejecución de una política de control de envío de paquetes pequeños.
11. Un dispositivo de envío de paquetes, en donde el dispositivo comprende un circuito de procesamiento, una interfaz de comunicaciones, y un soporte de almacenamiento, en donde el soporte de almacenamiento almacena un programa de pila de protocolos, la interfaz de comunicaciones se configura para ejecutar el programa de pila de protocolos para recibir un paquete de otro dispositivo o enviar un paquete a otro dispositivo, y el circuito de procesamiento se configura para ejecutar una instrucción en el soporte de almacenamiento usando la interfaz de comunicaciones, para implementar el método de envío de paquetes según una cualquiera de las reivindicaciones 1 a 5.
12. Un soporte de almacenamiento legible por ordenador, que comprende una instrucción, en donde cuando la instrucción se ejecuta en un ordenador, el ordenador realiza el método según una cualquiera de las reivindicaciones 1 a 5.
13. Un producto de programa informático que comprende instrucciones de programa informático que cuando son ejecutadas por un aparato de procesamiento provocan que el aparato de procesamiento realice el método según cualquiera de las reivindicaciones precedentes 1 a 5.
ES19751709T 2018-02-12 2019-01-25 Método de envío de paquetes de datos y dispositivo relacionado Active ES2955714T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810148231.5A CN109951260B (zh) 2018-02-12 2018-02-12 一种数据包发送方法及相关设备
PCT/CN2019/073261 WO2019154134A1 (zh) 2018-02-12 2019-01-25 一种数据包发送方法及相关设备

Publications (1)

Publication Number Publication Date
ES2955714T3 true ES2955714T3 (es) 2023-12-05

Family

ID=67006026

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19751709T Active ES2955714T3 (es) 2018-02-12 2019-01-25 Método de envío de paquetes de datos y dispositivo relacionado

Country Status (7)

Country Link
US (1) US11444867B2 (es)
EP (1) EP3739784B1 (es)
KR (1) KR102476192B1 (es)
CN (2) CN109951260B (es)
CA (1) CA3090903C (es)
ES (1) ES2955714T3 (es)
WO (1) WO2019154134A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11336683B2 (en) * 2019-10-16 2022-05-17 Citrix Systems, Inc. Systems and methods for preventing replay attacks
CN111147573A (zh) * 2019-12-24 2020-05-12 网宿科技股份有限公司 一种数据传输的方法和装置
CN113067741B (zh) * 2020-01-02 2022-11-29 中国移动通信有限公司研究院 一种信息处理方法、装置、终端及存储介质
CN111885022B (zh) * 2020-07-09 2023-06-20 河南信大网御科技有限公司 基于通信接口的拟态通信方法、通信系统及终端设备
CN111901075B (zh) * 2020-07-16 2021-11-23 华中科技大学 多网络融合传输方法、传输系统及计算机可读存储介质
CN111970340B (zh) * 2020-07-30 2023-06-16 北京大米科技有限公司 信息传输方法、可读存储介质和电子设备
CN112383472A (zh) * 2020-11-13 2021-02-19 Oppo广东移动通信有限公司 网络传输方法、装置、存储介质及电子设备
CN116684036B (zh) * 2022-11-03 2024-03-22 荣耀终端有限公司 数据处理方法及相关装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101231357B1 (ko) * 2006-04-06 2013-02-07 엘지전자 주식회사 다중 안테나 시스템에서 채널 상태 정보 귀환 방법 및데이터 송신 방법
JP5672238B2 (ja) * 2009-10-13 2015-02-18 日本電気株式会社 ゲートウェイ装置、移動通信システム、移動端末、パケット転送制御方法、移動端末の制御方法、及びプログラム
US9503223B2 (en) * 2011-03-04 2016-11-22 Blackberry Limited Controlling network device behavior
CN102546106B (zh) * 2011-12-28 2014-03-26 南京邮电大学 面向卫星网络的多路径并行传输方法
CN103326831A (zh) * 2013-06-04 2013-09-25 华为终端有限公司 在多路传输控制协议中的链路处理方法和移动终端
CN103840917B (zh) * 2014-03-28 2017-04-26 北京邮电大学 一种基于网络编码的多路并行传输方案
CN103905463B (zh) * 2014-04-21 2017-02-15 北京邮电大学 一种适用于多路径传输的连接管理与控制方法
US9787575B2 (en) * 2015-05-28 2017-10-10 Arista Networks, Inc. Method and system for programming equal-cost multi-path routes on network devices
CN105099620B (zh) * 2015-06-03 2020-06-09 香港中文大学深圳研究院 代数交换系统及其组装和解码算法、数据包的解码算法
WO2017194172A1 (en) * 2016-05-13 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Improved resource usage in a multipath network
EP3459217B1 (en) * 2016-05-16 2020-07-08 Telefonaktiebolaget LM Ericsson (PUBL) Transporting udp packets over an mptcp connection
KR102111029B1 (ko) * 2016-06-17 2020-05-14 주식회사 케이티 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
WO2017222259A1 (ko) * 2016-06-19 2017-12-28 엘지전자 주식회사 데이터 전송 방법 및 송신기
WO2017222256A1 (ko) * 2016-06-23 2017-12-28 엘지전자 주식회사 다중 전송 기법이 적용된 무선통신시스템에서 신호를 수신하는 방법 및 장치
WO2017220149A1 (en) 2016-06-23 2017-12-28 Telefonaktiebolaget Lm Ericsson (Publ) Scheduling packets for transport over an mptcp connection
EP3276891B1 (en) * 2016-07-29 2019-02-27 Deutsche Telekom AG Techniques for establishing a communication connection between two network entities via different network flows
CN106254202B (zh) * 2016-08-29 2019-08-02 北京邮电大学 一种基于喷泉码的多路并行传输方法以及装置
CN106656856B (zh) * 2016-12-16 2019-07-26 浙江大学 一种抵抗mptcp接收缓冲区阻塞的数据包调度方法
WO2019166697A1 (en) * 2018-03-01 2019-09-06 Nokia Technologies Oy Conversion between transmission control protocols

Also Published As

Publication number Publication date
CN109951260A (zh) 2019-06-28
CN111713056A (zh) 2020-09-25
CA3090903C (en) 2023-04-25
EP3739784B1 (en) 2023-06-21
CN111713056B (zh) 2022-01-14
CA3090903A1 (en) 2019-08-15
US20200374217A1 (en) 2020-11-26
KR20200116985A (ko) 2020-10-13
US11444867B2 (en) 2022-09-13
CN109951260B (zh) 2020-04-03
EP3739784A4 (en) 2021-03-17
WO2019154134A1 (zh) 2019-08-15
EP3739784A1 (en) 2020-11-18
KR102476192B1 (ko) 2022-12-08

Similar Documents

Publication Publication Date Title
ES2955714T3 (es) Método de envío de paquetes de datos y dispositivo relacionado
US12278763B2 (en) Fabric control protocol with congestion control for data center networks
US12212495B2 (en) Reliable fabric control protocol extensions for data center networks with unsolicited packet spraying over multiple alternate data paths
US12341687B2 (en) Reliable fabric control protocol extensions for data center networks with failure resilience
EP3942759A1 (en) System and method for facilitating efficient management of idempotent operations in a network interface controller (nic)
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US11088957B2 (en) Handling of data packet transfer via a proxy
CN108881008A (zh) 一种数据传输的方法、装置和系统
KR20180082571A (ko) 데이터 전송 방법, 전송 노드, 수신 노드 및 데이터 전송 시스템
US10440157B2 (en) Distributed measurement arrangement for an embedded automotive acquisition device with TCP acceleration
US20240080920A1 (en) Modified methods and system of transmitting and receiving transmission control protocol segments over internet protocol packets
WO2022143468A1 (zh) 数据传输方法、装置、系统及存储介质
Shukla et al. TCP PLATO: Packet labelling to alleviate time-out
US10326696B2 (en) Transmission of messages by acceleration components configured to accelerate a service
ES2898268T3 (es) Protocolo de agregación de único flujo
US9590909B2 (en) Reducing TCP timeouts due to Incast collapse at a network switch
Seggelmann SCTP: strategies to secure end-to-end communication
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
US12425496B2 (en) Input state synchronization for Border Gateway Protocol (BGP) processes
WO2025011555A1 (zh) 通信方法、装置、设备、系统及可读存储介质
Budigere Linux Implementation Study of Stream Control Transmission Protocol
Kodama et al. Dependable communication using multiple network paths on fast long‐distance networks