Mañana ESNOG GORE 7

Mañana 7 de Mayo , tendrá lugar en las oficinas de BT España, en el edificio Herre, la séptima edición de la reunión del “Grupo de Operadores de Red Españoles” o GORE.

El tema estrella de esta edición será IPv6, ya que casi el 80 por ciento de las charlas tiene relación con alguna cuestión relacionada con IPv6.

El invitado estrella será Geoff Huston, Chief Scientist de APNIC. Siempre es un placer escuchar a personas con una visión y un background como tiene este experto de Internet, que tantos estudios y aportaciones relacionadas con Internet ha hecho a lo largo de su carrera.

Esta vez iré en calidad de mero espectador, pero tengo muchas ganas de que llegue el momento del  evento, para juntarme con gente a la que aprecio mucho y conocer en persona a otros que he conocido estos últimos meses en la Twittesfera ;)

Aquí la agenda del evento.

Nos vemos!

Posted in Uncategorized | Tagged , , | Leave a comment

JNCIA-JUNOS aprobado!

Ayer aprobé el examen JN0-101 JNCIA-JUNOS.

Ha sido un “estudio express” y con buenos resultados! ;) 65 preguntas multiples que con el temario del Fast Track es perfectamente superable.

No se si seguiré de momento con el programa de certificaciones de Juniper, ya que el JNCIS-ENT lo veo asequible, pero son muchas cosas las que están en cola con mejor DSCP jjj

A ser felices!!

Posted in Uncategorized | Tagged , , | 9 Comments

Un vistazo al enemigo

Bueno, el enemigo para Cisco!!

En este mundo de las comunicaciones las cosas evolucionan y cambian muy rápido. De todos es sabido que el market share de Cisco es brutal, de entorno al 85% en algunos sectores del mundo del networking.

Aún así, la verdad es que en ciertos ámbitos ese dominio “casi absoluto” se está democratizando (para el bien de todos) y el pastel se está repartiendo entre fabricantes como Alcatel-Lucent (también en el mundo IP, no solo en transmisión), Huawey y los que más le están tocando la moral ultimamente a Cisco, Juniper.

Tengo datos contrastados, de que importante operadoras y carriers internacionales están migrando o han migrado su infraestructura o parte de ella de Cisco a Juniper. Motivos económicos ? técnicos ? En cualquier caso son empresas que tienen muuuucho dinero, y no juegan con tonterías, quieren que su red funcione, el ping es su negocio ;)

Llevo un par de meses siguiendo los movimientos de Juniper y también observando la demanda en el mercado laboral actual, y es cuanto menos interesante y muy recomendable estar formado y conocer bien este fabricante.

Examinando las certificaciones disponibles, he optado por empezar por la más básica JNCIA-JUNOS. Estoy utilizando el programa de certificaciones Fast Track de  Juniper y el material que ellos mismos proveen.

En el temario hacen mucho hincapié en su sistema operativo, JUNOS, y a primera vista está a años luz de la “IOS de toda la vida” de Cisco. Solo por la orden “commit” te hace pensar… coño!! estos tíos hacen cosas sexys y con cabeza!!

En breve me examino de la certificación, ya que estoy haciendo un estudio express y muy comprimido en el tiempo.

Como nota, mira que son pobres estos de Juniper que basan su SO en FreeBSD, eso del software libre es para pobres!! jjj

A cuidarse!

Posted in Uncategorized | Tagged , , , | Leave a comment

CCIP BGP passed!

Ayer aprobé el examen 642-661 BGP del CCIP, el primero de 3 para terminar la certificación ;)

A diferencia de otros exámenes de Cisco que halla hecho hasta ahora, este se centraba en un único tema (BGP) y la verdad es que se hace mucho más cómodo a la hora de estudiar. El examen se compuso de 61 preguntas en la que había 3 labs bastante interesantes y no muy complicados.

El material que he utilizado ha sido “Internet Routing Architectures”, un libro agradable de leer y muy claro, que cubre todos los conceptos necesarios para superar el examen sin problemas.

Ya tenía cierta experiencia con BGP pero me ha servido mucho para reforzar funcionalidades como los route-reflectors y confederations y aprender cosas nuevas como las particularidades en la agregación de prefijos, local-as, private-as…

He mentido, ya que dije que hasta el verano no iba a hacer ningún examen más jjj, pero no me he resistido, el networking llama!

Ya solo queda el examen de QOS y MPLS para terminar la certificación, todo con la intención de llegar lo mas preparado posible al CCIE, no por el CCIP en sí ;)

A cuidarse!

Posted in Certificaciones, Uncategorized | Tagged , , , , | 3 Comments

Juniper, QFabric Demo

Qué bello…

Posted in Uncategorized | Tagged , | Leave a comment

CCDP ARCH passed!

El pasado lunes aprobé el examen ARCH, el último examen que me quedaba para terminar el CCDP, así que ya está, otra pa la saca!

El temario del examen muy interesante en general y sobre todo variado, metiendo temas nuevos para mí como las redes SAN y almacenamiento fibre channel. En la sección de seguridad se tratan por un lado toda la infraestructura de NAC de Cisco, IDS/IPS y por otro, firewalls PIX/ASA, pero sobre todo firewalls sobre contextos virtuales con los módulos FWSM de los Catalyst 6500 Series, con los que suelo pegarme en mi día a día. Otra parte importante para el examen, es la parte de balanceadores (SLB, ACE…).

Todas las tecnologías que se ven en esta certificación, son analizadas sobre todo desde un punto de vista de diseño y integración dentro de un flujo de tráfico y especialmente en un entorno de datacenter.

Había partes que eran un poco más duras de estudiar y no tan “divertidas” como la parte de WiFi que era un poco “nebulositica” y muy generalista y la típica parte de los distintos modulos de interconexión de red (E-commerce, Entreprise edge, Core …) que tantas veces se repiten entre las distintas certificaciones.

Ahora hasta finales de Junio estaré bastante liado con la uni (quiero estarlo y no distraerme…) pero en verano me espera el CCIP (3 examenes) y quizás meter el morro al enemigo de azul, los chicos de Juniper.

Pura vida!

Posted in Uncategorized | Tagged , , , | 6 Comments

BGP Unequal-Cost Load-Balancing

Hace unos días me encontré con la necesidad de balancear el tráfico de salida de un Sistema Autónomo. Este AS hacía peering con otro mediante 2 enlaces, uno de mayor capacidad que el otro.

Con esta casuística, se planteaba un problema ya que no se puede hacer un balanceo “puro y duro” (multipath) ya que en caso de que hubiese una tasa de tráfico importante, perfectamente podría ocurrir que el enlace menor se saturase, mientras el enlace con mayor caudal seguiría “tranquilo”. Si esto ocurriese, parte del tráfico tendría problemas de saturación y so no es muy recomendable…

La única solución (elegante) es hacer un balanceo de carga proporcional al ancho de banda de los enlaces hacia nuestro Upstream Provider.

Para ver un ejemplo práctico, utilizaremos la siguiente topología:

  • Tenemos 2 AS – 65534 y 65535, ambos de rango privado
  • Nuestro AS y el que nosotros controlaremos será el 65534
  • El objetivo es balancear el tráfico que pase por AS2R1 originado por PC2 hacia el AS 65535, entre los 2 enlaces que tienen AS2R2 y AS2R3 de una manera proporcional a su ancho de banda
  • Dentro de cada sistema autónomo correrá iBGP y PC1 y PC2 accederán tendrán como GW por defecto AS1R6 y AS2R1 respectivamente
  • Teniendo en cuenta que solamente tenemos capacidad administrativa del AS 65534, solamente se mostrarán las configuraciones de este AS

Y ahora…

¿Cómo le indicamos a AS2R1 que tiene que usar 2 caminos distintos para llegar a las rutas de AS 65535 pero teniendo en cuenta (y actuando en consecuencia) de que son enlaces con distintos ancho de banda ?

La solución nos la da una Extended Community de BGP llamada “Link Bandwidth” o “BGP DMZlink”. Esta es una “community no-transitiva” fuera de nuestro AS, luego se quedará dentro de nuestro AS, entre nuestros vecinos iBGP, que es lo que nos interesa.

¿ Pero como anunciamos ese valor a AS2R1 ? A continuación se muestra la configuración de la parte BGP de AS2R2 y AS2R3.

AS2R2:
router bgp 65534
no synchronization
bgp log-neighbor-changes
bgp dmzlink-bw
network 10.200.2.0 mask 255.255.255.252
network 172.24.0.0 mask 255.255.255.252
neighbor 10.200.2.1 remote-as 65534
neighbor 10.200.2.1 description AS2R1
neighbor 10.200.2.1 next-hop-self
neighbor 10.200.2.1 send-community both
neighbor 172.24.0.1 remote-as 65535
neighbor 172.24.0.1 description AS1R4
neighbor 172.24.0.1 dmzlink-bw
no auto-summary

interface Serial1/0
bandwidth 25000

ip address 172.24.0.2 255.255.255.252
serial restart-delay 0
no cdp enable
end

—————————————

AS2R3:
router bgp 65534
no synchronization
bgp log-neighbor-changes
bgp dmzlink-bw
network 10.200.2.4 mask 255.255.255.252
network 172.24.0.4 mask 255.255.255.252
neighbor 10.200.2.5 remote-as 65534
neighbor 10.200.2.5 description AS2R1
neighbor 10.200.2.5 next-hop-self
neighbor 10.200.2.5 send-community both
neighbor 172.24.0.5 remote-as 65535
neighbor 172.24.0.5 description AS1R5
neighbor 172.24.0.5 dmzlink-bw
no auto-summary

interface FastEthernet0/0
bandwidth 100000

ip address 172.24.0.6 255.255.255.252
duplex auto
speed auto
no cdp enable
end

—————————————

  • bgp dmzlink-bw: Habilitamos la feature BGP DMZLink
  • neighbor x.y.z.w send-community both: mandamos las communities standar y extended al vecino (solamente con las extended valdría)
  • neighbor x.y.z.w dmzlink-bw: Se propagará el valor de DMZ Link Bandwitdth, calculado a partir del ancho de banda configurado en la interfaz que se use para llegar al neighbor x.y.z.w
  • Configuramos el bandwidth adecuado en las interfaces que nos dan salida de nuestro AS. Serial 1/0 en el caso de AS2R2 y Fa 0/0 en el caso de AS2R3

Ya solo quedaría configurar el router interno AS2R1.

AS2R1:
router bgp 65534
no synchronization
bgp log-neighbor-changes
bgp dmzlink-bw
network 10.200.2.0 mask 255.255.255.252
network 10.200.2.4 mask 255.255.255.252
network 192.168.2.0
neighbor 10.200.2.2 remote-as 65534
neighbor 10.200.2.2 description AS2R2
neighbor 10.200.2.6 remote-as 65534
neighbor 10.200.2.6 description AS2R3
maximum-paths ibgp 2
no auto-summary

  • bgp dmzlink-bw: Habilitamos BGP DMZlink para “hacer caso” a las extended communities anunciadas por AS2R2 y AS2R3
  • maximum-paths ibgp 2: Habilitamos el multipathing para que se metan 2 gateways como máximo para un mismo destino (1 por efecto)

Verificación

Analizamos la tabla de enrutamiento y CEF de AS2R1 con respecto a la red 192.168.1.0/24 que es una red del AS 65535.

AS2R1#sh ip route 192.168.1.0
Routing entry for 192.168.1.0/24
Known via "bgp 65534", distance 200, metric 0
Tag 65535, type internal
Last update from 10.200.2.6 00:36:01 ago
Routing Descriptor Blocks:
10.200.2.6, from 10.200.2.6, 00:36:01 ago
Route metric is 0, traffic share count is 4
AS Hops 1
Route tag 65535
* 10.200.2.2, from 10.200.2.2, 00:36:01 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 65535

—————————————

AS2R1#sh ip cef 192.168.1.0
192.168.1.0/24, version 52, epoch 0, per-destination sharing
0 packets, 0 bytes
via 10.200.2.6, 0 dependencies, recursive
traffic share 4
next hop 10.200.2.6, FastEthernet1/0 via 10.200.2.6/32
valid adjacency
via 10.200.2.2, 0 dependencies, recursive
traffic share 1
next hop 10.200.2.2, FastEthernet0/0 via 10.200.2.2/32

valid adjacency
0 packets, 0 bytes switched through the prefix
tmstats: external 0 packets, 0 bytes
internal 0 packets, 0 bytes

—————————————

Tal y como podemos observar, tanto en la tabla de enrutamiento como en la tabla CEF, existe un “traffic share” de 1-4. Esto quiere decir que de 5 paquetes (depende el algoritmo de load balancing aplicado), 4 irán por un sitio y el quinto por otro y volver a empezar, 4-1 4-1… Si os fijais, el ancho de banda configurado en la interfaz Serial 1/0 es 4 veces menor que la de la Fa 0/0. Hace justo lo que se queríamos, un balance de carga proporcional al ancho de banda!

Veamos que cuenta la database de BGP sobre la red 192.168.1.0

AS2R1#sh ip bgp 192.168.1.0
BGP routing table entry for 192.168.1.0/24, version 42
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Multipath: iBGP
Not advertised to any peer
65535
10.200.2.2 from 10.200.2.2 (172.24.0.2)
Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
DMZ-Link Bw 3125 kbytes
65535
10.200.2.6 from 10.200.2.6 (172.24.0.6)
Origin IGP, metric 0, localpref 100, valid, internal, multipath
DMZ-Link Bw 12500 kbytes

Podemos ver que tenemos el valor “DMZ-Link Bw” especificado en Kbytes, es el valor que hayamos puesto con el comando “bandwidth” dividido entre 8.

  • 100000 kbit / 8 = 12500 Kbytes
  • 25000 kbit / 8 = 3125 Kbytes

Y finalmente la prueba mágica, ping desde PC2 a PC1 con un “record route” para ver el camino del paquete ICMP.

PC2#ping
Protocol [ip]:
Target IP address: 192.168.1.100
Repeat count [5]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]: r
Number of hops [ 9 ]: 5
Loose, Strict, Record, Timestamp, Verbose[RV]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 192.168.1.100, timeout is 2 seconds:
Packet has IP options: Total option bytes= 23, padded length=24
Record route: <*>
(0.0.0.0)
(0.0.0.0)
(0.0.0.0)
(0.0.0.0)
(0.0.0.0)

Reply to request 0 (40 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.1)        *1
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 1 (56 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          1
(172.24.0.2)
(10.200.1.2)
(192.168.1.1)
<*>
End of list

Reply to request 2 (36 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          2
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 3 (28 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)         3
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 4 (8 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          4
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 5 (16 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.1)          *1
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 6 (20 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)         1
(172.24.0.2)
(10.200.1.2)
(192.168.1.1)
<*>
End of list

Reply to request 7 (24 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          2
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 8 (16 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          3
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Reply to request 9 (16 ms). Received packet has options
Total option bytes= 24, padded length=24
Record route:
(192.168.2.100)
(10.200.2.5)          4
(172.24.0.6)
(10.200.1.6)
(192.168.1.1)
<*>
End of list

Success rate is 100 percent (10/10), round-trip min/avg/max = 8/26/56 ms

Como podemos ver en el output del comando, el primer paquete va a través del router 10.200.2.1 (irá por la Serial) y los siguientes 4 por 10.200.2.5 (Fa 0/0) y vuelta a empezar. It works!

Happy BGP-ing!!

Posted in Uncategorized | Tagged , , , , | 3 Comments

Proyecto CHAT-BGP

Llevo tiempo con  una idea en la cabeza. Un día leyendo sobre MP-BGP y atributos BGP, se me ocurrió el hacer una prueba de concepto sobre los atributos transitivos, más allá de marcar una ruta o usarlo en un route-map. Comprobar que estos atributos son transitivos “de verdad” jjj.

Pensé… que si estuviese aislado del planeta, en mi CPD, conectado a mi router frontera y quisiera hablar con un amigo mío que estuviese un par de Sistemas Autonomos mas allá…

¿ Por qué no usar BGP para comunicarme con él ?

Jajaj, si lo sé. SSH, IRC, XMPP, teléfono… pero eso sería “lo fácil” y que mejor manera de aprender algo que jugando con ello e implementar algo “no hecho antes” (creo). Un poco de espíritu hacker joder!

Resumiendo, tengo intención de desarrollar un sistema de chat basándome en los atributos transitivos de BGP y ver como afecta a las diferentes implementaciones, como de bien traspaso routers Cisco, Juniper, Quagga en Linux, OpenBGPD en OpenBSD…

Como no tengo alma de developer, me basaré en librerías que implementan parte del protocolo BGP que necesito, y de paso no reinvento la rueda. Aún estoy por decidirme entre una hecha en Perl y otra en Python. Estas librerías las utilizaría para la inyección de los datos y recibirlos, luego con un poco de scripting haremos algo que parsee datos y haga un poco de magia.

Son bastantes cosas las que tengo entre medias antes de ponerme a ello (certificaciones Cisco, módulo, universidad), pero ya he hecho alguna prueba nocturna y la cosa compila. Espero ponerme a finales de Febrero con ello. ;)

Los RFCs que tendremos que escudriñar serán los siguientes:

Ya os comentaremos los progresos en próximos posts ya que en esta frikada me ayudará @ioc32

Saludos!!


Posted in Uncategorized | Tagged , , , | 2 Comments

¿ Qué son los IXP ?

Aquí os dejo un video divulgativo de Euro-IX en que se habla sobre como funciona Internet, y el papel de los IXP (Internet eXchange Points) en su funcionamiento.

Merece la pena, disfrutadlo!

Posted in Uncategorized | Tagged , , | Leave a comment

FIN 2010

2010 ha sido un año muy intenso para mí, con muchos cambios tanto en lo personal como en lo laboral.

En el plano laboral, como muchos sabreís, me he mudado a Madrid. Estoy dentro del equipo de comunicaciones core de Ibermatica centro y la verdad es que estoy muy muy a gusto, aprendiendo todos los días y con un ambiente laboral estupendo, que para mí y supongo que para mucha gente, eso es vital. Si Madrid!! esa ciudad de estres y bullicio que yo no sufro nunca, ya que para que negarlo, soy un privilegiado ya que vivo a 6 minutos del mi lugar de trabajo.

Afortunadamente, no está siendo la imagen que tenía, en el aspecto de trato humano, de una gran empresa, donde pensaba que todo iba a ser impersonal elevado al cubo… no está siendo así, por lo menos en mi caso. La calidad técnica y humana de mis compañeros es muy grande, como la de los de mi anterior trabajo en Irontec, y es por eso que me siento muy afortunado tambien. (Podría haber caído en un nido de trepas y rancios… pero no).

La verdad es que esto es otra liga a la que no estaba acostumbrado. La envergadura de los proyectos, la perspectiva, los clientes, la criticidad del servicio… y sobre todo el hardware!! Que es lo que más me flipa!!! Esos Catalyst 6509 en VSS con tarjetas de 10G mmm preciosos!! Fibras multimodo surcando los racks y repartidores de lambdas de DWDM, diseños de red como en los libros de Cisco…

Entre otras muchas cosas, principalmente estoy con la gestión de red del nuevo datacenter de Jazztel empresas, tanto housing como hosting, e integrandolo con los Datacneters de Barcelona y otro de Madrid. La cosa va mu bien y vete a saber… igual dentro de unos meses tengo a @ioc32 a mi lado dandole a la tecla !! La verdad es que molaría.

En cuanto a la vida en Madrid, me he adaptado muy bien y tengo la suerte de no tener los drawbacks que tiene la mayoría de gente que se mueve por Madrid para ir al trabajo. En el plano más humano y como no solo de IP vive el hombre, la verdad es que estoy haciendo grandes amistades, reforzando aún más otras y sobretodo sabiendo y lo que es vivir independiente, fuera del calor del nido, que de momento voy sobreviviendo jjj

Sin duda es un época de cambios. Cambios que marcan una nueva época, de la que estoy muy orgulloso y de la que estoy seguro que saldrán cosas muy gratificantes y lo más importante, divertidas!! Los cambios siempre están bien, dan sensación de movimiento y un cambio de perspectiva a la hora de analizar las cosas.

Desde aquí un abrazo a mis antiguos colegas de trabajo (cracks donde los haya) que se han ido desperdigando por la geografía nacional/internacional y que con ellos nació algo, nació una semilla dentro, un afan por aprender y conocer más cada día, y esa actitud es la magia que mueve todo.

Ya lo hablaba el otro día con Saghul, que la clave está en el amor, en el amor por las ideas, el amor por lo que haces. El amor por querer hacer algo de lo que irte orgulloso a la cama y levantarte con ganas de seguir mejorandolo al día siguiente. Yo tengo la suerte de haberlo encontrado y sentirme enamorado de lo que hago, si alguno no lo habeís encontrado aún… hacedlo que mola!!

Este 2011 tengo intención de acabar el CCDP que sólo me queda el examen ARCH y el CCIP que tendría que hacer 3 examenes, BGP, MPLS y QOS. Una vez terminado eso, pensaría en encarar el CCIE iuuujuuu!!

Bueno, me despido de este post off topic, y aunque sea un tópico, os deseo una feliz entrada en el año 2011 y sobretodo ser felices que esa es la gasolina de la vida!!

PD: Habeís pillado el título ? A ver quien es el primero!

Posted in Uncategorized | Tagged , , | 8 Comments