Необходимость передачи данных по сетям связи возникла давно. Как известно, самые первые телекоммуникационные системы были способны передавать только “данные” — в виде азбуки Морзе. Однако построенные с тех пор сети в основном предназначались для передачи другого типа трафика — голосового. Телефонная сеть является крупнейшей в мире системой, поддерживающей многие миллионы соединений. До недавних пор эта сеть довольно хорошо справлялась со своими “прямыми” задачами, и реальная необходимость в ее изменении возникла лишь в связи с резким возрастанием потребности в передаче по ней данных, генерируемых главным образом службами Интернет.
Обычно для передачи по телекоммуникационным сетям трафик данных преобразовывался в форму, “похожую” на голосовой трафик. Такое его преобразование обычно осуществлялось (и сейчас осуществляется) с помощью модема. На более скоростных каналах устанавливалось специальное оборудование, упаковывающее данные для передачи по стандартной 56/64-Кбит/с канальной инфраструктуре телекоммуникационных сетей. Однако продолжающийся рост объемов трафика данных вынудил связистов искать новые, более простые, более дешевые и более эффективные с точки зрения расходования полосы пропускания способы передачи.
Сегодня в этой области используется несколько подходов, каждый из которых имеет свои достоинства и недостатки. Например, один из них предусматривает создание полностью новой сети, предназначенной только для передачи данных. Самый большой минус этого подхода, да и многих других, — огромные капитальные вложения. Поэтому большинство операторов стараются интегрировать сервисы данных в свои существующие сети, используя для этого сетевые элементы SONET/SDH нового поколения.
Эти новые сетевые элементы поддерживают все традиционные сервисы PDH и SDH и вместе с тем позволяют передавать данные в их “родном”, так сказать, формате — Ethernet. Использование таких элементов упрощает сети клиентов и операторов, уменьшая их полную стоимость и повышая эффективность использования полосы пропускания.
Краткие сведения по сети Ethernet
Ethernet — это асинхронный, основанный на использовании кадров протокол, разработанный для обеспечения связи между более чем двумя устройствами через разделяемую среду передачи.
Определенный вышедшим в 2000 г. стандартом IEEE 802.3 протокол Ethernet развивается в ногу со временем: постоянно увеличиваются скорости передачи данных, а на смену разделяемой среде пришел полнодуплексный режим связи.
Различные версии этого стандарта поддерживают множество возможных скоростей и типов сред передачи, а для обозначения конкретной технологии используется следующая обобщенная формула: [скорость передачи в мегабитах в секунду] [схема кодирования] [максимальная длина кабельного сегмента (* 100 м)]. Например, 10Base-5 — это спецификация на 10-Мбит/с систему прямой (немодулированной) передачи данных, максимальная длина сегмента которой составляет 500 м. Очень часто обозначение длины сегмента в приведенной нотации заменяется обозначением типа среды передачи. Так, в работающих по неэкранированной витой паре системах вместо длины сегмента используется идентификатор “Т”, являющийся сокращением от twisted-pair.
Все разновидности технологии Ethernet имеют одинаковый базовый формат кадров, метод контроля доступа (Media Access Control — MAC) и одинаковый для использующих разделяемую среду передачи систем механизм обнаружения коллизий (получивший название “множественный доступ с прослушиванием несущей и обнаружением коллизий” — Carrier Sense Multiple Access/Collision Detection, CSMA/CD).
Ниже приводятся самые популярные сегодня физические интерфейсы Ethernet:
• 10Base-T — 10-Мбит/с система на основе витопарного кабеля категории 3, 4 или 5;
• 100Base-TX — 100-Мбит/с система на основе витопарного кабеля категории 5;
• 1000Base-SX — 1000-Мбит/с система на основе 850-нм многомодового оптического кабеля;
• 1000Base-LX — 1000-Мбит/с система на основе 1300-нм одномодового или многомодового оптического кабеля.
Кадры Ethernet
Кадр Ethernet может включать в себя до восьми полей, лишь одно из которых (хотя и самое большое) содержит передаваемую информацию. Первыми двумя полями являются преамбула и разделитель начала кадра (Start of Frame Delimiter — SFD). Преамбула состоит из поочередных единиц и нулей, а разделитель SFD представляет собой постоянный код 11010101. Эти два поля служат для синхронизации приемника и указания на начало кадра.
Поле адреса приемника имеет длину, равную 6 байт. Оно содержит MAC-адрес, обычно записываемый в шестнадцатеричной системе и используемый при маршрутизации кадров между сетевыми устройствами. Некоторые MAC-адреса выполняют специальные функции. Например, FF:FF:FF:FF:FF:FF — это широковещательный адрес, и кадры с таким адресом будут поступать на все станции без исключения.
Длина поля адреса источника тоже равняется 6 байт. Это поле содержит MAC-адрес станции, отправляющей данные, который также обычно представляется в шестнадцатеричной системе счисления. В большинстве случаев первые 3 байт этого адреса идентифицируют производителя, а три последних являются уникальными для конкретного оборудования (МАС-адрес обычно встраивается изготовителем в оборудование). Однако есть устройства (например, тестовое оборудование), адрес которых может изменяться.
Поле тега VLAN (Virtual LAN, или виртуальная ЛВС) имеет длину, равную 4 байт, и является факультативным. Наличие такого поля в кадре позволяет разделять данные по различным виртуальным ЛВС независимо от MAC-адреса устройства. Кроме того, это поле содержит биты приоритета, позволяющие реализовывать функции гарантированного качества обслуживания — QoS.
Двухбайтовое поле “длина/тип” содержит информацию о длине кадра или о типе передаваемых данных. Если значение поля “длина/тип” меньше шестнадцатеричного числа 05DC, то оно содержит длину поля данных. Если же это значение больше 0600, оно указывает тип протокола, данные которого содержатся в поле данных. Так, когда в поле “длина/тип” занесено число 0800, это означает, что кадр используется протоколом IP, а когда — 809B, он применяется для передачи данных протокола AppleTalk.
Длина поля данных может составлять от 46 до 1500 байт. Это поле обычно содержит подлежащие передаче данные таких протоколов более высокого уровня, как IP или AppleTalk.
Длина поля контрольной последовательности кадра (Frame Check Sequence — FCS) составляет 4 байт. Контрольный код FCS для всего кадра рассчитывается передающим устройством. Приемное устройство пересчитывает контрольный код и следит за тем, чтобы он соответствовал коду, помещенному в кадр передатчиком. Большая часть устройств Ethernet сбрасывает кадры с некорректным или пропущенным полем FCS.
Минимальный размер нормального кадра, включая размер поля FCS, но без учета преамбулы, составляет 64 байт. Кадры меньшей длины называются коротышками (runts) и сбрасываются большинством устройств Ethernet.
Максимальный стандартный размер кадра составляет 1522 байт, если используется маркировка виртуальных ЛВС, и 1518 байт, если такая маркировка отсутствует. Оборудование некоторых производителей может поддерживать кадры большего размера (вплоть до 65 Кбайт), часто называемые сверхдлинными (jumbo). Формат таких кадров аналогичен формату стандартных кадров, но содержит более длинное поле данных, что обеспечивает лучшее соотношение между числом служебных байтов и числом байтов данных и соответственно более эффективную передачу информации. Сверхдлинные кадры являются нестандартными, поэтому при их использовании невозможно гарантировать совместимость оборудования разных производителей.
Кадры передаются слева направо, начиная с младшего бита. Кадры отделяются один от другого межкадровыми интервалами (Inter-Packet Gap — IPG) длиной 12 байт. Межкадровый интервал необходим для освобождения среды передачи до начала передачи следующего кадра при полудуплексной работе. При дуплексной передаче межкадровый интервал необязателен и используется лишь в целях единообразия работы в разных режимах передачи данных.
Большинство устройств Ethernet поддерживают функцию автосогласования (autonegotiation): при первом соединении они обмениваются информацией о своих возможностях в части передачи данных, а затем автоматически настраиваются на максимальные общие значения параметров передачи. К числу обговариваемых возможностей относятся скорость передачи данных, режим работы (дуплексный или полудуплексный), использование алгоритмов управления потоками.
Модель OSI
Семиуровневая сетевая модель OSI описывает функции различных составных частей (уровней) систем передачи данных.
Протокол Ethernet охватывает два нижних уровня этой модели: уровень 1 — уровень физической среды (кабель UTP, коаксиальный кабель, оптический кабель) и уровень 2 — уровень канала передачи данных, или канальный уровень, предоставляющий механизмы управления передачей и приемом данных. Уровень 3 — это сетевой уровень, функции которого чаще всего реализуются протоколом IP, но могут осуществляться и другими протоколами, такими, как AppleTalk и IPX. Если задачей протокола Ethernet является обеспечение передачи данных по отдельным каналам связи, то задача протокола уровня 3 — обеспечить передачу данных по всей сети — от узла-источника до самого удаленного узла назначения. Такая передача может осуществляться по любому числу отдельных каналов Ethernet.
Протоколы более высоких уровней (4-го и выше) обеспечивают целостность передаваемых данных и доставку их пользователю или приложению. Подробное описание функций всех семи уровней модели OSI, достоинства и недостатки разных протоколов каждого уровня можно найти в любом хорошем издании по сетям передачи данных.
Тестирование сервисов Ethernet
Чтобы убедиться в том, что упоминавшиеся выше соединения Ethernet правильно работают и обеспечивают требуемое качество передачи данных, их необходимо протестировать. В ходе такого тестирования измеряются полоса пропускания канала связи, задержка распространения кадров и доля потерянных кадров.
Пропускная способность канала связи — это просто максимальный объем данных, который можно передать от источника к приемнику за одну секунду. Измерение пропускной способности осложняется необходимостью учета приемлемого уровня каче-ства передачи. Например, если допустимая доля ошибочных или потерянных кадров принимается равной 10% от общего числа передаваемых кадров, то пропускную способность надо измерять именно при 10%-ной частоте ошибок. Однако обычно принимается, что пропускная способность должна измеряться при полном отсутствии ошибочных/потерянных кадров, и именно такое допущение используется в данной статье.
Для любой системы Ethernet в идеале максимальная пропускная способность должна равняться скорости передачи — например, 10, 100 или 1000 Мбит/с. Однако на практике эти цифры недостижимы из-за влияния конечных размеров кадров и наличия межкадрового интервала. Чем меньше кадры, тем ниже эффективная пропускная способность (добавляемые байты преамбулы и межкадрового интервала не являются данными, как таковыми). Достижимые максимальные значения пропускной способности систем 10, 100 и 1000 Мбит/с для кадров разного размера приведены в таблицах 1, 2 и 3 соответственно.
Задержка распространения — это полное время, затрачиваемое кадром на прохождение пути от источника к приемнику. Указанное время складывается из задержки на обработку кадров сетевыми устройствами и задержки распространения кадров в среде передачи. Измерить последнюю можно, передавая через сеть тестовый кадр с временной отметкой. Момент получения кадра сравнивается с этой отметкой. Чтобы это можно было сделать, необходимо вернуть тестовый кадр на исходную тестовую систему через петлю обратной связи; так измеряется круговая задержка (round-trip delay).
Долю потерянных кадров определяют те из них, которые были успешно переданы источником, но так и не дошли до адресата. Их еще называют уровнем потерь (frame loss rate) и измеряют в процентах от общего числа переданных кадров. Например, если была передана 1000 кадров, из которых приняты лишь 900, то уровень потерь составляет 10% {((1000 –900)/1000) * 100% = 10%}. Кадры могут теряться или сбрасываться по многим причинам — из-за ошибок, перегрузок и недопустимо большого значения задержки.
• Ошибки. Большинство устройств уровня 2 сбрасывают кадры с некорректной контрольной суммой FCS. Это означает, что один-единственный ошибочный бит при передаче кадра приводит к сбросу всего кадра. По этой причине основной критерий качества услуг SONET/SDH — интенсивность битовых ошибок (Bit Error Rate — BER) — не имеет для Ethernet никакого смысла, поскольку установить отношение числа правильно переданных битов к числу ошибочных не представляется возможным.
• Перегрузка. Наиболее частой причиной потери кадров является перегрузка линии связи. Например, если два 1000-Мбит/с устройства Ethernet подключаются к одному 622-Мбит/с каналу связи SONET/SDH (что весьма распространено), то по мере увеличения нагрузки ресурсы пропускной способности канала связи очень быстро будут исчерпаны. Как только скорость передачи данных по каналу связи превысит его пропускную способность, избыточные кадры начнут сбрасываться.
• Избыточная задержка. Сама природа сетей Ethernet допускает задержку передаваемых кадров на весьма значительные периоды времени. Это важно учитывать при проведении тестирования, когда измерительное устройство “ждет” все переданные кадры, чтобы принять и сосчитать их. В некоторый момент времени оно должно наконец “решить”, что переданный кадр получен не будет и определить его как потерянный. Обычно период времени, по прошествии которого кадр считается потерянным, принимается равным 2 с.
Соглашение об уровне обслуживания
Очень часто характеристики услуг Ethernet оговариваются в соглашениях об уровне обслуживания (Service Level Agreements — SLA), заключаемых между операторами связи и их клиентами. В данном случае на первое место выходят вопросы обеспечения гарантированного качества обслуживания (QoS), и это, пожалуй, сейчас одна из самых горячо обсуждаемых тем в телекоммуникационной индустрии.
Обычно сервис характеризуется такими основными параметрами, как пропускная способность, задержка распространения и доля потерянных кадров.
• Пропускная способность — это такой ресурс, потребности в котором растут с каждым днем. Передача данных, электронная почта, Web-семинары и IP-телефония (Voice over IP — VoIP) требуют сегодня от сервис-провайдеров предоставления каналов связи с более высокой пропускной способностью, чем раньше. Необходимая для поддержки этих сервисов пропускная способность обычно оговаривается в SLA-соглашении, и, как правило, от сервис-провайдера требуются убедительные доказательства того, что выделенный им канал связи действительно обеспечивает такую пропускную способность.
• Задержка распространения кадров еще один ключевой фактор, учитываемый в SLA-соглашении, особенно когда речь идет о сервисах реального времени, таких, как Web-презентации и IP-телефония. Большое время задержки может привести к нарушению работы этих сервисов или заметно снизить их качество. Еще одно требование к задержке распространения кадров состоит в том, что она должна быть постоянной. Если задержка достаточно мала, но заметно изменяется во время передачи от кадра к кадру, то это также будет приводить к возникновению проблем в работе сервисов реального времени.
• Потеря кадров данных нежелательна для любой сети. Сервис-провайдер должен следить за тем, чтобы кадры и пакеты предоставляемого им сервиса Ethernet не терялись при передаче их через сеть.
Эталонное тестирование
Какую методику тестирования должны использовать сервис-провайдеры, чтобы клиенты могли четко интерпретировать его результаты? Как долго должны длиться тесты и какие их результаты являются действительно значимыми?
Ответы на эти вопросы содержатся в документе RFC 2544, в котором определена методика тестирования и указаны определенные критерии, позволяющие сервис-провайдеру и клиенту добиться необходимого взаимопонимания. Согласно требованиям RFC 2544, система связи должна тестироваться при всех типовых размерах кадров (64, 128, 256, 512, 1024, 1280 и 1518 байт) в течение определенного времени и определенное число раз. Кадры указанных размеров широко используются в сетях, и результаты тестирования для каждого из них должны быть известны клиенту.
По методике RFC 2544 определяются такие характеристики, как пропускная способность, задержка распространения кадров, процент потерянных кадров и максимальный размер пачки кадров, обрабатываемой без потерь (back-to-back frames). Тестирование обработки пачки кадров состоит в отправке на тестируемое устройство (Device Under Test — DUT) группы кадров с минимальным межкадровым интервалом и подсчете числа кадров, переданных устройством DUT. Если число отправленных на устройство DUT кадров равно числу переданных этим устройством кадров, длина пачки кадров увеличивается и тест повторяется вновь. Если же число переданных устройством DUT кадров оказывается меньше числа отправленных на него кадров, то длина пачки кадров уменьшается и тест повторяется вновь. В качестве значения параметра “back-to-back” принимается число кадров в самой длинной пачке, обрабатываемой устройством DUT без потери кадров.
Документ RFC 2544 рекомендует представлять результаты всех тестов как в текстовом, так и в графическом формате. Сервис-провайдер и его клиент могут использовать их в качестве достоверной информации о работе системы связи.
Хотя тесты RFC 2544 можно выполнить вручную, эти процедуры весьма утомительны, занимают много времени и при их проведении часто возникают случайные ошибки. Самый простой способ выполнить этот пакет тестов — это задействовать полностью автоматизированную тестовую систему, позволяющую пользователю просто ввести подробную информацию о тестовом сценарии и запустить его. После этого система выполняет все требуемые спецификацией RFC 2544 тесты и отображает полученные результаты на экране монитора.