NET.IPV4_TO_INT64 |
Réseau : IPv4 à entier 64 bits |
| BigQuery |
Syntaxe
|
NET.IPV4_TO_INT64(addr_bin)
|
Paramètres
| Nom |
Description |
| addr_bin |
Ce paramètre permet de spécifier l'adresse IPv4 au format binaire (BYTES). Cette fonction convertira cette représentation binaire (devant avoir une longueur de 4 octets) en une valeur entière de type INT64. |
Description
Cette fonction permet de convertir une chaîne de caractères de format binaire de 4 caractères de longueur en une adresse de format IPv4.
Remarques
- Convertit une adresse IPv4 binaire en entier 64 bits : La fonction NET.IPV4_TO_INT64 permet de transformer une adresse IPv4 entreposée sous forme binaire
(BYTES de 4 octets) en un entier de type INT64. Ce type de conversion est utile pour effectuer des comparaisons numériques, des tris ou des regroupements efficaces.
- Optimise les traitements d'adresses IP : En convertissant une IP en entier, on peut accélérer les traitements sur de très grandes quantités de données
(par exemple, des journaux de bords de pare-feu ou d'accès). Les opérations arithmétiques et les jointures sont souvent plus rapides avec des entiers qu'avec des chaînes
ou des octets.
- Fonction inverse de NET.IPV4_FROM_INT64 : Cette fonction a pour pendant logique NET.IPV4_FROM_INT64, reconvertissant un entier en adresse binaire. Les
deux peuvent être utilisées ensemble pour assurer une transformation bidirectionnelle sans perte d'information.
- N'accepte que des adresses IPv4 : Le format accepté en paramètre doit être exactement 4 octets. Si une adresse IPv6 (16 octets) est passée à la fonction,
cela entraînera une erreur d'exécution. Elle est donc strictement limitée à l'espace d'adressage IPv4.
- Utile pour l'entreposage compact ou l'indexation : L'utilisation d'un entier pour représenter une adresse IPv4
permet de réduire l'espace d'entreposage, notamment dans les index de bases de données. Cela facilite aussi l'indexation ascendante des plages d'adresses IP, par exemple
dans des ACLs ou des bases de géolocalisation.
- Représente les adresses IP comme des entiers de 0 à 4 294 967 295 : Une IP comme 192.168.0.1 sera convertie en son équivalent entier (ici
3 232 235 777). Cette numérisation permet de comparer directement les plages IP avec des bornes numériques, ce qui simplifie les algorithmes de détection
ou de classement.
- Requiert une conversion préalable si on part d'une chaîne lisible : Si l'adresse IP est fournie sous forme de texte (ex. "10.0.0.1"), il faut d'abord
utiliser NET.IP_FROM_STRING, puis passer le résultat à NET.IPV4_TO_INT64. Cela garantit que l'adresse est bien au bon format binaire attendu par la fonction.
- Indispensable pour certaines analyses de plages IP : Pour savoir si une IP se situe dans une plage donnée (entre deux adresses IP), il est très pratique
de convertir les trois IP en entiers, puis de vérifier l'inclusion avec une condition arithmétique (entre a et b). Cette approche est plus performante et lisible que la
manipulation de chaînes ou de bits.
Dernière mise à jour : Jeudi, le 18 Juin 2020