Назад в раздел
Корпоративные сети и базы данных
Корпоративные сети и базы данных
Виктор Олифер
Эпитет "корпоративный" часто используется для характеристики продуктов вычислительных
систем. Корпоративными могут быть названы почти все типы элементов вычислительной системы,
от концентраторов и маршрутизаторов до серверов и операционных систем - разве что сетевые
адаптеры редко удостаиваются такой чести. Эта характеристика также применяется и к системам
управления базами данных : Oracle, Informix, Sybase, DB2 - все это примеры СУБД, которые часто
называются корпоративными. Среди специалистов и производителей существуют различные
толкования этого термина (равно, как и любого другого), поэтому иногда бывает трудно понять,
почему производитель называет свое детище корпоративным, а продукцию конкурентов - нет.
Интуитивно с прилагательным "корпоративный" связывается образ чего-то крупного, мощного,
производительного и надежного. Тем не менее, хочется иметь более твердую почву под ногами, и
основания для этого есть. Имеется несколько устоявшихся признаков корпоративности, и их
можно применять универсально, как к аппаратуре, так и к программным продуктам, в том числе и
базам данных. Наличие этих признаков гарантирует хорошую работу продуктов в корпоративной
сети. Эти признаки тесно связаны с особенностями и спецификой корпоративных сетей, поэтому
для четкого формулирования требований к корпоративным базам данных необходимо ясное
понимание особенностей корпоративных сетей.
Корпоративные сети интересны для специалистов, занимающихся системами управления базами
данных и по другой причине. В широком смысле вычислительная сеть тождественна
вычислительной системе - к ней относятся компьютеры, коммуникационное оборудование,
операционные системы, системы управления базами данных и приложения. Сеть в узком смысле -
это программно-аппаратный комплекс, организующий надежную и быструю доставку сообщений
между взаимодействующими приложениями. Для базы данных сеть является универсальной
транспортной платформой, которая берет на себя выполнение рутинных коммуникационных
задач, подобно тому, как файловая система освобождает СУБД от необходимости заниматься
низкоуровневыми вопросами форматирования диска, физическими и логическими аспектами
организации файлов и т.п.
Многие СУБД для достижения высоких эксплуатационных показателей могут подменять и
"исправлять" существующие операционные системы. Например, создавать на свободном разделе
диска файловую систему такой структуры, при которой достигается высокая скорость
специфических для базы данных операций поиска и сортировки записей небольших размеров.
Ускорение достигается за счет специализации функций файловой или операционной систем на
операциях определенного вида.
Аналогичным образом некоторые СУБД поступают и с коммуникационными функциями
операционных систем. Примерами здесь могут служить такие компоненты баз данных как Oracle
SQL*Net или Ingres Net, в которых реализованы популярные транспортные протоколы. Понятно,
что дублирование транспортных функций ОС дополнительными компонентами СУБД происходит
не от хорошей жизни, а от ограниченности сетевых возможностей универсальных операционных
систем: отсутствия тех или иных протоколов или низкоскоростной их реализации.
Однако, использование специализированных реализаций транспортных средств влечет за собой не
только положительные, но и отрицательные последствия. СУБД - отнюдь не единственное
приложение в сети, способное поддерживать собственные средства транспортировки, такие
средства могут быть встроены и в другие приложения - почту, системы коллективной работы,
графические системы автоматизированного проектирования и т.д. и т.п. У администратора в этом
случае прибавляется забот по поддержанию разнородных продуктов, выполняющих одну и ту же
функцию, но по-своему.
Очевидно, что использование единой транспортной системы для всех приложений вычислительной
системы облегчило бы жизнь и пользователям, и администраторам. И в этом направлении
корпоративные сети быстро развиваются, позволяя своим пользователям отказаться от
транспортных услуг отдельных, хотя и очень важных приложений и использовать общие средства.
Итак, что же такое корпоративные сети? В англоязычной литературе этот вид сетей чаще
называется "enterprise-wide networks" (дословно - сеть масштаба предприятия), а в нашей стране
прижился другой термин иностранного происхождения - корпоративные сети, что, на наш взгляд,
больше соответствует самой сути таких сетей. Термин "корпоративная" отражает с одной стороны
величину сети, так как корпорация - это крупное, большое предприятие. С другой стороны, этот
термин несет в себе смысл объединения, то есть корпоративная сеть - это сеть, получившаяся в
результате объединения нескольких, как правило, разнородных сетей. Кроме того, дух
корпоративности - это дух некоего единства, общности, и в этом смысле корпоративные сети - это
сети, в которых неоднородные компоненты живут в счастливом согласии.
Появление корпоративных сетей - это хорошая иллюстрация известного философского постулата о
переходе количества в качество. При объединении отдельных сетей крупного предприятия,
имеющего подразделения в различных городах и странах, в единую сеть, многие количественные
характеристики объединенной сети часто превосходят некоторый критический порог, за которым
начинается новое качество. При этом число пользователей и компьютеров может измеряться
тысячами, число серверов - превышать несколько сотен, число записей в базе данных - несколько
миллионов, а расстояния между сетями могут оказаться такими, что использование глобальных
связей становится необходимостью.
Кроме того, непременным атрибутом такой сложной и крупномасштабной сети является
гетерогенность - нельзя удовлетворить потребности тысяч пользователей с помощью однотипных
элементов и однородных структур. В корпоративной сети обязательно будут использоваться
различные типы компьютеров - от мейнфреймов до персоналок, 3-5 типов операционных систем, с
десяток различных коммуникационных протоколов, несколько СУБД и множество других
приложений.
Превышение количественными изменениями некоторой критической массы и породило новое
качество - корпоративную сеть.
Термин "корпоративность" связывает описанный вид сетей с принадлежностью их одному
предприятию, причем крупному. Этот признак не является главным, а просто отражает тот факт,
что крупномасштабная, гетерогенная и хорошо интегрированная сеть чаще всего получается в
результате усилий предприятия при объединении своих отдельных сетей в единую
информационную систему. Поэтому, если сеть обладает отмеченными выше особенностями, но не
принадлежит одной корпорации, то ее все равно можно назвать корпоративной.
Корпоративные сети возникли не на пустом месте. Сначала на предприятиях создавались
небольшие локальные сети, используемые только небольшой группой сотрудников - так
называемые сети рабочих групп, затем они вырастали в сети отделов и кампусов (площадок).
Сети рабочих групп и отделов - используются небольшой группой
сотрудников, решающих общие задачи. Главной целью сети отдела является
разделение локальных ресурсов, таких как приложения, данные, лазерные
принтеры и модемы. Сети отделов обычно не разделяются на подсети.
Сети кампусов - соединяют несколько сетей отделов внутри
отдельного здания или внутри одной территории предприятия. Эти сети
являются все еще локальными сетями, хотя и могут покрывать территорию в
несколько квадратных километров. Сервисы такой сети включают
взаимодействие между сетями отделов, доступ к базам данных предприятия,
доступ к факс-серверам, высокоскоростным модемам и высокоскоростным
принтерам.
Сети отделов или рабочих групп используются группой людей, объединенных решением
общей задачи, такой, например, как бухгалтерский учет или маркетинг. Главной целью сетей
отделов является разделение ресурсов, таких как приложения, данные, лазерные принтеры и,
возможно, низкоскоростные модемы. Обычно сети отделов имеют один или два файловых сервера
и не более чем 30 пользователей. Сети отделов, как правило, не разделяются мостами на подсети
(сегменты). Даже когда сети отделов соединены в корпоративную сеть, большая часть трафика
локализуется в сети отдела, потому что именно в ней выполняется большая часть работы. Как
правило, пользователи в 80% случаев обращаются к локальным ресурсам, а в 20% случаев - к
удаленным ресурсам.
Сети рабочих групп и отделов обычно создаются на основе какой либо одной сетевой технологии -
Ethernet, Token Ring, или, если в рабочей группе происходит обмен большими объемами
информации (например, мультимедийными файлами), то высокоскоростные протоколы, такие как
FDDI, Fast Ethernet или 100VG-AnyLAN.
Такая сеть обычно использует одну или максимум две сетевые ОС. Чаще всего это сеть с
выделенным сервером NetWare 3.x или Windows NT, или же одноранговая сеть, например сеть
Windows for Workgroups. Все пользователи рабочей группы или отдела пользуются СУБД одного
типа, чаще всего настольными СУБД типа dBase, Paradox или FoxPro, пользующимися файловым
сервером для хранения разделяемых данных.
Сети отделов не требуют сложного управления, так как решаемые на этом уровне задачи
поддержания сети относительно просты. В функции администратора входит добавление новых
пользователей, устранение простых отказов, инсталляцию новых узлов и установку новых версий
программного обеспечения. Сложные задачи, такие как установка принципиально нового
программного обеспечения, выполняются консультантами или представителями фирм-
поставщиков. Средства управления сетей отделов хорошо отработаны и разнообразны, также, как
и сами сети отделов, уже давно применяющиеся и достаточно отлаженные. Такой сетью может
управлять сотрудник, посвящающий обязанностям администратора только часть своего времени.
В большинстве случаев администратор сети отдела не имеет специальной подготовки, но чаще
всего он является тем человеком в отделе, который лучше всех разбирается в компьютерах и само-
собой получается так, что он занимается администрированием сети. В нашей стране большинство
сетей относится именно к этому типу.
Основными признаками сети рабочей группы или отдела являются таким образом, однородность и
небольшой масштаб.
Пользователи и администраторы сетей отделов вскоре осознают, что они могут улучшить
эффективность своей работы путем получения доступа к информации других отделов своего
предприятия. Если сотрудник, занимающийся продажами, может получить доступ к
характеристикам конкретного продукта и включить их в презентацию, то эта информация будет
более свежей и будет оказывать большее влияние на покупателей. Если отдел маркетинга может
получить доступ к характеристикам продукта, который еще только разрабатывается инженерным
отделом, то он может быстро подготовить маркетинговые материалы сразу же после окончания
разработки.
Итак, следующим шагом в эволюции сетей является объединение локальных сетей нескольких
отделов в единую сеть здания или группы зданий. Такие сети называют сетями кампусов. Сети
кампусов могут простираться на несколько километров, но при этом глобальные соединения не
требуются. Сети кампусов имеют позвоночник (backbone) или главную сеть, и подсети,
подобные ребрам. Для повышения производительности предприятия иногда используют
маршрутизаторы, однако чаще подсети присоединяются к позвоночнику с помощью мостов или
быстродействующих многопортовых мостов нового поколения - коммутирующих концентраторов
(switching hubs).
В сети кампуса в каждом отделе осуществляется администрирование своими серверами, но
сотрудники отдела получают доступ к некоторым файлам и ресурсам сетей других отделов.
Услуги, предоставляемые сетями кампусов, не ограничиваются простым разделением файлов и
принтеров, а часто включают доступ и к серверам других типов, например, к факс-серверам и к
серверам высокоскоростных модемов. Важным сервисом, предоставляемым сетями кампусов, стал
доступ к корпоративным базам данных, независимо от того, располагаются ли они на серверах баз
данных или на миникомпьютерах.
Именно на уровне сети кампуса начинаются проблемы интеграции. В общем случае, отделы уже
выбрали для себя компьютеры и приложения (а, следовательно, и сеть), которые подходят им
наилучшим образом. Однако, то, что подходит отделу продаж, может не подойти, например,
отделу разработчиков. Типы компьютеров, сетевых операционных систем, сетевого аппаратного
обеспечения могут отличаться в каждом отделе. Например, инженерный отдел может использовать
операционную систему UNIX и сетевое оборудование Ethernet, отдел продаж может использовать
операционные среды DOS/Novell и оборудование Token Ring. Очень часто сеть кампуса соединяет
разнородные компьютерные системы, в то время как сети отделов используют однотипные
компьютеры. Часто сети кампусов оказываются соединенными случайным образом. Например, два
отдела, которые работают вместе, могут соединить свои компьютерные системы, а уже затем к ним
захочет присоединиться третий отдел. Отсюда вытекают сложности управления сетями кампусов.
Администраторы должны быть в этом случае более квалифицированными, их нужно специально
обучать. В случае сбоев и отказов администратору уже недостаточно проверить надежность
соединения разъема. Нужны более изощренные средства оперативного управления сетью.
Сеть кампуса содержит в себе многие признаки корпоративной сети - ей не хватает только
масштабности и наличия глобальных связей. Корпоративная сеть - это объединения сетей
нескольких кампусов, а сеть кампуса - это объединение сетей рабочих групп и отделов. Чем больше
количество объединяемых сетей, тем более ярко выражены новые качественные признаки.
В результате, многие существующие методы и подходы к решению традиционных задач сетей
меньших масштабов для корпоративной сети оказались непригодными. На первый план вышли
такие задачи и проблемы, которые в сетях рабочих групп, отделов и даже кампусов либо имели
второстепенное значение, либо вообще не проявлялись.
Например, простейшая для небольшой сети задача ведения учетной информации о пользователях
выросла в сложную проблему для сети масштаба предприятия. Использование глобальных связей
заставило специалистов по локальным сетям выйти в новый для них мир телекоммуникаций.
Особое значение приобрели задачи преодоления гетерогенности - в сети появились
многочисленные шлюзы, обеспечивающие согласованную работу различных ОС и сетевых
системных приложений. Для обеспечения совместной работы в сети различных коммуникационных
протоколов стали широко использоваться многопротокольные маршрутизаторы и транслирующие
мосты.
Расширился и круг услуг, предоставляемых конечному пользователю: кроме традиционных
сервисов локальных сетей - разделения файлов и принтеров - в джентльменский набор сервисов
корпоративной сети обычно входят почтовая служба, средства коллективной работы, поддержка
удаленных пользователей, факс-сервис, обработка голосовых сообщений, организация
видеоконференций и пр. и пр.
Важное значение приобретает время реакции приложений в корпоративной сети - при динамичном
рынке для успешной борьбы с конкурентами решения необходимо принимать в реальном
масштабе времени, что требует соответствующей организации корпоративной сети и ее
приложений, в том числе СУБД, способной оперативно отрабатывать запросы к данным
(поддержка режима On Line Transaction Processing, OLTP). В то же время в большой
корпоративной сети обеспечить хорошее время реакции особенно сложно - этому мешает высокая
интенсивность потока запросов, создаваемых сотнями и тысячами сотрудников корпорации,
необходимость производить поиск данных в базах колоссальных размеров, невысокая скорость
глобальных линий связи между отделениями корпорации, замедление скорости взаимодействия в
шлюзах, согласующих неоднородные компоненты различных подсетей. В корпоративных системах
предыдущих поколений с таким положением вещей мирились - особенно крупные базы данных
хранились централизованно на мейнфреймах и обеспечивали доступ к данным в пакетном режиме,
не дающем быстрой реакции на запрос. Теперь же требования работы в реальном времени стали
для корпораций насущной необходимостью и одним из основных требований, предъявляемых к
корпоративным сетям и корпоративным приложениям.
Корпоративные сети состоят из продуктов, часть из которых можно назвать корпоративными.
Понятие "корпоративности" продукта включает в себя несколько аспектов, среди которых
важнейшими являются:
масштабируемость, то есть способность одинаково хорошо работать в
большом диапазоне различных количественных характеристик сети,
совместимость с другими продуктами, то есть способность работать в
сложной гетерогенной среде интерсети в режиме plug-and-play.
Очевидно, в корпоративной сети могут использоваться не только продукты класса
корпоративных, но и продукты уровня отделов и рабочих групп. Корпоративные продукты
используются на магистрали сети, там, где они организуют разделение ресурсов между большим
количеством пользователей, в пределе - между всеми пользователями корпорации. Продукты же
рабочих групп предоставляют свои ресурсы в основном только членам своей рабочей группы,
поэтому их производительность, надежность и другие свойства могут быть гораздо более
скромными, чем у корпоративных продуктов. Поэтому в одной и той же сети успешно справляются
со своими обязанностями и СУБД Access компании Micosoft, работающая на 486-х персоналках и
СУБД Oracle, работающая на суперсерверах компаний Digital, Hewlett-Packard или Tricord. Access
обеспечивает, например, разделение данных только для 12 сотрудников небольшого
вспомогательного отдела, а Oracle предоставляет доступ к жизненно важной для корпорации
информации (о выпускаемых ею продуктах, объемах продаж, производственных планах и т.п.) для
всех сотрудников корпорации, в том и для упомянутых сотрудников вспомогательного отдела.
Oracle может выполнить эту задачу, так как является корпоративным продуктом, а Access с ней бы
не справился, так как это продукт уровня рабочей группы, он и не разрабатывался для поддержки
большого числа пользователей и больших массивов данных. Соответственно возможностям
различаются и цены корпоративных продуктов и продуктов рабочих групп.
Корпоративные сети хорошо справляются со своими обязанностями не только из-за того, что
включают корпоративные аппаратные и программные продукты, но и за счет особой организации
и наличия специфических компонент, отсутствующих в небольшой сети. В рамках одного доклада
трудно рассмотреть все особенности корпоративных сетей во всех аспектах, поэтому ограничимся
рассмотрением некоторых специфических особенностей только некоторых служб и подсистем
корпоративной сети.
Подобно большой организации, корпоративная сеть нуждается в централизованном хранении как
можно более полной справочной информации о самой себе (начиная с данных о пользователях,
серверах, рабочих станциях и кончая данными о кабельной системе). Естественно организовать эту
информацию в виде базы данных специального системного назначения. Данные из этой базы
могут быть востребованы многими сетевыми системными приложениями, в первую очередь
системами управления и администрирования. Кроме этого, такая база полезна при организации
электронной почты, систем коллективной работы, службы безопасности, службы инвентаризации
программного и аппаратного обеспечения сети, да и для практически любого крупного бизнес-
приложения, в том числе и СУБД. Чем больше возможностей по хранению данных о элементах
сети предоставляет справочная служба сетевой операционной системы, тем меньше потребности в
отдельной системе администрирования СУБД, хотя пока потребность в последней сохраняется, и в
одной корпоративной сети одновременно работает несколько администраторов - каждый из них
администрирует свой слой сети - коммуникационное оборудование, серверы, операционные
системы, базы данных и т.п.
База данных, хранящая справочную информацию, предоставляет все то же многообразие
возможностей и порождает все то же множество проблем, что и любая другая крупная база
данных. Она позволяет осуществлять различные операции поиска, сортировки, модификации и
т.п., что очень сильно облегчает жизнь как администраторам, так и пользователям. Но за эти
удобства приходится расплачиваться решением проблем распределенности, репликации и
синхронизации.
В идеале сетевая справочная информация должна быть реализована в виде единой базы данных, а
не представлять собой набор баз данных, специализирующихся на хранении информации того или
иного вида, как это часто бывает в реальных операционных системах. Например, в Windows NT
имеется по крайней мере пять различных типов справочных баз данных. Главный справочник
домена (NT Domain Directory Service) хранит информацию о пользователях, которая используется
при организации их логического входа в сеть. Данные о тех же пользователях могут содержаться и
в другом справочнике, используемом электронной почтой Microsoft Mail. Еще три базы данных
поддерживают разрешение низкоуровневых адресов: WINS - устанавливает соответствие Netbios-
имен IP-адресам, справочник DNS - сервер имен домена - оказывается полезным при подключении
NT-сети к Internet, и наконец, справочник протокола DHCP используется для автоматического
назначения IP-адресов компьютерам сети. Ближе к идеалу находятся справочные службы,
поставляемые фирмой Banyan (продукт Streettalk III) и фирмой Novell (NetWare Directory Services),
предлагающие единый справочник для всех сетевых приложений.
Справочная служба Streettalk уже давно выпускается компанией Banyan и является наиболее
отработанным продуктом этого типа. Многие третьи фирмы купили у компании Banyan лицензию
и используют службу Streettalk в своих системах.
Наличие единой справочной службы для сетевой операционной системы - один из важнейших
признаков ее корпоративности. Важным свойством любого корпоративного приложения является
поддержка такой справочной службы, то есть возможность пользоваться имеющимися в ней
данными о пользователях, серверах и принтерах и не заводить своих собственных дублирующих
справочников. В этом случае администратор имеет дело с одним хранилищем и одним
представлением пользователей и ресурсов системы, и ему не приходится заводить одного и того же
пользователя в нескольких справочниках - например, операционной системы, СУБД и почты, что
неминуемо приводит к путанице и головной боли.
Другим характерным примером специфики корпоративных сетей является подход к построению и
поддержке распределенных приложений.
Сетевые распределенные приложения строятся, как известно, в модели клиент-сервер. При этом, в
небольших сетях наибольшее распространение получила двухзвенная схема этой модели: на
сервере выполняется часть приложения, связанная с выполнением запросов к базе данных и к
файловому сервису, а на клиентских машинах - часть, реализующая логику обработки данных
приложения, а также организующая интерфейс с пользователем. Большинство современных
корпоративных систем управления базами данных представляют собой классический пример
двухзвенной модели клиент-сервер: клиентская часть генерирует запросы на поиск данных в
некоторой стандартной форме, чаще всего на языке SQL, и реализует логику обработки данных, а
СУБД отрабатывает получаемых от клиентов запросы, осуществляя поиск данных в своих
таблицах. Именно этот вариант модели клиент-сервер часто считается единственно возможным, а
файловому серверу отказывают в титуле "клиент-сервер", хотя на самом деле здесь есть и клиент, и
сервер, просто распределение функций между ними иное - сервер выполняет централизованное
хранение и поиск файлов, а клиент - все остальное. Закрепление титула "клиент-сервер" за СУБД,
выполняющей на сервере функции поиска записей, имеет основание - при этом резко сокращается
трафик между клиентскими и серверными компьютерами, а также уменьшаются требования к
вычислительной мощности клиентских компьютеров, правда, только для приложений с простой
логикой обработки данных.
Однако, в корпоративных сетях обязательно имеются и сложные приложения, требующие для
реализации логической обработки данных большой вычислительной мощности. Для них более
подходящей является многозвенная схема, позволяющая разделить приложение на большее число
частей. Например, приложение будет выполняться более эффективно, если освободить файл-сервер
от выполнения запросов к базе данных и перенести СУБД на отдельный, более мощный
компьютер. Из этих же соображений часто оказывается целесообразным перенести обработку
логики приложения с персональных компьютеров также на отдельный компьютер большой
вычислительной мощности - сервер приложений, так как вычислительная часть общих для
корпорации программных систем может быть слишком емкой и неподъемной для рабочих станций
клиентов.
Сервер приложений должен базироваться на мощной аппаратной платформе (мультипроцессорные
системы, часто на базе RISC-процессоров, специализированные кластерные архитектуры). ОС
сервера приложений должна обеспечивать высокую производительность вычислений, а значит
поддерживать многонитевую обработку, вытесняющую многозадачность, мультипроцессирование,
виртуальную память и наиболее популярные прикладные среды (UNIX, Windows, MS-DOS, OS/2).
В этом отношении сетевую ОС NetWare трудно отнести к корпоративным продуктам, так как в ней
отсутствуют почти все требования, предъявляемые к серверу приложений. В то же время хорошая
поддержка универсальных приложений в Windows NT собственно и позволяет ей претендовать на
место в мире корпоративных продуктов.
При построении распределенных приложений важным является способ взаимодействия частей -
синхронный или асинхронный. Синхронный способ, при котором часть приложения,
выдавшая запрос, блокируется на время его выполнения, а серверная часть, получив запрос,
должна немедленно заняться его выполнением, мало подходит для корпоративных приложений.
Так как из-за больших расстояний (нередко с включением глобальных связей) время выполнения
запроса может оказаться слишком большим, то клиентская часть приложения может быть
приостановлена на долгое время, с другой стороны, большая интенсивность и случайный характер
потока запросов может дезорганизовать работу сервера.
Поэтому корпоративные приложения эффективнее строить с применением асинхронной связи
между отдельными частями. В этом случае необходимо иметь дополнительную службу
(относящуюся к так называемому классу middleware), которая принимала бы запросы от
клиентской части приложения, вела бы очередь таких запросов (желательно на диске для
повышения отказоустойчивости) и планировала бы загрузку сервера. Асинхронный способ
взаимодействия предъявляет менее жесткие требования к устойчивости физической связи между
клиентом и сервером, что особенно важно для коммутируемых глобальных каналов, которые в
общем случае всегда могут разделять части приложений в корпоративной сети. Примерами
продуктов, которые поддерживают асинхронную передачу сообщений между клиентами и
серверами, являются системы DECmessage Q от Digital Equipment, Message Express от Momentum
Software и Copernicus от New Paradigm Software.
В корпоративных сетях для связи клиентских и серверных частей приложений кроме используются
и ряд других средств, относящихся к классу middleware, а не только упомянутые средства
асинхронной обработки сообщений (message-oriented midleware, MOM). Широко используемые в
сетевых операционных системах и сетевых утилитах средства удаленного вызова процедур RPC
также относятся к классу middleware. Кроме того, в этот класс входят мониторы обработки
транзакций (transaction processing monitors, TP), осуществляющие прием потока запросов
транзакций от клиентов и осуществляют балансировку этих потоков при передаче их на серверы
баз данных, постановку их в очередь, архивацию и восстановление после сбоев. Перспективным,
но пока еще не нашедшими практического воплощения являются средства брокеров запроса
объектов (object request broker, ORB), которые работают подобно средствам асинхронной
обработки запросов, но только с привлечением концепции объектно-ориентированной
технологии.
Использование средств класса middleware в корпоративных сетях связано с необходимостью
упорядочить хаотический поток запросов от огромного числа клиентов к большому количеству
серверов, создать некоторые регулирующие эти потоки механизмы, подобно регулировщикам
движения на оживленных городских магистралях.
Важную роль в обеспечении необходимых свойств корпоративной сети играет структура
транспортной системы и ее согласованность.
Транспортная система корпоративной сети должна обеспечивать:
передачу пакетов через разнородные сети с совершенно различными
принципами организации транспортных операций,
многоуровневое иерархическое построение (наличие магистрали сети, к
которой присоединяются транспортные артерии нижних уровней),
хорошую структуризацию за счет разделения сети на подсети небольшого
размера с регулярными связями,
поддержку быстрых протоколов, таких как FDDI, Fast Ethernet и 100VG-
AnyLAN, для устранения узких мест.
Объединение транспортных потоков отдельных сетей в корпоративной сети происходит за
счет использования общего для всех сетей магистрального протокола сетевого уровня модели OSI,
который правильнее было бы назвать межсетевым.
Введение сетевого уровня позволяет соединять сети, в которых работают различные протоколы
канального уровня, при этом при передаче пакета из сети в сеть пакет сетевого уровня
освобождается от оболочки канального уровня одного вида и заменяется оболочкой канального
уровня другого вида. Информацией, на основе которой делается эта замена, является номер сети и
номер узла в сети, которая не меняется при переходе пакета из сети в сеть.
К сожалению, существует большого количество протоколов сетевого уровня, равно как и
протоколов канального уровня. Все они решают одну задачу, но несколько разными способами,
поэтому сетевым интеграторам и администраторам приходится в больших сетях иметь дело
одновременно с несколькими сетевыми протоколами. Очень популярными протоколами сетевого
уровня, использующимся для объединения сетей, входящих в корпоративную сеть, является
протоколы IP и Novell IPX.
Протоколы сетевого уровня не являются протоколами только локальных сетей. С их помощью
можно создавать интерсети, включающие как локальные, так как и глобальные сети. В каждой из
этих сетей действуют свои правила внутренней доставки пакетов, а их совместная работа
становится возможной благодаря наличию общего протокола сетевого уровня.
В последнее время роль объединяющего протокола сетевого уровня все чаще выполняет сетевой
протокол IP, ведущий свое происхождение от сети Internet и операционной системы Unix. Для
этого протокола существуют стандарты его использования над всеми основными протоколами
канального уровня локальных сетей, таких как Ethernet, Token Ring, FDDI, Fast Ethernet и 100VG-
AnyLAN, а также над протоколами глобальных сетей - X.25, frame relay, PPP. Уже имеется
спецификация для использования IP над протоколами таких перспективных сетей как АТМ - так
называемая спецификацией Classical IP. Важным достоинством IP является его высокая
эффективность при работе на относительно низкоскоростных глобальных линиях связей.
Протокол IPX фирмы Novell был изначально разработан для объединения небольшого числа
локальных сетей, поэтому он расточительно использует полосу пропускания линий связи и не так
хорошо работает на магистралях корпоративных сетей, как IP, хотя Novell в последнее время
предпринимает немало усилий для улучшения своего стека коммуникационных протоколов.
Структуризация транспортной подсистемы корпоративной сети и ее иерархическое
многоуровневое построение - это взаимосвязанные понятия. Структуризация - это деление крупной
системы на отдельные взаимосвязанные подсистемы, а иерархическое многоуровневое дерево - это
наиболее часто используемый тип структурирования транспортных связей в корпоративной
сети.
Сеть, предоставленная самой себе, имеет свойство разрастаться хаотически. Такая стихийно
создаваемая сеть плохо управляема и подвержена частым сбоям и отказам. Проблемы ранних сетей
Ethernet, которые росли таким образом, хорошо известны: отсутствие технического обоснования
проводимых изменений, их неполная документированность приводили к слишком большим
затратам сил и времени на поиск причин возникающих отказов и сбоев. Масштабные же системы
нужно особенно тщательно планировать и структурировать, выбирая для каждой сети
соответствующие типы кабельных систем, протоколы и устройства соединения сетей -
повторители, мосты, маршрутизаторы и шлюзы.
Целью вычислительной сети является предоставление пользователям доступа ко всем ресурсам
сети. Но не всем пользователям нужен постоянный доступ ко всем ресурсам. В большинстве
случаев им нужен доступ к ресурсам сети их отдела, и только изредка - доступ к удаленным
ресурсам. Поэтому сеть предприятия часто реализуется как совокупность подсетей. Большинство
сетей разрабатывается на основе структуры с позвоночником, к которому через мосты и
маршрутизаторы присоединяются подсети. Эти подсети обслуживают различные отделы. Подсети
могут делиться и далее на сегменты для обслуживания рабочих групп.
Деление сети на подсети уменьшает общий трафик, повышает гибкость, увеличивает защиту
данных и облегчает управление сетью.
Сегментация уменьшает общий сетевой трафик. При достижении
трафиком границы 30%-40% от полной пропускной способности, пользователи
сети Ethernet начинают чувствовать значительное уменьшение
производительности сети из-за постоянных коллизий. В сетях Token Ring также
при достижении трафиком границы 20%-30% от предельной пропускной
способности, конкуренция за доступ к кольцу начинает приводить к заметным
задержкам.
Пользователи взаимодействуют в основном с пользователями и ресурсами
своего отдела. Здесь применимо правило 80/20 - около 80% трафика является
локальным, а 20% идет в удаленные сегменты. Путем сегментации сети на
подсети отделов можно значительно уменьшить трафик, проходящий через
всю сеть, и тем самым повысить производительность сети.
Подсети увеличивают гибкость сети. При построении сети как
совокупности подсетей каждая подсеть может быть адаптирована к
специфическим потребностям рабочей группы или отдела. При этом эти
подсети могут взаимодействовать.
Подсети повышают безопасность данных. Помещая пользователей
на различные физические сегменты можно запретить доступ к некоторым
ресурсам. Это уменьшает частоту появления пользовательских ошибок и
внутреннего разрушения данных. С помощью сегментации можно обеспечить,
например, циркуляцию трафика только в пределах финансового отдела.
Устанавливая различные логические фильтры на мосты и маршрутизаторы,
можно контролировать доступ к ресурсам. Мосты обеспечивают минимум
средств управления доступом, маршрутизаторы обладают большими
возможностями.
Подсети упрощают управление сетью. Побочным эффектом
уменьшения уровня трафика и повышения безопасности данных является
упрощение управляемости сети. Проблемы локализуются внутри сегмента. Как
и в случае структурированной кабельной системы проблемы одной подсети не
оказывают влияния на другие подсети. Подсети образуют логические домены
управления сетью.
Сети должны проектироваться на двух уровнях: физическом и логическом. Логическое
проектирование определяет места расположения ресурсов, приложений и способы доступа
пользователей к ресурсам. Физическое проектирование определяет точное задание типов устройств
(марку и модель), мест прокладки кабеля, типов глобальных сервисов (протокол, тип передающей
среды, типы модемов и т.д.). Соотношение между логическим и физическим уровнями
проектирования в некотором смысле аналогично соотношению между функциональной и
принципиальной электрическими схемами. Например, использование повторителя создает в сетях
стандартов 10Base-T, 10Base-F и Token Ring физические сегменты - отрезки кабеля, соединяющие
по схеме "точка-точка" станции. Однако логически эти отрезки представляют по прежнему один
сегмент, моноканал в случае Ethernet'а и логическое кольцо для сетей Token Ring. Применение же
мостов, маршрутизаторов и шлюзов приводит к появлению логических сегментов, локализующих
трафик внутри себя.
Как уже было сказано выше, наиболее часто встречающейся структурой коммуникационных связей
в корпоративной сети является многоуровневая иерархическая структура. В чистом виде такая
структура часто используется на уровне сетей кампусов, когда в корне сети располагается мощный
модульный корпоративный концентратор, выполняющий функции и маршрутизатора и моста и
коммутатора по отношению к подключенным к нему сегментам сетей. Магистраль кампуса может в
этом случае образовываться внутренней высокопроизводительной шиной корпоративного
концентратора с пропускной способностью в несколько гигабит в секунду. Сети, подключаемые к
центральному концентратору, образуются с помощью концентраторов масштаба отделов и
рабочих групп.
Для объединения сетей кампусов глобальными связями используются, как правило более
нерегулярные структуры - например, ячеистая структура, отражающая географию отделений
корпорации и интенсивность трафика между ними. Но и здесь часто выделяется центральная,
наиболее скоростная сеть, которая служит магистралью всей корпоративной сети, а сети
остальных отделений присоединяются к ней менее скоростными линиями.
Особую важность приобретают для корпоративной сети вопросы безопасности данных. С
одной стороны, в крупномасштабной сети объективно существует больше возможностей для
несанкционированного доступа - из-за децентрализации данных и большой распределенности
"законных" точек доступа, из-за большого числа пользователей, благонадежность которых трудно
установить, а также из-за большого числа возможных точек несанкционированного подключения
к сети. С другой стороны, корпоративные бизнес-приложения работают с данными, которые
имеют жизненно важное значение для успешной работы корпорации в целом. И для защиты таких
данных в корпоративных сетях применяется весь спектр имеющихся средств защиты -
избирательные или мандатные права доступа, сложные процедуры аутентификации пользователей,
программная и аппаратная шифрация, локализация трафика и т.п.
Те же причины обуславливают и повышенные требования к высокой готовности и
отказоустойчивости системы. Основные средства достижения этих свойств - избыточность
аппаратуры и данных на всех уровнях: кабельных связей, источников питания, процессоров,
компьютеров, маршрутизаторов, репликация баз данных, кластеризация вычислений.
Как можно заметить, каждое из этих свойств корпоративной сети может быть важно и для сети
небольшого масштаба. Например, можно найти такую область применения, для которой и для
небольшой локальной сети очень важны требования безопасности данных и высокой готовности.
Но для небольших сетей эти требования могут быть важными или не очень, в зависимости от
характера выполняемых ею задач. Для корпоративных же сетей выполнение этих требований
обязательно всегда.
Создать крупномасштабную гетерогенную среду для проверки свойств корпоративности не только
сложно, но и накладно. Поэтому существуют специальные лаборатории, которые занимаются
тестированием и сертификацией продуктов на предмет пригодности их для работы в
корпоративной сети. В частности, такие услуги и потребителям и производителям оказывает
американская фирма The Tolly Group, которая с помощью специального оборудования может
создавать сложную гетерогенную среду, соответствующую требованиям заказчика, и испытывать в
ней новое оборудование или программную систему. Клиентами The Tolly Group являются и
компании-призводители, заинтересованные в получении лого "Enterprise Ready", причем не только
новички, завоевывающие рынок, но и такие гранды как Cisco, IBM, Motorola-Codex, 3Com,
Wellfleet и многие другие.
Иногда бывает полезно подняться над деревьями и посмотреть на лес с общих позиций. Поскольку
корпоративные сети - это частный случай больших систем, то к их организации применимы
те общие методы и принципы, которые были сформулированы в теории больших систем: деление
системы на подсистемы, многоуровневое иерархическое построение, сочетающее принципы
централизации и децентрализации при сохранении единства системы, принцип необходимого
разнообразия, говорящий о том, что сложная по функциям система не может иметь простую
структуру и однотипные элементы. Если внимательно присмотреться ко всем службам и
подсистемам корпоративной сети (например, к описанным в этой статье), то легко заметить
использование в них всех этих общих принципов и подходов. Справедливо и обратное: если эти
признаки отсутствуют, то вряд ли изучаемый предмет можно отнести к классу корпоративных.
|