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/24alamat 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