ipv4_compare()
Membandingkan dua string IPv4. Dua string IPv4 diuraikan dan dibandingkan saat menghitung gabungan mask prefiks IP yang dihitung dari prefiks argumen, dan argumen PrefixMask
opsional.
Sintaks
ipv4_compare(
Expr1,
Expr2[ ,
PrefixMask])
Parameter
Nama | Jenis | Diperlukan | Deskripsi |
---|---|---|---|
Expr1, Expr2 | string |
✔️ | Ekspresi string yang mewakili alamat IPv4. Nilai IPv4 dapat di-mask menggunakan notasi prefiks IP. |
PrefixMask | int |
Bilangan bulat dari 0 hingga 32 mewakili jumlah bit paling signifikan yang diperhitungkan. |
Notasi prefiks IP
Notasi awalan IP (juga dikenal sebagai notasi CIDR) adalah cara ringkas untuk mewakili alamat IP dan masker jaringan terkait. Formatnya adalah <base IP>/<prefix length>
, di mana panjang awalan adalah jumlah 1 bit terkemuka dalam netmask. Panjang awalan menentukan rentang alamat IP milik jaringan.
Untuk IPv4, panjang awalan adalah angka antara 0 dan 32. Jadi notasi 192.168.2.0/24 mewakili alamat IP 192.168.2.0 dengan netmask 255.255.255.0. Netmask ini memiliki 24 bit terkemuka, atau panjang awalan 24.
Untuk IPv6, panjang awalan adalah angka antara 0 dan 128. Jadi notasi fe80::85d:e82c:9446:7994/120 mewakili alamat IP fe80::85d:e82c:9446:7994 dengan netmask ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Netmask ini memiliki 120 1 bit terkemuka, atau panjang awalan 120.
Mengembalikan
0
: Jika representasi panjang dari argumen string IPv4 setara dengan argumen string iPv4 kedua1
: Jika representasi panjang dari argumen string IPv4 lebih besar dari argumen string iPv4 kedua-1
: Jika representasi panjang dari argumen string IPv4 lebih sedikit dari argumen string iPv4 keduanull
: Jika konversi untuk salah satu dari dua string iPv4 tidak berhasil.
Contoh: Kasus kesetaraan perbandingan IPv4
Membandingkan IP menggunakan notasi prefiks IP yang ditentukan di dalam string 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)
Output
ip1_string | ip2_string | hasil |
---|---|---|
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 |
Bandingkan IP menggunakan notasi prefiks IP yang ditentukan di dalam string IPv4 dan sebagai argumen tambahan dari fungsi ipv4_compare()
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)
Output
ip1_string | ip2_string | awalan | hasil |
---|---|---|---|
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 |
Konten terkait
- Gambaran umum fungsi IPv4/IPv6
- Gambaran umum fungsi pencocokan teks IPv4
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk