Funkce CIDR pro Bicep
CiDR (Classless Inter-Domain Routing) je metoda přidělování IP adres a směrování paketů PROTOKOLU IP (Internet Protocol). Tento článek popisuje funkce Bicep pro práci s CIDR.
parseCidr
parseCidr(network)
Parsuje rozsah IP adres v zápisu CIDR za účelem získání různých vlastností rozsahu adres.
Obor názvů: sys.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec v zápisu CIDR obsahující rozsah IP adres, který se má převést. |
Vrácená hodnota
Objekt, který obsahuje různé vlastnosti rozsahu adres.
Příklady
Následující příklad analyzuje řetězec CIDR IPv4:
output v4info object = parseCidr('10.144.0.0/20')
Předchozí příklad vrátí následující objekt:
{
"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
}
Následující příklad analyzuje řetězec CIDR IPv6:
output v6info object = parseCidr('fdad:3236:5555::/48')
Předchozí příklad vrátí následující objekt:
{
"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)
Rozdělí zadaný rozsah IP adres v zápisu CIDR do podsítí s novou hodnotou CIDR a vrátí rozsah IP adres podsítě se zadaným indexem.
Obor názvů: sys.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec obsahující rozsah IP adres pro převod v zápisu CIDR |
newCIDR | Ano | int | Celé číslo představující CIDR, které se má použít k podsíti. Tato hodnota by měla být rovna nebo větší než hodnota CIDR v parametru network . |
subnetIndex | Ano | int | Index rozsahu IP adres požadované podsítě, který se má vrátit. |
Vrácená hodnota
Řetězec rozsahu IP adres podsítě se zadaným indexem.
Příklady
Následující příklad vypočítá prvních pět rozsahů podsítě /24 ze zadaného /20:
output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]
Předchozí příklad vrátí následující pole:
[
"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"
]
Následující příklad vypočítá prvních pět rozsahů podsítě /52 ze zadaného /48:
output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]
Předchozí příklad vrátí následující pole:
[
"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)
Vypočítá použitelnou IP adresu hostitele se zadaným indexem zadaného rozsahu IP adres v zápisu CIDR. Například v případě 192.168.1.0/24
, že jsou vyhrazené IP adresy: 192.168.1.0
slouží jako adresa identifikátoru sítě, zatímco 192.168.1.255
funguje jako adresa všesměrového vysílání. Hostitelům se dají přiřadit jenom IP adresy, 192.168.1.1
od kterých 192.168.1.254
se označují jako "použitelné" IP adresy. Takže, když je funkce předána hostIndex of 0
, 192.168.1.1
je vrácena.
V Rámci Azure jsou v každé podsíti rezervované další IP adresy, mezi které patří první čtyři a poslední IP adresa, celkem pět rezervovaných IP adres. Například v případě rozsahu 192.168.1.0/24
IP adres jsou vyhrazeny následující adresy:
192.168.1.0
: Síťová adresa.192.168.1.1
: Vyhrazeno v Azure pro výchozí bránu.192.168.1.2
,192.168.1.3
: Vyhrazeno v Azure pro mapování IP adres AZURE DNS na prostor virtuální sítě.192.168.1.255
: Adresa síťového vysílání.
Obor názvů: sys.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec obsahující síť IP, kterou chcete převést. Zadaný řetězec musí být ve správném síťovém formátu. |
hostIndex | Ano | int | Index určuje IP adresu hostitele, která se má vrátit. Pokud použijete hodnotu 0 , získáte první použitelnou IP adresu pro síť mimo Azure. Pokud ale použijete 3 , poskytne vám první použitelnou IP adresu podsítě Azure. |
Vrácená hodnota
Řetězec IP adresy.
Příklady
Následující příklad vypočítá prvních pět použitelných IP adres hostitele ze zadaných /24 v sítích mimo Azure:
output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]
Předchozí příklad vrátí následující pole:
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
Následující příklad vypočítá prvních pět použitelných IP adres hostitele ze zadaných /52 v sítích mimo Azure:
output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]
Předchozí příklad vrátí následující pole:
[
"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"
]
Další kroky
- Popis oddílů v souboru Bicep najdete v tématu Vysvětlení struktury a syntaxe souborů Bicep.