01.12.2011

802.1Q VLAN изпълнение за Linux

Original on http://www.candelatech.com/~greear/vlan.html

Sept 13, 2005
Release: 1.9

PLUG: Проверете LANforge трафик поколение и WAN оборудване симулация тест, въз основа на Linux операционна система
: LANforge е подобен Charriot и Smartbits за нуждите на трафик поколение. Тя може да генерира Ethernet, UDP, TCP, HTTP, FTP, VoIP (SIP, RTP) и други протоколи. LANforge-ICE е WAN емулатор и мрежа увреждане инструмент тест. Тя може да се инжектира латентност, трептене, загуба на пакети и други аномалии на мрежата по контролиран начин.
Candela Technologies

802.1Q VLAN код сега е част от официалното ядро, и е продължение на години и години. MAC-VLAN код били добавени след около 2.6.29. Много е вероятно, че трябва да изтеглите нещо от този сайт, пакетите са оставени тук заради потомство “. Моля, изпращайте въпроси и докладите за грешки на Linux пощенски списък мрежа:
netdev@vger.kernel.org.

С “ПР” полезност (vconfig работи за VLANs 802.1Q VLANs и MAC-VLANs могат да бъдат създадени, но е crufty и непрепоръчителен).

IP връзка добавите връзка eth0 име eth0.5 тип VLAN ID 5
връзка IP добавите връзка eth0 име eth0 # 1 адреси 00: AA: BB: CC: DD: EE тип macvlan

—- Legacy раздел —–

Чувам, че 2.2/2.4 ядрото лепенки са работили с тези (и други, аз съм сигурен):

  • Cisco: {Catalyst 6509}, 3Com: {Corebuilder, Netbuilder II, превключвател за SuperStack II 630}, Alpine: {3804 (SMMi, F32Ti)} Extreme Ntwks {срещата на високо равнище 48, 48i, 5и} Леярна: {ServerIronXL, FastIron}
  • Alteon ACENic Gigabit, 3Com 3c509, Realtek RTL8029 (AS), RTL8139, DEC DC21140 (лале), DFE-570TX четириядрени 21,143, Intel PRO/1000 с шофьор на Intel

Изпълнение:
Разликата в трафик над VLANs V / редовен Ethernet е много слабо. Ако някой е направил някакъв бенчмарк, аз ще бъда щастлив да го поставите тук!

VLAN, свързани ресурси.

Характеристики

  • Реализира 802.1Q VLAN спекулация.
  • Може да поддържа до 4094 VLANs на Ethernet интерфейс.
  • Везни и в критичните пътища: O (N), където N е броят на ФИЗИЧЕСКИ Ethernet интерфейси, както и че е само на проникване. O (1) и във всяка друга критичния път, доколкото знам.
  • Поддържа мултикаст
  • Може да промените MAC адреса на VLAN.
  • Множество именуване конвенции, подкрепени, както и регулируеми по време на изпълнение.
  • Възможност за заглавна пренареждане, за да VLAN интерфейс изглеждат точно
    като Ethernet интерфейс. Това поправя някои проблеми с DHCPd и нещо друго, което използва SOCK_PACKET гнездо. Настройката по подразбиране е изключено, която работи и за всеки друг протокол, което знам за, и е малко по-бърза.

Промяна Вход

  • Release 1.9 (GZ)   Последни vconfig & macvlan_config Sept 13, 2005:

    • Всички петна, останали в този пакет са само за исторически цели. Официалната код VLAN и MAC-VLAN е в ядрото. Тази версия поправя кодове за връщане на грешка в vconfig.
  • Release 1.8 (GZ)   Kernel: 2.4.21+ Sept 30, 2003:

    • Актуализирана MAC-VLAN код и завършен тестване. Въз основа на работата на Алекс Zeffertt, но много е написано, и той не може да бъде държан отговорен! Моля, изпратете всички доклади за грешки в пощенския списък на VLAN. Candela Technologies единна пластир е нещо, което трябва да се прилага сега, и тя съдържа различни други, свързани с не-задължително-VLAN бита и парчета.
  • Release 1,7 метра (GZ)   Kernel: 04.02.14+ Фев 27, 2003:

    • Добавен Алекс Zeffertt MAC-базиран VLAN код. Не е напълно функционална, все още (най-вече, защото аз си счупи оригинално произведение… ще го оправи скоро. Хвани и използват неговите сурови файлове кръпка * междувременно.
  • Издаване 1.7 (GZ)   Kernel: 2/4/14+ Фев 27, 2003:

    • Изясни лиценз за vconfig (GPL). Други малки подобрения.
  • Release 1.6 (GZ)   Kernel: 2/4/14+ 24 март, 2002 г.:

    • Извадени от 2.4 ядрото кръпка: Това е в стандартното ядро сега.
    • Актуализирано vconfig да поправи някои от съставят въпроси, и да позволи кръстосано компилация на StrongARM платформа (промени, трябва да помогне и други опити за компилация на кръстосано.)
  • Release 1.5 (GZ)   Kernel: 4/2/12 г. pre5 октомври 22, 2001 г.:

    • Предимно добавени други поправки народи и лепенки (благодарение хора!)
    • Накрая фиксирани изтичане на MC-списък (ARD ван Breemen)
    • Flush MC-списък на най-VLAN-destory (ARD ван Breemen)
    • Добави vconfig човек страница на разпространение (ARD ван Breemen)
    • Fix проблем с / ргос и преименуване на VLAN устройства (AF AT devcon DT нето)
    • Добавете сравнително големи промени от Ник Eggelston, което прави по-прозрачен VLAN устройства на инструменти като tcpdump и други суровини пакет snoopers. Това ще бъде разрешена само, когато REORDER_HDR флаг е настроен.
  • Release 1.4 (GZ)   Kernel: 2.4.8 16 август, 2001 г.:

    • Кодекс не трябва да изискват / ргос интерфейс, за да получите най-IOCTLs. IOCTLs сега са обвързани с контакти. Когато се използват модули, тя може автоматично натоварване, а сега, прекалено…
    • Фиксирана грешка формат низ в ргос дисплей FS.
    • Фиксирана бъг катастрофа, свързани с разпределение на паметта с брави, държан (ние сега използват GF_ATOMIC)
    • hard_start_xmit сега ще расте заглавната пакети, ако не е достатъчно височина. Това може да се определи проблема MPLS-над-VLAN, въпреки че реално решение е да се направи MPLS разпределят повече височина, така или иначе…
    • vconfig е променено, за да използвате новия IOCTL API, и старите vconfig няма да работи с този или новите кръпки…
  • Release 1.0.3 (GZ)   Kernel: 2.4.7 5 август 2001 г.:

    • Re обработка код, за да бъде по-стабилна и по-повече в линия с какво ядро подържат искате да видите, преди пластира да VLAN е включена в ядрото.
    • Един от тези искания е да се промени схемата за именуване по подразбиране eth0.5, за VLAN на VID 5 на eth0. Можете да над вози това именуване на поведение с vconfig инструмент.
    • Имаше * NO * промени серията 2.2 кръпка, и аз не очаквам да си направите всякакви повече промени там…
  • Release 1.0.1 (GZ)   Kernel: 2.2.18/19, 2.4.3-pre3 16 април, 2001 г.:

    • Обединен решение за промяна на MAC на VLAN, сега правилно определя PACKET_HOST. Благодарение на Мартин Bokaemper за това.
    • 2.4 кръпка серия трябва да компилирате като модул, благодарение на ощипвам от някой, който поща, аз загубих! Както и да е, 3 наздраве на ООН име програмист!
    • Имаше * NO * промени серията 2.2 кръпка, макар да се провери, че тя изглежда да работи добре с ядро 2.2.19.
  • Release 1.0.0 (GZ)   Kernel: 2.2.18, 2.4.0 Яну 14, 2001:

    • Наистина фиксирани (и тествани) MAC промяна възможност. Когато зададете MAC адреса на VLAN, тя също ще се опита да определи основните устройство PROMISCious режим (в противен случай, VLAN не ще получи никакви пакети.)
    • Хеширано устройството търсения е изключена по подразбиране, защото някои хора са имали проблеми с “ето” устройство. Моля, чувствайте се свободни да активирате отново чрез редактиране на линия в нетната / ядро / dev.c (търсене за # дефинират BEN_FAST_DEV_LOOKUP).
    • vconfig трябва да предупреждават, когато създаването на VLAN 1, защото това VLAN не е съвместим с много ключове.
  • Release 0.0.15 (GZ)   Kernel: 2.2.18, 2.4.prerelease Дек 31, 2000:

    • Merged повечето от кръпки на Мати Aarnio. Това означава, че няма значително кръпка eth.c, и ще помогне на порт VLANs-Ethernet устройства (т.е. ПЧП, TokenRing?).
    • Настройка на MAC адрес, трябва да работят сега.. Мисля, че е счупена преди.
    • Разни код реорганизация, за да направи “кръпки” за съществуващи файлове по-малък.
  • Release 0.0.14 (GZ)   Kernel: 2.2.17, 2.4.pre9 Окт 26, 2000:

    Този код изглежда доста стабилна.

    • Removed VLAN-пространство на всяка машина, така че VLAN-пространство на NIC е задължително.
    • DHCP може да работи сега, като съм добавена поддръжка за капсулиране на редовен Ethernet рамки, ако те са изпратени на водача VLAN.
    • Fixed до име / индекс неща хеширане, за да се справят с промяната на името на устройството.
    • Подразбиране VID & приоритет по подразбиране, като usefullness им е въпрос, и кода е счупен така или иначе.
  • Release 0.0.13 (GZ)   Kernel: 2.2.17, 2.4.pre9 Окт 11, 2000:
    Е известно, КОИТО ТРЯБВА ДА БЪДАТ отпадна, тук заради бъдещите поколения на.

    • Добавена е поддръжка за Multicast VLAN устройства. Благодарение на
      Глеб & Co за голяма част от този код.
    • Добавена възможност за задаване на MAC адреса на VLAN. За сега, ще трябва да настроите Ethernet NIC в режим PROMISC, или може би да разбера някои много гласове Ethernet адрес, да се постави на NIC. Това не е тестван добре на всички.
    • Добавен хеширано устройство търсене на схема име. Това значително ускорява фоп-а. Аз бях в състояние да стартирате фоп в 20 секунди на Celeron 500, с 4000 устройства VLAN конфигуриран!!
    • Добавен vlan_test.pl да ми помогне да намерите ням бъгове. Чувствайте се свободни да направят това много по-мощен, и изпраща код обратно към мен!
    • vconfig.c е превръща в C код сега, вместо на C++. Благодарение на Матийо.
    • Значително почистват код, W / намаляване на каквато и да е полезна функционалност, аз вярвам.
    • Премахнато DHCP неща от разпределение VLAN.
  • Release 0.0.12 (GZ)   Kernel: 2.2.16, 2.4.pre7 27 август, 2000:

    Въведена е възможността отново да поръчате пакет VLAN, така че да изглежда като истински Ethernet пакет за проникването път. Това трябва да помогне на DHCP и други програми, които настояват за четене на суровините буфер и след това се правят предположения за байт компенсира. Не съм добър начин да проверите това напълно, така че то експериментални:) Това поведение може да се променя по време на изпълнение, и се определя въз основа на VLAN. По подразбиране не е да бъдат пренаредени хедър, който е само поведение до този момент. Vconfig
    програма може да определя / прозрачен флаг, с помощта на VLAN IOCTL. Можете да прочетете стойността на флаг от ргос / нето / / VLAN / VLAN * файлове.

    Можете също така да зададете приоритет по подразбиране по-VLAN устройство. Този приоритет ще се използва само, когато default_VID за устройството е зададен като добре. Този приоритет няма да бъдат картографирани навсякъде, просто копират направо в SKB-> приоритет. Това е uint16.

    Пластирът 2.3 е вече 2.4 кръпка, и тя е била тествана срещу 2.4.pre7.

  • Release 0.0.11 (GZ)   Kernel: 2.2.13/14, 03/02/99 23 април, 2000:

    Добавено реална подкрепа за приоритет. Чрез IOCTL разговори (вижте vconfig програма), можете да зададете изрично проникване и съпоставяне на излизане / от бита VLAN QoS и sk_buff-> приоритетна сфера. Това не е тестван много добре, тъй като аз не знам много за начина, по който хората наистина използват от приоритетната област… Извади турнир трябва да излъчат новият aggretation, че влезе в RLS 0,10, тъй като тя е предимно само хак и Link Aggregation по-ниско ниво и след извеждането на VLAN на върха на това виртуално устройство, вероятно има повече смисъл. Vconfig програма промени в подкрепа на новите функции.. тук това е нов ползване:

    Usage: add             [interface-name] [vlan_id]
           rem             [vlan-name]
           set_dflt        [interface-name] [vlan_id]
           add_port        [port-name]      [vlan_id]
           rem_port        [port-name]      [vlan_id]
           set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
           set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
           set_name_type   [name-type]
           set_bind_mode   [bind-type]
    
    * The [interface-name] is the name of the ethernet card that hosts
      the VLAN you are talking about.
    * The port-name is the name of the physical interface that a VLAN
      may be attached to.
    * The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
    * skb_priority is the priority in the socket buffer (sk_buff).
    * vlan_qos is the 3 bit priority in the VLAN header
    * name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
                  DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
    * bind-type:  PER_DEVICE  # Allows vlan 5 on eth0 and eth1 to be unique.
                  PER_KERNEL  # Forces vlan 5 to be unique across all devices.
    

    2.3 петна са били пренесени към друг оператор, натурализира 2.3.99, благодарение на Патрик за vlanproc.c актуализации!

  • VLAN Настройка и конфигурация

    За да започнете, вие ще искате да свалите последната файла vlan.XXtar.gz ($ HOME директория.) Разопаковайте с любимите си команди, например: катран xvzf vlan.1.6.tar.gz
    алтернатива, можете да получите от CVS хранилището, с нещо подобно:

    1. Инсталиране и конфигуриране на вашата машина.
    2. Посочете хранилище на VLAN: износ CVSROOT =: pserver: anonymous@cvs.candelatech.com: / Начало / cvs_user / VLAN
    3. Влезте в хранилището: CVS вход (PASSWORD: Анонимен)
    4. Проверете източник: защитен режим VLAN, CD VLAN; CVS-z3 касата VLAN

    Сега, трябва да имате директория на VLAN в дома си директория. Вие само трябва да да кръпка на ядрото, ако използвате Linux 2.4.14 или по- рано. Сега, прочетете README или други документи, за да разбера какво ядро петна срещу. Списък на огледала се съхраняват в www.kernel.org. Разархивирайте и ООН катран това в дома си директория, както и, които трябва да създаде Linux директория в $ HOME директорията. Пример:
    катран xvzf Linux-2.2.14.tar.gz

    Сега добавете ядрото VLAN промени в ядрото, ако ядрото ви го изисква. Най-накрая се измисли как да направи петна, които разл могат да се справят (мисля, че аз го направих най-малко!). Тук ще намерите пластира в директория VLAN. Тя ще се нарича: vlan.patch, или нещо също толкова прав-натурализира. Прилагане на кръпка за ядрото ви:

    CD $ HOME / Linux
    кръпка-P 1 <$ HOME / VLAN / [vlan.patch]

    Вашият нов, кръпка, ядрото трябва да се включите вашия път, преди да се опитате да компилирате vconfig програма. Един от начините да получите неща работа е да се свържат $ HOME / Linux директория “Linux”, която току-що ООН компресиран и кръпка. Команда може да бъде нещо като
    : CD $ HOME LN-S / home/greear/kernel/2.4/linux.dev Linux

    Изграждане на vconfig програма в $ HOME / VLAN директория: CD $ HOME / VLAN

    Сега, времето за съставяне на новото ядро! Използвайте xconfig
    команда в $ HOME / Linux директория, за да изберете вашето ядро опции. Опция, свързани с 802.1Q VLANs се намира под мрежови възможности. Ако опцията не е маркирана, се уверете, че сте избрали “Експериментално Drivers” в един от първите менюта xconfig.

    Ако вашето ядро, събрана чисто (крещи, ако не и мислите, че код счупи ми го!), Вече сте готови да го опитате!! Инсталирайте ядрото по обичайния начин (фиксират по подходящ начин / и т.н. / lilo.conf файла и стартирайте Лило като корен.) Рестартирайте компютъра си и да избере новото ядро.

    Тъй като компютърът ви се доставя обратно към живот, ще бъде малък знак, че сега сте 802.1Q способни, различни от линия плюят по време на процеса на зареждане. Трябва да бъде довереник програми в $ HOME / VLAN директория: vconfig. vconfig се използва за създаване и унищожаване на VLAN устройства. Така че, нека да се създаде устройство, VLAN за първия си Ethernet NIC. vconfig <return> ще списъка кратко увлекателно разказана история за това как да го използвате. Vconfig команда Аз обикновено използвам е:

    vconfig добавите eth0 5

    Това се опитва да създаде устройство, VLAN с VLAN ID на 5 на eth0 устройство. Ако искате да изтриете VLAN, използвайте нещо подобно:

    vconfig вещни eth0.5

    Вие също ще трябва да му се даде IP, например: фоп-и eth0.5 192.168.2.1

    и да го конфигурирате UP : фоп и eth0.5

    Забележка: Можете да получите много информация, свързана с конфигурация от PROC / / нето / VLAN / * файлове на VLAN, с помощта на “котка” или “повече”, за да
    ги гледаш.

    Моля да се свържете с мен, ако имате предложения, петна или други коментари.

Comments are closed.