ES2908604T3 - Método y aparato para transmitir datos - Google Patents

Método y aparato para transmitir datos Download PDF

Info

Publication number
ES2908604T3
ES2908604T3 ES18871287T ES18871287T ES2908604T3 ES 2908604 T3 ES2908604 T3 ES 2908604T3 ES 18871287 T ES18871287 T ES 18871287T ES 18871287 T ES18871287 T ES 18871287T ES 2908604 T3 ES2908604 T3 ES 2908604T3
Authority
ES
Spain
Prior art keywords
frame
code blocks
stream
mac address
code block
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
ES18871287T
Other languages
English (en)
Inventor
Min Zha
Xiaojun Zhang
Zhe Lou
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 ES2908604T3 publication Critical patent/ES2908604T3/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2863Arrangements for combining access network resources elements, e.g. channel bonding
    • 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/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • 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/03Protocol definition or specification 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

Método de transmisión de datos, en el que el método comprende: obtener (501, 901) una pluralidad de flujos continuos de bloques de código; distribuir (502, 902), sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, para formar un flujo continuo de bloques de código; y segmentar y encapsular (503, 903) el flujo continuo de bloques de código mencionado, para generar al menos una trama.

Description

DESCRIPCIÓN
Método y aparato para transmitir datos
Campo técnico
Esta solicitud se refiere al campo de las tecnologías de la comunicación y, en particular, a un método y a un aparato de transmisión de datos.
Antecedentes
En el escenario de Ethernet actual, los puertos de Ethernet de alta velocidad y los puertos de Ethernet de baja velocidad pueden denominarse en conjunto puertos de Ethernet, y tanto los puertos de Ethernet de alta velocidad como los puertos de Ethernet de baja velocidad utilizan una Ethernet para la transmisión de datos. Ethernet es el estándar del protocolo de comunicación utilizado más frecuentemente en las redes de área local, y puede dividirse en términos lógicos en una pluralidad de capas en la siguiente secuencia de arriba abajo: una capa de control de enlace, una capa de control de acceso a los medios (Control de Acceso a los Medios, MAC), y una capa física. La capa física se puede dividir en una subcapa de codificación física (Subcapa de Codificación Física, PCS), una capa de conexión al medio físico (Conexión al Medio Físico, PMA) y una capa dependiente de los medios físicos (Dependiente de los Medios Físicos, PMD) de arriba abajo. La PCS incluye además una capa de codificación/descodificación, una capa de aleatorización y similares.
Cuando se transmiten datos a través de un puerto de salida de Ethernet, y cuando se recibe una pluralidad de flujos continuos de datos de servicio a través de la capa de MAC, se lleva a cabo un arbitraje sobre la pluralidad de flujos continuos de datos de servicio, para determinar que un flujo continuo de datos de servicio específico se envía primero a la capa física para su transmisión. Por ejemplo, primero se envía un flujo continuo de datos de servicio con una prioridad más alta, o primero se envía un flujo continuo de datos de servicio con una cantidad pequeña de datos.
Durante un proceso de implementación de esta solicitud, los inventores han observado que existen al menos los siguientes problemas en la técnica anterior.
Actualmente, se determina mediante arbitraje en la capa de MAC del puerto de salida de Ethernet que primero se envía un primer flujo continuo de datos de servicio. En el proceso de transmisión del primer flujo continuo de datos de servicio, se recibe un segundo flujo continuo de datos de servicio a través de la capa de MAC, y la prioridad del segundo flujo continuo de datos de servicio es mayor que la prioridad del primer flujo continuo de datos de servicio. Sin embargo, en este caso, no se utiliza un ancho de banda de transmisión adicional para transmitir el segundo flujo continuo de datos de servicio. Por lo tanto, el segundo flujo continuo de datos de servicio puede transmitirse solo después de que se transmita el primer flujo continuo de datos de servicio. De esta forma, si el volumen de datos del primer flujo continuo de datos de servicio es muy grande, la duración de la espera para la transmisión del segundo flujo continuo de datos de servicio es relativamente prolongada, provocando así un retardo relativamente elevado en la transmisión de datos. Con esto no se pueden satisfacer los requisitos de servicio correspondientes a un servicio con un retardo de transmisión de datos relativamente alto en una Ethernet industrial.
El documento EP 3468 075 A1 se publicó el 10 de abril de 2019 y reivindica las fechas de prioridad de 1 de julio de 2016 y 12 de abril de 2017. Da a conocer un método y un aparato de envío de servicios, un método y un aparato de recepción de servicios y un sistema de red.
El documento WO 2017/016379 A1 da a conocer un método para la transmisión de datos, un transmisor y un receptor.
Compendio
Para resolver uno de los problemas de la técnica anterior, la presente invención proporciona un método y un aparato de transmisión de datos de acuerdo con las reivindicaciones independientes 1,9, 12 y 15. Las soluciones técnicas son las siguientes:
Según un primer aspecto, se proporciona un método de transmisión de datos. El método incluye:
obtener una pluralidad de flujos continuos de bloques de código;
distribuir, sobre la base de una secuencia de multiplexación preestablecida, bloques de código en la pluralidad de flujos continuos de bloques de código por ranuras, para formar un flujo continuo de bloques de código; y
segmentar y encapsular el flujo continuo de bloques de código mencionado, para generar al menos una trama.
En una solución mostrada en esta realización de la presente invención, una secuencia de multiplexación preestablecida incluye una pluralidad de ranuras. Cuando un anfitrión o un conmutador tiene datos que deben enviarse a través de un puerto de salida de Ethernet, se puede obtener una pluralidad de flujos continuos de bloques de código de los datos. A continuación, la pluralidad de flujos continuos de bloques de código se distribuye por ranuras, sobre la base de la secuencia de multiplexación preestablecida, en las ranuras correspondientes, para obtener un flujo continuo de bloques de código. El flujo continuo de bloques de código mencionado se segmenta y los flujos continuos de bloques de código segmentados se encapsulan para obtener un flujo continuo de bloques de código. De esta forma, se implementa una multiplexación por división de tiempo sobre la pluralidad de flujos continuos de bloques de código, y la pluralidad de flujos continuos de bloques de código no influyen unos sobre otros durante la transmisión. Esto puede reducir el retardo de una transmisión de datos.
En una posible implementación, los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código se distribuyen a una ranura correspondiente sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código. Cada secuencia de multiplexación incluye N ranuras, y N es un número entero positivo.
En la solución que se muestra en esta realización de la presente invención, un experto en la materia puede preestablecer la correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código. De esta forma, la correspondencia se puede usar directamente para distribuir la pluralidad de flujos continuos de bloques de código a ranuras correspondientes de manera respectiva, para obtener un flujo continuo de bloques de código.
En una posible implementación, los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código se distribuyen a una ranura correspondiente sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código.
En la solución mostrada en esta realización de la presente invención, un experto en la materia puede preestablecer la correspondencia entre una ranura en la secuencia de multiplexación y la interfaz de obtención. Cada flujo continuo de bloques de código tiene una interfaz de obtención, y la interfaz de obtención del flujo continuo de bloques de código puede usarse para distribuir el flujo continuo de bloques de código a una ranura correspondiente, con el fin de obtener un flujo continuo de bloques de código.
En una posible implementación, se recibe un flujo continuo de datos de servicio; y el flujo continuo de datos de servicio mencionado se codifica según una manera preestablecida de codificación de datos, para obtener uno cualquiera de la pluralidad de flujos continuos de bloques de código.
En la solución que se muestra en esta realización de la presente invención, una de las fuentes de uno cualquiera de la pluralidad de flujos continuos de bloques de código puede ser: Después de que se recibe un flujo continuo de datos de servicio, el flujo continuo de datos de servicio mencionado se codifica según una manera preestablecida de codificación de datos, para obtener el flujo continuo de bloques de código mencionado.
En una posible implementación, se reciben al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código.
Cada flujo continuo de datos de servicio se codifica según la manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código.
Se obtienen al menos un flujo continuo de bloques de código obtenido por codificación y al menos un flujo continuo de bloques de código recibido.
En la solución que se muestra en esta realización de la presente invención, después de recibir el por lo menos un flujo continuo de datos de servicio y el por lo menos un flujo continuo de bloques de código, al menos un flujo continuo de datos de servicio puede codificarse por separado según la manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código. A continuación, se pueden obtener el por lo menos un flujo continuo de bloques de código obtenido mediante codificación y el por lo menos un flujo continuo de bloques de código recibido. De esta forma, se proporciona un método de obtención de flujos continuos de bloques de código.
En una posible implementación, se reciben una pluralidad de flujos continuos de datos de servicio.
Cada flujo continuo de datos de servicio se codifica según una manera preestablecida de codificación de datos, para obtener una pluralidad de flujos continuos de bloques de código.
En la solución mostrada en esta realización de la presente invención, se recibe la pluralidad de flujos continuos de datos de servicio, y la pluralidad de flujos continuos de datos de servicio puede codificarse por separado según la manera preestablecida de codificación de datos, para obtener la pluralidad de flujos continuos de bloques de código. De esta forma, se proporciona un método de obtención de flujos continuos de bloques de código.
En una posible implementación, que cada flujo continuo de datos de servicio se codifique según la manera preestablecida de codificación de datos incluye:
para cada flujo continuo de datos de servicio, codificar el flujo continuo de datos de servicio en un bloque de código que incluye cuatro campos de datos y al menos un campo de bandera, y establecer un primer identificador de indicación para cada bloque de código en un campo de bandera del bloque de código, donde el primer identificador de indicación indica un primer estado o un segundo estado, el primer estado se usa para indicar que cada uno de los cuatro campos de datos del bloque de código se usa para datos de servicio, y el segundo estado se usa para indicar que al menos uno de los cuatro campos de datos en el bloque de código se utiliza para datos de control; y establecer además un segundo identificador de indicación en un campo de bandera de un bloque de código, usándose al menos uno de sus cuatro campos de datos para datos de control, donde el segundo identificador de indicación se usa para indicar ubicaciones de los datos de servicio y los datos de control en el bloque de código.
En la solución mostrada en esta realización de la presente invención, para cada flujo continuo de datos de servicio, el flujo continuo de datos de servicio se puede codificar en un bloque de código que incluye cuatro campos de datos y al menos un campo de bandera. Si cada uno de los cuatro campos de datos se usa para datos de servicio, hay un campo de bandera, el primer identificador de indicación se establece en el campo de bandera e indica el primer estado. Si al menos uno de los cuatro campos de datos se usa para datos de control y al menos uno de los cuatro campos de datos se usa para datos de control, hay dos campos de bandera, el primer identificador de indicación se establece en el primer campo de bandera e indica el segundo estado, y el segundo identificador de indicación se establece en el segundo campo de bandera. De esta forma, el ancho de banda válido puede incrementarse según la manera de codificación de datos.
En una posible implementación, la forma de codificación de datos preestablecida es una cualquiera de una codificación 8B/9B, una codificación 64B/66B y una codificación 256B/257B.
En una posible implementación, el método se aplica a un puerto de salida de Ethernet de un conmutador.
La pluralidad de flujos continuos de bloques de código se obtiene de un puerto de entrada de Ethernet de un conmutador.
Los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código obtenidos se distribuyen, sobre la base de una correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida, y sobre la base de una ranura del puerto de entrada de Ethernet de los bloques de código en la pluralidad de flujos continuos de bloques de código, a una ranura correspondiente de los puertos de salida de Ethernet, donde cada secuencia de multiplexación incluye N ranuras, y N es un número entero positivo.
En la solución mostrada en esta realización de la presente invención, si se utiliza el puerto de salida de Ethernet del conmutador, se puede obtener una pluralidad de flujos continuos de bloques de código a partir del puerto de entrada de Ethernet del conmutador. A continuación, la pluralidad de flujos continuos de bloques de código se distribuye, sobre la base de la correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida, a las ranuras de los puertos de salida de Ethernet, para obtener un flujo continuo de bloques de código. De esta forma, los bloques de código pueden reenviarse desde el puerto de entrada de Ethernet al puerto de salida de Ethernet a través de una interacción en el conmutador, mejorando así la eficiencia de la transmisión de datos.
En una posible implementación, el flujo continuo de bloques de código mencionado se segmenta y encapsula sobre la base de una longitud de trama preestablecida, para generar la por lo menos una trama.
En la solución mostrada en esta realización de la presente invención, un experto en la materia preestablece la longitud de la trama. Por lo tanto, el flujo continuo de bloques de código mencionado puede dividirse en flujos continuos de bloques de código, a continuación los flujos continuos de bloques de código se encapsulan, y la longitud de la trama encapsulada es igual a la longitud de trama preestablecida. De esta forma, la longitud de cada trama es idéntica para facilitar la distribución.
En una posible implementación, el flujo continuo de bloques de código mencionado se segmenta, y se inserta un campo de encabezamiento de trama en cada segmento, para generar la por lo menos una trama; o
el flujo continuo de bloques de código mencionado se segmenta, y se insertan un campo de encabezamiento de trama y un campo de cola de trama en cada segmento, para generar la por lo menos una trama.
En la solución que se muestra en esta realización de la presente invención, el flujo continuo de bloques de código se puede segmentar, y el campo de encabezamiento de trama y el campo de cola de trama se pueden insertar en cada segmento, o el campo de encabezamiento de trama se puede insertar en cada segmento, para obtener la por lo menos una trama, que proporciona una forma de encapsulación.
En una posible implementación, un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, y una primera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras; o
un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, una primera cantidad preestablecida de secuencias de multiplexación, y el campo de cola de trama, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras.
En una posible implementación, el método se aplica a un puerto de salida de Ethernet.
El flujo continuo de bloques de código mencionado se segmenta y se insertan un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet en cada segmento, para generar la por lo menos una trama; o
el flujo continuo de bloques de código mencionado se segmenta, y se insertan en cada segmento un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama, para generar la por lo menos una trama.
En la solución que se muestra en esta realización de la presente invención, la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet. De esta manera, el formato de encapsulación no cambia.
En una posible implementación, un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y una tercera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras; o
un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet, una tercera cantidad preestablecida de secuencias de multiplexación y el campo de cola de trama, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras.
En una posible implementación, el campo de encabezamiento de trama es un preámbulo, y el campo de cola de trama es un campo de comprobación de redundancia cíclica (Comprobación de Redundancia Cíclica, CRC).
De acuerdo con un segundo aspecto, se proporciona un método de transmisión de datos, donde el método incluye:
recibir al menos una trama;
desencapsular cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; y
llevar a cabo una desmultiplexación para el flujo continuo de bloques de código mencionado sobre la base de una secuencia de multiplexación preestablecida, para obtener una pluralidad de flujos continuos de bloques de código.
En una solución mostrada en la realización de la presente invención, después de recibir una trama a través de un puerto de entrada de Ethernet de un conmutador o un anfitrión, la trama recibida puede desencapsularse, para obtener un flujo continuo de bloques de código. Cada bloque de código en el flujo continuo de bloques de código mencionado se corresponde con una ranura. A continuación, una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forma un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a cada bloque de código en el flujo continuo de bloques de código mencionado. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código.
En una posible implementación, después de obtener la pluralidad de flujos continuos de bloques de código, cada bloque de código en la pluralidad de flujos continuos de bloques de código se descodifica según una manera preestablecida de descodificación de datos.
En la solución mostrada en esta realización de la presente invención, la forma de descodificación de datos preestablecida se corresponde con la forma de codificación de datos del primer aspecto.
En una posible implementación, un campo de encabezamiento de trama y un campo de cola de trama se eliminan de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; o
se elimina un campo de encabezamiento de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
En una posible implementación, un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama se eliminan de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código; o
un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet se eliminan de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado.
De acuerdo con un tercer aspecto, se proporciona un aparato de transmisión de datos, donde el aparato incluye un procesador, y
el procesador está configurado para obtener una pluralidad de flujos continuos de bloques de código;
el procesador está configurado para distribuir, sobre la base de una secuencia de multiplexación preestablecida, bloques de código en la pluralidad de flujos continuos de bloques de código por ranuras, con el fin de formar un flujo continuo de bloques de código; y
el procesador está configurado para segmentar y encapsular el flujo continuo de bloques de código mencionado, para generar al menos una trama.
En una posible implementación, el procesador está configurado para:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente, donde cada secuencia de multiplexación incluye N ranuras, y N es un positivo entero.
En una posible implementación, el procesador está configurado para:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código, los bloques de código en cada una de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente.
En una posible implementación, el procesador está configurado para:
recibir al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código;
codificar cada flujo continuo de datos de servicio según una manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código; y
obtener al menos un flujo continuo de bloques de código obtenido por codificación y al menos un flujo continuo de bloques de código recibido.
En una posible implementación, el procesador está configurado para:
recibir una pluralidad de flujos continuos de datos de servicio; y
codificar cada flujo continuo de datos de servicio según una manera preestablecida de codificación de datos, para obtener una pluralidad de flujos continuos de bloques de código.
En una posible implementación, el procesador está configurado para:
para cada flujo continuo de datos de servicio, codificar el flujo continuo de datos de servicio en un bloque de código que incluye cuatro campos de datos y al menos un campo de bandera, y establecer un primer identificador de indicación para cada bloque de código en un campo de bandera del bloque de código, donde el primer identificador de indicación indica un primer estado o un segundo estado, el primer estado se usa para indicar que cada uno de los cuatro campos de datos del bloque de código se usa para datos de servicio, y el segundo estado se usa para indicar que al menos uno de los cuatro campos de datos en el bloque de código se utiliza para datos de control; y establecer además un segundo identificador de indicación en un campo de bandera de un bloque de código, usándose al menos uno de sus cuatro campos de datos para los datos de control, donde el segundo identificador de indicación se usa para indicar ubicaciones de los datos de servicio y los datos de control en el bloque de código.
En una posible implementación, la forma de codificación de datos preestablecida es una cualquiera de una codificación 8B/9B, una codificación 64B/66B y una codificación 256B/257B.
En una posible implementación, el aparato se aplica a un puerto de salida de Ethernet de un conmutador;
el procesador está configurado para:
obtener la pluralidad de flujos continuos de bloques de código a partir de un puerto de entrada de Ethernet de un conmutador; y
el procesador está configurado para: distribuir, sobre la base de una correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida, y sobre la base de una ranura del puerto de entrada de Ethernet de los bloques de código en la pluralidad de flujos continuos de bloques de código, los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código obtenidos a una ranura correspondiente del puerto de salida de Ethernet, donde cada secuencia de multiplexación incluye N ranuras, y N es un número entero positivo.
En una posible implementación, el procesador está configurado para:
segmentar y encapsular el flujo continuo de bloques de código mencionado sobre la base de una longitud de trama preestablecida, con el fin de generar al menos una trama.
En una posible implementación, el procesador está configurado para:
segmentar el flujo continuo de bloques de código mencionado e insertar un campo de encabezamiento de trama en cada segmento, con el fin de generar al menos una trama; o
segmentar el flujo continuo de bloques de código mencionado e insertar un campo de encabezamiento de trama y un campo de cola de trama en cada segmento, con el fin de generar al menos una trama.
En una posible implementación, un formato de trama de una trama en la por lo menos una trama es un campo de encabezamiento de trama, y una primera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras; o
un formato de trama de una trama en la por lo menos una trama es un campo de encabezamiento de trama, una primera cantidad preestablecida de secuencias de multiplexación y un campo de cola de trama, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras.
En una posible implementación, el aparato se aplica a un puerto de salida de Ethernet; y
el procesador está configurado para:
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet en cada segmento, con el fin de generar la por lo menos una trama, donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet, y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet; o
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama en cada segmento, con el fin de generar la por lo menos una trama, donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet.
En una posible implementación, un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y una tercera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras; o
un formato de trama de una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet, una tercera cantidad preestablecida de secuencias de multiplexación, y el campo de cola de trama, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras.
En una posible implementación, el campo de encabezamiento de trama es un preámbulo, y el campo de cola de trama es un campo de comprobación de redundancia cíclica CRC.
De acuerdo con un cuarto aspecto, se proporciona un aparato de transmisión de datos, donde el aparato incluye un procesador, y
el procesador está configurado para recibir al menos una trama;
el procesador está configurado para desencapsular cada una de la por lo menos una trama, con el fin de obtener un flujo continuo de bloques de código; y
el procesador está configurado para llevar a cabo una desmultiplexación para el flujo continuo de bloques de código sobre la base de una secuencia de multiplexación preestablecida, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
En una posible implementación, el procesador está configurado además para:
descodificar cada bloque de código en la pluralidad de flujos continuos de bloques de código según una manera preestablecida de descodificación de datos.
En una posible implementación, el procesador está configurado para:
eliminar un campo de encabezamiento de trama y un campo de cola de trama de cada una de la por lo menos una trama, con el fin de obtener el flujo continuo de bloques de código; o
eliminar un campo de encabezamiento de trama de cada una de la por lo menos una trama, con el fin de obtener el
flujo continuo de bloques de código.
En una posible implementación, el procesador está configurado para:
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen,
un campo de tipo Ethernet y un campo de cola de trama de cada una de la por lo menos una trama, con el fin de
obtener el flujo continuo de bloques de código mencionado, donde la dirección de MAC de destino es cualquier
dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet, y el
campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet; o
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen
y un campo de tipo Ethernet de cada una de la por lo menos una trama, con el fin de obtener el flujo continuo de
bloques de código mencionado, donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de
MAC de origen es una dirección de MAC del puerto de salida de Ethernet y el campo de tipo Ethernet se utiliza para
identificar que la trama es una trama de tipo Ethernet.
Las soluciones técnicas proporcionadas en las realizaciones de la presente invención aportan los siguientes efectos
beneficiosos.
En las realizaciones de la presente invención, se obtienen la pluralidad de flujos continuos de bloques de código, y los
bloques de código en la pluralidad de flujos continuos de bloques de código se distribuyen por ranuras sobre la base
de una secuencia de multiplexación preestablecida, para formar el flujo continuo de bloques de código mencionado.
El flujo continuo de bloques de código mencionado se segmenta y encapsula, para generar la por lo menos una trama.
De esta forma, cuando se envían datos a través del puerto de salida de Ethernet, la pluralidad de flujos continuos de
bloques de código puede distribuirse por ranuras, para implementar una multiplexación por división de tiempo. La
pluralidad de flujos continuos de bloques de código no influyen unos sobre otros durante la transmisión y, por lo tanto,
se reduce la duración de la espera para la transmisión del flujo continuo de bloques de código, reduciéndose así el
retardo en una transmisión de datos. Con eso se pueden satisfacer requisitos de servicio correspondientes a un
servicio con un retardo de transmisión de datos relativamente alto en una Ethernet industrial.
Breve descripción de los dibujos
La figura 1 (a) es un diagrama esquemático de capas de Ethernet según una realización de la presente invención;
la figura 1 (b) es un diagrama esquemático de capas de Ethernet según una realización de la presente invenció la figura 2(a) es un diagrama esquemático de capas de Ethernet según una realización de la presente invenció la figura 2(b) es un diagrama esquemático de capas de Ethernet según una realización de la presente invenció la figura 3 es un diagrama estructural esquemático de un anfitrión según una realización de la presente invención;
la figura 4 es un diagrama estructural esquemático de un conmutador según una realización de la presente invención;
la figura 5 es un diagrama de flujo esquemático de un método de transmisión de datos según una realización de la
presente invención;
la figura 6 es un diagrama esquemático de la distribución de una pluralidad de flujos continuos de bloques de código
según una realización de la presente invención;
la figura 7 es un diagrama esquemático de una trama según una realización de la presente invención;
la figura 8(a) es un diagrama esquemático de una definición de codificación según una realización de la presente
invención;
la figura 8(b) es un diagrama esquemático de una definición de codificación según una realización de la presente
invención;
la figura 8(c) es un diagrama esquemático en el que se utilizan cuatro campos de datos para datos de servicio según
una realización de la presente invención;
la figura 8(d) es un diagrama esquemático en el que se utiliza al menos uno de los cuatro campos de datos para datos
de control según una realización de la presente invención;
la figura 9 es un diagrama de flujo esquemático de un método de transmisión de datos según una realización de la
presente invención;
la figura 10 es un diagrama de flujo esquemático de un método de transmisión de datos según una realización de la
presente invención;
la figura 11 es un diagrama de flujo esquemático de un método de transmisión de datos según una realización de la presente invención;
la figura 12 es un diagrama estructural esquemático de un aparato de transmisión de datos según una realización de la presente invención;
la figura 13 es un diagrama estructural esquemático de un aparato de transmisión de datos según una realización de la presente invención; y
la figura 14 es un diagrama estructural esquemático de un aparato de transmisión de datos según una realización de la presente invención.
Descripción de realizaciones
Para conseguir que los objetivos, las soluciones técnicas y las ventajas de esta solicitud resulten más claros, a continuación se describen adicionalmente implementaciones de la presente invención en detalle con referencia a los dibujos adjuntos.
Una de las realizaciones de la presente invención proporciona un método de transmisión de datos, aplicado a un puerto de salida de Ethernet de alta velocidad o un puerto de salida de Ethernet de baja velocidad (en lo sucesivo denominados en conjunto puerto de salida de Ethernet). El método puede ser ejecutado por un conmutador o un anfitrión. El conmutador puede obtenerse renovando hardware en una capa física o una capa de MAC de un conmutador original, y el hardware en la capa física o la capa de MAC puede renovarse utilizando un chip nuevo o actualizando código nuevo en la capa física. De manera similar, el anfitrión puede obtenerse renovando hardware en una capa física o una capa de MAC de un adaptador de red original en el anfitrión, y el hardware en la capa física o la capa de MAC puede renovarse usando un chip nuevo o actualizando código nuevo en la capa física.
Como se muestra en la figura 1 (a), se renueva hardware en una capa física de un adaptador de red en un anfitrión, de modo que las capas de Ethernet de un puerto de salida de Ethernet se pueden clasificar en una capa de control de enlace, una capa de control de MAC, una capa de MAC, una subcapa de intercalado virtual (Subcapa de Intercalado Virtual, VIS) y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual debajo de la capa de MAC y encima de la capa física de las capas originales. Alternativamente, como se muestra en la figura 1 (b), se renueva hardware en una capa de MAC de un adaptador de red en un anfitrión, de modo que las capas de Ethernet de un puerto de salida de Ethernet se pueden clasificar en una capa de control de enlace, una capa de control de MAC, una subcapa de intercalado virtual, una capa de MAC y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual por debajo de la capa de control de enlace y por encima de la capa de MAC de las capas originales.
Como se muestra en la figura 2(a), se renueva hardware en una capa física de un conmutador, de modo que las capas de Ethernet de un puerto de salida de Ethernet se pueden clasificar en una capa de MAC, una subcapa de intercalado virtual y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual debajo de la capa de MAC y encima de la capa física de las capas originales. Alternativamente, como se muestra en la figura 2(b), se renueva hardware en una capa de MAC de un conmutador, de modo que las capas de Ethernet de un puerto de salida de Ethernet se pueden clasificar en una subcapa de entrelazado virtual, una capa de MAC y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual por debajo de la capa de control de enlace y por encima de la capa de MAC de las capas originales.
Además, la subcapa de intercalado virtual también puede denominarse capa de multiplexación.
La figura 3 es un diagrama de bloques estructural de un anfitrión según una realización de la presente invención. El anfitrión puede incluir al menos un transceptor 301, un procesador 302 y una memoria 303. El transceptor 301 puede configurarse para recibir y enviar datos. La memoria 303 puede configurarse para almacenar un programa de software y un módulo. El procesador 302 ejecuta diversas aplicaciones de funciones y procesamiento de datos ejecutando el programa de software y el módulo almacenados en la memoria 303. La memoria 303 puede incluir principalmente un área de almacenamiento de programas y un área de almacenamiento de datos. El área de almacenamiento de programas puede almacenar un sistema operativo, un programa de aplicación requerido por al menos una función (tal como una función de reproducción de voz y una función de reproducción de imágenes), y similares. El área de almacenamiento de datos puede almacenar datos creados sobre la base del uso del anfitrión y similares. Además, la memoria 303 puede incluir una memoria de acceso aleatorio de alta velocidad y puede incluir además una memoria no volátil, tal como al menos un dispositivo de almacenamiento de disco magnético, una memoria flash u otro dispositivo de almacenamiento volátil de estado sólido. En consecuencia, la memoria 303 puede incluir además un controlador de memoria, para proporcionar al procesador 302 y al transceptor 301 acceso a la memoria 303. Como centro de control del anfitrión, el procesador 302 conecta varias partes de todo el anfitrión mediante el uso de varias interfaces y líneas, y lleva a cabo varias funciones del anfitrión y procesa datos haciendo funcionar o ejecutando el programa de software y/o el módulo almacenados en la memoria 303 e invocando datos almacenados en la memoria 303, para llevar a cabo una monitorización general en el anfitrión.
Opcionalmente, el procesador 302 puede incluir uno o más núcleos de procesamiento. Preferiblemente, un procesador de aplicaciones y un procesador de módem pueden estar integrados en el procesador 302, donde el procesador de aplicaciones procesa principalmente un sistema operativo, una interfaz de usuario, un programa de aplicación y similares, y el procesador de módem procesa principalmente la comunicación inalámbrica. Puede entenderse que alternativamente el procesador de módem anterior puede no estar integrado en el procesador 302.
La figura 4 es un diagrama de bloques estructural de un conmutador según una realización de la presente invención. El conmutador puede incluir al menos un transceptor 401, un procesador 402 y una memoria 403. El transceptor 401 puede configurarse para recibir y enviar datos. La memoria 403 puede configurarse para almacenar un programa de software y un módulo. El procesador 402 ejecuta diversas aplicaciones de funciones y procesamiento de datos ejecutando el programa de software y el módulo almacenados en la memoria 403. La memoria 403 puede incluir principalmente un área de almacenamiento de programas y un área de almacenamiento de datos. El área de almacenamiento de programas puede almacenar un sistema operativo, un programa de aplicación requerido por al menos una función y similares. El área de almacenamiento de datos puede almacenar datos creados sobre la base del uso del conmutador y similares. Además, la memoria 403 puede incluir una memoria de acceso aleatorio de alta velocidad y puede incluir además una memoria no volátil, tal como al menos un dispositivo de almacenamiento de disco magnético, una memoria flash u otro dispositivo de almacenamiento volátil de estado sólido. En consecuencia, la memoria 403 puede incluir además un controlador de memoria, para proporcionar al procesador 402 y al transceptor 401 acceso a la memoria 403. Como centro de control del conmutador, el procesador 402 conecta varias partes de todo el conmutador mediante el uso de varias interfaces y líneas, y lleva a cabo varias funciones del conmutador y procesa datos haciendo funcionar o ejecutando el programa de software y/o el módulo almacenados en la memoria 403 e invocando datos almacenados en la memoria 403, para llevar a cabo una monitorización general en el conmutador.
Opcionalmente, el procesador 402 puede incluir uno o más núcleos de procesamiento. Preferiblemente, un procesador de aplicaciones y un procesador de módem pueden estar integrados en el procesador 402, donde el procesador de aplicaciones procesa principalmente un sistema operativo, una interfaz de usuario, un programa de aplicación y similares, y el procesador de módem procesa principalmente la comunicación inalámbrica. Puede entenderse que alternativamente el procesador de módem anterior puede no estar integrado en el procesador 402. Como se muestra en la figura 5, para la descripción detallada de una solución proporcionada en una realización de la presente invención se usa un ejemplo en el que la entidad de ejecución es un anfitrión. Un procedimiento de procesamiento de un método de transmisión de datos puede incluir los siguientes pasos.
Paso 501. Un anfitrión obtiene una pluralidad de flujos continuos de bloques de código.
En una implementación, se establece una subcapa de intercalado virtual entre una capa de MAC y una capa física. Cuando hay datos en el anfitrión que deben transmitirse externamente, los datos generalmente se envían a la capa de MAC mediante el uso de una capa de control de enlace, y a continuación los datos se envían a la subcapa de intercalado virtual a través de la capa de MAC. El anfitrión puede obtener la pluralidad de flujos continuos de bloques de código de la capa de MAC a través de la subcapa de intercalado virtual. La pluralidad de flujos continuos de bloques de código puede pertenecer a un mismo servicio o puede pertenecer a servicios diferentes.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Cuando hay datos en el anfitrión que necesitan transmitirse externamente, el anfitrión puede obtener la pluralidad de flujos continuos de bloques de código desde la capa de control de enlace a través de la subcapa de intercalado virtual. La pluralidad de flujos continuos de bloques de código puede pertenecer a un mismo servicio o puede pertenecer a servicios diferentes.
Paso 502. El anfitrión distribuye, sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, para formar un flujo continuo de bloques de código.
La secuencia de multiplexación preestablecida la puede preestablecer un experto en la materia y se puede almacenar en el anfitrión. La secuencia de multiplexación preestablecida puede incluir N ranuras intercaladas. La secuencia de multiplexación preestablecida también puede denominarse secuencia de distribución preestablecida.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de obtener la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código pueden distribuirse a una ranura a la que pertenece el flujo continuo de bloques de código, y los bloques de código se distribuyen a una ranura correspondiente. De esta manera, se forma un flujo continuo de bloques de código, implementándose así una multiplexación por división de tiempo.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de obtener la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual, los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código pueden distribuirse a una ranura a la que pertenece el flujo continuo de bloques de código, y los bloques de código se distribuyen a una ranura correspondiente. De esta manera, se forma un flujo continuo de bloques de código, implementándose así la multiplexación por división de tiempo. A continuación, el flujo continuo de bloques de código se envía a la capa de MAC a través de la subcapa de intercalado virtual.
Opcionalmente, un proceso de distribución por ranuras puede ser el siguiente:
distribuir los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código.
En una de las implementaciones, la secuencia de multiplexación preestablecida incluye N ranuras, y cada ranura se corresponde con un flujo continuo de bloques de código. El número de flujo continuo de bloques de código puede corresponderse con el número de ranura. Los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código pueden distribuirse a una ranura correspondiente a través de la subcapa de intercalado virtual.
Opcionalmente, en el caso de que la subcapa de intercalado virtual se establezca entre la capa de MAC y la capa física, puede utilizarse además la correspondencia entre una ranura en la secuencia de multiplexación y una interfaz de obtención para realizar la distribución por ranuras. El procesamiento correspondiente puede ser el siguiente:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código, los bloques de código en cada una de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente.
La correspondencia entre una ranura en la secuencia de multiplexación y una interfaz de obtención puede ser una correspondencia entre un número de ranura y un número de interfaz de obtención, como se muestra en la Tabla 1.
Tabla 1
Figure imgf000011_0001
En una de las implementaciones, hay una pluralidad de interfaces de obtención en la capa de MAC, que se usan por separado para transmitir diferentes flujos continuos de bloques de código. Después de recibir cualquiera de los flujos continuos de bloques de código a través de la subcapa de intercalado virtual, se puede determinar que se obtiene una interfaz de obtención del flujo continuo de bloques de código en la capa de MAC. A continuación, los bloques de código en el flujo continuo de bloques de código se distribuyen a una ranura correspondiente sobre la base de la correspondencia entre una ranura en la secuencia de multiplexación y una interfaz de obtención. Como se muestra en la figura 6, uno de los números de la interfaz de obtención es 1, y los números de ranura correspondientes son 1,3 y otros. Un primer bloque de código recibido a través de la interfaz de obtención con numeración 1 se distribuye a una ranura con numeración 1, y un segundo bloque de código recibido a través de la interfaz de obtención con numeración 1 se distribuye a una ranura con numeración 3. Uno de los números de la interfaz de obtención es 2, y los números de ranura correspondientes son 2, y similares. Un primer bloque de código recibido a través de la interfaz de obtención con numeración 2 puede distribuirse a una ranura con numeración 2, y otras.
Cabe señalar que la ranura mencionada en las realizaciones de la presente invención se refiere a la duración de la transmisión de un bloque de código transmitido en la ranura. Se pueden usar diferentes ranuras para transmitir bloques de código en un mismo flujo continuo de bloques de código, o se pueden usar diferentes ranuras para transmitir bloques de código en diferentes flujos continuos de bloques de código.
Paso 503. El anfitrión segmenta y encapsula el flujo continuo de bloques de código mencionado, para generar al menos una trama.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de que la pluralidad de flujos continuos de bloques de código forme el flujo continuo de bloques de código mencionado a través de la subcapa de intercalado virtual, el flujo continuo de bloques de código mencionado se segmenta y a continuación se encapsula, para generar la por lo menos una trama. La trama también puede denominarse trama de Ethernet, y la trama también puede denominarse trama de VIS, o puede denominarse trama de multiplexación. La trama generada se lleva a la capa física para su procesamiento antes de su envío. Además, para evitar el desbordamiento de tramas, se puede insertar un espacio entre tramas entre dos tramas adyacentes a través de la subcapa de intercalado virtual, o se puede insertar un espacio entre paquetes.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de recibir un flujo continuo de bloques de código a través de la capa de MAC, el flujo continuo de bloques de código mencionado se segmenta a través de la capa de MAC y a continuación se encapsula para generar al menos una trama. La trama también puede denominarse trama de Ethernet, y la trama también puede denominarse trama de VIS, o puede denominarse trama de multiplexación. La trama generada se lleva a la capa física para su procesamiento antes de su envío. Además, para evitar el desbordamiento de tramas, se puede insertar un espacio entre tramas entre dos tramas adyacentes a través de la capa de MAC, o se puede insertar un espacio entre paquetes.
Opcionalmente, se puede usar una longitud de trama para segmentar y encapsular un flujo continuo de bloques de código, y el procesamiento correspondiente puede ser el siguiente:
segmentar y encapsular el flujo continuo de bloques de código mencionado sobre la base de una longitud de trama preestablecida, para generar al menos una trama.
La longitud de trama preestablecida la puede preestablecer un experto en la materia, y la longitud de trama preestablecida puede ser M secuencias de multiplexación. Por ejemplo, como se muestra en la figura 7, M es 100, la secuencia de multiplexación incluye 88 ranuras y la longitud de trama preestablecida es 8,800 ranuras.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. El flujo continuo de bloques de código mencionado se divide en flujos continuos de bloques de código a través de la subcapa de intercalado virtual, los flujos continuos de bloques de código se encapsulan, de modo que la longitud de una trama encapsulada es igual a la longitud de trama preestablecida. De esta forma, la subcapa de intercalado virtual se usa para generar una trama usando cada M secuencias de multiplexación. Por ejemplo, M es 100, la secuencia de multiplexación incluye 88 ranuras y una trama incluye 8,800 ranuras.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. El flujo continuo de bloques de código mencionado se divide en flujos continuos de bloques de código a través de la capa de MAC, los flujos continuos de bloques de código se encapsulan, de modo que la longitud de una trama encapsulada es igual a la longitud de trama preestablecida. De esta forma, la subcapa de intercalado virtual se usa para generar una trama usando cada M secuencias de multiplexación.
Opcionalmente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. La segmentación y la encapsulación se llevan a cabo según una pluralidad de formas de encapsulación. Se proporcionan dos formas factibles de la siguiente manera:
Forma 1: el flujo continuo de bloques de código mencionado se segmenta, y se inserta un campo de encabezamiento de trama en cada segmento, para generar al menos una trama.
En una de las implementaciones, después de segmentar un flujo continuo de bloques de código a través de la subcapa de intercalado virtual, se inserta un campo de encabezamiento de trama en una posición de inicio de cada segmento para definir un inicio de la trama. De esta forma, se obtienen una pluralidad de tramas, y el campo de encabezamiento de trama puede ser un preámbulo.
En consecuencia, un formato de trama correspondiente a una trama en la por lo menos una trama es un campo de encabezamiento de trama, y una primera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de bloques de código. Un experto en la materia puede preestablecer una primera cantidad preestablecida y una segunda cantidad preestablecida, la primera cantidad preestablecida puede ser la M mencionada anteriormente, y la segunda cantidad preestablecida puede ser la N mencionada anteriormente.
Forma 2: el flujo continuo de bloques de código mencionado se segmenta, y se insertan un campo de encabezamiento de trama y un campo de cola de trama en cada segmento, para generar al menos una trama.
En una de las implementaciones, después de segmentar un flujo continuo de bloques de código a través de la subcapa de intercalado virtual, se inserta un campo de encabezamiento de trama en una posición de inicio de cada segmento, y se inserta un campo de cola de trama en una posición final. De manera similar, el campo de encabezamiento de trama se usa para definir un inicio de la trama, y el campo de cola de trama se usa para detectar si la trama está dañada. El campo de encabezamiento de trama puede ser un preámbulo, y el campo de cola de trama puede ser un campo de CRC.
En consecuencia, un formato de trama correspondiente a una trama en la por lo menos una trama es un campo de encabezamiento de trama, una primera cantidad preestablecida de secuencias de multiplexación y un campo de cola de trama, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras. Un experto en la materia puede preestablecer una primera cantidad preestablecida y una segunda cantidad preestablecida, la primera cantidad preestablecida puede ser la M mencionada anteriormente, y la segunda cantidad preestablecida puede ser la N mencionada anteriormente.
Opcionalmente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace.
La segmentación y la encapsulación se llevan a cabo según una pluralidad de formas de encapsulación. Se proporcionan dos formas factibles de la siguiente manera:
Forma 1: el flujo continuo de bloques de código mencionado se segmenta, y se insertan un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet en cada segmento, para generar al menos una trama.
La dirección de MAC de destino es cualquier dirección de MAC preestablecida por un experto en la materia y no se utiliza para el direccionamiento. La dirección de MAC de origen es una dirección de MAC de un puerto de salida de Ethernet, y el campo de tipo Ethernet se utiliza para identificar que la trama es una trama de tipo Ethernet, y puede ser un campo preestablecido por un experto en la materia.
En una de las implementaciones, después de segmentar un flujo continuo de bloques de código a través de la subcapa de intercalado virtual, el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen y el campo de tipo Ethernet se insertan en una posición de inicio de cada segmento. El campo de encabezamiento de trama se usa para definir el inicio de la trama, y el campo de Ethernet se usa para identificar que la trama es una trama de tipo Ethernet. El campo de encabezamiento de trama puede ser un preámbulo.
En consecuencia, un formato de trama correspondiente a una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y una tercera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras.
Forma 2: el flujo continuo de bloques de código mencionado se segmenta, y se insertan en cada segmento un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama para generar al menos una trama.
La dirección de MAC de destino es cualquier dirección de MAC preestablecida por un experto en la materia y no se utiliza para el direccionamiento. La dirección de MAC de origen es una dirección de MAC de un puerto de salida de Ethernet, y el campo de tipo Ethernet se utiliza para identificar que la trama es una trama de tipo Ethernet, y puede ser un campo preestablecido por un experto en la materia.
En una de las implementaciones, después de segmentar un flujo continuo de bloques de código a través de la subcapa de intercalado virtual, el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen y el campo de tipo Ethernet se insertan secuencialmente en una posición de inicio de cada segmento, y el campo de cola de trama se inserta en una posición final de cada segmento. El campo de encabezamiento de trama se usa para definir el inicio de la trama, y el campo de Ethernet se usa para identificar que la trama es una trama de tipo Ethernet. El campo de cola de trama se utiliza para detectar si la trama está dañada. El campo de encabezamiento de trama puede ser un preámbulo, y el campo de cola de trama puede ser un campo de CRC.
En consecuencia, un formato de trama correspondiente a una trama en la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet, una tercera cantidad preestablecida de secuencias de multiplexación y un campo de cola de trama, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras.
La tercera cantidad preestablecida mencionada anteriormente puede ser igual a la N mencionada anteriormente, y la cuarta cantidad preestablecida puede ser igual a la M mencionada anteriormente.
Para la realización anterior, esta aplicación proporciona además la siguiente forma de procesamiento para obtener la pluralidad de flujos continuos de bloques de código en el paso 501.
Se recibe un flujo continuo de datos de servicio, y el flujo continuo de datos de servicio mencionado se codifica según una manera preestablecida de codificación de datos, para obtener uno cualquiera de la pluralidad de flujos continuos de bloques de código.
En una de las implementaciones, una fuente de uno cualquiera de la pluralidad de flujos continuos de bloques de código puede ser: Después de recibir un flujo continuo de datos de servicio, el flujo continuo de datos de servicio mencionado se codifica según una manera preestablecida de codificación de datos, para obtener el flujo continuo de bloques de código mencionado. Además del flujo continuo de bloques de código mencionado, una fuente de otro flujo continuo de bloques de código puede ser: Se recibe directamente al menos un flujo continuo de bloques de código, o se recibe al menos un flujo continuo de datos de servicio, y el por lo menos un flujo continuo de datos de servicio se codifica, para obtener al menos un flujo continuo de bloques de código. El otro flujo continuo de bloques de código es al menos un flujo continuo de bloques de código obtenido por codificación. Las formas de codificación de datos utilizadas para codificar el por lo menos un flujo continuo de bloques de código pueden ser las mismas o pueden ser diferentes. Alternativamente, una fuente de otro flujo continuo de bloques de código puede ser: Se reciben al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código, y se codifica el por lo menos un flujo continuo de datos de servicio, para obtener al menos un flujo continuo de bloques de código. De esta manera, el otro flujo continuo de bloques de código es al menos un flujo continuo de bloques de código obtenido mediante codificación y al menos un flujo continuo de bloques de código recibido, y las formas de codificación de datos utilizadas para codificar el por lo menos un flujo continuo de bloques de código pueden ser las mismas o pueden ser diferentes.
Para la realización anterior, esta solicitud proporciona además las siguientes dos formas de procesamiento para obtener la pluralidad de flujos continuos de bloques de código en el paso 501. El procesamiento correspondiente puede ser el siguiente.
Forma 1: Se reciben al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código, y se codifica cada flujo continuo de datos de servicio según la manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código; y se obtienen al menos un flujo continuo de bloques de código obtenido por codificación y al menos un flujo continuo de bloques de código recibido.
La forma de codificación de datos preestablecida la puede preestablecer una persona experta en la materia y se puede almacenar en el anfitrión.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de recibir al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código de la capa de MAC a través de la subcapa de intercalado virtual, cada flujo continuo de datos de servicio puede codificarse según la manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código. Además, pueden obtenerse el por lo menos un flujo continuo de bloques de código recibido y al menos un flujo continuo de bloques de código obtenido por codificación, para obtener la pluralidad de flujos continuos de bloques de código.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de recibir al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código desde la capa de control de enlace a través de la subcapa de intercalado virtual, cada flujo continuo de datos de servicio puede codificarse según la manera preestablecida de codificación de datos, para obtener al menos un flujo continuo de bloques de código. Además, pueden obtenerse el por lo menos un flujo continuo de bloques de código recibido y al menos un flujo continuo de bloques de código obtenido por codificación, para obtener la pluralidad de flujos continuos de bloques de código.
De esta forma, si se recibe el flujo continuo de datos de servicio, el flujo continuo de datos de servicio puede codificarse para obtener el flujo continuo de bloques de código, y no es necesario procesar el flujo continuo de bloques de código recibido.
Forma 2: Se recibe una pluralidad de flujos continuos de datos de servicio, y cada flujo continuo de datos de servicio se codifica sobre la base de la forma de codificación de datos preestablecida, para obtener la pluralidad de flujos continuos de bloques de código.
La forma de codificación de datos preestablecida la puede preestablecer una persona experta en la materia, y se puede almacenar en el anfitrión.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de recibir la pluralidad de flujos continuos de datos de servicio desde la capa de MAC a través de la subcapa de intercalado virtual, cada flujo continuo de datos de servicio puede codificarse según la manera preestablecida de codificación de datos, para obtener la pluralidad de flujos continuos de bloques de código.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de recibir la pluralidad de flujos continuos de datos de servicio desde la capa de control de enlace a través de la subcapa de intercalado virtual, cada flujo continuo de datos de servicio puede codificarse según la manera preestablecida de codificación de datos, para obtener la pluralidad de flujos continuos de bloques de código.
Debe señalarse que en la Forma 1 y la Forma 2 anteriores, la pluralidad de flujos continuos de datos de servicio puede codificarse por separado usando una pluralidad de módulos de codificación, o la pluralidad de flujos continuos de datos de servicio pueden codificarse usando un módulo de codificación.
Además, debe señalarse adicionalmente que en la Forma 1 y la Forma 2 anteriores, cada flujo continuo de datos de servicio se codifica según la manera preestablecida de codificación de datos. En el procesamiento real, también se pueden codificar diferentes flujos continuos de datos de servicio con diferentes formas de codificación de datos.
Opcionalmente, la forma de codificación de datos preestablecida es una cualquiera de una codificación 8B/9B, una codificación 64B/66B y una codificación 256B/257B.
En una de las implementaciones, las formas de codificación de datos correspondientes a la codificación 64B/66B y a la codificación 256B/257B son formas de codificación de datos usadas con frecuencia en la técnica anterior, y los detalles no se describen aquí nuevamente.
En la forma de codificación de datos correspondiente a la codificación 8B/9B, cada flujo continuo de datos de servicio se codifica en un bloque de código que incluye un campo de datos. Cada campo de datos tiene nueve bits, y el bit más alto [8] de un bit se usa para la indicación. Cuando el bit más alto [8] de un bit es 0, indica un bloque de datos, y cuando el bit más alto [8] de un bit es 1, indica un bloque de datos. Los ocho bits restantes [7:0] ocupan ocho bits, que se utilizan para almacenar datos de servicio o datos de control. Por ejemplo, como se muestra en la figura 8(a), el bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 00 en formato hexadecimal, ocupando ocho bits. Los datos de control de 8 bits se utilizan para indicar un estado de reposo. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 01 en formato hexadecimal, ocupando ocho bits. Los datos de control de 8 bits se utilizan para indicar un estado de baja potencia. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 5A en formato hexadecimal, ocupando ocho bits. Los datos de control de 8 bits se utilizan para indicar el inicio de una trama. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son A5 en formato hexadecimal, ocupando ocho bits. Los datos de control de 8 bits se utilizan para indicar el final de una trama. El bit más alto [8] de un bit es 0, y los ocho bits restantes [7:0] son 00 a FF en formato hexadecimal, ocupando ocho bits. Los ocho bits se utilizan para datos de servicio.
En la forma de codificación de datos correspondiente a la codificación 8B/9B, se puede observar que se usa un bit de cada nueve bits para indicar si los datos son datos de control o datos de servicio. Por lo tanto, si hay un ancho de banda de 1 Gbps, después de llevar a cabo una codificación según la forma de codificación anterior, el ancho de banda de datos válido real es 1 Gbps * (8/9) = 0.89 Gbps.
Opcionalmente, sobre la base de la forma de codificación de datos correspondiente a la codificación 8B/9B, la forma de codificación de datos se mejora a la siguiente forma de codificación de datos.
Para cada flujo continuo de datos de servicio, el flujo continuo de datos de servicio se codifica en un bloque de código que incluye cuatro campos de datos y al menos un campo de bandera, y se establece un primer identificador de indicación para cada bloque de código en un campo de bandera del bloque de código, donde el primer identificador de indicación indica un primer estado o un segundo estado.
Los datos de control y los datos de servicio están en el campo de datos, y el campo de bandera se usa para establecer el primer identificador de indicación y un segundo identificador de indicación. Si los cuatro campos de datos se utilizan para datos de servicio, solo hay un campo de bandera; o si al menos uno de los cuatro campos de datos se usa para datos de control, hay dos campos de bandera, uno se usa para establecer el primer identificador de indicación y el otro se usa para establecer el segundo identificador de indicación.
En una de las implementaciones, sobre la base de la forma de codificación de datos correspondiente a la codificación 8B/9B, el campo de datos se redefine como se muestra en la figura 8(b), el bit más alto [8] de un bit se usa para indicar el primer identificador de indicación, y el primer identificador de indicación ocupa un bit. El primer identificador de indicación indica un primer estado o un segundo estado. El primer estado puede representarse con 0 y el segundo estado puede representarse con 1. Los ocho bits restantes [7:0] ocupan ocho bits. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 0 en formato hexadecimal, ocupando cuatro bits. Los datos de control de 4 bits se utilizan para indicar un estado de reposo. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 1 en formato hexadecimal, ocupando cuatro bits. Los datos de control de 4 bits se utilizan para indicar un estado de baja potencia. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 2 en formato hexadecimal, ocupando cuatro bits. Los datos de control de 4 bits se utilizan para indicar el inicio de una trama. El bit más alto [8] de un bit es 1, y los ocho bits restantes [7:0] son 3 en formato hexadecimal, ocupando cuatro bits. Los datos de control de 4 bits se utilizan para indicar el final de una trama. El bit más alto [8] de un bit es 0, y los ocho bits restantes [7:0] son 00 a FF en formato hexadecimal, ocupando ocho bits. Los ocho bits se utilizan para datos de servicio.
Después de redefinir el campo de datos, y cuando el campo de datos se usa para datos de control, el [7:4] de cuatro bits del [7:0] no se usa. Por lo tanto, para cada flujo continuo de datos de servicio, cada cuatro campos de datos y al menos un campo de control forman un bloque de código cuando se codifican datos. Se establece un primer identificador de indicación para cada bloque de código en un campo de bandera del bloque de código. En este caso, solo hay un campo de bandera. Como se muestra en la figura 8(c), hay un campo de bandera y cuatro campos de datos. El primer identificador de indicación que indica un primer estado se establece en el campo de bandera y ocupa un bit. Cada uno de los cuatro campos de datos se utiliza para datos de servicio y cada campo de datos ocupa ocho bits. Cuando el primer identificador de indicación indica un segundo estado, indica que al menos uno de los cuatro campos de datos se usa para datos de control. Si se establece un segundo identificador de indicación en un campo de bandera de un bloque de código en el que al menos uno de sus cuatro campos de datos se usa para datos de control, el segundo identificador de indicación ocupa cuatro bits, y se usa para indicar ubicaciones de datos de servicio y los datos de control en el bloque de código, en otras palabras, se usa para indicar qué campo de datos se usa para los datos de control y qué campo de datos se usa para los datos de servicio. Los primeros datos de control en los cuatro campos de datos ocupan cuatro bits (porque el segundo identificador de indicación usa cuatro bits), e independientemente de si cada uno de los tres campos de datos restantes se usa para los datos de control o los datos de servicio, cada uno de los tres campos de datos restantes ocupa ocho bits. En este caso, hay dos campos de bandera, un primer campo de bandera se usa para establecer el primer identificador de indicación y un segundo campo de bandera se usa para establecer el segundo identificador de indicación. Por ejemplo, como se muestra en la figura 8 (d), hay dos campos de bandera y cuatro campos de datos. Un primer campo de bandera de los dos campos de bandera que se usa para un primer identificador de indicación indica un segundo estado y ocupa un bit. Un segundo campo de bandera que se usa para un segundo identificador de indicación ocupa cuatro bits. En los cuatro campos de datos, dos campos de datos se usan para datos de control, un primer campo de datos y un tercer campo de datos se usan para datos de servicio, un segundo campo de datos y un cuarto campo de datos se usan para datos de control, y los datos de control en el segundo campo de datos ocupan cuatro bits.
De esta manera, en la forma de codificación mejorada, se pueden reducir las taras de un bit de indicación de los datos de control. Por ejemplo, si hay un ancho de banda de 1 Gbps, después de llevar a cabo una codificación según la manera de codificación de datos anterior, el ancho de banda de datos válido real es 1Gbps * (32/33) = 0.9846 Gbps. El ancho de banda válido es realmente mayor que el ancho de banda válido en la forma de codificación de datos correspondiente a la codificación 8B/9B.
Cabe señalar que el campo de datos también puede denominarse campo. Un campo de bandera ocupado por el segundo identificador de indicación también puede denominarse campo de mapa (MAP).
Como se muestra en la figura 9, para la descripción detallada de una solución proporcionada en otra realización de la presente invención se utiliza un ejemplo en el que la entidad de ejecución es un conmutador. Un procedimiento de procesamiento de un método de transmisión de datos puede incluir los siguientes pasos.
Paso 901. Un conmutador obtiene una pluralidad de flujos continuos de bloques de código.
En una de las implementaciones, se establece una subcapa de intercalado virtual entre una capa de MAC y una capa física. Después de recibir cualquier trama a través de la capa física de un puerto de entrada de Ethernet del conmutador, la trama se procesa a través de la capa física, se transmite a la subcapa de intercalado virtual del puerto de entrada de Ethernet y se desencapsula a través de la subcapa de intercalado virtual, para obtener un flujo continuo de bloques de código. Cada bloque de código del flujo continuo de bloques de código se corresponde con una ranura. Una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forma un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura en una secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a cada bloque de código en el flujo continuo de bloques de código. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código. A continuación, los bloques de código en la pluralidad de flujos continuos de bloques de código se descodifican según una manera preestablecida de descodificación de datos, para obtener una pluralidad de flujos continuos de datos de servicio. A continuación, la pluralidad de flujos continuos de datos de servicio se envía a la capa de MAC del puerto de entrada de Ethernet a través de la subcapa de intercalado virtual. El conmutador puede transmitir por separado la pluralidad de flujos continuos de datos de servicio a una capa de MAC de un puerto de salida de Ethernet a través de la capa de MAC del puerto de entrada de Ethernet. Después de recibir la pluralidad de flujos continuos de datos de servicio a través de la capa de MAC del puerto de salida de Ethernet, la pluralidad de flujos continuos de datos de servicio puede enviarse a la subcapa de intercalado virtual a través de la capa de MAC del puerto de salida de Ethernet. Los flujos continuos de datos de servicio recibidos se codifican por separado (en la realización mostrada en la figura 5 se describe una forma de codificación de datos) a través de la subcapa de intercalado virtual, para obtener una pluralidad de flujos continuos de bloques de código.
Alternativamente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de recibir cualquier trama a través de la capa física del puerto de entrada de Ethernet del conmutador, la trama se procesa a través de la capa física, se transmite a la subcapa de intercalado virtual y se desencapsula a través de la subcapa de intercalado virtual, para obtener un flujo continuo de bloques de código. Cada bloque de código en el flujo continuo de bloques de código mencionado se corresponde con una ranura. Una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forma un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura en una secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a cada bloque de código en el flujo continuo de bloques de código. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código. A continuación, la pluralidad de flujos continuos de bloques de código se envía a un módulo de conmutación en el conmutador a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet. El conmutador envía por separado, utilizando el módulo de conmutación, la pluralidad de flujos continuos de bloques de código a una subcapa de intercalado virtual de un puerto de salida de Ethernet correspondiente sobre la base de una correspondencia entre una ranura de un puerto de entrada de Ethernet y un puerto de salida de Ethernet. La pluralidad de flujos continuos de bloques de código se recibe a través de la subcapa de intercalado virtual del puerto de salida de Ethernet.
La subcapa de intercalado virtual se establece entre la capa de MAC y una capa de control de enlace. Después de que se reciba cualquier trama a través de la capa física del puerto de entrada de Ethernet del conmutador, la trama se transmite a la capa de MAC del puerto de entrada de Ethernet después de ser procesada a través de la capa física, y la trama se desencapsula a través de la capa de MAC, para obtener un flujo continuo de bloques de código. A continuación, el flujo continuo de bloques de código mencionado se envía a la subcapa de intercalado virtual del puerto de entrada de Ethernet a través de la capa de MAC. Una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forma un mismo flujo continuo de bloques de código a través de la subcapa de intercalado virtual sobre la base de la correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de la ranura correspondiente a bloques de código en el flujo continuo de bloques de código mencionado. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código. A continuación, la pluralidad de flujos continuos de bloques de código se envía a un módulo de conmutación en el conmutador a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet. El conmutador envía por separado, utilizando el módulo de conmutación, la pluralidad de flujos continuos de bloques de código a la subcapa de intercalado virtual del puerto de salida de Ethernet correspondiente sobre la base de una correspondencia entre una ranura de un puerto de entrada de Ethernet y un puerto de salida de Ethernet. La pluralidad de flujos continuos de bloques de código se recibe a través de la subcapa de intercalado virtual del puerto de salida de Ethernet.
Paso 902. El conmutador distribuye, sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, para formar un flujo continuo de bloques de código.
La secuencia de multiplexación preestablecida la puede preestablecer un experto en la materia y se puede almacenar en el anfitrión, y la secuencia de multiplexación preestablecida puede incluir N ranuras intercaladas. La secuencia de multiplexación preestablecida también puede denominarse secuencia de distribución preestablecida.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de obtener la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código pueden distribuirse a una ranura a la que pertenece el flujo continuo de bloques de código, y los bloques de código se distribuyen a una ranura correspondiente. De esta forma, se forma un flujo continuo de bloques de código, implementándose así la multiplexación por división de tiempo. A continuación, el flujo continuo de bloques de código mencionado se envía a la capa física a través de la subcapa de intercalado virtual.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de obtener la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código pueden distribuirse a una ranura a la que pertenece el flujo continuo de bloques de código, y los bloques de código se distribuyen a una ranura correspondiente. De esta forma, se forma un flujo continuo de bloques de código, implementándose así una multiplexación por división de tiempo. A continuación, el flujo continuo de bloques de código mencionado se envía a la capa de MAC a través de la subcapa de intercalado virtual.
Opcionalmente, con independencia de si la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, o si la subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace, los bloques de código de la pluralidad de flujos continuos de bloques de código pueden distribuirse por ranuras de dos formas.
Forma 1: Los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código se distribuyen a una ranura correspondiente sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código.
La secuencia de multiplexación preestablecida la puede preestablecer un experto en la materia, e incluye N ranuras, y cada ranura se corresponde con un flujo continuo de bloques de código.
En una de las implementaciones, después de obtener la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual del puerto de salida de Ethernet (debido a que no hay solo un puerto de entrada de Ethernet en un conmutador, a través del puerto de salida de Ethernet pueden recibirse una pluralidad de flujos continuos de bloques de código transmitidos a través de una pluralidad de puertos de entrada de Ethernet), los bloques de código en cada uno de la pluralidad de flujos continuos de bloques de código se envían a una ranura correspondiente a través de la subcapa de intercalado virtual sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación y un flujo continuo de bloques de código. De esta forma, la pluralidad de flujos continuos de bloques de código se distribuye para formar un flujo continuo de bloques de código, con el fin de implementar la multiplexación por división de tiempo.
Forma 2: Los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código obtenidos se distribuyen a una ranura correspondiente del puerto de salida de Ethernet sobre la base de una correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida, y sobre la base de una ranura del puerto de entrada de Ethernet de los bloques de código en la pluralidad de flujos continuos de bloques de código.
La secuencia de multiplexación preestablecida la puede preestablecer un experto en la materia e incluye N ranuras.
En una de las implementaciones, después de recibir la pluralidad de flujos continuos de bloques de código a través de la subcapa de intercalado virtual del puerto de salida de Ethernet (debido a que no hay solo un puerto de entrada de Ethernet en un conmutador, a través del puerto de salida de Ethernet pueden recibirse una pluralidad de flujos continuos de bloques de código transmitidos a través de una pluralidad de puertos de entrada de Ethernet), los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código se distribuyen a una ranura correspondiente del puerto de salida de Ethernet sobre la base de una correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida. De esta forma, la pluralidad de flujos continuos de bloques de código se distribuye para formar un flujo continuo de bloques de código, con el fin de implementar la multiplexación por división de tiempo.
Paso 903. El conmutador segmenta y encapsula el flujo continuo de bloques de código mencionado, para generar al menos una trama.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de obtener un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de salida de Ethernet, el flujo continuo de bloques de código mencionado se encapsula después de segmentarse a través de la subcapa de intercalado virtual, para generar al menos una trama. La trama también puede denominarse trama de Ethernet, y la trama también puede denominarse trama de VIS, o puede denominarse trama de multiplexación. La trama generada se lleva a la capa física para su procesamiento antes de su envío. Además, para evitar el desbordamiento de tramas, se puede insertar un espacio entre tramas entre dos tramas adyacentes a través de la subcapa de intercalado virtual, o se puede insertar un espacio entre paquetes.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de obtener un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de salida de Ethernet, el flujo continuo de bloques de código mencionado puede enviarse a la capa de MAC del puerto de salida de Ethernet a través de la subcapa de intercalado virtual. Después de recibir el flujo continuo de bloques de código mencionado a través de la capa de MAC, el flujo continuo de bloques de código mencionado se encapsula después de segmentarlo, para generar al menos una trama. La trama también puede denominarse trama de Ethernet, y la trama también puede denominarse trama de VIS, o puede denominarse trama de multiplexación. La trama generada se lleva a la capa física para su procesamiento antes de su envío. Además, para evitar el desbordamiento de tramas, se puede insertar un espacio entre tramas entre dos tramas adyacentes a través de la capa de MAC, o se puede insertar un espacio entre paquetes.
Opcionalmente, para un proceso de segmentación y encapsulación, consúltese el proceso de procesamiento de la realización que se muestra en la figura 5, y los detalles no se describen aquí de nuevo.
En las realizaciones que se muestran en la figura 5 y la figura 9, en un puerto de salida de Ethernet, el proceso de establecimiento de la subcapa de intercalado virtual entre la capa de MAC y la capa física o el proceso de establecimiento de la subcapa de intercalado virtual entre la capa de MAC y la capa de control de enlace no está relacionado con la inserción de la capa FlexE Shim en la PCS en la capa física, por lo que la multiplexación/desmultiplexación es irrelevante para la PCS en la capa física del puerto de salida de Ethernet, y la forma de codificación es irrelevante para el modo de modulación y codificación de la PCS en la capa física del puerto de salida de Ethernet. Por lo tanto, la universalidad es buena.
En las realizaciones de la presente invención, se obtiene la pluralidad de flujos continuos de bloques de código, y los bloques de código de la pluralidad de flujos continuos de bloques de código se distribuyen por ranuras sobre la base de la secuencia de multiplexación preestablecida, para formar el flujo continuo de bloques de código mencionado, y el flujo continuo de bloques de código mencionado se segmenta y encapsula, para generar la por lo menos una trama. De esta forma, cuando se envían datos a través del puerto de salida de Ethernet, la pluralidad de flujos continuos de bloques de código puede distribuirse por ranuras, para implementar una multiplexación por división de tiempo. La pluralidad de flujos continuos de bloques de código no influyen unos sobre los otros durante la transmisión y, por lo tanto, se reduce la duración de la espera para la transmisión del flujo continuo de bloques de código, reduciéndose así el retardo en una transmisión de datos. Con esto pueden satisfacerse los requisitos de servicio correspondientes a un servicio con un retardo de transmisión de datos relativamente alto en una Ethernet industrial.
Además, basándose en el mismo concepto técnico, una realización de la presente invención proporciona un método de transmisión de datos, aplicado a un puerto de entrada de Ethernet de alta velocidad o a un puerto de entrada de Ethernet de baja velocidad (en lo sucesivo, puerto de entrada de Ethernet). El método puede ser ejecutado por un conmutador o un anfitrión. El conmutador puede obtenerse renovando hardware en una capa física o una capa de MAC de un conmutador original, y el hardware en la capa física o la capa de MAC puede renovarse utilizando un chip nuevo o actualizando código nuevo en la capa física. De manera similar, el anfitrión puede obtenerse renovando hardware en una capa física o una capa de MAC de un adaptador de red original en el anfitrión, y el hardware en la capa física o la capa de MAC puede renovarse usando un chip nuevo o actualizando código nuevo en la capa física.
Como se muestra en la figura 1 (a), se renueva el hardware en una capa física de un adaptador de red en un anfitrión, de modo que las capas de un puerto de entrada de Ethernet del anfitrión pueden clasificarse en una capa de control de enlace, una capa de control de MAC, una capa de MAC, una subcapa de intercalado virtual y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual debajo de la capa de MAC y encima de la capa física de las capas originales. Alternativamente, como se muestra en la figura 1 (b), se renueva el hardware en una capa de MAC de un adaptador de red en un anfitrión, y las capas de un puerto de entrada de Ethernet del anfitrión pueden clasificarse en una capa de control de enlace, una capa de control de MAC, una subcapa de intercalado virtual, una capa de MAC y una capa física de arriba abajo. Esto es equivalente a añadir la subcapa de intercalado virtual por debajo de la capa de control de enlace y por encima de la capa de MAC de las capas originales.
Como se muestra en la figura 2(a), se renueva el hardware en una capa física de un conmutador, de modo que las capas de Ethernet de un puerto de entrada de Ethernet del conmutador se pueden clasificar en una capa de MAC, una subcapa de intercalado virtual y una capa física de arriba abajo. Se renueva el hardware en la capa de MAC del conmutador, de modo que las capas de Ethernet del puerto de entrada de Ethernet se pueden clasificar en la subcapa de intercalado virtual, la capa de MAC y la capa física de arriba abajo. Alternativamente, como se muestra en la figura 2(b), se renueva el hardware en una capa de MAC de un conmutador, de modo que las capas de un puerto de entrada de Ethernet del conmutador pueden clasificarse en una subcapa de intercalado virtual, una capa de MAC y una capa física de arriba abajo.
Además, la subcapa de intercalado virtual también puede denominarse capa de multiplexación.
Como se muestra en la figura 10, para la descripción detallada de una solución proporcionada en otra realización de la presente invención se utiliza un ejemplo en el que la entidad de ejecución es un anfitrión. Un procedimiento de procesamiento de un método de transmisión de datos puede incluir los siguientes pasos.
Paso 1001. Un anfitrión recibe al menos una trama.
En una de las implementaciones, se establece una subcapa de intercalado virtual entre una capa de MAC y una capa física. Después de recibir al menos una trama a través de la capa física de un puerto de entrada de Ethernet del anfitrión, la por lo menos una trama se procesa a través de la capa física y a continuación se transmite a la subcapa de intercalado virtual del puerto de entrada de Ethernet.
La subcapa de intercalado virtual se establece entre la capa de MAC y una capa de control de enlace. Después de recibir al menos una trama a través de la capa física del puerto de entrada de Ethernet del anfitrión, la por lo menos una trama se procesa a través de la capa física, y la por lo menos una trama se transmite a la capa de MAC del puerto de entrada de Ethernet.
Paso 1002: El anfitrión desencapsula cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de recibir al menos una trama a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, cada una de la por lo menos una trama se desencapsula, para obtener un flujo continuo de bloques de código. Este proceso es un proceso inverso al paso 503 de la realización mostrada en la figura 5. Además, si existe un espacio entre tramas para tramas adyacentes, el espacio entre tramas se elimina de la trama antes de que se desencapsule la trama.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de recibir al menos una trama a través de la capa de MAC del puerto de entrada de Ethernet, cada una de la por lo menos una trama se desencapsula, para obtener un flujo continuo de bloques de código. El flujo continuo de bloques de código mencionado se transmite a la subcapa de intercalado virtual del puerto de entrada de Ethernet. Este proceso es un proceso inverso al paso 503 de la realización que se muestra en la figura 5.
Paso 1003. El anfitrión, basándose en una secuencia de multiplexación preestablecida, lleva a cabo una desmultiplexación para el flujo continuo de bloques de código mencionado, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de que se obtenga un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forman un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura de la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a cada bloque de código en un flujo continuo de bloques de código. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código, y a continuación la pluralidad de flujos continuos de bloques de código obtenidos se transmite a la capa de MAC a través de la subcapa de intercalado virtual. La pluralidad de flujos continuos de bloques de código se transmite a la capa de control de enlace para su procesamiento después de ser procesados a través de la capa de MAC.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de que se reciba un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forman un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura de la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a cada bloque de código de un flujo continuo de bloques de código. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código, y a continuación la pluralidad de flujos continuos de bloques de código obtenidos se transmite a la capa de control de enlace a través de la subcapa de intercalado virtual para su procesamiento.
Opcionalmente, en el paso 1003, después de obtener la pluralidad de flujos continuos de bloques de código, los bloques de código de la pluralidad de flujos continuos de bloques de código pueden descodificarse antes de su envío. El procesamiento correspondiente puede ser el siguiente:
descodificar cada bloque de código de la pluralidad de flujos continuos de bloques de código según una manera preestablecida de descodificación de datos.
La forma de descodificación de datos preestablecida la puede preestablecer un experto en la materia, y puede corresponderse con la forma de codificación de datos descrita en la realización que se muestra en la figura 5.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, y los bloques de código de la pluralidad de flujos continuos de bloques de código obtenidos se descodifican según la forma de descodificación de datos preestablecida a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, para obtener una pluralidad de flujos continuos de datos de servicio. La pluralidad de flujos continuos de datos de servicio se transmite a la capa de MAC. Después de que la pluralidad de flujos continuos de datos de servicio se procese a través de la capa de MAC, la pluralidad de flujos continuos de datos de servicio obtenidos se transmite a la capa de control de enlace para su procesamiento.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace, y los bloques de código de la pluralidad de flujos continuos de bloques de código obtenidos se descodifican según una manera preestablecida de descodificación de datos a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, para obtener una pluralidad de flujos continuos de datos de servicio. La pluralidad de flujos continuos de datos de servicio obtenidos se transmite a la capa de control de enlace para su procesamiento.
Opcionalmente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, y la trama se puede desencapsular de la siguiente manera. El procesamiento correspondiente del paso 1002 puede ser el siguiente:
eliminar un campo de encabezamiento de trama y un campo de cola de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; o eliminar un campo de encabezamiento de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
En una de las implementaciones, si cualquier trama de la por lo menos una trama incluye un campo de encabezamiento de trama y un campo de cola de trama, el campo de encabezamiento de trama y el campo de cola de trama se eliminan de la trama a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, para obtener un flujo continuo de bloques de código. Si cualquier trama de la por lo menos una trama incluye solo un campo de encabezamiento de trama, el campo de encabezamiento de trama se elimina de la trama a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, para obtener un flujo continuo de bloques de código.
Opcionalmente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace, y la trama se puede desencapsular de la siguiente manera. El procesamiento correspondiente del paso 1302 puede ser el siguiente:
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado; o eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado.
En una de las implementaciones, si cualquier trama de la por lo menos una trama incluye un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama, el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y el campo de cola de trama se eliminan de la trama a través de la capa de MAC del puerto de entrada de Ethernet, para obtener un flujo continuo de bloques de código. Si cualquier trama de la por lo menos una trama incluye solo un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet, el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen y el campo de tipo Ethernet se eliminan de la trama a través de la capa de MAC del puerto de entrada de Ethernet, para obtener un flujo continuo de bloques de código.
Como se muestra en la fig. 11, para la descripción detallada de una solución proporcionada en otra realización de la presente invención se utiliza un ejemplo en el que la entidad de ejecución es un conmutador. Un procedimiento de procesamiento de un método de transmisión de datos puede incluir los siguientes pasos.
Paso 1101. Un conmutador recibe al menos una trama.
En una de las implementaciones, se establece una subcapa de intercalado virtual entre una capa de MAC y una capa física. Después de recibir al menos una trama a través de la capa física de un puerto de entrada de Ethernet del conmutador, la por lo menos una trama se procesa a través de la capa física, y se transmite a la subcapa de intercalado virtual del puerto de entrada de Ethernet.
La subcapa de intercalado virtual se establece entre la capa de MAC y una capa de control de enlace. Después de recibir al menos una trama a través de la capa física del puerto de entrada de Ethernet del conmutador, la por lo menos una trama se procesa a través de la capa física, y se transmite a la capa de MAC del puerto de entrada de Ethernet.
Paso 1102: El conmutador desencapsula cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de recibir al menos una trama a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, cada una de la por lo menos una trama se desencapsula, para obtener un flujo continuo de bloques de código. Este proceso es un proceso inverso al paso 903 de la realización que se muestra en la figura 9.
La subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de recibir al menos una trama a través de la capa de MAC del puerto de entrada de Ethernet, cada una de la por lo menos una trama se desencapsula, para obtener un flujo continuo de bloques de código. El flujo continuo de bloques de código mencionado se transmite a la subcapa de intercalado virtual del puerto de entrada de Ethernet. Este proceso es un proceso inverso al paso 903 de la realización que se muestra en la figura 9.
Además, para el procesamiento de desencapsulación, consúltese la descripción de la realización que se muestra en la figura 11.
Paso 1103. El conmutador, basándose en una secuencia de multiplexación preestablecida, lleva a cabo una desmultiplexación para el flujo continuo de bloques de código mencionado, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
En una de las implementaciones, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, o la subcapa de intercalado virtual se establece entre la capa de MAC y la capa de control de enlace. Después de obtener un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forman un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura de la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a bloques de código de un flujo continuo de bloques de código. De esta forma, se obtienen una pluralidad de flujos continuos de bloques de código, y a continuación la pluralidad de flujos continuos de bloques de código obtenidos se transmite a un módulo de conmutación en el conmutador a través de la subcapa de intercalado virtual. El conmutador transmite por separado, utilizando el módulo de conmutación, la pluralidad de flujos continuos de bloques de código obtenidos a puertos de salida de Ethernet correspondientes basándose en una correspondencia entre una ranura de un puerto de entrada de Ethernet y una ranura de un puerto de salida de Ethernet.
Alternativamente, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física. Después de obtener un flujo continuo de bloques de código a través de la subcapa de intercalado virtual del puerto de entrada de Ethernet, una pluralidad de bloques de código en una ranura correspondiente a un mismo flujo continuo de codificación forman un mismo flujo continuo de bloques de código sobre la base de una correspondencia entre una ranura de la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, y sobre la base de una ranura correspondiente a bloques de código de un flujo continuo de bloques de código. De esta manera, se obtienen una pluralidad de flujos continuos de bloques de código, y a continuación los bloques de código de la pluralidad de flujos continuos de bloques de código obtenidos se descodifican según una manera preestablecida de descodificación de datos a través de la subcapa de intercalado virtual, para obtener una pluralidad de flujos continuos de datos de servicio. A continuación, la pluralidad de flujos continuos de datos de servicio se envía a un módulo de conmutación en el conmutador. El conmutador envía por separado, usando el módulo de conmutación, la pluralidad de flujos continuos de bloques de código obtenidos a puertos de salida de Ethernet correspondientes sobre la base de una correspondencia entre una ranura de un puerto de entrada de Ethernet y una ranura de un puerto de salida de Ethernet.
Cabe señalar que en las realizaciones anteriores, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, y la capa de MAC envía el flujo continuo de bloques de código o el flujo continuo de datos de servicio a la subcapa de intercalado virtual a través de una interfaz independiente de los medios (Interfaz Independiente de los Medios, MII) x. La interfaz independiente de los medios x es un término general para interfaces MII que son de varias versiones y que tienen varias velocidades de los puertos de Ethernet.
En las realizaciones que se muestran en la figura 10 y la figura 11, en un puerto de entrada de Ethernet, la subcapa de intercalado virtual se establece entre la capa de MAC y la capa física, o la subcapa de intercalado virtual se establece entre la capa de MAC y capa de control de enlace, de modo que la forma de codificación de datos es irrelevante con respecto al modo de modulación y codificación de la PCS en la capa física del puerto de salida de Ethernet. Por lo tanto, la universalidad es buena.
En las realizaciones de la presente invención, se obtiene la pluralidad de flujos continuos de bloques de código, y los bloques de código de la pluralidad de flujos continuos de bloques de código se distribuyen por ranuras sobre la base de la secuencia de multiplexación preestablecida, para formar el flujo continuo de bloques de código mencionado, y el flujo continuo de bloques de código mencionado se segmenta y encapsula, para generar la por lo menos una trama.
De esta forma, cuando se envían datos a través del puerto de salida de Ethernet, la pluralidad de flujos continuos de bloques de código puede distribuirse por ranuras, para implementar una multiplexación por división de tiempo. La pluralidad de flujos continuos de bloques de código no influyen unos sobre otros durante la transmisión y, por lo tanto, se reduce la duración de la espera para la transmisión del flujo continuo de bloques de código, reduciéndose así el retardo en una transmisión de datos. Con esto pueden satisfacerse los requisitos de servicio correspondientes a un servicio con un retardo de transmisión de datos relativamente alto en una Ethernet industrial.
La figura 12 es un diagrama estructural de un aparato de transmisión de datos según una realización de la presente invención. El aparato puede implementarse como parte o la totalidad de un aparato usando software, hardware o una combinación de software y hardware. El aparato proporcionado en esta realización de la presente invención puede implementar los procedimientos mostrados en la figura 5 y la figura 9 de las realizaciones de la presente invención. El aparato incluye: un módulo 1210 de obtención, un módulo 1220 de distribución y un módulo 1230 de encapsulación. El módulo 1210 de obtención está configurado para obtener una pluralidad de flujos continuos de bloques de código, y está específicamente configurado para implementar las funciones de obtención en el paso 501, el paso 901, el paso 1001 y el paso 1101 anteriores y otros pasos implícitos.
El módulo 1220 de distribución está configurado para distribuir, sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, con el fin de formar un flujo continuo de bloques de código, y está específicamente configurado para implementar las funciones de distribución en el paso 502, el paso 902, el paso 1002 y el paso 1102 anteriores, y otros pasos implícitos.
El módulo 1230 de encapsulación está configurado para segmentar y encapsular el flujo continuo de bloques de código mencionado, con el fin de generar al menos una trama, y está específicamente configurado para implementar las funciones de encapsulación en el paso 503, el paso 903, el paso 1003 y el paso 1103 anteriores, y otros pasos implícitos.
Opcionalmente, el módulo 1220 de distribución está configurado para:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente, donde cada secuencia de multiplexación incluye N ranuras, y N es un número entero positivo.
Opcionalmente, el módulo 1220 de distribución está configurado para:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código, los bloques de código de cada una de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente.
Opcionalmente, el módulo 1210 de obtención está configurado para:
recibir un flujo continuo de datos de servicio; y
codificar, según una manera preestablecida de codificación de datos, el flujo continuo de datos de servicio mencionado, para obtener uno cualquiera de la pluralidad de flujos continuos de bloques de código.
Opcionalmente, el módulo 1210 de obtención está configurado para:
recibir al menos un flujo continuo de datos de servicio y al menos un flujo continuo de bloques de código; codificar cada flujo continuo de datos de servicio según una manera preestablecida de codificación de datos, con el fin de obtener al menos un flujo continuo de bloques de código; y
obtener al menos un flujo continuo de bloques de código obtenido por codificación y al menos un flujo continuo de bloques de código recibido.
Opcionalmente, el módulo 1210 de obtención está configurado para:
recibir una pluralidad de flujos continuos de datos de servicio; y
codificar cada flujo continuo de datos de servicio según una manera preestablecida de codificación de datos, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
Opcionalmente, el módulo 1210 de obtención está configurado para:
para cada flujo continuo de datos de servicio, codificar el flujo continuo de datos de servicio en un bloque de código que incluye cuatro campos de datos, y establecer un primer identificador de indicación para cada bloque de código del bloque de código, donde el primer identificador de indicación tiene un primer estado o un segundo estado, el primer estado se usa para indicar que la totalidad de los cuatro campos de datos del bloque de código son datos de servicio, y el segundo estado se usa para indicar que al menos uno de los cuatro campos de datos en el bloque de código son datos de control; y establecer además un segundo identificador de indicación de un bloque de código, siendo al menos uno de sus cuatro campos de datos los datos de control, y el segundo identificador de indicación se usa para indicar una ubicación de los datos de servicio y los datos de control en el bloque de código.
Opcionalmente, la forma de codificación de datos preestablecida es una cualquiera de una codificación 8B/9B, una codificación 64B/66B y una codificación 256B/257B.
Opcionalmente, el aparato se aplica a un puerto de salida de Ethernet de un conmutador; y
el módulo 1210 de obtención está configurado para:
obtener una pluralidad de flujos continuos de bloques de código desde un puerto de entrada de Ethernet del conmutador; y
el módulo 1220 de distribución está configurado para:
distribuir, sobre la base de una correspondencia entre una ranura de un puerto de salida de Ethernet y una ranura de un puerto de entrada de Ethernet en la secuencia de multiplexación preestablecida, y sobre la base de una ranura del puerto de entrada de Ethernet de los bloques de código de la pluralidad de flujos continuos de bloques de código, bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código obtenidos a una ranura correspondiente del puerto de salida de Ethernet, donde cada secuencia de multiplexación incluye N ranuras, y N es un número entero positivo.
Opcionalmente, el módulo 1230 de encapsulación está configurado para:
segmentar y encapsular el flujo continuo de bloques de código mencionado sobre la base de una longitud de trama preestablecida, con el fin de generar la por lo menos una trama.
Opcionalmente, el módulo 1230 de encapsulación está configurado para:
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama en cada segmento, para generar al menos una trama; o
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama y un campo de cola de trama en cada segmento, para generar al menos una trama.
Opcionalmente, un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, y una primera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras; o
un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, una primera cantidad preestablecida de secuencias de multiplexación y el campo de cola de trama, y cada secuencia de multiplexación incluye una segunda cantidad preestablecida de ranuras.
Opcionalmente, el aparato se aplica a un puerto de salida de Ethernet; y
el módulo 1230 de encapsulación está configurado para:
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet en cada segmento, para generar al menos una trama, donde la dirección de MAC de destino es cualquier dirección de MAC, y la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet; o
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama en cada segmento, para generar al menos una trama, donde la dirección de MAC de destino es cualquier dirección de MAC y la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet.
Opcionalmente, un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y una tercera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras; o
un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet, una tercera cantidad preestablecida de secuencias de multiplexación y el campo de cola de trama, y cada secuencia de multiplexación incluye una cuarta cantidad preestablecida de ranuras.
Opcionalmente, el campo de encabezamiento de trama es un preámbulo, y el campo de cola de trama es un campo de comprobación de redundancia cíclica CRC.
Cabe señalar que el módulo 1210 de obtención, el módulo 1220 de distribución y el módulo 1230 de encapsulación pueden ser implementados por el procesador 302 ó 402.
La figura 13 es un diagrama estructural de un aparato de transmisión de datos según una realización de la presente invención. El aparato puede implementarse como parte o la totalidad de un aparato usando software, hardware o una combinación de software y hardware. El aparato proporcionado en esta realización de la presente invención puede implementar los procedimientos mostrados en la figura 10 y la figura 11 de las realizaciones de la presente invención. El aparato incluye: un módulo 1310 de recepción, un módulo 1320 de desencapsulación y un módulo 1330 de desencapsulación.
El módulo 1310 de recepción está configurado para recibir al menos una trama.
El módulo 1320 de desencapsulación está configurado para desencapsular cada una de la por lo menos una trama, con el fin de obtener un flujo continuo de bloques de código.
El módulo 1330 de desmultiplexación está configurado para llevar a cabo, sobre la base de una secuencia de multiplexación preestablecida, la desmultiplexación para el flujo continuo de bloques de código mencionado, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
Opcionalmente, como se muestra en la figura 14, el aparato incluye además:
un módulo 1340 de descodificación, configurado para descodificar cada bloque de código de la pluralidad de flujos continuos de bloques de código según una forma de descodificación de datos preestablecida.
Opcionalmente, el módulo 1320 de desmultiplexación está configurado para:
eliminar un campo de encabezamiento de trama y un campo de cola de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; o
eliminar un campo de encabezamiento de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
Opcionalmente, el módulo 1320 de desmultiplexación está configurado para:
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; o
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código.
Cabe señalar que el módulo 1310 de recepción, el módulo 1320 de desencapsulación y el módulo 1330 de desencapsulación pueden ser implementados por el procesador 302 ó 402.
La totalidad o algunas de las realizaciones anteriores pueden implementarse utilizando software, hardware, firmware o cualquier combinación de los mismos. Cuando el software se usa para la implementación, la totalidad o algunas de las realizaciones pueden implementarse en forma de un producto de programa informático. El producto de programa informático incluye una o más instrucciones informáticas. Cuando las instrucciones del programa informático se cargan y ejecutan en un anfitrión, se generan en su totalidad o parcialmente los procedimientos o funciones según las realizaciones de la presente invención. Las instrucciones informáticas pueden almacenarse en un soporte de almacenamiento legible por ordenador o pueden transmitirse desde un soporte de almacenamiento legible por ordenador a otro soporte de almacenamiento legible por ordenador. Por ejemplo, las instrucciones informáticas pueden transmitirse desde un sitio web, un ordenador, un servidor o un centro de datos a otro sitio web, ordenador, servidor o centro de datos de una forma por cable (por ejemplo, un cable óptico coaxial, una fibra óptica o una línea de abonado digital) o inalámbrica (por ejemplo, infrarrojos, radiocomunicaciones y microondas, o similares). El soporte de almacenamiento legible por ordenador puede ser cualquier soporte utilizable accesible por un anfitrión, o un dispositivo de almacenamiento de datos, tal como un servidor o un centro de datos, que integre uno o más soportes utilizables. El soporte utilizable puede ser un soporte magnético (por ejemplo, un disquete, un disco duro y una cinta magnética), un soporte óptico (por ejemplo, un disco de vídeo digital (Disco de Vídeo Digital, DVD)) o un soporte de semiconductores (por ejemplo, una unidad de estado sólido).
Las descripciones anteriores son simplemente implementaciones específicas de esta solicitud, pero no pretenden limitar esta última.

Claims (15)

REIVINDICACIONES
1. Método de transmisión de datos, en el que el método comprende:
obtener (501,901) una pluralidad de flujos continuos de bloques de código;
distribuir (502, 902), sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, para formar un flujo continuo de bloques de código; y
segmentar y encapsular (503, 903) el flujo continuo de bloques de código mencionado, para generar al menos una trama.
2. Método de acuerdo con la reivindicación 1, en el que la distribución (502, 902), basada en una secuencia de multiplexación preestablecida, de bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras comprende:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente, en donde cada secuencia de multiplexación comprende N ranuras, y N es un entero positivo.
3. Método según la reivindicación 2, en el que la distribución (502, 902), basada en una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, de los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente comprende:
distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código, los bloques de código de cada una de la pluralidad de flujos continuos de bloques de código a la ranura correspondiente.
4. Método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en el que la segmentación y encapsulación (503, 903) del flujo continuo de bloques de código mencionado para generar la por lo menos una trama comprende:
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama en cada segmento, para generar la por lo menos una trama; o
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama y un campo de cola de trama en cada segmento, para generar la por lo menos una trama.
5. Método de acuerdo con la reivindicación 4, en el que un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, y una primera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación comprende una segunda cantidad preestablecida de ranuras; o
un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, una primera cantidad preestablecida de secuencias de multiplexación y el campo de cola de trama, y cada secuencia de multiplexación comprende una segunda cantidad preestablecida de ranuras.
6. Método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, en el que el método se aplica al puerto de salida de Ethernet; y
la segmentación y encapsulación (503, 903) del flujo continuo de bloques de código mencionado, para generar al menos una trama comprende:
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet en cada segmento, para generar la por lo menos una trama, en donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet, y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet; o
segmentar el flujo continuo de bloques de código mencionado, e insertar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama en cada segmento, para generar la por lo menos una trama, en donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet.
7. Método de acuerdo con la reivindicación 6, en el que un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet y una tercera cantidad preestablecida de secuencias de multiplexación, y cada secuencia de multiplexación comprende una cuarta cantidad preestablecida de ranuras; o
un formato de trama correspondiente a una trama de la por lo menos una trama es el campo de encabezamiento de trama, la dirección de MAC de destino, la dirección de MAC de origen, el campo de tipo Ethernet, una tercera cantidad preestablecida de secuencias de multiplexación y el campo de cola de trama, y cada secuencia de multiplexación comprende una cuarta cantidad preestablecida de ranuras.
8. Método de acuerdo con una cualquiera de las reivindicaciones 4 a 7, en el que el campo de encabezamiento de trama es un preámbulo, y el campo de cola de trama es un campo de comprobación de redundancia cíclica CRC.
9. Método de transmisión de datos, en el que el método comprende:
recibir (1001, 1101) al menos una trama;
desencapsular (1002, 1102) cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código; y
llevar a cabo una desmultiplexación (1003, 1103) para el flujo continuo de bloques de código mencionado sobre la base de una secuencia de multiplexación preestablecida, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
10. Método de acuerdo con la reivindicación 9, en el que la desencapsulación (1002, 1102) de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código comprende:
eliminar un campo de encabezamiento de trama y un campo de cola de trama de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado; o
eliminar un campo de encabezamiento de trama de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado.
11. Método de acuerdo con la reivindicación 9, en el que la desencapsulación (1002, 1102) de cada una de la por lo menos una trama, para obtener un flujo continuo de bloques de código comprende:
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen, un campo de tipo Ethernet y un campo de cola de trama de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado, en donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet, y el campo de tipo Ethernet se usa para identificar que la trama es una trama de tipo Ethernet; o
eliminar un campo de encabezamiento de trama, una dirección de MAC de destino, una dirección de MAC de origen y un campo de tipo Ethernet de cada una de la por lo menos una trama, para obtener el flujo continuo de bloques de código mencionado, en donde la dirección de MAC de destino es cualquier dirección de MAC, la dirección de MAC de origen es una dirección de MAC del puerto de salida de Ethernet y el campo de tipo Ethernet se utiliza para identificar que la trama es una trama de tipo Ethernet.
12. Aparato de transmisión de datos, en el que el aparato comprende un procesador (302, 402), y
el procesador (302, 402) está configurado para obtener una pluralidad de flujos continuos de bloques de código; el procesador (302, 402) está configurado para distribuir, sobre la base de una secuencia de multiplexación preestablecida, bloques de código de la pluralidad de flujos continuos de bloques de código por ranuras, con el fin de formar un flujo continuo de bloques de código; y
el procesador (302, 402) está configurado para segmentar y encapsular el flujo continuo de bloques de código mencionado, con el fin de generar al menos una trama.
13. Aparato de acuerdo con la reivindicación 12, en el que el procesador (302, 402) está configurado para: distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y un flujo continuo de bloques de código, los bloques de código de cada uno de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente, en donde cada secuencia de multiplexación comprende N ranuras, y N es un entero positivo.
14. Aparato de acuerdo con la reivindicación 13, en el que el procesador (302, 402) está configurado para: distribuir, sobre la base de una correspondencia entre una ranura en la secuencia de multiplexación preestablecida y una interfaz de obtención, y sobre la base de una interfaz de obtención de la pluralidad de flujos continuos de bloques de código, los bloques de código de cada una de la pluralidad de flujos continuos de bloques de código a una ranura correspondiente.
15. Aparato de transmisión de datos, en el que el aparato comprende un procesador (302, 402), y
el procesador está configurado para recibir al menos una trama;
el procesador está configurado para desencapsular cada una de la por lo menos una trama, con el fin de obtener un flujo continuo de bloques de código; y
el procesador está configurado para llevar a cabo una desmultiplexación para el flujo continuo de bloques de código mencionado sobre la base de una secuencia de multiplexación preestablecida, con el fin de obtener una pluralidad de flujos continuos de bloques de código.
ES18871287T 2017-10-23 2018-10-22 Método y aparato para transmitir datos Active ES2908604T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710993282.3A CN109698732B (zh) 2017-10-23 2017-10-23 传输数据的方法和装置
PCT/CN2018/111272 WO2019080813A1 (zh) 2017-10-23 2018-10-22 传输数据的方法和装置

Publications (1)

Publication Number Publication Date
ES2908604T3 true ES2908604T3 (es) 2022-05-03

Family

ID=66225876

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18871287T Active ES2908604T3 (es) 2017-10-23 2018-10-22 Método y aparato para transmitir datos

Country Status (6)

Country Link
US (1) US11516322B2 (es)
EP (1) EP3691194B1 (es)
JP (1) JP7142693B2 (es)
CN (1) CN109698732B (es)
ES (1) ES2908604T3 (es)
WO (1) WO2019080813A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858811B (zh) * 2018-08-24 2022-01-18 华为技术有限公司 测量时延的方法和网络设备
CN111600820B (zh) * 2019-08-28 2021-03-30 青岛鼎信通讯股份有限公司 一种基于MFSK调制和Chirp扩频技术的物理层发射信号产生方法
CN112468259B (zh) * 2019-09-09 2023-12-15 华为技术有限公司 一种通信方法、设备及存储介质
CN112887054B (zh) * 2019-11-29 2023-11-21 厦门雅迅网络股份有限公司 一种基于长度转义的数据流封包方法、解包方法及系统
WO2022037090A1 (zh) * 2020-08-17 2022-02-24 华为技术有限公司 一种接口、数据处理方法、装置及网络设备
US20230328587A1 (en) * 2022-04-08 2023-10-12 EdgeQ, Inc Multi-technology multi-user implementation for lower mac protocol processing

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347089B1 (en) * 1997-07-02 2002-02-12 Advanced Communication Devices Corp. Simplified ethernet frame switching system architecture without local buffer requirement
US6763025B2 (en) 2001-03-12 2004-07-13 Advent Networks, Inc. Time division multiplexing over broadband modulation method and apparatus
JP3522247B2 (ja) * 2001-09-26 2004-04-26 日本電気株式会社 多重転送システム及び装置
JP3690516B2 (ja) * 2001-12-18 2005-08-31 日本電気株式会社 多重伝送方法、装置、およびシステム
JP3876414B2 (ja) * 2002-09-27 2007-01-31 富士通アクセス株式会社 データ伝送方法及びデータ伝送装置
EP1654819B1 (en) 2003-08-15 2013-05-15 Napatech A/S A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network
EP1733495A4 (en) * 2003-10-24 2010-08-04 Qualcomm Inc TRANSMISSION OF OVERHEAD INFORMATION FOR RECEIVING MULTIPLE DATA STREAMS
US7321597B2 (en) * 2004-03-18 2008-01-22 Jeknouus, Inc. Method and apparatus for remote network management over ethernet connections
CN1691666B (zh) * 2004-04-21 2010-04-14 华为技术有限公司 多协议通用线路传输方法及其装置
CN1747606B (zh) * 2004-09-09 2011-02-09 华为技术有限公司 业务数据传输方法及装置
CN100477642C (zh) * 2005-05-31 2009-04-08 杭州华三通信技术有限公司 以太网接入装置及其接入方法
JP4852963B2 (ja) * 2005-10-14 2012-01-11 株式会社日立製作所 伝送装置
US7839948B2 (en) 2005-12-02 2010-11-23 Qualcomm Incorporated Time slicing techniques for variable data rate encoding
US8638714B2 (en) * 2006-01-04 2014-01-28 Qualcomm Incorporated Fast channel switching in a multimedia broadcast system
US7787502B1 (en) * 2006-06-30 2010-08-31 Cortina Systems Inc. Port multiplexing apparatus and methods
CN101321293B (zh) * 2007-06-06 2010-08-18 中兴通讯股份有限公司 一种实现多路节目复用的装置和方法
CN100568842C (zh) * 2007-08-15 2009-12-09 中兴通讯股份有限公司 一种在同步数字传送网络中处理以太网业务的装置和方法
CN101399823B (zh) * 2007-09-29 2011-11-02 华为技术有限公司 编码块格式转换的方法和用于编码块格式转换的装置
CN101222290B (zh) * 2007-11-09 2013-01-02 北京创毅视讯科技有限公司 一种广播系统中的数据传输方法、发射系统和终端
CN101237403B (zh) * 2008-03-04 2011-12-28 中兴通讯股份有限公司 用于以太网的业务复用方法
US8780821B2 (en) * 2009-02-20 2014-07-15 Qualcomm Incorporated Channel interleaver for transmission of multiple code blocks in a wireless communication system
CN101815229A (zh) * 2009-02-25 2010-08-25 华为技术有限公司 一种业务适配的方法和业务适配装置
CN102025448B (zh) * 2010-11-18 2013-11-06 华为技术有限公司 通用公共无线接口业务发送、接收方法及装置
US20120251085A1 (en) * 2011-03-31 2012-10-04 Hown Cheng Video multiplexing
EP2928101B1 (en) * 2012-12-18 2017-09-13 Huawei Technologies Co., Ltd. Communication method, system and device for optical network system
CN103118143B (zh) * 2013-01-22 2015-07-08 北京傲天动联技术股份有限公司 串行接口和以太网接口的复用电路
CN103885919B (zh) * 2014-03-20 2017-01-04 北京航空航天大学 一种多dsp和fpga并行处理系统及实现方法
CN106301659B (zh) * 2015-06-05 2018-05-15 华东师范大学 一种磁共振多通道数字传输系统及其数据传输方法
US9838290B2 (en) * 2015-06-30 2017-12-05 Ciena Corporation Flexible ethernet operations, administration, and maintenance systems and methods
CN110719143A (zh) * 2015-07-30 2020-01-21 华为技术有限公司 用于数据传输的方法、发送机和接收机
CN107566075B (zh) * 2016-07-01 2019-10-25 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统
CN109600188B (zh) * 2017-09-30 2020-04-28 华为技术有限公司 数据传输方法、传输设备和传输系统

Also Published As

Publication number Publication date
EP3691194A1 (en) 2020-08-05
US20200252488A1 (en) 2020-08-06
CN109698732B (zh) 2021-07-09
WO2019080813A1 (zh) 2019-05-02
CN109698732A (zh) 2019-04-30
JP2021500808A (ja) 2021-01-07
EP3691194B1 (en) 2022-01-26
EP3691194A4 (en) 2020-11-18
JP7142693B2 (ja) 2022-09-27
US11516322B2 (en) 2022-11-29

Similar Documents

Publication Publication Date Title
ES2908604T3 (es) Método y aparato para transmitir datos
US11444798B2 (en) Methods and apparatus for configuring a flex ethernet node
JP6666051B2 (ja) データ伝送方法、デバイスおよびシステム
ES2956862T3 (es) Método y aparato de transmisión de datos
CN112688754B (zh) 基于灵活以太网FlexE传输业务流的方法和装置
ES2368343T3 (es) Método y aparatos para transmitir mensajes.
WO2019019906A1 (zh) 一种通信方法、设备及存储介质
US20090274172A1 (en) Method and apparatus for distributing and receiving high-speed ethernet media independent interface blocks
US7684419B2 (en) Ethernet encapsulation over optical transport network
JP2013009392A (ja) マルチキャストルーティングのための方法および装置
ES2821652T3 (es) Procedimiento de transmisión de datos y dispositivo de reenvío
US11438098B2 (en) Data transmission method, sending apparatus, and receiving apparatus
JP7027788B2 (ja) 伝送装置、伝送方法および処理装置
US11251905B2 (en) Method for receiving code block stream, method for transmitting code block stream, and communications apparatus
KR102509386B1 (ko) 플렉서블 이더넷 통신 방법 및 네트워크 디바이스
JP2023523982A (ja) サービス処理方法および装置およびデバイス
EP3873029A1 (en) Port configuration detection method, terminal, and computer-readable storage medium
JP7192195B2 (ja) コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置
WO2023141777A1 (zh) 通信方法及网络设备
CN114598422A (zh) 以太网数据发送、接收方法、装置、设备及存储介质
CN113938329A (zh) 接口、电子设备和通信系统
CN111278059A (zh) 一种报文转发方法和装置