Для начала определись, что такое бинарный вид

.
Вот смотри, IP у нас состоит из 4 байт (пока забудем, что есть IPv6). Для удобства пользователя, ввод/вывод делается с разделением байт точкой. Что это дает:
1. Возможность хранения IP в текстовом виде: "192.168.1.1", "172.45.14.100" и т.д. Для хранения достаточно 4*3 (255 - это три символа) + 3 (точки между ними) = 12+3=15 символов (VARCHAR(15)).
Плюс: наглядность.
Минус: большой размер поля.
2. Возможность хранения IP в двоичном (бинарном) виде, то есть в виде четырехбайтового целого, то бишь INTEGER. Но для этого надо делать преобразования из INTEGER в строковый и обратно.
Плюс: наибыстрая скорость поиска по такому полю. Наименьший размер поля (4 байта).
Минус: преобразование в строку в запросе придется делать через свою функцию (в delphi есть функции прямого доступа к байтам Integer), иначе это будети медленно.
3. Возможность хранения IP в двоичном виде, но каждый байт раздельно. Создаем домен D_BYTE и соответственно четыре поля под каждый байт адреса.
Размер поля - 8/16/32 байта (SmallInt, Integer, Int64).
Среднее между 1 и вторым вариантом.