ipv4_compare()
Porovná dva řetězce IPv4. Dva řetězce IPv4 se analyzují a porovnávají při zohlednění kombinované masky předpony IP vypočítané z předpon argumentů a volitelného PrefixMask
argumentu.
Syntax
ipv4_compare(
Výraz1,
Výraz2[ ,
PředponaMask])
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
Výraz1, Výraz2 | string |
✔️ | Řetězcový výraz představující adresu IPv4. Řetězce IPv4 je možné maskovat pomocí zápisu ip-prefix. |
PředponaMask | int |
Celé číslo od 0 do 32 představující počet nejvýznamnějších bitů, které se vezmou v úvahu. |
Zápis předpony IP adresy
Zápis předpony IP (označovaný také jako zápis CIDR) je stručný způsob, jak znáznačovat IP adresu a přidruženou masku sítě. Formát je <base IP>/<prefix length>
, kde délka předpony je počet počátečních 1 bitů v masky sítě. Délka předpony určuje rozsah IP adres, které patří do sítě.
Pro protokol 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 sítě 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
0
: Pokud se dlouhé vyjádření prvního argumentu řetězce IPv4 rovná druhému argumentu řetězce IPv4.1
: Pokud je dlouhé vyjádření prvního argumentu řetězce IPv4 větší než druhý argument řetězce IPv4.-1
: Pokud je dlouhé vyjádření prvního argumentu řetězce IPv4 menší než druhý argument řetězce IPv4.null
: Pokud převod jednoho ze dvou řetězců IPv4 nebyl úspěšný.
Příklady: Případy rovnosti porovnání IPv4
Porovnání IP adres pomocí notace předpon IP zadaného v řetězcích IPv4
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string)
Výstup
ip1_string | ip2_string | result |
---|---|---|
192.168.1.0 | 192.168.1.0 | 0 |
192.168.1.1/24 | 192.168.1.255 | 0 |
192.168.1.1 | 192.168.1.255/24 | 0 |
192.168.1.1/30 | 192.168.1.255/24 | 0 |
Porovnejte IP adresy pomocí zápisu předpony IP zadaného v řetězcích IPv4 a jako další argument ipv4_compare()
funkce.
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string, prefix)
Výstup
ip1_string | ip2_string | Předponu | result |
---|---|---|---|
192.168.1.1 | 192.168.1.0 | 31 | 0 |
192.168.1.1/24 | 192.168.1.255 | 31 | 0 |
192.168.1.1 | 192.168.1.255 | 24 | 0 |
Související obsah
- Přehled funkcí IPv4/IPv6
- Přehled funkcí párování textu IPv4
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro