Возможно вы искали: 'Legend of Faerghail'

May 15 2025 19:08:01
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Объединение интерфейсов в Linux через teql (linux interface balance teql ethernet)

Объединение интерфейсов в Linux через teql (linux interface balance teql ethernet)

Ключевые слова: linux, interface, balance, teql, ethernet, (найти похожие документы)

From: Юрий Кисель. <netilesik[_AT_]elo[.]iptelecom[.]net[.]ua>
Newsgroups: http://www.cisco-linux.com.ua
Date: Sun, 28 Mar 2006 17:02:14 +0000 (UTC)
Subject: Объединение интерфейсов в Linux через teql

Оригинал: http://www.cisco-linux.com.ua/index.cgi?action=articles|show_article&ID=1

Настраиваем teql в Linux на интерфейсах разного типа

В связи с острой необходимостью увеличить пропускную способность сети
между двумя зданиями (на расстоянии 100-150 метров) мне понадобилось
выполнить следующие опыты.

Так как скорость по ethernet кабелю лежащему между ними не поднималась
выше 10 Mb/s (поставить свитч где-то по центру было не возможно), а
прокладывать второй кабель было очень проблематично, то было принято
решение использовать пару неиспользуемых адаптера D-Link DWL-G520+.
Карточки построены на чипсете Texas Instruments ACX 111 и для них есть
драйвер под Linux. (http://acx100.sourceforge.net/ и
http://acx100.erley.org/)

Настройку карточек под Linux я описывать не буду, так как в интернете
валом документации на эту тему...(я использовал Craig's ACX100/111
Guide for Linux)

Имеем - два интерфейса ( eth0 и wlan0 ) на каждой из машин
установленных по разные стороны.

|---------| / |---------|
| 20.0.0.1|-( wlan )-|20.0.0.2 |
| | / | |
| PC1 | | PC2 |
| | | |
| | ethernet | |
|_10.0.0.1|---------------|10.0.0.2_|


Цель - объединить два интерфейса в один.
Среди решений которые пришли мне в голову было два: использовать
bonding или teql.

Почитав документацию по bonding-у
(Documentation/networking/bonding.txt) сразу откинул этот вариант, так
как модуль использует утилиту ethtool для определения скорости
адаптера и/или mii-tool для link up/down. В моем случае с wlan
карточкой эти модули не работают. (Кроме того, модуль работает только
с equal-link интерфейсами)
Остался вариант teql...


Загрузка модуля sch_teql:

У модуля есть всего один параметр: max_equalizers - количество
создаваемых устройств teqlX.

[root@ilesik sched]# modinfo sch_teql
parmtype: max_equalizers:int
parm: max_equalizers:Max number of link equalizers
....
[root@ilesik root]# modprobe sch_teql


После выполнения команды появился новый интерфейс с названием teql0:

[root@ilesik sched]# ip link list
14: teql0: mtu 1500 qdisc pfifo_fast qlen 100
link/void
....


Объединение:

Далее все необыкновенно просто (как описано в sch_teql.c) : для
каждого из подчиненных устройств указываем в качестве корневого
qdisc-а teql0: (на всякий случай предварительно удалив корневые
qdisc-и :-))

[root@ilesik sched]# tc qdisc del dev eth0 root
[root@ilesik sched]# tc qdisc del dev wlan0 root
[root@ilesik sched]# tc qdisc add dev eth0 root teql0
[root@ilesik sched]# tc qdisc add dev wlan0 root teql0
[root@ilesik sched]# tc qdisc show
qdisc teql0 8007: dev eth0
qdisc teql0 8008: dev wlan0
qdisc pfifo_fast 0: dev teql0 [Unknown qdisc, optlen=20]
[root@ilesik sched]#


Далее стандартная настройка интерфейсов:

[root@ilesik sched]# ifconfig eth0 10.0.0.2 newmask 255.255.255.0 up
[root@ilesik sched]# ifconfig wlan0 20.0.0.2 newmask 255.255.255.0 up
[root@ilesik sched]# ifconfig teql0 30.0.0.2 newmask 255.255.255.0 up


На второй машине аналогично только адреса заканчиваются на 1.
Надо не забыть выключить rp_filter на каждом интерфейсе подключенном к
teql0, так как на каждый физический интерфейс будут приходить пакеты с
dst ip не равным ip этого интерфейса, а равным ip интерфейса teql0.

[root@ilesik sched]# echo "0" > /proc/sys/net/ipv4/conf/eth0/rp_filter
[root@ilesik sched]# echo "0" > /proc/sys/net/ipv4/conf/wlan0/rp_filter


На второй машине аналогично.
Настройка wlan интерфейсов (минимальная):

[root@ilesik sched]# iwconfig wlan0 mode ad-hoc
[root@ilesik sched]# iwconfig wlan0 essid "test"


Далее убедившись что каждый из физических интерфейсов пингует своего
соседа можно попробовать пропинговать 30.0.0.1:

[root@ilesik sched]# ping 30.0.0.1 -c 6
PING 30.0.0.1 (30.0.0.1) 56(84) bytes of data.
64 bytes from 30.0.0.1: icmp_seq=0 ttl=64 time=0.276 ms
64 bytes from 30.0.0.1: icmp_seq=1 ttl=64 time=1.05 ms
64 bytes from 30.0.0.1: icmp_seq=2 ttl=64 time=0.304 ms
64 bytes from 30.0.0.1: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 30.0.0.1: icmp_seq=4 ttl=64 time=0.302 ms
64 bytes from 30.0.0.1: icmp_seq=5 ttl=64 time=1.07 ms


В данном случае даже видно (по задержке) какой пакет "ходил" по какому
интерфейсу. Для надежности я запустил tcpdump на каждом из интерфейсов
второго маршрутизатора:

[root@gwl root]# tcpdump -n -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
18:45:53.647752 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 0
18:45:55.656000 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 2
18:45:57.667520 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 4


И для wlan0:

[root@gwl root]# tcpdump -n -i wlan0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
18:45:54.652580 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 1
18:45:56.659783 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 3
18:45:58.683827 IP 30.0.0.2 > 30.0.0.1: icmp 64: echo request seq 5


Как видно teql равномерно разбросал по 3-и пакета в каждый интерфейс.
Так как на 2-м маршрутизаторе тоже настроен teql то icmp echo reply мы
тоже получаем по разным интерфейсам:

[root@ilesik root]# tcpdump -i eth0 -n src host 30.0.0.1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
18:59:28.319834 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 1
18:59:30.324767 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 3
18:59:32.335110 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 5


Для wlan0:

[root@ilesik root]# tcpdump -n -i wlan0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
18:59:27.316539 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 0
18:59:29.321931 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 2
18:59:31.327306 IP 30.0.0.1 > 30.0.0.2: icmp 64: echo reply seq 4


Тестирование:

Тесты я проводил простой и удобной утилитой для замера пропускной
способности сети - iperf. Тесты проводились при полном отсутствии
какого-либо трафика в сети.
(Тест для физических интерфейсов выполнялся ДО установки qdisc-a в teql0)
Тест pc1.eth0 <-> pc2.eth0 (10.0.0.1 <-> 10.0.0.2):

1) 8.16 Mbits/sec
2) 8.09 Mbits/sec
3) 8.04 Mbits/sec


Тест pc1.wlan0 <-> pc2.wlan0 (20.0.0.1 <-> 20.0.0.2):

1) 11.7 Mbits/sec
2) 11.4 Mbits/sec
3) 11.6 Mbits/sec


После настройки teql0 и привязки к нему eth0 и wlan0:
Тест pc1.teql0 <-> pc2.teql0 (30.0.0.1 <-> 30.0.0.2):

1) 13.6 Mbits/sec
2) 13.4 Mbits/sec
3) 13.8 Mbits/sec


Итого прирост всего-то 2-2,5 мб по сравнению с pc1.wlan0 <->
pc2.wlan0.


Игры с tcp_reordering:

Как пишет автор sch_teql Alexey Kuznetsov (linux/net/sched/sch_teql.c)
teql должен отлично работать даже на интерфейсах 100Mb и 9600baud.
Но за время прохождения пакета по одному интерфейсу, по второму
(другому) может пройти 2-3 а то и намного больше пакетов, при этом tcp
стек считает что один (или более) из пакетов не дошел ... и начинается
повторная передача.

Для этого в ядре есть замечательный параметр -
/proc/sys/net/ipv4/tcp_reordering - количество пакетов которые могут
прийти "вне очереди".

Тест No.2 (tcp_reordering = 10) pc1.teql0 <-> pc2.teql0 (30.0.0.1 <->
30.0.0.2):

На обоих машинах выполняем:

[root@ilesik root]# echo "10" > /proc/sys/net/ipv4/tcp_reordering

1) 17.2 Mbits/sec
2) 17.0 Mbits/sec
3) 16.8 Mbits/sec


Тест No.3 (tcp_reordering = 15) pc1.teql0 <-> pc2.teql0 (30.0.0.1 <-> 30.0.0.2):
На обоих машинах выполняем:

[root@ilesik root]# echo "15" > /proc/sys/net/ipv4/tcp_reordering

1) 15.9 Mbits/sec
2) 16.0 Mbits/sec
3) 16.3 Mbits/sec


На этом эксперименты я закончил. Число tcp_reordering - 10 или 15 не
является "идеальным", оно отлично подошло в моем случае.


Как итог:

19 Mbits/sec я так и не достиг (8 по eth + 11 по wlan) но 17 - стабильно!

PS: Появилось сильное желание заставить D-Link-и работать на своей
"рекламной" (написанной на коробке большим красным текстом) скорости -
54Mbps, тогда можно вообще ethernet отключить. :-)

PS2: Ip адреса выбраны для удобства восприятия, в реальных условиях
они все из сети 10.0.0.0/8. При настройке важно обратить внимание на
таблицу маршрутизации каждого из маршрутизаторов, в приведенном случае
надо проверить что маршрут на сеть 30.0.0.x/24 идет через teql0.

Юрий Кисель. (netilesik[_AT_]elo[.]iptelecom[.]net[.]ua)
833 Прочтений •  [Объединение интерфейсов в Linux через teql (linux interface balance teql ethernet)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Объединение интерфейсов в Linux чер... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка