NET.IP_TRUNC |
Réseau : Tronque IP |
| BigQuery |
Syntaxe
|
NET.IP_TRUNC(addr_bin, prefix_length)
|
Paramètres
| Nom |
Description |
| addr_bin |
Ce paramètre permet de spécifier l'adresse IP, au format binaire (BYTES), que vous souhaitez tronquer à la limite du sous-réseau. Il peut s'agir d'une adresse IPv4 ou IPv6. |
| prefix_length |
Ce paramètre permet de définir la longueur du préfixe réseau (ou CIDR) en bits. La fonction tronquera l'adresse IP fournie pour correspondre à cette longueur de préfixe, en mettant à zéro tous les bits après la prefix_length spécifiée pour obtenir l'adresse du sous-réseau. |
Description
Cette fonction permet de convertir une adresse IP de format IPv4 ou IPv6 en une adresse de sous-réseau.
Remarques
- Fonction utilisée pour obtenir l'adresse de sous-réseau : NET.IP_TRUNC permet de tronquer une adresse IP (en format
binaire) en conservant uniquement les bits correspondant à la partie réseau, selon une longueur de préfixe CIDR. C'est une méthode essentielle pour identifier l'adresse de
base d'un sous-réseau.
- Compatible avec IPv4 et IPv6 selon le format fourni : La fonction accepte à la fois les adresses IPv4 et
IPv6, du moment qu'elles sont fournies en format binaire (BYTES). Cela permet de manipuler toute la plage des adresses IP
modernes, sans distinction au niveau de la logique de traitement.
- Utilise la logique CIDR pour déterminer la partie réseau : Le paramètre prefix_length détermine le nombre de bits à conserver, les suivants étant mis
à zéro. Cela revient à "masquer" les bits hôtes, et donc à isoler le réseau auquel appartient l'adresse IP, de façon très précise.
- Très utile pour regrouper ou filtrer des IPs par bloc réseau : On peut utiliser cette fonction pour regrouper toutes les adresses d'un même sous-réseau
(exemple : tous les clients connectés via le même routeur). Cela est très utile pour l'analyse de trafic, la détection d'anomalies ou la répartition géographique.
- Doit être combinée à NET.IP_FROM_STRING pour une entrée texte : Comme NET.IP_TRUNC prend une adresse IP en format binaire, il faut d'abord utiliser
NET.IP_FROM_STRING si l'on travaille avec des adresses IP sous forme de chaîne. Cette conversion permet ensuite la manipulation binaire correcte.
- Résultat retourné également au format BYTES : Le résultat de la fonction est lui aussi en format binaire, représentant l'adresse de sous-réseau. Si l'on
veut l'afficher de façon lisible, il faudra utiliser NET.IP_TO_STRING pour le convertir de nouveau en texte.
- Fonction clef pour normaliser les adresses IP en entrée : Dans des analyses réseau, on veut souvent travailler avec les blocs IP, et non les adresses
individuelles. NET.IP_TRUNC permet de transformer toutes les IPs d'un bloc en une seule valeur de référence, utile pour le groupement et l'agrégation.
- Doit respecter la cohérence entre le format d'IP et le préfixe : Il est essentiel de fournir un préfixe adapté au type d'adresse : maximum 32 bits
pour IPv4 et 128 bits pour IPv6. Si le préfixe dépasse ces limites ou est mal adapté,
la fonction générera une erreur de traitement dans BigQuery.
Dernière mise à jour : Jeudi, le 18 Juin 2020