Пропускную способность сети можно измерить с помощью различных инструментов, доступных на разных платформах. На этой странице объясняется теория, лежащая в основе того, что эти инструменты предназначены для измерения, и проблемы, связанные с этими измерениями.
Причины измерения пропускной способности в сетях. Люди часто озабочены измерением максимальной пропускной способности канала связи или доступа к сети в битах в секунду. Типичный метод выполнения измерения - это передача «большого» файла из одной системы в другую и измерение времени, необходимого для завершения передачи или копирования файла. Затем пропускная способность рассчитывается путем деления размера файла на время, чтобы получить пропускную способность в мегабитах , килобитах или битах в секунду.
К сожалению, результаты такого упражнения часто дают полезную пропускную способность, которая меньше максимальной теоретической пропускной способности данных, что приводит к тому, что люди полагают, что их канал связи работает неправильно. Фактически, помимо накладных расходов на передачу учитывается множество накладных расходов, включая задержку , размер окна приема TCP и системные ограничения, что означает, что рассчитанная полезная производительность не отражает максимально достижимую пропускную способность. [1]
Теория: краткое изложение
Максимальную пропускную способность можно рассчитать следующим образом:
где RWIN - это окно приема TCP, а RTT - это время приема -передачи для пути. Максимальный размер окна TCP при отсутствии параметра масштаба окна TCP составляет 65 535 байт . Пример: максимальная пропускная способность = 65 535 байт / 0,220 с = 297886,36 Б / с * 8 = 2,383 Мбит / с. По одному TCP-соединению между этими конечными точками тестируемая полоса пропускания будет ограничена до 2,376 Мбит / с, даже если ограниченная полоса пропускания больше. [2]
Программное обеспечение для проверки пропускной способности
Программное обеспечение для проверки пропускной способности используется для определения максимальной пропускной способности сети или подключения к Интернету . Обычно это делается путем попытки загрузить или выгрузить максимальный объем данных за определенный период времени или определенный объем данных за минимальный промежуток времени. По этой причине тесты пропускной способности могут задерживать интернет-передачу через интернет-соединение по мере их проведения и могут вызвать завышенную плату за передачу данных.
Более точным методом является использование специального программного обеспечения, такого как Netcps, JDSU QT600, Spirent Test Center, IxChariot , Xena Networks Valkyrie & Vulcan, Iperf , Ttcp , netperf или bwping для измерения максимальной пропускной способности сетевого доступа [3] или используйте VisuGATOR в качестве инструмента визуализации для анализа сетевых протоколов. [4]
Номенклатура
Битрейт | |||
---|---|---|---|
Имя | Символ | Несколько | |
бит в секунду | бит / с | 1 | 1 |
Десятичные префиксы ( SI ) | |||
килобит в секунду | кбит / с | 10 3 | 1000 1 |
мегабит в секунду | Мбит / с | 10 6 | 1000 2 |
гигабит в секунду | Гбит / с | 10 9 | 1000 3 |
терабит в секунду | Тбит / с | 10 12 | 1000 4 |
Двоичные префиксы ( IEC 80000-13 ) | |||
кибибит в секунду | Кибит / с | 2 10 | 1024 1 |
мебибит в секунду | Мибит / с | 2 20 | 1024 2 |
гибибит в секунду | Гибит / с | 2 30 | 1024 3 |
тебибит в секунду | Тибит / с | 2 40 | 1024 4 |
Пропускная способность каналов связи измеряется в битах в секунду (бит / с), килобитах в секунду (кбит / с), мегабитах в секунду (Мбит / с) и гигабитах в секунду (Гбит / с). В этом приложении кило, мега и гига - стандартные префиксы СИ, указывающие умножение на 1000 ( килограммы ), 1000000 ( мега ) и 1000000000 ( гига ).
Размеры файлов обычно измеряются в байтах - обычно килобайты , мегабайты и гигабайты , где байт равен восьми битам. В современных учебниках один килобайт определяется как 1000 байт, один мегабайт - как 1000000 байтов и т. Д. В соответствии со стандартом Международной электротехнической комиссии (IEC) 1998 года . Однако в системах Windows принято считать, что 1 килобайт равен 1024 (или 2 10 ) байтам, что соответствует 1 кибибайту . Аналогично, размер файла «1 мегабайт» составляет 1024 × 1024 байта, что соответствует 1 мебибайту ), а «1 гигабайт» 1024 × 1024 × 1024 байта = 1 гибибайту ). [5]
Запутанное и непоследовательное использование суффиксов
Обычно употребляемые выражения сокращаются. Что касается размеров файлов, то обычно кто-то говорит, что у них есть файл размером «64 килобайта» (то есть 64 килобайта) или файл размером «100 мегабайт» (то есть 100 мегабайт). Говоря о скорости передачи данных в канале, люди будут взаимозаменяемо использовать термины пропускная способность , полоса пропускания и скорость и называть схему схемой «64 кбит / с» или «2 мегабит», то есть 64 кбит / с или 2 Мбит / с. s (см. также Список пропускных способностей подключения ). Однако схема «64 k» не передаст файл «64 k» за одну секунду. Это может быть неочевидно для тех, кто не знаком с телекоммуникациями и вычислениями, поэтому иногда возникают недопонимания. На самом деле размер файла размером 64 килобайта составляет 64 × 1024 × 8 бит, а схема 64 k будет передавать биты со скоростью 64 × 1000 бит / с, поэтому время, необходимое для передачи файла размером 64 килобайта через 64 k будет не менее (64 × 1024 × 8) / (64 × 1000) секунд, что составляет 8,192 секунды. [6]
Сжатие
Некоторое оборудование может улучшить ситуацию за счет сжатия данных при их отправке. Это особенность большинства аналоговых модемов и некоторых популярных операционных систем . Если файл размером 64 КБ можно сжать путем сжатия , время, необходимое для передачи, может быть уменьшено. Это можно сделать незаметно для пользователя, поэтому файл с высокой степенью сжатия может передаваться значительно быстрее, чем ожидалось. Поскольку это «невидимое» сжатие не может быть легко отключено, отсюда следует, что при измерении пропускной способности с использованием файлов и времени передачи следует использовать файлы, которые не могут быть сжаты. Обычно это делается с использованием файла случайных данных, который становится труднее сжать, чем ближе он к истинно случайному.
Предполагая, что ваши данные не могут быть сжаты, 8,192 секунды для передачи файла размером 64 килобайта по каналу связи 64 килобит / с - это теоретическое минимальное время, которое не будет достигнуто на практике. Это связано с эффектом накладных расходов, которые используются для форматирования данных согласованным образом, так что оба конца соединения имеют согласованное представление данных.
Есть как минимум две проблемы, которые не сразу бросаются в глаза при передаче сжатых файлов:
- Пропускная способность самой сети не улучшается сжатием. С точки зрения сквозной (от сервера к клиенту) точки зрения сжатие действительно улучшает пропускную способность. Это связано с тем, что информационное содержание для того же объема передачи увеличивается за счет сжатия файлов.
- Сжатие файлов на сервере и клиенте требует больше ресурсов процессора на обоих концах. Сервер должен использовать свой процессор для сжатия файлов, если это еще не сделано. После получения клиент должен распаковать файлы. Это можно рассматривать как расходы (для сервера и клиента) в пользу увеличения сквозной пропускной способности (хотя пропускная способность не изменилась для самой сети) [7].
Накладные расходы и форматы данных
[8]
Обычным каналом связи, используемым многими людьми, является асинхронный старт-стоп или просто «асинхронный» последовательный канал. Если у вас есть внешний модем, подключенный к вашему домашнему или офисному компьютеру, есть вероятность, что подключение осуществляется через асинхронное последовательное соединение. Его преимущество в том, что он прост - он может быть реализован с использованием всего трех проводов: отправки, получения и заземления сигнала (или общего сигнала). В интерфейсе RS232 к незанятому соединению подается постоянное отрицательное напряжение. «Нулевой» бит представлен как положительная разность напряжений относительно земли сигнала, а бит «единица» представляет собой отрицательное напряжение относительно земли сигнала, что неотличимо от состояния холостого хода. Это означает, что вам нужно знать, когда бит «единица» начинает отличать его от холостого хода. Это делается путем предварительного согласования скорости передачи данных по каналу связи, а затем использования стартового бита для сигнализации о начале байта - этот стартовый бит будет «нулевым» битом. Стоп-биты - это «единицы», т.е. отрицательное напряжение.
Фактически, многое будет согласовано заранее - скорость передачи битов, количество битов на символ, четность и количество стоповых битов (обозначающих конец символа). Таким образом, обозначение 9600-8-E-2 будет 9600 бит в секунду, с восемью битами на символ, четностью и двумя стоповыми битами.
Обычная установка асинхронного последовательного соединения: 9600-8-N-1 (9600 бит / с, 8 бит на символ, без контроля четности и 1 стоповый бит) - всего передается 10 бит для отправки одного 8-битного символа. (один стартовый бит, 8 битов, составляющих передаваемый байт, и один стоповый бит). Это накладные расходы в размере 20%, поэтому по асинхронному последовательному каналу 9600 бит / с данные будут передаваться не со скоростью 9600/8 байтов в секунду (1200 байтов / с), а на самом деле в этом случае 9600/10 байтов в секунду (960 байт / s), что значительно медленнее, чем ожидалось.
Может быть и хуже. Если указана четность и мы используем 2 стоповых бита, накладные расходы на перенос одного 8-битного символа составляют 4 бита (один стартовый бит, один бит четности и два стоповых бита) - или 50%! В этом случае соединение 9600 бит / с будет передавать 9600/12 байт / с (800 байт / с). Асинхронные последовательные интерфейсы обычно поддерживают скорость передачи битов до 230,4 кбит / с. Если он настроен на отсутствие четности и одного стопового бита, это означает, что скорость передачи байтов составляет 23,04 кбайт / с.
Преимущество асинхронного последовательного подключения - его простота. Одним из недостатков является низкая эффективность передачи данных. Это можно преодолеть, используя синхронный интерфейс. В этом типе интерфейса тактовый сигнал добавляется по отдельному проводу, и биты передаются синхронно с часами - интерфейсу больше не нужно искать стартовые и стоповые биты каждого отдельного символа - однако это необходимо чтобы иметь механизм, обеспечивающий синхронизацию отправляющих и принимающих часов, поэтому данные разделяются на кадры из нескольких символов, разделенных известными разделителями. Существует три распространенных схемы кодирования для кадровой связи - HDLC , PPP и Ethernet.
HDLC
При использовании HDLC вместо каждого байта, имеющего начало, необязательную четность и один или два стоповых бита, байты собираются вместе в кадр . Начало и конец кадра сигнализируются «флагом», а обнаружение ошибок выполняется последовательностью проверки кадра. Если у кадра максимальный размер адреса составляет 32 бита, управляющая часть максимального размера - 16 бит, а контрольная последовательность максимального размера - 16 бит, накладные расходы на каждый кадр могут достигать 64 бит. Если бы каждый кадр содержал только один байт, эффективность передачи данных была бы чрезвычайно низкой. Однако байты обычно собираются вместе, так что даже при максимальных накладных расходах в 64 бита кадры, содержащие более 24 байтов, более эффективны, чем асинхронные последовательные соединения. Поскольку кадры могут различаться по размеру, поскольку они могут иметь разное количество байтов, передаваемых в качестве данных, это означает, что служебные данные соединения HDLC не фиксированы. [9]
PPP
«Протокол точка-точка » (PPP) определен в документах Интернет-запроса на комментарии RFC 1570, RFC 1661 и RFC 1662. Что касается кадрирования пакетов, PPP очень похож на HDLC, но поддерживает как битовые, так и битовые форматы). ориентированные, а также побайтовые («заполненные октетами») методы разграничения кадров при сохранении прозрачности данных. [10]
Ethernet
Ethernet - это технология « локальной сети » (LAN), которая тоже оформлена. Способ электрического определения фрейма в соединении между двумя системами отличается от типичной технологии глобальной сети, в которой реализован HDLC или PPP, но эти детали не важны для расчетов пропускной способности. Ethernet является совместно используемой средой, поэтому не гарантируется, что только две системы, передающие файл между собой, будут иметь монопольный доступ к соединению. Если несколько систем пытаются обмениваться данными одновременно, пропускная способность между любой парой может быть существенно ниже номинальной доступной полосы пропускания. [11]
Другие протоколы низкого уровня
Выделенные двухточечные каналы - не единственный вариант для многих соединений между системами. Также можно использовать услуги на основе Frame Relay , ATM и MPLS . При вычислении или оценке пропускной способности данных необходимо понимать детали формата кадра / ячейки / пакета и подробную реализацию технологии. [12]
Ретрансляция кадров
Frame Relay использует модифицированный формат HDLC для определения формата кадра, в котором передаются данные. [13]
Банкомат
« Асинхронный режим передачи » (ATM) использует радикально другой метод передачи данных. Вместо использования кадров или пакетов переменной длины данные передаются в ячейках фиксированного размера. Каждая ячейка имеет длину 53 байта, первые 5 байтов определены как заголовок, а следующие 48 байтов - как полезная нагрузка. Для сетей передачи данных обычно требуются пакеты данных, размер которых превышает 48 байтов, поэтому существует определенный процесс адаптации, который определяет, как большие пакеты данных должны быть стандартным образом разделены для передачи меньшими ячейками. Этот процесс зависит от передаваемых данных, поэтому в номенклатуре ATM есть разные уровни адаптации ATM . Процесс, определенный для большинства данных, называется Уровнем адаптации ATM № 5 или AAL5 .
Понимание пропускной способности каналов ATM требует знания того, какой уровень адаптации ATM использовался для передаваемых данных. [14]
MPLS
Многопротокольная коммутация по меткам (MPLS) добавляет к существующим пакетам данных стандартный тег или заголовок, известный как «метка». В определенных ситуациях можно использовать MPLS «в стеке», так что метки добавляются к уже помеченным пакетам. Соединения между системами MPLS также могут быть «собственными», без основного транспортного протокола, или пакеты с меткой MPLS могут передаваться внутри Frame Relay, или пакеты HDLC в качестве полезной нагрузки. При правильном расчете пропускной способности необходимо учитывать такие конфигурации. Например, пакет данных может иметь две метки MPLS, прикрепленные посредством «стекирования меток», а затем размещаться в качестве полезной нагрузки внутри кадра HDLC. Это создает дополнительные накладные расходы, которые необходимо учитывать, что одна метка MPLS, прикрепленная к пакету, который затем отправляется «изначально», без базового протокола в принимающую систему. [15]
Протоколы более высокого уровня
Немногие системы передают файлы и данные, просто копируя содержимое файла в поле «Данные» кадров HDLC или PPP - другой уровень протокола используется для форматирования данных внутри поля «Данные» кадра HDLC или PPP. Наиболее часто используемый такой протокол - это Интернет-протокол (IP), определенный в RFC 791. Это накладывает свои собственные накладные расходы.
Опять же, некоторые системы просто копируют содержимое файлов в IP-пакеты, но используют еще один протокол, который управляет соединением между двумя системами - TCP ( протокол управления передачей ), определенный в RFC 1812. Это добавляет свои собственные накладные расходы.
Наконец, последний уровень протокола управляет фактическим процессом передачи данных. Обычно для этого используется протокол передачи файлов [16].
Доступные инструменты для измерения пропускной способности
Этот раздел не может быть исчерпывающим, поскольку доступно множество инструментов, некоторые из которых являются проприетарными и специфичными для приложений поставщиков.
Некоторые из этих инструментов можно использовать в гнусных целях. Использование этих инструментов может привести к пагубным последствиям, даже если у тестировщика есть только добрые намерения. Поэтому их следует использовать, как минимум, с осторожностью и с хорошим пониманием инструментов.
- HTTPing
- HTTPing для Android - недоступен в игровом магазине.
- SpeedOf.Me, тест скорости HTML5
- www.bandwidthspeedtest.co.uk, Тест скорости
- Инструмент измерения пропускной способности Iperf
- Инструмент оценки пропускной способности Pingb
- Конечные точки IxChariot и IxChariot Pro
- ByteBlower [17]
- Xena Networks, https://xenanetworks.com/
Смотрите также
- Асимптотическая полоса пропускания
- Измерение сетевого трафика
- Модель генерации пакетов
- SpeedOf.Me - тест пропускной способности HTML5
Рекомендации
- ^ Comer, DE (2008). Компьютерные сети и Интернет 5-е издание
- Перейти ↑ Nelson, M. (2006). «Приз Хаттера».
- ^ http://www.ookla.com/docs/
- ^ Ю-Цзюй Линь; Сунгук Ли; Ханиф А. Латчман (1 февраля 2007 г.). «VisuGATOR - инструмент визуализации для анализа сетевых протоколов» . 9-я Международная конференция по передовым коммуникационным технологиям . С. 128–133. DOI : 10.1109 / ICACT.2007.358321 . ISBN 978-89-5519-131-8. ISSN 1738-9445 . S2CID 8574878 .
- Перейти ↑ Nelson, M. (2006). «Приз Хаттера».
- Перейти ↑ Nelson, M. (2006). "Приз Хаттера"
- ^ Comer, DE (2008). Компьютерные сети и Интернет 5-е издание
- ^ Comer, DE (2008). Компьютерные сети и Интернет 5-е издание
- ^ Cisco System, Inc. (2001-2006). Руководство по настройке Cisco IOS IP
- ^ Лидия Parziale, DT (2006). РУКОВОДСТВО И ТЕХНИЧЕСКИЙ ОБЗОР TCP / IP
- ^ Lammle, Т. (2002). Циско сертифицированная сетевая ассоциация. Лондон
- ^ Лидия Parziale, DT (2006). РУКОВОДСТВО И ТЕХНИЧЕСКИЙ ОБЗОР TCP / IP
- ^ Comer, DE (2008). Компьютерные сети и Интернет 5-е издание
- ^ Comer, DE (2008). Компьютерные сети и Интернет 5-е издание
- ^ Смит, С. (2003). Введение в MPLS. CISCO
- ^ Лидия Parziale, DT (2006). РУКОВОДСТВО И ТЕХНИЧЕСКИЙ ОБЗОР TCP / IP
- ^ http://dst.lbl.gov/publications/ Инструменты для измерения максимального размера пакета, доступной полосы пропускания и достижимой пропускной способности
Внешние ссылки
- Тесты пропускной способности в Curlie
- Документ Национальной лаборатории Лоуренса Беркли об измерении доступной пропускной способности