Для каждого основанного на TCP или UDP сокета создается управляющий блок протокола Интернета (структура inpcb) для хранения сетевых адресов Интернета, номеров портов, информации о маршрутизации и указателей на любые вспомогательные структуры данных. TCP, кроме того, создает управляющий блок TCP (структуру tcpcb) для хранения большого количества информации о состоянии протокола, необходимой для его реализации.
Управляющие блоки Интернета для использования с TCP хранятся в собственном двойном связанном списке для модуля протокола TCP. Управляющие блоки Интернета для использования с UDP хранятся в сходном собственном списке для модуля протокола UDP. Два отдельных списка нужны, потому что каждый протокол в домене Интернета имеет отдельное пространство для идентификаторов портов. Отдельные протоколы используют общие процедуры для добавления в список новых управляющих блоков, установки локальной и удаленной частей связи, поиска управляющего блока по связи и удаления управляющих блоков.

IP демультиплексирует трафик сообщений, основываясь на идентификаторе протокола, указанном в заголовке протокола, и каждый протокол более высокого уровня отвечает после этого за проверку своего списка управляющих блоков Интернета, чтобы направить сообщение соответствующему сокету. На рис. показана связь между структурой данных сокета и этими специфическими для протокола структурами данных.
Реализации протоколов Интернета тесно связаны, как подобает тесному переплетению протоколов. Например, транспортные протоколы отправляют и получают пакеты, включающие не только свой собственный заголовок, но также и псевдозаголовок IP, содержащий исходный и конечный адреса, идентификатор протокола и размер пакета. Этот псевдозаголовок включен в контрольную сумму пакета транспортного уровня.