Про продуктивність реалізацій TCP для Linux та Windows


13

Я розумію, що реалізація стека TCP у Windows та Linux відрізняється. Windows використовує алгоритм контролю перевантаженості, відомий як TCP Reno, а Linux використовує Cubic.

Як порівнюють два протоколи, коли вони співіснують в одній мережі? Чи правда сказати, що Cubic (Linux) є більш агресивним і може в кінцевому підсумку отримати більшу частку пропускної здатності?

Відповіді:


4

Зауважте, що алгоритм контролю перевантаженості впливає лише на висхідний трафік і, таким чином, лише на смугу пропускання вгору.

При цьому, Cubic насправді є більш агресивним, особливо для мереж із продуктом із затримкою з високою пропускною здатністю. Існує навіть правило, вбудоване в реалізацію Linux, щоб ніколи не використовувати меншу швидкість відправки, ніж reno в тій же ситуації:

Алгоритм Linux Cubic також включає код, який гарантує, що кубічний алгоритм є настільки ж агресивним, як і стандартний TCP

- Leith, Shorten, McCullagh, Експериментальна оцінка Cubic-TCP

Отже, завантажуючи оновлення Windows під час перегляду відео YouTube, ваш трафік Youtube може голодувати вашим мікрософт-трафіком, і ви нічого не можете з цим зробити.


12

По-перше, те, що ви говорите, фактично не правильно:

  • Linux до ядра версії 2.6.18 використовує BIC за замовчуванням.
  • Ядро Linux 2.6.19 і пізніших версій використовує CUBIC за замовчуванням.
  • Механізми контролю заторів TCP в Linux підключаються , наприклад, ви можете змінити їх на філії.
  • Windows XP і новіші версії використовує TCP Reno (або New Reno )
  • У Windows Vista та пізніших версіях також є складований TCP , який увімкнено за замовчуванням на сервері 2008 та може бути включений у Vista та Windows 7 за потреби.

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

Отже, ви не можете реально порівнювати одне з іншим, не дивлячись на точну конкретну топологію мережі, використовуване обладнання та програмне забезпечення і т. Д. Це не так, як один кращий за інший, або буде використовувати більшу частку наявної пропускної здатності. Це правда, що CUBIC менш агресивний, ніж BIC, але на практиці інші міркування часто важливіші, ніж аромат алгоритму перевантаженості TCP.

Якщо ви не намагаєтеся настроїтись на дуже вузьку сферу та незвичний сценарій роботи в мережі, ці алгоритми працюють досить добре і невідповідно.


Мережевий сценарій переповнено локальною мережею 100 Мбіт / с з 1000 непарних комп'ютерів. Підключення до Інтернету через проксі-сервер. Деякі ПК мають Linux, а більшість - на основі Windows. Схоже, перегляд через Linux відбувається швидше. Я намагався раціоналізувати це спостереження
AIB

Без вимірювання і не бачачи, що насправді відбувається у вашій мережі, важко сказати. Але я вважаю, що ймовірність різниці в алгоритмах перевантаженості TCP є досить низькою, особливо якщо ваша мережа не на 100% перевантажена весь час. Існує багато інших факторів, які можуть впливати на швидкість перегляду.
haimg

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.