Ejercicio 4.6.7, costos enlaces

Re: Ejercicio 4.6.7, costos enlaces

de Javier Baliosian -
Número de respuestas: 0
hola 


si, es una carencia del DisJ. una posibilidad es hacer algo como lo que sugerís, con un mapa de costos por puerto de salida mantenido en cada entidad y preocuparse de que haya coherencia entre las tablas de las entidades. no es tan loco. sería como configurarle un costo administrativo a la interfaz de un router en la realidad. 

otra forma puede ser usar los Delay Seed (el delay de un link) que se pueden setear via la interfaz del DisJ (ver el cookbook) como propiedades de los links y que es un costo de lo más razonable a para usar. 

el problema con eso es que para acceder a ese valor en el DisJ, tal como está ahora, desde una implementación de la clase Entity hay que dar una vuelta un poco rara. la clase GraphFactory tiene un método estático getGraphList() a partir del que pueden obtener el Graph. con el Graph pueden obtener los Edge y de los Edge puede obtener los delays. es un lio que se resolvería con un cambio menor al código de DisJ que, casualmente, pueden encontrar en: 

y ¿qué mejor que hacer un aporte al simulador y agregarle un método que devuelva el delay del enlace en un puerto dado? ¿no? si bien desde el punto de vista del realismo de la herramienta sería un poco raro ya que el delay de un enlace no es algo que se pueda consultar simplemente en un dispositivo, podría ser útil para experimentar y validar protocolos.

Se me acaba de ocurrir que hasta podrían mandar un pseudo ping y averiguar el RTT del enlace y deducir un costo así.  

en resumen: experimenten y documenten. 

saludos, 

J