Blog, (eduaraul)

Bienvenidos, en este blog encontraras temas relacionados con el mundo de las tecnologias de informacion, asi como de temas relacionados con telecomunicaciones.

Saludos a todos

Publicado en Sin categoría | 1 Comentario

El verdadero significado de programar,,.. en el presente!!

Que tal inges.. espero esten bien, les comento que encontre un articulo muy interesante que lo quiero compartir con todos, hecho por nuestro
inge Marlon Matus (de videoaprendizaje si se recuerdan que por cierto muy buenos videos), donde vemos algo sobre la programacion y las tendencias, que como todos sabemos muchos inges van y toman ese camino (yo estuve casi a punto de dedicarme solo a eso), aunque es un mundo muy entretenido y a muchos les gusta crear y diseñar aplicaciones.. a continuacion les dejo el articulo,, los creditos para Marlon y gracias por dicho articulo.

Actualmente las aplicaciones informáticas han tornado en un ambiente
diferente y necesidades diferente en las empresas de la actualidad. Las
Metodologías, Modelos y Arquitecturas han cambiando y ahora están
totalmente orientadas al web y a dispositivos móviles.

Me imagino que muchos han pasado tratando de actualizarse en los
lenguajes de programación para aplicaciones de escritorio. Me refiero
específicamente a aquellos veteranos programadores de Visual Basic 6.0
los cuales tuvieron la ardua tarea de aprender todo el paradigma de
orientación a objetos y la programación en .Net Estoy seguro que para
muchos eso fue un trauma tremendo que aún están superando.

El día de hoy, analizando el mercado y las plazas laborales veo mucha
tendencia a programar aplicaciones web y aplicaciones móviles. Es más,
he visto y he vivido la necesidad de empresas que buscan a personas que
manejan .Net pero con enfasis en ASP.Net, ya no se diga con tendencias a
programar con AJAX Toolkit y otras suites de controles. Realmente no he
visto compañías que estén buscando Analistas/Programadores para
aplicaciones de Escritorio.

Entonces el punto es ¿Nos actualizamos desde la vieja escuela del VB 6.0
al VB .Net para nada? En mi opinión no es ni un sí, ni un no.

¿Por qué? Visual Basic ya no es un entorno donde desarrollábamos
aplicaciones para instalarlas en equipos con Windows, ahora podríamos
decir que es un Lenguaje de Programación donde podemos desarrollar
aplicaciones para móviles, para Escritorio y también para la web.

Entonces no ha sido tan en balde actualizarnos a esta nueva versión,
pero para desarrollar aplicaciones web no es solamente necesario saber
la sintaxis de Visual Basic, así que  hay que meterse de fondo a
programar con Javascript y manejar CSS y todo lo de los controles AJAX.
Por otro lado veo la tendencia de la utilización de C# el cual es un
bello lenguaje de programación orientada a objetos que muchas personas
están utilizando en la actualidad. Entonces el escenario se pone peor.

En conclusión. Creo que la tendencia es el desarrollo de aplicaciones
orientadas al web y orientadas a móviles, por tanto tenemos que
profundizar nuestros conocimientos en esta área, por otro lado, la
actualización del profesional de la Informática es constante, así que no
nos aflijamos que estamos comenzando en esto y no podemos desvariar. Lo
importante es comenzar, tenemos que comenzar por algo y eso cada quien
es responsable de hacerlo. Por otro lado, pienso que un programador en
.Net debe manejar ambos lenguajes de programación (bueno, los más
comunes VB y C#, porque hay otros, ahora con Framework 4, tenemos F#)
para poder competir en el mercado.

Ánimo muchachos, sigamos preparando y actualizando nuestros conocimientos en estas temáticas.

Espero no haberlos aburrido con mis comentarios al respecto.

——————————
Los creditos para Marlon Matus Aronsonth

Saludos.

Raul E Flores

Publicado en Articulos varios sobre IT | Deja un comentario

Wake On LAN: prender un equipo de forma remota

Wake On LAN: ¿Qué es y para qué sirve?

Muchas veces es necesario acceder a una máquina remota por algún
motivo aunque puede que la necesidad sea eventual y no se justifique el
gasto de tenerla encendida todo el tiempo. Para estas oportunidades, la
técnica de Wake On LAN (WOL) es ideal. Básicamente, nos permite encender
un equipo utilizando como único medio la red local.

WOL tiene dos prerrequisitos fáciles de cumplir: requiere que la
computadora a ser encendida soporte WOL y esté conectada a una red
Ethernet. Su forma de funcionamiento es igualmente simple: se envía una
trama especial, llamada paquete mágico (magic packet), que contiene
dentro la dirección MAC de la PC a “despertar” repetida 16 veces. De
esta manera, la PC que está apagada recibe dicha trama, detecta el
paquete mágico y al verificar que la MAC contenida es la propia envía
una señal de encendido. Lógicamente, para que esto funcione es necesario
que la placa de red siga recibiendo energía, con lo cuál existe un
mínimo consumo.

Configurando WOL en la máquina destino.

Para habilitar WOL es necesario hacerlo primero desde el BIOS, desde
la sección Power Management (administración de energía). Allí se
encuentra una opción normalmente referida como Wake On LAN, Wake on MAC
LAN o algo parecido. Lógicamente, hay que habilitar dicha opción. En la
mayoría de los sistemas debería alcanzar con eso, dado que WOL es una
característica independiente del sistema operativo. No obstante, en un
caso (con un motherboard MSI K9N Neo) no me funcionó dicha opción y lo
habilité desde Linux. Por ello explicaré a continuación cómo hacerlo.

testing:~# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes

De la salida anterior importan particularmente dos opciones: Supports Wake-on y Wake-on. La primera de ellas, con una g indica que la placa de red soporta efectivamente WOL; la segunda, con una d indica que WOL está desactivado en esa interfaz. Para habilitarlo:

testing:~# ethtool -s eth0 wol g
testing:~# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: g
Link detected: yes

Despertando un equipo por LAN.

Para encender un equipo por LAN se necesita enviar el paquete mágico.
Hay varias utilidades que hacen esto. En Linux se puede utilizar wakeonlan y en Mac existe una utilidad free llamada WakeUp. Mikrotik también lo soporta con una utilidad propia, que se verá a continuación.

Utilizando wakeonlan en Linux.

Si el equipo a encender está en la misma red alcanza con el siguiente
comando, indicando sólo la MAC del mismo. En este caso se supone que la
MAC es 08:00:27:e8:02:6b.

leandro@megan:~$ wakeonlan 08:00:27:e8:02:6b
Sending magic packet to 255.255.255.255:9 with 08:00:27:e8:02:6b

Si el equipo está en otra red entonces son necesarios algunos pasos y parámetros adicionales:

  • La utilidad wakeonlan envía el paquete mágico al puerto 9 UDP. Por
    tal motivo, en caso de utilizar NAT es necesario redirigir ese puerto a
    la IP de la máquina destino. De le contrario será necesario sólo
    habilitarlo en el firewall.
  • La máquina que ejecute la utilidad para prender el equipo remoto
    debe ahora apuntar a la IP del router que redirigirá el paquete.

A continuación se muestran los parámetros del comando dado que no es
tema de este post explicar cómo redirigir puertos. Se supone aquí que el
router hace NAT y tiene la IP 10.0.0.1.

leandro@megan:~$ wakeonlan -i 10.0.0.1 08:00:27:e8:02:6b
Sending magic packet to 10.0.0.1:9 with 08:00:27:e8:02:6b

Utilizando la utilidad de Mikrotik.

Con un router Mikrotik, basta con especificar la MAC del sistema
destino y, opcionalmente, la interfaz mediante la cual dicho sistema se
conecta.

[leandro@MikroTik] > tool wol mac=08:00:27:e8:02:6b interface=LAN
Publicado en Linux Networking | Deja un comentario

Distribuciones Linux tambien para niños y niñas?..

 

No hay mejor manera de promover Linux y derribar algunos de sus mitos (como, por ejemplo, su extrema complejidad, etc.) que haciendo que los chicos empiecen, ya de bien chiquitos, a jugar con él y usarlo.

Por esta razón, analizaremos algunas de las distribuciones apropiadas para ellos. Antes de empezar, un comentario: sí, cualquier distro de Linux puede ser utilizada por un chico, mucho más hoy en día que los guiros.. vienen muy avispados. No obstante, hay algunas distros que son más amenas y fáciles de entender, especialmente para los más chicos.


Qimo para chicos: > 3 años

Qimo for Kids es una distro basada en Ubuntu con un escritorio diseñado exclusivamente para los más chicos. Viene con un montón de "juegos educativos" para niños mayores de 3 años preinstalados. La interfaz es bien sencilla e intuitiva y tiene íconos grandes y llamativos para que los chicos encuentren todo fácil.

Según los desarrolladores, la diferencia de Qimo con Edubuntu es que Qimo fue desarrollado para ser un sistema operativo de escritorio para la PC de cualquier chico, mientras que Edubuntu habría sido concebido para ser utilizado en una red de computadoras de una escuela. Además, Qimo posee una interfaz y un diseño muy fáciles de usar, sin menús complicados o ventanas múltiples. Por último, Qimo corre directamente desde el LiveCD sin necesidad de tener Ubuntu instalado previamente.

Qimo utiliza XFCE para brindar un entorno rápido y ultraligero. Los requisitos mínimos son: 256MB de memoria para correr desde el CD, o 192MB para instalar. Al menos 6GB de espacio en disco y procesador de 400MHz o más.

Sugar: < 6 años

Sugar es una distro basada en Fedora, diseñada exclusivamente para el famoso proyecto del Prof. Nicolas Negroponte’s One-Laptop-Per-Child (OLPC). Está orientada a niños menores de 6 años y es bastante diferente del resto de las distros, permitiéndoles divertirse pero también aprender y desarrollar sus habilidades de programación. Hay dos contras. La primera es que está enteramente diseñado para ser utilizado en clase. La segunda es que es tan diferente del resto de las distros y el entorno de escritorio difiere tanto del de cualquier Linux que al final pareciera que se está usando otro sistema operativo.

Edubuntu: 3-18 años

Ubuntu posee una versión derivada, soportada oficialmente por Canonical, llamada Edubuntu,  orientada específicamente a escuelas primarias y secundarias.

Esta distro viene en 3 "sabores": “young”, “plain” y “default”, para usuarios jóvenes, sólo el escritorio o una versión para uso general. El entorno de escritorio utilizado es el mismo de Ubuntu (GNOME) y las aplicaciones preinstaladas son OpenOffice.org, KDE Edutainment Suite y Gcompris. La KDE Edutainment Suite incluye aplicaciones para niños entre 3 y 18 años, mientras que Gcompris incluye aplicaciones para niños en edad prescolar.

LinuxKidX: 2-15 años

LinuxKidX fue diseñada para niños entre 2 y 15 años. Utiliza KDE como entorno de escritorio y está basado en slackware. Algunos de los programas preinstalados son KStars (un plantearia virtual), Kalzium (la famosa tabla de elementos), KTouch (tutor de tipeo), KGeography, KWordQuiz, ChildsPlay y muchos más. El proyecto pareciera no tener demasiada popularidad o apoyo de la comunidad. Por esta razón, sería recomendable correrlo primero desde el LiveCD y jugar un rato con él antes de instalarlo en forma definitiva.

Foresight for Kids: 3-12 años

Foresight for Kids es una distro derivada de Foresight Linux, orientada específicamente a niños entre 3 y 12 años de edad. Viene con GNOME como entorno de escritorio e incluye  Tuxpaint, Tuxtyping, Gcompris, Tux of Math Command, Super Tux, Super Tux Card, Foobillard, GNU Chess, Nibbles, Frozen Bubble, Super Maryo Chronicles, F-Spot Photo Manager, Firefox Web Browser, Banshee Media Player, Pidgin Instant Messenger y Totem Movie Player, entre otras. La atención de los niños es atraída inmediatamente por la abejita que aparece en el fondo de escritorio. Si estás buscando una distro para tu nene, probate esta distro que es muy buena.

¡Cuidado!

Sólo por las dudas: a menos que las corras desde el LiveCD, correr cualquiera de estas distros implica la instalación de un sistema operativo completo, no se trata de aplicaciones que se puede correr desde Windows así nomás….. los veo en un proximo tema… 
Publicado en Sin categoría | Deja un comentario

Uso de VLANS en VMware

Un tema que consume un tiempo importante en la curva de aprendizaje de la virtualización avanzada es la configuración detallada de VMware ESX server en ambientes complejos de networking donde es fundamental la correcta configuración de VLANS en el ambiente virtualizado, para permitir una correcta interaccion entre el mundo virtual y el físico. El concepto de VLANS o Virtual Local Area Networks ha estado en el mercado desde hace varios años desde la aparición del estándar 802.1q de la IEEE.

Basicamente el estándar tiene como propósito la segmentacion de un switch físico para que este se muestre a los usuarios como varios switches permitiendo una división de los dominios de colision Ethernet. Una misma VLAN puede estar presente en varios switches los cuales se conectan por medio de un puerto del mismo configurado en modo “TRUNK”. Al particionar un switch en VLANS estamos trabajando a nivel de capa 2 del modelo OSI. Por lo tanto a un nivel superior están las redes o subredes IP que es lo que contiene cada VLAN. Para poder comunicar estas VLANS tenemos que conectar las VLANS a un router o a un switch con capacidades de capa 3 del modelo OSI.

Networking, VLANS y VMWare ESX Server

VMware ESX Server presenta internamente un esquema de networking completo de switching el cual nos permite conectar las maquinas virtuales al mundo exterior utilizando switches virtuales con placas de red físicas haciendo de uplink a la red física o conectar maquinas virtuales entre si mismas utlizando switches virtuales internos. Como en el mundo físico, VMware nos permite utilizar VLANS en sus switches virtuales apoyándose en el estandar 802.1q y es aquí donde aparecen las complicaciones dado que se nos presentan tres diferentes opciones para la utilización de VLANS con VMware:

* Virtual Machine Guest Tagging (VGT Mode)

* External Switch Tagging (EST Mode)

* ESX Server Virtual Switch Tagging (VSTMode)

Cada una de estas opciones nos brinda diferentes formas de configurar nuestra infraestructura virtual para la interaccion con las VLANS del mundo físico.

Virtual Machine Guest Tagging (VGT Mode)

Con VGT podemos instalar un driver de VLAN en el sistema operativo lo que nos permitira transmitir por la o las places de red tramas ya marcadas con el VLAN ID indicado manteniendo este ID cuando las tramas son pasadas de switches virtuales a los físicos o en sentido contrario. Las ventajas de utilizar este método son

* El numero de VLANS por maquina virtual no esta limitado al numero de placas de red virtuales, lo que significa que la maquina virtual puede pertenecer a cualquier VLAN de la red.

* Si un equipo físico ya se encuentra corriendo un driver de VLANS seria lo mas conveniente virtualizar asi el equipo utilizando P2V para preservar estas configuraciones de marcado de VLANS.

Las desventajas son por ejemplo que no siempre se encuentra y si se encuentra configurar un driver de VLANS para los sistemas operativos Guests de las maquinas virtuales. Si no se posee un acelerador de VLANS físico el marcado de las VLANS nos consumirá una mayor cantidad de ciclos de procesador para esta tarea. Seria apropiado utilizar esta técnica si una única maquina virtual requiere pertenecer a 5 o mas VLANS.

External Switch Tagging (EST Mode)

Este modo de identificacion de VLANS se basa en el metodo de VLANS por puerto de switch físico, el cual indica que todas las tramas que accedan al switch físico por el puerto “X” pertenecen a la VLAN “Y”. Esto es beneficioso ya que los servidores físicos no se enteran que están utilizando VLANS ya que el encabezado de identificación es agregado y quitado a cada trama al ingresar y al salir del switch fisico. La desventaja de utilizar este método es que el numero de VLANS a utilizar esta limitado a la cantidad de placas de red físicas que tengamos disponibles en el servidor físico corriendo ESX Server.

 

ESX Server Virtual Switch Tagging (VSTMode)

Este método a mi entender es el más práctico en situaciones donde se utilizan varias VLANS en la red. Nos permite configurar un VLAN ID para cada port Group configurado en un virtual switch, en otras palabras, podemos conectar la cantidad de VLANS que deseemos creando un virtual switch para cada una. Todas las tramas transmitidas por maquinas virtuales conectadas a un port Group configurado con un VLAN ID saldran marcadas con el VLAN ID del por Group al mundo físico. Asi mismo en el camino inverso cuando lleva a un virtual switch una trama con un VLAN ID que le pertenece, remueve el encabezado agregado (el cual identifica la VLAN) y transmite la trama a la maquina virtual correspondiente. Las ventajas de utilizar este método son las siguientes:

* Diferentes VLANS pueden ser multiplexadas en una misma placa de red fisica permitiendo una consolidacion del trafico.

* Elimina la necesidad de utilizacion de un driver de VLAN en el sistema operativo Guest de la maquina virtual.

* Una vez que se configura el switch físico en modo trunk no se requiere ninguna otra configuracion permitiendo una configuracion de los switches fisicos simple.

En este último modo es donde generalmente más errores se cometen a la hora de configurar los port groups tanto de las máquinas virtuales como para el service console y en muchas situaciones en caso de equivocaciones o errores de conceptos sobre el funcionamiento de los port groups nos podemos quedar "afuera" del equipo sin acceso al management por medio del VI Client y tendremos que recurrir a la línea de comando para reconfigurar el vlan ID del service console.

Para finalizar, cuando se mezclan VLANS, VMware y servidores Blade la unica recomendacion es asegúrense de que las VLANS que sean requeridas por el mundo virtual sean correctamente presentadas a los puerto del switch del cajon de Blades donde estaran conectados los servidores físicos.

Fuente de donde tome el material: webcom.com.ar

Publicado en Linux Networking | 2 comentarios

Iniciando con Asterisk y los comandos de referencia

Hola como estan, espero que bien, les queria pedir una disculpa con respecto a los videotutoriales en referencia a tecnologias cisco, microsoft y linux solo termino de ajustar algunos detalles con Camtasia, y luego publicare los screancast que estaba por subir, continuando con las charlas tecnicas de Linux nos encontramos inevitablemente con Asterisk, Asterisk es una pbx elaborado por Marc Spencer (sino estoy mal asi se llama) de las mejores ya que permite mediante Softswitch hacer una pbx, ideal para un pequeño negocio o mediana organizacion, para lo que seria su solucion de telefonia y en este caso sobre IP, tiene algunos contras de igual manera (como todo lo que es open), ya que la curva de aprendizaje, la solucion de problemas y el soporte (si es que contratamos ese servicio) suele ser muy grande y tedioso y eso obliga o encamina a no dejarla como la solucion primaria a nuestras necesidades de PBX en organizaciones grandes en las que el impacto de la telefonia repercuta con el giro del negocio… bueno sin mas que decir de esta herramienta poco a poco platicare un poco mas de ella mientras tanto les dejo un screen de todos los comandos que se utilizan en Asterisk a fin les sirva de guia (comandos que se ejecutan en la CLI de asterisk para entrar en ella debes ingresar,, rasterisk y listo estaras en la CLI de asterisk)

pbx*CLI> help

                        !  Execute a shell command
               abort halt  Cancel a running halt
       ael debug contexts  Enable AEL contexts debug (does nothing)
         ael debug macros  Enable AEL macros debug (does nothing)
           ael debug read  Enable AEL read debug (does nothing)
         ael debug tokens  Enable AEL tokens debug (does nothing)
              ael nodebug  Disable AEL debug messages
               ael reload  Reload AEL configuration
             agent logoff  Sets an agent offline
               agent show  Show status of agents
        agent show online  Show all online agents
                agi debug  Enable AGI debugging
            agi debug off  Disable AGI debugging
             agi dumphtml  Dumps a list of agi commands in html format
                 agi show  List AGI commands or specific help
         cdr mysql status  Show connection status of cdr_mysql
               cdr status  Display the CDR status
       core clear profile  Clear profiling info
   core set debug channel  Enable/disable debugging on a channel
           core set debug  Set level of debug chattiness
       core set debug off  Turns off debug chattiness
          core set global  Set global dialplan variable
         core set verbose  Set level of verboseness
   core show applications  Shows registered dialplan applications
    core show application  Describe a specific dialplan application
   core show audio codecs  Displays a list of audio codecs
       core show channels  Display information on channels
        core show channel  Display information on a specific channel
   core show channeltypes  List available channel types
    core show channeltype  Give more details on that channel type
         core show codecs  Displays a list of codecs
          core show codec  Shows a specific codec
core show config mappings  Display config mappings (file names to config engines)
   core show file formats  Displays file formats
   core show file version  List versions of files used to build Asterisk
      core show functions  Shows registered dialplan functions
       core show function  Describe a specific dialplan function
        core show globals  Show global dialplan variables
          core show hints  Show dialplan hints
   core show image codecs  Displays a list of image codecs
  core show image formats  Displays image formats
        core show license  Show the license(s) for this copy of Asterisk
        core show profile  Display profiling info
       core show switches  Show alternative switches
        core show threads  Show running threads
    core show translation  Display translation matrix
         core show uptime  Show uptime information
        core show version  Display version info
   core show video codecs  Displays a list of video codecs
       core show warranty  Show the warranty (if any) for this copy of Asterisk
             database del  Removes database key/value
         database deltree  Removes database keytree/values
             database get  Gets database value
             database put  Adds/updates database value
            database show  Shows database contents
         database showkey  Shows database contents
   dialplan add extension  Add new extension into context
   dialplan add ignorepat  Add new ignore pattern
     dialplan add include  Include context in other context
          dialplan reload  Reload extensions and *only* extensions
dialplan remove extension  Remove a specified extension
dialplan remove ignorepat  Remove ignore pattern from context
  dialplan remove include  Remove a specified include from context
            dialplan show  Show dialplan
            dnsmgr reload  Reloads the DNS manager configuration
            dnsmgr status  Display the DNS manager status
              dundi debug  Enable DUNDi debugging
              dundi flush  Flush DUNDi cache
             dundi lookup  Lookup a number in DUNDi
           dundi no debug  Disable DUNDi debugging
   dundi no store history  Disable DUNDi historic records
           dundi precache  Precache a number in DUNDi
              dundi query  Query a DUNDi EID
      dundi show entityid  Display Global Entity ID
      dundi show mappings  Show DUNDi mappings
         dundi show peers  Show defined DUNDi peers
          dundi show peer  Show info on a specific DUNDi peer
      dundi show precache  Show DUNDi precache
      dundi show requests  Show DUNDi requests
         dundi show trans  Show active DUNDi transactions
      dundi store history  Enable DUNDi historic records
             feature show  Lists configured features
             file convert  Convert audio file
      group show channels  Display active channels with group(s)
                     help  Display help list, or specific help on a command
         http show status  Display HTTP server status
           iax2 provision  Provision an IAX device
      iax2 prune realtime  Prune a cached realtime lookup
              iax2 reload  Reload IAX configuration
           iax2 set debug  Enable IAX debugging
        iax2 set debug jb  Enable IAX jitterbuffer debugging
    iax2 set debug jb off  Disable IAX jitterbuffer debugging
       iax2 set debug off  Disable IAX debugging
     iax2 set debug trunk  Enable IAX trunk debugging
 iax2 set debug trunk off  Disable IAX trunk debugging
          iax2 show cache  Display IAX cached dialplan
       iax2 show channels  List active IAX channels
       iax2 show firmware  List available IAX firmwares
       iax2 show netstats  List active IAX channel netstats
          iax2 show peers  List defined IAX peers
           iax2 show peer  Show details on specific IAX peer
   iax2 show provisioning  Display iax provisioning
       iax2 show registry  Display IAX registration status
          iax2 show stats  Display IAX statistics
        iax2 show threads  Display IAX helper thread info
          iax2 show users  List defined IAX users
        iax2 test losspct  Set IAX2 incoming frame loss percentage
           indication add  Add the given indication to the country
        indication remove  Remove the given indication from the country
          indication show  Display a list of all countries/indications
                keys init  Initialize RSA key passcodes
                keys show  Displays RSA key information
      local show channels  List status of local channels
              logger mute  Toggle logging output to a console
            logger reload  Reopens the log files
            logger rotate  Rotates and reopens the log files
     logger show channels  List configured log channels
     manager show command  Show a manager interface command
    manager show commands  List manager interface commands
   manager show connected  List connected manager interface users
      manager show eventq  List manager interface queued events
       manager show users  List configured manager users
        manager show user  Display information on a specific manager user
                   meetme  Execute a command on a conference or conferee
      mgcp audit endpoint  Audit specified MGCP endpoint
              mgcp reload  Reload MGCP configuration
           mgcp set debug  Enable MGCP debugging
       mgcp set debug off  Disable MGCP debugging
      mgcp show endpoints  List defined MGCP endpoints
               mixmonitor  Execute a MixMonitor command.
              module load  Load a module by name
            module reload  Reload configuration
              module show  List modules and info
         module show like  List modules and info
            module unload  Unload a module by name
               moh reload  Music On Hold
         moh show classes  List MOH classes
           moh show files  List MOH file-based classes
         no debug channel
                originate  Originate a call
           pri debug span  Enables PRI debugging on a span
   pri intense debug span  Enables REALLY INTENSE PRI debugging
        pri no debug span  Disables PRI debugging on a span
       pri set debug file  Sends PRI debug output to the specified file
           pri show debug  Displays current PRI debug settings
           pri show spans  Displays PRI Information
            pri show span  Displays PRI Information
     pri unset debug file  Ends PRI debug output to file
         queue add member  Add a channel to a specified queue
      queue remove member  Removes a channel from a specified queue
               queue show  Show status of a specified queue
            realtime load  Used to print out RealTime variables.
    realtime mysql status  Shows connection information for the MySQL RealTime driver
          realtime update  Used to update RealTime variables.
       restart gracefully  Restart Asterisk gracefully
              restart now  Restart Asterisk immediately
  restart when convenient  Restart Asterisk at empty call volume
            rtcp debug ip  Enable RTCP debugging on IP
               rtcp debug  Enable RTCP debugging
           rtcp debug off  Disable RTCP debugging
               rtcp stats  Enable RTCP stats
           rtcp stats off  Disable RTCP stats
             rtp debug ip  Enable RTP debugging on IP
                rtp debug  Enable RTP debugging
            rtp debug off  Disable RTP debugging
                 say load  set/show the say mode
         show parkedcalls  Lists parked calls
              show queues
              sip history  Enable SIP history
          sip history off  Disable SIP history
               sip notify  Send a notify packet to a SIP peer
       sip prune realtime  Prune cached Realtime object(s)
  sip prune realtime peer  Prune cached Realtime peer(s)
  sip prune realtime user  Prune cached Realtime user(s)
               sip reload  Reload SIP configuration
            sip set debug  Enable SIP debugging
         sip set debug ip  Enable SIP debugging on IP
        sip set debug off  Disable SIP debugging
       sip set debug peer  Enable SIP debugging on Peername
        sip show channels  List active SIP channels
         sip show channel  Show detailed SIP channel info
         sip show domains  List our local SIP domains.
         sip show history  Show SIP dialog history
           sip show inuse  List all inuse/limits
         sip show objects  List all SIP object allocations
           sip show peers  List defined SIP peers
            sip show peer  Show details on specific SIP peer
        sip show registry  List SIP registration status
        sip show settings  Show SIP global settings
   sip show subscriptions  List active SIP subscriptions
           sip show users  List defined SIP users
            sip show user  Show details on specific SIP user
             skinny reset  Reset Skinny device(s)
         skinny set debug  Enable Skinny debugging
     skinny set debug off  Disable Skinny debugging
      skinny show devices  List defined Skinny devices
        skinny show lines  List defined Skinny lines per device
        sla show stations  Show SLA Stations
          sla show trunks  Show SLA Trunks
              soft hangup  Request a hangup on a given channel
          stop gracefully  Gracefully shut down Asterisk
                 stop now  Shut down Asterisk immediately
     stop when convenient  Shut down Asterisk at empty call volume
               stun debug  Enable STUN debugging
           stun debug off  Disable STUN debugging
          transcoder show  Display Zaptel transcoder utilization.
              udptl debug  Enable UDPTL debugging
           udptl debug ip  Enable UDPTL debugging on IP
          udptl debug off  Disable UDPTL debugging
     voicemail show users  List defined voicemail boxes
     voicemail show zones  List zone message formats
      zap destroy channel  Destroy a channel
              zap restart  Fully restart zaptel channels
        zap show cadences  List cadences
        zap show channels  Show active zapata channels
         zap show channel  Show information on a channel
          zap show status  Show all Zaptel cards status

Saludos los veo luego….

Publicado en Linux Networking | Deja un comentario

Enrutamiento Dinamico

Las rutas estáticas, nos proporcionaban una serie de características que para determinados
escenarios podían ser interesantes. Recordemos que este tipo de
enrutamiento no imponía sobrecarga en los routers ni en los enlaces de
red y era fácil de configurar. Pero a la vez presenta graves
limitaciones como la poca escalabilidad y falta de adaptabilidad a
fallas. Situaciones en las que es aconsejable el uso de las rutas
estáticas son las siguientes:

  1. Un circuito de datos que es poco fiable y deja de
    funcionar constantemente. En estas circunstancias, un protocolo de
    enrutamiento dinámico podrá producir demasiada inestabilidad, mientras
    que las rutas estáticas no.

  2. Existe una sola conexión con un solo ISP. En lugar de
    conocer todas las rutas globales de Internet, se utiliza una sola ruta
    estática.

  3. Se puede acceder a una red a través de una conexión
    de acceso telefónico. Dicha red no puede proporcionar las
    actualizaciones constantes que requieren un protocolo de enrutamiento
    dinámico.

  4. Un cliente o cualquier otra red vinculada no desean
    intercambiar información de enrutamiento dinámico. Se puede utilizar una
    ruta estática para proporcionar información a cerca de la
    disponibilidad de dicha red.

Para resolver algunos de los problemas que presenta
el enrutamiento estático aparecen los protocolos de enrutamiento
dinámico que presentan las siguientes características:

  • Escalables y adaptables.
  • Originan sobrecargas en la red.
  • Presentan recuperación frente a fallas.

Por lo tanto los protocolos de enrutamiento dinámico
son usados por los enrutadores para descubrir automáticamente nuevas
rutas permitiendo a los administradores dejar que la red se regule de
una forma automática, pero al precio de un mayor consumo de ancho de
banda y potencia del procesador en tareas de adquisición y mantenimiento
de información de enrutamiento.

Antes de meternos de lleno en la explicación debemos
aclarar brevemente una serie de conceptos que nos pueden ser útiles.

Convergencia: Es el
objetivo principal de todos los protocolos de enrutamiento. Cuando un
conjunto de enrutadores converge significa que todos sus elementos se
han puesto de acuerdo y reflejan la situación real del entorno de red
donde se encuentran. La velocidad con la que los protocolos convergen
después de un cambio es una buena medida de la eficacia del protocolo de
enrutamiento.

Distancia administrativa y métrica:
Es una medida de la confianza otorgada a cada fuente de información de
enrutamiento Cada protocolo de enrutamiento lleva asociado una distancia
administrativa. Los valores más bajos significan una mayor fiabilidad.
Un enrutador puede ejecutar varios protocolos de enrutamiento a la vez,
obteniendo información de una red por varias fuentes. En estos casos
usará la ruta que provenga de la fuente con menor distancia
administrativa de los protocolos de enrutamiento.

Sistema autonomo (SA): Es
un conjunto de enrutadores, generalmente administrados por una entidad
común, que intercambian información de enrutamiento mediante un
protocolo de enrutamiento común. Los sistemas autónomos poseen un
identificador numérico de 16 bits.

Se puede realizar una primera clasificación de los
protocolos de enrutamiento en función de si actúan dentro de un sistema
autónomo(IGP) o exteriores que conectan sistemas autónomos (EGP).

Los protolocolos internos (IGP, Interior Gateway
Protocol) permiten el intercambio de información dentro de un sistema
autónomo. Ejemplos de protocolos internos son RIP (Routing Information
Protocol), RIPv2 (RIP version 2), IGRP (Iter-Gateway Routing Protocol),
EIGRP (Enhanced IGRP) y OSPF (Open Shortest Path First).

Los protocolos externos (EGP, Exterior Gateway
Protocol) interconectan sistemas autónomos. Un ejemplo de protocolo de
enrutamiento de este tipo es el BGP (Border Gateway Protocol, Protocolo
de Pasarela de frontera).

También pueden clasificarse los protocolos de
enrutamiento dinámico en función del algoritmo utilizado para llevar a
cavo el enrutamiento. Existen tres grandes categorias:

– Protocolos de vector distancia.

Buscan el camino más corto determinando la dirección y
la distancia a cualquier enlace. Estos algoritmos de enrutamiento
basados en vectores, pasan copias periódicas de una tabla de
enrutamiento de un router a otro y acumulan vectores distancia. Las
actualizaciones regulares entre routers comunican los cambios en la
topología..

Este algoritmo genera un número, denominado métrica
de ruta, para cada ruta existente a través de la red. Normalmente cuanto
menor es este valor, mejor es la ruta. Las métricas pueden calcularse
basándose en una sola o en múltiples características de la ruta. Las
métricas usadas habitualmente por los routers son:

– Numero de saltos: Número de routers
por los que pasará un paquete.
– Pulsos: Retraso en un enlace de datos usando pulsos
de reloj de PC.
– Coste: Valor arbitrario, basado generalmente en el
ancho de banda, el coste económico u otra medida.
– Ancho de banda: Capacidad de datos de un enlace.
– Retraso: Cantidad de actividad existente en un
recurso de red, como un router o un enlace.
– Carga: Cantidad de actividad existente en un recurso
de red, como un router o un enlace.
– Fiabilidad: Se refiere al valor de errores de bits de
cada enlace de red.
– MTU: Unidad máxima de transmisión. Longitud máxima de
trama en octetos que puede ser aceptada por todos los enlaces de la
ruta.

RIP,RIPv2,IGRP, son protocolos característicos de
vector distancia.

– Protocolos de estado de enlace.

Los protocolos de estado de enlace crean tablas de
enrutamiento basándose en una base de datos de la topología. Esta base
de datos se elabora a partir de paquetes de estado de enlace que se
pasan entre todos los routers para describir el estado de una red.
Utiliza paquetes de estado de enlace (LSP), una base de datos
topológica, el algoritpo SPF, el árbol SPF resultante y por último, una
tabla de enrutamiento con las rutas y puertos de cada red.

Sus principales características son las siguientes:

  1. Solo envían actualizaciones cuando hay cambios de topología por lo
    que las actualizaciones son menos frecuentes que en los protocolos por
    vector distancia.
  2. Las redes que ejecutan protocolos de enrutamiento por estado de
    enlace pueden ser segmentadas en distintas áreas jerárquicamente
    organizadas, limitando así el alcance de los cambios de rutas.
  3. Las redes que se ejecutan protocolos de enrutamiento por estado de
    enlace soportan direccionamiento sin clase.

El protocolo característico es es OSPF.

– Protocolos híbridos.

Son algoritmos que toman las características más
sobresalientes del vector de distancia y la del estado de enlace. Estos
protocolos utilizan la métrica de los protocolos vector distancia como
métrica, sin embargo utilizan en las actualizaciones de los cambios de
topología bases de datos de topología, al igual que los protocolos de
estado del enlace. ejemplos característicos de protocolos híbridos son
BGP y EIGRP.

Terminaremos esta breve introducción con dos tablas:
una comparativa entre vector distancia y estado de enlace y otra tabla
con los protocolos que iremos explicando en sucesivos posts.

Vector Distancia

Estado de enlace

Vista de la topología de la
red desde la perspectiva del
vecino

Consigue una vista común
de toda la topología de la red

Añade vectores de distancias
de router a router

Calcula la ruta más corta
hasta otros routers

Frecuentes actualizaciones
periódicas, convergencia
lenta

Actualizaciones activadas
por eventos, convergencia
rápida

Pasa copias de la tabla de
enrutamiento a los routes
vecinos

Pasa las actualizaciones de
enrutamiento de estado del
enlace a los otros routers

(*) Comparativa entre vector distancia y estado de
enlace.

CARCT. RIP OSPF IGRP EIGRP
Tipo Vector-Dist. Estado-enlace Vector-Dist Vector-Dist.
Tiempo de converg. Lento Rápido Lento Rápido
Soporta VLSM No Si No Si
Consumo de A. B. Alto Bajo Alto Bajo
Consumo de recursos Bajo Alto Bajo Bajo
Mejor escalamiento No Si Si Si
De libre uso o propietario Libre Uso Libre Uso Propietario Propietario
Publicado en CISCO | Deja un comentario