Video para el calculo de subredes

En este vídeo describo como armar una matriz para calculo “instantáneo” de subredes

(en algún vídeo futuro dedicare un poco de tiempo a explicar ¿por que hacer subredes? pero bueno como digo este blog es un poco caótico)

Matriz Simple / Calculo Instantaneo

Advertisements

Flow control / control de flujo

Flow control / control de flujo

20150831_122023

Que es Control de Flujo? Que es RTS/CTS? Que es Xon/Xoff?
Control de Flujo, se refiere al control del flujo de datos entre los dispositivos conectados en modo serial (directamente o a travez de modems),
Cuando los datos son recibidos pasan a formar parte de un proceso, por ejemplo son representados en una pantalla (esta tarea no requiere uso intensivo de procesador)  otro ejemplo seria la interpretación, verificación de sintaxis, y posterior compilación para crear un archivo de configuración (esta tarea requiere bastante uso de procesador)
Cuando el procesador esta muy ocupado, puede suceder que no alcance a leer los datos antes de que estos sean sobre escritos.
Para evitar estas situación se desarrollaron dos mecanismos uno por hardware RTS/CTS y otro por software Xon/Xoff :

RTS/CTS cuando un equipo requiere enviar datos a otro, pide permiso para hacerlo levantando una señal (una tension en el conector serial en la clavija que el protocolo define como RTS) Request To Send (pedido para transmitir) y no puede trasmitir hasta tanto el otro equipo le conteste CTS Clear To Send (listo para trasmitir), es decir el equipo que recibe puede usar este mecanismo para manejar la cantidad de datos que le llegan en base a su posibilidad de procesarlos.

Xon/Xoff esta es una alternativa para manejar la llegada de datos en este caso es el receptor el que envia el comando Xoff al transmisor con esta orden le dice que detenga la transmisión, cuando el receptor termina de procesar todos los datos del buffer envia un Xon (esta es la señal que espera el trasmisor para reanudar el envío de datos).

Re-usando configuraciones de 2950 en 3560-X

Reusando configuraciones de 2950 en 3560-X

20150910_190201

En mi empresa decidieron actualizar la red cambiando los switches 2950 por 3560X
Tenemos casi 100 2960.
También actualizamos la versión de IOS a c3560e-universalk9-mz.150-2.SE7
el procedimiento que utilizamos para hacer la migración fue el siguiente
1.- nos conectamos a cada 2960 y ejecutamos el comando “show running-config” de forma que nos quedo en el log del emulador de tty toda la configuración
2.- salvamos cada configuración en un archivo con un nombre significativo (ej “lima_refrigeracion_1a”)
3.- elegimos la configuración mas compleja y la cargamos en un 3560x .
4.- tuvimos que borra los encabezados que quedaron en el log (MOTD.. comandos ..etc)
5.- Claramente encontramos que ya no teníamos Fast ethernet ahora las placas son Giga
6.- También encontramos cambios de sintaxis
Por lo tanto escribí el siguiente script SED para hacer todos los cambios en todos los archivos

#!/bin/bash
#
if [ “$1” == “–h” ] || [ “$1” == “–help” ];then
echo “# “
echo “# USAGE :   ~/converter  ”
echo “# You must be current in the dir that contain all the configurations”
echo “# the script create one dir (./new) and store the new configuration there with same name”
echo “#”
exit 1
#
for i in ` ls `
do
sed ‘ 1,/version/d ; s/FastEthernet/gi/g ; s/switchport mode trunk/switchport trunk encapsulation dot1q\n &/ ;  /^end/,$d ‘ $i  > ./new/$i
#
# 1,/version/d          desde la linea 1 hasta donde encuentres “version” deletear
# s/FastEthernet/gi/g     sustituir FastEthernet por gi globalmente
# s/switchport mode trunk/switchport trunk encapsulation dot1q\n &/  lo mismo (sustituir) pero agregando un newline (\n) y la linea sustituida (&)  
# /^end/,$d          desde la linea que empieza(^end) con end borrar hasta (,$d) final
#
done

Copy/Paste en la consola Cisco

Copy/Paste en la consola Cisco

cielito

Dado que Cisco no implementa control de flujo (flow control ) en el conector serial de consola no es aconsejable el “PASTE” de grandes configuraciones ya que este procedimiento podría provocar el llenado del buffer de recepción (buffer overun) y generar fallos en la configuración.

Yo escribí este pequeño script que enviá caracter a caracter con un retardo entre ellos, permitiendo que el switch/router procese los datos y no se desborde el buffer.

#!/bin/bash
#
if [ “$1” == “”  ] || [ “$1” == “–h” ] || [ “$1” == “–help” ];then
echo “# “
echo “# USAGE :   ~/typer  CONFIG_FILE.BCK  >/dev/ttyUSB0”
echo “# You must use your device changing de X /dev/ttyUSBX”
echo “# usefull to up load cisco configurations in  “TYPED” mode “
echo “# before run the command in the tty(like Putty)”
echo “# you must give the command config term (to start config mode)”
echo “#”
exit 1
fi
awk  ‘{ for(i=1; i<=length; i++) {
          for(j=1; j <= 500000; j++ ) {
          }
          printf substr($0,i,1)
        }
}’ $1