В отличии от физических (MAC) адресов, формат которых зависит от конкретной сетевой архитектуры, IP-адрес любого узла сети представляется четырехбайтным числом. Соответствие IP-адреса узла его физическому внутри (под)сети устанавливается динамически посредством широковещательных запросов ARP-протокола.
При написании IP-адрес состоит из четырех чисел в диапазоне 0-255, представляемых в двоичной, восьмиричной, десятичной или шестнадцатиричной системе счисления и разделяемых точками. Адрес состоит из сетевой части, общей для всех узлов данной сети, и хост-части, уникальной для каждого узла. Соотношение размеров частей адреса зависит от класса сети, однозначно определяемого значениями старших бит адреса. Классы сетей введены для наиболее эффективного использования единого адресного пространства Internet.
Сети класса A имеют 0 в старшем бите адреса, у них на сетевой адрес отводятся младшие 7 бит первого байта, хост-часть - 3 байта. Их может быть 126 с 16 миллионами узлов в каждой.
Сети класса B имеют 10 в двух старших битах адреса, у них на сетевой адрес отводятся младшие 6 бит первого байта и второй байт, хост-часть - 2 байта. Их может быть около 16 тысяч с 65 тыс. узлов.
Сети класса С имеют 110 в трех старших битах адреса, у них на сетевой адрес отводятся младшие 5 бит первого байта, второй и третий байты, хост-часть - 1 байт. Их может быть около 2 миллионов по 254 узла.
Для разделения трафика сетей с большим количеством узлов применяется разделение на подсети (Subnet) требуемого размера. Адрес подсети использует несколько старших бит хост-части IP-адреса, оставшиеся младшие биты - нулевые.
В общем виде IP-адрес состоит из адреса сети, подсети и локального хост-адреса.
Комбинации всех нулей или единиц в сетевой, подсетевой или хост-части зарезервированы под широковещательные и служебные цели.
Внутренний трафик (под)сети изолируется от остальной сети маршрутизатором. Область адресов (под)сети определяется значением маски (под)сети. Маска представляет собой 32-битное число, представляемое по общим правилам записи IP-адреса, у которого старшие биты, соответствующие сетевой и подсетевой части адреса, имеют единичное значение, младшие (локальная хост-часть) - нулевые.
При посылке IP-дейтаграммы узел сравнивает IP-адрес назначения со своим IP-адресом и накладывает на результат маску подсети. Ненулевое значение результата этой операции является указанием на передачу пакета из (под)сети во внешнюю сеть.
Термин Routing - маршрутизация - означает передачу дейтаграммы от одного узла к другому.
Direct Routing - прямая маршрутизация - осуществляется между узлами одной (под)сети. В этом случае источник знает конкретный физический адрес получателя и инкапсулирует IP-дейтаграмму во фрейм сети, содержащий этот адрес и непосредственно передающийся по сети получателю.
Indirect Routing - непрямая маршрутизация - передача дейтаграмм между узлами различных (под)сетей. Обнаружив расхождение немаскированной (сетевой) части IP-адресов, источник посылает фрейм с IP-дейтаграммой по физическому адресу маршрутизатора.
Маршрутизатор анализирует IP-адрес назначения полученной дейтаграммы и, в зависимости от адресов прямо подключенных к нему (под)сетей, посылает дейтаграмму либо прямо по адресу назначения, либо к следующему маршрутизатору. Для обеспечения межсетевого обмена все узлы сети (включая и маршрутизаторы) должны иметь списки IP-адресов доступных маршрутизаторов.
Информация в TCP/IP передается пакетами со стандартизованной структурой, называемые IP-дейтаграммами (IP Datagram), имеющими поле заголовка (IP Datagram Header) и поле данных (IP Datagram Data). Поле заголовка содержит собственно заголовок, IP-адреса источника и приемника. Длина дейтаграммы определяется сетевым матобеспечением так, чтобы она умещалась в поле данных сетевого фрейма, осуществляющего ее транспортировку. Поскольку по пути следования к адресату могут встречаться сети с меньшим размером поля данных фрейма, IP специфицирует единый для всех маршрутизаторов метод разбивки дейтаграммы на фрагменты (тоже IP-дейтаграммы) и обратной ее сборки приемником. Однажды фрагментированная дейтаграмма собирается только ее окончательным приемником, поскольку отдельные фрагменты могут добираться до него различными путями.