From: Oleg K.Artemjev <olli@rbauto.ru> To: community@altlinux.ru Subject: Re: [Comm] linux vlan Date: Thu, 18 Sep 2003 18:29:57 +0400 Message-ID: <20030918182957.2a89bc9b.olli@rbauto.ru> (raw) In-Reply-To: <20030919000939.345cfa4a.dima@sakhalin.ru> On Fri, 19 Sep 2003 00:09:39 +1100 Dmitry Lebkov <dima@sakhalin.ru> wrote: > > eth0.0 | 0 | eth0 > > eth2.0 | 0 | eth2 > > Но если в eth0 включить общую сеть, а в eth2 - компьютер через > > кроссовер или хаб, то он не пожет пропинговать остальных. > > Что я делаю не так? На всякий случай почитайте FAQ по устройству vlan с сайта, например, cisco. Vlan это некая обертка к фрейму (согласно 802.1q), т.е. такой фрейм без спец. драйвера виндовым клиентом не воспрнимается (отбрасывается как нестандартной для 802.1 длины), на unix системах роль спецдрайвера играет патч к ядру (которая затрагивает драйвера сетевух). Соответственно завертывалку в vlan ты поставил, но один момент не учел - для того чтобы линух работал в качестве свитча ему нужно включить бриджинг(2х портовый свитч это бридж). То есть по умолчанию линух работает на сетевом уровне, а форвардинг на канальном включается только после включенного в ядре bridging'а. > Что-то не так либо с постановкой задачи, либо с реализацией. Если > я ничего не путаю, то идея VLAN'ов в ядре следующая: > - есть eth-интерфейс с ip-адресом. Все пакеты, идущие через > него не маркируются (un-tagged packets) как принадлежащие > к какому-то VLAN'у. Это так называемый managemen vlan, в > терминологии Cisco. Интерфейс является транком (trunk) для > остальных vlan'ов, привязанных к нему; Верно. Если Вы перенесли IP адрес соответствующий management vlan на 802.1q интерфейс, то покуда Вы не попросите свитч оборачивать в 802.1q еще и management vlan - хрен кого пропингуешь по IP с management vlan'а. > - есть vlan-интерфейсы, привязанные к trunk'у и имеющие свои их еще бывает зовут "дот один ку" от ".1q" > ip-адреса. Пакеты, идущие через эти интерфейсы, маркируются > как принадлижаще vlan'у с номером, совпадающим с номером > интерфейса; Верно - фрейм увеличивается на заголовок vlan и перестает восприниматься "обычными" дровами для сетевух. > Если не используются свитчи, понимающее 802.1Q VLANs, то клиенты > в _одном физ.сегменте_ должны сами разбирать, какой из маркированых > пакетов предназначен для них, а какой нет (принадлежность к VLAN'у > настраивается в драйверах сетевой карты на клиенте). Дурной вариант - любой поставивший себе "спец дрова" будет видеть все vlan. > Если используется какой-либо свитч - то разбором tagged-пакетов (и > оправкой их в соответствующий порт) занимется этот самый свитч, > при условии, что Linux и свитч соединены через trunk-интерфейс. верно. > Вот, вроде бы так. Т.е. связка Linux(vlans)+Switch обеспечивает > тебя набором _физических_ сетевых интерфейсов, равных кол-ву > портов на свитче-1 (один занимается под trunk). > Поправьте меня, если я где-то что-то напутал ... %) Все правильно, разве что один момент - наглядность (физический смысл) появляется лишь когда объясняют работу на уровне длины фрейма. > Ты же, привязав vlan0 к eth0 и eth2 пытаешся добиться от Linux'a > поведения, аналогичного switch'у -- назаначить двум портам один > влан и они будут как бы один сегмент. Если я не ошибаюсь - vlan'ы > в Linux'е так не работают. Нет, тут дело не в не работают, хотя и такое вероятно - совмещать бриджинг с vlan я не пробовал и то, что это будет работать правильно нигде не упоминается (я не видел) - надо проверять экспериментальным путем. Он просто не знал что проброс на канальном уровне требует специальных усилий, то есть чтобы они осуществлялись надо эмулировать соединение между сетевыми картами а-ля кроссовер (на самом деле там еще деление коллизионных доменов с отбросом битых пакетов), то есть это подразумевает, что такую эмуляцию надо включить. PS: Если у Вас получится (или не получится) срастить bridging с vlan, не поленитесь - мыльните мне о результатах на <olli @ mtcm . ru> , а также в удачном варианте - о производительности. Судя по тому, что я слышал от коллеги который игрался с бриджингом - производительность на старом железе (а-ля первый пень) не поднимается выше 30К/секунду, что объясняется многочисленными перекладываниями фейма внутри PC (то есть это существенно медленне чем store and forward в cisco). Если Вам удасться получить производительность хотя бы на уровне 300K/с, то это уже интересно. -- Bye.Olli. http://olli.digger.org.ru
next prev parent reply other threads:[~2003-09-18 14:29 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-09-18 6:28 Прокопьев Евгений 2003-09-18 13:09 ` Dmitry Lebkov 2003-09-18 14:29 ` Oleg K.Artemjev [this message] 2003-09-18 17:38 ` Dmitry Lebkov 2003-09-18 13:54 ` Artem Pastukhov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20030918182957.2a89bc9b.olli@rbauto.ru \ --to=olli@rbauto.ru \ --cc=community@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git