3.3 Частные вопросы
3.3.1 Маршрутизация исходящих дейтаграмм
Уровень IP выбирает следующий маршрутизатор (next hop) для каждой передаваемой дейтаграммы. Если получатель находится в подключенной сети, дейтаграмма передается на этот хост напрямую; в остальных случаях дейтаграмма направляется маршрутизатору подключенной сети.
3.3.1.1 Выбор Local/Remote
Для определения принадлежности хоста к подключенной сети должен использоваться следующий алгоритм [см. IP:3]:
Адресная маска (применительно к локальному IP-адресу для многодомного хоста) представляет собой 32-битовое значение, позволяющее выбрать поля номеров сети и подсети в адресах IP.
Если биты IP-адреса получателя, извлеченные с помощью маски, совпадают с битами IP-адреса отправителя, полученными с такой же маской, это говорит о принадлежности хоста к подключенной сети и дейтаграмма передается напрямую хосту-получателю.
Если условие (b) не выполняется, для доставки дейтаграммы должен использоваться шлюз, определяемый в соответствии с требованиями параграфа 3.3.1.2.
Для некоторых специальных случаев используется иной алгоритм:
Для групповых и широковещательных адресов ограниченного действия дейтаграммы просто передаются на канальный уровень через соответствующий интерфейс.
Для широковещательных дейтаграмм, адресованных всей сети или подсети, могут использоваться стандартные алгоритмы маршрутизации.
IP-уровень хоста должен корректно работать в минимальной сетевой среде (в частности, при отсутствии маршрутизаторов). Если IP-уровень хоста упорно ищет хотя бы один шлюз при инициализации, такой хост не сможет работать в изолированной сети.