El servicio de circuito virtual que ofrece X.25 proporciona dos tipos de circuitos virtuales. Una llamada virtual (virtual call) es un circuito virtual que se establece dinámicamente utilizando los procedimientos de establecimiento de llamada (call setup) y de liberación de llamada (call clearing). Un circuito virtual permanente (permanent virtual circuit) es un circuito virtual fijo asignado por la red; la transferencia de datos se produce igual que con las llamadas virtuales, pero no se requiere del establecimiento o la liberación.
La Figura 3 muestra una secuencia típica de eventos sobre un circuito virtual. La parte ubicada a la izquierda de la figura muestra los paquetes intercambiados entre la máquina del usuario A y el nodo de conmutación de paquetes al cual ésta se vincula; la parte derecha de la figura muestra los paquetes que se intercambian entre la máquina de usuario B y su nodo. El encaminamiento de los paquetes dentro de la red no es visible al usuario.
Figura 3. Secuencia de eventos en el protocolo X.25
La secuencia de eventos es la siguiente:
- A solicita un circuito virtual a B mediante el envío de un paquete Call Request al DCE de A. El paquete incluye las direcciones fuente y destino, como así también el número de circuito virtual que se utiliza para este nuevo circuito virtual. Las futuras transferencias entrantes y salientes se identificarán por medio del número de circuito virtual.
- La red encamina esta solicitud de llamada hacia el DCE de B.
- El DCE de B recibe el Call Request y le envía a B un paquete Incoming Call. Este paquete tiene el mismo formato que el paquete Call Request, pero un número de circuito virtual diferente, seleccionado por el DCE de B a partir del conjunto de números locales fuera de uso.
- B indica la aceptación de la llamada mediante el envío de un paquete Call Accepted especificando el mismo número de circuito virtual que el paquete Incoming Call.
- El DCE de A recibe el Call Accepted y le envía a A un paquete Call Connected. Este paquete tiene el mismo formato que el paquete Call Accepted pero el número de circuito virtual indicado en el paquete Call Request original.
- A y B se intercambian paquetes de datos y de control utilizando sus respectivos números de circuito virtual.
- A (o B) envía un paquete Clear Request para terminar el circuito virtual y recibe un paquete Clear Confirmation.
- B (o A) recibe un paquete de indicación Clear Indication y transmite un paquete Clear Confirmation.
Veamos ahora algunos de los detalles de este protocolo.