Трохи про оптимізацію затримки передачі даних

Низька затримка — важливий фактор, що забезпечує надійну роботу і високу продуктивність мереж. Програми для спілкування в реальному часі, стрімінг та проведення транзакцій сильно залежать від часу очікування. Збільшення затримки всього на кілька мілісекунд може призвести до спотворення зображення і голосів, «зависання» програм і фінансових втрат.

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


/ фото Thomas Williams CC

Затримка та її вплив на якість зв'язку
У мережах, заснованих на пакетному обміні, зв'язок між затримкою і пропускною здатністю неоднозначна і сложна у визначенні. При цьому час очікування складається з наступних компонентів:

  • Затримка серіалізації – час, необхідне порту для передачі пакета
  • Затримка поширення – час, необхідний біту інформації для досягнення приймача (обумовлюється законами фізики)
  • Затримка при перевантаженні – час, який кадр проводить у вихідний черзі елемента мережі
  • Затримка передачі – час, який мережний елемент витрачає на аналіз, обробку та передачу пакета
Управління трафіком
Фахівці компанії Ashton, Metzler & Associates визначають термін «управління трафіком» як можливість мережі обробляти різні види трафіку з різним пріоритетом.

Цей підхід використовується в мережах з обмеженою пропускною здатністю при роботі важливих додатків, чутливих до затримок. Управління може означати обмеження трафіку для конкретних сервісів, наприклад, електронної пошти, і виділення частини каналу під роботу критично важливих бізнес-додатків.

Для управління трафіком і якістю зв'язку в мережі організації інженери рекомендують:

  • Налаштувати мережу так, щоб можна було проводити моніторинг та класифікацію трафіку
  • Аналізувати трафік в мережі для розуміння закономірностей роботи важливих додатків
  • Впровадити відповідне поділ на рівні доступу
  • Вести спостереження і звітність, щоб активно керувати зміною схемами розподілу трафіку
Найбільш эффективный спосіб управління трафіком, на думку фахівців Viavi Solutions, — ієрархічний контроль якості зв'язку (H-QoS), який є комбінацією мережевих політик, фільтрації та управління пропускною спроможністю трафіку. H-QoS не буде знижувати швидкість роботи, якщо всі елементи мережі забезпечать ультранизкую затримку і високу продуктивність. Головне достоїнство H-QoS — скорочення часу очікування без необхідності збільшення пропускної здатності каналу.

Використання NID
Пристрої мережевого інтерфейсу (NID) дают можливість проводити моніторинг та оптимізацію трафіку при невеликих витратах. Зазвичай такі пристрої встановлюються на території абонента: мережевих вишках та інших точках переходу між мережами операторів.

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

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

Зазвичай в організаціях кешування використовується на декількох рівнях. Варто відзначити так зване проксі-кешування. Коли користувач надсилає запит які-небудь дані, що його запит може бути виконаний локальним проксі-кешем. Чим вища ймовірність виконання такого запиту, тим сильніше звільняється мережевий канал.

Проксі-кеші є свого роду загальною кеш-пам'яттю: працюють з великим числом користувачів і дуже гарні в скороченні часу очікування і мережевого трафіку. Одним з корисних варіантів застосування проксі-кешування є можливість віддаленого підключення декількох співробітників до набору інтерактивних веб-додатків.

Стиснення даних
Основне завдання стиснення даних — скоротити розмір файлів, які передаються по мережі. В деякій мірі стиснення схоже на кешування і може дати ефект прискорення, як при збільшенні пропускної здатності каналу. Один з найпоширеніших методів стиснення — алгоритм Лемпеля – Зіва – Велча, який використовується, наприклад, в ZIP-архівування та утиліти стиснення UNIX.

Однак у деяких ситуаціях компресія даних може привести до проблем. Наприклад, стиснення погано масштабується в плані використання ресурсів оперативної пам'яті і процесора. Також компресія рідко приносить користь, якщо зашифрований трафік. При використанні більшості алгоритмів шифрування на виході виходять мало повторювані послідовності, тому такі дані не можуть бути стиснуті стандартними алгоритмами.

Для ефективної роботи мережевих додатків необхідно вирішувати проблеми з пропускною здатністю і затримкою одночасно. Стиснення даних спрямовано на вирішення тільки першої проблеми, тому так важливо застосовувати її в зв'язці з методиками управління трафіком.

Одностороннє стиснення даних
Існує альтернативний підхід до стиснення даних — це системи оптимізації веб-контенту, розміщені на одній стороні каналу передачі даних. Такі системи використовують технології оптимізації веб-сторінок, різні стандарти стиснення, методи оптимізації зображень, дельта-кодування і кешування. Вони дозволяють домогтися стиснення інформації в 2-8 разів у залежності від вмісту.

У цих інструментів є деякі переваги перед двосторонніми рішеннями і проксі-кешуванням. Вони значно дешевше в установці і управлінні, ніж двосторонні. Крім того, такі системи можуть визначати швидкість з'єднання, тип браузера, оптимізувати не тільки статичний, але і динамічний контент для конкретного користувача.

До недоліку одностороннього стиснення відноситься те, що з його допомогою можна оптимізувати тільки роботу окремих програм та сайтів.

Сьогодні інженери постійно проводять дослідження, намагаючись підвищити продуктивність і ефективність мереж. Група IEEE 802.1 Qau розробляє поліпшені методи керування, які дозволять усунути втрату пакетів при перевантаженні портів, команда Internet Engineering Task Force створює протокол канального рівня зв'язку, здатний забезпечити найкоротший з'єднання Ethernet.

Також ведуться роботи над поліпшенням вибірки даних для передачі, щоб розподіляти невикористовувані частини з'єднання для різних класів трафіку.

Підтримка високої якості з'єднання в мережах — важливе завдання для сучасних організацій. Це дозволяє надавати клієнтам найкращі сервіси і використовувати ресурси мережі по максимуму.

Якщо вам цікава тема оптимізації процесів передачі, зберігання і обробки даних, то можете звернути увагу на декілька інших матеріалів з нашого блогу:

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.