четверг, 8 ноября 2012 г.

Строим доступ: топологии и оборудование

 

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

Большая часть «тяжёлых» в решении проблем связано с изначально непродуманным построением сети. В таких случаях, как правило, требуется полная перестройка сети, которая ведет к значительным затратам.

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

Общая иерархия сети

Итак, сеть более или менее крупного провайдера Интернет рекомендуется строить по трехуровневой топологии, в которой выделены, как минимум:

1. Уровень доступа – оборудование (в самом распространённом у нас сейчас случае – коммутаторы Ethernet), в порты которых непосредственно включены абоненты.

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

3. Ядро – обеспечивает связность между оборудованием уровня агрегации и другими ресурсами сети.

 
   
image

Добавим сюда ещё один уровень - границы провайдера: тут работают устройства, обеспечивающие связность с внешним миром

 
  image

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

1. Вырожденное ядро – отсутствие ядра сети как отдельной сущности. Устройства агрегации соединены между собой и с граничными устройствами.

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

3. Вырожденная граница Интернет – часто встречается в совсем небольших сетях, в которых функции Internet border выполняет устройство, топологически находящееся на месте ядра. Часто, в небольших сетях, на одном устройстве (в лучшем случае – на паре устройств/стеке) совмещаются функции агрегации, ядра и граничного устройства.

4. Неуправляемый доступ.

5. Разнообразные сочетания пунктов 1-4.

Несколько лет назад очень распространённой топологией сети небольшого провайдера (домонет) была следующая схема: набор соединённых в один или несколько сегментов коммутаторов доступа (часто – неуправляемых) и один PC-маршрутизатор, который отвечал за маршрутизацию клиентского трафика, обеспечение сервиса (“нарезку” трафика согласно тарифных планов), и одновременно служил граничным устройством.

Сейчас, в условиях жестокой конкуренции, тарифы на доступ к Интернет для конечного клиента упали, соответственно вырос объем трафика в сетях провайдеров. К тому же, машрутизирующие коммутаторы стали доступны по цене даже небольшим провайдерам. Теперь часто приходится иметь дело с топологией, оставшейся в наследство от описанных выше домосетей, но в которой на месте того самого “центрального” сервера стоит маршрутизирующий коммутатор, который опять-таки отвечает за всю маршрутизацию – внешнюю и внутреннюю.

Чем плохи решения с совмещением функций разных уровней сетевой топологии?

Первый очевидный минус – отсутствие изоляции отказов: когда что-то перестает работать, бывает довольно тяжело определить источник проблемы – атака со стороны абонента, атака из внешнего мира, неполадки в сети, неполадки с железом?

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

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

Четвёртый минус связан с особенностями устройства маршрутизирующих коммутаторов: имея значительную пропускную способность, которая обеспечивается чипсетом – специализированным под передачу трафика “железом”, они имеют ограничение по мощности центрального процессора. Сам по себе процессор не участвует в передаче кадров и пакетов, проходящих через коммутатор, но некоторые операции (такие как приём и отправка данных ARP, обмен данными протоколов маршрутизации и пересчёт этих данных в таблицу маршрутизации) производит именно центральный процессор. В ситуации, когда маршрутизирующий коммутатор отвечает за все, возможны проблемы в предоставлении услуг при одновременном выполнении “тяжёлых” для процессора операций, например: отдача данных статистики по SNMP плюс пересчёт таблицы маршрутов после поднятия сессии BGP, плюс массовые запросы ARP от абонентского оборудования.

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

Удорожание сети в данном случае весьма незначительно. Поскольку сеть в целом и сетевое оборудование в частности – средство производства, мысль о том, что например “правильно построенная сеть будет дороже на столько-то тысяч долларов”, будет некорректно. Провайдер строит сеть для того, чтобы продавать услуги, и стоимость оборудования корректней будет пересчитать относительно абонента. При таком расчёте выяснится, что затраты на активное оборудование (при правильном построении сети) составят несколько сотен гривен на абонента и окупятся платой за подключение и, максимум, за два-три месяца предоставления услуг. При этом сеть будет обладать такими важными качествами как отказоустойчивость, и масштабируемость как в плане расширения абонентской базы, так и в плане расширения спектра услуг.

Подсчитывая удельную (в пересчёте на абонента) стоимость сетевого оборудования, можно обнаружить, что самый большой вклад в эту стоимость вносит уровень доступа. Несмотря на то, что коммутаторы доступа являются самыми дешёвыми, они же и самые многочисленные. Если в коммутатор ядра включено несколько десятков коммутаторов агрегации (а это тысячи абонентов), а в коммутатор уровня агрегации - 12-24 коммутатора доступа (сотни абонентов), то в коммутатор доступа – десятки абонентов. При этом далеко не всегда можно обеспечить стопроцентное заполнение существующих портов, что дополнительно увеличивает среднюю стоимость абонентского порта. Все это – причина для более детального разговора об уровне доступа.

Уровень доступа

Уровень доступа отвечает за L2-сервисы и защиту сети от атак и нежелательного трафика со стороны абонентов. Поскольку оборудование уровня доступа наиболее многочисленно и устанавливается в доме (подъезде жилого дома или технических помещениях этого дома), требованиями к такому оборудованию являются: низкая стоимость абонентских портов, надёжность (желательно отсутствие вентиляторов, которые требуют периодической чистки и замены), расширенный температурный диапазон и защита от статического электричества. Кроме того, естественно, коммутатор (если мы говорим о сетях Ethernet), должен обеспечивать работу необходимых для оказания услуг абонентам функций, набор которых зависит от набора этих самых услуг, технологии оказания этих услуг и топологии уровней доступа и отчасти – агрегации.

Для начала рассмотрим рекомендуемые и реально существующие варианты построения уровня доступа в сетях провайдера.

Самая простая (к сожалению, довольно распространённая топология) – цепочка.

 
   

image

Сетевые устройства (в данном случае коммутаторы доступа) соединены последовательно. Такая схема обладает рядом существенных недостатков:

– отсутствие резервирования;

– отсутствие изоляции отказов – отказ одного устройства может привести к отказу всей цепочки;

– взаимное влияние – паразитный трафик воздействует на всю цепочку;

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

*У сетевых инженеров очень распространено другое название такой топологии: “колбаса”.

Соединив крайние устройства в цепочке, получаем следующую топологию – кольцо.

image

 

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

Следующая топология – звезда.

 

 

  image

 

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

Из этого вытекают как преимущества:

– отсутствие взаимного влияния;

– отсутствие лишнего трафика через коммутатор доступа;

– изоляция отказов;

– изоляция паразитного трафика;

– простота поиска неполадок;

так и недостатки топологии:

– отсутствие резервирования связей между уровнями агрегации и доступа;

– наличие единой точки отказа – коммутатора агрегации.

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

  image image  
   
     
 

Здесь имеется избыточная связность между каждым из коммутаторов доступа с коммутаторами вышестоящего уровня. Кроме того, отсутствует единая точка отказа: коммутаторов агрегации теперь два.

Теперь о реально существующих схемах:

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

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

Собственно, основная цель этого материала – помочь в выборе разумного решения и его обосновании.

Один из решающих факторов в выборе оборудования уровня доступа – разумная стоимость абонентского порта. К примеру, стоимость абонентского порта в коммутаторе серии DES-3200 составляет менее 10 долларов (в зависимости от модели), что позволяет окупить затраты на приобретение оборудования из месячной абонентской платы, или даже из платы за подключение.

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

Если с построением вновь создаваемой сети или её сегмента все понятно: тут желательно строить звездообразную топологию либо, если “звезда” совсем невыгодна - некрупные кольца, то с расширением либо оптимизацией существующей сети все несколько сложнее. В этом случае стоит принять во внимание способ построения физических соединений между коммутаторами. Сейчас почти все провайдеры используют оптический кабель, а число тех, кто ещё использует протянутую между домами витую пару стремительно сокращается после каждой грозы. В оптических кабелях, как правило, содержится несколько пар волокон, цена кабеля растет не в арифметической прогрессии от числа пар волокон, к тому же цена кабеля не единственная составляющая стоимости кабельной инфраструктуры. Таким образом, очень часто, даже при наличии длинной цепочки из коммутаторов, в запасе имеются неиспользованные оптические волокна. Кроме того, существуют WDM-трансиверы, пара которых за счёт сдвига частот приёма и передачи могут использовать всего одно волокно вместо пары. Все это – резерв для приведения в порядок топологии и им не стоит пренебрегать при проектировании кабельной инфраструктуры и сети вообще.

Рассмотрим несколько примеров реорганизации сегмента доступа:

Случай 1:

Имеем “кольцо” из 10-ти коммутаторов доступа. Коммутаторы соединены по одномодовому оптическому кабелю с использованием обычных (не WDM) трансиверов. При построении кабельной инфраструктуры использован 12-ти парный кабель.

Каждый из коммутаторов обслуживает от 10-ти до 24-х абонентов с тарифным планом, предусматривающим подключение на скорости 100Мбит/с и предоставлением IPTV.

В сегменте участились жалобы абонентов на низкую скорость доступа к ресурсам Интернет, низкое качество («подтормаживания» и артефакты) при просмотре IPTV, потери при использовании skype и т.п. Анализ графиков загрузки линков между коммутаторами в кольце показывает 80% и выше загрузку этих линков в часы пик. Кроме того, наблюдались случаи аварий трансформаторной подстанции, причём два дома, в которых находятся ближайшие к уровню агрегации коммутаторы, оказались запитаны от одной и той же ТП.

Понятно, что первая проблема - исчерпание ёмкости (1 Гбит/с) линков в кольце; вторая – связана с тем, что особенности энергоснабжения не были учтены при проектировании сети.

Варианты решения первой проблемы:

– переход на 10Гбит/с линки между коммутаторами;

– построение агрегированных линков;

– изменение топологии сети на звездообразную.

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

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

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

Варианты решения второй проблемы:

– использование источников бесперебойного питания для каждого коммутатора в кольце;

– преобразование сети в звездообразную. При этом, в случае отсутствия питания, деградация сервиса будет наблюдаться только у абонентов в доме, в котором отключено питание (так ведь и абонентов в этом случае тоже нет питания!).

Вывод: в описанном случае изменение топологии сети позволит решить возникшие проблемы оптимальным способом.

Случай 2:

Кольцо содержит, например, 18 коммутаторов. Остальные данные и проблемы аналогичны случаю 1.

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

Случай 3:

Кольцевая структура с большим числом коммутаторов. Замыкающий кольцо коммутатор включён одним из портов в коммутатор агрегации. Для предотвращения образования логических петель используется RSTP.

Проблемы состоят в необходимости тщательной конфигурации RSTP для увеличения диаметра сети и защиты протокола и заметного времени схождения. При наложении “плавающей” неисправности в физической инфраструктуре происходит частый пересчёт spanning-tree с соответствующей деградацией сервиса. При отказе замыкающего кольцо коммутатора либо коммутатора агрегации наблюдается деградация сервиса во всем кольце.

Допустим, что ёмкость кабеля не позволяет построить звездообразную топологию даже с использованием WDM-трансиверов.

В этом случае можно порекомендовать поэтапное решение проблем: переход на протокол ERPS, в котором можно задать время восстановления (что позволяет избежать частого пересчёта топологии), а само время схождения намного меньше – всего лишь около 200 мс.

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

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

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

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

Беглый анализ оборудования, используемого в сетях успешных провайдеров приводит нас все к той же операторской линейке коммутаторов DES-3200 (на конец 2012-го года в сетях провайдеров работает уже несколько сотен тысяч этих коммутаторов).

Почему именно эта серия? Попробуем немного формализовать процедуру выбора:

 

Критерий выбора

Фактические показатели

 

Низкая стоимость абонентского порта

До $10 за абонентский порт

 

Гибкая плотность портов

От 8-ми до 48-ми абонентских портов в разных коммутаторах серии

 

Наличие скоростных аплинк-портов

От 2-х до 4-х

 

Низкая стоимость обслуживания и минимальные плановые простои

 

Отсутствие вентиляторов

Поддержка функций, обеспечивающих сервисы

Port bandwitdh, DHCP relay, IGMP snooping*

 

Поддержка функций безопасности

ACL, IP-MAC-Port binding*

 

Поддержка кольцевых топологиий

STP, RSTP, MSTP, ERPS, 16K MAC FDB

 

Поддержка функций управления и мониторинга

SNMP, Ethernet Link OAM, CFM, DULD, sFlow

 

Поддержка перспективных технологий

IPv6 ready phase II logo

 

Опыт успешного применения

сотни операторов, сотни тысяч установленных коммутаторов

*) Указана только часть поддерживаемых функций, полное описание можно найти на сайте производителя

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

С. Базяк

Источник: Украинский телекоммуникационный портал