Прискорення UDP-передачі Filemail
Сьогодні в Інтернеті використовуються два основні протоколи: TCP і UDP. TCP - це робоча конячка інтернету. Прискорення передачі даних UDP - чистокровна породиста тварина, створена для швидкості.
Що таке TCP?
Цей протокол має вбудовані механізми надійності, що означає, що відправник автоматично повторно передасть TCP-пакет одержувачу, якщо він загубився дорогою.
TCP: основа інтернету
Брандмауери, маршрутизатори та комутатори значною мірою оптимізовані для роботи з TCP-трафіком, що робить TCP природним вибором для більшості завдань, які сьогодні виконуються в Інтернеті. Веб-браузери, поштові клієнти, Facebook, Instagram, Snapchat, біржові стрічки, Spotify, Slack та FTP-клієнти - ось деякі з програм, які зазвичай використовують TCP. Якщо ви використовуєте рішення для передачі файлів через браузер, то, швидше за все, воно використовує TCP.
Забезпечення надійності: Роль повідомлень про підтвердження в TCP
Коли одержувач отримує TCP-пакет, він надсилає назад повідомлення ACK (Acknowledge), щоб підтвердити відправнику, що пакет було отримано правильно. Цей відносно простий механізм робить протокол TCP дуже надійним і простим у використанні для розробників.
Відправлення повідомлень ACK відправнику може серйозно обмежити продуктивність (оскільки відправник повинен чекати на ACK пакета-1, перш ніж відправляти пакет-2). Щоб полегшити деякі проблеми з підключенням TCP, протягом багатьох років до протоколу було внесено багато удосконалень.
Масштабований розмір вікна
Дозволяє відправнику надсилати декілька пакетів і очікувати на декілька підтверджень одночасно. Дані, відправлені, але ще не підтверджені, часто називають даними в польоті. Відправник має обмеження на кількість даних у польоті, що означає, що відправник не може надсилати дані одержувачу швидше, ніж одержувач може їх обробити.
Дроселювання пропускної здатності
Це, по суті, дозволяє клієнту зі швидкістю 10 Мбіт/с обмінюватися даними з сервером зі швидкістю 1000 Мбіт/с, не перевантажуючись трафіком від сервера. У TCP це засновано на ідеї, що в будь-який момент часу в польоті має бути лише певна кількість даних.
Вибіркові ACK-пакети
Дозволяє одержувачу отримувати пакети з підтвердженням у довільному порядку. Якщо пакет-1 загубився, це не завадить надіслати пакет-2 і підтвердити його перед повторною відправкою пакета-1.
Недоліки TCP
При надсиланні TCP-трафіку на велику географічну відстань продуктивність значно падає. Оскільки трафік (і ACK) повинен пройти через більшу кількість маршрутизаторів і мережевої інфраструктури, щоб дістатися до одержувача, це займає більше часу.
Цей час називається затримкою. Якщо ви переглядаєте веб-сайт, розміщений в тій же країні, затримка іноді становить всього 10 мілісекунд. При перегляді веб-сайту, розміщеного на іншому континенті, ви одразу побачите, що сторінки завантажуються довше через збільшену затримку.
Проблема затримки TCP стає надзвичайно очевидною при передачі файлів між континентами. І відправник, і одержувач можуть мати дивовижні 1000/1000-мегабітні з'єднання, але ефективна пропускна здатність мережі при передачі файлів може становити лише 10 мегабіт через затримку, яка не дозволяє їм ефективно спілкуватися при використанні TCP.
Що таке UDP?
UDP - це рідний брат TCP. Основна відмінність полягає в тому, що UDP-пакет ніколи не отримує підтвердження. Відправник не знає, чи дійшов пакет UDP до одержувача, тому цей протокол не є надійним. Але він дуже швидкий, оскільки немає підтвердження.
UDP: Пріоритет швидкості над надійністю
UDP чудово підходить для відеодзвінків та онлайн-ігор. У цих випадках не має значення, якщо кілька UDP-пакетів буде втрачено. Пакети UDP надсилаються безперервно, тому ви не помітите цього у відеопотоці. Так само і в онлайн-іграх ви отримаєте новий UDP-пакет з останніми оновленнями протягом декількох мілісекунд. Втрата кількох UDP-пакетів час від часу не є проблемою. Важливіше передавати дані швидко і з мінімальною затримкою.
Як зробити UDP надійним для передачі файлів
Спочатку UDP може здатися жахливим вибором для передачі файлів. Повна відсутність надійності означала б повсюдне пошкодження файлів через втрачені UDP-пакети. Відсутність регулювання пропускної здатності призведе до того, що клієнти будуть перевантажені трафіком і, по суті, вийдуть з ладу. Для того, щоб UDP був корисним для передачі файлів, він повинен бути надійним, так само як і TCP. Для початку, втрачені пакети повинні бути повторно відправлені, і має бути можливість регулювання пропускної здатності. Також слід подбати про безпеку.
Протокол прискорення передачі даних Filemail UDP
Протокол прискорення передачі файлів Filemail UDP Acceleration Protocol (UAP) - це спеціальний протокол передачі файлів, створений на основі UDP, який забезпечує блискавичну швидкість передачі навіть у середовищах з високими затримками. Він легко перевершує всі протоколи на основі TCP, такі як HTTP і FTP, особливо при надсиланні файлів на великі географічні відстані, де затримка перевищує 50 мс.
До 200 разів швидше
Бенчмарки показують, що Filemail UDP прискорює передачу даних іноді до 200 разів швидше, ніж FTP, HTTP та інші методи передачі даних на основі TCP.
Filemail UAP побудований знизу догори з однією метою: передавати файли надзвичайно швидко з точки А в точку Б найбільш безпечним і надійним способом. Нижче наведені деякі характеристики цього революційного протоколу.
Ефективна пропускна здатність при передачі файлів з Європи в Австралію через 21 мережевий вузол. Обидва кінці з'єднані з'єднанням 1000/1000 Мбіт.
Неофіційні порівняння з рішеннями для передачі даних на основі UDP від IBM Aspera та Signiant показують, що Filemail працює швидше майже у всіх випадках. Деякі відмінності в продуктивності можуть бути пов'язані з тим, що Filemail також використовує апаратне прискорення - зокрема, за рахунок використання набору інструкцій AES-NI. Крім того, протоколи IBM Aspera і Signiant використовують окремий TCP-канал (SSH) для регулювання пропускної здатності, ACK тощо. Filemail UAP не покладається на повільний протокол TCP - він використовує UDP для передачі даних, отримання згоди, регулювання пропускної здатності та шифрування.
Безпека
Весь трафік даних UDP захищено шифруванням AES Galois/Counter Mode (AES-GCM). Це золотий стандарт шифрування на сьогоднішній день, який гарантує, що дані, які передаються, не можуть бути перехоплені третьою стороною. Для кожного сеансу передачі даних використовується окремий ключ, обмін ключами між клієнтом і сервером здійснюється за допомогою шифрування Rivest-Shamir-Adleman (RSA).
Апаратне прискорене шифрування
Filemail UAP використовує набір інструкцій AES-NI, представлений AMD та Intel кілька років тому. Цей набір інструкцій дозволяє Filemail UAP використовувати спеціальні апаратні компоненти для шифрування та дешифрування даних. Це має величезне значення, коли мова йде про швидкість передачі даних. AES-NI підтримується в таких операційних системах, як Microsoft Windows, macOS, Linux, iOS і Android. Виробники обладнання, такі як Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP і Broadcom, також підтримують його.
Вимоги до програмного та апаратного забезпечення
Filemail UAP написаний на низькорівневій мові C++ і може працювати практично на всіх пристроях і операційних системах. Наразі доступні бінарні версії для Windows, macOS та Linux. Filemail Desktop - наш флагманський інструмент для передачі даних, який використовує UAP. Також доступні консольні програми. UAP Filemail був значно оптимізований і займає надзвичайно мало пам'яті - лише кілька мегабайт, при цьому максимально використовуючи пропускну здатність каналу. Він також зазвичай використовує менше 5% центрального процесора при надсиланні файлів на максимальній швидкості.
Прискорення двосторонньої передачі даних
Filemail UAP використовується як при завантаженні, так і при вивантаженні файлів за допомогою Filemail Desktop. Це означає, що ви, ваші клієнти та ділові партнери можуть скористатися перевагами цієї технології.
Початок роботи з Filemail UDP Transfer Acceleration
Filemail UDP Transfer Acceleration інтегровано в наш додаток Filemail Desktop і вмикається автоматично під час надсилання та завантаження файлів. Filemail Desktop є безкоштовним і не вимагає входу в систему. Прискорення UDP Transfer для людей.