Как стать автором
Обновить

Основания рекурсивных компьютерных сетей связи

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.2K
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

Комментарии 3

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

Предложу скорректировать терминологию (архитектуру не надо, она достойная).

user_service на самом деле должен быть client_service. Потому что пользователь и клиент - две очень сильно разные сущности. Слово user обязательно будет вводить в заблуждение и запутывать новичков, потому что ассоциируется с людьми, к тому же, часто малограмотными и по части устройства сетей тоже.

Слово "рекурсивные" в словосочетании "рекурсивные сети" нужно заменить на "гомогенные многоуровневые". Гомогенность есть одинаковость принципиального устройства уровней. Ну а уровней может быть много.

Отличие рекурсии от многоуровневости:

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

Желаю автор успехов, сожалею о минусах за статью, аудитория ждёт развлечений, а не глубину понимания.

Спасибо большое за комментарий!

Соглашусь на счёт терминологии, можно улучшить, подумаю над этим. С client_service тоже определенные проблемы - т.к. клиентами могут быть и сервисы... Для меня, как разработчика АПИ, user не ассоциируется с пользователями-людьми - а в данном случае с пользователями АПИ (например, user API vs provider API). Но понимаю, что это профдеформация тут.

На счёт рекурсии полностью согласен. Но здесь вынужден следовать оригинальной терминологии авторов RINA. Хотя можно попытаться в русский язык ввести другие термины, более точно отражающие реальность. Такая возможность в принципе есть, потому что кроме перевода страницы Википедии не знаю материалов по этой теме на русском языке. Но есть определенные сложности с предложенным вариантом. Во-первых, слово "уровень" стараюсь не использовать, т.к. оно подразумевает стековость и упорядоченность. Слой тоже не идеален, но пока ничего лучше не придумалось. У Дэя терминология другая, но по мне так очень неудобная (DIF - distributed IPC facitlity - это слой так называется у него). Во-вторых, "гомогенный" можно неправильно понять - будто все элементы должны быть как-то выровнены с точки зрения физического уровня. Как раз-таки хочется гетерогенную сеть в широком смысле - когда в ней соединены элементы по разным технологиям - и проводные, и беспроводные... Хотя в контексте этой архитектуры "гомогенный" конечно верное определение.

С client_service тоже определенные проблемы - т.к. клиентами могут быть и сервисы

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

Но здесь вынужден следовать оригинальной терминологии авторов RINA

Вы сами пишете, что на западе к ним серьёзно не относятся. Кроме того, стоит указать на абсолютно произвольный характер используемых в IT терминов. То есть любое слово, которое понравится лицу, приближённому к бюрократическим глубинам, формирующим мировые стандарты, просто записывается в стандарт как данность. И никого (из бюрократов) не волнуют сложности у пользователей новых стандартов.

Кроме того, я не думаю, что западный мир вообще хоть на миллиграмм заинтересует, как там русские перевели ихние слова для своего внутреннего использования. А вот у нас уже вы можете выходить на массовую аудиторию, учитывая недостатки западного бюрократического подхода. Это означает необходимость глубоко продумывать не только архитектуру, но и терминологию. В конце концов - для чего вы это делаете? Если только для прибавки единички к количеству публикаций, тогда да, можно писать всё, что угодно. Но если вы ожидаете хоть немного большего, то стоит уже думать о восприятии вашего продукта другими людьми, а это опять возвращает нас к терминологии.

По сути возражений о гомогенности/гетерогенности и уровнях:

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

Можно ещё предложить что-то вроде - сеть независящих от реализации сегментов с единообразной логической структурой. И не стоит бояться количества слов, ведь всегда можно перейти к, например, аббревиатурам, или, ссылаясь на полное название, предлагать краткие.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории