Проблема нехватки пропускной способности в вычислительных сетях в настоящее время является наиболее актуальной. Данная проблема связана с постоянно увеличивающейся степенью информатизации общества и усложнением задач, решаемых с использованием вычислительной техники. Другими словами, постоянно возрастает объём передаваемого между узлами сети трафика, и некоторый момент вычислительная сеть перестает справляться с нагрузками, что заставляет узлы снизить скорость подачи информации в сеть и, следовательно, процессы требующие поступления новых данных вынуждены простаивать в ожидании. Для борьбы с названной выше проблемой применяется большое количество различных методов. Ниже мы приведем их классификацию и рассмотрим их основные характеристики.
Положим в основе классификации способов решения проблемы нехватки пропускной способности в вычислительных сетях типы узлов сети, применяемые в каждом из этих способов. В состав локальной вычислительной сети может входить конечное сетевое оборудование (ноутбуки, серверы и т.д.), которое будет соответствовать узлам первого типа, и промежуточное сетевое оборудование (коммутаторы, маршрутизаторы и т.д.), которое будет соответствовать узлам второго типа. Объединим способы, осуществляемые на узлах первого типа в группу I, а способы, осуществляемые на узлах второго типа в группу II. Таким образом, к группе I можно отнести способы SCTP и сжатие информации, а к группе II способы ECMP, OSPF и MLT.
Охарактеризуем каждый из вышеперечисленных методов.
В основе всех методов сжатия лежит простая идея: если представлять часто используемые элементы короткими кодами, а редко используемые - длинными, то для хранения блока данных требуется меньший объем памяти, чем, если бы все элементы представлялись кодами одинаковой длины. Если нам известно распределение вероятностей элементов, генерируемых источником, то мы можем представить данные наиболее компактным образом. Среди существующих методов сжатия данных можно выделить две группы: словарные методы сжатия и методы контекстного моделирования.
Идея словарных методов состоит в замене строк символов на такие коды, что их можно трактовать как индексы строк некоторого словаря. Образующие словарь строки будем далее называть фразами. При декодировании осуществляется обратная замена индекса на соответствующую ему фразу словаря. К алгоритмам словарного сжатия можно отнести алгоритмы LZ77 и LZ78, разработанные совместно Зивом (Ziv) и Лемпелом (Lempel). В дальнейшем первоначальные схемы подвергались множественным изменениям, в результате чего мы сегодня имеем десятки достаточно самостоятельных алгоритмов и бессчетное количество модификаций. LZ77 и LZ78 являются универсальными алгоритмами сжатия, в которых словарь формируется на основании уже обработанной части входного потока, то есть адаптивно. Принципиальным отличием является лишь способ формирования фраз. В модификациях первоначальных алгоритмов это свойство сохраняется. Поэтому словарные алгоритмы Зива-Лемпела разделяют на два семейства - алгоритмы типа LZ77 и алгоритмы типа LZ78. Иногда даже говорят о словарных методах LZ1 и LZ2.
Теперь обратимся к методам контекстуального моделирования. Применение методов контекстного моделирования для сжатия данных опирается на идею сжатия с помощью «универсальных моделирования и кодирования» (Universal Modeling and Coding), предложенную Риссаненом и Лэнгдоном в 1981 году. В соответствии с данной идеей процесс сжатия состоит из двух самостоятельных частей: моделирование и кодирование. Под моделированием понимается построение модели информационного источника, породившего сжимаемые данные, а под кодированием - отображение обрабатываемых данных в сжатой форме представления на основании результатов моделирования. Существует большое число компрессоров, использующих контекстное моделирование. Самыми популярными из них являются: HA, автор Гарри Хирвола, RK, автор Малькольм Тейлор, PPMN, автор Максим Смирнов, PPMd и PPMonstr, автор Дмитрий Шкарин, WinRAR, автор Евгений Рошал.
Повышения пропускной способности в вычислительных сетях можно достичь с использованием протокола SCTP, используя параллельную передачу информации по нескольким каналам, для чего каждая ЭВМ оснащается 2 или более портами, которые подключаются в различные более простые неуправляемые или управляемые коммутаторы, создавая несколько возможных путей прохождения информации между ЭВМ. При этом при отказе одного из каналов или коммутаторов информация передаваемая по этому пути не теряется, а передача повторяется по оставшимся каналам, кроме того, передаваемая информация распределяется между имеющимися каналами с учетом их взаимовлияния и имеющихся потоков TCP.
Распределение информации по нескольким путям выполняет специальный драйвер транспортного уровня. Драйвер подменяет существующий протокол TCP (переопределяет его интерфейс) в ядре и тем самым позволяет всем приложениям, использующим TCP, воспользоваться преимуществами параллельной передачи данных. С целью поддержки взаимодействия между ЭВМ и коммутационной аппаратурой или другой аппаратурой реализующий только стек TCP/IP процедура установления соединения выполняется в два этапа. Сначала делается попытка установить соединение с использованием протокола параллельной передачи данных, а при неудачной попытке производится установка соединения с использованием протокола TCP.
К преимуществам такого подхода можно отнести:
- снижение стоимости организации надежной вычислительной сети;
- повышение пропускной способности;
- нет необходимости в доработке существующего ПО, для повышения надежности и пропускной способности;
- прозрачная для пользователя возможность работы как с ЭВМ реализующими TCP (т.е. с устройствами поддерживающими только стек TCP/IP), так и с ЭВМ реализующими распараллеливание передачи информации.
Протокол Equal-Cost Multi-Path (ECMP) описан в стандарте IETF RFC-2992. ECMP работает совместно с протоколами маршрутизации, такими как RIP и OSPF, и позволяет установить несколько равноценных маршрутов для передачи данных. Маршрут может быть создан как между двумя непосредственно подключенными друг к другу маршрутизаторами или коммутаторами, так и проходить через несколько устройств в сети. Таким образом, ECMP обеспечивает механизм равномерного распределения потока данных через несколько сетевых соединений. В случае отказов переключение с неработающего маршрута на работающие происходит за доли секунды.
Сформулируем преимущества и недостатки этого протокола.
Преимущества OSPF:
- для каждого адреса может быть несколько маршрутных таблиц, по одной на каждый вид IP-операции (TOS);
- каждому интерфейсу присваивается безразмерная цена, учитывающая пропускную способность, время транспортировки сообщения. Для каждой IP-операции может быть присвоена своя цена (коэффициент качества);
- при существовании эквивалентных маршрутов OSFP распределяет поток равномерно по этим маршрутам;
- поддерживается адресация субсетей (разные маски для разных маршрутов);
- при связи точка-точка не требуется IP-адрес для каждого из концов;
- применение мультикастинга вместо широковещательных сообщений снижает загрузку не вовлеченных сегментов.
Недостатки OSPF:
- Трудно получить информацию о предпочтительности каналов для узлов, поддерживающих другие протоколы, или со статической маршрутизацией.
- OSPF является лишь внутренним протоколом.
MLT соединения, описанные в стандарте IEEE 802.3ad, предоставляют очень эффективный и удобный метод распределения нагрузки между несколькими физическими соединениями. Одна из проблем при использовании IEEE 802.3ad/MLT состоит в том, что все каналы внутри одного MLT соединения должны заканчиваться на одном коммутаторе или стеке коммутаторов. Это является большой проблемой в случае, когда есть необходимость обеспечить отказоустойчивость на уровне центрального коммутатора (т.е. подключить удаленные коммутаторы сразу к двум центральным), что является важным для обеспечения надежности сети в 99,999%. Первым способом обеспечения такого подключения является совместное использование MLT и STP. Вторым способом - использование "чистого" STP или Rapid-STP, а третьим - использование SMLT. Третий способ является самым оптимальным, SMLT значительно превосходит STP и RSTP, поскольку он позволяет каналам MLT заканчиваться на разных коммутаторах, одновременно обеспечивая распределение нагрузки и восстановление после отказа за доли секунды. Тогда как STP и RSTP очень сложны в настройке (при необходимости распределения нагрузки) и требуют большого времени для восстановления сети.
Таким образом, для решения проблемы нехватки пропускной способности можно идти различными путями, как-то: использование специального коммутационного оборудования, применение алгоритмов сжатия информации и/или протоколов параллельной передачи данных на конечных устройствах.
СПИСОК ЛИТЕРАТУРЫ
- Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. - СПб.: Питер, 2003. - 960 с.
- Janadrhan R. Iyngar - End-to-end concurrent multipath transfer, - University of Delaware, 2006. - 123 c.
- У. Ричард Стивенс Протоколы TCP/IP Практическое руководство:Пер. с англ. - Санкт-Петербург, 2003. - 671 с.
- Alberto Leon-Gacia & Indra Widjaja. Communication Networks, - McGraw-Hill, 2001. - 889 с.