Fonctions CIDR pour Bicep
Le routage CIDR (Classless Inter-Domain Routing) est une méthode d’allocation d’adresses IP et de routage des paquets IP (Internet Protocol). Cet article décrit les fonctions Bicep pour l’utilisation du routage CIDR.
parseCidr
parseCidr(network)
Analyse une plage d’adresses IP dans la notation CIDR pour obtenir différentes propriétés de la plage d’adresses.
Espace de noms : sys.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
network | Oui | string | Chaîne dans la notation CIDR contenant une plage d’adresses IP à convertir. |
Valeur retournée
Objet qui contient différentes propriétés de la plage d’adresses.
Exemples
L’exemple suivant analyse une chaîne CIDR IPv4 :
output v4info object = parseCidr('10.144.0.0/20')
L’exemple précédent retourne l’objet suivant :
{
"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
}
L’exemple suivant analyse une chaîne CIDR IPv6 :
output v6info object = parseCidr('fdad:3236:5555::/48')
L’exemple précédent retourne l’objet suivant :
{
"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)
Fractionne la plage d’adresses IP spécifiée dans la notation CIDR en sous-réseaux avec une nouvelle valeur CIDR, et retourne la plage d’adresses IP du sous-réseau avec l’index spécifié.
Espace de noms : sys.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
network | Oui | string | Chaîne contenant la plage d’adresses IP à convertir en notation CIDR. |
newCIDR | Oui | int | Entier représentant le CIDR à utiliser pour le sous-réseau. Cette valeur doit être égale ou supérieure à la valeur CIDR dans le paramètre network . |
subnetIndex | Oui | int | Index de la plage d’adresses IP de sous-réseau souhaitée à retourner. |
Valeur retournée
Chaîne de la plage d’adresses IP du sous-réseau avec l’index spécifié.
Exemples
L’exemple suivant calcule les cinq premières plages de sous-réseaux /24 à partir du /20 spécifié :
output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]
L’exemple précédent retourne le tableau suivant :
[
"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"
]
L’exemple suivant calcule les cinq premières plages de sous-réseaux /52 à partir du /48 spécifié :
output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]
L’exemple précédent retourne le tableau suivant :
[
"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)
Calcule l’adresse IP utilisable de l’hôte avec l’index spécifié sur la plage d’adresses IP spécifiée en notation CIDR. Par exemple, dans le cas de 192.168.1.0/24
, il existe des adresses IP réservées : 192.168.1.0
sert d’adresse d’identificateur réseau, tandis que 192.168.1.255
fonctionne comme adresse de diffusion. Seules les adresses IP allant de 192.168.1.1
à 192.168.1.254
peuvent être attribuées aux hôtes ; elles sont appelées adresses IP « utilisables ». Par conséquent, lorsque un hostIndex de 0
est transmis à la fonction, 192.168.1.1
est retourné.
Dans Azure, il existe des adresses IP supplémentaires réservées dans chaque sous-réseau, qui incluent les quatre premières et la dernière adresse IP, soit un total de cinq adresses IP réservées. Par instance, dans le cas de la plage 192.168.1.0/24
d’adresses IP , les adresses suivantes sont réservées :
192.168.1.0
: Adresse du réseau.192.168.1.1
: Réservée par Azure pour la passerelle par défaut.192.168.1.2
,192.168.1.3
: Réservée par Azure pour mapper les adresses IP Azure DNS à l’espace du réseau virtuel.192.168.1.255
: Adresse de diffusion réseau.
Espace de noms : sys.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
network | Oui | string | Chaîne contenant un réseau IP à convertir. La chaîne fournie doit être au format de mise en réseau approprié. |
hostIndex | Oui | int | L’index détermine l’adresse IP de l’hôte à retourner. Si vous utilisez la valeur 0 , elle vous donne la première adresse IP utilisable pour un réseau non-Azure. Toutefois, si vous utilisez 3 , il vous fournit la première adresse IP utilisable pour un sous-réseau Azure. |
Valeur retournée
Chaîne de l’adresse IP.
Exemples
L’exemple suivant calcule les cinq premières adresses IP d’hôte utilisables à partir du /24 spécifié sur les réseaux non Azure :
output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]
L’exemple précédent retourne le tableau suivant :
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
L’exemple suivant calcule les cinq premières adresses IP d’hôte utilisables à partir du /52 spécifié sur les réseaux non Azure :
output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]
L’exemple précédent retourne le tableau suivant :
[
"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"
]
Étapes suivantes
- Pour obtenir une description des sections d’un fichier Bicep, consultez Comprendre la structure et la syntaxe des fichiers Bicep.