GitHubContribuir en GitHub: Editar en línea

ipv6_compare()

Compara dos series de dirección de red IPv6 o IPv4 . Las dos series IPv6 se analizan y comparan al contabilizar la máscara de prefijo IP combinada calculada a partir de prefijos de argumento y el argumento opcional PrefixMask .

ipv6_compare('::ffff:7f00:1', '127.0.0.1') == 0
ipv6_compare('fe80::85d:e82c:9446:7994', 'fe80::85d:e82c:9446:7995')  < 0
ipv6_compare('192.168.1.1/24', '192.168.1.255/24') == 0
ipv6_compare('fe80::85d:e82c:9446:7994/127', 'fe80::85d:e82c:9446:7995/127') == 0
ipv6_compare('fe80::85d:e82c:9446:7994', 'fe80::85d:e82c:9446:7995', 127) == 0

La función puede aceptar y comparar argumentos que representan direcciones de red IPv6 y IPv4 . Sin embargo, si el llamante sabe que los argumentos están en formato IPv4 , utilice la función ipv4_is_compare() . Esta función dará como resultado un mejor rendimiento en tiempo de ejecución.

Sintaxis

ipv6_compare(Expr1, Expr2[ ,PrefixMask])

Argumentos

Nombre Tipo Obligatorio Descripción
Expr1 Serie Una expresión de serie que representa una dirección IPv4/IPV6 . Las series IPv4 se pueden enmascarar utilizando notación IP-prefix.
Expr2 Serie Una expresión de serie que representa una dirección IPv4/IPV6 . Las series IPv4 se pueden enmascarar utilizando notación IP-prefix.
PrefixMask Número o serie Un entero de 0 a 32 que representa el número de bits más significativos que se tienen en cuenta.

Notación de prefijo IP

Es una práctica común definir direcciones IP con IP-prefix notation utilizando un carácter de barra inclinada (/). La dirección IP a la LEFT de la barra inclinada (/) es la dirección IP base, y el número (1 a 127) a la DERECHA de la barra inclinada (/) es el número de 1 bits contiguos en la máscara de red.

Por ejemplo, fe80::85d:e82c:9446:7994/120 tendrá una máscara de red/subred asociada que contiene 120 bits contiguos.

Devoluciones

  • 0: Si la representación larga del primer argumento de serie IPv6 es igual al segundo argumento de serie IPv6 .
  • 1: Si la representación larga del primer argumento de serie IPv6 es mayor que el segundo argumento de serie IPv6 .
  • -1: Si la representación larga del primer argumento de serie IPv6 es menor que el segundo argumento de serie IPv6 .
  • null: Si la conversión para una de las dos series IPv6 no ha sido satisfactoria.

Ejemplo

Comparar IP utilizando la notación de prefijo de IP especificada dentro de las series IPv6/IPv4

Ejemplo

Comparar IP utilizando la notación de prefijo IP especificada dentro de las series IPv6/IPv4 y como argumento adicional de la función ipv6_compare()

events_all
| project src_ipv6, result=ipv6_compare(src_ipv6,'2001:db8:ffff:ffff:ffff:ffff:ffff:eeee')
| distinct result

Resultados

resultado
-1
-1
0
1