4. From Communication Technologies to the Communications System
4.4. Face-to-Face Interaction plus Mediated Interaction
En nuestra investigación partimos del protocolo Up/Down buscando su aplicación en redes Ethernet estándar, por lo que se utilizan solamente sus mecanismos básicos. A continuación, se describen los principios básicos de funcionamiento de la prohibición de giros del protocolo Up/Down, basada en los identificadores de nodo, y la adaptación realizada para HURP.
Ilustración 14. Grafo original (izqda), arból de expansión (dcha)
La Ilustración 14 muestra un ejemplo de red sencilla, formada por seis nodos y la topología activa que se deriva de aplicarle el algoritmo de árbol de expansión tomando el nodo etiquetado como “1” como nodo raíz, las líneas discontinuas indican que los enlaces 2-‐4, 3-‐4 y 5-‐6 quedarían bloqueados por STP.
Ilustración 15. Giros prohibidos
Por su parte, en la Ilustración 15 se muestra el principio de operación de Up/Down, los arcos indican giros prohibidos en la red y nuevamente se toma el nodo etiquetado como “1” como origen del cálculo; en este caso, quedarían prohibidos los giros 1-‐4-‐2, 1-‐4-‐3, 2-‐4-‐3 y 4-‐6-‐5. El nodo etiquetado como “4” resulta ser el más afectado por el algoritmo ya que la mitad de sus giros posibles resultan prohibidos, pero no queda ningún enlace bloqueado. Es importante destacar también como el camino 4-‐3-‐1-‐2-‐4-‐6 no contiene bucles; aunque el nodo 4 es visitado dos veces, ningún enlace es atravesado dos veces en la ruta.
3.3.1 Formalización de Up/Down
Consideremos una red modelada como un grafo dirigido G compuesto de nodos {a,b, …, n} y enlaces bidireccionales, donde la dupla n1-‐n2 describe el enlace directo que une los nodos n1 y n2.
Definimos el grado de un nodo d como el número de enlaces que conectan ese nodo con sus nodos vecinos (por tanto, equivale al número de nodos vecinos).
Un camino P={n1,n2,…,nn} es la secuencia de nodos sucesivamente conectados por enlaces
directos, es decir, vecinos dos a dos, que permite avanzar desde el nodo origen “n1” al nodo destino
“nn”. A diferencia de la teoría de grafos, consideramos que existe un ciclo en el camino cuando el
primero y último enlace del (sub)camino coinciden, en vez de que el primero y último nodo coincidan. Por ello, un nodo puede ser visitado repetidamente sin crear necesariamente un ciclo (bucle).
35 Se define un giro como el par de enlaces que conectan un nodo cualquiera con dos de sus nodos vecinos. Se representa mediante la tupla (a,b,c) y puede verse como el trayecto que sigue una trama que accede al nodo b a través del enlace a-‐b y es reenviada hacia el nodo c vía el enlace b-‐c. Salvo indicación en contra, los giros son por defecto simétricos, por lo que el giro (a,b,c) es idéntico al giro
(c,b,a). El número de giros posible alrededor de un nodo de grado d aumenta cuadráticamente con d y se expresa como d•(d-‐1)/2.
Supongamos que se construye un árbol de expansión T(G) = (VT;ET), donde VT representa el
conjunto de nodos y ET el conjunto de enlaces del árbol que da conectividad al grafo G. Los enlaces
pertenecientes al árbol se denominan enlaces de árbol (tree-‐links). Los demás enlaces se denominan enlaces de cruce (cross-‐links).
El objetivo es la obtención de un conjunto de giros prohibidos ST(G) que rompa todos los posibles ciclos del grafo y, por tanto, permita difundir tramas sin peligro de bucles.
Up/Down es la aproximación más simple para la construcción de este conjunto de giros ST(G) libre de ciclos. Con ayuda del árbol de expansión T(G) los nodos son ordenados y se les asigna un identificador según su distancia al nodo raíz (medida en número de saltos) de manera que exista una regla clara que permita definir dados dos identificadores cuál es mayor. Los nodos situados en el mismo nivel respecto al nodo raíz se ordenan arbitrariamente (por ejemplo en función de su identificador de puente). Una vez que los nodos tienen asignado un identificador, un enlace a-‐b se considera hacia arriba (up) si b es mayor que a (b > a), en caso contrario, (a > b) el enlace a-‐b se considera hacia abajo (down). De esta manera un giro (a,b,c) se considera arriba/abajo (up/down) si se cumple que a < b and b > c. Por el contrario, si a > b and b < c el giro es abajo/arriba (down/up).
Para que se produzca un ciclo en el trayecto de una trama por la red, deben existir al menos un giro arriba/abajo (up/down) y otro abajo/arriba (down/up) que complete el ciclo, por ello, prohibiendo todos los giros de uno de los dos tipos, normalmente los del tipo abajo/arriba (down/up), se rompen todos los posibles ciclos en la topología a la vez que se garantiza la alcanzabilidad de todos los nodos.
El protocolo Up/Down se basa en la asignación de identificadores a los nodos siguiendo una secuencia desde la raíz, de manera que cuanto más lejos de la raíz se encuentre un nodo más alto será su identificador. En el ejemplo de la Ilustración 15, si aplicamos el criterio de prohibir los giros de tipo abajo/arriba (aquellos en los que el identificador del nodo intermedio es el numeral más alto y, por tanto, indica que se trata del nodo más alejado de la raíz de los tres que forman el giro), resultan prohibidos los giros: (3-‐4-‐2), (3-‐4-‐1), (2-‐4-‐1) y (4-‐6-‐5). Cada giro prohibido previene la formación de uno o más bucles en la red, por ejemplo, prohibiendo el giro (2,4,3) se garantiza que ninguna trama realizará el bucle 1-‐2-‐3-‐4 y prohibiendo el giro (4,6,5) se impiden los bucles 2-‐5-‐6-‐4, 1-‐2-‐5-‐6-‐4 y 1-‐2-‐ 5-‐6-‐4-‐3. Es importante destacar que los identificadores que utiliza Up/Down no aportan ningún tipo de información topológica, son planos. Además, el criterio de asignación de los mismos puede tener un efecto importante en la cantidad de giros prohibidos que resulte de su aplicación.
Otros protocolos de prohibición de giros como Turn Prohibition (TP) y Tree Based Turn Prohibition (TBTP) proponen mecanismos para asignar los identificadores mediante algoritmos de proceso sistemático (e iterativo) de la topología. Se van seleccionando los nodos de manera que se minimice el número de giros prohibidos resultante. Por ejemplo, en TP se toma como criterio el grado de los nodos (un nodo de grado alto situado muy abajo en el árbol producirá muchos giros prohibidos). Estos algoritmos garantizan que con un porcentaje de giros prohibidos bajo (hasta un tercio) se consiguen romper todos los posibles bucles en la topología, pero requieren el conocimiento completo de la misma (no son distribuibles), y cálculos complejos para garantizar que el proceso de asignación de identificadores no divide la red, por lo que se plantea partir del principio básico de
Up/Down que simplemente requiere de la formación de un árbol de expansión (algo ya disponible en Ethernet).
Una vez que se dispone de una topología activa libre de bucles, los nodos pueden intercambiar la información de encaminamiento necesaria para calcular las mejores rutas, pero siempre respetando los giros prohibidos.