Почему тормозит локальная сеть?

network_brakes

Почему медленно работает сеть?

Хааа, да что за тупой вопрос? Почему угодно. 100500+ причин. Но т.к. недавно столкнулся с одним интересным для себя малограмотного случаем, обязательно его тут отмечу. Итак, в упрощенном до безобразия виде дана такая вырезка из топология LAN организации:

Тормозит сеть

Тут есть два больших коммутатора HP ProCurve 5412zl выполняющие роль корневых коммутаторов и выделенные на схеме красным. Через них, как положено, проходит львиная доля всего трафика ЛВС. Представлены здесь и два коммутатора 10.200.2.110 и 10.200.2.13, символизирующие собой свитчи уровня доступа, к которым подключены ПК пользователей, их IP телефоны и даже, по глупости, некоторые серверы. Синим цветом выделены аплинки, пропускная способность которых не меньше 1000Мбит/сек, красным же цветом отмечены тупые аплинки, работающие по какой-то причине на 10Мбит/сек.

Теперь о проблеме. Однажды случилось так, что голос людей в IP телефонах стал похож на голос Валли из одноименного мультфильма. Выяснилось, что неудачно собранный кластер терминальных серверов практически непрерывно генерировал в сеть до 10Мбит паразитного трафика (об этом, кста, детально написано здесь). Естественно, все устройства, согласовавшие с портами их свитчей скорость 10Мбит/сек (многие IP телефоны, некоторые ПК и т.п.) сильно пострадали, т.к. для их взаимодействия с миром в их сетевых портах совсем не осталось места.

Проблем с тупым терминальным кластером (ТК) быстро не решалась и поэтому телефоны, что давно следовало сделать, были вынесены в отдельный голосовой VLAN, куда, естественно, не проникал ненужный флуд от ТК. Таким образом возникшие проявления проблемы были устранены. То есть флуд в 10Мбит по прежнему никуда не делся, но все значимые устройства, ему подверженные и работающие на 10Мбит/сек были вынесены в отдельный VLAN, в то время как флуд остался в дефолтном первом VLANe.

Но дальше возникает такая вещь. Появляются странные задержки при обмене пакетами между хостами, подключенными в разных участках LAN. Смотрим на картинку. Например, обычный ICMP ping от Хоста 1 до Хоста 2 (оба находятся в VLAN 1) варьируется между 1 и 100+ msec, а некоторые пакеты вообще пропадают. Казалось бы, как так может быть, если это LAN, а не интернет и все линки от хоста 1 до хоста 2 имеют пропускную способность не меньше 1Гбит сек. При таких условиях ping должен стабильно летать туда-сюда за 1 мсек с оочень редкими девиациями от этой цифры. Даже если и благодаря флуду от ТК в сети постоянно висит паразитный фон в 10Мбмит/сек, это всего лишь 1% от пропускной способности канала между Хостом 1 и Хостом 2. В чем же проблема?

Как оказалось, проблема в некоторых хостах, которые по прежнему остались в первом VLANе и подключены в сеть аплинками с пропускной способностью 10Мбит/сек. Один такой хост и показан на картинке под именем Linux Router и воткнут прямо в порт I2 корневого коммутатора Core 1 и находится в VLAN 1. Хоть этот Linux Router и не лежит на пути трафика проходящего от хоста 1 до хоста 2, он еще как влияет на скорость прохождения этого трафика. Чтобы понять, почему это происходит, нужно посмотреть, например, на счетчики интерфейса J1 Core 1.

Core1# sh interfaces J1

Status and Counters — Port Counters for port J1

MAC Address : 0021f7-bc9c27
Link Status : Up
Totals (Since boot or last clear) :
Bytes Rx : 812,984,141 Bytes Tx : 679,714,496
Unicast Rx : 2,571,865,283 Unicast Tx : 3,329,931,025
Bcast/Mcast Rx : 178,784,611 Bcast/Mcast Tx : 1,447,609,757
Errors (Since boot or last clear) :
FCS Rx : 0 Drops Tx : 0
Alignment Rx : 0 Collisions Tx : 0
Runts Rx : 0 Late Colln Tx : 0
Giants Rx : 0 Excessive Colln : 0
Total Rx Errors : 0 Deferred Tx : 0
Others (Since boot or last clear) :
Discard Rx : 10,086,697 Out Queue Len : 0
Unknown Protos : 0
Rates (5 minute weighted average) :
Total Rx (Kbps) : 453,128 Total Tx (Kbps) : 449,464
Unicast Rx (Pkts/sec) : 216,867 Unicast Tx (Pkts/sec) : 109,209
B/Mcast Rx (Pkts/sec) : 256 B/Mcast Tx (Pkts/sec) : 107,624
Utilization Rx : 04.53 % Utilization Tx : 04.49 %

Что тут видно? Видно, что счетчик Discard Rx имеет неплохое значение, которое постоянно увеличивается. Забитость интерфейса по счетчикам Utilization Rx, Tx, как писалось выше, ну уж совсем незначительна, т.е. с точки зрения загрузки порты почти спят. Из всего этого, после долгих раздумий, родилось предположение, что происходит все так (смотрим с позиции Core1):

1. На коммутатор Core1 в интерфейс J1, прилетает пакет (ну да, на деле этой фрейм, а не пакет, т.к. речь о L2, но не будем умничать), адресованный LinuxRouter, или, как в случае с бродкаст-флудом, о котором выше упомянуто, пакет/фрейм адресован всем в сети, в том числе и LinuxRouter. Коммутатор видит, что линк I2 до этого самого LinuxRouter  уже забит донЕльзя и ставит этот пакет в очередь на интерфейсе, где получил его, т.е. на J1.

2. Таких пакетов прилетает великое множество и места в очереди J1 становится ну ооочень мало, а в некоторые моменты его нет вообще.

3. На Core 1 прилетает тот самый пакет от Хоста 1, адресованных Хосту 2. Пакет прилетает именно в тот  момент, когда очередь интерфейса J1 забита на 100% и, как следствие, Core 1 его выбрасывает. А если место все же есть, то пакет в итоге долетает до Хоста 2, но с некоторой задержкой, в зависимости от того, сколько он простоял «в очереди» на Core 1. Вот и все.

В результате, из за одного тупого хоста, согласовавшего медленный линк с коммутатором уровня ядра, через который пролетает большая часть трафика LAN медленно работает вся сеть, т.к. очереди транзитных магистралей этого Core 1 напрочь забиты тем, чего ждет тот, кто в данном случае называется LinuxRouter. И большая пропускная способность всех аплинков между коммутаторами тут ну никак не помогает.

В моем случае вылечилось все выключением интерфейса I2 на Core 1. Это можно было сделать т.к. LinuxRouter уже давно никем не использовался и просто висел и работал как полуживой памятник.

Хотел еще привести те самые пинги с задержками до и после выключения I2 для большей наглядности, но, думаю, и так все понятно.


Не забывайте оставлять комментарии, если пост был вам полезен!
Опубликовано в Сети Метки: , , ,
10 comments on “Почему тормозит локальная сеть?
  1. Максим:

    Спасибо, мне очень помогло. Отдельно благодарю за разъяснение на человеческом языке.

  2. microgaming online casinos that accept us players
    online casino for us players
    online casino pay by paypal

  3. Ctunfuoa:

    Подскажите кто сталкивался работет ли эта тема:

    Мы платим за лайки! — Оплата по требованию!
    Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.
    Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.
    Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,
    достаточно просто зарегистрироваться на нашем сервисе. > oplata-vklike.tk <
    Вывод заработанных средств ежедневно в течении нескольких минут.

    Заранее Спасибо!

  4. Acquisto Sildenafil 120 Mg viagra Forum Viagra Soft Cephalexin Mixed With Diclofenac Effects Zithromax And Coumadin

  5. viagra sale spain
    viagra 100mg
    viagra sale boots chemist

  6. Dapoxetine Chlorhydrate viagra Allergic Reaction For Keflex Nombre Generico Viagra

  7. Canadianpharmacy24h brand levitra online Kamagra Pas Cher Rapide Sildenafil GСЂС–РІВ©nСЂС–РІВ©rique

  8. Williamniz:

    Quickly lose weight — it’s easy:
    https://sites.google.com/site/weightlossluxury/weight-loss-women-s-health

    Inquiries for Google:
    weight loss and smoking weed
    how many calories in a day for weight loss
    good virtual weight loss simulator models
    can you lose weight on the yasmin pill
    amway green tea weight loss
    diet menu for a week for weight loss
    exercise to help me lose weight
    antidepressants weight loss list
    garcia weight loss pill

  9. Propecia Oferta Cheap Quality Viagra Forum Viagra Generico Italia Farmacia viagra prescription Propecia Oficial Order Viagra Usa Pharmacy Viagra Venta Cordoba

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Заодно посмотрите мои фоты в моем профиле вконтакте. Любые вопросы по существу статей можете задать там же.

Hostenko — лучший WordPress-хостинг