Что такое пропускная способность интернет-канала и как её класифицировать
Термин пропускная способность имеет ряд технических значений, но с момента популяризации Интернета он обычно относится к объему информации в единицу времени, которую может обработать среда передачи (например, подключение к Интернету).
Интернет-соединение с большей пропускной способностью может перемещать определенный объем данных (например, видеофайл ) намного быстрее, чем интернет-соединение с более низкой пропускной способностью.
Пропускная способность обычно выражается в битах в секунду , например 60 Мбит/с или 60 Мбит/с, чтобы объяснить скорость передачи данных 60 миллионов бит (мегабит) каждую секунду.
Почему важно понимать пропускную способность
Легко отклонить пропускную способность как технический термин, который на самом деле к вам не относится, если только вы не любите экспериментировать с техническими продуктами или настраивать интернет-оборудование. На самом деле, изучение того, что означает пропускная способность и как она применяется к вашей собственной сети, может помочь вам настроить ваши настройки, чтобы получить более быстрое интернет-соединение, когда оно вам нужно.
Вам может быть интересно узнать о пропускной способности, если ваше интернет-соединение внезапно станет медленнее, чем обычно. Возможно, вы подозреваете, что вам следует купить больше полосы пропускания или что вы не получаете то, за что платите.
Или, может быть, вы собираетесь купить игровую консоль или службу потокового видео и вам нужно точное понимание того, сможете ли вы сделать это без отрицательного воздействия на остальную часть вашей сети. Для большинства людей эти два вида деятельности, безусловно, вызывают наибольшую нагрузку на полосу пропускания.
Какая скорость Интернета нужна
Необходимая вам пропускная способность зависит от того, что вы планируете делать со своим Интернет-соединением. По большей части, чем больше, тем лучше, если, конечно, ваш бюджет не ограничен. Мы уже писали ранее какая скорость интернета нужна для просмотра видео в 4К .
В общем, если вы не планируете ничего делать, кроме Facebook и периодического просмотра видео, то, вероятно вам подойдет какой-то недорогой высокоскоростной тариф.
В зависимости от того, для чего вы используете Интернет, вы можете получить официальную рекомендацию по пропускной способности, чтобы точно знать, что вам нужно для оптимального использования этой услуги. Например, если ваш Интернет сейчас работает без сбоев, но вы планируете добавить к нему службу потоковой передачи фильмов, поищите на их веб-сайте минимальную полосу пропускания, которую они рекомендуют для потоковой передачи без прерываний.
Если у вас есть несколько телевизоров, на которых будет транслироваться YouTube, и несколько компьютеров, планшетов и других устройств, которые могут делать неизвестно что, я бы взял столько, сколько вы можете себе позволить. Вы не пожалеете.
Пропускная способность во многом похожа на водопровод
Сантехника – отличная аналогия с пропускной способностью … серьезно! Данные относятся к доступной полосе пропускания, как вода – к размеру трубы. Другими словами, по мере увеличения пропускной способности увеличивается и количество данных, которые могут проходить через заданный промежуток времени, точно так же, как увеличивается диаметр трубы, увеличивается и количество воды, которая может проходить через заданный промежуток времени. .
Предположим, вы транслируете фильм, кто-то другой играет в многопользовательскую онлайн-игру, а еще несколько человек в той же сети загружают файлы или используют свои телефоны для просмотра онлайн-видео. Скорее всего, каждый почувствует, что дела идут немного вяло, если не постоянно запускаться и останавливаться. Это связано с пропускной способностью.
Чтобы вернуться к аналогии с водопроводом, предположим, что водопровод, ведущий в дом (пропускная способность), остается того же размера, поскольку смесители и души в доме включены (данные загружаются на устройства), давление воды в каждой точке (воспринимаемое ” скорость “на каждом устройстве) будет уменьшаться – опять же, потому что для дома (вашей сети) доступно не так много воды (пропускной способности).
Другими словами: пропускная способность – это фиксированная сумма, зависящая от того, за что вы платите. Хотя один человек может транслировать видео высокого разрешения без каких-либо задержек, в тот момент, когда вы начнете добавлять в сеть другие запросы на загрузку, каждый из них получит только свою часть от полной емкости.
Например, если тест скорости определяет мою скорость загрузки как 7,85 Мбит / с, это означает, что при отсутствии перебоев или других приложений, потребляющих полосу пропускания, я могу загрузить файл размером 7,85 мегабит (или 0,98 мегабайта) за одну секунду. Небольшая математика скажет вам, что при такой разрешенной пропускной способности я мог бы загрузить около 60 МБ информации за одну минуту или 3528 МБ за час, что эквивалентно файлу 3,5 ГБ … довольно близко к полноразмерному, Фильм DVD-качества.
Итак, хотя теоретически я мог бы загрузить видеофайл размером 3,5 ГБ за час, если кто-то еще в моей сети попытается загрузить аналогичный файл в то же время, теперь для завершения загрузки потребуется два часа, потому что, опять же, только сеть разрешает загрузку x объема данных в любой момент времени, поэтому теперь он должен разрешить другой загрузке также использовать часть этой полосы пропускания.
Технически сеть теперь будет видеть 3,5 ГБ + 3,5 ГБ для 7 ГБ общих данных, которые необходимо загрузить. Пропускная способность не меняется, потому что это уровень, за который вы платите своему интернет-провайдеру , поэтому применяется та же концепция: сеть со скоростью 7,85 Мбит / с теперь займет два часа, чтобы загрузить файл размером 7 ГБ, так же, как для загрузки потребуется всего один час. половина этой суммы.
Разница в Мбит/с и Мбайт/с
Важно понимать, что пропускная способность может быть выражена в любых единицах (байтах, килобайтах, мегабайтах, гигабитах и т. Д.). Ваш интернет-провайдер может использовать один термин, сервис тестирования – другой, а сервис потокового видео – третий. Вам нужно понять, как все эти термины связаны и как конвертировать между ними, если вы не хотите платить за слишком много интернет-услуг или, что еще хуже, заказывать слишком мало для того, что вы хотите с ними делать.
Например, 15 МБ – это не то же самое, что 15 Мб (обратите внимание на нижний регистр б). Первый – 15 мегабайт, а второй – 15 мегабит. Эти два значения различаются в 8 раз, так как в байте 8 бит.
Если бы эти два значения пропускной способности были записаны в мегабайтах (МБ), они составили бы 15 МБ и 1,875 МБ (поскольку 15/8 равно 1,875). Однако при записи в мегабитах (Мбайт) первый будет 120 Мбит / с (15×8 – 120), а второй – 15 Мбит/с.
Качество сетей передачи данных. Программные и аппаратные измерения
Я бы хотел опубликовать цикл статей об измерениях характеристик систем связи и сетей передачи данных. Эта статья вводная и в ней будут затронуты лишь самые основы. В дальнейшем планирую более глубокое рассмотрение в стиле «как это сделано».
Покупая продукт или услугу мы часто оперируем таким понятием как качество. Что же такое качество? Если мы обратимся к словарю Ожегова, то там увидим следующее: «совокупность существенных признаков, свойств, особенностей, отличающих предмет или явление от других и придающих ему определенность». Перенося определение на область сетей связи, приходим к выводу, что нам требуется определить «существенные признаки, свойства и особенности», позволяющие однозначно определить отличие одной линии или сети связи от другой. Перечисление всех признаков и свойств обобщаются понятием «метрика». Когда кто-то говорит о метриках сетей связи, он имеет в виду те характеристики и свойства, которые позволят точно судить о системе связи в целом. Потребность в оценке качества лежит большей частью в экономической области, хотя и техническая её часть не менее интересна. Я же попробую балансировать между ними, чтобы раскрыть все самые интересные аспекты этой области знаний.
Всех заинтересовавшихся прошу под кат.
Мониторинг и диагностика систем связи
Как я писал выше, метрики качества определяют экономическую составляющую владения сетью или системой связи. Т.е. стоимость аренды или сдачи в аренду линии связи напрямую зависит от качества этой самой линии связи. Стоимость, в свою очередь, определяется спросом и предложением на рынке. Дальнейшие закономерности описаны у Адама Смита и развиты Милтоном Фридманом. Даже во времена СССР, когда была плановая экономика, а о «рынке» думали, как о преступлении против власти и народа, существовал институт госприемки, как для военных, так и гражданских целей, призванный обеспечить надлежащее качество. Но вернемся в наше время и попробуем определить эти метрики.
Рассмотрим сеть на основе Ethernet, как самой популярной технологии на данный момент. Не будем рассматривать метрики качества среды передачи данных, поскольку они мало интересуют конечного потребителя (разве что материал самой среды иногда бывает интересен: радио, медь или оптика). Самая первая метрика, которая приходит в голову — пропускная способность (bandwidth), т.е. сколько данных мы можем передать в единицу времени. Вторая, связанная с первой,- пакетная пропускная способность (PPS, Packets Per Second), отражающая сколько фреймов может быть передано в единицу времени. Поскольку сетевое оборудование оперирует фреймами, метрика позволяет оценить, справляется ли оборудование с нагрузкой и соответствует ли его производительность заявленной.
Третья метрика — это показатель потери фреймов (frame loss). Если невозможно восстановить фрейм, либо восстановленный фрейм не соответствует контрольной сумме, то принимающая, либо промежуточная система его отвергнет. Здесь имеется ввиду второй уровень системы OSI. Если рассматривать подробнее, то большинство протоколов не гарантируют доставку пакета получателю, их задача лишь переслать данные в нужном направлении, а те кто гарантирует (например, TCP) могут сильно терять в пропускной способности как раз из-за перепосылок фреймов (retransmit), но все они опираются на L2 фреймы, потерю которых учитывает эта метрика.
Четвертая — задержка (delay, latency),- т.е. через сколько пакет отправленный из точки A оказаться в точке B. Из этой характеристики можно выделить еще две: односторонняя задержка (one-trip) и круговая (round-trip). Фишка в том, что путь от A к B может быть один, а от B к A уже совсем другим. Просто поделить время не получится. А еще задержка время от времени может меняться, или “дрожать”,- такая метрика называется джиттером (jitter). Джиттер показывает вариацию задержки относительно соседних фреймов, т.е. девиацию задержки первого пакета относительно второго, или пятого относительно четвертого, с последующим усреднением в заданный период. Однако если требуется анализ общей картины или интересует изменение задержки в течении всего времени теста, а джиттер уже не отражает точно картину, то используется показатель вариации задержки (delay variation). Пятая метрика — минимальный MTU канала. Многие не придают важности этому параметру, что может оказаться критичным при эксплуатации “тяжелых” приложений, где целесообразно использовать jumbo-фреймы. Шестой, и малоочевидный для многих параметр — берстность — нормированная максимальная битовая скорость. По этой метрике можно судить о качестве оборудования, составляющего сеть или систему передачи данных, позволяет судить о размере буфера оборудования и вычислять условия надежности.
Об измерениях
Поскольку с метриками определились, стоит выбрать метод измерения и инструмент.
Задержка
Известный инструмент, поставляемый в большинстве операционных систем — утилита ping (ICMP Echo-Request). Многие ее используют по нескольку раз на дню для проверки доступности узлов, адресов, и т.п. Предназначена как раз для измерения RTT (Round Trip Time). Отправитель формирует запрос и посылает получателю, получатель формирует ответ и посылает отправителю, отправитель замеряя время между запросом и ответом вычисляет время задержки. Все понятно и просто, изобретать ничего не нужно. Есть некоторые вопросы точности и они рассмотрены в следующем разделе.
Но что, если нам надо измерить задержку только в одном направлении? Здесь все сложнее. Дело в том, что помимо просто оценки задержки пригодится синхронизировать время на узле отправителе и узле-получателе. Для этого придуман протокол PTP (Precision Time Protocol, IEEE 1588). Чем он лучше NTP описывать не буду, т.к. все уже расписано здесь, скажу лишь то, что он позволяет синхронизировать время с точностью до наносекунд. В итоге все сводится к ping-like тестированию: отправитель формирует пакет с временной меткой, пакет идет по сети, доходит до получателя, получатель вычисляет разницу между временем в пакете и своим собственным, если время синхронизировано, то вычисляется корректная задержка, если же нет, то измерение ошибочно.
Если накапливать информацию об измерениях, то на основании исторических данных о задержке можно без труда построить график и вычислить джиттер и вариацию задержки — показатель важный в сетях VoIP и IPTV. Важность его связана, прежде всего, с работой энкодера и декодера. При “плавающей” задержке и адаптивном буфере кодека повышается вероятность не успеть восстановить информацию, появляется “звон” в голосе (VoIP) или “перемешивание” кадра (IPTV).
Потери фреймов
Проводя измерения задержки, если ответный пакет не был получен, то предполагается, что пакет был потерян. Так поступает ping. Вроде тоже все просто, но это только на первый взгляд. Как написано выше, в случае с ping отправитель формирует один пакет и отправляет его, а получатель формирует свой собственный о отправляет его в ответ. Т.е. имеем два пакета. В случае потери какой из них потерялся? Это может быть не важно (хотя тоже сомнительно), если у нас прямой маршрут пакетов соответствует обратному, а если это не так? Если это не так, то очень важно понять в каком плече сети проблема. Например, если пакет дошел до получателя, то прямой путь нормально функционирует, если же нет, то стоит начать с диагностики этого участка, а вот если пакет дошел, но не вернулся, то точно не стоит тратить время на траблшутинг исправного прямого сегмента. Помочь в идентификации могла бы порядковая метка, встраиваемая в тестовый пакет. Если на обоих концах стоят однотипные измерители, то каждый из них в любой момент времени знает количество отправленных и полученных им пакетов. Какие именно из пакетов не дошли до получателя можно получить сравнением списка отправленных и полученных пакетов.
Минимальный MTU
Измерение этой характеристики не то чтобы сложно, скорее оно скучно и рутинно. Для определения минимального размера MTU (Maximum transmission unit) следует лишь запускать тест (тот же ping) с различными значениями размеров кадра и установленным битом DF (Don’t Fragmentate), что приведет к непрохождению пакетов с размером кадра больше допустимого, ввиду запрета фрагментации.
Например, так не проходит:
А так уже проходит:
Не часто используемая метрика с коммерческой точки зрения, но актуальная в некоторых случаях. Опять же, стоит отметить, что при асимметричном пути следования пакетов, возможен различный MTU в разных направлениях.
Пропускная способность
Наверняка многим известен факт, что количество переданной полезной информации в единицу времени зависит от размера фрейма. Связано это с тем, что фрейм содержит довольно много служебной информации — заголовков, размер которых не меняется при изменении размера фрейма, а изменяется поле “полезной” части (payload). Это значит, что несмотря на то, что даже если мы передаем данные на скорости линка, количество полезной информации переданной за тот же период времени может сильно варьироваться. Поэтому несмотря на то, что существуют утилиты для измерения пропускной способности канала (например iperf), часто невозможно получить достоверные данные о пропускной способности сети. Все дело в том, что iperf анализирует данные о трафике на основе подсчета той самой «полезной» части, окруженной заголовками протокола (как правило UDP, но возможен и TCP), следовательно нагрузка на сеть (L1,L2) не соответствует подсчитанной (L4). При использовании аппаратных измерителей скорость генерации трафика устанавливается в величинах L1, т.к. иначе было бы не очевидно для пользователя почему при измерении размера кадра меняется и нагрузка, это не так заметно, при задании ее в %% от пропускной способности, но очень бросается в глаза при указании в единицах скорости (Mbps, Gbps). В результатах теста, как правило, указывается скорость для каждого уровня (L1,L2,L3,L4). Например, так (можно переключать L2, L3 в выводе):
Пропускная способность в кадрах в секнду
Если говорить о сети или системе связи как о комплексе линий связи и активного оборудования, обеспечивающего нормальное функционирование, то эффективность работы такой системы зависит от каждого составляющего ее звена. Линии связи должны обеспечивать работу на заявленных скоростях (линейная скорость), а активное оборудование должно успевать обрабатывать всю поступающую информацию.
У всех производителей оборудования заявляется параметр PPS (packets per second), прямо указывающий сколько пакетов способно «переварить» оборудование. Ранее этот параметр был очень важен, поскольку подавляющее число техники просто не могло обработать огромное количество “мелких” пакетов, сейчас же все больше производители заявляют о wirespeed. Например, если передаются малые пакеты, то времени на обработку тратится, как правило, столько же, сколько и на большие. Поскольку содержимое пакета оборудованию не интересно, но важна информация из заголовков — от кого пришло и кому передать.
Сейчас все большее распространение в коммутирующем оборудовании получают ASIC (application-specific integrated circuit) — специально спроектированные для конкретных целей микросхемы, обладающие очень высокой производительностью, в то время как раньше довольно часто использовались FPGA (field-programmable gate array) — подробнее об их применении можно прочитать у моих коллег здесь и послушать здесь.
Бёрстность
Стоит отметить, что ряд производителей экономит на компонентах и использует малые буферы для пакетов. Например заявлена работа на скорости линка (wirespeed), а по факту происходят потери пакетов, связанные с тем, что буфер порта не может вместить в себя больше данных. Т.е. процессор еще не обработал скопившуюся очередь пакетов, а новые продолжают идти. Часто такое поведение может наблюдаться на различных фильтрах или конвертерах интерфейсов. Например предполагается, что фильтр принимает 1Gbps поток и направляет результаты обработки в 100Mbps интерфейс, если известно, что отфильтрованный трафик заведомо меньше 100Mbps. Но в реальной жизни случается так, что в какой-то момент времени может возникнуть «всплеск» трафика более 100Mbps и в этой ситуации пакеты выстраиваются в очередь. Если величина буфера достаточна, то все они уйдут в сеть без потерь, если же нет, то просто потеряются. Чем больше буфер, тем дольше может быть выдержана избыточная нагрузка.
Пропускная способность сети
Термин «пропускная способность» применительно к сети является в значительной степени условным, хотя в литературе встречается достаточно часто. Условность этого термина связана с тем, что информация в разветвлённой сети не передаётся в каком-то определённом направлении, а вводится и принимается одновременно во многих точках и циркулирует по сложной системе линий. Обычно параметр пропускная способность используется для отдельной линии.
Анализ общих характеристик сетей
Произведем анализ общих характеристик сетей. Прежде всего, все сети могут быть разделены на два функциональных класса в зависимости от объекта информации, обрабатываемого в данной сети. Если сеть обрабатывает (коммутирует) отдельное сообщение пользователя или его часть, то такая сеть по отечественной терминологии является вторичной сетью, а по зарубежной терминологии называется сервисной или мельтисервисной сетью. В первичной сети информация обрабатывается не на уровне отдельного сообщения пользователя, а только на агрегированном уровне, не анализируя адреса и признаков начала и конца сообщения, например, кадр SDH, который может состоять из передаваемых элементов (байтов) многих сообщений или быть заполнен частью одного сообщения передается без анализа содержимой в кадре информации. Кроме того, первичная сеть является физической сетью линий и узлов, а все вторичные сети, например, вторичная телефонная сеть, являются логическими сетями, которые строятся на базе первичной сети.. Логические сети обычно имеют структуру отличную от физической сети линий и узлов. Например, пусть телефонная сеть, изображенная на рис1.2а, состоит из телефонных станций АТС1, АТС2,АТС3 и АТС4, связанных прямыми пучками телефонных каналов по типу «каждая с каждой». На рис1.2б отображены совпадающие с АТС сетевые узлы и линии первичной или транспортной сети, на которой строится приведенная на рис1.2а телефонная сеть.
а) Логическая (вторичная)сеть
б) Физическая (первичная) сеть
Рис. 1.2. Физическая и логическая сети
з этого рисунка можно понять, что для пучков между станциями АТС1 и АТС3, а также между АТС2 и АТС4 не имеется соответствующей линии на первичной сети. На первичной сети эти пучки должны быть организованы в сетевых узлах транспортной сети путем постоянного переключения или кроссировки соответствующих каналов из одной линии в другую. Например, пучок между АТС1 и АТС3 организуется путем переключения в узле 2 каналов из линии 1-2 в линию 2-3. Функция кроссировки не является коммутацией отдельных сообщений, а выполняется целиком для линий или трактов, из которых состоит линия.
Далее будет показано, что вторичные сети работают на сетевом и канальном уровне, а первичные на физическом уровне.
Первичные сети в свою очередь делятся на сети доступа и транспортные сети.
Сети доступа предназначены для сбора и распределения информации, поступающей от оконечных устройств к устройствам сети верхнего уровня. Сети доступа, прежде всего, характеризуются тем, что в них жестко производится привязка оконечного (терминального) оборудования к направлению передачи и к конкретным узлам обработки. В этом случае направление передачи строго соответствует топологии сети доступа, т.е. для всей информации другое направление передачи невозможно.
В узлах транспортной сети производится передача определенной порции информации по тем или иным линиям передачи в зависимости от установленного маршрута, который может быть постоянным или может изменяться.
Пропускная способность в IP-сетях: расчет и выбор сетевого оборудования
После оценки требуемой пропускной способности на каждом из участков IP-сети необходимо определиться с выбором технологий сетевого и канального уровней OSI. В соответствии с выбранными технологиями определяются наиболее подходящие модели сетевого оборудования. Этот вопрос также непростой, поскольку пропускная способность напрямую зависит от производительности оборудования, а производительность, в свою очередь, – от программно-аппаратной архитектуры. Рассмотрим подробнее критерии и методы оценки пропускной способности каналов и оборудования в IP-сетях.
Критерии оценки пропускной способности
Со времени возникновения теории телетрафика было разработано множество методов расчета пропускных способностей каналов. Однако в отличие от методов расчета, применяемых к сетям с коммутацией каналов, расчет требуемой пропускной способности в пакетных сетях довольно сложен и вряд ли позволит получить точные результаты. В первую очередь это связано с огромным количеством факторов (в особенности присущих современным мультисервисным сетям), которые довольно сложно предугадать. В IP-сетях общая инфраструктура, как правило, используется множеством приложений, каждое из которых может использовать собственную, отличную от других модель трафика. Причем в рамках одного сеанса трафик, передаваемый в прямом направлении, может отличаться от трафика, проходящего в обратном направлении. Вдобавок к этому расчеты осложняются тем, что скорость трафика между отдельно взятыми узлами сети может изменяться. Поэтому в большинстве случаев при построении сетей оценка пропускной способности фактически обусловлена общими рекомендациями производителей, статистическими исследованиями и опытом других организаций.
Чтобы более или менее точно определить, какая пропускная способность требуется для проектируемой сети, необходимо в первую очередь знать, какие приложения будут использоваться. Далее для каждого приложения следует проанализировать, каким образом будет происходить передача данных в течение выбранных промежутков времени, какие протоколы для этого применяются.
Для простого примера рассмотрим приложения небольшой корпоративной сети.
Пример расчета пропускной способности
Предположим, в сети расположены 300 рабочих компьютеров и столько же IP-телефонов. Планируется использовать такие сервисы: электронная почта, IP-телефония, видеонаблюдение (рис. 1). Для видеонаблюдения применяются 20 камер, с которых видеопотоки передаются на сервер. Попытаемся оценить, какая максимальная пропускная способность потребуется для всех сервисов на каналах между коммутаторами ядра сети и на стыках с каждым из серверов.
Следует сразу отметить, что все расчеты нужно проводить для времени наибольшей сетевой активности пользователей (в теории телетрафика – ЧНН, часы наибольшей нагрузки), поскольку обычно в такие периоды работоспособность сети наиболее важна и возникающие задержки и отказы в работе приложений, связанные с нехваткой пропускной способности, неприемлемы. В организациях наибольшая нагрузка на сеть может возникать, например, в конце отчетного периода или в сезонный наплыв клиентов, когда совершается наибольшее количество телефонных вызовов и отправляется большая часть почтовых сообщений.
Электронная почта
Возвращаясь к нашему примеру, рассмотрим сервис электронной почты. В нем используются протоколы, работающие поверх TCP, то есть скорость передачи данных постоянно корректируется, стремясь занять всю доступную пропускную способность. Таким образом, будем отталкиваться от максимального значения задержки отправки сообщения – предположим, 1 секунды будет достаточно, чтобы пользователю было комфортно. Далее нужно оценить средний объем отправляемого сообщения. Предположим, что в пиках активности почтовые сообщения часто будут содержать различные вложения (копии счетов, отчеты и т.д.), поэтому для нашего примера средний размер сообщения возьмем 500 кбайт. И наконец, последний параметр, который нам необходимо выбрать, – максимальное число сотрудников, которые одновременно отправляют сообщения. Предположим, во время авралов половина сотрудников одновременно нажмут кнопку «Отправить» в почтовом клиенте. Тогда требуемая максимальная пропускная способность для трафика электронной почты составит (500 кбайт х 150 хостов)/1 с = 75 000 кбайт/с или 600 Мбит/с. Отсюда сразу можно сделать вывод, что для соединения почтового сервера с сетью необходимо использовать канал Gigabit Ethernet. В ядре сети это значение будет одним из слагаемых, составляющих общую требуемую пропускную способность.
Телефония и видеонаблюдение
Другие приложения – телефония и видеонаблюдение – в своей структуре передачи потоков схожи: оба вида трафика передаются с использованием протокола UDP и имеют более или менее фиксированную скорость передачи. Главные отличия в том, что у телефонии потоки являются двунаправленными и ограничены временем вызова, у видеонаблюдения потоки передаются в одном направлении и, как правило, являются непрерывными.
Чтобы оценить требуемую пропускную способность для трафика телефонии, предположим, что в пики активности количество одновременных соединений, проходящих через шлюз, может достигать 100. При использовании кодека G.711 в сетях Ethernet скорость одного потока с учетом заголовков и служебных пакетов составляет примерно 100 кбит/с. Таким образом, в периоды наибольшей активности пользователей требуемая пропускная способность в ядре сети составит 10 Мбит/с.
Трафик видеонаблюдения рассчитывается довольно просто и точно. Допустим, в нашем случае видеокамеры передают потоки по 4 Мбит/с каждая. Требуемая пропускная способность будет равна сумме скоростей всех видеопотоков: 4 Мбит/с х 20 камер = 80 Мбит/с.
Витоге осталось сложить полученные пиковые значения для каждого из сетевых сервисов: 600 + 10 + 80 = 690 Мбит/с. Это и будет требуемая пропускная способность в ядре сети. При проектировании следует также предусмотреть и возможность масштабирования, чтобы каналы связи могли как можно дольше обслуживать трафик разрастающейся сети. В нашем примере будет достаточно использования Gigabit Ethernet, чтобы удовлетворить требованиям сервисов и одновременно иметь возможность беспрепятственно развивать сеть, подключая большее количество узлов
Конечно же, приведенный пример является далеко не эталонным – каждый случай нужно рассматривать отдельно. В реальности топология сети может быть гораздо сложнее (рис. 2), и оценку пропускной способности необходимо производить для каждого из участков сети.
Нужно учитывать, что VoIP-трафик (IP-телефония) распространяется не только от телефонов к серверу, но и между телефонами напрямую. Кроме того, в разных отделах организации сетевая активность может различаться: служба техподдержки совершает больше телефонных вызовов, отдел проектов активнее других пользуется электронной почтой, инженерный отдел больше других потребляет интернет-трафик и т.д. В результате некоторые участки сети могут требовать большей пропускной способности по сравнению с остальными.
Полезная и полная пропускная способность
В нашем примере при расчете скорости потока IP-телефонии мы учитывали используемый кодек и размеры заголовка пакета. Это немаловажная деталь, которую нужно иметь в виду. В зависимости от способа кодирования (используемые кодеки), объема данных, передаваемых в каждом пакете, и применяемых протоколов канального уровня формируется полная пропускная способность потока. Именно полная пропускная способность должна учитываться при оценке требуемой пропускной способности сети. Это наиболее актуально для IP-телефонии и других приложений, использующих передачу низкоскоростных потоков в реальном времени, в которых размер заголовков пакета составляет существенную часть от размера пакета целиком. Для наглядности сравним два потока VoIP (см. таблицу). Эти потоки используют одинаковое сжатие, но разные размеры полезной нагрузки (собственно, цифровой аудиопоток) и разные протоколы канального уровня.
Скорость передачи данных в чистом виде, без учета заголовков сетевых протоколов (в нашем случае – цифрового аудиопотока), есть полезная пропускная способность. Как видно из таблицы, при одинаковой полезной пропускной способности потоков их полная пропускная способность может сильно различаться. Таким образом, при расчете требуемой пропускной способности сети для телефонных вызовов в пиковые нагрузки, особенно у операторов связи, выбор канальных протоколов и параметров потоков играет значительную роль.
Выбор оборудования
Выбор протоколов канального уровня обычно не составляет проблемы (сегодня чаще стоит вопрос, какая пропускная способность должна быть у канала Ethernet), но вот выбор подходящего оборудования даже у опытного инженера может вызвать затруднения.
Развитие сетевых технологий одновременно с растущими потребностями приложений в пропускной способности сетей вынуждает производителей сетевого оборудования разрабатывать все новые программно-аппаратные архитектуры. Часто у отдельно взятого производителя встречаются на первый взгляд схожие модели оборудования, но предназначенные для решения разных сетевых задач. Взять, к примеру, коммутаторы Ethernet: у большинства производителей наряду с обычными коммутаторами, используемыми на предприятиях, есть коммутаторы для построения сетей хранения данных, для организации операторских сервисов и т.д. Модели одной ценовой категории различаются своей архитектурой, «заточенной» под определенные задачи.
Кроме общей производительности, выбор оборудования также должен быть обусловлен поддерживаемыми технологиями. В зависимости от типа оборудования определенный набор функций и виды трафика могут обрабатываться на аппаратном уровне, не используя ресурсы центрального процессора и памяти. При этом трафик других приложений будет обрабатываться на программном уровне, что сильно снижает общую производительность и, как следствие, максимальную пропускную способность. Например, многоуровневые коммутаторы, благодаря сложной аппаратной архитектуре, способны осуществлять передачу IP-пакетов без снижения производительности при максимальной загрузке всех портов. При этом если мы захотим использовать более сложную инкапсуляцию (GRE, MPLS), то такие коммутаторы (по крайней мере недорогие модели) вряд ли нам подойдут, поскольку их архитектура не поддерживает соответствующие протоколы, и в лучшем случае такая инкапсуляция будет происходить за счет центрального процессора малой производительности. Поэтому для решения подобных задач можно рассматривать, например, маршрутизаторы, у которых архитектура основана на высокопроизводительном центральном процессоре и в большей степени зависит от программной, нежели аппаратной реализации. В этом случае в ущерб максимальной пропускной способности мы получаем огромный набор поддерживаемых протоколов и технологий, которые не поддерживаются коммутаторами той же ценовой категории.
Общая производительность оборудования
В документации к своему оборудованию производители часто указывают два значения максимальной пропускной способности: одно выражается в пакетах в секунду, другое – в битах в секунду. Это связано с тем, что большая часть производительности сетевого оборудования расходуется, как правило, на обработку заголовков пакетов. Грубо говоря, оборудование должно принять пакет, найти для него подходящий путь коммутации, сформировать новый заголовок (если нужно) и передать дальше. Очевидно, что в этом случае играет роль не объем данных, передаваемых в единицу времени, а количество пакетов.
Если сравнить два потока, передаваемых с одинаковой скоростью, но с разным размером пакетов, то на передачу потока с меньшим размером пакетов потребуется больше производительности. Данный факт следует учитывать, если в сети предполагается использовать, например, большое количество потоков IP-телефонии – максимальная пропускная способность в битах в секунду здесь будет гораздо меньше заявленной.
Понятно, что при смешанном трафике, да еще и с учетом дополнительных сервисов (NAT, VPN), как это бывает в подавляющем большинстве случаев, очень сложно рассчитать нагрузку на ресурсы оборудования. Часто производители оборудования или их партнеры проводят нагрузочное тестирование разных моделей при разных условиях и результаты публикуют в Интернете в виде сравнительных таблиц. Ознакомление с этими результатами сильно упрощает задачу выбора подходящей модели.
Подводные камни модульного оборудования
Если выбранное сетевое оборудование является модульным, то, кроме гибкой конфигурации и масштабируемости, обещанной производителем, можно получить и множество «подводных камней».
При выборе модулей следует тщательно ознакомиться с их описанием или проконсультироваться у производителя. Недостаточно руководствоваться только типом интерфейсов и их количеством – нужно также ознакомиться и с архитектурой самого модуля. Для похожих модулей нередка ситуация, когда при передаче трафика одни способны обрабатывать пакеты автономно, а другие просто пересылают пакеты центральному процессорному модулю для дальнейшей обработки (соответственно для одинаковых внешне модулей цена на них может различаться в несколько раз). В первом случае общая производительность оборудования и, как следствие, его максимальная пропускная способность оказываются выше, чем во втором, поскольку часть своей работы центральный процессор перекладывает на процессоры модулей.
Кроме этого, модульное оборудование часто обладает блокируемой архитектурой (когда максимальная пропускная способность ниже суммарной скорости всех портов). Это связано с ограниченной пропускной способностью внутренней шины, через которую модули осуществляют обмен трафиком между собой. Например, если модульный коммутатор имеет внутреннюю шину с пропускной способностью 20 Гбит/с, то для его линейной платы с 48 портами Gigabit Ethernet при полной загрузке можно использовать только 20 портов. Подобные детали нужно также иметь в виду и при выборе оборудования внимательно читать документацию.
Общие рекомендации
При проектировании IP-сетей пропускная способность является ключевым параметром, от которого будет зависеть архитектура сети в целом. Для более точной оценки пропускной способности, можно руководствоваться следующим рекомендациям:
- Изучайте приложения, которые планируется использовать в сети, применяемые ими технологии и объемы передаваемого трафика. Пользуйтесь советами разработчиков и опытом коллег, чтобы учесть все нюансы работы этих приложений при построении сетей.
- Детально изучайте сетевые протоколы и технологии, которые используются этими приложениями.
- Внимательно читайте документацию при выборе оборудования. Чтобы иметь некоторый запас готовых решений, ознакомьтесь с продуктовыми линейками разных производителей.
В результате при правильном выборе технологий и оборудования можно быть уверенным, что сеть в полной мере удовлетворит требованиям всех приложений и, будучи достаточно гибкой и масштабируемой, прослужит долгое время.