Застосування проксі-сервера для зменшення пінгу

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







Як відомо онлайн ігри в Інтернеті реалізуються по клієнт-серверної технології. На серверах знаходяться ігрові світи і движки шутерів. Фактично це просто цифрова інформація в базах даних про координатах, здоров'я, досвіді, діях і т.д всіх гравців. У кожного гравця на домашньому комп'ютері знаходиться клієнт гри, який в реальному часі отримує дані про ігровому світі з сервера в цифровому вигляді і отрісовиваєт світ у вас на екрані в красивому графічному вигляді, а так само отримує від вас команди управління персонажем і передає на сервер гри . Сервер гри в реальному часі обмінюється даними з усіма гравцями і народжується ігровий процес.

Цифрові дані між клієнтом і сервером передаються пакетами. Наприклад ви робите крок вправо, формується пакет з вашими новими координатами і відправляється на сервер. Сервер вносить ваші нові координати в БД, які потім отримують всі гравці ігрового світу. За Вам стріляють у відповідь ворміруется пакет і вирушає з сервера вам на кліет і промальовується стрілянина на екрані.

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

2. Що таке пінг і як його виміряти?

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

Для перевірки пінгу до сервера в Windows клікніть "Пуск" (примітка 1), наберіть cmd і натисніть Enter (виноска 2). З'явиться командна консоль Windows. Наберіть в ній команду ping, потім пробіл, ім'я сервера до якого перевіряєте пінг і натисніть Enter (виноска 3). Утиліта пошле сервера 4 пакети, прийме від сервера 4 пакети і виведе максимальне, мінімальне та середнє час відправки-прийому 4х пакетів (виноска 4). На малюнку видно, що пінг до яндекса склав 12 мсек (мілісекунд).

Застосування проксі-сервера для зменшення пінгу

3.Від чого залежить час відгуку?

Час відгуку залежить від наступних факторів:

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

2.Загруженность каналу
Будь-яка, як завгодно швидкий канал має обмежену пропускну здатність. В Інтернеті кожен канал завжди використовується декількома користувачами. Сумарна завантаженість каналу складається з трафіку всіх користувачів. Бувають ситуації, коли кілька користувачів перевищують пропускну здатність каналу і у інших користувачів починаються гальма. Навіть на одному комп'ютері можна змоделювати таку ситуацію. Увімкніть на закачування кілька торрентів і в міру наближення швидкості закачування до максимальної швидкості Вашого каналу перевіряйте пінг.







3.Качество роботи ліній зв'язку і устаткування у вузлах маршруту
В Інтернеті існують різні типи ліній зв'язку та обладнання і для кожного типу характерні свої умови нестабільної роботи:

WIFI, 3G, GPRS - якість роботи залежить від завантаженості ефіру і погодних умов.

Вита пара - довжина кабелю. При великій довжині кабелю можуть виникати втрати сигналу, що викликає втрати і повторні передачі пакетів.

Для оптики - перегрів SFP-модулів в комутаторах, так само викликає втрати пакетів.

Мережеве обладнання провайдерів і операторів зв'язку - комутатори і маршрутизатори. Так само можуть давати втрати і затримки. У комутаторах наприклад основні проблеми - це перевищення пропускної здатності комутаційних матриць, переповнення ARP-таблиць і глюки на портах. З маршрутизаторами як правило рідко бувають проблеми. Але іноді бувають розриви і перебудова маршрутів. У кажого алгоритму динамічної маршрутизації є час збіжності - максимальний час на перебудову всіх маршрутів. Якщо у провайдера нестабільні канали та періодічскіе перебудови маршрутів то все це викликає затримки мережі.

4.Сетевой маршрут
Ми підійшли до суті всієї статті - це маршрути в мережі Інтернет. Зміна маршруту дозволяє вирішити всі перераховані вище проблеми і обійти проблемні лінії зв'язку і вузли. В мережі Інтернет між сервером і клієнтом існує безліч маршрутів і на кожному з них стоять лінії зв'язку та обладнання певної якості. Наше завдання зводиться до вибору найоптимальнішого маршруту. Проблема в тому, що кінцевий користувач не може вибрати маршрут без застосування проксі-сервера і пріхоітся задовольнятися лише тим маршрутом, що надає провайдер.

4.Методика зменшення пінгу в іграх за допомогою проксі-сервера
На зображенні нижче, наводяться 4 ймовірних маршруту між Вами і сервером Вашої гри:

Маршрут з великим числом проміжних операторів зв'язку (виноска 5). Іноді число проміжних вузлів досягає 10-ти і вище. На всьому протязі маршруту підвищується ймовірність збійних вузлів або повільних ліній зв'язку (виноска 6)

Маршрут через нестабільно працюючий радиолінк (виноска 7). Іноді у провайдерів і операторів зв'язку немає технічної можливості прокласти або орендувати кабельне з'єднання між вузлами своїх мереж. У цьому випадку на дахи будинків ставлять спрямовані антени і створюють радиолінк. Як правило радіоустаткування коштує дуже дорого і такі лінки видають не більше 1Gbit / сек. Антени вузькоспрямовані і повинні бути дуже точно дивитися один на одного (с'юстіровани) на великих відстанях. Найменший перекіс (вітер, або погане кріплення) викликає падіння швидкості і втрати. Плюс такі лінки втрачають швидкість в похмуру погоду

Маршрут через завантажений канал (виноска 8). Завантаженість каналу може виникати при великій кількості одночасно працюючих клієнтів (пікові навантаження).

Методика зменшення пінгу. як Ви напевно вже здогадалися, як раз і полягає в тому, що б направити трафіка по маршруту, яке виключає все вище перераховані проблеми. Суть в тому, що направляючи трафік на проксі-сервер уже Ви, а не провайдер можете задавати маршрут до сервера гри. Як правило ми пропонуємо кілька проксі-серверів для тесту безкоштовно, Ви тестируете маршрут і пінг через кожен з них і потім купуєте кращий. В ідеалі найкращим буде маршрут через пірингову мережу (виноска 10). Це швидкісні мережі, які провайдери за домовленістю організовують для швидкісного обміну трафіком своїх клієнтів. Якщо між оператором 9 і датацентр сервера гри є пірінгова мережу і Ви підключіться до неї використовуючи проксі-сервер, Ви отримаєте мінімальний пінг з усіх можливих варіантів.

Застосування проксі-сервера для зменшення пінгу

5.Уменьшенію пинга браузерних ігор
Для зменшення пінгу браузерної гри Вим потрібно перейти в розділ налаштування браузерів для роботи через проксі-сервер і налаштувати Ваш браузер за відповідною статтею







Схожі статті