function classifyAddressv4
classifyAddressv4(address: number): Classificationv4

Classifies an IPv4 address into its well-known range.

Returns the most specific classification label for the given address. Every valid 32-bit unsigned integer maps to exactly one classification.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { classifyAddressv4 } from "@hertzg/ip/classifyv4";
import { parseAddressv4 } from "@hertzg/ip/addressv4";

assertEquals(classifyAddressv4(parseAddressv4("192.168.1.1").address), "private");
assertEquals(classifyAddressv4(parseAddressv4("8.8.8.8").address), "public");
assertEquals(classifyAddressv4(parseAddressv4("127.0.0.1").address), "loopback");
assertEquals(classifyAddressv4(parseAddressv4("169.254.1.1").address), "link-local");
assertEquals(classifyAddressv4(parseAddressv4("224.0.0.1").address), "multicast");
assertEquals(classifyAddressv4(parseAddressv4("255.255.255.255").address), "broadcast");
assertEquals(classifyAddressv4(parseAddressv4("0.0.0.0").address), "this-network");
assertEquals(classifyAddressv4(parseAddressv4("100.64.0.1").address), "cg-nat");
assertEquals(classifyAddressv4(parseAddressv4("198.18.0.1").address), "benchmarking");
assertEquals(classifyAddressv4(parseAddressv4("192.0.2.1").address), "documentation");
assertEquals(classifyAddressv4(parseAddressv4("240.0.0.0").address), "reserved");

Parameters

address: number

The address as a 32-bit unsigned integer

Return Type

The classification label

Usage

import { classifyAddressv4 } from "classifyv4.ts";