parse_ipv6_mask()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Convierte la cadena IPv6/IPv4 y la máscara de red en una representación de cadena IPv6 canónica.
Sintaxis
parse_ipv6_mask(
prefijo ip,
)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
ip | string |
Dirección de red IPv6/IPv4 que se va a convertir en representación IPv6 canónica. El valor puede incluir net-mask mediante la notación de prefijo IP. | |
prefijo | int |
Entero comprendido entre 0 y 128 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
Si la conversión se realiza correctamente, el resultado es una cadena que representa una dirección de red IPv6 canónica. Si la conversión no se realiza correctamente, el resultado es una cadena vacía.
Ejemplo
datatable(ip_string: string, netmask: long)
[
// IPv4 addresses
'192.168.255.255', 120, // 120-bit netmask is used
'192.168.255.255/24', 124, // 120-bit netmask is used, as IPv4 address doesn't use upper 8 bits
'255.255.255.255', 128, // 128-bit netmask is used
// IPv6 addresses
'fe80::85d:e82c:9446:7994', 128, // 128-bit netmask is used
'fe80::85d:e82c:9446:7994/120', 124, // 120-bit netmask is used
// IPv6 with IPv4 notation
'::192.168.255.255', 128, // 128-bit netmask is used
'::192.168.255.255/24', 128, // 120-bit netmask is used, as IPv4 address doesn't use upper 8 bits
]
| extend ip6_canonical = parse_ipv6_mask(ip_string, netmask)
Salida
ip_string | máscara de red | ip6_canonical |
---|---|---|
192.168.255.255 | 120 | 0000:0000:0000:0000:0000:ffff:c0a8:ff00 |
192.168.255.255/24 | 124 | 0000:0000:0000:0000:0000:ffff:c0a8:ff00 |
255.255.255.255 | 128 | 0000:0000:0000:0000:0000:ffff:ffff:ffff:ffff |
fe80::85d:e82c:9446:7994 | 128 | fe80:0000:0000:0000:085d:e82c:9446:7994 |
fe80::85d:e82c:9446:7994/120 | 124 | fe80:0000:0000:0000:085d:e82c:9446:7900 |
::192.168.255.255 | 128 | 0000:0000:0000:0000:0000:ffff:c0a8:ffff |
::192.168.255.255/24 | 128 | 0000:0000:0000:0000:0000:ffff:c0a8:ff00 |