Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cambie los servicios mediante la lista desplegable Versión . Más información sobre la navegación.
Se aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Compara dos cadenas IPv4. Las dos cadenas IPv4 se analizan y comparan mientras se tienen en cuenta la máscara de prefijo IP combinada calculada a partir de prefijos de argumento y el argumento opcional PrefixMask .
Syntax
ipv4_compare(
Expr1,Expr2[ ,PrefixMask])
Parámetros
| Nombre | Tipo | Obligatorio | Description |
|---|---|---|---|
| Expr1, Expr2 | string |
✔️ | Expresión de cadena que representa una dirección IPv4. Las cadenas IPv4 se pueden enmascarar mediante la notación de prefijo IP. |
| PrefixMask | int |
Entero comprendido entre 0 y 32 que representa el número de bits más significativos que se tienen en cuenta. |
Notación de prefijo IP
La notación de prefijo IP (también conocida como notación CIDR) es una manera 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:ff00. Esta máscara de red tiene 120 bits iniciales o una longitud de prefijo de 120.
Devoluciones
-
0: si la representación larga del primer argumento de cadena IPv4 es igual al segundo argumento de cadena IPv4. -
1: si la representación larga del primer argumento de cadena IPv4 es mayor que el segundo argumento de cadena IPv4. -
-1: si la representación larga del primer argumento de cadena IPv4 es menor que el segundo argumento de cadena IPv4. -
null: si la conversión de una de las dos cadenas IPv4 no se realizó correctamente.
Ejemplos: casos de igualdad de comparación IPv4
Comparar direcciones IP con la notación de prefijo IP especificada dentro de las cadenas IPv4
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string)
Salida
| ip1_string | ip2_string | resultado |
|---|---|---|
| 192.168.1.0 | 192.168.1.0 | 0 |
| 192.168.1.1/24 | 192.168.1.255 | 0 |
| 192.168.1.1 | 192.168.1.255/24 | 0 |
| 192.168.1.1/30 | 192.168.1.255/24 | 0 |
Comparar direcciones IP mediante la notación de prefijo IP especificada dentro de las cadenas IPv4 y como argumento adicional de la ipv4_compare() función
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string, prefix)
Salida
| ip1_string | ip2_string | prefix | resultado |
|---|---|---|---|
| 192.168.1.1 | 192.168.1.0 | 31 | 0 |
| 192.168.1.1/24 | 192.168.1.255 | 31 | 0 |
| 192.168.1.1 | 192.168.1.255 | veinticuatro | 0 |
Contenido relacionado
- Introducción a las funciones IPv4/IPv6
- Información general sobre las funciones de coincidencia de texto IPv4