ipv4_compare()
Vergleicht zwei IPv4-Zeichenfolgen. Die beiden IPv4-Zeichenfolgen werden analysiert und verglichen, während die kombinierte IP-Präfixmaske, die aus Argumentpräfixen berechnet wird, und das optionale PrefixMask
Argument berücksichtigt werden.
Syntax
ipv4_compare(
Expr1,
Expr2[ ,
PrefixMask])
Parameter
Name | Typ | Erforderlich | BESCHREIBUNG |
---|---|---|---|
Expr1, Expr2 | string |
✔️ | Ein Zeichenfolgenausdruck, der eine IPv4-Adresse darstellt. IPv4-Zeichenfolgen können mithilfe der IP-Präfixnotation maskiert werden. |
PrefixMask | int |
Eine ganze Zahl von 0 bis 32, die die Anzahl der wichtigsten Bits darstellt, die berücksichtigt werden. |
IP-Präfixnotation
IP-Präfixnotation (auch als CIDR-Notation bezeichnet) ist eine präzise Möglichkeit, eine IP-Adresse und die zugehörige Netzwerkmaske darzustellen. Das Format ist <base IP>/<prefix length>
, wobei die Präfixlänge die Anzahl der führenden 1 Bits in der Netzmaske ist. Die Präfixlänge bestimmt den Bereich der IP-Adressen, die zum Netzwerk gehören.
Bei IPv4 ist die Präfixlänge eine Zahl zwischen 0 und 32. Die Notation 192.168.2.0/24 stellt also die IP-Adresse 192.168.2.0 mit einer Netzmaske von 255.255.255.255.0 dar. Diese Netzmaske hat 24 führende 1 Bits oder eine Präfixlänge von 24.
Für IPv6 ist die Präfixlänge eine Zahl zwischen 0 und 128. Die Notation fe80::85d:e82c:9446:7994/120 stellt also die IP-Adresse fe80:::85d:e82c:9446:7994 mit einer Netzmaske von ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 dar. Diese Netzmaske hat 120 führende 1 Bits oder eine Präfixlänge von 120.
Gibt zurück
0
: Wenn die lange Darstellung des ersten IPv4-Zeichenfolgenarguments gleich dem zweiten IPv4-Zeichenfolgenargument ist1
: Wenn die lange Darstellung des ersten IPv4-Zeichenfolgenarguments größer als das zweite IPv4-Zeichenfolgenargument ist-1
: Wenn die lange Darstellung des ersten IPv4-Zeichenfolgenarguments kleiner als das zweite IPv4-Zeichenfolgenargument istnull
: Wenn die Konvertierung für eine der beiden IPv4-Zeichenfolgen nicht erfolgreich war.
Beispiele: IPv4-Vergleichsfälle
Vergleichen von IP-Adressen mithilfe der IP-Präfixnotation, die in den IPv4-Zeichenfolgen angegeben ist
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)
Ausgabe
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 |
Vergleichen von IP-Adressen mithilfe der IP-Präfixnotation, die in den IPv4-Zeichenfolgen und als zusätzliches Argument der ipv4_compare()
Funktion angegeben ist
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)
Ausgabe
ip1_string | ip2_string | prefix | 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 |
Verwandte Inhalte
- Übersicht über IPv4/IPv6-Funktionen
- Übersicht über IPv4-Textüberstimmungsfunktionen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für