I've always liked storing IP's as binary(4) - still 4 bytes, but simpler conversions:
DECLARE @IpBin binary(4)
DECLARE @IpString varchar(15)
SET @IpString = '101.202.33.44'
--convert string to binary
SET @IpBin =CONVERT(binary(1), CONVERT(tinyint, PARSENAME(@IpString, 4)))
+ CONVERT(binary(1), CONVERT(tinyint, PARSENAME(@IpString, 3)))
+ CONVERT(binary(1), CONVERT(tinyint, PARSENAME(@IpString, 2)))
+ CONVERT(binary(1), CONVERT(tinyint, PARSENAME(@IpString, 1)))
SELECT @IpBin
--convert binary to string
SELECT
CAST(CAST(SUBSTRING(@IpBin,1,1) AS tinyint) AS varchar(3)) + '.' +
CAST(CAST(SUBSTRING(@IpBin,2,1) AS tinyint) AS varchar(3)) + '.' +
CAST(CAST(SUBSTRING(@IpBin,3,1) AS tinyint) AS varchar(3)) + '.' +
CAST(CAST(SUBSTRING(@IpBin,4,1) AS tinyint) AS varchar(3))