parse_ipv6_mask()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Konwertuje ciąg IPv6/IPv4 i maskę sieci na reprezentację ciągu kanonicznego IPv6.
Składnia
parse_ipv6_mask(
prefiks ip,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
Ip | string |
Adres sieciowy IPv6/IPv4 do konwersji na reprezentację kanoniczną IPv6. Wartość może zawierać maskę netto przy użyciu notacji prefiksu IP. | |
przedrostek | int |
Liczba całkowita z zakresu od 0 do 128 reprezentująca liczbę najbardziej znaczących bitów, które są brane pod uwagę. |
Notacja prefiksu IP
Notacja prefiksów IP (znana również jako notacja CIDR) to zwięzły sposób reprezentowania adresu IP i skojarzonej maski sieciowej. Format to <base IP>/<prefix length>
, gdzie długość prefiksu to liczba wiodących 1 bitów maski sieci. Długość prefiksu określa zakres adresów IP należących do sieci.
W przypadku protokołu IPv4 długość prefiksu jest liczbą z zakresu od 0 do 32. Notacja 192.168.2.0/24 reprezentuje adres IP 192.168.2.0 z maską sieciową 255.255.255.0. Ta maska sieci ma 24 wiodące 1 bity lub długość prefiksu 24.
W przypadku protokołu IPv6 długość prefiksu jest liczbą z zakresu od 0 do 128. Notacja fe80::85d:e82c:9446:7994/120 reprezentuje adres IP fe80::85d:e82c:9446:7994 z maską netmask ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Ta maska sieci ma 120 wiodących 1 bitów lub długość prefiksu 120.
Zwraca
Jeśli konwersja zakończy się pomyślnie, wynikiem jest ciąg reprezentujący kanoniczny adres sieciowy IPv6. Jeśli konwersja nie powiedzie się, wynik jest pustym ciągiem.
Przykład
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)
Wyjście
ip_string | maska sieci | 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 |