Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts).
    Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts). 16 redes clase B contiguas, uso en universidades y grandes compañías.
    Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts). 256 redes clase C contiguas, uso de compañías medias y pequeñas además de pequeños proveedores de internet (ISP).
"Private Use" IP addresses:
        10.0.0.0 - 10.255.255.255
        172.16.0.0 - 172.31.255.255
        192.168.0.0 - 192.168.255.255
"Autoconfiguration" IP Addresses:
        169.254.0.0 - 169.254.255.255
"Loopback" IP addresses:
        127.0.0.0 - 127.255.255.255
Multicast IP addresses:
        224.0.0.0 - 239.255.255.255
https://www.iana.org/abuse/answershttp://es.wikipedia.org/wiki/Red_privadaen php:
- function getRealIP() 
- { 
-   
-    if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) 
-    { 
-       $client_ip = 
-          ( !empty($_SERVER['REMOTE_ADDR']) )-  ? 
 
-             $_SERVER['REMOTE_ADDR'] 
-             : 
-             ( ( !empty($_ENV['REMOTE_ADDR']) )-  ? 
 
-                $_ENV['REMOTE_ADDR'] 
-                : 
-                "unknown" ); 
-   
-       // los proxys van añadiendo al final de esta cabecera 
-       // las direcciones ip que van "ocultando". Para localizar la ip real 
-       // del usuario se comienza a mirar por el principio hasta encontrar  
-       // una dirección ip que no sea del rango privado. En caso de no  
-       // encontrarse ninguna se toma como valor el REMOTE_ADDR 
-   
-       $entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']); 
-   
-       { 
-          if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) ) 
-          { 
-             // http://www.faqs.org/rfcs/rfc1918.html 
-                   '/^0\./', 
-                   '/^127\.0\.0\.1/', 
-                   '/^192\.168\..*/', 
-                   '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', 
-                   '/^10\..*/'); 
-   
-             $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]); 
-   
-             if ($client_ip != $found_ip) 
-             { 
-                $client_ip = $found_ip; 
-                break; 
-             } 
-          } 
-       } 
-    } 
-    else 
-    { 
-       $client_ip = 
-          ( !empty($_SERVER['REMOTE_ADDR']) )-  ? 
 
-             $_SERVER['REMOTE_ADDR'] 
-             : 
-             ( ( !empty($_ENV['REMOTE_ADDR']) )-  ? 
 
-                $_ENV['REMOTE_ADDR'] 
-                : 
-                "unknown" ); 
-    } 
-   
-    return $client_ip; 
-   
- } 
-   
-   
- $ip = getIp(); 
-   
- echo $ip; 
-   
-