Fungsi CIDR untuk Bicep
Classless Inter-Domain Routing (CIDR) adalah metode untuk mengalokasikan alamat IP dan paket Protokol Internet (IP) perutean. Artikel ini menjelaskan fungsi Bicep untuk bekerja dengan CIDR.
parseCidr
parseCidr(network)
Mengurai rentang alamat IP dalam notasi CIDR untuk mendapatkan berbagai properti rentang alamat.
Namespace: sys.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
jaringan | Ya | string | String dalam notasi CIDR yang berisi rentang alamat IP yang akan dikonversi. |
Mengembalikan nilai
Objek yang berisi berbagai properti rentang alamat.
Contoh
Contoh berikut mengurai string CIDR IPv4:
output v4info object = parseCidr('10.144.0.0/20')
Contoh sebelumnya menampilkan objek berikut:
{
"network":"10.144.0.0",
"netmask":"255.255.240.0",
"broadcast":"10.144.15.255",
"firstUsable":"10.144.0.1",
"lastUsable":"10.144.15.254",
"cidr":20
}
Contoh berikut mengurai string CIDR IPv6:
output v6info object = parseCidr('fdad:3236:5555::/48')
Contoh sebelumnya menampilkan objek berikut:
{
"network":"fdad:3236:5555::",
"netmask":"ffff:ffff:ffff::",
"firstUsable":"fdad:3236:5555::",
"lastUsable":"fdad:3236:5555:ffff:ffff:ffff:ffff:ffff",
"cidr":48
}
cidrSubnet
cidrSubnet(network, newCIDR, subnetIndex)
Memisahkan rentang alamat IP yang ditentukan dalam notasi CIDR menjadi subnet dengan nilai CIDR baru dan mengembalikan rentang alamat IP subnet dengan indeks yang ditentukan.
Namespace: sys.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
jaringan | Ya | string | String yang berisi rentang alamat IP untuk dikonversi dalam notasi CIDR. |
newCIDR | Ya | int | Bilangan bulat yang mewakili CIDR yang akan digunakan untuk subnet. Nilai ini harus sama atau lebih besar dari nilai CIDR dalam network parameter . |
subnetIndex | Ya | int | Indeks rentang alamat IP subnet yang diinginkan untuk dikembalikan. |
Menampilkan nilai
String rentang alamat IP subnet dengan indeks yang ditentukan.
Contoh
Contoh berikut menghitung lima subnet /24 pertama berkisar dari /20 yang ditentukan:
output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]
Contoh sebelumnya mengembalikan array berikut:
[
"10.144.0.0/24",
"10.144.1.0/24",
"10.144.2.0/24",
"10.144.3.0/24",
"10.144.4.0/24"
]
Contoh berikut menghitung lima subnet /52 pertama berkisar dari /48 yang ditentukan:
output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]
Contoh sebelumnya mengembalikan array berikut:
[
"fdad:3236:5555::/52"
"fdad:3236:5555:1000::/52"
"fdad:3236:5555:2000::/52"
"fdad:3236:5555:3000::/52"
"fdad:3236:5555:4000::/52"
]
cidrHost
cidrHost(network, hostIndex)
Menghitung alamat IP host yang dapat digunakan dengan indeks yang ditentukan pada rentang alamat IP yang ditentukan dalam notasi CIDR. Misalnya, dalam kasus , ada alamat IP yang dipesan 192.168.1.0/24
: 192.168.1.0
berfungsi sebagai alamat pengidentifikasi jaringan, sementara 192.168.1.255
berfungsi sebagai alamat siaran. Hanya alamat IP mulai dari 192.168.1.1
hingga 192.168.1.254
yang dapat ditetapkan ke host, yang kami sebut sebagai alamat IP "dapat digunakan". Jadi, ketika fungsi dilewatkan hostIndex dari 0
, 192.168.1.1
dikembalikan.
Dalam Azure, ada alamat IP tambahan yang dicadangkan di setiap subnet, yang mencakup empat alamat IP pertama dan alamat IP terakhir, yang berjumlah lima alamat IP yang dipesan. Misalnya, dalam kasus rentang 192.168.1.0/24
alamat IP , alamat berikut dicadangkan:
192.168.1.0
: Alamat jaringan.192.168.1.1
: Dicadangkan oleh Azure untuk gateway default.192.168.1.2
,192.168.1.3
: Dicadangkan oleh Azure untuk memetakan IP Azure DNS ke ruang VNet.192.168.1.255
: Alamat siaran jaringan.
Namespace: sys.
Parameter
Parameter | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
jaringan | Ya | string | String yang berisi jaringan IP untuk dikonversi. String yang disediakan harus dalam format jaringan yang benar. |
hostIndex | Ya | int | Indeks menentukan alamat IP host yang akan dikembalikan. Jika Anda menggunakan nilai 0 , itu memberi Anda alamat IP pertama yang dapat digunakan untuk jaringan non-Azure. Namun, jika Anda menggunakan 3 , ini memberi Anda alamat IP pertama yang dapat digunakan untuk subnet Azure. |
Menampilkan nilai
String alamat IP.
Contoh
Contoh berikut menghitung lima alamat IP host pertama yang dapat digunakan dari /24 yang ditentukan di jaringan non-Azure:
output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]
Contoh sebelumnya mengembalikan array berikut:
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
Contoh berikut menghitung lima alamat IP host pertama yang dapat digunakan dari /52 yang ditentukan di jaringan non-Azure:
output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]
Contoh sebelumnya mengembalikan array berikut:
[
"fdad:3236:5555:3000::1"
"fdad:3236:5555:3000::2"
"fdad:3236:5555:3000::3"
"fdad:3236:5555:3000::4"
"fdad:3236:5555:3000::5"
]
Langkah berikutnya
- Untuk mengetahui deskripsi bagian-bagian dalam file Bicep, lihat Memahami struktur dan sintaks file Bicep.