ipv4_compare()
Confronta due stringhe IPv4. Le due stringhe IPv4 vengono analizzate e confrontate tenendo conto della maschera di prefisso IP combinata calcolata dai prefissi degli argomenti e dell'argomento facoltativo PrefixMask
.
Sintassi
ipv4_compare(
Expr1,
Expr2[ ,
PrefissoMask])
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
Expr1, Expr2 | string |
✔️ | Espressione stringa che rappresenta un indirizzo IPv4. Le stringhe IPv4 possono essere mascherate usando la notazione con prefisso IP. |
PrefissoMask | int |
Intero compreso tra 0 e 32 che rappresenta il numero di bit più significativi presi in considerazione. |
Notazione del prefisso IP
La notazione con prefisso IP (nota anche come notazione CIDR) è un modo conciso di rappresentare un indirizzo IP e la relativa maschera di rete associata. Il formato è <base IP>/<prefix length>
, dove la lunghezza del prefisso è il numero di bit iniziali 1 nella maschera di rete. La lunghezza del prefisso determina l'intervallo di indirizzi IP che appartengono alla rete.
Per IPv4, la lunghezza del prefisso è un numero compreso tra 0 e 32. La notazione 192.168.2.0/24 rappresenta quindi l'indirizzo IP 192.168.2.0 con una maschera di rete 255.255.255.0. Questa maschera di rete ha 24 bit iniziali 1 o una lunghezza del prefisso pari a 24.
Per IPv6, la lunghezza del prefisso è un numero compreso tra 0 e 128. La notazione fe80::85d:e82c:9446:7994/120 rappresenta l'indirizzo IP fe80::85d:e82c:9446:7994 con una maschera netmask di ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00. Questa maschera di rete ha 120 bit iniziali o una lunghezza del prefisso pari a 120.
Restituisce
0
: se la rappresentazione lunga del primo argomento stringa IPv4 è uguale al secondo argomento stringa IPv41
: se la rappresentazione lunga del primo argomento stringa IPv4 è maggiore del secondo argomento stringa IPv4-1
: se la rappresentazione lunga del primo argomento stringa IPv4 è minore del secondo argomento stringa IPv4null
: se la conversione per una delle due stringhe IPv4 non ha avuto esito positivo.
Esempi: casi di uguaglianza di confronto IPv4
Confrontare gli indirizzi IP usando la notazione del prefisso IP specificata all'interno delle stringhe IPv4
datatable(ip1_string:string, ip2_string:string)
[
'192.168.1.0', '192.168.1.0', // Equal IPs
'192.168.1.1/24', '192.168.1.255', // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
'192.168.1.1/30', '192.168.1.255/24', // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string)
Output
ip1_string | ip2_string | result |
---|---|---|
192.168.1.0 | 192.168.1.0 | 0 |
192.168.1.1/24 | 192.168.1.255 | 0 |
192.168.1.1 | 192.168.1.255/24 | 0 |
192.168.1.1/30 | 192.168.1.255/24 | 0 |
Confrontare gli indirizzi IP usando la notazione del prefisso IP specificata all'interno delle stringhe IPv4 e come argomento aggiuntivo della ipv4_compare()
funzione
datatable(ip1_string:string, ip2_string:string, prefix:long)
[
'192.168.1.1', '192.168.1.0', 31, // 31 bit IP-prefix is used for comparison
'192.168.1.1/24', '192.168.1.255', 31, // 24 bit IP-prefix is used for comparison
'192.168.1.1', '192.168.1.255', 24, // 24 bit IP-prefix is used for comparison
]
| extend result = ipv4_compare(ip1_string, ip2_string, prefix)
Output
ip1_string | ip2_string | prefix | result |
---|---|---|---|
192.168.1.1 | 192.168.1.0 | 31 | 0 |
192.168.1.1/24 | 192.168.1.255 | 31 | 0 |
192.168.1.1 | 192.168.1.255 | 24 | 0 |
Contenuti correlati
- Panoramica delle funzioni IPv4/IPv6
- Panoramica delle funzioni di corrispondenza del testo IPv4
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per