Поиск по сайту На главную страницу Карта сайта Написать письмо
На главную страницу Карта сайта
Разработка программных продуктов - компания SOFTLANDSYSTEM

 


09.10.2023
Изменение цен на программы
[подробнее...]

14.05.2023
Мобильное приложение PCRBOT
[подробнее...]

26.04.2023
Мобильное приложение Parking Charge Reminder
[подробнее...]

04.02.2022
SLS-Эквайринг. Автоматическое обновление ПО Сбербанком
[подробнее...]


Архив новостей

ПОДПИШИТЕСЬ НА НОВОСТИ ...

Компьютерные сети с точки зрения здравого смысла

Автор: Иванов Ю.В., ведущий разработчик программного обеспечения.

Введение

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

 

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

 

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

 

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

 

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

 

Что дает объединение компьютеров в сеть?

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

 

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

 

Как соединять компьютеры?

Наиболее распространенными в России является соединение с помощью коаксиального кабеля или витой пары.

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

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

 

Какое из этих соединений предпочтительней?

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

 

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

 

В настоящее время на Западе почти везде используется витая пара. Это связано с тем, что телефонные провода прокладываются еще при строительстве любого здания. Поэтому кабельная система для объединения компьютеров в сеть уже существует в любом из офисов.

 

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

 

Нужны ли выделенные серверы?

Локальные сети делятся на две группы - одноранговые и с выделенными серверами.

 

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

 

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

 

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

 

В случае выделенного сервера все наоборот - этот вариант дороже, но надежнее.

 

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

 

Какое сетевое программное обеспечение использовать?

Для одноранговых сетей можно использовать NetWare Lite, Personal NetWare, Windows for Workgroups, Windows 95/98. Если ваши задачи работают без Windows, то первые два варианта предпочтительней.

 

Для сетей с выделенным сервером - NetWare, Windows NT, OS/2. Какая из этих систем лучше - вопрос дискусионный. Мы придерживаемся мнения, что это NetWare, но свое мнение никому не навязываем.

 

Как выбрать программное обеспечение для работы в сети?

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

 

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

 

В первую очередь программа должна выполнять те функции, которые вам нужны в работе. Вопрос о том работает эта программа под DOS или Windows вторичен, хотя очень часто выбор программы начинается с него.

 

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

 

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

 

В четвертых, уточните какого дополнительного программного обеспечения требует программа и сколько оно стоит. Дело в том, что программа, которую вы собираетесь купить может требовать для работы что-нибудь вроде Oracle, Informix и т.п., и продавец программы полагает, что все это у вас уже есть и сообщает цену только собственно на программу.

 

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

 

Сетевые технологии

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Следует отметить, что если обычный средний компьютер можно купить долларов за 700-900, компьютер для файл-сервера от 2500 долларов, то компьютер для сервера приложений стоит уже десятки тысяч долларов.

 

Что же остается для тех, кто нуждается в нормальных сетевых программах, но не имеет столько денег?

 

Специалистами компании SoftLand Systems в 1995 году была разработана и реализована новая технология, названная «виртуальный клиент-сервер». Суть ее состоит в следующем. Каждая рабочая станция работает с файлами баз данных используя метод кэширования. При этом нагрузка на сеть падает, т.к. большинство запрашиваемых записей уже находятся в оперативной памяти. В то же время скорость работы СУБД существенно возрастает, как и должно быть при использовании кэширования. А как же быть в случае изменения информации в файлах базы данных? Для того, чтобы содержимое кэш на всех рабочих станциях отслеживало изменения, используется синхронизация. Это значит, что каждая рабочая станция, которая изменяет базу данных, оповещает все остальные станции об этих изменениях. Создается ли при этом дополнительная нагрузка на сеть? Нет! Дело в том, что информация об изменениях в любом случае передается по сети для того, чтобы операционная система могла занести их в файл. И эта информация достигает одновременно всех рабочих станций - проблема лишь в том, чтобы они ее использовали. Кроме существенного ускорения обработки, предложенная технология позволяет каждой из рабочих станций отображать изменения в базе данных на экране автоматически, т.е. без дополнительных действий пользователя.

 

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

 

Результаты тестирования

В лаборатории SoftLand Systems произведено сравнение характеристик новой СУБД с Btrieve 5.5 при использовании компьютеров различной производительности. Для этого были написаны две программы - для технологии «виртуальный клиент-сервер» и для Btrieve, каждая из которых имитировала работу пользователя с соответствующей базой данных - чтение записей, корректровку старых записей, добавление новых записей и их удаление. При этом каждая из программ обеспечивала нагрузку на систему, которая эквивалентна нагрузке от 5 - 10 реальных пользователей.

 

В качестве выделенного файл-сервера использовался 486 компьютер с тактовой частотой 66 мегагерц и оперативной памятью 8 мегабайт.

Сведения о рабочих станциях:

 

Рабочая станция
Тип
Частота, МГц
Размер кеш, Кб

WS1

486.
66
100

WS2

386
33
3000

WS3

386
14
3000

WS4

286
12
380

WS5

286
6
150

 

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

 

Скорость работы в зависимости от производительности рабочей станции:

 

Рабочая станция
Btrieve
Виртуальный клиент-сервер

WS1

35
168

WS2

25
158

WS3

23
140

WS4

23
95

WS5

20
37

 

Как и следовало ожидать, при работе с Btrieve быстродействие мало зависит от производительности рабочей станции - основная обработка идет на сервере. Для технологии же «виртуальный клиент-сервер» основная работа выполняется на рабочей станции и поэтому быстродействие сильно зависит от ее производительности. Из таблицы видно, что чем быстрее рабочая станция, тем более заметно преимущество технологии «виртуальный клиент-сервер». В то же время даже на 286 компьютере с тактовой частотой 6 МГц виртуальный клиент-сервер работает быстрее, чем Btrieve.

 

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

Загрузка файл-сервера:

 

Рабочая станция
Btrieve,%
Виртуальный клиент-сервер,%

WS1

40
2

WS2

55
2

WS3

75
4

WS4

80
4

WS5

80
6

 

Измерения показали, что при пяти одновременно работающих тестовых программах (что эквивалентно 25 - 50 нормальным рабочим станциям), файл-сервер полностью исчерпал свои ресурсы по производительности. При использовании же технологии «виртуальный клиент-сервер» основная нагрузка распределяется по рабочим станциям и файл-сервер может обслуживать существенно больше пользователей при той же мощности. Третий тест определял влияние количества одновременно работающих станций на скорость работы каждой из них. Измерялось замедление работы в процентах от быстродействия при работе в сети только одной станции.

 

Замедление работы при изменении загрузки сети:

 

Рабочая станция
Btrieve,%
Виртуальный клиент-сервер,%

WS1

0
0

WS2

17
7

WS3

34
20

WS4

50
26

WS5

58
31

 

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

 

Заключение

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

 




    
СВЯЗЫВАЙТЕСЬ С НАМИ
ПН - ПТ с 10 до 18
info@sls.ru
адрес и схема проезда
 

(499) 265-3327265-4092 
 
Вся информация на сайте
защищена законом об авторском праве РФ
Создание сайта sls.ru - BinN Управление сайтом sls.ru - CMS S.Builder статистика сайта