Not a File System

топ 100 блогов dibr04.11.2021 Сегодня я случайно узнал, что протокол удалённого доступа к файлам под названием NFS, до сих пор цветёт и пахнет. Последнее обновление спецификации протокола, RFC 7862, датировано ноябрём 2016 года, что для протокола, созданного в середине 80-х годов, означает "буквально вчера", то есть он ещё вовсю применяется.

Удивляет конечно не то, что протокол столь живуч. TCP/IP был создан вообще в 70-х, а используется сейчас буквально везде, и уходить не собирается (и даже сопротивляется попыткам обновления: на смену античному IPv4 уже давно должен быть прийти IPv6, но как-то вот пока не особо пришёл). Просто TCP/IP был очень удачен изначально (разрабатывали вояки, и разрабатывали всерьёз), вот и жив до сих пор.
Удивляет то, что вообще-то NFS изначально был мертворождённым протоколом, причём мёртворождённость была принципиально заложена в сам протокол, и даже одно время "поднималась на флаг" как design feature: принципиально stateless сервер, прямой блочный доступ к FS, плюс отсутствие файловых блокировок гарантируют повреждение данных и даже самой FS при одновременной работе пользователей более чем с одного компьютера (в том числе при работе одного локального и одного сетевого пользователя), т.е. протокол был изначально, by design, неработоспособен даже для одного сетевого подключения. Когда протокол начали реально применять более чем на одном компе (и реально рушить им системы), эта приятная неожиданность была обнаружена, а поскольку альтернатив на тот момент особо не было, протокол был зомбифицирован и кадавризирован внешними "нашлёпками" до состояния "хотя бы не взрывается сразу". Сам протокол модифицировать было уже нельзя, проблема была в центральной идее протокола - не хранить состояние на сервере и прямой блочный доступ к FS - если её убрать, это будет уже совсем другой протокол, поэтому пришлось городить "нашлёпки" и "дополнения". За несколько лет применения эта стройная система даже не костылей и подпорок, а скотча, жвачки и верёвочек, была доведена до удовлетворительного состояния... а дальше я был уверен, что, в связи с появлением других протоколов доступа к файлам (не ахти какая нанотехнология, даже какая-нибудь дипломная работа студента IT специальности бы лучше чем ранние версии NFS), NFS тихо уйдёт в небытие, но - нет. Байтораздирающие подробности истории и внутреннего устройства NFS хорошо разобраны в UNIX Haters Handbook - там вообще много интересного про юникс и вокруг него.

И вот это свойство айти сферы - "любое г..но можно долго и радостно использовать, если завернуть в пакетик и намотать на него достаточно изоленты" - удивляет. Программирование давно стало индустрией (и не только от слова "индус"), код пишется гигабайтами, если не сотнями гигабайт, а новую сетевую FS под юникс написать не могут? Как так-то?

Оставить комментарий

Архив записей в блогах:
Долго с дочкой ходили по моллу, проголодались и зашли перекусить в Paul. Дочка заказала салат с запеченным козьим сыром. А я курицу с песто в слоеном тесте. ...
Каждый вечер на несколько минут небо приобретало вот такой цвет. ...
Одна из самых тупых отмазок, которые я слышал. Лещенко по части оправданий вертится как уж на скоровордке, вот и Шеремета приплел, а то все "любовь-любовь". А в целом, весьма забавно, что какие-то жалкие квартиры вызвали на Украине такой ажиотаж на фоне барышей олиграхов ставших ...
Моя бывшая жена только что снова написала мне: "Хочу, чтобы ты был здесь". Она делает это каждый раз, когда проходит по кладбищу. ...
Выпала из онлайн-жизни, да и из обычной то же — так много навалилось работы и нервных обстоятельств. Приехала вчера поздно и рухнула спать. Даже с Татусей не поиграла. Думала, ...