viernes, 31 de octubre de 2014

Cisco Router Fast Switching y CEF


Al principio Cisco Routers usan internamente una lógica llamada "process switching " , por ahí de los años 80s y principios de los 90s,

"Process switching " funciona básicamente como un proceso de routing normal sin ninguna optimizan ( recibir el paquete , desencapsular , ver la dirección IP destino , revisar la tabla de ruteo , enviarla por la interfaz asociada )

Después a los mediados de los 90s , Cisco introdujo la tecnología llamada "Fast Switching " , el cual trajo una serie de optimizaciones comparado al modelo anterior.  Agregando otra lista a la ya existente tabla de ruteo.

Esta tabla de ruteo lista la dirección IP de los paquetes enviados recientemente. También mantiene un cache en el cual tiene una copia de los encabezados usados  para los  datos ingresados  recientemente , básicamente en lugar de crear un nuevo encabezado para cada paquete destinado a una IP en particular , el router salva tiempo , copiando los datos de los paquetes anteriores.




Cisco siguió mejorando con la introducción de "Cisco Express Forwarding " (CEF) , similar al proceso de  "fast switching " CEF usa tablas adicionales para búsquedas mas rápidas y salva los encabezados también .

CEF organiza sus tablas para todas los destinos de las  tablas de ruteo, no solo para algunas IPs de destino en especifico.

CEF también usa algoritmos de búsqueda y una estructura binaria mas sofisticada , comparada a tecnologías anteriores.

Como resultado las tablas de CEF busca ,  remplaza y compara con  la tabla de ruteo  de una manera mas eficaz , llevándole menos tiempo al router enviar los paquetes.  Y también genera una cache de los encabezados.

Hoy en día , prácticamente todos los modelos de Cisco routers y versiones de IOS usan CEF por defecto.

Basta añadir que CEF se puede desactivar en los routers con el siguiente comando , pero no es para nada recomendado ya que en solo unos segundos puede causar CPU alto y botar el dispositivo .

Se des habilita CEF prácticamente solo  para troubleshootear algunos bugs y en un entorno controlado.


router#(config )  no ip CEF

Espero sea de ayuda

- Randy-

jueves, 30 de octubre de 2014

Comando "Clock rate" en las interfaces del router.


La mayoria de Cisco routers son buscados directamente por las compañias para conectarse por medio de enlaces seriales al ISP.

Los enlaces WAN soportan una gran cantidad de velocidades  ,  los routers negocian la velocidad manualmente o por medio del CSU/DSU (Channel Service Unit/Data Service Unit) por un proceso llamado "clocking".


Con este proceso se ahorra la intervencion del administrador de configurar el "clock rate" .

Sin embargo en algunos casos puede ocurrir un "mismatch " o simplemente el CSU/DSU no envia los pulsos correctos.

En el router podemos cambiar la configuracion de la siguiente manera:

interface Serial0/0/0
ip address 192.168.10.1 255.255.255.252
clock rate 20000000  

O el valor soportado


Espero sea de ayuda.

- Randy -

miércoles, 29 de octubre de 2014

Problemas a nivel de capa 1 en interfaces


Cuando la interface alcanza el estado de conectada (up/up) , el Switch considera la interfaz activa e intenta enviar tráfico por ella. 

Al mismo tiempo el Switch mantiene varios contadores en la interface.

La siguiente lista brinda una descripción corta de cada contador:

  • Runts: Tramas que no cumplen con el tamaño mínimo requerido (64 bytes) puede ser causado por colisiones.


  • Giants: Tramas que exceden el tamaño máximo  permitido (1518 bytes).


  • Input Errors:  El total de muchos contadores , incluidos runts , giants , no buffer , CRC (Cyclic redundancy check)


  • CRC: Tramas recibidas que no pasaron el “FCS (frame check sequence)math” , puede ser causado por colisiones.


  • Frame: Tramas recibidas que tienen un formato ilegal , por ejemplo si terminan con un bit parcial , puede ser causado por colisiones.


  • Packets Output: Numero total de paquetes (tramas) enviadas fuera de la interface.


  • Output Errors:  Numero total de paquetes (tramas ) que la interfaz trato de enviar , pero por alguna razón ocurrió un problema y la trama no se envió. 


  • Collisions:  Contador de todas las colisiones que ocurren cuando la interface transmite una trama .


  • Late Collisions:  Numero de colisiones que ocurren después de los 64th byte de la trama han sido transmitidos .


Muchos de esos contadores se incrementan por el proceso CSMA/CD usado en conexiones half-duplex.  Si se utiliza esta tecnología y se ven incrementos en las colisiones el Switch puede que este funcionando bien.

Un interface que este funcionando , aun puede sufrir problemas relacionados al cableado físico.

Los problemas de cableado normalmente están asociados a los errores de CRC en la interface por el exceso de interferencia.

 Si los errores de CRC se incrementan pero las colisiones no,  es un claro indicio de que el problema es el cable.

Ejemplo del output de una interfaz de un Switch.


Show interfaces

FastEthernet0/1 is down, line protocol is down (disabled)
  Hardware is Lance, address is 0001.c76b.d601 (bia 0001.c76b.d601)
 BW 100000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Half-duplex, 100Mb/s
  input flow-control is off, output flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     956 packets input, 193351 bytes, 0 no buffer
     Received 956 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     2357 packets output, 263570 bytes, 0 underruns
     0 output errors, 0 collisions, 10 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier

     0 output buffer failures, 0 output buffers swapped out

Espero sea de ayuda
-Randy -

martes, 28 de octubre de 2014

Analizando los estados de las interfaces del Switch




Cisco Switches usan dos diferentes sets de códigos de estado para interfaces.

Los comandos “Show interfaces” y “Show interfaces description ” listan los códigos de estado como un router.
 Estos códigos son llamados “line status” y “ protocol status”

Generalmente se refieren a problemas de capa 1 física (line status) y capa 2 datos (protocol status )

En cambio el comando  “show interfaces status”  lista las interfaces con los estados de “connected ” y “notconnected”

 A continuacion con el siguiente cuadro se puede ver mejor :





Line status
Protocol status
Interface status
Posible causa
Administratively down
down
Disabled
La interface tiene el “shutdown” command
Down
Down
NotConnected
No hay cable, cable dañado , pines dañados , desajuste de velocidades , el puerto del dispositivo al otro lado puede estar apagado, “shutdown” o en “error disabled”
Up
Down
Not connected
No es esperado tener esta combinación en un Switch/router.
Down
Down (err-disabled)
Err-disabled
“Port security” apago el puerto
Up
Up
Connected
La interface funciona como se espera

Muchas interfaces Ethernet basadas en UTP soportan múltiples velocidades (full o half-duplex) y soportan el estándar IEEE de autonegociacion.

Estas interfaces puede ser configuradas para usar una velocidad en especifica también {10 | 100 | 1000}

Con cualquiera de las dos configuradas en la interfaz , el Switch deshabilita la autonegociacion en esa interface.

Ejemplo de la configuración

Switch#configure terminal
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#speed 100
Switch(config-if)# duplex full

Cuando el proceso de autonegociacion funciona en ambos dispositivos , negocionan la velocidad mas alta soportada.

 Adicionalmente , los dispositivos usan el modo “full-duplex” si es soportado por ambos , sino usan “half-duplex”

Pero cuando un dispotivo ha deshabilitado la autonegociacion , y el otro dispositivo aun continua usándolo, el dispositivo que usa autonegociacion escoge por defecto la configuración del “dúplex ” basado en la velocidad actual.

Por defecto son los siguientes :

·         Si la velocidad es desconocida , usa 10 Mbps , half-duplex.
·         Si la velocidad es 10 o 100 Mbps , usa half-duplex
·         Si la velocidad es 11,000 Mbps , usa full-duplex
·         Interfaces de Ethernet que usan velocidad mayores a 1Gbps siempre usan full-duplex


Encontrar un desajuste en duplex, es mucho mas difícil que encontrar un des ajuste en la velocidad, ya que los ajustes de dúplex no encajan en los extremos , la interfaz va a seguir funcionando , pero con un desempeño pobre y problemas intermitentes. 


Ejemplos de los comandos: 

Nota , el Switch de ejemplo tiene todos los puertos apagados y ningún cable conectado.

Switch#show interface fastEthernet 0/5
FastEthernet0/5 is down, line protocol is down (disabled)
  Hardware is Lance, address is 0005.5e1a.5205 (bia 0005.5e1a.5205)
 BW 100000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Half-duplex, 100Mb/s
  input flow-control is off, output flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     956 packets input, 193351 bytes, 0 no buffer
     Received 956 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     2357 packets output, 263570 bytes, 0 underruns
     0 output errors, 0 collisions, 10 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

Switch#sh ip int brief 
Interface              IP-Address      OK? Method Status                Protocol

FastEthernet0/1        unassigned      YES manual down                  down

FastEthernet0/2        unassigned      YES manual down                  down

FastEthernet0/3        unassigned      YES manual down                  down

FastEthernet0/4        unassigned      YES manual down                  down

FastEthernet0/5        unassigned      YES manual down                  down

FastEthernet0/6        unassigned      YES manual down                  down

FastEthernet0/7        unassigned      YES manual down                  down

FastEthernet0/8        unassigned      YES manual down                  down

FastEthernet0/9        unassigned      YES manual down                  down

FastEthernet0/10       unassigned      YES manual down                  down

Espero sea de ayuda

- Randy -

jueves, 23 de octubre de 2014

CDP (Cisco Discovery Protocol )


CDP es un protocolo propietario de Cisco ,  que permite descubir infomacion basica de los siwtches y routers "vecinos ".

Para descubrir esta informacion , el dispositivo envia mensajes de CDP por las interfaces.

El mensaje basicamente anuncia informacion del dispositivo como modelo , IOS , estado , etc a sus vecinos (dispositivos directamente conectados )

Cisco CDP es solo soportado en routers y switches , si conectamos un ASA por ejemplo al un router , no podremos ver la informacion del ASA y viceversa,

Para propositos de troubleshooting , CDP puede ser usado para corroborar y arreglar la informacion de la topologia que se nos brindo.

CDP soporta multicast y si el dispositivo soporta tambien  podremos ver los dispositivos que quedan mas haya del dispositivo conectado directamente.

Por ejemplo:


Swtich1-----Router------Switch2 


Basados en la topologia anterior , desde el Switch2 podemos ve la informacion del Switch1 ya que los tres dispositivos soportan Router.


Comando de CDP:

show cdp neighbors
show cdp neighbors detail
show cdp entry name 

Router#sh cdp neighbors 
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID
Switch       Fas 0/0          131            S       2950        Fas 0/2
Router#

Router#sh cdp neighbors detail 

Device ID: Switch
Entry address(es):
Platform: cisco 2950, Capabilities: Switch
Interface: FastEthernet0/0, Port ID (outgoing port): FastEthernet0/2
Holdtime: 124

Version :
Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA4, RELEASE SOFTWARE(fc1)
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 18-May-05 22:31 by jharirba

advertisement version: 2
Duplex: full


Espero que sea de ayuda

-Randy-

miércoles, 22 de octubre de 2014

VLAN trunking protocol (VTP)

VTP es una herramienta propietaria de Cisco  que anuncia las VLANs configuradas en un Switch a los otros switches.

Los Switches pueden usar VTP en 3 modos: servidor, cliente y transparente.

El modo por defecto de un Switch es de VTP como servidor.

El servidor es el que anuncia las VLANs en la red , el cliente recibe esta información y actualiza su tabla de VLANs.

Un Switch en modo transparente simplemente reenvía la información del servidor a los otros switches , pero no actualiza su tabla.

Si vas a probar la configuración de VTP , asegúrese de hacerlo en un ambiente controlado y que ninguna de las interfaces del Switch se encuentre conectado a un Switch de producción ya que podría ocasionar daños en la red.

Hay diferentes versiones de VTP , puedes ver las diferencias en el siguiente link:


VTPv3 es soportado en pocos Switches , la mas común es VTPv2.


Configuración del servidor


Switch(config)#vtp version 2
Switch(config)#vtp domain cisco
Changing VTP domain name from NULL to cisco

Switch(config)#vtp password cisco123
Setting device VLAN database password to cisco123

Switch(config)#vtp mode ?
  client       Set the device to client mode.
  server       Set the device to server mode.
  transparent  Set the device to transparent mode.

Switch(config)#vtp mode server
Device mode already VTP SERVER.


Configuracion del cliente

Switch(config)#vtp version 2
VTP mode already in V2.

Switch(config)#vtp domain cisco
Domain name already set to cisco.

Switch(config)#vtp password cisco123
Setting device VLAN database password to cisco123

Switch(config)#vtp mode client
Setting device to VTP CLIENT mode.

Podemos revisar el estado con el comando “Show vtp status

Switch#sh vtp status
VTP Version                     : 2
Configuration Revision          : 0
Maximum VLANs supported locally : 255
Number of existing VLANs        : 8
VTP Operating Mode              : Server
VTP Domain Name                 : cisco
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x81 0x7C 0xD3 0x81 0x04 0x8B 0x6D 0x81
Configuration last modified by 0.0.0.0 at 3-1-93 00:06:45

Local updater ID is 0.0.0.0 (no valid interface found)


Espero sea de ayuda

- Randy- 

martes, 21 de octubre de 2014

Comunicando multiples VLANs

Normalmente la mayoría de Switches son de capa 2 “Layer 2” basados en el modelo OSI.

Los switches de capa 2 no envían trafico entre VLANs.

El proceso de enrutar el trafico lo hacen los routers, pasamos de tener las tramas de 2 VLANs a  manejar el trafico como si fueran 2 redes desde el punto de vista del Router.

Basados en el siguiente ejemplo:




Conectamos el Router a una de las interfaces del Switch , el enlace debe estar en modo troncal para poder comunicar varias VLANs.

Esta configuración es conocida como “Router-on-a-stick”

La única limitación de esta configuración es el desempeño de la red se ve afectada, si el router no es lo suficientemente potente, el usuario final podría experimentar lentitud en las conexiones.

Ademas de los switches capa 2 , existen otros tipos de  switches llamadas capa 3 o “multilayer switches” que permiten enrutar el trafico sin necesidad de un router , solventando los problemas de desempeño.


Ejemplo de la configuración

Configuración del Switch

interface FastEthernet0/1
 switchport mode trunk

interface FastEthernet0/2
 switchport access vlan 99
 switchport mode access

interface FastEthernet0/3
 switchport access vlan 15
 switchport mode access

interface FastEthernet0/4
 switchport access vlan 69
 switchport mode Access

Switch(config)#vlan 99
Switch(config-vlan)#name R.H
Switch(config-vlan)#exit

Switch(config)#vlan 69
Switch(config-vlan)#name IT
Switch(config-vlan)#exit

Switch(config)#vlan 15
Switch(config-vlan)#name administrativo
Switch(config-vlan)#exit

interface Vlan15
 ip address 192.168.15.1 255.255.255.0

interface Vlan69
 ip address 192.168.69.1 255.255.255.0

interface Vlan99
 ip address 192.168.99.1 255.255.255.0


Configuración del router

interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto

interface FastEthernet0/1.15
 encapsulation dot1Q 15
 ip address 192.168.15.5 255.255.255.0

interface FastEthernet0/1.69
 encapsulation dot1Q 69
 ip address 192.168.69.5 255.255.255.0

interface FastEthernet0/1.99
 encapsulation dot1Q 99
 ip address 192.168.99.5 255.255.255.0

Recuerden que el  “Default gateway” del host tiene que ser la ip de la sub-interface del router.

Espero sea de ayuda


-        -  Randy - 

lunes, 20 de octubre de 2014

Multiswich VLAN usando enlaces trocales

Como vimos anteriormente  configurar una VLAN en un Switch es muy sencillo, creamos la VLAN y luego configuramos cada puerto para asignarle su respectiva VLAN.

Con múltiples Switches hay que considerar y aprender nuevos conceptos para enviar tráfico entre switches.

El Switch necesita usar enlaces troncales en las conexiones entre switches. 

Los enlaces troncales hacen que el Switch use un proceso llamado “VLAN tagging” (etiquetado por VLAN), en el cual agrega otro encabezado a la trama antes de enviarlo por el enlace troncal.

Este encabezado extra incluye un identificador de VLAN (VLAN ID) que permite al Switch asociariar el paquete a una VLAN en particular.

Aunque el enlace truncal envia los paquetes de todas las VLANs por el mismo link fisico , mantiene el trafico separado lógicamente.

Cisco soporta 2 tipos diferentes de protocolos troncales, ISL (Inter-Switch Link) y 802.1Q.
Hoy en dia 802.1Q es el protocolo estándar para los enlaces troncales, ISL ha dejado de ser soportado en los equipos nuevos.

802.1Q define un VLAN ID especial en cada enlace troncal como la VLAN nativa (por defecto VLAN 1 ). Básicamente no se le agrega el encabezado extra al tráfico que pertenece a la VLAN nativa.  

El unico requisito es que ambos switches tengan pre-configurado la misma VLAN nativa.

En el siguiente ejemplo podemos ver 3 VLANs, (99,50,2)  , si los switches no estuvieran configurados en modo troncal VLAN 99 no podría comunicarse entre los dispositivos.



Ejemplo de la configuración:

Switch(config)#interface fastEthernet 0/24
Switch(config-if)#switchport mode trunk

El switch viene en modo automatico o dinamico en  todos sus puertos , por lo que seria necesario solo aplicar la configuracion anterior en solo un switch.

Pero esta práctica no es recomendada , ya que abre un hoyo de seguridad y podría comprometer la información de todas las VLANs si alguien obtuviera acceso al Switch.

La diferencia entre los 2 modos , es que “desirable” inicia la conexión con el otro Switch para iniciar la negocioacion, mientras que el modo “auto” espera pasivamente a que llegue una petición de conexión e inicia la negociación.

El modo por defecto es “auto” en las interfaces del Switch.

Switch(config-if)#switchport mode dynamic ?
  auto       Set trunking mode dynamic negotiation parameter to AUTO

  desirable  Set trunking mode dynamic negotiation parameter to DESIRABLE

Espero sea de ayuda.

- Randy - 

lunes, 13 de octubre de 2014

Configuracion de una VLAN


A continuacion podran encontrat la configuracion para una VLAN en un Switch Cisco.

Primero especificamos el número de VLAN y ponemos un nombre opcional, dependiendo del dispositivo varia la cantidad de VLAN soportadas.

Switch(config)#vlan 100
Switch(config-vlan)#name VLAN-contabilidad

Luego enganchamos la VLAN a los puertos o el Puerto que queremos

Switch(config)#interface range fastEthernet 0/1-14
Switch(config-if-range)#switchport access vlan 100                  

En este caso los puertos del 1-14  pertenceran a la VLAN 100 y solo podran comunciarse entre ellos.

Podemos verificar a que VLAN pertenecen los puertos con el comando “Show VLAN”

Switch(config)#do sh vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                                Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                                Fa0/23, Fa0/24
100  VLAN-contabilidad                active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        0      0
100  enet  100100     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        0      0  
1003 tr    101003     1500  -      -      -        -    -        0      0  
1004 fdnet 101004     1500  -      -      -        ieee -        0      0  
1005 trnet 101005     1500  -      -      -        ibm  -        0      0  

Remote SPAN VLANs
------------------------------------------------------------------------------


Primary Secondary Type              Ports
------- --------- ----------------- ------------------------------------------


Espero sea de ayuda.

- Randy -

domingo, 12 de octubre de 2014

Conceptos de las VLAN



Una red LAN incluye todos los dispositivos en el mismo “broadcast domain ”

Sin VLANs configuradas, el switch considera todas sus interfaces en el mismo “broadcast domain ”

Con VLANs , un switch puede configurar algunas interfaces en un dominio de broadcast y otras interfaces en un dominio diferente , creado multiples dominios de broadcast.

Se recomienda usar VLANs con dominios de broadcast pequeños por las siguientes razones:

·         Reducir el procesamiento del CPU en cada dispositivo que recibe la trama del broadcast.
·         Reducir el riesgo de seguridad , reduciendo el número de host que reciben copias de las tramas del Switch (Switch flood)
·         Para mejorar la seguridad en los host que envían información sensible , manteniendo esos host en VLANs separadas
·         Para crear un diseño más flexible, agrupando usuarios por departamentos en lugar de ubicaciones físicas.
·         Para una resolución de problemas mas eficiente y rápida , aislando los problemas a dominios de broadcast individuales.
·         Para reducir la carga de trabajo para protocolos como STP (Spanning tree).

Espero sea de ayuda !


-        -  Randy -