Теоретические характеристики сети
На данной странице содержатся подсчеты характеристик производительности Ethernet сетей.
Contents
Формат 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 |