Средства межсетевого
взаимодействия должны обеспечивать согласованную работу двух приложений, выполняющихся
в разнородных сетях. Работа по обеспечению взаимодействия может выполняться как самими
приложениями, так и системными средствами. Поэтому требования к системным средствам
зависят от того, какой объем согласующих функций берут на себя приложения.
Крайним
является чисто умозрительный случай, когда приложения берут на себя все функции по
согласованию, кроме тех, что могут быть выполнены только аппаратно, то есть сетевыми
адаптерами. В этом случае приложения сами разбивают сообщения на пакеты, снабжая их
соответствующей служебной информацией, и организуют надежную доставку таких пакетов с
помощью нумерации, упорядочения, вычисления и проверки контрольных сумм. Помимо
функций по оформлению и доставке сообщений приложения в этом случае выполняют и
функции по согласованию возможных различий в сервисах локальных операционных систем,
например различий в именовании файлов, интерпретации прав доступа к файлам, способов их
разделения между несколькими пользователями и т.п.
Два других варианта
распределения функций между приложениями и системными средствами более
реалистичны.
Первый вариант - системные средства берут на себя все функции по
передаче сообщений, согласуя три или четыре нижних уровня модели OSI. Приложения в этом
случае реализуют свой собственный протокол взаимодействия, который включает функции трех
верхних уровней модели OSI - прикладного, представительного и сеансового. Приложения
согласуют только необходимые им сервисы верхнего уровня. Примером такого распределенного
приложения может служить электронная почта, агенты передачи сообщений которой работают
как в среде Windows NT, так и в среде UNIX, непосредственно обращаясь для отправки и
получения сообщений к средствам сетевого уровня, например к протоколу TCP (через
соответствующий интерфейс, в частности, Berkeley Sockets). В соответствии с этим вариантом
построены и корпоративные СУБД, в том числе Oracle, Informix, Sybase.