Simulación

class NetSimulation(output_path='output')

Clase principal encargada de ejecutar una simulación.

Parameters

output_path (str) – Ruta donde se guardarán los logs de la simulación al finalizar. la misma. (Por defecto es output).

add_device(device)

Añade un dispositivo a la simulación.

Parameters

device (Device) – Dispositivo a añadir.

assign_ip_addres(device_name, ip, mask, interface)

Asigna una dirección mac a un host.

Parameters
  • device_name (str) – Nombre del dispositivo al cual se le asigna la dirección mac.

  • mac (List[int]) – Dirección mac.

  • ip (nesim.ip.IP) –

  • mask (nesim.ip.IP) –

  • interface (int) –

assign_mac_addres(device_name, mac, interface)

Asigna una dirección mac a un host.

Parameters
  • device_name (str) – Nombre del dispositivo al cual se le asigna la dirección mac.

  • mac (List[int]) – Dirección mac.

connect(port1, port2)

Conecta dos puertos mediante un cable.

Parameters
  • port1 (str) – Nombres de los puertos a conectar.

  • port2 (str) – Nombres de los puertos a conectar.

disconnect(port)

Desconecta un puerto.

Parameters

port (str) – Puerto a desconectar.

property is_running

Indica si la simulación todavía está en ejecución.

Type

bool

ping_to(host_name, ip_dest)

Ejecuta la instrucción ping.

Parameters
  • host_name (str) – Host que ejecuta la acción.

  • ip_dest (IP) – IP destino.

Raises

ValueError – Si el host no existe.

route(device_name, action='reset', route=None)

Ejecuta una de las acciones realcionadas con las rutas: add, remove, reset

Parameters
  • device_name (str) – Nombre del dispositivo al que se le ejecuta la acción.

  • action (str, optional) – Acción a ejecutar.

  • route (Route, optional) – Ruta a añadir o eliminar.

send(host_name, data, package_size=8)

Ordena a un host a enviar una serie de datos determinada.

Parameters
  • host_name (str) – Nombre del host que enviará la información.

  • data (List[int]) – Datos a enviar.

  • package_size (int) –

send_frame(host_name, mac, data)

Ordena a un host a enviar un frame determinado a una dirección mac determinada.

Parameters
  • host_name (str) – Nombre del host que envía la información.

  • mac (List[int]) – Mac destino.

  • data (List[int]) – Frame a enviar.

send_ip_package(host_name, ip_dest, data)

Env’ia un paquete IP a una dirección determinada.

Parameters
  • host_name (str) – Host que envía el paquete.

  • ip_dest (IP) – Dirección IP destino.

  • data (List[int]) – Datos a enviar.

Raises

ValueError – Si el host no existe.

start(instructions)

Comienza la simulación dada una lista de instrucciones.

Parameters

instructions (List[Instruction]) – Lista de instrucciones a ejecutar en la simulación.

update()

Ejecuta un ciclo de la simulación actualizando el estado de la misma.

Esta función se ejecuta una vez por cada milisegundo simulado.