Sie sind auf Seite 1von 7

ESPECIFICACION Y VERIFICACION DE PROTOCOLOS

Los protocolos reales y los programas que los desarrollan son, por lo general, bastante complicados. En
consecuencia, se ha realizado una cantidad considerable de investigacin tratando de encontrar tcnicas matemticas
formales para especificar y verificar protocolos. En las secciones siguientes se vern algunos modelos y tcnicas
popularmente conocidos.
Modelos de mquina de estado finito
Un concepto clave que se utiliza en varios modelos de protocolos es el denominado mquina de estado finito.
Con esta tcnica, cada mquina de protocolo (esto es al emisor o receptor), siempre se encuentra en un estado
especfico en cualquier instante de tiempo. Su estado est constituido por todos los valores de sus variables, incluyendo
el contador del programa.
En la mayora de los casos, se puede agrupar un nmero considerable de estados con el propsito de realizar
un anlisis. Por ejemplo, considerando el receptor, en el protocolo 3, se podran separar dos estados importantes de
todos los posibles; espera de la trama 0, o espera de la trama 1. Todos los dems estados se pueda concebir como de
naturaleza transitoria, simplemente como etapas en el camino hacia uno de los estados principales. Por lo general, los
estados se seleccionan para ser esos momentos en los que la mquina del protocolo est esperando que se lleve a cabo
el siguiente evento, por ejemplo, que se ejecute el procedimiento wait(event) de los ejemplos anteriores. En ese
instante, el estado de la mquina del protocolo est determinado por completo por el estado de sus variables. El nmero
de estados es, por lo tanto, 2n en donde n es el nmero de bits necesarios para representar (odas las variables
combinadas.
El estado del sistema completo es la combinacin de todos los estados de las dos mquinas de los protocolos y
del canal. El estado del canal est determinado por su contenido. Con el empleo del protocolo 3, tomndolo
nuevamente como ejemplo, el canal tiene cuatro posibles estados: una trama cero, o una trama uno que se mueve del
emisor al receptor, o una trama de asentimiento que se mueve en sentido contrario, o un canal vaco. Si se llega a
modelar al emisor y receptor, teniendo cada uno de ellos dos estados, el sistema completo estar constituido por 11
estados distintos.
Conviene aclarar el punto con respecto al estado del canal. El concepto de que una trama se encuentre "en el
canal'' es una abstraccin, naturalmente. Lo que en realidad se quiere dar a entender es que la trama se ha transmitido y
recibido parcialmente, pero todava no se ha procesado en el extremo destinatario. Una trama permanece "en el canal"
hasta que la mquina de protocolo ejecuta el procedimiento FromPhysicalLayer y lo procesa.
A partir de cada estado, se puede tener cero o ms transiciones posibles a otros estados, las cuales ocurren
siempre que se lleve a cabo algn evento. Para una mquina de protocolo, la transicin podra ocurrir en el momento en
que se transmite una trama, cuando llega una trama, cuando el temporizador se desactiva, cuando sucede una
interrupcin, etc. Para un canal, los eventos que se presentan son, tpicamente, la insercin de una trama nueva en el
canal mediante la mquina de protocolo, la entrega de una trama a una mquina de protocolo, o bien, la prdida de una
trama debido a una rfaga de ruido. Dada una descripcin completa de la mquina de protocolo y de las caractersticas
del canal, es posible disear un grafo dirigido que muestre todos los estados como nodos y todas las transiciones como
arcos dirigidos.
En el diseo se considera como estado inicial a un estado particular, este estado corresponde a la descripcin
del sistema cuando comienza a funcionar, o bien, cuando se define algn inicio conveniente localizado poco despus. A
partir de este estado inicial, alguno, o tal vez todos, los estados restantes se pueden alcanzar mediante una secuencia de
transiciones. Con el empleo de tcnicas bien conocidas, basadas en la teora de grafos (por ejemplo, calcular el cierre
transitivo de un grafo), es posible determinar los estados que se pueden alcanzar, y los que no. Esta tcnica se
denomina anlisis de alcanzabilidad (Lin y colaboradores, 1987). Este anlisis llega a ser muy til para determinar si un
protocolo es, o no es, correcto. Desde el punto de vista formal, el modelo de mquina de estado finito de un protocolo
puede interpretarse como un cudruple: (S, M, 1, T) , en donde:
S
M
I
T

es el conjunto de estados en los que los procesos y el canal pueden encontrarse.


es el conjunto de tramas que pueden intercambiarse en el canal.
es el conjunto de estados iniciales de los procesos.
es el conjunto de transiciones que se llevan a cabo entre estados.

Al comienzo del tiempo, todos los procesos se encuentran en sus estados iniciales. Despus, comienzan a
presentarse los eventos como, por ejemplo, las tramas que llegan a estar disponibles para su transmisin, o bien, los

vencimientos de los temporizadores. Cada evento har que uno de los procesos o algn canal lleve a cabo una accin y
conmute a un estado nuevo. Con la enumeracin cuidadosa de cada uno de los posibles sucesores para cada estado, se
puede construir un grafo de alcanzabilidad y hacer un anlisis del protocolo.
El anlisis de alcanzabilidad se puede utilizar para detectar una variedad de errores en la especificacin del
protocolo. Por ejemplo, si es posible que ocurra cierta trama en un cierto estado, y la mquina de estado finito no dice
qu accin debera tomarse, la especificacin ser errnea (es incompleta). Si existiera un conjunto de estados del cual
no exista salida, y del cual no puede salirse (recibiendo tramas correctas), se tiene otro tipo de error (bloqueo). Un error
menos serio en la especificacin de un protocolo, es indicar cmo tratar un evento en un estado en el cual el evento no
puede ocurrir (por ejemplo, el caso de una transicin extraa). Tambin se pueden detectar otros errores.

Considrese la figura 4-20a, como un ejemplo de un modelo de una mquina de estado finito; la cual
corresponde al protocolo 3 que se describi anteriormente: cada mquina de protocolo tiene dos estados, en tanto que el
canal tiene cuatro estados. Cada estado tiene una etiqueta de tres caracteres, XYZ, en donde X es 0 o 1, correspondiente
a la trama que el emisor trata de enviar; Y es tambin 0 o 1, correspondiente a la trama que el receptor espera, y Z es 0,
1, A o vaco (-), correspondiente al estado del canal. En este ejemplo, el estado inicial se escogi como (000).
En otras palabras, el emisor acaba de enviar la trama 0, el receptor espera la trama 0, y la trama 0 est
actualmente en el canal.
En la figura 4-20 se muestran nueve tipos de transiciones. La transicin 0 consiste en la prdida del contenido
del canal. La transicin 1, consiste en que el canal entregue correctamente el paquete 0 al receptor, en donde este
receptor, cambia su estado para esperar la trama 1 y emite un asentimiento. La 1 tambin corresponde a la entrega del
paquete 0 que el receptor hace a la capa red. Las otras transiciones, se listan en la figura 4-20b. La llegada de una trama
un error en el cdigo de redundancia no se ha mostrado, porque sta no cambia estado (en el protocolo 3).
Durante la operacin normal, las transiciones 1, 2, 3 y 4, se repiten en ordenada una y otra vez. En cada ciclo,
se entregan dos paquetes, haciendo que emisor vuelva al estado inicial, tratando de enviar una trama nueva con un de
secuencia igual a 0. Si el canal pierde la trama 0, hace una transicin del (000) al estado (00-). Eventualmente al emisor
le vence el temporizador 7), y el sistema vuelve al estado (000). La prdida de un asentimiento, es un ms complicada,
dado que necesitar de dos transiciones, 7 y 5, o bien 8 y 6, objeto de reparar el dao.
Una de las propiedades que un protocolo con un nmero secuencial de 1 debe tener, sin importar cul
secuencia de eventos suceda, es que el receptor entregue dos paquetes impares sin intercalar un paquete par, y
viceversa. De la rica de la figura 4-20, se puede observar que este requisito se puede establecer ms formalmente como

"no debe existir ninguna trayectoria procedente del estado inicial en la que aparezcan dos ocurrencias de transicin 1,
sin que haya ocurrido una transicin 3 entre ellas, o viceversa''. De la figura, se puede observar que el protocolo es
correcto respecto a esto.
Otro requisito similar es aqul en donde no exista ninguna trayectoria sobre la cual el emisor cambie su estado
dos veces, (es decir, de 0 a 1 y de regreso a 0), mientras el estado del receptor se mantiene constante. Si esa trayectoria
llegara a existir, entonces, en la correspondiente secuencia de eventos dos tramas estaran irreversiblemente perdidas,
sin que el receptor lo llegara a notar. La secuencia de paquetes entregados tendra una laguna de dos paquetes sin
detectar. " Otra propiedad, tambin importante, de los protocolos es la ausencia de bloqueos mutuos. Un bloqueo mutuo
es una situacin en la cual el protocolo no puede seguir progresando (esto es, entregar paquetes a la capa de red), sin
importar que secuencia de eventos suceda. En trminos del modelo de grajo, un bloqueo mutuo se caracteriza por la
existencia de un subconjunto de estados, al cual se puede llegar i partir del estado inicial y que tiene dos propiedades:
1. No hay transicin alguna que salga del subconjunto.
2. No hay transiciones en el subconjunto que hagan progresar.
Una vez que se encuentra en la situacin de bloqueo mutuo, el protocolo permanecer ah para siempre. De
nuevo, resulta fcil observar del grafo correspondiente, que el protocolo 3 no sufre de bloqueos mutuos.
Ahora, considrese una variante del protocolo 3, una en la que el canal semiduplex se substituye por un canal
duplex. En la figura 4-21 se muestran los estados como el producto de los estados de las dos mquinas de protocolo y el
estado de los los canales. Ntese que ahora hay tres estados en el canal emisor: trama 0, trama 1 o vaco; y el canal de
vuelta tiene dos estados, el estado A o vaco. Las transiciones ion las mismas que se muestran en la figura 4-20b, con la
excepcin de la existencia le una ligera particularidad cuando una trama de datos y un asentimiento se encuentran
simultneamente en el canal. El receptor no puede eliminar la trama de datos por s mismo, porque eso traera como
consecuencia el hecho de tener dos asentimientos en el mismo canal al mismo tiempo, algo que este modelo no permite
(aunque sera fcil disear un modelo que s lo permitiera). De la misma manera, el emisor no puede eliminar el
asentimiento, porque esto ocasionara la emisin de una segunda trama de datos antes de que la primera se haya
aceptado en forma definitiva. Por lo tanto, los dos eventos debern ocurrir conjuntamente, por ejemplo, la transicin
entre los estados (000A) y el estado (111A), etiquetados como 1 + 2 en la figura.

En la figura 4-21a existen trayectorias que ocasionan que el protocolo falle en particular, aqullas en las que el
emisor busca repetidamente paquetes nuevos, aun cuando los anteriores no se hayan entregado de manera correcta. El
problema se genera debido a que ahora al emisor le puede vencer el temporizador, y transmitir una trama nueva, sin
perturbar el asentimiento del canal de vuelta. En el momento en que llega este asentimiento, se le considerar
errneamente, como si fuera de la transmisin actual, y no de la previa.
En la figura.4-21b se muestra una secuencia de estados que causa que el protocolo falle. En los estados cuarto
y sexto de esta secuencia, el emisor cambia de estado, indicando que est buscando un paquete nuevo procedente de la
capa de red, mientras que el receptor no cambia su estado, es decir, no entrega ningn paquete a la capa de red.
Los ejemplos de la mquina de estado finito que se han visto hasta ahora, tratan slo con los detalles de la transmisin
de tramas y asentimientos. El modelo, sin embargo, puede utilizarse para otros aspectos de la especificacin de
protocolos. En la figura 4-22 se muestra una versin simplificada del protocolo del paso de testigo en anillo, el 802. 5,
que est completamente especificado en la norma como una mquina de estado finito. La especificacin de la figura 422 difiere de la norma actual porque no incluye los aspectos del protocolo referentes a la prioridad y reserva, En el
modelo de la figura 4-22, la estacin puede tener uno de cuatro estados posibles:
1. En modo de repeticin, copiando bits, (es decir, que no est transmitiendo).
2. Transmitiendo una trama.
3. Esperando la vuelta de la transmisin de una trama transmitida.
4. Vaciando tramas del anillo.

En cada estado, es posible tener uno o ms eventos. Algunos de ellos ocasionan la activacin de ciertas
acciones (por ejemplo, la puesta a uno de bits en las tramas que pasan por la estacin), adems de los posibles cambios
de estado. A continuacin se presenta una breve descripcin de diez posibles eventos:
1. La estacin tiene una trama que enviar y ha capturado el testigo.
2. Se ha detectado un error en la trama que se est copiando.
3. La trama se dirige a la estacin (Mi direccin, estacin ocupada).
4. La trama puede copiarse para la estacin (Mi direccin, estacin inactiva).
5. Error detectado despus de haber capturado el testigo (por ejemplo, se ha visto una trama de testigo) que deca ser
tal.
6. La trama se ha transmitido por completo.
7. La cabecera de la trama transmitida ha circumnavegado el anillo.
8. La trama que se acaba de transmitir est aparentemente perdida.
9. La trama completa que se acaba de transmitir se ha retirado del anillo.
10. La secuencia indicativa del fin de trama est aparentemente daada.

Modelos de redes de Petri


La mquina de estado finito no es la nica tcnica utilizada para especificar formalmente protocolos. Hay, al respecto,
otros trabajos descritos en (Choi, 1985; Rudin, 1985a, 1985b; Vissers y colaboradores, 1983). Tambin se pueden
utilizar otros lenguajes de especificacin, como por ejemplo LOTOS (Brinksma y Karjoth, 1984; Brinksma y
colaboradores, 1986; Van Eijk, 1988). En esta seccin, se describir otra tcnica, conocida como red de Petri
(Danthine, 1980). Una red de Petri tiene cuatro elementos bsicos: lugares, transiciones, arcos y testigos. Un lugar
representa un estado en el cual el sistema (o parte de l) puede encontrarse. En la figura 4-24 se muestra una red de
Petri con dos lugares, A y B, representados po crculos. El sistema se encuentra normalmente en el estado A, indicado
por la posicin del testigo (el punto grueso) en el lugar A. Una transicin se indica mediante una barra horizontal o
vertical. Cada transicin tiene cero o ms arcos de entrada procedentes de sus lugares de entrada, y cero o ms arcos de
salida que se dirigen sus lugares de salida.
Una transicin se activa si hay por lo menos, un testigo de entrada en cada un de sus lugares de entrada. Cualquier
transicin activada puede dispararse a voluntad, eliminando un testigo de cada lugar de entrada y depositando un
testigo en cada lugar de salida. Si el nmero de arcos de entrada y arcos de salida difieren, los testigo no se
conservarn. Si se llegan a activar dos o ms transiciones, cualquiera de ella podr dispararse. La eleccin para que una
transicin se dispare est indeterminada razn por la cual las redes de Petri son tiles en el modelado de protocolos. La
red de Petri que se muestra en la figura 4-24, es determinstica, y puede emplearse pan modelar cualquier proceso que
conste de dos fases (por ejemplo, el comportamiento de un beb, definido por sus actividades: comer, dormir, comer,
dormir, etc.). Como sucede con todas las herramientas de modelado, los detalles que no son necesa. rios se eliminan.
En la figura 4-25 se muestra el modelo de red de Petri correspondiente a la figura 4-21. A diferencia del modelo de la mquina de estado finito, aqu no hay estados compuestos; el estado del emisor, el estado del canal y el estado del
receptor, si representan en forma separada. Las transiciones 1 y 2 corresponden al envo qut hace normalmente el
emisor de la trama 0 y a la aparicin dC una temporizacin, respectivamente. Las transiciones 3 y 4 son anlogas para
la trama 1. Las transiciones 5, 6 y 7 corresponden a la prdida de la trama 0, de un asentimiento y de la trama 1,
respectivamente. Las transiciones 8 y 9 ocurren cuando una trama de datos, con un nmero de secuencia incorrecto,
llega al extremo receptor. Las transiciones lo y 11 representan la llegada al receptor de la siguiente trama en secuencia,
y su entrega a la capa de red.

Las redes de Petri pueden utilizarse para detectar fallos en los protocolos, de la misma manera como se
emplean las mquinas de estado finito. Por ejemplo, si una secuencia de disparo incluy dos veces la transicin lo, sin
que interviniera la transicin 11, indicara que el protocolo no es correcto. El concepto de bloqueo mutuo en la red de
Petri tambin es muy parecido al del otro modelo. Las redes de Petri pueden representarse en una forma algebraica
conveniente parecida a una gramtica. Cada transicin contribuye a una regla de la gramtica.
Cada regla especifica los lugares de entrada y salida de la transicin, por ejemplo, la transicin 1 de la figura
4-25 es BD - A C. El estado actual de la red de Petri est representado como una coleccin desordenada de lugares, y
cada lugar est representado en la coleccin, tantas veces como nmero de testigos tenga. Cualquier regla puede ser
disparada, si estn presentes los lugares localizados en el lado izquierdo, quitando dichos lugares del estado actual, y
aadiendo sus lugares de salida al estado actual. La marca que aparece en la figura 4-25 es ACG, por lo que se puede
aplicar la regla lo (CG - DF), pero la regla 3 (AD - BE) no se puede.

Das könnte Ihnen auch gefallen