Google исправила ошибку десятилетней давности в TCP-стеке ядра Linux

Google исправила ошибку десятилетней давности в TCP-стеке ядра Linux

Ошибка приводила к потере пакетов и снижению сетевой производительности.

Специалисты компании Google выпустили исправление, устраняющее ошибку 10-летней давности в TCP-стеке ядра Linux. Об этом сообщается в блоге BitsUp. Ошибка значительно снижала эффективность передачи данных.

Неисправность заключалась в некорректной реализации алгоритма контроля перегрузки Cubic, который используется во многих дистрибутивах ОС Linux в качестве средства по умолчанию. Как выяснилось, Cubic неверно обрабатывал состояния приостановки передачи данных приложениями, из-за чего информация о нагрузке сети обновлялась и обрабатывалась некорректным образом.

Результатом ошибки являлось то, что приложения, работающие в режиме отправки большого количества данных с последующим переходов в период покоя, получали неверную информацию о загруженности сети. В результате ошибки при переходе в режим отправки данных программы начинали передавать информацию на слишком высокой скорости, что приводило к потере пакетов, перегрузке сети и потере пропускной способности.

Исправление ошибки было добавлено в репозиторий исходного кода ядра Linux.

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!