parse_ipv6_mask()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Converte a cadeia de caracteres IPv6/IPv4 e a máscara de rede em uma representação de cadeia de caracteres IPv6 canônica.
Sintaxe
parse_ipv6_mask(
prefixo ip,
)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
ip | string |
O endereço de rede IPv6/IPv4 a ser convertido em representação IPv6 canônica. O valor pode incluir máscara de rede usando notação de prefixo IP. | |
prefixo | int |
Um número inteiro de 0 a 128 que representa o número de bits mais significativos que são levados em consideração. |
Notação de prefixo IP
A notação de prefixo IP (também conhecida como notação CIDR) é uma maneira concisa de representar um endereço IP e sua máscara de rede associada. O formato é <base IP>/<prefix length>
, onde o comprimento do prefixo é o número de bits 1 à esquerda na máscara de rede. O comprimento do prefixo determina o intervalo de endereços IP que pertencem à rede.
Para IPv4, o comprimento do prefixo é um número entre 0 e 32. Portanto, a notação 192.168.2.0/24 representa o endereço IP 192.168.2.0 com uma máscara de rede de 255.255.255.0. Essa máscara de rede tem 24 bits 1 à esquerda ou um comprimento de prefixo de 24.
Para IPv6, o comprimento do prefixo é um número entre 0 e 128. Portanto, a notação fe80::85d:e82c:9446:7994/120 representa o endereço IP fe80::85d:e82c:9446:7994 com uma máscara de rede de ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Essa máscara de rede tem 120 bits 1 à esquerda ou um comprimento de prefixo de 120.
Devoluções
Se a conversão for bem-sucedida, o resultado será uma string que representa um endereço de rede IPv6 canônico. Se a conversão não for bem-sucedida, o resultado será uma cadeia de caracteres vazia.
Exemplo
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)
Saída
ip_string | máscara de rede | 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 |
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 |