Delen via


CIDR-functies voor Bicep

Classless Inter-Domain Routing (CIDR) is een methode voor het toewijzen van IP-adressen en routering van IP-pakketten (Internet Protocol). In dit artikel worden de Bicep-functies beschreven voor het werken met CIDR.

parseCidr

parseCidr(network)

Parseert een IP-adresbereik in CIDR-notatie om verschillende eigenschappen van het adresbereik op te halen.

Naamruimte: sys.

Parameters

Parameter Vereist Type Description
network Ja tekenreeks Tekenreeks in CIDR-notatie die een IP-adresbereik bevat dat moet worden geconverteerd.

Retourwaarde

Een object dat verschillende eigenschappen van het adresbereik bevat.

Voorbeelden

In het volgende voorbeeld wordt een IPv4 CIDR-tekenreeks geparseerd:

output v4info object = parseCidr('10.144.0.0/20')

In het voorgaande voorbeeld wordt het volgende object geretourneerd:

{
  "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
}

In het volgende voorbeeld wordt een IPv6 CIDR-tekenreeks geparseerd:

output v6info object = parseCidr('fdad:3236:5555::/48')

In het voorgaande voorbeeld wordt het volgende object geretourneerd:

{
  "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)

Splitst het opgegeven IP-adresbereik in CIDR-notatie op in subnetten met een nieuwe CIDR-waarde en retourneert het IP-adresbereik van het subnet met de opgegeven index.

Naamruimte: sys.

Parameters

Parameter Vereist Type Description
network Ja tekenreeks Tekenreeks met een IP-adresbereik dat moet worden geconverteerd in CIDR-notatie.
newCIDR Ja int Een geheel getal dat de CIDR aangeeft die moet worden gebruikt voor het subnet. Deze waarde moet gelijk zijn aan of groter zijn dan de CIDR-waarde in de network parameter.
subnetIndex Ja int Index van het gewenste IP-adresbereik van het subnet dat moet worden geretourneerd.

Retourwaarde

Een tekenreeks van het IP-adresbereik van het subnet met de opgegeven index.

Voorbeelden

In het volgende voorbeeld worden de eerste vijf /24-subnetten berekend van de opgegeven /20:

output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]

In het voorgaande voorbeeld wordt de volgende matrix geretourneerd:

[
  "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"
]

In het volgende voorbeeld worden de eerste vijf /52-subnetten berekend van de opgegeven /48:

output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]

In het voorgaande voorbeeld wordt de volgende matrix geretourneerd:

[
  "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)

Berekent het bruikbare IP-adres van de host met de opgegeven index op het opgegeven IP-adresbereik in CIDR-notatie. In het geval van 192.168.1.0/24bijvoorbeeld, zijn er gereserveerde IP-adressen: 192.168.1.0 fungeert als het netwerk-id-adres, terwijl 192.168.1.255 deze fungeert als het broadcast-adres. Alleen IP-adressen van 192.168.1.1 tot nu 192.168.1.254 kunnen worden toegewezen aan hosts, waarnaar we verwijzen als 'bruikbare' IP-adressen. Dus, wanneer de functie wordt doorgegeven een hostIndex van 0, 192.168.1.1 wordt geretourneerd.

In Azure zijn er extra IP-adressen gereserveerd in elk subnet, waaronder de eerste vier en het laatste IP-adres, met in totaal vijf gereserveerde IP-adressen. In het geval van het IP-adresbereik 192.168.1.0/24zijn bijvoorbeeld de volgende adressen gereserveerd:

  • 192.168.1.0 : netwerkadres.
  • 192.168.1.1 : Gereserveerd door Azure voor de standaardgateway.
  • 192.168.1.2, : 192.168.1.3 Gereserveerd door Azure om de Azure DNS-IP-adressen toe te wijzen aan de VNet-ruimte.
  • 192.168.1.255 : Netwerkuitzendadres.

Naamruimte: sys.

Parameters

Parameter Vereist Type Description
network Ja tekenreeks Tekenreeks die een IP-netwerk bevat dat moet worden geconverteerd. De opgegeven tekenreeks moet de juiste netwerkindeling hebben.
hostIndex Ja int De index bepaalt het host-IP-adres dat moet worden geretourneerd. Als u de waarde 0gebruikt, krijgt u het eerste bruikbare IP-adres voor een niet-Azure-netwerk. Als u echter gebruikt 3, krijgt u het eerste bruikbare IP-adres voor een Azure-subnet.

Retourwaarde

Een tekenreeks van het IP-adres.

Voorbeelden

In het volgende voorbeeld worden de eerste vijf bruikbare HOST-IP-adressen berekend van de opgegeven /24 op niet-Azure-netwerken:

output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]

In het voorgaande voorbeeld wordt de volgende matrix geretourneerd:

[
  "10.144.3.1"
  "10.144.3.2"
  "10.144.3.3"
  "10.144.3.4"
  "10.144.3.5"
]

In het volgende voorbeeld worden de eerste vijf bruikbare HOST-IP-adressen berekend van de opgegeven /52 op niet-Azure-netwerken:

output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]

In het voorgaande voorbeeld wordt de volgende matrix geretourneerd:

[
  "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"
]

Volgende stappen