Вычислите пропускную способность канала связи если известно что за 4 секунды было передано 5 файлов
Я прочитал несколько статей в Интернете, и я получил довольно хорошее представление о TCP и UDP в целом. Однако у меня все еще есть некоторые сомнения, которые, я уверен, не совсем понятны мне.
Каков правильный способ расчета пропускной способности?
( Can't we just divide Total number of bytes received by total time taken ? )
Какова эта ключевая особенность в TCP, которая делает ее намного выше чем UDP?
UPDATE:
Я понял, что TCP использует окна, которые представляют собой не что иное, как много сегментов, которые могут быть отправлены до того, как они действительно ждут Благодарности. Но я сомневаюсь, что в сегментах UDP постоянно отправляются, даже не беспокоясь об Благодарности. Таким образом, в UDP нет дополнительных накладных расходов. Тогда почему пропускная способность TCP намного выше, чем пропускная способность UDP?
Если это так, то пропускная способность TCP всегда равна скорости Know Link. И поскольку RTT отменяет друг друга, пропускная способность TCP даже не зависит от RTT.
Я видел в некоторых инструментах сетевого анализа, таких как iperf, тест производительности с пропускной меткой и т.д., что пропускная способность TCP/UDP изменяется с размером блока.
Как пропускная способность зависит от размера блока? Является ли размер блока равным окну TCP или размер дейтаграммы UDP?
Есть несколько способов, в зависимости от того, что именно вы хотите измерить. Все они сводятся к делению некоторого количества бит (или байтов) на некоторую длительность, как вы упоминаете; что зависит от того, какие биты вы считаете или (реже) какие моменты времени вы рассматриваете для измерения продолжительности.
Факторы, которые вы должны принять во внимание:
На каком уровне сетевого стека вы измеряете пропускную способность?
Если вы измеряете на прикладном уровне, все, что имеет значение, это то, какие полезные данные вы передаете на другую конечную точку. Например, если вы передаете файл размером 6 КБ, объем данных, который вы рассчитываете при измерении пропускной способности, составляет 6 КБ (то есть 6000 байтов, а не бит, и обратите внимание на множитель 1000, а не 1024; эти соглашения распространены в сети).
Обычно это называется goodput и может отличаться от того, что фактически отправляется на транспортном уровне (как в TCP или UDP), по двум причинам:
1. Накладные расходы из-за заголовков
Каждый уровень в сети добавляет заголовок к данным, который вносит некоторые издержки из-за своего времени передачи. Более того, транспортный уровень разбивает ваши данные на сегменты; Это связано с тем, что сетевой уровень (как в IPv4 или IPv6) имеет максимальный размер пакета, называемый MTU, обычно 1500 B в сетях Ethernet. Это значение включает в себя размер заголовка сетевого уровня (например, заголовок IPv4, который имеет переменную длину, но обычно длиной 20 В) и заголовок транспортного уровня (для TCP он также является переменным по длине, но обычно длиной 40 В). Это приводит к тому, что максимальный размер сегмента MSS (количество байтов данных без заголовков в одном сегменте) составляет 1500 - 40 - 20 = 1440 байтов.
Здесь я не учел тот факт, что канальный уровень (как в Ethernet) добавляет свой собственный заголовок и, возможно, также суффикс, который дополнительно увеличивает издержки. Для Ethernet это 14 байтов для заголовка Ethernet, дополнительно 4 байта для тега VLAN, затем CRC 4 байта и разрыв 12 байтов, что в сумме составляет 36 байтов на пакет.
Если вы рассматриваете канал с фиксированной скоростью, скажем, 10 Мбит/с, в зависимости от того, что вы измеряете, вы получите другую пропускную способность. Обычно вы хотите один из них:
- Хорошая производительность, то есть пропускная способность на уровне приложения, если вы хотите измерить производительность приложения. В этом примере вы делите 6 КБ на продолжительность передачи.
- Пропускная способность канального уровня, если вы хотите измерить производительность сети. В этом примере вы делите 6 кБ + служебные данные TCP + служебные данные IP + служебные данные Ethernet = 6,3 кБ + 5 * 36 B = 6516 B на длительность передачи.
Затраты на ретрансляцию
Интернет - это сеть с максимальными усилиями, что означает, что пакеты будут доставлены, если это возможно, но также могут быть отброшены. Отбрасывание пакетов корректируется транспортным уровнем, в случае TCP; для UDP такого механизма нет, что означает, что либо приложению все равно, не доставляются ли некоторые части данных, либо приложение само выполняет повторную передачу поверх UDP.
Повторная передача снижает полезную производительность по двум причинам:
Понятно, что если вы используете UDP вместо TCP и не заботитесь о потере пакетов, вы, конечно, получите лучшую производительность. Но для многих приложений потеря данных недопустима, поэтому такое измерение не имеет смысла.
Есть некоторые приложения, которые используют UDP для передачи данных. Одним из них является BitTorrent, который может использовать либо TCP, либо протокол, который они разработали, который называется uTP, который эмулирует TCP поверх UDP, но нацелен на повышение эффективности при использовании множества параллельных соединений. Другим транспортным протоколом, реализованным по протоколу UDP, является QUIC, который также эмулирует TCP и предлагает мультиплексирование нескольких параллельных передач по одному соединению и прямое исправление ошибок для уменьшения повторных передач.
Как вы измеряете время передачи
Передача завершена, когда отправитель завершил отправку последнего бита по проводам, или он также включает время, необходимое для прохождения последнего бита до получателя? Кроме того, включает ли оно время, необходимое для получения подтверждения от получателя, в котором говорится, что все данные были получены успешно и повторная передача не нужна?
Это действительно зависит от того, что вы хотите измерить. Обратите внимание, что для больших передач одно дополнительное время прохождения туда-обратно незначительно в большинстве случаев (если вы не общаетесь, например, с зондом на Марсе).
Это не правда, хотя распространенное заблуждение.
В дополнение к повторной передаче данных, когда это необходимо, TCP также будет регулировать скорость отправки, чтобы не вызывать отбрасывание пакетов из-за перегрузки сети. Алгоритм настройки совершенствовался на протяжении десятилетий и обычно быстро сходится к максимальной скорости, поддерживаемой сетью (фактически узким местом). По этой причине обычно трудно превзойти TCP по пропускной способности.
Некоторые мультимедийные приложения используют UDP, но ограничивают скорость передачи на отправителе с очень небольшой скоростью. Обычно это используется в приложениях VoIP или интернет-радио, где требуется очень низкая пропускная способность, но низкая задержка. Я полагаю, что это одна из причин неправильного представления о том, что UDP медленнее, чем TCP; это не так, UDP может быть настолько быстрым, насколько позволяет сеть.
Как я уже говорил, существуют протоколы, такие как uTP или QUIC, реализованные через UDP, которые достигают производительности, аналогичной TCP.
Без потери пакетов (и повторных передач) это правильно.
Это правильно, только если размер окна настроен на оптимальное значение. BDP/RTT - это оптимальная (максимально возможная) скорость передачи в сети. Большинство современных операционных систем должны иметь возможность автоматически настраивать его.
Я не вижу размера блока в документации iperf.
Если вы ссылаетесь на размер окна TCP, если он меньше, чем BDP, то ваша пропускная способность будет неоптимальной (потому что вы тратите время на ожидание ACK вместо отправки большего количества данных; при необходимости я могу объяснить подробнее). Если он равен или выше BDP, вы достигнете оптимальной пропускной способности.
Определение 5.15 Скорость передачи информации - среднее количество информации, передаваемое в единицу времени. Определим выражения для расчета скорости передачи информации и пропускной способности дискретного канала связи.
При передаче каждого символа в среднем по каналу связи проходит количество информации, определяемое по формуле:
( 5.3) |
( 5.4) |
( 5.5) |
Для символов равной длительности =\tau" />
, в случае неравновероятных символов неравной длительности =\sum_^n \tau_i\cdot p_i" />
.
При этом скорость передачи информации
( 5.6) |
Скорость передачи информации зависит от статистических свойств источника, метода кодирования и свойств канала.
Пропускная способность дискретного канала связи
| ( 5.7) |
Решение. Энтропия источника равна
Средняя скорость передачи сигнала
Скорость передачи информации
Канальная матрица, определяющая потери информации в канале связи имеет вид:
Введение понятий энтропии, количества информации, скорости выдачи информации источником, избыточности позволяют характеризовать свойства информационных систем. Однако для сравнения информационных систем только такого описания недостаточно. Обычно нас интересует не только передача данного количества информации, но передача его в возможно более короткий срок; не только хранение определенного количества информации, но хранение с помощью минимальной по объему аппаратуры и т.п.
Пусть количество информации, которое передается по каналу связи за время Т равно
Пропускная способность канала есть максимально достижимая для данного канала скорость передачи информации:
Или максимальное количество информации, передаваемое за единицу времени:
Скорость передачи может быть технической или информационной.
Под технической скоростью VT , называемой также скоростью манипуляции, подразумевается число элементарных сигналов (символов), передаваемых в единицу времени бод.
Информационная скорость или скорость передачи информации, определяется средним количеством информации, которое передается в единицу времени и измеряется (бит/сек). R = nH .
В случае если символы не равновероятны
В случае если символы имеют разную длительность
Выражение для пропускной способности отличается тем, что характеризуется максимальной энтропией
Для двоичного кода бит/сек
Пропускная способность является важнейшей характеристикой каналов связи. Возникает вопрос: какова должна быть пропускная способность канала, чтобы информация от источника X к приемнику Y поступала без задержек? Ответ на этот вопрос дает 1ая теорема Шеннона.
1.Теорема Шеннона
В любом реальном канале всегда присутствуют помехи. Однако, если их уровень настолько мал, что вероятность искажения практически равна нулю, можно условно считать, что все сигналы передаются неискаженными. В этом случае среднее количество информации, переносимое одним символом равно I ( X , Y )= I ( X , X )= H ( X ) . Максимальное значение Hmax = log m . Следовательно, пропускная способность дискретного канала без помех за единицу времени равна
Реальные каналы характеризуются тем, что на каналы всегда воздействуют помехи. Пропускная способность дискретного канала с помехами вычисляется по формуле C = n [ H ( Y )- H ( Y / X )] max .
Где средняя, условная энтропия со стороны приемника сигналов
А энтропия принимаемых сигналов определяется из условия максимального значения H ( y )= log m .
Пример 3.1. Пусть требуется определить пропускную способность бинарного канала связи. При этом с вероятностью p каждый из двоичных сигналов может перейти в противоположный сигнал.
На рис.3.2 представлена модель передачи бинарных сигналов
1 - p вероятность неискаженной передачи сигналов
p вероятность искажения сигналов
Рис.3.2. Симметричный канал передачи сигналов в условиях помех, где x 1 и х2 передаваемые сигналы типа “0” или “1”, y 1 и y 2 , принимаемые сигналы
Матрица для нахождения условной вероятности
Найдем полную условную энтропию системы y относительно x
График функции имеет следующий вид:
Наибольшее значение эта функция принимает
при p =0 (то есть при отсутствии помех)
и при p =1 (то есть при негативной передаче).
При p =1/2 пропускная способность минимальна.
Рис.3.3. График функции С= f ( p )
Пример 3.2. Рассмотрим более общий случай передачи по дискретному каналу. Найдем п ропускную способность m -ичного канала связи.
На рис. 3.4 представлена модель передачи m -ичных сигналов, где x 1 ,х2,…,х m источники информации, y 1 , y 2 ,…, ym приемники информации.
Вероятность ошибки - p . Вероятность безошибочной передачи сигналов равняется 1 - p , а в случае ошибки переданный сигнал может с одинаковой вероятностью (равной ) быть воспринятым как любой из m-1 отличных от него сигналов.
Рис.3.4. m - ичный канал передачи информации
Матрица условных вероятностей имеет вид
Полная условная энтропия системы Y относительно X
График функции С( p ) пропускной способности канала связи при m =4 представлен на рис.3.5
Рис.3.5. График функции C ( p )
Эта функция максимальна при p =0, при вероятности . При p =1 .
Для дискретных каналов с помехами Шеннон дал вторую теорему.
2. Теорема Шеннона.
Скорость передачи информации. Пропускная способность канала связи.
Обмен информацией производится по каналам передачи информации.
Каналы передачи информации могут использовать различные физические принципы. Так, при непосредственном общении людей информация передаётся с помощью звуковых волн, а при разговоре по телефону — с помощью электрических сигналов, которые распространяются по линиям связи.
Канал связи — технические средства, позволяющие осуществлять передачу данных на расстоянии.
Компьютеры могут обмениваться информацией с использованием каналов связи различной физической природы: кабельных, оптоволоконных, радиоканалов и др.
Скорость передачи информации (скорость информационного потока) — количество информации, передаваемое за единицу времени.
Общая схема передачи информации включает в себя отправителя информации, канал передачи информации и получателя информации.
Основной характеристикой каналов передачи информации является их пропускная способность.
Пропускная способность канала — максимальная скорость передачи информации по каналу связи в единицу времени.
Пропускная способность канала равна количеству информации, которое может передаваться по нему в единицу времени.
Объем переданной информации V вычисляется по формуле:
где q — пропускная способность канала (в битах в секунду или подобных единицах), а t — время передачи.
Обычно пропускная способность измеряется в битах в секунду (бит/с) и кратных единицах Кбит/с и Мбит/с.
Однако иногда в качестве единицы используется байт в секунду (байт/с) и кратные ему единицы Кбайт/с иМбайт/с.
Соотношения между единицами пропускной способности канала передачи информации такие же, как между единицами измерения количества информации:
1 байт/с = 23 бит/с = 8 бит/с;1 Кбит/с = 210 бит/с = 1024 бит/с;1 Мбит/с = 210 Кбит/с = 1024 Кбит/с;1 Гбит/с = 210 Мбит/с = 1024 Мбит/с.
Решение. Вычислим объем файла в битах V=100⋅30⋅60⋅8 бит =1440000 бит.
Рассмотрим более сложную задачу.
Устройство A передает информацию устройству C через устройство B в рамках следующих правил:
1. Информация передается пакетами по 200 байт.
2. Устройство B может одновременно принимать информацию от устройства А и передавать ранее полученную информацию устройству C.
3. Устройство B может передавать очередной пакет устройству С только после того, как полностью получит этот пакет от устройства A.
4. Устройство B обладает неограниченным по объему буфером, в котором может хранить полученные от устройства A, но еще не переданные устройству C пакеты.
Пропускная способность канала между A и B – 100 байт в секунду.
Пропускная способность канала между B и C – 50 байт в секунду.
Было отправлено два пакета информации. Через сколько секунд C закончит прием всей информации от A?
Решение. Так как скорость приема информации устройством B больше, чем скорость ее передачи устройству С,то время передачи сложится из двух этапов.
Продемонстрируем это графически:
Время передачи первого пакета информации от А устройству В равно t1=V1q1=200100=2 секунды.
Далее приём информации от А и передача ее устройству С осуществляются устройством В одновременно, поэтому достаточно вычислить время передачи всех трёх пакетов информации от В к С:
Читайте также: