REDES 2-2

II.2 Interfaces de acceso

II.2.1 Redes X.25. 

X.25 es un estándar para el acceso a redes públicas de conmutación de paquetes. No especifica cómo está la red implementada interiormente aunque el protocolo interno suela ser parecido a X.25. 
El servicio que ofrece es orientado a conexión, fiable, en el sentido de que no duplica, ni pierde ni desordena, y ofrece multiplexación, esto es, a través de un único interfaz se mantienen abiertas distintas comunicaciones. Vamos a estudiar todos los niveles de X.25, desde el Nivel Físico al Nivel de Red. En primer lugar veamos cuál es la forma más común de conexión y lo que abarca cada nivel: 
Nivel Físico  LAB-P: Nivel de Enlace  PLP
FIGURA II.12 Conexión a X.25. Imagen enlace.
Nomenclatura: 

II.2.1.1 - Nivel Físico
Existen dos posibilidades: 

En cuanto las características mecánicas, se usan conectores Canon de 15 pines o de 25 pines. Las velocidades se mueven entre los 64kbps y los 2Mbps, velocidades que pueden parecer bajas y, de hecho, así son. X.25 presenta un problema de baja eficiencia por la exagerada protección contra errores que implementa y que con las redes de hoy en día no tienen sentido. 

II.2.1.2 - Nivel de Enlace (LAP-B)
Ya sabemos que el objetivo del Nivel de Enlace es garantizar la comunicación entre dos equipos directamente conectados. En X.25, este nivel queda implementado con el protocolo LAP-B (Link Access Procedure - B) que es un protocolo HDLC 2,8, es decir, con rechazo simple, indicado por el 2, y en el cual las tramas de información pueden ser utilizadas como tramas de control, indicado esto último por el 8. Veamos, en detalle, cuál es el formato de las tramas: 
Detalle de una trama  general de LAP-B
FIGURA II.13 Trama de LAP-B. 

Analizamos más a fondo los tres tipos de tramas que se manejan: 

Analicemos un ejemplo completo para fijar todo lo explicado hasta ahora: 
Comunicación completa en LAP-B
FIGURA II.18 Ejemplo de comunicación de LAP-B.
Detengámonos en esta figura para entenderla a fondo. Diferenciamos en este tipo de comunicaciones tres fases: 
Establecimiento de conexión
En esta fase, un sistema final o DTE pide que se abra una comunicación con la trama SABM. En primer lugar, es importante señalar que el receptor será siempre un DCE puesto que trabajamos en el Nivel de Enlace, es decir, con comunicaciones entre entidades directamente conectadas. Con la trama citada, el DTE consigue informar al DCE de qué características tendrá la comunicación que quiere establecer, en este caso por ejemplo, la numeración será la que exista por defecto y no será numeración extendida. 
Una vez recibida la trama correctamente en el DCE, éste contesta con UA para confirmar que la comunicación queda abierta. 
Hasta aquí, como podemos comprobar en la figura, se trabaja en modo parada y espera. 
Fase de transmisión de datos
Tras establecer la conexión y algunos de sus parámetros ya se puede pasar a mandar información. En el caso de la figura, es el DCE quien envía una trama, la trama I00. Como ya sabemos, esto quiere decir que la trama que se envía es la trama 0 y que el DCE está esperando recibir del DTE la trama 0. Tanto esta trama como la siguiente que manda el DCE, la I01, son confirmadas por el DTE con tramas RR. Como recordamos, no se asiente una trama con su número sino con el número de la trama que a partir de ese momento se espera, es decir, la siguiente a la que se confirma. Ésta es la razón por la que I00 se confirma con RR1. 


La primera trama que envía el DTE es I02, es decir, en este punto él manda la trama 0 y está esperando la 2. Una vez llega ésta al DCE, éste la confirma con I31, esto es, mandando su cuarta trama e indicando que queda a la espera de la trama 1 del DTE. 

En el proceso ilustrado no figura ningún error pero, de haberlo, todo funcionaría como quedó descrito en ARQ con rechazo simple. Bien porque saltase un TIMER o por la recepción de una trama REJ se obligaría a la retransmisión a partir de la trama errónea. 

El proceso así descrito continuará, si no surge ningún problema irrecuperable, hasta que uno de los interlocutores pida la desconexión. 

Desconexión
Una de las entidades envía la trama DISC que es confirmada con UA. Queda así la comunicación cerrada. 
Por último, estudiemos algunos parámetros que intervienen en la comunicación y que son modificables y configurables en función de las condiciones de la red. Son: 
T1 o Plazo de Retransmisión
Es el tiempo que se espera desde la transmisión de una trama hasta su retransmisión por falta de ACK. Es el objeto del TIMER del que hemos venido hablando hasta ahora. 
T2 o Retardo Máximo antes de Asentimiento
Pueden no asentirse las tramas inmediatamente según llegan. Puede esperarse un tiempo menor que este T2 por si llegan más tramas que puedan ser asentidas todas juntas. 
T3 o Plazo de Inactividad
Si transcurre un tiempo sin que se transmita o reciba nada se emite un RR asintiendo la última trama que hubiese llegado. Es necesario testear el enlace para comprobar un posible fallo grave como la caída de un nodo... 
N1 o Longitud Máxima de la Trama
N2 o Número Máximo de Retransmisiones de una Trama
Si después de N2 retransmisiones de una trama, ésta no es asentida se resetea el enlace o se desconecta informando al nivel superior. 
K o Tamaño de Ventana


II.2.1.3 - Nivel 3 X.25 (PLP)
Este nivel está especificado por el PLP (Packet Layer Protocol) que es un protocolo de acceso a nivel de red y que proporciona un servicio al nivel superior: 


II.2.1.3.1 Circuitos virtuales (CV)
Podríamos definirlos como la asociación lógica entre usuarios para comunicarse entre ellos. 
En X.25 hay 2 tipos de CV: 

Se identifican dentro de cada DTE por el número de canal lógico (NCL), que se negocia en la fase de establecimiento (sólo CVCs). 
Podría además tener, por ejemplo, varios CVs establecidos con la misma máquina (cada uno con distinto NCL evidentemente). 

En la figura se muestra como la multiplexión que se ofrece al nivel de transporte, no es tal a nivel de enlace: en LAPB sólo hay una conexión. 

 La multiplexión se resuelve a nivel de red, aunando las diferentes conexiones (asimilables a CVs) que aparecen en el NSAP (Punto de Acceso al Servicio a Nivel de Red), en la que se ve desde el nivel de enlace en el LSAP

CV y Multiplexión
FIGURA II.19 Los CVs y la multiplexión en terminología OSI.

II.2.1.3.2 Protocolo
Fases del protocolo
FIGURA II.20 Fases de la Transmisión.
Niveles OSI involucrados
FIGURA II.21 Gráfica esquemática con los niveles OSI involucrados.
NOTA: A nivel de paquete no tenemos retransmisiones. Sí hay control (detección) de errores, pero no corrección.
 

II.2.1.3.3 Direcciones X.25
La recomendación X.121 especifica el formato de las direcciones:
 
 
Direcciones X.25
FIGURA II.22 Formato de las direcciones.


II.2.1.3.4 Número de canal lógico (NCL)
Es un número que permite identificar al CV involucrado en una determinada transferencia y que es distinto a cada lado de la comunicación, aunque el CV sea el mismo.
El rango de NCLs que pueden usarse, se contrata con la empresa que ofrece el servicio (Telefónica, etc. ). Un NCL se especifica con 12bits, lo cual da lugar a que puedan usarse como máximo 4095 NCLs (el 0 tiene un significado especial).

 Utilización:
Los NCLs se escogen por el DTE o por el DCE (la red en el fondo) cuando se necesitan, liberándolos cuando los acaban de usar. Ambos tienen una lista donde marcan los NCLs libres y ocupados (lo que se marca en una lista se refleja inmediatamente en la otra).

Ejemplo de elección simultánea de un NCL

 

Utilización de NCLs

FIGURA II.23 Ejemplos del uso de NCLs.

Comentario a la Figura II.23:
En respuesta a un Call Request anterior (que el DTE asignó sin problemas al NCL 6 por ejemplo), el DCE trata de asignar el NCL 5 pues lo ve libre. Así el CV de esa conexión tendría asociado el NCL 6 en el DTE y el 5 en el DCE.
Al mismo tiempo el DTE ha visto libre el NCL 5 y trata de establecer un nuevo CV asignándoselo
Como consecuencia de esto es la operación del DCE (de la red) la que se acepta, rechazándose el Call Request del DTE.
Una posible solución para evitar colisiones de este tipo, es dividir por rangos la oferta de NCLs. Por ejemplo asignar una cierta cantidad de números para CVs entrantes, otra para salientes y otros que fuesen bivalentes. Así solo habría colisión en los bivalentes, pues los entrantes y salientes sólo podrían ser elegidos por DTE y DCE respectivamente.
 


II.2.1.3.5 Formato general de paquetes
Para el estudio del PLP vamos a ver el formato de sus PDUs (éstas se encuentran alineadas a octeto):
 

Formato general
FIGURA II.24 Formato general de una PDU.

La longitud del paquete no aparece escrita en ningún sitio, pues no es necesaria (va delimitado a nivel de enlace).

 Para profundizar en el estudio de este nivel vamos a ver con más detalle. los siguientes paquetes:

X.25 permite implementar un procedimiento multienlace.
 


Paquete de petición de llamada y de llamada entrante
Los paquetes de petición de llamada y llamada entrante tienen el mismo formato, diferenciándose únicamente en el sentido en que se transmite el paquete: DTE-DCE el primer caso y DCE-DTE en el segundo. Así pues tendremos:
 
 

Petición de llamada
FIGURA II.25 Formato general de Petición de Llamada o Llamada Entrante.


Paquete de llamada aceptada y de comunicación establecida
El paquete de llamada aceptada va del DTE al DCE y el de comunicación establecida del DCE al DTE.

El formato es el mismo para los dos:
Llamada aceptada
FIGURA II.26 Formato general de Llamada Aceptada o Comunicación Establecida.

Si pongo los campos opcionales de facilidades o datos, tengo que poner también los de longitud y direcciones, aunque puedo dejarlos a cero.

 Tanto estos paquetes como los de petición de llamada y los de llamada entrante, así como los de liberación de conexión y de indicación de liberación admiten la facilidad de selección rápida ( fast select):

  1. En estos paquetes se pueden introducir datos de hasta 128 octetos.
  2. Si una estación nada más recibir una Petición de Llamada manda una PDU de desconexión, consigue una transferencia de datos sin haberse establecido la conexión.
X.25 facilita esta opción ya que hay aplicaciones que funcionan mejor en modo datagrama (servicio no orientado a conexión) (que es lo que permite esta utilidad).
 


Paquete de liberación de conexión y de indicación de liberación
El paquete de liberación de conexión va del DTE al DCE y el de indicación de liberación del DCE al DTE.

Por lo demás ambos paquetes tienen el mismo formato:
  • Causa: Es un byte que indica por qué se ha liberado la comunicación (si ha sido el DTE, la red, etc.). 
  • Diagnóstico: Es un byte que no hace sino refinar la causa.
  • La parte optativa se envía en base a las reglas del protocolo: no cuando el usuario lo desee, sino cuando lo exige el protocolo.
 

Liberación de conexión
FIGURA II.27 Formato general de Liberación de Conexión e Indicación de Liberación.


Paquete de confirmación de liberación
No hay campo de datos en este caso, ya que cuando se envía este paquete se cierra la conexión.

Su formato es el siguiente:
 

Confirmación de liberación
FIGURA II.28 Formato general de Confirmación de Liberación


Paquetes de asentimiento y control de flujo
En X.25 no se utiliza ARQ pues no hay retransmisiones. Los números de secuencia y las ventanas se utilizan exclusivamente para hacer control de flujo de tipo XON/XOFF y para detección de errores. El nivel de enlace se supone fiable.

 Hay dos tipos de paquetes: RR y RNR. Son paquetes explícitos de asentimiento y se utilizan como alternativa al piggybacking.

 El formato de los paquetes RR y RNR es el mismo, diferenciándose entre ellos solamente en un bit:
 
 
 

Asentimientos
FIGURA II.29 Formato general de Paquetes de asentimiento

P(R) son 3 bits que indican el número de secuencia que se asiente (indica cuál es el siguiente que espera recibir)

 Los paquetes RR y RNR varían ligeramente en el formato extendido:
 
Asentimientos extendidos
FIGURA II.30 Formato general extendido de RR y RNR.
NOTA: Existe una opción adicional en X.25, que prácticamente no se usa y que incluye rechazos con retransmisiones (REJ se consigue con el campo de tipo a 01001)
 


Paquete de datos
El paquete de datos en la recomendación X.25 presenta el siguiente aspecto:
Paquete de datos
FIGURA II.31 Formato general de un Paquete de Datos.
donde:

Los números de secuencia (P(R) y P(S)) y la ventana se utilizan exclusivamente para control de flujo y detección de errores.
El tamaño de la ventana por defecto en X.25 es 2 (se puede solicitar un aumento de ventana, pero será más caro, ya que se utilizan más recursos de la red). El paquete de datos varía ligeramente cuando se utiliza el formato extendido:
Paquete de datos (formato extendido)
FIGURA II.32 Formato general extendido de un Paquete de Datos.

Transferencia de datos
Asentimientos remotosAsentimientos locales
FIGURA II.33 A la izquierda ejemplo con asentimientos remotos. A la derecha locales.
D=1; Asentimientos Remotos: D=0; Asentimientos Locales:
Paquete de reinicio (RESET)
Los paquetes de petición e indicación de reinicio tienen la misma forma:
Paquete de RESET Protocolo de RESET
FIGURA II.34 Formato general de un Paquete de Petición de Reinicio y esquema del protocolo(RESET).
 
Como se ve en la gráfica de la derecha, el RESET puede estar generado por uno de los dos lados (caso 1) o por la propia red (caso 2).

 El contenido de los campos causa y código viene especificado en la recomendación.

 Los paquetes de confirmación de reinicio por ETD y ETCD tienen el aspecto siguiente:
Confirmación de reinicio
FIGURA II.35 Formato general de un Paquete de Confirmación de Reinicio.
y la única diferencia entre ellos es el lugar donde se generan:
 

Generación de reinicios
FIGURA II.36 Gráfico de la generación de paquetes de reinicio.

Los efectos de un RESET son los siguientes:


Paquete de reinicialización (RESTART)
Es un procedimiento de recuperación frente a errores particularmente graves que afectan a toda la interfaz entre el usuario y la red (ej. se cae el equipo de usuario o el nodo local).

 El formato de los paquetes es similar al de RESET (así como el intercambio de paquetes, sustituyendo RESET por RESTART):
Paquete de RESTART
FIGURA II.37 Formato general del Paquete de Reinicialización.
Se envía por el canal lógico 0, que es el que se reserva para señalización.
Los efectos de RESTART son:

Los paquetes de confirmación de rearranque por parte del ETD y ETCD son también iguales a los de confirmación de RESET:
Confirmación de rearranque
FIGURA II.38 Formato general de Confirmación de Rearranque.

Paquete de Interrupción

Tanto la interrupción por ETCD como por ETD presentan el siguiente aspecto:
Paquete de interrupciónProtocolo de interrupción
FIGURA II.39 Formato general del Paquete de Interrupción y protocolo de transmisión.
Son paquetes también denominados fuera de banda, pues no están sometidos a control de flujo.
El objetivo es que lleguen lo más rápidamente posible (son enviables incluso cuando la transmisión está parada).

 Funciona en parada y espera: hasta que no llega un Conf.INT, no puedo enviar otro INT.

 El campo DATOS es variable. Históricamente el tamaño de los datos era de un octeto. Las versiones más modernas permiten hasta 32 octetos (en cualquier caso, es una cantidad pequeña, pues ya estaría enviando más de lo que se debe).
 


Transmisión de tramas de mayor longitud
A la hora de transmitir tramas de mayor longitud de la que admite X.25 en un paquete de datos (128 octetos por defecto), tenemos varias opciones:

Este tipo de transmisión es útil cuando:
Facilidades
Este campo es común a varios tipos de paquetes y posibilita definir ciertos parámetros o modos de operación o "actuación" que de otra manera no se podrían establecer:
II.2.1.3.6 Procedimiento multienlace
En X.25 se puede hacer uso de la división de conexiones de la siguiente manera:
Uso de MLP
FIGURA II.41 Uso del ML-P.
ML-P: Multi-Link Protocol. Es el encargado de hacer el multienlace.

Funcionamiento del ML-P:

Formato de MLP
FIGURA II.42 Formato del ML-P.
Los bits R y C se utilizan para indicar el tipo de PDU.

 R=1 (reset): el que transmite la PDU solicita un establecimiento o reinicio de la conexión

 C=1: para confirmar (aceptar) el reset o el establecimiento de la conexión. Se utiliza para responder a un paquete con R=1.

 (R=1 sería equivalente a lo que en LAP-B era SABM o RST) (C=1 sería equivalente a lo que en LAP-B era UA)

Transmisión:
MLP debe repartir la carga entre las líneas que tiene por debajo. Reparte entre las que estén dispuestas a recibir. Además debe asignar números de secuencia (12bits).
Recepción:
MLP debe resecuenciar, ya que el retardo es variable entre las distintas líneas.

II.2.1.4 Tarificación

El coste de una red X.25 se reparte entre las siguientes contribuciones:

NOTAS:

Redes 2

Hosted by www.Geocities.ws

1