Доставка данных к соответствующему приложению назначения

В результате устройство назначения получает кадр. По мере обратного прохождения данных по стеку на конечном устройстве происходит деинкапсуляция и повторная сборка данных. Данные непрерывно следуют вверх по уровням с сетевого доступа на сетевой уровень до транспортного уровня, пока, наконец, не достигнут уровня приложений, где их можно будет обработать. Но как устройство может убедиться в правильности определения процесса приложения?

Как показано на рисунке, вспомним, что на транспортном уровне данные в заголовке PDU определяют конкретный процесс или сервис, которые запущены на устройстве узла назначения и будут обрабатывать данные. На узлах, независимо от того, являются ли они клиентами или серверами в Интернете, может быть одновременно запущено нескольких сетевых приложений. У пользователей, работающих на ПК, часто могут быть одновременно запущены почтовый клиент, веб-браузер, программа обмена мгновенными сообщениями, потоковое мультимедиа или игра. Все эти независимо работающие программы являются примерами отдельных процессов.

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

Представьте себе компьютер, на котором есть только один сетевой интерфейс. Все потоки данных, созданные работающими на ПК приложениями, входят и выходят через этот интерфейс. При этом мгновенные сообщения не появляются внезапно поверх текстового редактора с документом, а сообщения электронной почты не отображаются в интерфейсе игры.

Это связано с тем, что отдельные процессы, работающие на узлах источника и назначения, взаимодействуют друг с другом. Каждое приложение или сервис представлены на уровне 4 номером порта. Уникальный диалог между устройствами определяется парой источника 4-го уровня и номерами портов назначений, которые представляют два взаимодействующих приложения. Когда данные поступают на узел, по номеру порта определяется приложение или процесс, для которого предназначены данные.