Funções CIDR para Bicep
Classless Inter-Domain Routing (CIDR) é um método de alocar endereços IP e encaminhar pacotes ip (Internet Protocol). Este artigo descreve as funções bicep para trabalhar com CIDR.
parseCidr
parseCidr(network)
Analisa um intervalo de endereços IP na notação CIDR para obter várias propriedades do intervalo de endereços.
Espaço de nomes: sys.
Parâmetros
Parâmetro | Necessário | Tipo | Description |
---|---|---|---|
network | Yes | string | Cadeia na notação CIDR que contém um intervalo de endereços IP a converter. |
Valor devolvido
Um objeto que contém várias propriedades do intervalo de endereços.
Exemplos
O exemplo seguinte analisa uma cadeia CIDR IPv4:
output v4info object = parseCidr('10.144.0.0/20')
O exemplo anterior devolve o seguinte objeto:
{
"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
}
O exemplo seguinte analisa uma cadeia CIDR IPv6:
output v6info object = parseCidr('fdad:3236:5555::/48')
O exemplo anterior devolve o seguinte objeto:
{
"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)
Divide o intervalo de endereços IP especificado na notação CIDR em sub-redes com um novo valor CIDR e devolve o intervalo de endereços IP da sub-rede com o índice especificado.
Espaço de nomes: sys.
Parâmetros
Parâmetro | Necessário | Tipo | Description |
---|---|---|---|
network | Yes | string | Cadeia que contém um intervalo de endereços IP para converter na notação CIDR. |
newCIDR | Yes | int | Um número inteiro que representa o CIDR a ser utilizado na sub-rede. Este valor deve ser igual ou maior do que o valor CIDR no network parâmetro . |
subnetIndex | Yes | int | Índice do intervalo de endereços IP da sub-rede pretendido a devolver. |
Valor devolvido
Uma cadeia do intervalo de endereços IP da sub-rede com o índice especificado.
Exemplos
O exemplo seguinte calcula os primeiros cinco intervalos de sub-rede /24 dos /20 especificados:
output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]
O exemplo anterior devolve a seguinte matriz:
[
"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"
]
O exemplo seguinte calcula os primeiros cinco intervalos de sub-rede /52 dos /48 especificados:
output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]
O exemplo anterior devolve a seguinte matriz:
[
"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)
Calcula o endereço IP utilizável do anfitrião com o índice especificado no intervalo de endereços IP especificado na notação CIDR. Por exemplo, no caso de 192.168.1.0/24
, existem endereços IP reservados: 192.168.1.0
serve como o endereço do identificador de rede, enquanto 192.168.1.255
funciona como o endereço de difusão. Apenas os endereços IP que vão de 192.168.1.1
a 192.168.1.254
podem ser atribuídos a anfitriões, que referimos como endereços IP "utilizáveis". Assim, quando a função é transmitida um hostIndex de 0
, 192.168.1.1
é devolvido.
No Azure, existem endereços IP adicionais reservados em cada sub-rede, que incluem os primeiros quatro e o último endereço IP, num total de cinco endereços IP reservados. Por exemplo, no caso do intervalo 192.168.1.0/24
de endereços IP, os seguintes endereços são reservados:
192.168.1.0
: endereço de rede.192.168.1.1
: reservado pelo Azure para o gateway predefinido.192.168.1.2
,192.168.1.3
: reservado pelo Azure para mapear os IPs de DNS do Azure para o espaço da VNet.192.168.1.255
: endereço de difusão de rede.
Espaço de nomes: sys.
Parâmetros
Parâmetro | Necessário | Tipo | Description |
---|---|---|---|
network | Yes | string | Cadeia que contém uma rede IP para converter. A cadeia fornecida tem de estar no formato de rede correto. |
hostIndex | Yes | int | O índice determina o endereço IP do anfitrião a ser devolvido. Se utilizar o valor 0 , dá-lhe o primeiro endereço IP utilizável para uma rede não Azure. No entanto, se utilizar 3 , fornece-lhe o primeiro endereço IP utilizável para uma sub-rede do Azure. |
Valor devolvido
Uma cadeia do endereço IP.
Exemplos
O exemplo seguinte calcula os primeiros cinco endereços IP de anfitrião utilizáveis a partir do /24 especificado em redes que não sejam do Azure:
output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]
O exemplo anterior devolve a seguinte matriz:
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
O exemplo seguinte calcula os primeiros cinco endereços IP de anfitrião utilizáveis a partir do /52 especificado em redes que não sejam do Azure:
output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]
O exemplo anterior devolve a seguinte matriz:
[
"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"
]
Passos seguintes
- Para obter uma descrição das secções num ficheiro Bicep, veja Compreender a estrutura e a sintaxe dos ficheiros Bicep.