Баланс навантаження через LAN та Wi-Fi


8

У мене є Mac, на якому працює Mac OS X 10.6 або Ubuntu 9.10 або Windows XP (Multiboot). Рішення може бути для будь-якої системи, яка б не працювала краще.

У мене є два Інтернет-провайдери , доступ до одного через Wi-Fi , до одного можна отримати через LAN . У Mac OS XI можна визначити пріоритет, яку мережу вибрати першою. Але те, що я хочу зробити, це навантажити баланс з обома мережами.

Я не хочу купувати додаткове обладнання. У мене є кілька невикористаних Wi-Fi роутерів, якщо це допоможе.

Компіляція та налаштування програм в Linux не є для мене проблемою.

Аналогічне запитання: балансування завантаження за допомогою декількох шлюзів


2
Ви хочете перевірити, чи будь-яке запропоноване рішення матиме правила збереження з'єднань через його інтерфейс. Якщо ваше з'єднання підстрибує між провайдерами, сервер на іншому кінці може заплутатися. Я знаю, наприклад, що Yahoo IM перестане зв’язок, якщо ви підключитесь з іншої IP-адреси.
Дуг Харріс

здається, вам потрібен якийсь бездротовий багатоканальний ретранслятор, щоб замочити сигнали з двох різних WIFI-маршрутизаторів і подати їх на ваш комп'ютер через підключення до локальної мережі.
djangofan

LISP (протокол поділу локатора / ідентифікатора) може бути рішенням, але це для мене занадто складно. ;-)
Synox

Що ви хочете завантажити баланс?
Девід Шварц

завантаження великих файлів, відеопотоки, youtube тощо
Synox

Відповіді:


1

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

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

  • За замовчуванням я думаю, що у вас вийде лише один маршрут за замовчуванням. Це означає, що весь вихідний трафік за замовчуванням віддасть перевагу одному інтерфейсу. Вам потрібно буде розглянути кілька маршрутів за замовчуванням або змінити цей маршрут динамічно з часом.
  • Протягом життя індивідуального вхідного (TCP) з'єднання він повинен залишатися на тому ж інтерфейсі, до якого він був увійшов. Я думаю.

Що б там не було, я можу подумати на даний момент.


metric- це також параметр мережевих інтерфейсів у Windows та OS X; будь-яка ОС, яка підтримує декілька мережевих інтерфейсів, потребує способу встановлення переваги.
apraetor

1

Ви можете використовувати метричну систему маршрутизації, де ви встановлюєте обидва з'єднання з Інтернетом у таблиці маршрутів з рівним показником. Тоді операційна система повинна використовувати обидва ці маршрути однаково, ефективно розподіляючи ваш вихідний трафік по обох ланках.

Вхідний трафік у відповідь на ваші запити також повинен бути збалансованим, оскільки він повернеться до інтерфейсу (Public IP), з якого вийшов запит.

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

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


1

Connectify Dispatch має рішення, яке буде робити саме те, що вам потрібно. Наразі лише для Windows, але люди мали успіх у віртуалізації та використанні свого програмного забезпечення в ОС X.

Оскільки ви вже працювали (працювали) у Windows XP, я зрозумів, що зможете розібратися в цій частині самостійно.


Найбільша проблема з цим полягає в тому, що Windows легко пропонує підтримку декількох NIC, тоді як в OS X це не так просто.


0

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

Потім я направляю один із IP-адрес сервера до одного з IPS.

на mac os 10.6:

додавання маршруту -host XXX.XXX.XXX.XXX 192.168.1.1

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


0

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

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

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

Приклад: запустіть оновлення за допомогою 192.168.2. * Wi-Fi ISP запустити напівжиття за допомогою 192.168.1. * Інтернет-провайдер.


0

URL-адреса, згадана нижче, спеціально призначена для win 7, але ви повинні отримати уявлення про неї. Він змінює метрику шлюзу за замовчуванням залежно від навантаження на інтерфейс, тим самим ведучи до обміну навантаженнями.

http://www.youtube.com/watch?v=Qh5Eb8sXvuk


0

Я чула це те саме питання десяток разів із десяток різних способів. По-перше, внутрішні та зовнішні сесії обробляються аналогічно, але не є однаковими. Для кожного внутрішнього сеансу може бути кілька зовнішніх, і навпаки. Те, про що ви говорите, логічно неможливо, але вимагає трохи програмування та підготовки. Деякі пристрої будуються з можливістю агрегувати з'єднання Ethernet або Wi-Fi для більш швидких швидкостей мережі всередині мережі, але для зовнішніх мереж я знайшов лише пристрої з FAILOVER, а це означає, що вони перемикаються лише тоді, коли їм доведеться. Однак ви можете використовувати базову комутацію (якщо оператори з 0 або 1) у протоколі з'єднання, який перенаправляє трафік через інший шлюз для кожного зовнішнього сеансу. Тоді вам слід буде відслідковувати кожну ВНУТРІШНУ сесію, приєднану до кожної внутрішньої сесії, загортаючи підсеанс всередині основного сеансу з сеансомID. Тоді вам доведеться мати спосіб перевірити домен сайту або використовувати сеансID для завершення внутрішньої маршрутизації (іншими словами, вам потрібно мати можливість диференціювати повідомлення від клієнта для кожного зовнішнього сеансу \ з'єднання, на основі якого на сайті вони запитували дані або надсилали дані таким чином, щоб труба для кожного сайту була встановлена, не дозволяючи сайту відкидати цю трубку). Це означає, що вам доведеться створити новий мережевий протокол у своєму маршрутизаторі та вирішити, як розмежувати з'єднання (якщо це робиться лише за домену сайту, це може бути здійснено від маршрутизатора, але клієнт може спробувати використовувати ipaddress з зовнішні ворота для веб-сайту, які це заперечують; якщо це зроблено з обох кінців, клієнту потрібно відслідковувати якийсь ідентифікатор, як правило, числове значення бінарного маскування, яке дозволяє отримувати відповідність посилань по відношенню до зовнішнього сеансу, який направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. клієнту потрібно відслідковувати якийсь ідентифікатор, як правило, числове значення бінарного маскування, яке дозволяє отримувати відповідність посиланням проти зовнішнього сеансу, який направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. клієнту потрібно відслідковувати якийсь ідентифікатор, як правило, числове значення бінарного маскування, яке дозволяє отримувати відповідність посиланням проти зовнішнього сеансу, який направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. як правило, числове значення бінарного маскування, яке дозволяє отримувати відповідність посилань по відношенню до зовнішнього сеансу, який направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. як правило, числове значення бінарного маскування, яке дозволяє отримувати відповідність посилань по відношенню до зовнішнього сеансу, який направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. що дозволяє отримувати відповідне відправлення проти зовнішнього сеансу, що направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. що дозволяє отримувати відповідне відправлення проти зовнішнього сеансу, що направляється на головний шлюз). Іншими словами, вам доведеться запрограмувати власний протокол для роботи з мережею, і вам доведеться вирішити, чи хочете ви його створити самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете щось побудувати це сумісно з більш старими існуючими програмами (які повинні бути пов'язані повідомленнями між хостом і клієнтом, що призводить до більшого зносу хоста, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. і вам доведеться вирішити, чи хочете ви створити його самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете створити щось, сумісне зі старими існуючими програмуваннями (які повинні бути пов'язані повідомленнями між хостом і клієнт, вдягаючи хост більше, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. і вам доведеться вирішити, чи хочете ви створити його самостійно (використовуючи як клієнтське, так і хост-програмування) або ви хочете створити щось, сумісне зі старими існуючими програмуваннями (які повинні бути пов'язані повідомленнями між хостом і клієнт, вдягаючи хост більше, але нічого нового для клієнта). Якщо ви знаєте ваш Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. надягаючи хост більше, але нічого нового для клієнта). Якщо ви знаєте свій Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою. надягаючи хост більше, але нічого нового для клієнта). Якщо ви знаєте свій Unix або ви знаєте програмування winserver, це можна зробити за трохи часу, але для цього потрібно виділити більший обсяг ресурсів для збалансованості кожного пристрою.

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


2
Ваша відповідь швидше буде прочитана, якщо це не стіна тексту. Будь ласка, знайдіть хвилину, щоб розділити її на абзаци.
fixer1234

Я зробив. Але інтерфейс все одно розмістив його як стінку тексту.
Htd Tech

Тільки для довідки, відповідь на балансування навантаження одного з'єднання полягає в тому, що це дійсно неможливо, якщо ви не працюєте над ним на обох кінцях. Але для прискорення доступу до Інтернету існують декілька сторонніх мульти NIC-карт, які одночасно матимуть доступ до внутрішніх мереж. Якщо у вас є кілька послуг isp, ви можете дозволити вашій системі обробляти баланс пропускної здатності. Це насправді не підходить для ігор або для нестисненого відео, оскільки обидва кінці домовляються про розміри пакетів, але якщо ви багато в Інтернеті для роботи, це можливо, і ви отримаєте деяке підвищення продуктивності.
Htd Tech

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