Share via


ipv6_is_in_range()

Comprueba si una dirección de cadena IPv6 está en el intervalo de notación de prefijo IPv6.

Syntax

ipv6_is_in_range(Ipv6Address,Ipv6Range)

Más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
Ipv6Address string ✔️ Expresión que representa una dirección IPv6.
Ipv6Range string ✔️ Expresión que representa un intervalo IPv6 mediante la notación de prefijo IP.

Notación de prefijo IP

La notación de prefijo IP (también conocida como notación CIDR) es una forma concisa de representar una dirección IP y su máscara de red asociada. El formato es <base IP>/<prefix length>, donde la longitud del prefijo es el número de 1 bits iniciales en la máscara de red. La longitud del prefijo determina el intervalo de direcciones IP que pertenecen a la red.

Para IPv4, la longitud del prefijo es un número comprendido entre 0 y 32. Por lo tanto, la notación 192.168.2.0/24 representa la dirección IP 192.168.2.0 con una máscara de red de 255.255.255.0. Esta máscara de red tiene 24 bits iniciales o una longitud de prefijo de 24.

Para IPv6, la longitud del prefijo es un número comprendido entre 0 y 128. Por lo tanto, la notación fe80::85d:e82c:9446:7994/120 representa la dirección IP fe80::85d:e82c:9446:7994 con una máscara de red de ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Esta máscara de red tiene 120 bits iniciales o una longitud de prefijo de 120.

Devoluciones

  • true: si la representación larga del primer argumento de cadena IPv6 está en el intervalo del segundo argumento de cadena IPv6.
  • false:Lo contrario.
  • null: si la conversión de una de las dos cadenas IPv6 no se realizó correctamente.

Ejemplo

datatable(ip_address:string, ip_range:string)
[
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    'a5e:f127:8a9d:146d:e102:b5d3:c755:0000/112',
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',
 'a5e:f127:8a9d:146d:e102:b5d3:c755:abcd',    '0:0:0:0:0:ffff:c0a8:ac/60',
]
| extend result = ipv6_is_in_range(ip_address, ip_range)

Salida

ip_address ip_range resultado
a5e:f127:8a9d:146d:e102:b5d3:c755:abcd a5e:f127:8a9d:146d:e102:b5d3:c755:0000/112 True
a5e:f127:8a9d:146d:e102:b5d3:c755:abcd a5e:f127:8a9d:146d:e102:b5d3:c755:abcd True
a5e:f127:8a9d:146d:e102:b5d3:c755:abcd 0:0:0:0:0:ffff:c0a8:ac/60 False