Теоретические характеристики сети

From Genrietta
Jump to: navigation, search

На данной странице содержатся подсчеты характеристик производительности Ethernet сетей.

Формат Ethernet кадра

Согласно IEEE 802.3, размер минимального Ethernet кадра составляет 64 байта. Для передачи кадра на физическом уровне также появляется Inter-frame Gap (IFG), который составляет 96 бит (12 байт), и преамбула - 8 байт. Таким образом, передача минимального Ethernet кадра соответствует передаче 84 байтов (или 672 бит):

Минимальный Ethernet кадр
64
12 8 14 46 4
IFG Preamble ETH header PDU CRC

Без применения Jumbo кадров, MTU в Ethernet сетях равен 1500. MTU для Ethernet включает в себя весь пакет: заголовок 3-го уровня и PDU. Соответственно, максимальный размер данных TCP сегмента равен 1460:

Передача TCP сегмента
12 8 14 20 20 Up to 1460 4
IFG Preamble ETH header IP header TCP header Data CRC

Разница с UDP сегментами заключается в заголовке UDP:

Передача UDP сегмента
12 8 14 20 8 Up to 1472 4
IFG Preamble ETH header IP header UDP header Data CRC

Передача максимального сегмента без использования Jumbo кадров равносильна передаче 1538 байтов (или 12304 бит), независимо от протокола 4-го уровня. Накладные расходы на передачу одного сегмента равны:

  • 78 байт (624 бит) для TCP
  • 66 байт (528 бит) для UDP

Максимальное значение PPS

Максимальное значение PPS (Packets per Second) рассчитывается по формуле: Bandwidth / 672

Bandwidth Maximum PPS
100 Mbps 148 809
1 Gbps 1 488 095
10 Gbps 14 880 952
40 Gbps 59 523 809
100 Gbps 148 809 523
200 Gbps 297 619 047

Максимальное значение PPS для MTU 1500

Данное значение рассчитывается по формуле: Bandwidth / 12304

Bandwidth Maximum PPS
100 Mbps 8 127
1 Gbps 81 274
10 Gbps 812 743
40 Gbps 3 250 975
100 Gbps 8 127 438
200 Gbps 16 254 876

Время на обработку пакета для MTU 1500

С какой скоростью система с одной очередью должна обрабатывать пакет, если скорость пакетов соответствует значениям из предыдущей секции:

Bandwidth Time per packet
100 Mbps 0.12ms
1 Gbps 12.3 us
10 Gbps 1.23 us
40 Gbps 307.6 ns
100 Gbps 123.04 ns
200 Gbps 61.52 ns

Максимальный Goodput для MTU 1500

Максимальная скорость передачи полезной нагрузки (данных в TCP/UDP сегментах) рассчитывается как: Ratio * Bandwidth. Где для TCP Ratio = 1460 / 1538, а для UDP Ratio = 1472 / 1538.

Расчет максимальной скорости полезной нагрузки TLS потока не однозначен, так как зависит от размера TLS записей внутри TCP потока. Максимально допустимый размер TLS записи по стандарту - 16КБ. Это примерно 11 максимальных TCP сегментов. Если взять средний размер записи в потоке 10 TCP сегментов и накладный расходы TLS1.2 на запись 29 байт, то получаем, что на 14600 TCP данных мы тратим 29 байт. На проводе это будет 15380 байт. Получаем Ratio = (14600 - 29) / 15380.

Bandwidth Maximum Goodput
TCP UDP TLS
100 Mbps 94.93 Mbit 95.71 Mbit 94.74 Mbit
1 Gbps 949.3 Mbit 957.1 Mbit 947.4 Mbit
10 Gbps 9.49 Gbit 9.57 Gbit 9.47 Gbit
40 Gbps 37.97 Gbit 38.28 Gbit 37.90 Gbit
100 Gbps 94.93 Gbit 95.71 Gbit 94.74 Gbit
200 Gbps 189.86 Gbit 191.42 Gbit 189.48 Gbit