Network Working Group M. Blanchet Request for Comments: 3531 Viagenie Categoria:Informativo Abril 2003 Traducción: José Pablo León Vargas Un método flexible para Administrar la Asignación de Bits de un bloque de direcciones IPv6 Estado de este memorándum Este memorándum proporciona información para la comunidad Internet. No especifica ningún tipo de estándar Internet. La distribución de este memorándum es ilimitada. Aviso de Copyright Copyright (C) The Internet Society (2003). Todos los Derechos Reservados. Resumen Este documento propone un método para administrar la asignación de los bits de un bloque de direcciones o rango IPv6. Cuando una organización necesita realizar un plan de direccionamiento para sus subredes o cuando un ISP necesita realizar un plan de direccionamiento para sus clientes, este método hace posible que la Organización relegue la decisión final en el número de bits que se van a particionar en el espacio de direcciones que se tenga asignado. Esto se realiza al mantener los bits en los límites de la partición tan libres como sea posible. Este esquema es aplicable a cualquier esquema de direccionamiento de bits, utilizando bits con particiones en el espacio, no obstante su uso principal es para IPv6. Es una generalización de la RFC 1219 y puede ser utilizada para asignaciones IPv6. Índice 1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Esquema. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Descripción del Algoritmo. . . . . . . . . . . . . . . . . . . 3 3.1 Izquierda. . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Derecha. . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.3 Centro . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Consideraciones de Seguridad . . . . . . . . . . . . . . . . . 5 6. Reconocimientos. . . . . . . . . . . . . . . . . . . . . . . . 5 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . 6 Dirección del Autor. . . . . . . . . . . . . . . . . . . . . . 6 Blanchet Informativo [Página 1] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 Declaración Completa de Copyright . . . . . . . . . . . . . . 7 1. Motivación Las direcciones IPv6 tienen una estructura flexible para la asignación de direcciones. Esto facilita que las oficinas de registro, ISP's, diseñadores de redes y otros la asignación de rangos de direcciones a las organizaciones y las redes con base en diferentes criterios, como lo son el tamaño de las redes, tasa de crecimiento estimada, etc. A menudo, la asignación inicial no escala bien porque una red pequeña llega a ser más grande de lo esperado y con ello se necesitan más direcciones. Pero entonces, las autoridades de asignación no pueden otorgar rangos de direcciones contiguas, porque fueron asignadas a otra red. La RFC 1219 [1] describe un esquema de asignación para IPv4 donde los espacios de direcciones se mantienen sin asignar entre los bits más a la izquierda de la parte de subred y los bits más a la derecha de la parte del host. Esto permite al diseñador de la red cambiar la máscara de subred sin volver a numerar, ya que los bits en el centro no están asignados Este trabajo generaliza el esquema previo al extender el algoritmo, de manera que se pueda aplicar en cualquier parte de una dirección IP, que sea asignada por cualquier autoridad de asignación (oficinas de registro, ISP's de cualquier nivel, organizaciones, ...). Puede ser utilizado tanto por IPv4 como IPv6. Este documento no proporciona ninguna recomendación a las oficinas de registro en como asignar los rangos de direcciones a sus clientes. 2. Esquema Definimos partes de la dirección de IP como de tal forma que la dirección IP está compuesta de esas partes en forma contigua. Las fronteras entre cada parte están basadas en el prefijo asignado por la autoridad de siguiente nivel. La parte p1 es la parte de la izquierda probablemente asignada a una oficina de registro, la parte p2 puede estar asignada a un gran proveedor de servicios de internet o a una oficina de registro nacional. La parte p3 puede estar asignada a un gran cliente o un ISP pequeño, etc. Cada parte puede ser de diferente longitud. Se define l(pX) la longitud de la parte X. +------+------+------+------+------+------+ | p1 | p2 | p3 | p4 | ... | pN | +------+------+------+------+------+------+ <------- dirección ipv4 o ipv6 -----------> Blanchet Informativo [Página 2] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 El algoritmo para la asignación de direcciones es el siguiente: a) para la parte de la izquierda (p1), asignar direcciones utilizando los bits de la izquierda primero b) para la parte de la derecha (pN), asignar direcciones utilizando los bits de la derecha c) para todas las otras partes (partes centrales), predefinir un límite arbitrario (prefijo) y luego asignar direcciones utilizando los bits del centro primero en la parte que se está asignando. Este algoritmo incrementa los bits asignados de tal forma que mantiene sin asignar los bits cerca de los límites de las partes. Esto significa que los prefijos entre cualquiera de dos partes pueden cambiarse hacia adelante o hacia atrás, posteriormente, hasta completar los bits asignados 3. Descripción del Algoritmo Esta sección describe la asignación de los bits de la izquierda, los bits de la derecha y los bits del centro. 3.1 Bits más a la Izquierda p1 será asignada en la forma siguiente: Orden Asignación 1 00000000 2 10000000 3 01000000 4 11000000 5 00100000 6 10100000 7 01100000 8 11100000 9 00010000 ... Esto en realidad es igual que contar en binario. 3.2 Bits más a la Derecha pN (la última parte) será asignada en la forma siguiente: Orden Asignación 1 00000000 2 00000001 3 00000010 4 00000011 5 00000100 6 00000101 Blanchet Informativo [Página 3] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 7 00000110 8 00000111 9 00001000 ... 3.3 Bits más al centro pX (donde 1 < X < N) será asignado en la forma siguientes: (por ejemplo con una longitud predefinida de 8 bit l(pX)=8)) Orden Asignación 1 00000000 2 00001000 3 00010000 4 00011000 5 00000100 6 00001100 7 00010100 8 00011100 9 00100000 ... Los bits son asignados utilizando el siguiente algoritmo: 1. En la primera ronda se selecciona únicamente el bit del centro (si existe un número par de bits, seleccionar el bit que sigue al del centro) 2. Crear todas las combinaciones utilizando los bits seleccionados que no han sido creadas todavía. 3. Iniciar una nueva ronda al añadir un bit más al conjunto. En rondas pares añadir el bit precedente al conjunto. En rondas impares añadir el bit subsiguiente. 4. Repetir 2 y 3 hasta que ya no existan más bits para considerar. 4. Ejemplo Como ejemplo, a un proveedor P1 ha sido asignado el prefijo 3ffe:0b00/24 y desea asignar prefijos a sus redes interconectadas. Se prevee en un futuro cercano un máximo de 256 clientes, que utilizan 8 bits. Uno de estos clientes, llamado C2, anticipa un máximo de 1024 asignaciones de clientes, para lo que utiliza 10 bits. La asignación se hace de la siguiente forma; sin mostrar los primeros 24 bits de la izquierda (3ffe:0b00/24: 00111111 11111110 00001011): Blanchet Informativo [Página 4] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 P1 asigna un espacio de direcciones a sus clientes utilizando los bits de la izquierda: 10000000 : asignado a C1 01000000 : asignado a C2 11000000 : asignado a C3 00100000 : asignado a C4 ... C2 asigna un espacio de direcciones a sus clientes (C2C1, C2C2, ...) utilizando los bits del centro: 0000010000 : asignado a C2C1 0000100000 : asignado a C2C2 0000110000 : asignado a C2C3 ... Los clientes de C2 pueden utilizar los bits del centro para obtener máxima flexibilidad y luego los últimos intermediarios (debe existir una red en un sitio) asignarán utilizando los bits de la derecha. Así, al poner juntos todos los bits para C2C3: P1 |C2 |C2C3 00111111 11111110 00001011 01000000 00001100 00 <-------> <------> bits para crecer Al utilizar este método, P1 podrá expandir el número de clientes y los clientes tendrán la capacidad de modificar las primeras suposiciones sobre el tamaño de sus propios clientes, hasta que los bits "reservados" sean asignados. 5. Security Considerations La asignación de direcciones no parece tener ninguna consideración específica sobre seguridad 6. Reconocimientos Gracias a Steve Deering, Bob Hinden, Thomas Narten, Erik Nordmark, Florent Parent y Jocelyn Picard por sus útiles comentarios sobre este trabajo. Referencias [1] Tsuchiya, P., "On the assignment of subnet numbers", RFC 1219, April 1991. Blanchet Informativo [Página 5] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 [2] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. Dirección del Autor Marc Blanchet Viagenie 2875 boul. Laurier, bureau 300 Sainte-Foy, QC G1V 2M2 Canada Phone: +1 418 656 9254 EMail: Marc.Blanchet@viagenie.qc.ca URI: http://www.viagenie.qc.ca/ Blanchet Informativo [Página 6] RFC 3531 Asignación de bits en un bloque de direcciones IPv6Abril 2003 Declaración Completa de Copyright Copyright (C) The Internet Society (2003). Todos los derechos reservados. Este documento y sus traducciones pueden ser copiados y facilitadas a otros, y los trabajos derivados que lo comentan o explican o que están incluidos en él, pueden ser copiados, publicados y distribuidos, enteros o en parte, sin restricción de ningún tipo, siempre que incluyan este párrafo y la nota de copyright arriba expuesta en todas esas copias y trabajos derivados. Sin embargo, este documento en sí no debe ser modificado de ninguna forma, como por ejemplo eliminando la nota de copyright o referencias a la 'Internet Society' u otras organizaciones de Internet, excepto cuando sea necesario para propósitos para el desarrollo de estándares de Internet, en cuyo caso se seguirán los procedimientos para copyrights definidos en el proceso de Estándares de Internet, o con motivo de su traducción a otros idiomas aparte del Inglés. Los permisos limitados concedidos anteriormente son perpetuos y no serán revocados por la 'Internet Society' o sus sucesores o cesionarios. Este documento y la información en él contenida se proporciona en su forma "tal como se encuentra" y LA 'INTERNET SOCIETY' Y EL GRUPO DE TRABAJO DE INGENIERÍA DE INTERNET RECHAZAN CUALQUIER GARANTÍA, EXPRESAS O IMPLÍCITAS, INCLUYENDO PERO NO LIMITADAS A, CUALQUIER GARANTÍA DE QUE EL USO DE LA INFORMACIÓN AQUÍ EXPUESTA NO INFRINGIRÁ NINGUNO DERECHO O GARANTÍAS IMPLICITAS DE COMERCIALIZACIÓN O IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Reconocimiento El financiamiento para el Editor de RFC lo proporciona actualmente por la 'Internet Society'. Blanchet Informativo [Página 7]