Рассмотрев работу простого транспортного протокола, мы продолжим обсуждение протокола сетевого уровня. Протокол Интернета (Internet Protocol - IP (ШЗ)) является уровнем, отвечающим за адресацию и маршрутизацию между хостами, пересылки пакетов и фрагментацию и повторную сборку пакетов.
В отличие от транспортных протоколов, протокол IP (ШЗ) не всегда работает для сокетов на локальном хосте, он может пересылать пакеты, получать пакеты, для которых нет локального сокета, или генерировать пакеты ошибок в ответ на эти ситуации.
Функции, выполняемые IP (ШЗ), иллюстрируются содержимым заголовка его пакета. Заголовок идентифицирует исходный и конечный хосты и протокол IP (ШЗ) места назначения, он содержит размеры заголовка и пакета. Поля идентификации и фрагмента используются, когда пакет или фрагмент должны быть разделены на меньшие части для передачи на свой следующий транзитный участок, и для повторной сборки фрагментов, когда они прибывают на место назначения. Флагами фрагментации являются Не фрагментировать и Дополнительные фрагменты, последний флаг плюс смещение дают достаточно информации для сборки фрагментов первоначального пакета на месте его назначения.
Опции IP (ШЗ) представлены в IP (ШЗ)-пакете, если поле размера заголовка имеет значение, превышающее минимальное, которое равно 20 байтам. Опция нет-операции и опция конец-списка-операций имеют размер каждая по одному октету. Все другие опции являются самокодирующимися, когда тип и размер расположены перед всеми дополнительными данными. Хосты и маршруты способны таким образом пропустить опции, которые они не реализуют. Примерами существующих опций протокола IP (ШЗ) являются опции отметки-времени и записи-маршрута, которые обновляются каждым маршрутизатором, пересылающим пакет, и опция маршрутизации-источника, которая предоставляет полный или частичный маршрут до места назначения.
На практике они используются редко, и большинство сетевых операторов молча удаляют пакеты с опцией маршрутизации-источника, поскольку она затрудняет управление трафиком сети.