I split them to octets (using PARSENAME) stored as TINYINT and, like someone suggested, use a calculated column to reassemble them just to make life a little easier. The suggestion of binary storage is fine but the TINYINT method doesn't take any additional storage and humans seem to like it better. 😉 Subnet masking won't be a problem, either.
--Jeff Moden
Change is inevitable... Change for the better is not.