Недавно мы модернизировали удаленный участок с оптоволоконного канала 10/10 Мбит / с до оптоволоконного канала 20/20 Мбит / с (это оптоволокно до подвала, затем VDSL от подвала до офиса, примерно 30 метров). Между этим сайтом и центральным сайтом существуют регулярные большие (многогигабаритные) копии файлов, поэтому теория заключалась в том, что увеличение ссылки до 20/20 должно почти вдвое сократить время передачи.
Для передач для копирования файлов (например, с использованием robocopy
для копирования файлов в любом направлении или репликации Veeam Backup and Recovery) они ограничены 10 Мбит / с.
Перед обновлением:
После обновления (robocopy
):
Практически идентичны (не обращайте внимания на разницу во времени передачи).
Передачи выполняются через туннель IPSec между Cisco ASA5520 и Микротик RB2011UiAS-RM.
Первые мысли:
robocopy
и видел точно такую же статистику.32*0.015
составляет максимум 2,1 МБ / с. Кроме того, несколько одновременных передач по-прежнему просто добавляют до 10 Мбит / с, что не поддерживает эту теорию.Это очень странная ситуация. Я никогда раньше не видел ничего подобного.
Где еще я могу посмотреть?
При дальнейшем исследовании я уверен, что укажу на туннель IPSec как на проблему. Я сделал надуманный пример и провел несколько тестов непосредственно между двумя общедоступными IP-адресами на сайтах, а затем провел точный Тот же тест с использованием внутренних IP-адресов, и я смог реплицировать 20 Мбит / с через незашифрованный Интернет и только 10 Мбит / с на стороне IPSec.
В предыдущей версии HTTP был отвлечен. Забудьте об этом, это был неисправный механизм тестирования.
В соответствии с предложением Xeon, которое повторил мой интернет-провайдер, когда я попросил их о поддержке, я установил правило исключения, чтобы сбросить MSS для данных IPSec до 1422 - на основе этого расчета:
1422 + 20 + 4 + 4 + 16 + 0 + 1 + 1 + 12
PAYLOAD IPSEC SPI ESP ESP-AES ESP (Pad) Pad Length Next Header ESP-SHA
Чтобы поместиться в 1480 MTU провайдера. Но, увы, это не помогло.
После сравнения захватов wirehark сеанс TCP теперь согласовывает MSS 1380 на обоих концах (после настройки нескольких вещей и добавления буфера на случай, если моя математика отстой. Подсказка: вероятно, это так). 1380 в любом случае также является MSS по умолчанию для ASA, так что, возможно, он все время согласовывал это все время.
Я вижу странные данные в инструменте внутри Mikrotik который я использовал для измерения трафика. Это не могло быть ничего. Раньше я этого не замечал, поскольку использовал отфильтрованный запрос, и увидел это только тогда, когда удалил фильтр.
Хотя ЦП был третьим, что я проверил, я написал следующее:
Mikrotik использует около 25% -33% ЦП при выполнении этих тестов передачи.
Что подтверждается графиком CPU
Мне это подтвердили внешние ресурсы (например, множество других форумов поддержки и блоги), что большинство маршрутизаторов Mikrotik просто не могут передавать более 11 Мбит / с трафика IPSec с шифрованием 3DES или AES, если только вы не получите модель с разгрузкой аппаратного шифрования.
Так что похоже, что это просто аппаратное ограничение. Я должен был поймать это намного раньше, но по какой-то причине Mikrotik не указывал мне, что это связано с процессором.
По магазинам я иду.
Могу подтвердить, что виноват центральный процессор. Вот Я протестировал Mikrotik RB750GL и измерил 12 Мбит / с с трафиком AES-128 (и только 6,0 Мбит / с с 3DES).
Кажется, ваш результат полностью соответствует тому, что я записал.