Jugernault Posted April 9, 2006 Posted April 9, 2006 Добрый день уважаемые господа и дамы. Помогите кто чем может в прояснении следующей ситуации. Предполагается сделать следующий дизайн сети: Имеется хост на Fedora Core 4. На нем есть два эзернета на базе Realtec 8139. Одним из них он будет опирается на аплинка - от которого собственно и будет поступать интернет ресурс, а вторым он будт включен в Cisco Catlist 2924XL. Порт на Каталисте будет находится в режиме транка. Все остальные порты Каталиста будут в "аксесс моде" (т.е. в нетегированном режиме), каждый в своем влане, и к ним будут подключены клиенты. Т.е. ситуация с типичным "разветвителем" из связки коммутатор+маршрутизатор - каждый клиет в отдельном vlan-е и имеет доступ только к маршрутизотору который являеется шлюзом по умолчанию. У каждого клиента собственная подсеть - т.е. режим полной изоляции друг от друга. С реализацией это схемы вопрсов нет. Вопросы начинают возникать когда я начинаю планировать как будет осуществляться Traffic control (я использую htb) на данном програмном маршрутизаторе. Дело в том, что при Traffic control на Linux, корневой класс создается на qdisc-е прикрепленном к конкретному интерфейсу. В моем же случае у меня в системе будет несколько десятков vlan интерфейсов типа eth0.11, eth0.12, eth0.13 ... Если я для каждого интерфейса создам свой qdisc и свой корневой класс, то ограницение максимальной скорости пропускания по каждому из интерфейсов сделать очень просто. Но беда в том , что мне хочется странного: хочу что бы у меня на этих vlan интерфейсах можно было не только rate задать, но и ceil. А так как ceil задается в пределах одного класса, то у меня возникла мысль относительно того, что корневой класс нужно создавать не на vlan-интерфейсе, а на физическом интерфейсе eth0, на котором создаются логические vlan интерфейсы. На эту мысль меня натолкнуло то, что когда в системе есть vlan интерфейсы, то на физическом интерфейсе qdisc fifofast есть, а вот на логических vlan интерфейсах qdisc-а нет вообще. Т.е. я на физическом интерфейсе прицепляю qdisk htb, к нему креплю корневой класс, и на базе этого класса создаю подклассы для каждого vlan интерфейса. А потом фильтрами направляю траффик в эти классы. Изходя из всего вышесказанного хотелось бы услышать ваше менение по поводу моего предположения. Будет ли работать схема описанная моной? Если нет, то что можно предолжить альтернативное? Вставить ник Quote
alex_001 Posted April 9, 2006 Posted April 9, 2006 IMHO , проще это сделать через IMQ (засунув его в FORWARD). Как показывает опыт намного гибче решение. И заменить 8139 (тот что на юзеров) на Intel (стоят они дешево) , Intel умеет хотя бы аппаратно траффик по VLAN делить. A ваша схема боюсь не будет работать - на eth0 попадать будет только нетэгированный траффик (должен по крайней мере). Вставить ник Quote
Jugernault Posted April 9, 2006 Author Posted April 9, 2006 alex_001 IMHO , проще это сделать через IMQ (засунув его в FORWARD). Как показывает опыт намного гибче решение. Если не затруднит, то развей мысль плиз... И заменить 8139 (тот что на юзеров) на Intel (стоят они дешево) , Intel умеет хотя бы аппаратно траффик по VLAN делить. Чесчтно говоря не понял в чем "аппаратность" интеловского деления на vlan-ы? Ну не отбразывает карточка большие фреймы - так многие делают. А все остальное дело дров. A ваша схема боюсь не будет работать - на eth0 попадать будет только нетэгированный траффик (должен по крайней мере). Т.е. тегированый будет все же оставаться на eth0.11 и т.д.? Тогда кто нибудь обясните мне почему при создании vlan интерфейса не нем нет совершенно никакого qdisc-а? Вставить ник Quote
alex_001 Posted April 10, 2006 Posted April 10, 2006 1. www.linuximq.net . Если кратко - создает псевдо-девайс на который можно вешать qdisc's , на сам девайс пакеты заруливаются через iptables. Крайне удобно , особенно если юзеры висят на нескольких интерфейсах. 2. Насчет vlan действительно погорячился - хоть и может аппараттно strip/tag делать но драйвер текущий это не держит (в отличие от e1000). 3. Судя по исходникам (посмотри в д-рии 8021q) на каждый девайс создается отдельный net_device (и qdisc там вроде как есть "виртуальный" - noqueue) . Так что eth0 не будет root vlan девайсов на нем (IMHO). Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.