Пособие по архитектуре уровней в публичных цепях

Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.

Модель OSI является эталонной. Полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model — это как раз некая образцовая модель. Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.

Пособие по архитектуре уровней в публичных цепях

Сетевая модель OSI имеет семь уровней, иерархически расположенных от большего к меньшему. Cамым верхним является седьмой (прикладной), а самым нижним — первый (физический). Модель OSI разрабатывалась еще в 1970-х годах, чтобы описать архитектуру и принципы работы сетей передачи данных.

В процессе передачи данных всегда участвуют устройство-отправитель, устройство-получатель, а также сами данные, которые должны быть переданы и получены. С точки зрения рядового пользователя задача элементарна — нужно взять и отправить эти данные. Все, что происходит при отправке и приеме данных, детально описывает семиуровневая модель OSI.

На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией.

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

На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).

Рассмотрим на примере: пользователь 1 отправляет картинку, которая обрабатывается на седьмом уровне в виде данных, данные должны пройти все уровни до самого нижнего (первого), где будут представлены как биты.

Этот процесс называется инкапсуляцией. Компьютер пользователя 2 принимает биты, которые должны снова стать данными. Этот обратный процесс называется декапсуляция.

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

Пособие по архитектуре уровней в публичных цепях

Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, «железу» картинка понятна только в виде набора нулей и единиц, то есть бит.

Каждый уровень имеет свои PDU (Protocol Data Unit), представляемые в той форме, которая будет понятна на данном уровне и, возможно, на следующем до преобразования. Работа с чистыми данными происходит только на уровнях с пятого по седьмой.

Устройства физического уровня оперируют битами. Они передаются по кабелям (например, через оптоволокно) или без — например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее.

Когда два пользователя находятся в одной сети, состоящей только из двух устройств, — это идеальный случай. Но что если этих устройств больше?

Второй уровень решает проблему адресации при передаче информации. Канальный уровень получает биты и превращает их в кадры (frame, также «фреймы»). Задача здесь — сформировать кадры с адресом отправителя и получателя, после чего отправить их по сети.

У канального уровня есть два подуровня — это MAC и LLC.

MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей. Для упрощения мы указываем LLC на втором уровне модели, но, если быть точными, LLC нельзя отнести полностью ни к первому, ни ко второму уровню — он между.

На втором уровне OSI работают коммутаторы, их задача — передать сформированные кадры от одного устройства к другому, используя в качестве адресов только физические MAC-адреса.

На канальном уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса сопоставляются с 32-битными IP-адресами и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.

На третьем уровне появляется новое понятие — маршрутизация. Для этой задачи были созданы устройства третьего уровня — маршрутизаторы (их еще называют роутерами). Маршрутизаторы получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому с учетом всех потенциальных неполадок в сети.

Пособие по архитектуре уровней в публичных цепях

Все семь уровней модели OSI можно условно разделить на две группы:

  • Media layers (уровни среды),
  • Host layers (уровни хоста).

Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или мобильные устройства.

Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним. Его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие.

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

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

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

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

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

Датаграмма (datagram) — это тоже часть пакета, но ее нельзя путать с сегментом.

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

Первые четыре уровня — специализация сетевых инженеров. С последними тремя они не так часто сталкиваются, потому что пятым, шестым и седьмым занимаются разработчики.

Защищаем сервисы на уровнях L3, L4 бесплатно.

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

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

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

О задачах уровня представления вновь говорит его название. Шестой уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Шестой уровень также занимается представлением картинок (в JPEG, GIF и т.д.), а также видео-аудио (в MPEG, QuickTime). А помимо этого → шифрованием данных, когда при передаче их необходимо защитить.

Пособие по архитектуре уровней в публичных цепях

Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.

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

Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.

Первый недостаток — это неподходящее время. На разработку модели было потрачено неоправданно большое количество времени, но разработчики не уделили достаточное внимание существующим в то время стандартам.

В связи с этим модель обвиняют в том, что она не отражает действительность.

В таких утверждениях есть доля истины, ведь уже на момент появления OSI другие компании были больше готовы работать с получившей широкое распространение моделью TCP/IP.

Вторым недостатком называют плохую технологию. Как основной довод в пользу того, что OSI — это плохая технология, приводят распространенность стека TCP/IP. Протоколы OSI часто дублируют другу друга, функции распределены по уровням неравнозначно, а одни и те же задачи могут быть решены на разных уровнях. Даже изначальное описание архитектуры в распечатанном виде имеет толщину в один метр.

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

Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX.

Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США.

Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.

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

Пособие по архитектуре уровней в публичных цепях

В статье мы рассмотрели принципы построения сетевой модели OSI. На каждом из семи уровней модели выполняется своя задача. В действительности архитектура OSI сложнее, чем мы описали. Существуют и другие уровни, например, восьмой — так называют самого пользователя.

Читайте также:  Криптовалюта Avalanche: полный обзор

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

Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.

Зная архитектуру сети, гораздо проще ее строить и диагностировать. Как нельзя построить дом, не зная его архитектуры, так невозможно построить сеть, не зная модели OSI. При проектировании важно учитывать все.

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

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

Как построить Гугл. Или сети современных датацентров

Сказ о том, что такое сеть современного датацентра, был сначала абзацем во второй части АДСМ, потом выродился в небольшую, но отдельную статью-заметку. Потом я дал её почитать своим более опытным друзьям, и она начала обрастать всё более плотными мышцами. Потом оказалось, что мышцы растут не там, где это красиво, и пришлось её изрядно перекроить.

А потом появился абзац про ECMP, и он тоже начал разрастаться. И рос, и рос и рос. И вырос.

В общем, простите, меня пожалуйста.

А статья была опубликована на nag.ru.

  • Если сегодня вы решите построить ещё один Гугл, то выбор топологии сети предопределён — это будет сеть Клоза.
  • В этой статье я вместе с вами разберусь в эволюции подходов к строительству датацентров и причинах появления тех или иных решений.
  • Сеть в большой степени следует за требованиями сервисов, лишь иногда диктуя, как было бы правильно сделать.
  • Так, приложения затребовали широкую полосу и низкие задержки — и сети пришлось стать очень регулярной и плотной.
  • Но сети при этом сложно было оставаться L2, и в некоторых случая приложения учатся жить в мире маршрутизации.
  • Пособие по архитектуре уровней в публичных цепях Спойлер: • Clos ••• L3 ••• ECMP ••• BGP ••• Overlay ••• Single-chip •

Содержание

Если заглянуть в далёкое прошлое датацентры жили примерно в таких условиях:

  • Преобладающий North-South трафик от клиента к серверу и обратно.
  • L2 сеть в силу требования мобильности виртуальных машин без смены IP-адреса и высокой цены на L3-оборудование.
  • Любое сетевое оборудование, обладающее широкой функциональностью, стоило действительно немалых денег.

Поэтому традиционная сеть ДЦ была такой:

Трёхуровневая иерархическая сеть — 3-Tier

Пособие по архитектуре уровней в публичных цепях

Это классическая трёхуровневая архитектура сети, известная нам с СДСМ0: Access, Aggreggation/Distribution/Core. Так были построены сети операторов связи и предприятий, а впоследствие её же перенесли в датацентры, потому что только так и умели, да и оборудования другого не было.

  1. Чем дальше в ядро, тем толще линки.
  2. — 100 Мб/с к машинам, 1 Гб/с от коммутаторов доступа к коммутаторам агрегации.
  3. — 10 Гб/с (а в то время, возможно, LAG из нескольких гигабитных линков) к ядру сети.
  4. — Итд.
  5. Потому что весь трафик от серверов сливался в аплинки.

Наверху иерархии стояла пара God Boxes, концентрирующих на себе все сервисы и всю маршрутизацию. На них инженеры молились и старались не дышать.

  • Это были модульные шкафы, занимающие полстойки, а то и стойку, а то и кластера из нескольких стоек.
  • С этой топологией была пара проблем.
  • Если взять ситуацию, как на рисунке выше, то отказ любого линка сразу же приводит к выходу из строя части сети.
  • Фактически же строили сети всё-таки с резервированием, и на каждом уровне обычно стояло по паре устройств:

Пособие по архитектуре уровней в публичных цепях

  1. Да, это требовало богомерзкого STP, но это позволяло обеспечить хоть какую-то стабильность.
  2. Здесь выпадение линка или устройства приводило к двукратной деградации пропускной способности и, очевидно, работе без резерва.
  3. Кроме того, все сервисы при таком подходе сосредотачивались как раз на этих верхних устройствах
  4. Вывести их из эксплуатации, например, для обновления, означало также потерю половины пропускной способности сети, а то и вовсе полную недоступность сервисов из-за того что второе устройство настроено неправильно.

О, сколько раз на моей памяти инженер со спокойной душой выводил устройство из эксплуатации со словами «второе же есть» и ронял сеть, потому что на втором кто-то в своё время превентивно погасил интерфейс или положил BGP-сессию.

Расширение пропускной способности — это отдельная болезненная история:

  • Расширение LAG’ов,
  • Закупка линейных карт.
  • А если карты ставить больше некуда, то апгрейд железа, на ещё более мощные и большие ящики.

Итого:

  1. Классическая трёхуровневая сеть не может обеспечить лёгкое расширение пропускной способности.
  2. Она довольно плохо масштабируется: добавление нового модуля в ДЦ потребует снова расширения линков.
  3. Она не может обеспечить высокую степень резервирования — в L2-топологии использование избыточных линков затруднительно из-за «особенностей» MSTP. Соответственно часть линков просто простаивает. А при выпадении узла есть риск потерять не только пропускную способность, но и всю сеть на некоторое время.
  4. В общем, эксплуатировать и поддерживать классическую сеть проблематично.

Любопытно, что L2-топология, обычно используемая в датацентрах прежде, настолько избаловала разработчиков приложений и системных администраторов, что они долгое время не представляли своей жизни без L2. Здесь и кроются истоки TRILL, SPB, FabricPath и прочих технологий, так желающих облегчить жить Ops’ам.

И только в последние годы прослеживается устойчивая тенденция к L3 до стойки в датацентрах.

Однако было бы лукавством сказать, что L2 отживает своё. Зачастую он просто переместился на уровень абстракции выше — а именно в оверлей.

Тот же VXLAN благополучно растягивает L2 домен до треска. EVPN тоже умеет его сигнализировать.

Однако общая тенденция такова, что на физической сети, в андерлее, остаётся исключительно L3.

Север-Юг против Запада-Востока

Однако всё вышеперечисленное в некотором смысле мелочи, которые можно было бы решить. Один переход на L3 снял бы бо́льшую часть сложностей.

Проблема в том, что изменился мир.

Внезапно появились Big Data, Map Reduce, ML, гигантские базы данных, аналитика, контекстная реклама. А теперь и AI из пауэр-поинтов на нас поглядывает.

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

В такой сети преобладает вертикальное (North-South) направление. И иерархическая сеть такой спрос вполне удовлетворяла.

Пособие по архитектуре уровней в публичных цепях

Теперь в ДЦ преобладает горизонтальный (East-West) трафик между серверами.

И вот как это получается:

  1. Клиент запросил веб-страничку,
  2. Его запрос пришёл на балансировщик трафика,
  3. Балансировщик перенаправил его на один из фронтендов,
  4. Тот послал запрос на один бэкенд сервер, чтобы получить текстовый контент,
  5. На другой сервер, чтобы получить данные о пользователе: пол, возраст, предпочтения, последний поиск,
  6. На третий — проанализировать данные по локации,
  7. Второй и третий послали новые данные на четвёртый, чтобы пополнить информацию о пользователе в БД, чтобы ещё лучше знать какие отмычки для лифтовых дверей предпочитает среднестатистический житель Ленинского района города Новосибирска, пользующийся Android 9.1,
  8. На пятый — сформировать контекстную рекламу,
  9. Потом все разом начали отвечать фронтенду,
  10. Фронтенд отдал всю страницу обратно

Пособие по архитектуре уровней в публичных цепях

То есть бо́льшая часть событий произошла внутри сети сервис-провайдера.

При этом запрос-ответ внутри ДЦ может многократно превышать по размеру запрос-ответ пользователю. Добавим к этому репликации БД, внутренние хранилища, логи и всё становится понятно (кивните, если согласны).

Основы для криптоновичков: Что такое Layer 0, Layer 1 и Layer 2? — Gate.io Blog

24 November 11:44

简体中文 English Tiếng Việt Русский язык Português 日本語 عربي বাংলা

Пособие по архитектуре уровней в публичных цепях [TL; DR] 1. В архитектуре блокчейна есть шесть уровней: уровень данных, сетевой уровень, консенсусный уровень, активирующий уровень, контрактный уровень и прикладной уровень. 2. Уровни данных и сети находятся на самом нижним уровне всей системы и являются частью базовой архитектуры блокчейна. 3. Основываясь на фундаментальной архитектуре, уровни консенсуса, активации, контракта и прикладной уровень работают вместе, образуя уровень протокола блокчейна. 4. Уровень 0 (Layer 0), также известный как уровень передачи данных, является нижним уровнем модели OSI и в основном включает интеграцию между блокчейном и традиционными сетями. 5. Уровень 1 (Layer 1), или масштабирование внутри сети — это масштабирование, реализованное поверх базового протокола блокчейна. 6. Уровень 2 (Layer 2) также известен как масштабирование вне сети, при котором базовые протоколы и основные правила блокчейна не будут изменены, а скорость обработки транзакций будет увеличиваться за счёт каналов состояния, сайдчейнов и других решений. Масштабируемость и Уровень 0/1/2 — это термины, которые часто упоминаются в новостях о криптовалюте. Особенно сейчас, когда Ethereum активно стремится к большей масштабируемости, Layer 2 является одной из самых горячих тем. Итак, что такое Уровень 0, Уровень 1 и Уровень 2 в блокчейне? И каковы их функции и применения?

Давайте начнем с шести уровней технологии блокчейн

В январе 2009 года Сатоши Накамото добыл первый блок Bitcoin на сервере, расположенном в Хельсинки. На данный момент Bitcoin превратился в огромную систему с десятками тысяч нодов по всему миру и общей рыночной капитализацией более $1 триллиона. Он решил проблему представления ценности в цифровом мире, а также продвинул вперёд технологию блокчейн.

Если тщательно проанализировать структуру системы Bitcoin, то её можно разделить на пять уровней в зависимости от функций: уровень данных, сетевой уровень, консенсусный уровень, активирующий уровень и прикладной уровень.

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

Уровни данных и сети находятся на самом нижним уровне всей системы и являются частью базовой архитектуры блокчейна. Уровень данных действует как структура данных блокчейна (например, дерево Меркла) и состоит из двух элементов: указателей и связанного списка. Указатели — это переменные, которые относятся к положению другой переменной, а связанный список — это список связанных блоков с данными и указателями на предыдущий блок. Более того, уровень данных включает в себя алгоритм хеширования и асимметричное шифрование, которое используется для обеспечения защиты от несанкционированного доступа к блокчейну. Этот уровень также можно рассматривать как распределённую и устойчивую к несанкционированному доступу базу данных, которую должны поддерживать все ноды системы, и которая ведёт к сетевому уровню блокчейна. Сетевой уровень — это огромная сеть P2P, которая включает в себя все ноды блокчейна. Как только нод создает новый блок, он передает информацию нескольким ближайшим нодам через механизм передачи. После того, как эти ноды аутентифицировали блок, они передадут данные другим нодам. В конце концов, как только большинство нодов в системе аутентифицируют блок, он официально подключается к блокчейну Основываясь на фундаментальной архитектуре, уровень консенсуса, уровень активации, уровень контракта и уровень приложения работают вместе, образуя уровень протокола блокчейна.

Читайте также:  Что делать в кризис: вредные советы

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

На данный момент общими механизмами консенсуса являются Proof of Work (POW) от Bitcoin, Proof of Stake (POS) от Ethereum и Delegated Proof of Stake (DPoS) от EOS. Как одна из основных технологий блокчейна, механизм консенсуса играет важную роль в безопасности и эффективности работы сетей.

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

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

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

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

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

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

При этом Bitcoin также выполняет свою функцию электронных денег.

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

Уровень приложений — это самый верхний уровень системы блокчейн и он содержит различные сценарии использования системы. Прикладной уровень блокчейна Bitcoin состоит из системы электронных денег с полным набором функций выдачи, передачи и буккипинга. А прикладной уровень программируемого блокчейна, как Ethereum, состоит из множества расширенных функций и DApps.

Пособие по архитектуре уровней в публичных цепях Layer 0, Layer 1 and Layer 2 Шесть уровней системы блокчейн структурно неразделимы и совместно реализуют функции блокчейна. Возвращаясь к масштабируемости, упомянутой в начале этой статьи, отрасль обычно ссылается на эталонную модель взаимодействия открытых систем (OSI) коммуникаций и повторно делит шесть уровней на три: Уровень 0, Уровень 1 и Уровень 2. Уровень 0, также известный как уровень передачи данных, является нижним уровнем модели OSI и в основном включает интеграцию между блокчейном и традиционными сетями. Решения масштабирования Уровня 0 — это те, которые не изменяют структуру блокчейна и сохраняют его исходные правила экосистемы для повышения производительности. Решение Уровня 0 очень универсально, поскольку оно не влияет на сам блокчейн, а также совместимо с решениями масштабирования Уровня 1 и Уровня 2. Они работают вместе, чтобы увеличить производительность сети блокчейнов. По-прежнему существует множество проблем нуждающихся в оптимизации, которые влияют на производительность базовых сетевых протоколов. Существующие технологии масштабируемости Уровня 0 включают BDN (распределительную сеть блокчейн), QUIC и UDP. Polkadot часто называют блокчейном Уровня 0, поскольку его основная сеть действует как цепочка ретрансляции и служит только для обеспечения безопасности и взаимодействия между основными парачейнами. И помимо Polkadot, некоторые сети (например, Moonbeam) могут подключаться через слоты к блокчейнам Уровня 1, таким как Ethereum.

В логической архитектуре блокчейна уровень 1 соответствует уровню данных, сетевому уровню, уровню консенсуса и уровню активации. Большинство крипто-монет имеют независимую и уникальную публичную цепь, а именно Уровень 1, на котором выполняются все транзакции.

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

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

Обновление до DPoS также позволяет повысить производительность за счёт некоторой степени децентрализации и безопасности. Однако эффективность масштабирования Уровня 1 зависит от физических и экономических факторов.

Узнать больше о принципах и ограничениях масштабирования Уровня 1 можно в статье:

Почему Виталик Бутерин против Dogecoin? Увеличит ли масштабирование популярность токена?

Уровень 2 соответствует уровню контрактов и уровню приложений блокчейна. Это масштабирование вне сети, при котором базовые протоколы и основные правила блокчейна не будут изменены, а скорость обработки транзакций будет увеличиваться за счёт каналов состояния, сайдчейнов и других решений. Уровень 2 — это решение проблемы производительности, которое масштабируется за пределами основной цепочки. Он дополняет Уровень 1, то есть Уровень 2 — это инфраструктура, построенная на основе базовой цепочки блоков, чтобы обеспечить лучшую масштабируемость, доступность и конфиденциальность блокчейна. По сравнению с Уровнем 1, который обеспечивает безопасность и децентрализацию, Уровень 2 обеспечивает максимальную эффективность и производительность. Распространёнными типами решений Уровня 2 являются сайдчейн, плазма, каналы состояния, ролап и т. д. Чтобы узнать больше о решениях Уровня 2 на Ethereum, перейдите по ссылке:

Ethereum Layer 2: апгрейд масштабируемости

Заключение

С момента как Bitcoin и Ethereum стали набирать обороты, проблема недостаточной производительности витает над этими хорошо известными публичными цепями. Как взломать “невозможный треугольник” и достичь оптимального решения между масштабируемостью, децентрализацией и безопасностью считается одной из наиболее серьёзных проблем в области блокчейнов. Это “Святой Грааль” блокчейна.

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

исследователь Gate.io Ashley H.

*Эта статья содержит только точку зрения исследователей и не является руководством по инвестированию.

*Все права на текст данной статьи принадлежат Gate.io. Репост данной статьи будет разрешен в случае указания Gate.io как источник. В противном случае будет преследоваться юридическая ответственность в связи с нарушением авторских прав.

Сетевая Модель OSI — разберем каждый из 7 уровней

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

https://www.youtube.com/watch?v=RCWsJOyK8dw\u0026pp=YAHIAQHwAQGiBhUB1dn6O1g3qjPECf9Hhpg6kI0MCpY%3D

Аббревиатура OSI Open Systems Interconnection, означает модель взаимодействия открытых систем. Для решения задачи совместимости разнообразных систем, организация по стандартизации выпустила в 1983 г. эталон модели OSI. Она описывает структуру открытых систем, их требования, и их взаимодействие.

Open system – это система, составлена согласно открытым спецификациям, которые доступны каждому, а также соответствуют определенным стандартам. Например, ОС Windows считается open system, потому что она создана на основе открытых спецификаций, которые описывают деятельность интернета, но начальные коды системы закрыты.

Достоинство в том, что есть возможность построить сеть из устройств от разных изготовителей, если нужно, заменить ее отдельные компоненты. Можно без проблем, объединить несколько сетей в одну целую.

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

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

Уровни модели OSI

Базовая структура представляет собой систему, состоящую из 7 уровней.

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

Нижние ступени системы с первой по третью, управляют физической доставкой данных по сети, их называют media layers.

Остальные, уровни способствуют обеспечению точной доставки данных между компьютерами в сети, их называют хост-машины.

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

Физический уровень (PHYSICAL)

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

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

Читайте также:  Прогноз инфляции на 2021 год Минэкономразвития

Например, есть некий канал связи (КС), отправляемое сообщение, отправитель и соответственно получатель. У КС есть свои характеристики:

  • Пропускная способность, измеряемая, в бит/c, то есть, сколько данных мы можем передать за единицу времени.
  • Задержка, сколько времени пройдет, прежде чем сообщение дойдет от отправителя к получателю.
  • Количество ошибок, если ошибки возникают часто, то протоколы должны обеспечивать исправление ошибок. А если редко, то их можно исправлять на вышестоящих уровнях, на пример на транспортном.

В качестве канала передачи информации используются:

  • Кабели: телефонный, коаксиал, витая пара, оптический.
  • Беспроводные технологии, такие как, радиоволны, инфракрасное излучение.
  • Спутниковые КС
  • Беспроводная оптика или лазеры, применяются редко, из-за низкой скорости и большого количества помех.

Очень редко возникают ошибки в оптических кабелях, так как повлиять на распространение света сложно. В медных кабелях, ошибки возникают, но достаточно редко, а в беспроводной среде, ошибки возникают очень часто.

Канальный уровень (DATA LINK)

Следующая станция, которую посетит информация, напомнит таможню. А именно IP-адрес будет сравнен на совместимость со средой передачи. Здесь также выявляются и исправляются недочеты системы. Для удобства дальнейших операций, биты группируются в кадры – frame.

Цель канального уровня – передача сообщений по КС – кадров.

Задачи data link

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

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

https://www.youtube.com/watch?v=BkBMsSDnwX8\u0026pp=YAHIAQHwAQGiBhUB1dn6O48AUHx6sAn4MP8oNwXb3Gk%3D

Исправление ошибок, требует применение специальных кодов, которые добавляют избыточную информацию в передаваемые данные.

Повторная отправка данных, применяется совместно с методом обнаружения ошибок. Если в кадре обнаружена ошибка, он отбрасывается, и отправитель направляет этот кадр заново.

Обнаружить и исправить ошибки

Практика показала эффективность следующих методов, если используется надежная среда для передачи данных (проводная) и ошибки возникают редко, то исправлять их лучше на верхнем уровне. Если в КС ошибки происходят часто, то ошибки необходимо исправлять сразу на канальном уровне.

Функции данного этапа в компьютере осуществляют сетевые адаптеры и драйверы, подходящие к ним. Через них и происходит непосредственный обмен данными.

Некоторые протоколы, используемые на канальном уровне, это HDLC, Ethernet применяющая шинную топологию и другие.

Сетевой уровень (NETWORK)

Этап напоминает процесс распределения информации. К примеру, все пользователя делиться на группы, а пакеты данных расходятся в соответствии с IP адресами, состоящими из 32 битов. Именно благодаря работе маршрутизаторов на этой инстанции, устраняются все различия сетей. Это процесс так называемой логической маршрутизации.

Основная задача состоит в создании составных сетей построенных на основе сетевых технологий разного канального уровня: Ethernet, Wi-Fi, MPLS. Сетевой уровень — это «основа» интернета.

Назначение сетевого уровня

Мы можем передавать информацию от одного компьютера к другому через Ethernet и Wi-Fi, тогда зачем нужен еще один уровень? У технологии канального уровня (КУ) есть две проблемы, во-первых, технологии КУ отличаются друг от друга, во-вторых, есть ограничение по масштабированию.

Какие могут быть различия в технологиях канального уровня?

Различный уровень предоставляемого сервиса, некоторые уровни гарантируют доставку и необходимый порядок следования сообщений. Wi-Fi просто гарантирует доставку сообщения, а Ethernet нет.

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

Может различаться максимальный размер кадра (MTU), например, в изернете 1500, а в вай-фай 2300. Как можно согласовывать такие различия на сетевом уровне?

Можно предоставлять разный тип сервиса, например, кадры из Вай-Фай принимаются с отправкой подтверждения, а в Ethernet отправляются без подтверждения.

Для того чтобы согласовать разницу адресаций, на сетевом уровне, вводятся глобальные адреса, которые не зависят от адресов конкретных технологий (ARP для TCP/IP) канального уровня.

Чтобы передавать данные через составные сети, у которых разный размер передаваемого кадра, используется фрагментация. Рассмотрим пример, первый компьютер передает данные второму, через 4 промежуточные сети, объединенные 3-ми маршрутизаторами. У каждой сети разный MTU.

Компьютер сформировал первый кадр и передал его на маршрутизатор, маршрутизатор проанализировал размер кадра, и понял, что передать полностью его через сеть 2 нельзя, потому что mtu2 у него слишком мал.

Маршрутизатор разбивает данные на 3 части и передает их отдельно.

Следующий маршрутизатор объединяет данные в один, большой пакет, определяет его размер и сравнивает с mtu сети 3. И видит, что один пакет MTU3 целиком передать нельзя (MTU3 больше, чем MTU2, но меньше, чем MTU1) и маршрутизатор разбивает пакет на 2 части и отправляет следующему маршрутизатору.

Последний маршрутизатор объединяет пакет и отправляет получателю целиком. Фрагментация занимается объединением сетей и это скрыто от отправителя и получателя.

Как решается проблема масштабируемости на сетевом уровне?

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

Задачи сетевого уровня:

  • Объединить сети, построенные разными технологиями;
  • Обеспечить качественное обслуживание;
  • Маршрутизация, поиск пути от отправителя информации к получателю, через промежуточные узлы сети.

Маршрутизация

Поиск пути отправки пакета между сетями через транзитные узлы – маршрутизаторы. Рассмотрим пример выполнения маршрутизации. Схема состоит из 5 маршрутизаторов и двух компьютеров. Как могут передаваться данные от одного компьютера к другому?

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

Транспортный уровень (TRANSPORT)

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

Задачи транспортного уровня

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

Модель взаимодействия open system

Хосты — это устройства где функционируют полезные пользовательские программы и сетевое оборудование, например, коммутаторы, маршрутизаторы.

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

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

Для адресации на транспортном уровне используются порты, это числа от 1 до 65 535. Порты записываются вот так: 192.168.1.3:80 (IP адрес и порт).

Особенности транспортного уровня

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

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

Сеансовый уровень (SESSION)

Сеансовый (сессия) – это набор сетевых взаимодействий, целенаправленных на решение единственной задачи.

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

html), стилевой файл (.css), который описывает элементы оформления веб страницы, загрузка изображений.

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

Сеансовый определяет, какая будет передача информации между 2-мя прикладными процессами: полудуплексной (по очередная передача и прием данных); или дуплексной (одновременная передача и прием информации).

Уровень представления данных (PRESENTATION)

Функции – представить данные, передаваемых между прикладными процессами, в необходимой форме.

Для описания этого уровня, используют автоматический перевод в сети с различных языков. Например, Вы набираете номер телефона, говорите на русском, сеть автоматом переводит на французский язык, передает информацию в Испанию, там человек поднимает трубку и слышит Ваш вопрос на испанском языке. Это задача, пока не реализована.

Для защиты отправляемых данных по сети используется шифрование: secure sockets layer, а также transport layer security, эти технологии позволяют шифровать данные которые отправляются по сети.

Протоколы прикладного уровня используют TSL/SSL и их можно отличить по букве s в конце. Например, https, ftps и другие. Если в браузере Вы видите, что используется протокол https и замок, это значит, что производится защита данных по сети при помощи шифрования.

Прикладной уровень (APPLICATION)

Необходим для взаимодействия между собой сетевых приложений, таких как web, e-mail, skype и тд.

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

Функции application:

  • Решение задач, отправка файлов; управление заданиями и системой;
  • Определение пользователей по их логину, e-mail адресу, паролям, электронным подписям;
  • Запросы на соединение с иными прикладными процессами;

Видео о всех уровнях модели OSI

Заключение

Анализ проблем с помощью сетевых моделей OSI поможет быстро найти и устранить их.

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

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

Ссылка на основную публикацию
Adblock
detector