Resumen

  • El 10 de septiembre se añadió una prueba que considera reservados AS64495-AS131071 y AS131070-AS131072, aunque cada bloque sale por un extremo del intervalo de prueba 64496-131071.
  • La función comprueba cualquier solapamiento y el mapeador RDAP entrega un único estado para todo el objeto. Sin los límites, ese estado puede confundirse con la condición de cada número que contiene.

La prueba coloca un pie fuera de cada frontera. Primero toma el intervalo reservado 64496-131071 y lo extiende hacia abajo hasta AS64495. Después toma los dos últimos números reservados y lo prolonga hasta AS131072. En ambos casos, el resultado esperado es verdadero. Un bloque totalmente exterior, en cambio, queda fuera de la clasificación.

La tabla de IANA impide tratar esos ejemplos como simples variaciones de formato. AS64495 cierra una franja asignada a RIPE NCC; AS64496 inicia el espacio para documentación. Tras varias clases de reserva, AS131071 termina la franja reservada y AS131072 abre una asignación de APNIC. Por tanto, los dos bloques de la prueba mezclan disposiciones distintas en uno de sus extremos.

La implementación hace exactamente lo que la prueba describe. isReservedAsBlock analiza el rango y pregunta si algún intervalo reservado configurado se solapa con él. No exige que el rango completo esté dentro de la reserva. Más adelante, RdapObjectMapper usa esa respuesta binaria para representar el AS-BLOCK como RESERVED o ACTIVE.

Como mecanismo de protección, el sesgo tiene sentido. Si se exigiera contención total, un bloque enorme que englobase una pequeña zona reservada podría parecer activo sin matices. La comprobación por solapamiento prefiere no pasar por alto ese núcleo. Sin embargo, la etiqueta resultante ya no explica qué parte activó la decisión.

La pérdida se agrava fuera de la base. Un consumidor disciplinado guarda la clave del AS-BLOCK, sus extremos y el estado, y puede volver a contrastarlos con IANA. Otro sistema podría expandir el bloque a una fila por ASN y copiar reserved en todas. Así, AS64495 o AS131072 adquirirían una condición que no procede de su propia entrada de IANA, sino de un estado agregado. Las fuentes no demuestran que un producto concreto lo haga; delimitan una vía de error que conviene probar.

Los objetos AS-BLOCK no son meras cajas numéricas. La documentación de RIPE explica que delegan una gama de números AS a un RIR o la marcan como reservada. Solo los administradores de la RIPE Database los crean, y la relación con sus mantenedores participa en la autorización para crear objetos aut-num. Aun así, el estado del mapeador no es una asignación de IANA, una validación de ruta BGP ni un juicio sobre si un ASN se anuncia.

También hay que separar prueba y despliegue. El commit de Edward Shryane añade 53 líneas en un archivo de pruebas. No cambia el método ni el mapeador. La versión etiquetada más reciente de la captura, WHOIS 1.124.1, se publicó el 31 de agosto; el commit llegó el 10 de septiembre. Eso sitúa la prueba después de la etiqueta, pero no fecha la lógica previa ni acredita que el commit esté en producción. Tampoco prueba que exista hoy un AS-BLOCK público que atraviese estas fronteras.

La noticia es menos ruidosa y más útil: RIPE NCC ha convertido una semántica implícita en un caso que una futura modificación deberá respetar o cambiar deliberadamente. Para que ese contrato sobreviva fuera del código, la salida debería poder conservar el rango candidato, la intersección reservada, la revisión de la tabla y la versión del mapeador. “El objeto toca espacio reservado” y “todos sus ASN son reservados” dejarían entonces de compartir la misma palabra sin contexto.

Fuentes