Instrucciones¶
Cada acción de la simulación (crear, conectar, enviar, etc) está definda por una instrucción. Todas las instrucciones son de la forma:
<time> <action> <args1>
donde time es el milisegundo en el que se ejecutará la instrucción, action la instrucción en sí y args los argumentos de la misma.
Acontinuación se muestran las instrucciones válidas que nesim puede reconocer.
Crear hub¶
<time> create hub <hub_name> <ports_count>
hub_name : Nombre del hub
ports_count : Cantidad de puertos
Ejemplo: 0 create hub H 4
Crear switch¶
<time> create switch <switch_name> <ports_count>
switch_name : Nombre del switch
ports_count : Cantidad de puertos
Ejemplo: 0 create switch S 4
Crear router¶
<time> create router <router_name> <interfaces>
router_name : Nombre del router
interfaces : Cantidad de interfases del router
Ejemplo: 0 create router R 4
Conectar¶
<time> connect <port1> <port2>
port1, port2 : Nombres de los puertos a conectar.
Ejemplo: 0 connect PC_1 H_2
Enviar¶
<time> send <host_name> <data>
host_name : Nombre del host que enviará la información.
data : Serie de bits a evniar.
Ejemplo: 0 send PC 10111010
Enviar Frame¶
<time> send_frame <host_name> <destiny_mac> <hex_data>
host_name : Nombre del host que enviará la información.
destiny_mac : Dirección MAC destino.
hex_data : Serie de bits a evniar en hexagesimal.
Ejemplo: 0 send_frame PC 03EC F2CC48A3
Al enviar un frame existe la probabilidad que los datos cambien debido a la simulación de errores. Esta probabilidad es bastante baja y será señalado por cada frame si existe en el log de los datos recibidos de cada host.
Enviar paquete IP¶
<time> send_packet <host_name> <destiny_ip> <hex_data>
host_name : Nombre del host que enviará la información.
destiny_ip : Dirección IP destino.
hex_data : Serie de bits a evniar en hexagesimal.
Ejemplo: 0 send_packet PC 10.6.100.20 F2CC48A3
Asignar Mac¶
<time> mac <device_name>[:<interface>] <mac>
device_name : Nombre del dispositivo.
interface : Interfase a la que se le assigna la Mac
mac : Mac a asignar.
Ejemplos:
0 mac PC 000A
0 mac routerA:3 00A3
Asignar IP¶
<time> ip <device_name>[:<interface>] <ip> <mask>
device_name : Nombre del dispositivo.
interface : Interfase a la que se le assigna la dirección IP
ip : IP a asignar.
mask : Máscara para identificar la subred.
Ejemplos:
0 ip PC 10.6.100.20 255.255.255.0
0 ip routerA:3 10.6.100.1 255.255.0.0
Editar las rutas de host o routers¶
<time> route <action:[add|remove|reset]> <device_name> <ip> <mask> <gateway> <interface>
action : Una de las 3 opciones (
add,removeoreset). Crea, eleimina (una ruta) o reseta las rutas de un dispositivo.device_name : Nombre del dispositivo.
ip : IP de la ruta.
mask : Máscara de la ruta.
gateway : Puerta de salida. Es el IP al cual se enviarán los datos que sean enrutados por esta ruta. Si es 0.0.0.0 entonces se envian directamente a la dirección IP de destino que tenía el paquete.
interface : Interfase por la cual saldrán los paquetes que sean enrutados por esta ruta
Ejemplos:
0 route add routerA 10.6.122.0 255.255.255.0 10.6.100.122 1
0 route remove routerA 10.6.122.0 255.255.255.0 10.6.100.122 1
0 route reset routerA