
Figura 3. Ruteo proactivo.
otros vecinos cada vez m
´
as lejanos al nodo que inicialmente
distribuye la informaci
´
on, luego ser
´
a responsabilidad de cada
nodo decidir si la informaci
´
on recibida le es de utilidad o no.
En la figura 3 se muestra un ejemplo de una red junto con las
respectivas tablas de ruteo en cada nodo, en la misma puede
verse la estructura del
´
arbol binario y las rutas por defecto
que se instalan hacia los predecesores de primer orden y
sucesores de primer orden.
II-E. Conexi
´
on de nodos en ANTop
En el protocolo ANTop no hay ning
´
un servidor central
ni jerarqu
´
ıas, por lo tanto todos los nodos tienen la misma
funcionalidad. Lo primero que necesita un nodo para conec-
tarse es obtener una direcci
´
on primaria, ya que de otra forma
no podr
´
ıa ser distinguido de otros nodos. Una vez obtenida,
puede comenzar a enviar y recibir paquetes de otros nodos,
as
´
ı como a ceder su espacio de direcciones o adquirir
direcciones secundarias para mejorar la conectividad.
II-E0a. Establecimiento de conexi
´
on: Cuando un no-
do desea conectarse a la red primero tiene que obtener una
direcci
´
on primaria. Para ello, debe notificar a sus vecinos pa-
ra que
´
estos le ofrezcan direcciones primarias. Esto lo hace
enviando un paquete de tipo PAR (Primary Address Request)
en modo broadcast, para que todos sus vecinos lo reciban y
respondan a su vez con un paquete PAP (Primary Address
Proposal), sugiriendo direcciones primarias. El primer nodo
que se conecta a la red (es decir que no existe ning
´
un otro
nodo en su
´
area de cobertura), no recibir
´
a respuesta a cambio
del env
´
ıo del paquete PAR. Por esta raz
´
on el mismo asignar
´
a
la primera direcci
´
on del hipercubo cuyos bits tiene un valor
cero en su totalidad. El segundo nodo que quiera conectarse
a la red, enviar
´
a un paquete PAR, en modo broadcast, y
cuando el primer nodo participante de la red, recibe dicho
pedido, debe responder con un paquete PAP, cuyo destino
ser
´
a la direcci
´
on del segundo nodo, es decir que no ser
´
a
enviado en modo broadcast. Luego de enviar el PAR, el nodo
2 espera un determinado tiempo para colectar las ofertas
de direcci
´
on R y vencido dicho intervalo, elige la opci
´
on
con mayor m
´
ascara. Es decir, el espacio de direcciones m
´
as
grande. En este caso, solo recibir
´
a una respuesta del nodo 1.
Una vez que el segundo nodo acepta la direcci
´
on, lo anuncia
enviando un paquete PAN (Primary Address Notification)
al nodo 1, notificando que acepta su propuesta y que
´
este
incremente su m
´
ascara a un valor de uno. Notar que el
mensaje PAN se env
´
ıa en modo broadcast para que todos
los nodos que propusieron una direcci
´
on sepan que una fue
elegida. El nodo que ofreci
´
o la direcci
´
on elegida ceder
´
ıa
ese espacio de direcciones, y se enviar
´
a un paquete de tipo
PANC (Primary Address Notification Confirmation). Si el
paquete PAN que env
´
ıa el nodo que quiere conectarse a la
red, se perdiese, entonces el nodo que ofreci
´
o la direcci
´
on
elegida no enviar
´
a el PANC, y por lo tanto el proceso de
conexi
´
on del nuevo nodo queda incompleto. Frente a este
escenario, el nodo entrante vuelve a iniciar el ciclo de env
´
ıo
de paquetes PAR.
II-E0b. Direcci
´
on estable: Una vez que el proceso
de conexi
´
on de un nodo a finalizado, el mismo tiene una
direcci
´
on R en el hipercubo y ser
´
a vecino de todos aquellos
nodos que cumplan con dos condiciones:
Estar adentro del alcance de la placa inal
´
ambrica
Diferencia de un bit en las direcciones R.
Al momento de rutear un paquete, cada nodo debe tener
conocimiento de cuales de sus vecinos est
´
an activos en la
red, de lo contrario, se perder
´
an paquetes por ser reenviados
a nodos que ya no forman parte de la red. Para lograr
esto, cada nodo env
´
ıa peri
´
odicamente un paquete de control
del tipo HB (Heart Beat) en modo broadcast. Cuando un
nodo recibe un HB, chequean en su tabla de vecinos si ya
tiene registrado el origen como un vecino. En caso negativo,
agrega una entrada al final de la tabla (generada por una
lista de registros), en caso positivo se marca mediante una
bandera que un nuevo HB ha sido recibido para ese nodo.
Peri
´
odicamente, se recorre la tabla de vecinos y se chequean
cuales vecinos no han enviado HB. En esos casos, se da un
valor de uno a una variable que representa la cantidad de
veces que no se ha recibido este aviso de actividad. Se repite
este mecanismo, y se incrementa la variable si corresponde.
Cuando llega un HB de ese vecino, la variable toma un valor
nulo nuevamente. Cuando la misma llega un determinado
valor m
´
aximo, configurable, se considera que el nodo ya no
est
´
a en la red.
II-F. Establecimiento de direcci
´
on secundaria
Dado que este tipo de direcciones tienen el objetivo de
mejorar la conexidad de los nodos, solamente se realizan una
vez finalizado el proceso de direcci
´
on primaria. Adem
´
as,
dicha direcci
´
on est
´
a supeditada a la primaria. Dado que
los nodos conectados se env
´
ıan peri
´
odicamente paquetes
HB, cada nodo al recibirlo puede comprobar si hay alguna
direcci
´
on secundaria para asignarse y obtener conectividad
con el vecino que env
´
ıo el paquete. Si es posible asignar
una direcci
´
on, entonces se env
´
ıa un paquete SAP (Secondary
Address Proposal), y se espera un paquete SAN (Secondary
Address Notification) en respuesta. El paquete SAP contiene
la direcci
´
on secundaria con el cual el nodo que lo reciba,
tendr
´
a conectividad con el emisor del paquete. En el caso
que el vecino responda con el paquete SAN, el emisor del
paquete SAP se auto asigna la direcci
´
on secundaria creando
un enlace secundario. Luego de haber enviado un paquete
SAP como propuesta de direcci
´
on secundaria, se espera un
temporizador en el cual no se enviar
´
a paquetes SAP como
propuesta a otros nodos, si no que se espera la confirmaci
´
on
SAN del vecino con el que se est
´
a negociando un enlace
secundario. El nodo que recibe el paquete SAP, aparte de
reenviar el mensaje de confirmaci
´
on SAN, agrega como
vecino la direcci
´
on secundaria propuesta y lo marca con
conectividad por enlace secundario.
Revista elektron, Vol. 2, No. 2, pp. 71-82 (2018)
http://elektron.fi.uba.ar