Протоколы TCP-IP


Взаимодействие на прикладном уровне


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

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

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



Содержание раздела