Megosztás a következőn keresztül:


parse_ipv6_mask()

Átalakítja az IPv6/IPv4-sztringet és a hálómaszkot egy canonical IPv6-sztringre.

Syntax

parse_ipv6_mask(Ip,Előtag)

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Ip string A canonical IPv6-reprezentációvá alakítandó IPv6/IPv4 hálózati cím. Az érték tartalmazhat ip-előtag jelölést használó net-mask jelölést.
Előtag int Egy 0 és 128 közötti egész szám, amely a figyelembe vett legfontosabb bitek számát jelöli.

IP-előtag jelölése

Az IP-előtag jelölése (más néven CIDR-jelölés) az IP-címek és a hozzá tartozó hálózati maszk rövid módja. A formátum az <base IP>/<prefix length>, ahol az előtag hossza a hálómaszkban lévő 1 bit kezdő bitjeinek száma. Az előtag hossza határozza meg a hálózathoz tartozó IP-címek tartományát.

IPv4 esetén az előtag hossza 0 és 32 közötti szám. A 192.168.2.0/24 jelölés tehát a 192.168.2.0 IP-címet jelöli a 255.255.255.0 nettó maszkkal. Ennek a hálómaszknak 24 kezdő 1 bitje van, vagy az előtag hossza 24.

IPv6 esetén az előtag hossza 0 és 128 közötti szám. Tehát a fe80::85d:e82c:9446:7994/120 jelölés a fe80::85d:e82c:9446:7994 IP-címet jelöli, ffff:ffff:ffff:ffff: ffff:ff00 hálómaszkkal. Ez a hálómaszk 120 kezdő 1 bitből vagy 120 előtagból áll.

Válaszok

Ha az átalakítás sikeres, az eredmény egy olyan sztring, amely egy canonical IPv6 hálózati címet jelöl. Ha az átalakítás nem sikerül, az eredmény egy üres sztring.

Példa

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)

Kimenet

ip_string netmask 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