Establecimiento de la conexión

Aunque el establecimiento de una conexión pueda parecer un proceso sencillo, hay una serie de problemas que hay que solventar. Los problemas empiezan cuando los paquetes que se encargan se solicitar un conexión pueden recibirse dos veces o más por el receptor.

Cuando hablamos a nivel de enlace estos problemas no ocurren porque los paquetes viajan desde el emisor hasta el receptor, pero cuando se trabaja a nivel de transporte (o de red), los paquetes, además de viajar del emisor al receptor, también se pueden almacenar, duplicar, retransmitirse y, por tanto, recibirse de nuevo por el receptor.

Cuando esto ocurre se puede dar situaciones donde se ha establecido una conexión, se realiza una transacción, y posteriormente se cierra o finaliza la conexión. Si existiesen paquetes duplicados, tanto de los paquetes encargados de establecer la conexión, como de los paquetes encargados de hacer una transacción, estos podrían iniciar una nueva conexión, repetir los pasos y, por lo tanto, realizar una nueva transacción.

El problema aparece por los duplicados que aparecen de nuevo. Esto aunque puede ser un hecho insólito, no es un hecho imposible: se puede pensar en el caso, que un encaminador almacena los datos en su buffer porque se ha producido un corte en su enlace de salida, y libera los paquetes almacenados cuando se abre de nuevo el enlace.

Para abordar este problema se pueden plantear dos esquema diferentes:

  • Uno donde se almacene los identificadores de cada conexión y si hay una solicitud coincidente con este identificador, entonces se rechaza. Esto requiere de la existencia de un identificador de conexión y un almacenamiento indefinido de todos los identificadores anteriores. El número de establecimiento se pueda asignar de forma aleatoria haciéndolo coincidir con el número de secuencia de cada paquete.

  • Otro donde los paquetes no puedan existir más de un tiempo conocido en la red.

En el primer esquema, el problema se complica bastante cuando los hosts pueden caerse, y con ello, borrarse todo el histórico de las conexiones anteriores.

En el segundo esquema, se pueden plantear distintos mecanismos para abordarlo:

  1. Número de saltos máximo en cada paquete, cuando se alcanza este número de saltos máximo se elimina el paquete.

  2. Restricción de las rutas posibles, de forma que se evite que los paquetes se metan en bucles.

  3. Marca temporal en cada paquete, de forma que cuando se rebase cierto tiempo el receptor elimine el paquete. Este mecanismo supone que el emisor y el receptor estén sincronizados.

Sin entrar en detalles, un esquema que tiene en cuenta estos hechos se implementa estableciendo algún tipo de relación entre el número de secuencia y el tiempo del reloj, de forma que no se puedan asignar números de secuencia nuevos durante un tiempo T: es lo que se denomina región prohibida.

Estos esquemas tiene también sus problemas, ya que se puede ralentizar bastante una conexión. Además, hay que aplicar mecanismos similares a los paquetes de confirmación (ACK). Estos paquetes también se pueden retardar, con lo que se complicaría la conexión si se quiere que se pongan de acuerdo, el emisor y el receptor en utilizar el mismo número de secuencia.

*

results matching ""

    No results matching ""