Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Митряев лекции / РИС гр.446зс 2015 / РИС Л.9. гр.445 (2015).docx
Скачиваний:
940
Добавлен:
25.03.2016
Размер:
7.11 Mб
Скачать
  1. Локальные сети

Локальная сеть используется организацией для соединения набора компьютеров, которые ей принадлежат.

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

Иногда сети также используются для повышения скорости вычислений (перекладыванием задач на другие узлы) и чтобы позволить некоторым узлам быть для других запасными в случае их повреждения.

Узлы

Система коммуникаций

Рис.6. Сеть с шинной организацией

Примеры и организация.

В первой половине 1970-х локальная сеть Ethernet была разработана Xerox.

В то время как имена глобальных сетей ARPANET, BITNET, и т.д. происходят от конкретных сетей, имена локальных сетей – это обычно имена производителей.

Есть одна ARPANET, одна BITNET, и одна UUCP сеть, каждая компания может установить свою собственную Ethernet, Token Ring или SNA сеть.

В отличие от глобальных сетей, Еthernet организована с использованием шинной структуры, т.е. сообщение между узлами имеет место посредством единственного механизма, к которому все узлы подключены; см. рис. 6.

Шинная организация стала повсеместной для локальных сетей, хотя могут быть различия в том как выглядит механизм или как он используется.

Устройство Ethernet разрешает передачу только одного сообщения в каждый момент времени.

Другие разработки, такие как Token Ring (разработанный в лаборатории Цюрих IBM), допускает пространственное использование, которое означает, что несколько сообщений могут передаваться через механизм коммуникации одновременно.

Шинная организация требует немного аппаратуры и поэтому дешевая, но имеет тот недостаток, что эта организация плохо масштабируется. Это означает, что существует очень жесткий потолок числа узлов, которые могут быть соединены одной шиной.

Большие компании со многими компьютерами должны соединять их несколькими шинами, и использовать мосты для соединения шин друг с другом, создавая иерархию всей сети организации.

Не все локальные сети используют шинную организацию.

IBM разработала точка-точка сетевой продукт называемый SNA, чтобы позволить покупателям соединять их разнообразные продукты IBM.

Разработка SNA усложнялась требованием ее совместимости с почти каждым сетевым продуктом, уже предлагаемым IBM.

Алгоритмические проблемы.

Внедрение локальных сетей требует решения некоторых, но не всех, проблем, рассмотренных в предыдущем подразделе по глобальным сетям.

Надежный обмен данными не такая большая проблема, потому что шины обычно очень надежны и быстры.

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

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

Раз сообщения не сохраняются в промежуточных вершинах, то и не возникает тупика типа сохрани-и-передай.

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

Использование локальных сетей для распределенного выполнения прикладных программ (набора процессов, распространенных по узлам сети) требует решения следующих проблем распределенного управления:

  1. Широковещание и синхронизация.

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

  1. Выборность.

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

  1. Обнаружение завершения.

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

  1. Распределение ресурсов.

Узел может потребовать доступ к некоторым ресурсам, которые доступны, где-либо в сети, но не знает, где этот ресурс находится.

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

Алгоритмы для этой проблемы могут базироваться на волновых механизмах.

  1. Взаимное исключение.

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

  1. Обнаружение тупиков и их разрешение.

Если процессы должны ждать друг друга (как в случае, если они разделяют ресурсы, и также, если их вычисления полагаются на данные, обеспечиваемые другими процессами), может возникнуть циклическое ожидание, при котором не будет возможно дальнейших вычислений. Эти тупиковые ситуации должны определяться и правильные действия должны предприниматься для того, чтобы перезапустить или продолжить вычисления.

  1. Распределенная поддержка файлов.

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