ipv4_compare()
Jämför två IPv4-strängar. De två IPv4-strängarna parsas och jämförs samtidigt som de står för den kombinerade IP-prefixmasken som beräknas utifrån argumentprefix och det valfria PrefixMask
argumentet.
Syntax
ipv4_compare(
Uttr1,
Uttr2[ ,
Prefixmask])
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Uttr1, uttr2 | string |
✔️ | Ett stränguttryck som representerar en IPv4-adress. IPv4-strängar kan maskeras med IP-prefixnotation. |
Prefixmask | int |
Ett heltal mellan 0 och 32 som representerar antalet viktigaste bitar som beaktas. |
IP-prefixnotation
IP-prefixnotation (kallas även CIDR-notation) är ett kortfattat sätt att representera en IP-adress och dess associerade nätverksmask. Formatet är <base IP>/<prefix length>
, där prefixets längd är antalet inledande 1 bitar i nätmasken. Prefixets längd avgör intervallet med IP-adresser som tillhör nätverket.
För IPv4 är prefixets längd ett tal mellan 0 och 32. Notationen 192.168.2.0/24 representerar alltså IP-adressen 192.168.2.0 med nätmasken 255.255.255.0. Nätmasken har 24 inledande 1 bitar, eller en prefixlängd på 24.
För IPv6 är prefixets längd ett tal mellan 0 och 128. Så notationen fe80::85d:e82c:9446:7994/120 representerar IP-adressen fe80::85d:e82c:9446:7994 med en nätmask av ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffffff:ff00. Denna nätmask har 120 inledande 1 bitar, eller en prefixlängd på 120.
Returer
0
: Om den långa representationen av det första IPv4-strängargumentet är lika med det andra IPv4-strängargumentet1
: Om den långa representationen av det första IPv4-strängargumentet är större än det andra IPv4-strängargumentet-1
: Om den långa representationen av det första IPv4-strängargumentet är mindre än det andra IPv4-strängargumentetnull
: Om konverteringen för en av de två IPv4-strängarna inte lyckades.
Exempel: IPv4-jämförelsejämlikhetsfall
Jämför IP-adresser med ip-prefixnotationen som anges i IPv4-strängarna
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)
Resultat
ip1_string | ip2_string | resultat |
---|---|---|
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 |
Jämför IP-adresser med IP-prefixnotation som anges i IPv4-strängarna och som ytterligare argument för ipv4_compare()
funktionen
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)
Resultat
ip1_string | ip2_string | Prefix | resultat |
---|---|---|---|
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 |
Relaterat innehåll
- Översikt över IPv4/IPv6-funktioner
- Översikt över IPv4-textmatchningsfunktioner
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för