Первоначально сеть использовалась для передачи данных из одной машины в другую. Позже она развилась, давая возможность пользователям удаленно регистрироваться на другой машине. Следующим логическим шагом было перемещение данных к пользователю, вместо необходимости пользователю идти к данным - так родились сетевые файловые системы. Пользователи, работающие локально, не подвергаются сетевым задержкам при каждом нажатии на клавишу, таким образом они имеют более отзывчивое окружение.
Доставка файловой системы на локальную машину была первой из главных клиент-серверных приложений. Сервер является удаленной машиной, экспортирующей одну или более из своих файловых систем. Клиент является локальной машиной, импортирующей эти файловые системы. С точки зрения локального клиента смонтированная удаленная файловая система выглядит в пространстве имен дерева файлов точно так же, как любая другая локально смонтированная файловая система. Локальные клиенты могут переходить по каталогам удаленной файловой системы и могут читать, записывать и исполнять двоичные файлы внутри этой удаленной файловой системы таким же способом, как они могут делать эти операции на локальной файловой системе.
Когда локальный клиент выполняет операцию на удаленной файловой системе, запрос упаковывается и посылается серверу. Сервер выполняет запрошенную операцию и возвращает либо запрошенную информацию, либо ошибку, указывающую, почему запрос был отклонен. Для обеспечения приемлемой производительности клиент должен кэшировать данные, к которым осуществляется частый доступ. Сложность удаленной файловой системы заключается в поддержании согласованности кеша между сервером и множеством клиентов.
Хотя с течением времени было разработано много протоколов удаленных файловых систем, наиболее распространенным в системах UNIX является Network Filesystem (NFS), протокол и наиболее широко использующаяся реализация которой были выполнены фирмой Sun Microsystems. Ядро FreeBSD поддерживает протокол NFS, хотя реализация была сделана независимо от спецификации протокола [Macklem, 1994]. Протокол NFS описан в главе 9.
- 17/05/2010 12:52 - Реализация работы в сети
- 21/03/2010 19:58 - Реализация алгоритма медленного старта
- 21/03/2010 19:54 - Медленный старт
- 21/03/2010 19:43 - Обработка сдерживания источника
- 21/03/2010 19:36 - Задание размеров буфера и окна
- 31/01/2010 15:39 - Отложенные подтверждения и обновления окон