По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Первая часть тут. В конце 1980—х в мире сетевой инженерии появилась новая тема для обсуждения-асинхронный режим передачи данных (ATM). Потребность в более скоростных схемах в сочетании с медленным развитием в коммутации пакетов персонально на основе их адресов назначения привела к толчку к новому виду передачи, который, в конечном счете, реконфигурировал бы весь набор (или стек, потому что каждый протокол образует слой поверх протокола ниже, как «слоёный пирог») протоколов, используемых в современных сетях. ATM объединил размер ячейки (или пакета) с фиксированной длиной коммутации каналов с заголовком из коммутации пакетов (хотя и значительно упрощенным), чтобы произвести «промежуточное» технологическое решение. Было два ключевых момента для ATM: label switching и fixed call sizes; рисунок 1 иллюстрирует первый вариант. На рис. 1 G отправляет пакет, предназначенный для H. При получении этого пакета A проверяет локальную таблицу и обнаруживает, что следующий переход к H — это C. Локальная таблица A также указывает метку, показанную как L, а не «просто» информацию о том, куда переслать пакет. A вставляет эту метку в специальное поле в начале пакета и пересылает ее в C. Когда C получает пакет, ему не нужно читать адрес назначения в заголовке, скорее, он просто читает метку, которая является коротким полем фиксированной длины. Метка просматривается в локальной таблице, которая сообщает C переадресовать трафик в D для назначения H. Метка очень мала и поэтому легко обрабатывается для устройств пересылки, что делает переключение намного быстрее. В некотором смысле метка также может «содержать» информацию для обработки пакета. Например, если на самом деле существует два потока трафика между G и H, каждому из них может быть назначена своя метка (или набор меток) через сеть. Пакеты, несущие одну метку, могут иметь приоритет над пакетами, несущими другую метку, поэтому сетевым устройствам не нужно просматривать какие-либо поля в заголовке, чтобы определить, как обрабатывать конкретный пакет. Это можно рассматривать как компромисс между коммутацией пакетов и коммутацией каналов. В то время как каждый пакет все еще пересылается hop by hop, виртуальный канал также может быть определен путем метки через сеть. Второй момент заключался в том, что ATM также был основан на ячейке фиксированного размера: каждый пакет был ограничен 53 октетами информации. Ячейки фиксированного размера могут показаться незначительной проблемой, но пакеты фиксированного размера могут иметь огромное значение для производительности. Рисунок 2 иллюстрирует некоторые факторы, связанные с фиксированными размерами ячеек. На рисунке 2 пакет 1 (A1) копируется из сети в память на сетевой карте или интерфейсе LC1; затем он проходит через внутреннюю структуру внутри B (между ячейками памяти) к LC2, и, наконец, возвращается в сеть на исходящем интерфейсе B. На такой диаграмме это может показаться тривиальным, но, пожалуй, наиболее важным фактором скорости, с которой устройство может переключать / обрабатывать пакеты, является время, необходимое для копирования пакета по любым внутренним путям между ячейками памяти. Процесс копирования информации из одного места в памяти в другое является одной из самых медленных операций, которые может выполнять устройство, особенно на старых процессорах. Создание одинакового пакета (фиксированный размер ячейки) позволило оптимизировать код во время процесса копирования, что значительно увеличило скорость переключения. Путь пакета 2 через B еще хуже с точки зрения производительности; сначала он копируется из сети в локальную память. Когда порт назначения определяется путем поиска в локальной таблице пересылки, код, обрабатывающий пакет, понимает, что пакет должен быть фрагментирован, чтобы соответствовать наибольшему размеру пакета, разрешенному на исходящем канале [B,C]. Карта входящей линии, LC1, фрагментирует пакет на A1 и A2, создавая второй заголовок и корректируя любые значения в заголовке по мере необходимости. Пакет делится на два пакета, А1 и А2. Эти два пакета копируются в двух операциях через матрицу на исходящую сетевую карту LC2. Используя ячейки фиксированного размера, ATM избегает затрат на производительность фрагментации пакетов (в то время, когда предлагалась ATM), понесенных почти любой другой системой коммутации пакетов. ATM, на самом деле, не начинался в ядре сети и не прокладывал свой путь к краю сети. А почему бы и нет? Первый ответ заключается в довольно странном выборе размера ячейки. Почему 53 октета? Ответ прост-и, возможно, немного поразителен. АТМ должна была заменить не только сети с коммутацией пакетов, но и тогдашнее поколение голосовых сетей, основанных на технологиях коммутации каналов. Объединяя эти две технологии, провайдеры могли бы предлагать оба вида услуг на одном наборе схем и устройств. Какой объем информации или размер пакета идеально подходит для передачи голосового трафика? Около 48 октетов. Какой объем информации или размер пакета является минимумом, который имеет какой-либо смысл для передачи данных? Около 64 октетов. Пятьдесят три октета были выбраны в качестве компромисса между этими двумя размерами; это не было бы идеально для передачи голоса, так как 5 октетов каждой ячейки, несущей голос, были бы потрачены впустую. Это не было бы идеально для трафика данных, потому что самый распространенный размер пакета, 64 октета, должен был бы быть разделен на две ячейки для переноса через сеть ATM. Общим мнением во время проведения этих обсуждений было то, что протоколы передачи данных могли бы адаптироваться к немного меньшему размеру ячейки, что делает 53 октета оптимальным размером для поддержки широкого спектра трафика. Протоколы передачи данных, однако, не изменились. Для переноса 64-октетного блока данных одна ячейка будет содержать 53 октета, а вторая - 9 октетов с 42 октетами свободного пространства. Провайдеры обнаружили 50% или более доступной пропускной способности на каналах ATM использовались пустые ячейки, что фактически приводило к потере пропускной способности. Следовательно, поставщики данных прекратили развертывание ATM, поставщики голосовой связи так и не начали его развертывание, и ATM умер. Что интересно, так это то, как наследие таких проектов, как ATM, живет в других протоколах и идеях. Концепция переключения меток была подхвачена Yakov Rekhter и другими инженерами и превращена в переключение меток. Это сохраняет многие фундаментальные преимущества быстрого поиска ATM на пути пересылки и объединения метаданных об обработке пакетов в саму метку. Коммутация по меткам в конечном итоге стала Multiprotocol Label Switching (MPLS), которая не только обеспечивает более быстрый поиск, но также стеки меток и виртуализацию. Таким образом, была взята и расширена основная идея, которая существенно повлияла на современные сетевые протоколы и конструкции. Вторым наследием ATM является фиксированный размер ячейки. В течение многих лет доминирующий сетевой транспортный пакет, основанный на TCP и IP, позволял сетевым устройствам фрагментировать пакеты при их пересылке. Однако это хорошо известный способ снижения производительности сети. Бит «не фрагментировать» был добавлен в заголовок IP, сообщая сетевым устройствам о необходимости отбрасывать пакеты, а не фрагментировать их, и были предприняты серьезные усилия для обнаружения самого большого пакета, который может передаваться по сети между любой парой устройств. Новое поколение IP, названное IPv6, удалило фрагментацию сетевыми устройствами из спецификации протокола. Третья часть тут.
img
Пока не начали, ознакомьтесь с материалом про обнаружение соседей в сетях. Реактивное распределение достижимости Возвращаясь к рисунку 9 в качестве справки, предположим, что развернута реактивная плоскость управления, и B хотел бы начать обмен потоками данных с G. Как C может разработать информацию о пересылке, необходимую для правильного переключения этого трафика? Маршрутизатор может отправить запрос по сети или отправить запрос контроллеру, чтобы обнаружить путь к месту назначения. Например: Когда B впервые подключается к сети, и C узнает об этом вновь подключенном хосте, C может отправить информацию о B в качестве достижимого пункта назначения на контроллер, подключенный к сети. Точно так же, когда G подключается к сети и D узнает об этом вновь подключенном хосте, D может отправить информацию о G как о достижимом пункте назначения контроллеру, подключенному к сети. Поскольку контроллер узнает о каждом хосте (или достижимом месте назначения), подключенном к сети (а в некоторых системах, также обо всей топологии сети), когда C необходимо узнать, как достичь хоста G, маршрутизатор может запросить контроллер, который может предоставить эту информацию. Примечание. Концепция централизованного контроллера подразумевает, что один контроллер предоставляет информацию для всей сети, но это не то, как термин централизованная плоскость управления обычно используется в мире сетевой инженерии. Однако идея централизации в сетевой инженерии довольно расплывчата. Вместо того, чтобы указывать на отдельное устройство, термин "централизованный" обычно используется для обозначения непереносимых скачков по сети и не вычисляемых каждым сетевым устройством независимо. Маршрутизатор (или хост) может отправить пакет проводника, который записывает маршрут от источника к месту назначения и сообщает эту информацию источнику проводника, который затем используется как исходный маршрут. Рисунок 10 иллюстрирует это. Используя рисунок 10 и предполагая исходную маршрутизацию на основе хоста: Хосту A необходимо отправить пакет H, но у него нет пути. A отправляет explorer на свой шлюз по умолчанию, маршрутизатор C. C не имеет маршрута к месту назначения, поэтому он пересылает explorer пакет по всем каналам, кроме того, по которому он получил пакет; следовательно, к B, D и E. B является хостом, не имеет дополнительных интерфейсов и не является целью explorer, поэтому он игнорирует explorer пакет. Ни у D, ни у E нет пути к H, поэтому они оба перенаправляют explorer на все интерфейсы, кроме того, на котором они получили пакет; следовательно, на канал с множественным доступом, совместно используемый между ними и F. F получает две копии одного и того же explorer пакета; он выбирает один на основе некоторых локальных критериев (таких как первый полученный или некоторая политика плоскости управления) и пересылает его на все интерфейсы, на которых он не получил пакет, к G. G получает пакет и, учитывая, что у него нет пути к H, пересылает его на единственное другое соединение, которое у него есть, что ведет к H. H принимает explorer и отвечает. В этой схеме каждое устройство на пути добавляет себя в список пройденных узлов перед пересылкой explorer пакета на все интерфейсы, кроме того, на котором он был получен. Таким образом, когда H получает explorer пакет (который в конечном итоге направлен на поиск пути к H), пакет теперь описывает полный путь от A до H. Когда H отвечает explorer, он помещает этот путь в тело пакета; когда A получит ответ, у него теперь будет полный путь от A до H. Примечание. В некоторых реализациях A не будет ни генерировать, ни получать ответ на пакет explorer. А с первого роутера, может выполнять эти функции. Точно так же сам H может не отвечать на эти пакеты explorer, а скорее G или любое другое сетевое устройство вдоль пути, имеющее информацию о том, как добраться до G. Однако в этих случаях общая концепция и обработка остаются теми же. Затем, чтобы отправить пакеты в H, A вставляет этот путь в заголовок пакета в виде исходного маршрута, содержащего путь [A, C, D, F, G, H]. Когда каждый маршрутизатор получает этот пакет, он проверяет исходный маршрут в заголовке, чтобы определить, на какой маршрутизатор перенаправить трафик следующему. Например, C проверит информацию о маршруте от источника в заголовке пакета и определит, что пакет должен быть отправлен в D следующим, в то время как D изучит эту информацию и определит, что ему нужно отправить пакет F. Примечание. В некоторых реализациях каждый explorer фактически отправляется в пункт назначения, который затем определяет, по какому пути должен идти трафик. На самом деле существует несколько различных способов реализации исходной маршрутизации; процесс, приведенный здесь, является лишь одним примером, объясняющим общую идею исходной маршрутизации. Упреждающее распределение доступности Проактивные плоскости управления, в отличие от реактивных плоскостей управления, распределяют информацию о достижимости и топологии по всей сети, когда информация становится доступной, а не тогда, когда она необходима для пересылки пакетов. Основная проблема, с которой сталкиваются плоскости упреждающего управления, заключается в обеспечении надежной передачи информации о доступности и топологии между узлами в сети, в результате чего все устройства имеют одинаковую информацию о доступности. Удаление информации о плоскости управления может привести к возникновению постоянных петель маршрутизации или к созданию черных дыр маршрутизации (так называемых, потому что они потребляют трафик, передаваемый в пункты назначения без следа), и то и другое серьезно снижает полезность сети для приложений. Существует несколько широко используемых механизмов для обеспечения надежной передачи информации плоскости управления по сети. Плоскость управления может периодически передавать информацию, задерживая более старую информацию. Это похоже на формирование соседей, поскольку каждый маршрутизатор в сети будет передавать имеющуюся информацию о доступности всем соседям (или на всех интерфейсах, в зависимости от плоскости управления) на основе таймера, обычно называемого таймером обновления или объявления. Информация о доступности, однажды полученная, хранится в локальной таблице и истекает по таймауту в течение некоторого периода времени, часто называемого таймером удержания (опять же, как при обнаружении соседа). Остальные описанные здесь механизмы полагаются на существующую систему обнаружения соседей, чтобы гарантировать надежную доставку - и постоянную надежность - информации о доступности. Во всех этих системах: Список соседей используется не только для управления передачей новой информации о доступности, но и для проверки правильности получения информации о доступности. Список соседей используется не только для управления передачей новой информации о доступности, но и для проверки правильности получения информации о доступности. В контексте распределения достижимости на основе соседей существует несколько обычно используемых механизмов для передачи определенной информации о доступности с устройства на устройство; часто любая заданная плоскость управления будет использовать более одного из описанных здесь методов. Плоскость управления может использовать порядковые номера (или какой-либо другой механизм) для обеспечения правильной репликации. Порядковые номера могут фактически использоваться для описания отдельных пакетов и больших блоков информации о доступности; Рисунок 11 иллюстрирует это. Получив пакет, получатель может отправить подтверждение получения пакета, отметив порядковые номера, которые он получил. Отдельный порядковый номер может использоваться для описания достижимости отдельного сетевого уровня. Информация (NLRI), передаваемая по сети. Информация NLRI, распределенная по нескольким пакетам, затем может быть описана с использованием одного порядкового номера. Плоскость управления может описывать базу данных для обеспечения правильной репликации. Например, плоскость управления может описывать информацию в базе данных как: Список порядковых номеров, соответствующих отдельным записям, содержащий информацию о доступности, содержащуюся в базе данных. Группы смежных порядковых номеров, содержащиеся в базе данных (несколько более компактный способ представления всех порядковых номеров) Набор порядковых номеров в паре с хешами информации в каждой записи информации о доступности; это имеет то преимущество, что не только описывает записи в базе данных, но также дает возможность получателю проверять содержимое каждой записи, но без переноса всей базы данных для выполнения проверки. Хэш по блокам записей о достижимости, содержащихся в базе данных, который может быть вычислен получателем для тех же записей и напрямую сравнен, чтобы определить, отсутствуют ли записи. Эти типы дескрипторов баз данных могут передаваться периодически, или только при наличии изменений, или даже в других конкретных ситуациях, чтобы не только обеспечить синхронизацию баз данных сетевыми устройствами, но и определить, что отсутствует или находится в ошибке, поэтому дополнительная информация может быть запрошена. Каждая из этих схем имеет преимущества и недостатки. Как правило, протоколы реализуют схему, которая позволяет реализации не только проверять отсутствующую информацию, но также информацию, которая была случайно повреждена либо в памяти, либо во время передачи.
img
OpenVZ и LXD позволяют вам запустить полноценную операционную систему внутри контейнера, не сильно отличающиеся друг от друга. Но является ли одна системная платформа лучше другой? Вот сравнение OpenVZ и LXD. Обе платформы представляют собой “системные контейнеры”, предназначенные для размещения готовых клиентских операционных систем без необходимости эмуляции в стиле VMware. Системные контейнерные платформы отличаются от контейнеров Docker тем, что Docker предназначен в первую очередь для размещения отдельных приложений внутри контейнеров. Основным преимуществом OpenVZ и LXD является то, что они предоставляют более легкое решение для запуска клиентских операционных систем, чем VMware, KVM или других платформ виртуализации. С точки зрения качества, оба работают одинаково. OpenVZ против LXD Но есть некоторые важные характеристики, которые разделяют эти две платформы. Детали, характерные для OpenVZ, включают в себя: Она существует с середины 2000-х годов, и это уже устоявшаяся технология. Поддерживает все основные дистрибутивы Linux. Вам не нужно использовать определенный дистрибутив, чтобы использовать OpenVZ. Для его установки требуется специальное ядро. Это может быть проблемой, если Вам необходимы специальные функции в Вашем ядре, которые не встроены в пакеты ядра, предоставляемые OpenVZ. Коммерческая поддержка доступна от Virtuozzo, основной компании, занимающейся разработкой OpenVZ. Вы вряд ли найдете варианты коммерческой поддержки в другом месте. Доступ к физическому оборудованию из контейнера по умолчанию отключен при использовании OpenVZ. Это означает, если Вам необходимо, чтобы приложение внутри Вашей контейнерной клиентской операционной системы имело доступ к такому устройству, как видеокарта, Вам придется настроить доступ вручную (Это неудобство можно считать сильной стороной, поскольку ограничение доступа к оборудованию, возможно, является функцией безопасности.) А вот характерные особенности для LXD: Он основан на LXC, платформе контейнеризации Linux, которая существует с конца 2000-х годов. Однако сама LXD является новой технологией - её первый стабильный релиз состоялся весной 2016 года. В настоящее время он поддерживает только Ubuntu, дистрибутив Linux от Canonical. Он не требует специального ядра; Вы можете использовать стандартное ядро Ubuntu с LXD. Canonical заявляет, что предлагает коммерческую поддержку LXD, но для этого, во всей видимости, требуется оплатить план поддержки всей системы Ubuntu. Выбор между OpenVZ и LXD Какая из этих системных контейнерных платформ лучше всего подходит? Конечно, Вы можете начать с чего угодно. Но в целом LXD, вероятно, является лучшим решением, если Вы уже используете Ubuntu для размещения своих рабочих нагрузок или можете легко переключиться на него. В противном случае, поскольку LXD не работает на других дистрибутивах Linux, OpenVZ будет единственным вариантом, если Вы подключены к другой операционной системе. Я предполагаю, что, поскольку LXD пользуется сильной поддержкой со стороны Canonical, он будет продолжать развиваться и в конечном итоге поддерживать другие дистрибутивы. Когда это произойдет, это может быть лучшим выбором в целом, поскольку на него не распространяются некоторые ограничения OpenVZ, такие как требование установки специального ядра. Но до тех пор OpenVZ явно имеет большую ценность в качестве решения для запуска системных контейнеров на дистрибутивах, отличных от Ubuntu.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59