Sdílet prostřednictvím


parse_ipv6_mask()

Převede řetězec IPv6/IPv4 a síťovou masku na kanonickou reprezentaci řetězců IPv6.

Syntax

parse_ipv6_mask(Ip,Předponu)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Ip string Síťová adresa IPv6/IPv4, která se má převést na kanonickou reprezentaci IPv6. Hodnota může zahrnovat net-mask pomocí zápisu předpon IP.
Předponu int Celé číslo od 0 do 128 představující počet nejvýznamnějších bitů, které se berou v úvahu.

Zápis předpony PROTOKOLU IP

Notace předpony IP (označovaná také jako zápis CIDR) je stručný způsob, jak znáznačovat IP adresu a její přidruženou masku sítě. Formát je <base IP>/<prefix length>, kde délka předpony je počet úvodních 1 bitů v síťové maskě. Délka předpony určuje rozsah IP adres, které patří do sítě.

U protokolu IPv4 je délka předpony číslo mezi 0 a 32. Notace 192.168.2.0/24 tedy představuje IP adresu 192.168.2.0 s maskou sítě 255.255.255.0. Tato síťová maska má 24 úvodních 1 bitů nebo délku předpony 24.

U protokolu IPv6 je délka předpony číslo mezi 0 a 128. Notace fe80::85d:e82c:9446:7994/120 tedy představuje IP adresu fe80::85d:e82c:9446:7994 s maskou netffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Tato síťová maska má 120 úvodních 1 bitů nebo délku předpony 120.

Návraty

Pokud je převod úspěšný, výsledkem je řetězec představující kanonickou síťovou adresu IPv6. Pokud převod není úspěšný, výsledkem je prázdný řetězec.

Příklad

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)

Výstup

ip_string Maska sítě 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