ipv4_compare()
Porównuje dwa ciągi IPv4. Dwa ciągi IPv4 są analizowane i porównywane podczas uwzględniania połączonej maski prefiksów IP obliczonej na podstawie prefiksów argumentów i argumentu opcjonalnego PrefixMask
.
Składnia
ipv4_compare(
Wyrażenie1,
Wyrażenie 2[ ,
Maska prefiksu])
Parametry
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
Expr1, Expr2 | string |
✔️ | Wyrażenie ciągu reprezentujące adres IPv4. Ciągi IPv4 można maskować przy użyciu notacji prefiksu IP. |
Maska prefiksu | int |
Liczba całkowita z zakresu od 0 do 32 reprezentująca liczbę najbardziej znaczących bitów, które są brane pod uwagę. |
Notacja prefiksu IP
Notacja prefiksu IP (znana również jako notacja CIDR) to zwięzły sposób reprezentowania adresu IP i skojarzonej maski sieciowej. Format to <base IP>/<prefix length>
, gdzie długość prefiksu jest liczbą wiodących 1 bitów maski sieci. Długość prefiksu określa zakres adresów IP należących do sieci.
W przypadku protokołu IPv4 długość prefiksu jest liczbą z zakresu od 0 do 32. Dlatego notacja 192.168.2.0/24 reprezentuje adres IP 192.168.2.0 maską netto 255.255.255.255.0. Ta maska sieci ma 24 wiodące 1 bity lub długość prefiksu 24.
W przypadku protokołu IPv6 długość prefiksu jest liczbą z zakresu od 0 do 128. Tak więc notacja fe80::85d:e82c:9446:7994/120 reprezentuje adres IP fe80::85d:e82c:9446:7994 z maską netmask ffff:ffff:ffff:ffff:ff00. Ta maska sieci ma 120 wiodących 1 bitów lub długość prefiksu 120.
Zwraca
0
: Jeśli długa reprezentacja pierwszego argumentu ciągu IPv4 jest równa drugiemu argumentowi ciągu IPv41
: Jeśli długa reprezentacja pierwszego argumentu ciągu IPv4 jest większa niż drugi argument ciągu IPv4-1
: Jeśli długa reprezentacja pierwszego argumentu ciągu IPv4 jest mniejsza niż drugi argument ciągu IPv4null
: Jeśli konwersja jednego z dwóch ciągów IPv4 nie powiodła się.
Przykłady: przypadki równości porównania IPv4
Porównaj adresy IP przy użyciu notacji prefiksu IP określonej wewnątrz ciągów 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)
Dane wyjściowe
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 |
Porównaj adresy IP przy użyciu notacji prefiksu IP określonej wewnątrz ciągów IPv4 i jako dodatkowy argument ipv4_compare()
funkcji
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)
Dane wyjściowe
ip1_string | ip2_string | Prefiks | 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 |
Zawartość pokrewna
- Omówienie funkcji IPv4/IPv6
- Omówienie funkcji dopasowania tekstu IPv4
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla