Введение

Пропускная способность сети может быть измерена с помощью различных инструментов, доступных на разных платформах. На этой странице объясняется теория, лежащая в основе того, что эти инструменты пытаются измерить, и проблемы, связанные с этими измерениями. Причины измерения пропускной способности сети. Часто возникает необходимость измерить максимальную скорость передачи данных в битах в секунду для канала связи или доступа к сети. Типичный метод измерения заключается в передаче «большого» файла с одной системы на другую и измерении времени, необходимого для завершения передачи или копирования файла. Затем пропускная способность рассчитывается путем деления размера файла на время, чтобы получить скорость в мегабитах, килобитах или битах в секунду. К сожалению, результаты такого измерения часто показывают полезную пропускную способность (goodput), которая меньше максимальной теоретической пропускной способности, что заставляет людей полагать, что их канал связи работает некорректно. На самом деле, на пропускную способность влияет множество накладных расходов, помимо расходов на передачу, включая задержку, размер окна приема TCP и системные ограничения, что означает, что рассчитанная полезная пропускная способность не отражает максимально достижимую пропускную способность.

Программное обеспечение для тестирования пропускной способности

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

Номенклатура

Пропускная способность каналов связи измеряется в битах в секунду (бит/с), килобитах в секунду (кбит/с), мегабитах в секунду (Мбит/с) и гигабитах в секунду (Гбит/с). В данном случае кило, мега и гига являются стандартными префиксами СИ, обозначающими умножение на 1000 (кило), 1 000 000 (мега) и 1 000 000 000 (гига). Размеры файлов обычно измеряются в байтах – килобайтах, мегабайтах и гигабайтах, где один байт состоит из восьми бит. В современных учебниках один килобайт определяется как 1000 байт, один мегабайт как 1 000 000 байт и так далее, в соответствии со стандартом Международной электротехнической комиссии (МЭК) 1998 года. Однако, в системах Windows принято определять 1 килобайт как 1024 (или 2 в 10-й степени) байт, что эквивалентно 1 кибибайту. Аналогично, размер файла "1 мегабайт" равен 1024 × 1024 байтам, что эквивалентно 1 мебибайту, а "1 гигабайт" равен 1024 × 1024 × 1024 байтам, что эквивалентно 1 гибибайту.

Сбивающее с толку и непоследовательное использование суффиксов

Люди обычно сокращают часто используемые выражения. Когда речь идет об объеме файлов, обычно говорят о файле размером "64 к" (имея в виду 64 килобайта) или "100 мег" (имея в виду 100 мегабайт). При обсуждении скорости передачи данных в канале связи люди взаимозаменяемо используют термины "пропускная способность", "полоса пропускания" и "скорость", называя канал "64 к" или "2 мег" – что означает 64 кбит/с или 2 Мбит/с (см. также Список пропускных способностей соединений). Однако канал "64 к" не передаст файл "64 к" за одну секунду. Это может быть неочевидно для тех, кто не знаком с телекоммуникациями и вычислительной техникой, поэтому иногда возникают недопонимания. Фактически, 64-килобайтный файл имеет размер 64 × 1024 × 8 бит, а канал "64 к" передает данные со скоростью 64 × 1000 бит/с. Следовательно, время, необходимое для передачи 64-килобайтного файла по каналу "64 к", составит не менее (64 × 1024 × 8) / (64 × 1000) секунд, то есть 8,192 секунды.

Общие расходы и форматы данных

Общая схема связи, используемая многими людьми, — это асинхронная последовательная связь, или просто "асинхронная" последовательная связь. Если к вашему домашнему или офисному компьютеру подключен внешний модем, то, скорее всего, соединение осуществляется через асинхронную последовательную линию. Ее преимущество заключается в простоте — ее можно реализовать, используя всего три провода: передача, прием и земля (или общий провод). В интерфейсе RS 232 в состоянии простоя на соединение постоянно подается отрицательное напряжение. Бит "0" представляется как положительная разность напряжений относительно земли, а бит "1" — как отрицательное напряжение относительно земли, что делает его неотличимым от состояния простоя. Это означает, что необходимо знать момент начала бита "1", чтобы отличить его от состояния простоя. Это достигается путем предварительной договоренности о скорости передачи данных по каналу связи, а затем использования стартового бита для обозначения начала байта — этот стартовый бит будет битом "0". Стоповые биты — это биты "1", то есть отрицательное напряжение. На самом деле, заранее согласовывается гораздо больше параметров: скорость передачи битов, количество битов в символе, контроль четности и количество стоповых битов (обозначающих конец символа). Таким образом, обозначение 9600 8 E 2 означает 9600 бит в секунду, 8 бит на символ, четную четность и 2 стоповых бита. Типичная настройка асинхронной последовательной связи — 9600 8 N 1 (9600 бит/с, 8 бит на символ, без контроля четности и 1 стоповый бит) — всего 10 бит передаются для отправки одного 8-битного символа (один стартовый бит, 8 бит, составляющих байт, и один стоповый бит). Это накладные расходы в 20%, поэтому асинхронная последовательная линия со скоростью 9600 бит/с не будет передавать данные со скоростью 9600/8 байт в секунду (1200 байт/с), а фактически, в данном случае, 9600/10 байт в секунду (960 байт/с), что значительно медленнее, чем ожидалось. Ситуация может быть еще хуже. Если указан контроль четности и используется 2 стоповых бита, то накладные расходы на передачу одного 8-битного символа составляют 4 бита (один стартовый бит, один бит четности и два стоповых бита), или 50%! В этом случае соединение со скоростью 9600 бит/с будет передавать 9600/12 байт/с (800 байт/с). Асинхронные последовательные интерфейсы обычно поддерживают скорость передачи битов до 230,4 кбит/с. Если он настроен на отсутствие контроля четности и 1 стоповый бит, это означает, что скорость передачи байтов составляет 23,04 кбайт/с. Преимущество асинхронной последовательной связи — ее простота. Недостаток — низкая эффективность передачи данных. Это можно преодолеть, используя синхронный интерфейс. В этом типе интерфейса на отдельном проводе добавляется тактовый сигнал, и биты передаются синхронно с тактами — интерфейсу больше не нужно искать стартовые и стоповые биты каждого отдельного символа, однако необходим механизм для обеспечения синхронизации тактовых частот передатчика и приемника, поэтому данные разбиваются на кадры, состоящие из нескольких символов, разделенных известными разделителями. Существует три распространенные схемы кодирования для кадров связи: HDLC, PPP и Ethernet.

HDLC

При использовании HDLC, вместо того чтобы каждый байт имел стартовый бит, необязательный бит четности и один или два стоповых бита, байты объединяются в кадр. Начало и конец кадра обозначаются флагом, а обнаружение ошибок осуществляется с помощью контрольной последовательности кадра. Если кадр имеет максимальный размер адреса 32 бита, максимальный размер управляющей части 16 бит и максимальный размер контрольной последовательности кадра 16 бит, накладные расходы на кадр могут достигать 64 бит. Если бы каждый кадр содержал только один байт, эффективность передачи данных была бы крайне низкой. Однако байты обычно объединяются, поэтому даже при максимальных накладных расходах в 64 бита, кадры, содержащие более 24 байт, более эффективны, чем асинхронные последовательные соединения. Поскольку размер кадров может меняться в зависимости от количества передаваемых данных, накладные расходы HDLC-соединения не являются фиксированными.

ППС

Протокол "точка-точка" (PPP) определяется в документах запроса комментариев к Интернету (RFC 1570, RFC 1661 и RFC 1662). В отношении формирования пакетов PPP весьма похож на HDLC, но поддерживает как битово-ориентированные, так и байтово-ориентированные ("октетно-заполненные") методы ограничения кадров, обеспечивая при этом прозрачность данных.

Эфир

Ethernet — это технология "локальной сети" (LAN), работающая на основе кадров. Способ электрического представления кадра на соединении между двумя системами отличается от типичных технологий сетей глобальной сети, использующих HDLC или PPP, однако эти детали несущественны для расчёта пропускной способности. Ethernet использует общую среду передачи, поэтому нет гарантии, что только две системы, обменивающиеся файлом, получат исключительный доступ к соединению. Если несколько систем пытаются одновременно передавать данные, пропускная способность между любой парой из них может быть значительно ниже номинальной полосы пропускания.

Прочие протоколы низкого уровня

Специальные каналы связи типа "точка-точка" – не единственный вариант для многих соединений между системами. Также могут использоваться сервисы Frame Relay, ATM и MPLS. При расчете или оценке скорости передачи данных необходимо учитывать детали формата кадра, ячейки или пакета, а также особенности реализации технологии.

Реле рамки

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

АТМ

Асинхронный режим передачи (ATM) использует принципиально иной метод передачи данных. Вместо использования кадров или пакетов переменной длины, данные передаются в ячейках фиксированного размера. Каждая ячейка имеет длину 53 байта, при этом первые 5 байт определены как заголовок, а следующие 48 байт – как полезная нагрузка. В сетях передачи данных часто требуются пакеты данных, превышающие 48 байт, поэтому существует определенный процесс адаптации, который определяет, как большие пакеты данных должны быть разделены стандартным образом для передачи в меньших ячейках. Этот процесс зависит от типа передаваемых данных, поэтому в терминологии ATM существуют различные слои адаптации ATM. Процесс, определенный для большинства данных, называется ATM Adaptation Layer No. 5 или AAL5. Для понимания пропускной способности ATM-соединений необходимо знать, какой слой адаптации ATM был использован для передачи данных.

MPLS

Многопротокольная пересылка по меткам (MPLS) добавляет стандартный тег или заголовок, известный как «метка», к существующим пакетам данных. В определенных ситуациях возможно использовать MPLS в «каскадном» режиме, когда метки добавляются к пакетам, которые уже имеют метки. Соединения между системами MPLS также могут быть «нативными», то есть не использовать базовый транспортный протокол, либо пакеты с метками MPLS могут передаваться внутри кадров Frame Relay или HDLC в качестве полезной нагрузки. При расчете пропускной способности необходимо учитывать такие конфигурации. Например, пакет данных может иметь две метки MPLS, добавленные посредством «каскадирования меток», а затем помещаться в качестве полезной нагрузки внутри кадра HDLC. Это создает больший объем служебной информации, который необходимо учитывать, чем при использовании одной метки MPLS, прикрепленной к пакету и отправленной «нативно», без базового протокола, в принимающую систему.

Протоколы более высокого уровня

Немногие системы передают файлы и данные, просто копируя содержимое файла в поле "Данные" HDLC или PPP-кадров — для форматирования данных внутри поля "Данные" HDLC или PPP-кадров используется другой протокольный уровень. Наиболее часто используемым таким протоколом является Интернет-протокол (IP), определённый в RFC 791. Это накладывает собственные накладные расходы. Вновь, немногие системы просто копируют содержимое файлов в IP-пакеты, а используют ещё один протокол, управляющий соединением между двумя системами — TCP (Протокол управления передачей), определённый в RFC 1812. Это добавляет собственные накладные расходы. Наконец, последний протокольный уровень управляет фактическим процессом передачи данных. Обычно для этого используется протокол передачи файлов.