# Conmutación (redes de comunicación)

La conmutación, también conocida como encaminamiento, es un mecanismo esencial en las redes de comunicaciones que permite la entrega de datos cuando el origen y el destino no están directamente conectados. Consiste en establecer una vía o camino de extremo a extremo entre dos puntos, un emisor (Tx) y un receptor (Rx), a través de nodos o equipos de transmisión.
En las redes conectadas que incluyen dispositivos de interconexión, estos elementos desempeñan un papel fundamental. Reciben los datos, los almacenan, los analizan y los envían al siguiente dispositivo de interconexión más cercano al destino. Esta acción de conmutación o encaminamiento garantiza la entrega de la señal desde el origen hasta el destino requerido.
La conmutación se refiere al proceso de establecer y mantener conexiones entre diferentes dispositivos de red para permitir la transmisión de datos. En las redes, se utilizan dos formas principales de conmutación: la conmutación de circuitos y la conmutación de paquetes.

## Conmutación de circuitos

En la conmutación de circuitos los equipos de conmutación deben establecer un camino físico entre los medios de comunicación previo a la conexión entre los usuarios. Este camino permanece activo durante la comunicación entre los usuarios, liberándose al terminar la comunicación. Ejemplo: red telefónica conmutada. Su funcionamiento pasa por las siguientes etapas: solicitud, establecimiento, transferencia de datos y liberación de conexión.

### Ventajas

* Acaparamiento de recursos. Los nodos que intervienen en la comunicación disponen en exclusiva del circuito establecido mientras dura la sesión.
* No hay contención. Una vez que se ha establecido el circuito las partes pueden comunicarse a la máxima velocidad que permita el medio, sin compartir el ancho de banda ni el tiempo de uso.
* El circuito es fijo. Dado que se dedica un circuito físico específicamente para esa sesión de comunicación, una vez establecido el circuito no hay pérdidas de tiempo calculando y tomando decisiones de encaminamiento en los nodos intermedios. Cada nodo intermedio tiene una sola ruta para los paquetes entrantes y salientes que pertenecen a una sesión específica.
* Simplicidad en la gestión de los nodos intermedios. Una vez que se ha establecido el circuito físico, no hay que tomar más decisiones para encaminar los datos entre el origen y el destino.

### Desventajas

* La transmisión no se realiza en tiempo real, no es adecuado para comunicación de voz y video.
* Retraso en el inicio de la comunicación. Se necesita un tiempo para realizar la conexión, lo que conlleva un retraso en la transmisión de la información.
* Acaparamiento (bloqueo) de recursos. No se aprovecha el circuito en los instantes de tiempo en que no hay transmisión entre las partes. Se desperdicia ancho de banda mientras las partes no están comunicándose.
* El circuito es fijo. No se reajusta la ruta de comunicación, adaptándola en cada posible instante al camino de menor costo entre los nodos. Una vez que se ha establecido el circuito, no se aprovechan los posibles caminos alternativos con menor coste que puedan surgir durante la sesión.
* Poco tolerante a fallos. Si un nodo intermedio falla, todo el circuito se viene abajo. Hay que volver a establecer conexiones desde el principio.

## Conmutación de mensajes

Este método era el usado por los pedidos telegráficos, siendo el más antiguo que existe. Para transmitir un mensaje a un receptor, el emisor debe enviar primero el mensaje completo a un nodo intermedio el cual lo encola en la cola donde almacena los mensajes que le son enviados por otros nodos. Luego, cuando llega su turno, lo reenviará a otro, y este a otro y así las veces que sean necesarias antes de llegar al receptor. El mensaje deberá ser almacenado por completo y de forma temporal en el nodo intermedio antes de poder ser reenviado al siguiente, por lo que los nodos temporales deben tener una gran capacidad de almacenamiento. Esto es lo que se llama funcionamiento "almacenar y reenviar" (store and forward).

### Ventajas

* Se multiplexan mensajes de varios procesos hacia un mismo destino, y viceversa, sin que los solicitantes deban esperar a que se libere el circuito.
* El canal se libera mucho antes que en la conmutación de circuitos, lo que reduce el tiempo de espera necesario para que otro remitente envíe mensajes.
* No hay circuitos ocupados que estén inactivos. Mejor aprovechamiento del canal.
* Si hay error de comunicación se retransmite una menor cantidad de datos.

### Desventajas

* Se añade información extra de encaminamiento (cabecera del mensaje) a la comunicación. Si esta información representa un porcentaje apreciable del tamaño del mensaje el rendimiento del canal (información útil/información transmitida) disminuye.
* Mayor complejidad en los nodos intermedios:
** Ahora necesitan inspeccionar la cabecera de cada mensaje para tomar decisiones de encaminamiento.
** También deben examinar los datos del mensaje para comprobar que se ha recibido sin errores.
** También necesitan disponer de memoria (discos duros) y capacidad de procesamiento para almacenar, verificar y retransmitir el mensaje completo.
* Sigue sin ser viable la comunicación interactiva entre los terminales.
* Si la capacidad de almacenamiento se llena y llega un nuevo mensaje, no puede ser almacenado y se perderá definitivamente.
* Un mensaje puede acaparar una conexión de un nodo a otro mientras transmite un mensaje, lo que lo incapacita para poder ser usado por otros nodos.
* Es lenta.

## Conmutación de paquetes

El emisor divide los mensajes a enviar en un número arbitrario de paquetes del mismo tamaño, donde adjunta una cabecera y la dirección origen y destino así como datos de control que luego serán transmitidos por diferentes medios de conexión entre nodos temporales hasta llegar a su destino. Este método de conmutación es el que más se utiliza en las redes de ordenadores actuales.
Al igual que en la conmutación de mensajes, los nodos temporales almacenan los paquetes en colas en sus memorias que no necesitan ser demasiado grandes.

### Modos de conmutación

* Circuito virtual:
** Cada paquete se encamina por el mismo circuito virtual que los anteriores.
** Por tanto, se controla y asegura el orden de llegada de los paquetes a destino.
Existen 2 tipos:
   * PVC (Permanent Virtual Circuit, Circuito Virtual Permanente): se establece un único camino para todos los envíos.
   * SVC (Switched Virtual Circuit, Circuito Virtual Conmutado): se establece un nuevo camino en el siguiente envío.
* Datagrama
** Cada paquete se encamina de manera independiente de los demás.
** Por tanto, la red no puede controlar el camino seguido por los paquetes, ni asegurar el orden de llegada a destino.

### Ventajas

* Si hay error de comunicación, se retransmite una cantidad de datos aun menor que en el caso de mensajes.
* En caso de error en un paquete, solo se reenvía ese paquete, sin afectar a los demás que llegaron sin error.
* Comunicación interactiva. Al limitar el tamaño máximo del paquete, se asegura que ningún usuario pueda monopolizar una línea de transmisión durante mucho tiempo (microsegundos), por lo que las redes de conmutación de paquetes pueden manejar tráfico interactivo.
* Aumenta la flexibilidad y rentabilidad de la red.
** Se puede alterar sobre la marcha el camino seguido por una comunicación (por ejemplo, en caso de avería de uno o más enrutadores).
** Se pueden asignar prioridades a los paquetes de una determinada comunicación. Así, un nodo puede seleccionar, de entre su cola de paquetes en espera de ser transmitidos, aquellos que tienen mayor prioridad.

### Desventajas

* Mayor complejidad en los equipos de conmutación intermedios, que necesitan mayor velocidad y capacidad de cálculo para determinar la ruta adecuada en cada paquete.
* Duplicidad de paquetes. Si un paquete tarda demasiado en llegar a su destino, el host receptor(destino) no enviara el acuse de recibo al emisor, por el cual el host emisor al no recibir un acuse de recibo por parte del receptor este volverá a retransmitir los últimos paquetes del cual no recibió el acuse, pudiendo haber redundancia de datos.
* Si los cálculos de encaminamiento representan un porcentaje apreciable del tiempo de transmisión, el rendimiento del canal (información útil/información transmitida) disminuye.

## Conmutación de celdas

La conmutación de celdas es una técnica utilizada en redes de comunicación, particularmente en redes de conmutación por paquetes, como las redes ATM (Asynchronous Transfer Mode). A diferencia de la conmutación de mensajes o de circuitos, en la conmutación de celdas, la información se divide en unidades pequeñas llamadas "celdas" para su transmisión.
Características principales de la conmutación de celdas: Unidades pequeñas: La información que se transmite en una red con conmutación de celdas se divide en celdas de tamaño fijo. En el caso de las redes ATM, cada celda tiene un tamaño de 53 bytes: 5 bytes para el encabezado y 48 bytes para los datos.
Transporte eficiente: Dado que las celdas son pequeñas y tienen un tamaño fijo, se facilita el proceso de enrutamiento, ya que el procesado de cada celda es más rápido que el de unidades de mayor tamaño. Esto mejora la eficiencia de la red, especialmente en términos de latencia y control de flujo.
Conmutación asíncrona: A diferencia de otros tipos de conmutación, como la de circuitos, en la conmutación de celdas, la transmisión no requiere que se establezca previamente una conexión fija. Las celdas pueden ser enviadas por diferentes rutas dentro de la red, lo que mejora la flexibilidad y la utilización de los recursos de la red.

### Ventajas de la Conmutación de Celdas:

Alta eficiencia en el uso de la red:
Como las celdas tienen un tamaño fijo (por ejemplo, en ATM son de 53 bytes), se reduce el tiempo necesario para procesar cada paquete de información. Esto permite un uso más eficiente de los recursos de la red. Baja latencia:
La transmisión de celdas permite un procesamiento rápido y, debido a que las celdas son pequeñas y fáciles de manejar, el tiempo que tarda cada unidad de información en llegar a su destino es reducido, lo que minimiza la latencia. Flexibilidad:
La conmutación de celdas no requiere que se establezca previamente una conexión fija entre el origen y el destino. Las celdas pueden ser enviadas por rutas diferentes a través de la red, lo que mejora la flexibilidad y la capacidad de adaptación a cambios o fallos en la red. Escalabilidad:
Al utilizar celdas de tamaño fijo, la red puede manejar fácilmente grandes volúmenes de datos sin que se vea afectada la velocidad o el rendimiento. Esto permite que la red se escale de manera eficiente para soportar un mayor número de usuarios o tráfico. Mejor control de calidad de servicio (QoS):
Al ser más pequeñas y predecibles, las celdas permiten implementar políticas de calidad de servicio más precisas, como el control de congestión o la priorización del tráfico, lo cual es crucial en aplicaciones de tiempo real como voz y video. Reducción de errores:
El tamaño fijo de las celdas también facilita la detección de errores y la corrección de los mismos. Si una celda se pierde o se corrompe, solo se afecta una pequeña parte de los datos, y no todo el paquete, como en otros métodos de conmutación.

### Desventajas de la Conmutación de Celdas:

Sobrecarga de procesamiento:
Aunque las celdas son pequeñas y fáciles de manejar, la división de los datos en celdas y la necesidad de ensamblarlas de nuevo al llegar al destino puede generar una sobrecarga adicional en la red y los dispositivos de procesamiento. Ineficiencia en el uso del ancho de banda para algunos tipos de tráfico:
Para ciertos tipos de datos, como archivos muy pequeños o mensajes breves, la sobrecarga del encabezado de la celda (por ejemplo, los 5 bytes del encabezado en una celda ATM) puede ser innecesaria y hacer que la transmisión no sea tan eficiente en cuanto al uso del ancho de banda. Complejidad en la gestión de la red:
Aunque la conmutación de celdas permite una mayor flexibilidad y escalabilidad, también aumenta la complejidad en la administración de la red. El enrutamiento de las celdas, el control de la congestión y el aseguramiento de la calidad del servicio (QoS) requieren una infraestructura avanzada y costosa. Dependencia de la red de conmutación de celdas (ATM):
Aunque la conmutación de celdas es eficiente para ciertos tipos de datos, su adopción se ha visto limitada por la necesidad de una infraestructura especializada (como las redes ATM). Además, la adopción generalizada de tecnologías como IP y Ethernet ha reducido la popularidad de ATM en redes de conmutación de celdas. Fragmentación y reensamblaje:
Al ser unidades pequeñas, si una celda se pierde o se corrompe, debe ser retransmitida. En el caso de conexiones de baja calidad, la fragmentación de los datos en muchas celdas puede hacer que el rendimiento general de la red disminuya. Costos de implementación:
Implementar y mantener una infraestructura que soporte la conmutación de celdas puede ser más costoso en comparación con otras tecnologías de conmutación de paquetes más simples, como las redes basadas en IP.