Коммутаторы или маршрутизаторы ?

Новости 26.03.2008

Перейдем ко второй части нашего ликбеза. Поговорим о коммутации и маршрутизации, о том, что выбрать для ядра сети. Другими (английскими) словами - switch vs router on backbone.

Итак - коммутаторы. Основа коммутатора - матрица адресов (не важно - MAC-адресов в случае Layer2 или IP-адресов в случае Layer3-устройств).  Коммутатор на основании полученной из сети (arp-reply) информации или на основании своей конфигурации строит таблицу коммутации пакетов. Эта таблица достаточно компактна для быстрого и оптимального поиска по ней, что делает коммутаторы хорошим решением для высокоскоростной передачи данных. Т. е., очень грубо говоря, коммутатор максимально быстро передает пакеты из одного порта в другой.

Плюсы:

    высокая производительность за небольшие деньги (отличное соотношение $/Мбит); поддержка (для Layer3 устройств) маршрутизации на линейной скорости.

Минусы:

    ограниченная таблица маршрутизации. Например, тот же Cisco Catalyst 3560 поддерживает в районе 2000 записей в таблице маршрутизации, что делает его неприменимым для больших сетей; ограниченный функционал по динамическим протоколам маршрутизации, учету трафика, спискам доступа.

Подведем короткий итог. Коммутатор в нашем случае - прекрасное сетевое тактическое устройство для агрегации и структурирования трафика.

Маршрутизатор больше похож на компьютер - в нем больше памяти (например, Cisco 2821 поддерживает до 1Гб трафика), более мощный процессор и есть возможность установки практически любых интерфейсных модулей - от банального Ethernet до STM-1 и выше. В отличие от коммутатора (который, напомню, имеет готовую таблицу для передачи пакетов), маршрутизатор осуществляет интеллектуальную передачу данных на уровне 3 модели OSI - на уровне IP.  Ввиду большего количества памяти уже нет ограничений на количество маршрутов - маршрутизатор может иметь свои правила передачи данных для любого адреса в сети. Но маршрутизаторы медленее - если коммутатору необходимо для работы знать только пару MAC-адресов отправителя и получателя, то роутер исследует пакет целиком. Но в этом есть и плюс - именно на маршрутизаторах ведется учет трафика, возможны действия по перенаправлению каких-либо данных (например - перенаправление web-трафика на прокси-сервер). А такие функции как NBAR (Network Based Application Recognition - определение типа приложения по трафику) позволяют, в случае необходимости, бороться с вредоносным ПО по сетевым сигнатурам.

НЕ нашли? Не то? Что вы ищете?

Плюсы роутеров:

    очень (нет, ОЧЕНЬ) широкий спектр функций, начиная с layer3 и выше; поддержка любых интерфейсов; протоколы динамической маршрутизации - от RIP до BGP4; поддержка функций IP-over-IP - туннели (я сознательно не касаюсь MPLS)

Минусы:

    роутеры дороже. Если рассматривать устройства с производительностью до 100-120Мбит/с, то тут еще можно поместиться в 2-3 тысячи денег (Cisco 28xx старших серий), в то время устройства класса Cisco 72xx/73xx с NPE-G1/G2 (1-2 Гбит/с) и младшие Juniper’ы обойдутся в десятки тысяч долларов. роутеры медленнее. Задержка при передаче пакета через коммутатор мизерна - до 1мс и это изменение этого время практически не связано со сменой нагрузки на устройство. Роутер же делает гораздо больше действий - соответственно, время обработки данных может быть больше.

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

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

С учетом того, что мы строим домовую сеть, базовой схемой можно рассмотреть следующую:

    домовые коммутаторы - управляемые Layer2 устройства с небольшой плотностью портов - от 8 до 24. Обязательно должен быть 1-2 Gigabit Ethernet, совмещенный (SFP + 1000Base-TX, т. е. медь). Идеально, если коммутаторы позволяют изолировать порты - зачем нам разрешать без нашего ведома передачу данных между соседними портами/клиентами? Обязательно должна быть возможность выставления в автоматическом (по snmp, например) режиме блокировок, вплоть до выключения порта. Да, и не забываем про широковещательную передачу данных (multicast) - мы ведь хотим IPTV? собирают трафик с домовых коммутаторов устройства с портами Gigabit Ethernet, аггрегирующие коммутаторы. Как правило, это Layer2/3 устройства с 8-24 портами SFP/1000Base-TX. В случае домовой сети эти устройства вполне могут заниматься внутренней (внутрирайонной) маршрутизацией. В этом случае - гоняем между ними iBGP или OSFP - в зависимости от топологии и функциональных возможностей коммутаторов. на границе сети устанавливаем полноценный маршрутизатор, с производительностью не ниже 100Мбит/с. Сюда попадает “коммерческий” трафик - тот же Интернет, платные услуги. Именно на этом устройстве мы строим трансляцию адресов (NAT), собираем статистику по NetFlow. На старте, когда количество клиентов невелико, на нем можно “терминировать” клиентские подключения по протоколу PPPoE.

На сегодня - все. Я не настаиваю, что изложенное выше - истина в последней инстанции, это всего лишь мой подход :)