ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

8 минут чтени€

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

–исунок 1 используетс€ дл€ обсуждени€ обзора проблемного пространства.

–ис. 1 ѕеремещение пакета через сетевое устройство

Ќа рисунке 1 есть четыре отдельных шага:

  1. ѕакет необходимо скопировать с физического носител€ в пам€ть устройства; это иногда называют синхронизацией пакета по сети.
  2. ѕакет должен быть обработан, что обычно означает определение правильного исход€щего интерфейса и изменение пакета любым необходимым способом. Ќапример, в маршрутизаторе заголовок нижнего уровн€ удал€етс€ и замен€етс€ новым; в фильтре пакетов с отслеживанием состо€ни€ пакет может быть отброшен на основании внутреннего состо€ни€ и т.п.
  3. ѕакет необходимо скопировать из вход€щего интерфейса в исход€щий. Ёто часто св€зано с перемещени€ми по внутренней сети или шине. Ќекоторые системы пропускают этот шаг, использу€ один пул пам€ти как дл€ вход€щего, так и дл€ исход€щего интерфейсов; они называютс€ системами с общей пам€тью.
  4. ѕакет необходимо скопировать обратно на исход€щий физический носитель; это иногда называют синхронизацией пакета по проводу.
ѕримечание. Ќебольшие системы, особенно те, которые ориентированы на быструю и последовательную коммутацию пакетов, часто используют общую пам€ть дл€ передачи пакетов с одного интерфейса на другой. ¬рем€, необходимое дл€ копировани€ пакета в пам€ть, часто превышает скорость, с которой работают интерфейсы; системы с общей пам€тью избегают этого при копировании пакетов в пам€ть.

“аким образом, проблемное пространство, обсуждаемоениже, состоит из следующего:

 ак пакеты, которые необходимо пересылать сетевым устройством, перенос€тс€ с вход€щего на исход€щий физический носитель, и как пакеты подвергаютс€ обработке на этом пути? ƒалее обсуждаетс€ часть решени€ этой проблемы.


‘изический носитель Ц ѕам€ть

ѕервым шагом в обработке пакета через сетевое устройство €вл€етс€ копирование пакета с провода в пам€ть. ƒл€ иллюстрации этого процесса используетс€ рисунок 2. Ќа рисунке 2 представлены два этапа:

–ис. 2 —инхронизаци€ пакета в пам€ти

Ўаг 1. Ќабор микросхем физического носител€ (PHY chip) будет копировать каждый временной (или логический) слот с физического носител€, который представл€ет один бит данных, в €чейку пам€ти. Ёта €чейка пам€ти фактически отображаетс€ в приемное кольцо, которое представл€ет собой набор €чеек пам€ти (буфер пакетов), выделенный с единственной целью - прием пакетов, синхронизируемых по сети. ѕриемное кольцо и вс€ пам€ть буфера пакетов обычно состо€т из пам€ти одного типа, доступной (совместно используемой) всеми коммутирующими компонентами на принимающей стороне линейной карты или устройства.

ѕримечание.  ольцевой буфер используетс€ на основе одного указател€, который увеличиваетс€ каждый раз, когда новый пакет вставл€етс€ в буфер. Ќапример, в кольце, показанном на рисунке 2, указатель будет начинатьс€ в слоте 1 и увеличиватьс€ через слоты по мере того, как пакеты копируютс€ в кольцевой буфер. ≈сли указатель достигает слота 7 и поступает новый пакет, пакет будет скопирован в слот 1 независимо от того, было ли обработано содержимое слота 1 или нет.

ѕри коммутации пакетов наиболее трудоемкой и трудной задачей €вл€етс€ копирование пакетов из одного места в другое; этого можно избежать, насколько это возможно, за счет использовани€ указателей. ¬место перемещени€ пакета в пам€ти указатель на €чейку пам€ти передаетс€ от процесса к процессу в пределах пути переключени€.

Ўаг 2.  ак только пакет синхронизируетс€ в пам€ти, некоторый локальный процессор прерываетс€. ¬о врем€ этого прерывани€ локальный процессор удалит указатель на буфер пакетов, содержащий пакет, из кольца приема и поместит указатель на пустой буфер пакетов в кольцо приема. ”казатель помещаетс€ в отдельный список, называемый входной очередью.


ќбработка пакета

 ак только пакет окажетс€ во входной очереди, его можно будет обработать. ќбработку можно рассматривать как цепочку событий, а не как одно событие. –исунок 3 иллюстрирует это. ѕеред коммутацией пакета должна произойти некотора€ обработка, например преобразование сетевых адресов, поскольку она измен€ет некоторую информацию о пакете, используемом в фактическом процессе коммутации. ƒруга€ обработка может происходить после переключени€.

–ис. 3 ѕроцесс коммутации пакетов

 оммутаци€ пакета - довольно проста€ операци€:

  1. ѕроцесс коммутации ищет адрес назначени€ Media Access Control (MAC) или физического устройства в таблице пересылки (в коммутаторах это иногда называетс€ таблицей обучени€ моста или просто таблицей моста).
  2. »сход€щий интерфейс определ€етс€ на основе информации в этой таблице.
  3. ѕакет перемещаетс€ из входной очереди в выходную очередь.

ѕакет никоим образом не измен€етс€ в процессе коммутации; он копируетс€ из очереди ввода в очередь вывода.


ћаршрутизаци€

ћаршрутизаци€ - более сложный процесс, чем коммутаци€. –исунок 4 демонстрирует это.

–ис. 4 ћаршрутизаци€ пакетов

Ќа рисунке 4 пакет начинаетс€ во входной очереди. “огда коммутационный процессор:

  1. ”дал€ет (или игнорирует) заголовок нижнего уровн€ (например, кадрирование Ethernet в пакете). Ёта информаци€ используетс€ дл€ определени€ того, должен ли маршрутизатор получать пакет, но не используетс€ во врем€ фактического процесса коммутации.
  2. »щет адрес назначени€ (и, возможно, другую информацию) в таблице пересылки. “аблица пересылки св€зывает место назначени€ пакета со next hop пакета. Next hop может быть следующий маршрутизатор на пути к месту назначени€ или сам пункт назначени€.
  3. «атем коммутирующий процессор провер€ет таблицу interlayer discovery, чтобы определить правильный физический адрес, по которому следует отправить пакет, чтобы доставить пакет на один шаг ближе к месту назначени€.
  4. Ќовый заголовок нижнего уровн€ создаетс€ с использованием этого нового адреса назначени€ нижнего уровн€ и копируетс€ в пакет. ќбычно адрес назначени€ нижнего уровн€ кэшируетс€ локально вместе со всем заголовком нижнего уровн€. ¬есь заголовок перезаписываетс€ в процессе, называемом перезапись заголовка MAC.

“еперь весь пакет перемещаетс€ из очереди ввода в очередь вывода.


ѕочему именно маршрутизаци€?

ѕоскольку маршрутизаци€-это более сложный процесс, чем коммутаци€, то почему именно маршрутизаци€? ƒл€ иллюстрации будет использован рисунок 5. —уществует по меньшей мере три конкретных причины дл€ маршрутизации, а не коммутации в сети. Ќа рисунке 5 в качестве примера приведена небольша€ сеть:

–ис. 5 ѕочему именно маршрутизаци€?
  • ≈сли канал св€зи [B,C] €вл€етс€ физическим носителем другого типа, чем два канала св€зи, соедин€ющиес€ с хостами, с различными кодировками, заголовками, адресацией и т. д., то маршрутизаци€ позволит A и D общатьс€, не беспоко€сь об этих различи€х в типах каналов св€зи. Ёто можно было бы преодолеть в чисто коммутируемой сети с помощью преобразовани€ заголовков, но преобразование заголовков на самом деле не уменьшает количество работы, чем маршрутизаци€ в пути коммутации, поэтому нет особого смысла не маршрутизировать дл€ решени€ этой проблемы. ƒругое решение может заключатьс€ в том, чтобы каждый тип физического носител€ согласовывал единую адресацию и пакетный формат, но, учитыва€ посто€нное развитие физических носителей и множество различных типов физических носителей, это кажетс€ маловеро€тным решением.
  • ≈сли бы вс€ сеть была коммутируемой, то B должен был бы знать полную информацию о достижимости дл€ D и E, в частности, D и E должны были бы знать адреса физического или нижнего уровн€ дл€ каждого устройства, подключенного к сегменту хоста за пределами C. Ёто может быть не большой проблемой в малой сети, но в больших сет€х с сотн€ми тыс€ч узлов или глобальным интернетом это не будет масштабироватьс€Чпросто слишком много состо€ний дл€ управлени€. ћожно агрегировать информацию о достижимости с помощью адресации нижнего уровн€, но это сложнее, чем использовать адрес более высокого уровн€, назначенный на основе топологической точки присоединени€ устройства, а не адрес, назначенный на заводе, который однозначно идентифицирует набор микросхем интерфейса.
  • ≈сли D отправл€ет широковещательную рассылку Ђвсем устройствам в сегментеї, A получит широковещательную рассылку, если B и C €вл€ютс€ коммутаторами, но не если B и C €вл€ютс€ маршрутизаторами. Ўироковещательные пакеты нельз€ исключить, поскольку они €вл€ютс€ неотъемлемой частью практически каждого транспортного протокола, но в чисто коммутируемых сет€х широковещательные передачи представл€ют собой очень трудно решаемую проблему масштабировани€. “рансл€ции блокируютс€ (или, скорее, потребл€ютс€) на маршрутизаторе.
ѕримечание. ¬ мире коммерческих сетей термины маршрутизаци€ и коммутаци€ часто используютс€ как синонимы. ѕричина этого в первую очередь в истории маркетинга. ѕервоначально маршрутизаци€ всегда означала Ђпереключаема€ программної, тогда как коммутаци€ всегда означала Ђпереключаема€ аппаратної.  огда стали доступны механизмы коммутации пакетов, способные переписывать заголовок MAC на аппаратном уровне, они стали называтьс€ Ђкоммутаторами уровн€ 3ї, которые в конечном итоге были сокращены до простой коммутации. Ќапример, большинство Ђкоммутаторовї центров обработки данных на самом деле €вл€ютс€ маршрутизаторами, поскольку они действительно выполн€ют перезапись MAC-заголовка дл€ пересылаемых пакетов. ≈сли кто-то называет часть оборудовани€ коммутатором, то лучше всего уточнить, €вл€етс€ ли это коммутатором уровн€ 3 (правильнее - маршрутизатор) или коммутатором уровн€ 2 (правильнее - коммутатором).
ѕримечание. “ермины канал св€зи и соединение здесь используютс€ как синонимы.  анал св€зи - это физическое или виртуальное проводное или беспроводное соединение между двум€ устройствами.

Equal Cost Multipath

¬ некоторых проектах сети сетевые администраторы ввод€т параллельные каналы между двум€ узлами сети. ≈сли предположить, что эти параллельные каналы равны по пропускной способности, задержке и т. д., они считаютс€ равными по стоимости. ¬ нашем случае каналы считаютс€ многопутевыми с равной стоимостью (equal cost multipath - ECMP).

¬ сетевых технологи€х в производственных сет€х часто встречаютс€ два варианта. ќни ведут себ€ одинаково, но отличаютс€ тем, как каналы группируютс€ и управл€ютс€ сетевой операционной системой.