Пакет передаваемый по протоколу тср это фрейм кадр

Обновлено: 28.03.2024

Два слова, обычно используемые в сетевом мире - пакеты и фреймы.

Может ли кто-нибудь, пожалуйста, дать подробную разницу между этими двумя словами?

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

Пакет-это PDU(Protocol Data Unit) на уровне 3 (network layer - ip packet) модели networking OSI.

Фрейм-это PDU уровня 2 (канал передачи данных) модели OSI.

Возможный Дубликат : В чем разница между String.Empty и “” В чем разница между кодом и тем, где он применим?? string mystr = ; string mystr1 = String.Empty();

Возможные Дубликаты : Разница между == и === в JavaScript Javascript === против == : имеет ли значение, какой оператор “equal” я использую? В чем разница между == и === ? Также между !== и !== ?

Сегменты / дейтаграммы -это единицы данных на транспортном уровне .

В случае Интернета термин Сегмент обычно относится к TCP, в то время как Дейтаграмма обычно относится к UDP. Однако дейтаграмму также можно использовать в более общем смысле и ссылаться на другие слои ( ссылка ):

Дейтаграмма

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

Пакеты -это единицы данных на сетевом уровне (IP в случае Интернета)

Кадры -это единицы данных на канальном уровне (например, Wifi, Bluetooth, Ethernet и т. Д.).

enter image description here

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

Например, в протоколе Ethernet на физическом уровне (уровень 1) единица данных называется "пакетом Ethernet", который имеет фрейм Ethernet (уровень 2) в качестве полезной нагрузки. Но единица данных сетевого уровня (уровень 3) также называется "packet".

Кадр также является единицей передачи данных. В компьютерных сетях этот термин используется только в контексте уровня канала передачи данных (уровень 2).

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

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

На самом деле, когда мы говорим о слоях эталонных моделей (или стеках протоколов), обычно используется пять слов: data , segment , packet , frame и bit . И термин PDU ( Protocol Data Unit ) используется для обозначения пакетов в разных слоях модели OSI. Таким образом, PDU дает абстрактное представление о пакетах данных. PDU имеет разное значение в разных слоях, но все же мы можем использовать его как общий термин.

Когда мы подходим к вашему вопросу, мы можем назвать их все , используя общий термин PDU , но если вы хотите назвать их конкретно на данном уровне:

  • Данные: PDU уровней приложений, презентаций и сеансов
  • Сегмент: PDU транспортного уровня
  • Пакет: PDU сетевого уровня
  • Кадр: PDU уровня канала передачи данных
  • Бит: PDU физического уровня

a picture is worth a thousand words

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

Возможные Дубликаты : Разница между использованием двойной кавычки и кавычек в python Одинарные кавычки против двойных кавычек в Python Итак, теперь я изучаю python и создаю функцию. В чем разница между использованием ' и '? Ниже я создам пример функции, чтобы проиллюстрировать свой вопрос. def.

Возможный Дубликат : Oracle <> , != , ^= операторы в sql, в чем разница между <> и != , мы можем использовать оба для NOt Equal to . есть ли между ними какая-то разница? экс. select * from student where no != 2; & select * from student where no <> 2; есть ли какое-то.

Рассмотрим TCP над ATM. ATM использует 48 байтовых кадров, но очевидно, что пакеты TCP могут быть больше этого. Кадр-это фрагмент данных, передаваемых как единое целое по каналу передачи данных (Ethernet, ATM). Пакет-это фрагмент данных, отправленный как единое целое по слою над ним (IP). Если канал передачи данных создан специально для IP, как Ethernet и WiFi, они будут иметь одинаковый размер, а пакеты будут соответствовать кадрам.

1) В телекоммуникациях фрейм-это данные, которые передаются между точками сети как единое целое с адресацией и необходимой информацией управления протоколом. Кадр обычно передается последовательно бит за битом и содержит поле заголовка и поле trailer, которое "frame" содержит данные. (Некоторые контрольные кадры не содержат данных.)

2) В мультиплексировании с временным разделением (TDM) кадр представляет собой полный цикл событий в течение периода с временным разделением.

3) При записи и воспроизведении фильмов и видео кадр представляет собой одно изображение в последовательности изображений, которые записываются и воспроизводятся.

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

5) В приложениях искусственного интеллекта (AI) фрейм-это набор данных с информацией о конкретном объекте, процессе или изображении. Примером может служить система визуального распознавания радужной оболочки глаза, используемая для идентификации пользователей некоторых банковских банкоматов. Эта система сравнивает фрейм данных для потенциального пользователя с фреймами в своей базе данных авторизованных пользователей.

Похожие вопросы:

Возможный Дубликат : Есть ли какая-то разница между “foo None” и “foo == None”? Довольно простой вопрос. В чем разница между: if a.b is 'something': и if a.b == 'something'.

Я хочу прочитать количество пакетов TX в переменную с bash. На shell я могу извлечь его с помощью $ ifconfig eth0| grep TX packets | awk '' | cut -d : -f2 , поэтому я попытался записать.

Возможный Дубликат : C-разница между “char var[]” и “char *var”? Разница между char a[]=“string”; char *p=“string”; кто-нибудь объяснит, в чем именно.

Возможный Дубликат : В чем разница между String.Empty и “” В чем разница между кодом и тем, где он применим?? string mystr = ; string mystr1 = String.Empty();

Возможные Дубликаты : Разница между == и === в JavaScript Javascript === против == : имеет ли значение, какой оператор “equal” я использую? В чем разница между == и === ? Также между !==.

Возможные Дубликаты : Разница между использованием двойной кавычки и кавычек в python Одинарные кавычки против двойных кавычек в Python Итак, теперь я изучаю python и создаю функцию. В чем разница.

Возможный Дубликат : Oracle <> , != , ^= операторы в sql, в чем разница между <> и != , мы можем использовать оба для NOt Equal to . есть ли между ними какая-то разница? экс. select *.

Это может быть вопрос новичка, но я много искал и пробовал. В чем разница между window.onload и $window.load ? Есть отличные ответы о разнице между window.onload и document.ready и document.onload.

В принципе, в чем разница между String() и var x = Test x = String() x = Будет ли какая-то разница между этими двумя строками выше?

Технология, которая в последствии получила название Frame Relay (Коммутация кадров), первоначально была разработана в начале 1980-х для использования в сетях ISDN. Технология Frame Relay обеспечивает информационное взаимодействие на физическом и канальном уровне OSI и была предназначена динамического разделения ресурсов физического канала между пользовательскими процессами передачи данных. Использование технологии FR обеспечивало ряд преимуществ по сравнению с технологиями X.25 и ISDN, которые использовались для обеспечения доступа к распределенным вычислительным ресурсам.В таблице приведены результаты сравнения вышеописанных технологий по некоторым параметрам с технологией FR.

Параметр ISDN X.25 FR
Выделение фиксированной полосы под вызов +
Виртуальные каналы ++
Высокая степень готовности ++
Малая величина задержки ++
Высокая эффективность использования канала +
Возможность масштабирования ++
Низкая стоимость использования канала +

Принципы построения и компоненты сетей Frame Relay

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

Компоненты Frame Relay

  • Устройства DTE (Data Terminal Equipment)
  • Устройства DCE (Data Circuit-Terminating Equipment)
  • Устройства FRAD (Frame Relay Access Device)

Также как и в сети X.25, основу Frame Relay составляют виртуальные каналы (virtual circuits). Виртуальный канал в сети Frame Relay представляет собой логическое соединение которое создается между двумя устройствами DTE в сети Frame Relay и используется для передачи данных. В сети Frame Relay используется два типа виртуальных каналов — коммутируемые (SVC) и постоянные (PVC).

Коммутируемые каналы

  • Установление вызова (Call Setup)
    На этом этапе создается виртуальное соединение между двумя DTE
  • Передача данных(Data Transfer)
    Фаза непосредственной передачи данных
  • Ожидание(Idle)
    Виртуальное соединение ещё существует, однако передача данных через него уже не производится. В том случае, если период ожидания превысит установленное значение тайм-аута, соединение может быть завершено автоматически.
  • Завершение вызова(Call Termination)
    На этом этапе выполняются операции, которые необходимы для завершения соединения

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

Постоянные каналы

  • Передача данных
    Фаза непосредственной передачи данных
  • Ожидание
    Виртуальное соединение существует, однако передача данных через него не производится. В отличие от SVC, постоянный канал PVC не может быть автоматически разорван в том случае, если он не используется для передачи данных.

Идентификаторы виртуальных каналов

Для обозначения виртуальных каналов в сети Frame Relay используется аппарат DLCI (Data-Link Connection Identifier) . По своему назначению в сетях Frame Relay идентификатор DLCI совпадает со назначением номера логического канала в сетях X.25. DLCI определяет номер виртуального порта для процесса пользователя. Устройство FRAD LAN1 использует виртуальный канал DLCI 101 для организации обмена данными с сетью LAN 2 и виртуальный канал DLCI 102 для организации обмена данными с сетью LAN 3. Для организации обмена данными с сетью LAN 1 устройство FRAD LAN 2 использует виртуальный канал DLCI 200. Обычно идентификатор DLCI имеет только локальное значение и не является уникальным в пределах сети. Конкретные значения DLCI для каждого пользователя определяются провайдером сервиса Frame Relay.

Структура кадра Frame Relay

Кадр протокола Frame Relay содержит минимально необходимое количество служебных полей.

Флаг Заголовок Кадра Полезная нагрузка FCS Флаг
1 байт2 байта 2 байта1 байт

Поле FLAG

Данное поле выполняет функцию обрамления кадра. Принцип формирования поля FLAG в кадре Frame Relay соответствует принципам формирования поля FLAG в кадре LAPB.

Поле HEADER

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

Структура первого байта поля заголовка:

Структура второго байта поля заголовка:

поле DLCI FECN BECN DE EA
4 бит 1 бит 1 бит 1 бит 1 бит

Поле DLCI

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

Биты FECN и BECN

Бит DE

Бит DE (Discard Eligibility) используется для обеспечения функционирования второго механизма управления потоком данных в сетях Frame Relay. Описание этого механизма будет приведено ниже. Битом DE помечаются кадры, которые при возникновении ситуации перегрузки на коммутаторе FR должны быть уничтожены в первую очередь.

Поле полезной нагрузки

Поле полезной нагрузки в кадре Frame Relay имеет переменную длину и предназначено для переноса блоков данных протоколов верхних уровней.

Поле FCS

Содержит 16-ти разрядную контрольную сумму всех полей кадра Frame Relay за исключением поля "флаг".

Параметры качества обслуживания Frame Relay

  1. согласованное значение информационной скорости (Committed Information Rate - CIR)
  2. гарантируемый объем передаваемых данных (committed burst size Bc)
  3. не гарантируемый объем передаваемых данных (excess burst size Be)

Согласованная информационная скорость

Значение CIR определяется для каждого PVC пользователя. Согласованная информационная скорость — это максимальная скорость, с которой пользователь может обеспечивать информационный обмен по отдельному каналу PVC. Сумма значений CIR всех PVC пользователя не должна превышать 75-80 процентов пропускной способности физического канала провайдера.

Гарантированный объем и интервал неравномерности трафика

Данный параметр услуги предназначен для определения временного интервала допустимой неравномерности трафика пользователя Tc в соответствии с формулой:

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

Не гарантированный объем передаваемых данных

Значение Be определяет величину предельного увеличения трафика пользователя для конкретного виртуального канала PVC. Кадрам пользователя, которые образовали добавку Be к согласованному значению Bc, присваивается признак DE, что означает их удаление при возникновении перегрузок в сети.

Сигнализация и управление вызовами в сетях Frame Relay

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

Cпецификация LMI

Содержание

Стек протоколов сети Frame Relay


  • Идентификатор линии связи данных DLCI (Data Link Connection Identifier)
  • Поля DE, FEGN и BEСN (по одному биту на каждый параметр)

Поддержка качества обслуживания

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

  1. CIR (Committed Information Rate) – согласованная информационная скорость, с которой сеть будет передавать данные пользователя.
  2. Bc (Committed Burst Size) – согласованный объем информации, то есть максимальное количество бит, которое сеть будет передавать от этого пользователя за интервал времени Т.
  3. Ве (Excess Burst Size) – дополнительный объем информации, то есть максимальное количество бит, которое сеть будет пытаться передать сверх установленного значения Bc за интервал времени Т.

Параметры QoS, связанные с задержками и вариациями задержек, стандартами Frame Relay, не оговариваются, так как изначально технология разрабатывалась только для передачи трафика данных, который не чувствителен к задержкам. Интервал времени Т является согласованным интервалом измерения скорости передачи информации и вычисляется T = B c C I R >> . Отсюда видно, что скорость CIR сеть должна гарантировано поддерживать при обычных условиях ( C I R = B c T >> ).

Например, если Bc=128 кбит, а CIR=64кбит/с, то Т=2 сек. Для сети передачи данных характерен пульсирующий характер, который выражается отношением максимального потока данных к среднему за определенное время. Эта величина может достигать 100:1.

Можно задать значения CIR и Т, тогда производной величиной станет величина всплеска трафика Вс. Основным параметром, по которому абонент и сеть заключают соглашение при установлении виртуального соединения, является согласованная скорость передачи данных. Для постоянных виртуальных каналов ПВК это соглашение является частью контракта на пользование услугами сети. При установлении коммутируемого виртуального канала соглашение об обслуживании заключается автоматически с помощью протокола Q.931 – требуемые параметры CIR, Bc и Be передаются в пакете запроса на установление соединения. Так как скорость передачи данных измеряется на каком-то интервале времени, то интервал T и является таким контрольным интервалом, на котором проверяются условия соглашения. В общем случае пользователь не должен за этот интервал передать в сеть данные со средней скоростью, превосходящей CIR. Если же он нарушает соглашение, то сеть не только не гарантирует доставку кадра, но помечает этот кадр признаком DE (Discard Eligibility), равным 1, то есть как кадр, подлежащий удалению. Однако кадры, отмеченные таким признаком, удаляются из сети только в том случае, если коммутаторы сети испытывают перегрузки. Если же перегрузок нет, то кадры с признаком DE=1 доставляются адресату. Такое щадящее поведение соответствует случаю, когда общее количество данных, переданных пользователем в сеть за период T, не превышает объема Bc+Be. Если же этот порог превышен, то кадр немедленно удаляется из сети. Рисунок 2 иллюстрирует случай, когда за интервал времени T в сеть по виртуальному каналу поступило 5 кадров. Средняя скорость поступления информации в сеть составила на этом интервале R бит/с и она оказалась выше CIR. Кадры F1,F2 и F3 доставили в сеть данные, суммарный объем которых не превысил порог Вс, поэтому эти кадры ушли дальше транзитом с признаком DE=0. Данные кадра F4, прибавленные к данным кадров F1,F2 и F3, уже превысили порог Bc, но еще не превысили порога Bc+Be, поэтому кадр F4 также ушел дальше, но уже с признаком DE=1. Он подлежит удалению только при перегрузке. Данные кадра F5, прибавленные к данным предыдущих кадров, превысили порог Bc+Be, поэтому этот кадр удаляется из сети, даже при отсутствии перегрузки.


В технологии Frame Relay определен еще и дополнительный (необязательный) механизм управления кадрами. Это механизм оповещения конечных пользователей о том, что в коммутаторах сети возникли перегрузки (переполнение необработанными кадрами). Бит FECN (Forward Explicit Congestion Bit) кадра извещает об этом оконечное устройство принимающей стороны. На основании значения этого бита принимающая сторона должна с помощью протоколов более высоких уровней известить передающую сторону о том, что та должна снизить интенсивность отправки пакетов в сеть. Бит BECN (Backward Explicit Congestion Bit) извещает передающую сторону о перегрузке и является рекомендацией немедленно снизить темп передачи. В этом случае сетевое устройство (узел коммутации), возле которого возникла перегрузка, устанавливает в кадре бит BECN, а затем отправляет такой кадр узлам коммутации, которые стали причиной перегрузки. Эти узлы коммутации снижают поток кадров, поступающих в место перегрузки. Бит BECN обычно отрабатывается на уровне устройств доступа к сети. Frame Relay не требует от устройств, получивших кадры с установленными битами FECN и BECN, немедленного прекращения передачи кадров в данном направлении, как того требуют кадры RNR сетей X.25. Эти биты должны служить указанием снижения темпа передачи пакетов. Так как регулирование потока и принимающей и передающей сторонами инициируется в разных протоколах по-разному, то разработчики протоколов Frame Relay учли оба направления снабжения предупреждающей информацией о перегрузке в сети. В общем случае биты FECN и BECN могут игнорироваться. Но обычно устройства доступа к сети FRAD (Frame Relay Access Device) отрабатывают, по крайней мере, признак BECN.

Типы виртуальных каналов в сети FR

Так же, как и в сети X.25, сеть FR поддерживает как постоянные виртуальные каналы ПВК (PVC), так и коммутируемые КВК (SVC). В таблице 1 приведены области предпочтительности каналов PVC и SVC. Как видно из таблицы выбор зависит от параметров трафика (интенсивность потоков и модель потоков) и топологии сети (уровня связности).



Установление коммутируемого виртуального канала


Опишем процесс установления КВК.

Виртуальная частная сеть на основе сети Frame Relay


Первая VPN А пользователей центрального офиса А1 и двух его филиалов – А2 и А3. FR предоставляет виртуальные каналы между главным офисом и филиалами с номерами идентификаторов DLCI =370, 402, 401 (созданных в оконечных коммутаторах FR с соответствующими офисами А1, А2, А3). Аналогично вторая VPN В включает пользователей центрального офиса В2 и двух его филиалов – В2 и В3. FR предоставляет виртуальные каналы между главным офисом и филиалами с номерами идентификаторов DLCI =630, 231, 161 (созданных в оконечных коммутаторах FR с соответствующими офисами В1, В2, В3). Пользователи каждой VPN получают по виртуальным каналам доступ только к пользователям своей VPN.

Стандарт ITU-T G.1000 (SLA)

Одной из сложных задач по обеспечению гарантированного обслуживания SLA является выбор характеристик качества обслуживания и их параметров. Для решения этой задачи при заключении соглашения SLA в соответствии с рекомендацией ITU-T G.1000 [1] [2] предлагается производить опрос пользователей с последующей статистической обработкой мнений. Эта рекомендация содержит таблицу в виде матрицы (рис. 7) для определения различных компонентов качества обслуживания.


Ниже приведено краткое содержание всех наименований матрицы по вертикали и горизонтали.

По вертикали.

8.Передача информации: все мероприятия, начиная с момента установления соединения и до момента разрыва соединения любой из сторон. 9.Разрыв соединения: все мероприятия, связанные с запросом на разрыв установленного соединения и до момента восстановления системы для последующего использования. 10.Денежные расчеты: все мероприятия, связанные с оплатой и расчетами за оказанные пользователю услуги. 11.Управление сетью/службой со стороны пользователя: все мероприятия, связанные с отслеживанием пользователем предварительно согласованных изменений в услугах.

По горизонтали.

  1. Скорость: быстрота с которой исполняются функции услуг, например, скорость, с которой услуга предоставляются клиенту – готовность.
  2. Точность: четкость и полнота исполнения функции услуг по отношению к эталонному уровню.
  3. Доступность: четкость и полнота, с которой в момент запроса может быть установлен доступ пользователя к функциям услуги.
  4. Надежность: вероятность того, что функция услуг будет исполняться в рамках установленных ограничений по скорости, точность и доступности в течение одного года.
  5. Безопасность: конфиденциальность, в соответствии с которой поставщик услуг будет выполнять функции услуг в соответствии с контрактом.
  6. Простота: легкость применения функций услуг (высокое качество обслуживания).
  7. Гибкость: возможность предоставления пользователям функций услуг по особым запросам.

Соглашение об уровне обслуживания сети Frame Relay

Коэффициент доставки (вероятность потери) кадров

В условиях перегрузки в сети Frame Relay пакеты могут удаляться, поэтому в соглашении SLA оговариваются гарантии их доставки. Соответствующий параметр соглашения называется вероятность потерь кадров/пакетов (FDR – Frame/packet Delivery Ratio). Надо отметить, что провайдеры, как правило, различают пакеты, отправленные с соблюдением заданных значений CIR и с превышением этих значений (с установленным битом DE). Обычно провайдеры предлагают коэффициент FDR около 99,9х% CIR FDR для кадров, не подлежащих удалению, и 9х% DE FDR для кадров с установленным битом DE. FDR рассчитывается по формуле: CIR FDR = (количество доставленных кадров CIR – исключения)/(количество отправленных кадров CIR - исключения) DE FDR = (число доставленных кадров DE – исключения)/(число отправленных кадров DE - исключения). Под исключениями принимаются потери кадров из-за повреждений средств локального доступа, а также вследствие плановых остановов сети провайдером.

Доступность сети (коэффициент готовности сети)

Одним из наиболее важных параметров в соглашениях SLA – это доступность сети. Доступность сети определяет время, в течение которого можно пользоваться сетью. Соглашение SLA обычно гарантирует доступность от 99,95% до 100% при расчетном периоде в один месяц. Обычно для расчета используется следующая формула: 24 часа * количество дней в месяце * количество узлов сети - время простоя сети – исключенное время)/(24 часа * количество дней в месяце * количество узлов сети – исключенное время).

Простои в сети характеризуются такими параметрами. - Перерывы в обслуживании. - Потери данных, превышающие согласованные уровни. - Задержка в сети, превышающие согласованные уровни. Длительность простоя измеряется от момента обнаружения нарушения до момента восстановления обычной работы. В таб. 2 перечислены компоненты службы Frame Relay, учитываемые и не учитываемые при определении времени простоя.

CPE (Customer Provider Equipment) – оборудование, установленное у клиента (в офисе, на предприятии, дома): маршрутизаторы, учрежденческая ATC, автоответчик, устройство для подключения цифровой линии от провайдера и др.

Доступность каналов PVC (коэффициент готовности PVC)

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

Задержка в канале PVC

Особенности сети Frame Relay по сравнению с сетью Х.25

Перечислим на основании приведенного выше материала особенности сети FR по сравнению с сетью Х.25.



Итак, я уже затрагивал тему xDSL и PDH/SDH. Но все никак не успокоится моя душа, пока я не напишу про Frame Relay. В этом посте попробую устранить это моё душевное неспокойствие.

Как обычно, посмотрим, что такое Frame Relay как технология, как работает и какие интересные особенности в себе имеет. Погнали.

Для начала немного лирики. Уж не знаю почему, но к Frame Relay я всегда имел какие-то теплые чувства (если их вообще можно иметь к протоколу передачи данных. коллеги меня поймут, надеюсь). Впервые я узнал о нем давным давно, когда ещё готовился к CCNA. Тогда Frame Relay произвел на меня достаточно большое впечатление, хотя бы потому что это был не Ethernet. Это было что-то новое, что я не знал тогда. С тех пор, я почти не видел его имплементаций в жизни. Зато в цисковских экзаменах его до недавнего времени было просто завались. Давайте попробуем разобраться, что же в нем такого.

Причины возникновения

После лирики самое время перейти к истории. Frame Relay появился в эру ISDN. Возникла надобность как-то организовать передачу данных по сети, для этого изначально была и разработана технология Frame Relay. Довольно редко встречающаяся в наши дни технология, однако не так уж редкая, как многие думают. Основным применением технологии был, так называемый, корпоративный сектор. В то время, для обеспечения канала связи между двумя офисами, применялись point-to-point serial линки. Штука простая и удобная, но не масштабируемая. Если нам нужно соединить 3 устройства через ISDN сеть, от каждого устройства понадобится прокладывать два serial линка. А если устройств 100. Эту проблему был призван решить Frame Relay. Он способен объединить все эти офисы чуть более эффективным методом. Понадобится всего один линк для соединения каждого устройства с Frame Relay облаком. Картина ниже иллюстрирует подход.


Frame Relay - работает на втором уровне OSI, поверх которого можно передавать множество L3 технологий. Конечно же, основная из них - IP. Именно про IP over Frame Relay и пойдет речь дальше.

Frame Relay вводит пару терминов, которые особой сложности не несут, но иногда могут завести в заблуждение.

  • DTE (data terminal equipment) - оборудование, которое использует сервис Frame Relay. По сути это CPE.
  • DCE ( data circuit-terminating equipment ) - оборудование, которое предоставляет сервис Frame Relay. Это Frame Relay Switch, который стоит на стороне провайдера.

Базовый принцип

Итак, теперь когда мы более или менее определились что такое Frame Relay, пора глянуть на то как он работает. Если говорить в терминах Frame Relay, то на схеме ниже у нас три устройства, которые подключены к Frame Relay облаку. Это DTE1, DTE2 и DTE3. Каждое их этих устройств подключено к провайдерскому устройству (DCE), которых на схеме тоже три.


  • SVC (Switched Virtual Circuit) - такой канал сигнализируется DTE каждый раз, когда нужно передать данные.
  • PVC (Permanent Virtual Circuit) - этот тип секита всегда присутствует в сети и настроен на узлах. DTE к нему всего лишь подключаются, но не сигнализируют.
  1. Роутер DTE1 инкапсулирует IP пакет в Frame Relay кадр, вставляет DLCI=102 в заголовок и отправляет получившийся сверток в сторону DTE2.
  2. В нашем случае, кадр попадает на DCE1. Внутри Frame Relay облака, перво наперво, проверяется заголовок Frame Relay, там находится идентификатор DLCI=102, это это часть секита VC12, DLCI в кадре меняется на 101 и отправляется в сторону DTE2.
  3. DTE2 так же смотрит заголовок Frame Relay, находит там DLCI 101 по которому он понимает, что данные пришли от DTE1. Далее заголовок отбрасывается и начинается работа с IP пакетом.


LMI (Local Management Interface)

Для взаимодействия между DTE и DCE существует специальный протокол LMI, который в сетях Frame Relay выполняет две важные функции.

Таким образом, после настройки линка наш DTE автоматически узнает о том, какие DLCI используются. Проблема только в том, что мы не знаем какой IP какому DLCI соответсвует. "ARP" - воскликнет читатель. "Почти" - отвечу я.

Inverse ARP

После того, как мы подключили устройство к сети Frame Relay, ближайший свитч расскажет нам какие DLCI настроены в канале. Для того, чтобы узнать какие L3 адреса (IP, короче говоря) за ними сидят нам нужно что-то вроде ARP в Ethernet, но наоборот. В Ethernet мы знаем L3, но не знаем какой MAC, т.е. L2 адрес, ему соответствует. Тут же мы знаем L2 адрес (DLCI), а вот IP нет.

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

Топологии

Стоит пару слов сказать про L3. Вы вольны как угодно строить дизайн L3 поверх Frame Relay облака. Можно одну подсеть "размазать" по всей сети, что я и сделал в своем примере (картинка ниже слева). Можно использовать логику точка-точка и на каждый VC выделить свою подсеть (справа).


Тип интерфейса

От типа интерфейса зависит то, как себя будет вести Frame Relay, и как будут вести себя протоколы динамической маршрутизации поверх него, кстати говоря. Сейчас рассмотрим немного исковерканную топологию из моего примера, у которой по какой-то причине убрали один линк между DTE1 и DTE3.


  • Физическом интерфейсе. Хороший вариант, но не очень масштабируемый. В нашем примере выше, всю топологию можно настроить на физических интерфейсах. Прописываем инкапсуляцию frame-relay и IP адрес, всю остальную работу за нас сделают LMI и InARP. А вот если бы мы выбрали для реализации подход с предыдущего рисунка, когда для каждого VC нам понадобилась бы своя подсеть, настроить Frame Relay на физическом уровне уже не получится. Нужно было бы прописать две подсети на один физический интерфейс.
  • Сабинтерфейсе. Можно сказать, что это Best Practises. Но в таком случае, нам нужно выбрать тип интерфейса, коих у нас два:
    • Point-to-Point. В таком случае, InverseARP нам не нужен, потому как сама логика PtP предполагает, что на другом конце только одно устройство. Роутер просто считает, что вся подсеть, которая прописана на локалном интерфейсе доступна через DLCI соседа. Например, если настроить VC12 как PtP сабинтерфейс на DTE1, то роутер просто решит, что вся подсеть 192.168.0.0/24 доступна через VC12 и слать трафик в неё нужно с DLCI 102. Такой DLCI рассказал нам DTE2 на другом конце средствами LMI. Напомню, InverseARP для маппинга L2 в L3 не используется в таком случае. Для нашего примера, линк на DTE3 тоже можно настроить как PtP.
    • Multipoint. А вот на DTE2 такая логика неприменима, ведь через один линк должно ходить несколько VC. В нашем случае, здесь потребуется настроить multipoint сабинтерфейс.

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


    FECN, BECN, DE

    Следующее о чем стоит поговорить, это то, как Frame Relay сеть реагирует на перегрузку канала (congestion). А реагирует она, стоит сказать, довольно изящно. В заголовке Frame Relay кадра есть следующие интересущие нас биты:

    • FECN (Forward Explicit Congestion Notification) - служит для нотификации перегрузки канала в сторону назначения
    • BECN (Backward Explicit Congestion Notification) - служит для обратной нотификации о перегрузке канала
    • DE (Discard Eligibility) - маркер трафика, который должен быть отброшен в первую очередь при возникновении переполнения на канале


    • DTE1 отправляет некий трафик обернутый заголовком Frame Relay, в котором помимо DLCI находятся два бита - FECN и BECN. Роутер DTE1 отправляет их равными нулю, потому что он ни про какие перегрузки в канале не знает (ещё пока).
    • DCE1 получает трафик и обрабатывает его, все как обычно. Однако он замечает, что в линке до DCE2 есть заторчик. Он запоминает VC, в котором к нему пришли данные и ставит бит FECN равным 1 в заголовке кадра в сторону соседа DCE2. Что означает, что в канале произошла перегрузка. Делает он это, по сути, в надежде, что кто-то на него-таки взглянет. Спойлер - не в этот раз.
    • Кадр приходит на DCE2. Для него это самый обычный трафик, который он отправляет на DTE2.
    • DTE2, получив трафик, начинает его как-то обрабатывать и, скорее всего, шлет некий обратный трафик. Он в этом примере про перегрузку канала ничего не знает, поэтому в его обратном кадре FECN и BECN тоже нулевые.
    • Когда DCE1 получит такой трафик, он узнает VC и поставит бит BECN равный 1, для того, чтобы сказать источнику трафика (DTE1), что на канале есть проблемы и ему надо немного охладить свой пыл.


    В этом случае, DTE2 настроен на реакцию на бит FECN и сам проставит BECN = 1, для того чтобы уведомить DTE1 о перегрузке. DCE1 в этом случае ничего менять не будет. В этот раз, DCE1 не зря ставил FECN = 1, все таки хоть кому-то он пригодился и DTE2 взглянул на него.

    FECN бит в нормальном сети меняют только DCE, а вот BECN могут менять как DCE, так и DTE.

    Зачем же нужен бит DE? Когда обнаружиться перегрузка, на DCE, рано или поздно, переполнится очередь на отправку и он будет вынужден начать процесс сбрасывания кадров с её конца. Он понятия не имеет какой трафик важный, а какой нет. Но ему можно попытаться рассказать об этом. Есть возможность помечать некий "неважный" трафик при отправке с DTE битом DE. В этом случае, наши свитчи в ядре (DCE) смогут понять какой трафик стоит отбрасывать в первую очередь, инспектируя значение этого бита в заголовке Frame Relay.

    Наверное, пока хватит. Наконец-то я описал Frame Relay в своем блоге. Теперь я буду спать спокойно.

    Читайте также: