ALT Linux Community general discussions
 help / color / mirror / Atom feed
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




  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