Bueno, como la fiebre me ha dado un respiro, vamos con la tercera parte de IPv6. ¿Qué aún no has leído la primera y segunda parte? 😱 Las tienes disponibles aquí:
Si recordáis del segundo hilo nos quedamos en que la notación de subredes en IPv6 es similar al CIDR de IPV4. En este caso usamos IPv6-address/prefix.
Por si acaso os dejo una tabla que me pasaron el otro día y me resulto muy útil:
Entremos en materia. Lo que en IPv4 era una "IP Pública" en IPv6 pasa a llamarse una Global Unicast Address o GUA.
La estructura de una GUA es la siguiente:
En una GUA en primer lugar tenemos los 48bits del Global Routing Prefix y después tenemos los 16bits del identificador de subnet. Ahí. Bien colocados.
Fijaos la diferencia con IPv4, donde para saber la subred los bits eran "prestados" de la porción de dirección del host.
Nota: A ver, que el campo de subred sea de tamaño fijo y siempre sea "independiente" no es TOTALMENTE cierto.
En realidad el RFC de IPv6 no específica cuantos bits se han de usar para la subnet, pero se usan una serie de recomendaciones / buenas prácticas para facilitarlo.
Y por último tendríamos la Interface ID, que es la parte que identifica inequívocamente esa interfaz dentro de esa subred. Como tenemos 64 bits dedicados exclusivamente a ello, tenemos 2^64 direcciones para cada subred... ¿Suficiente no?
Por cierto, es importante que tengamos claro que en IPv6 las direcciones con todo 0s o todo 1s son direcciones "legales", algo que en IPv4 no (la primera era la dirección de la subred y la última la de broadcast).
¡Pues mira ganamos 2 direcciones más! 😂😂😂... ¡es broma!
Bueno, pues teniendo esto claro, vamos con un poco de subneteo básico. Tengo que decir que mi sensación es que hacer subredes en IPv6 es más fácil que en IPv4... "Pero que dicessss!!!" "Herejeee!!"... Vamos al lío y luego me contáis:
En primer lugar, vamos a hacer subnetting dentro de lo que serían direcciones IP públicas o Global Unicast Address (GUA), así que vuelvo a colocar la imagencita de la estructura de una GUA:
¡Aprendizaje por repetición, en esta cuenta somos innovadores educativos! 😜
Bien, cómo tenemos disponibles 16 bits para identificar la subred, las mismas se representarían con 4 hexadecimales, o sea: 0000, 0001, 0002...0009, 000A, 000B...
Pero como dije antes podemos usar más de 16bits para identificar la subred, en este caso "tomando prestados" bits de la interface ID (noooo!!!), por lo que (como en IPv4) reduciríamos el número de direcciones disponibles en dicha subred. Esto no suele utilizarse en redes finales.
En general se recomienda que cada segmento de red "final" utilice un prefijo /64 (que sería lo que te debería entregar tu proveedor digamos). ¿Y esto porque? Pues porque es uno de los requisitos para que funcione la "stateless address autoconfiguration". ¡LA MAGIA!
Pero bien como la cosa puede complicarse, voy a dedicar 3 o 4 twits a subnetear, para que veáis que la cosa puede complicarse, AUNQUE REPITO, que en el 99% de los casos no va a ser necesario.
✋-"¿Pero esto lo voy a usar en la vida real?"
👻-"..."
Lo voy a ir haciendo con ejemplos, os voy dando direcciones IPv6 y su prefijo, y obtenemos el valor del prefijo y los bits de interfaz. Además vamos a averiguar cuál sería la primera y última dirección de la subred a la que pertenece dicha IP. ¿Mola no?
Forma completa:
2001:00A2:0010:0000:0000:0000:0000:0000
el /32 serían 2*16, por tanto:
PREFIJO: 2001:00A2
INTERFAZ: 96bits restantes
PRIMERA DIRECCIÓN: 2001:A2::
ÚLTIMA DIRECCIÓN: 2001:A2:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
✋-"Bien, he dejado de ser experto vulcanólogo y ahora soy experto IPv6"
👻-"Vamos con un último ejemplo..."
Imaginemos esta IPv6: 2016:12:5:: /3
Pasamos a forma completa:
2016:0012:0005:0000:0000:0000:0000:0000
Y ahora el prefijo: /3... ¡/3!... ¡¡/3!! ¿? 🤯🤯🤯
👇👇👇
El prefijo sería... sería... ¿Pero como hacemos esto?
Tendríamos que pasar a forma binaria el primer 2 ➡️ 0010 y tomar solo los 3 primeros bits, lo restante sería para la interfaz (125 bits).
¿Lío? SI ¿Se usa? Nada, pero debes saber que se puede...
TE repito que el RFC4291 recomienda que las subredes cuenten con un prefijo /64. ¡Y PUNTO!
La cosa es que el equipo de IPv6 intentó que no les pasara (de nuevo) aquello de Bill Gates de "640 KB deben ser suficientes para cualquier persona" y lo hicieron a lo grande...
Dejaron tan abierto el abanico de posibilidades, por lo que pudiera venir en el futuro, que IPv6 es muy complejo y a la vez muy simple.
Desde que todo sea magia y tú no tengas ni que saber que lo usas, a todo lo contrario y tener el control total...
Veamos un último ejemplo, imaginemos esta dirección:
2001::/127
¿Cuántas direcciones tiene su subred?
128-127 (prefijo) = 1 bit ➡️¡2 DIRECCIONES!
2001:0000:0000:0000:0000:0000:0000:0000 y
2001:0000:0000:0000:0000:0000:0000:0001
¿A que mola? ¡Me encanta IPv6!
Y nada, para que podáis practicar os dejo por aquí una calculadora IPv6 en la que podéis poner en práctica lo aprendido en los 3 hilos e ir creando subredes, y validándolas, etc.
Es importante que tengáis esto muy claro antes de seguir avanzando.
Y hasta aquí por hoy, en el próximo hilo (en unos días si el Covid abandona mi cuerpo por fin), avanzaremos en los tipos de IPv6, en métodos de configuración de las Global Unicast Address, link-local, loopback y esas cosas...
¡Gracias por seguir este hilo y nos vemos pronto!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
"A mi me gustaría intentarlo, pero donde estoy ahora me pagan 700 euros al mes y estoy indefinido. No puedo arriesgarme." - Frase real de un chaval de veintipocos años que me llama para pedirme consejo sobre un proyecto profesional...
El hilo de hoy se llama: "Miedo" 👇👇👇
Tengo claro que lo que YO sienta, piense o haga no puedo intentar extrapolarlo a los demás, PERO: Tienes 20ypocos años, vives con tus padres, sin deudas, no tienes nadie a tu cargo...
¿Y aún estás pensándotelo? ¡¡VAMOS HOMBRE!! Si no lo haces ahora ¿cuándo lo vas a hacer?
Es más, muchas veces en la vida somos muy dados a decir: "Que suerte tuvo tal" o "Si yo hubiera podido hacer aquello...", pero son autoengaños que nos hacemos a nosotros mismos.
¿Realmente si hubieras tenido la oportunidad lo hubieras hecho? ¿O hubieras puesto alguna excusa?