Hola que tal, bueno antes que nada soy novato en el tema de PHP

, asi que espero poder explicar la duda que tengo

.
Tengo que hacer una validación de una Ip que se capture, para esto lo hago de la siguiente manera:
Código PHP:
if (filter_var($Ip, FILTER_VALIDATE_IP))
{
return True;
}
else
{
return False;
}
Todo bien, si mando letra o datos mal

, pero mi problema es que si mando: ( " 1.1.1.1 " ) lo toma como correcto

, se que sigue el formato por los puntos, pero para mi no es valido, puesto que el dato es incorrecto.
Necesito que se valide que la Ip tenga un formato un poco mas correcto, para esto ocupo que inicie de cierto rango. Ejemplo:
15.10.0.1
Siendo 15.10 => Por lo general constantes.
Estoy buscando en google, pero la mayoría solo dice la validación, pero no encuentro lo que busco. Espero haberme explicado y se agradece cualquier sugerencia.