Virtuální spojovací pole verze 2

Z VirtlabWiki

Přejít na: navigace, hledání

Obsah

Základní princip

Propojování Ethernet linek (access i trunk)

Jednotlivá rozhraní laboratorních prvků (reálných i simulovaných) přivedena na různé VLAN (buďto nastavením fyzického portu C3560 do VLAN nebo z trunku od XEN a jiných serverů). Na portech C3560 připojujících reálná zařízení je konfigurován QinQ. Bylo prověřeno, že QinQ tunelem procházejí i netagované rámce. VLANy jsou ukončeny na tunelovacím serveru, který podle konfigurace bridguje veškerý provoz mezí Ethernet rozhraními síťových prvků lokality, resp. jej posílá do cizích lokalit v UDP přes Internet.

K tunnel serveru přicházejí z C3560 data z laboratorních zařízení trunkem, který nese

  • single-tagged rámce, je-li laboratorní zařízení připojeno access linkou
  • double-tagged rámce, je-li laboratorní zařízení připojeno trunkem

V každém případě tag nalepuje port, kterým do C3560 rámec od uživatelského zařízení vstoupil. Tunelovací server nerozlišuje, zda přemosťuje single-tagged nebo double-tagged rámce, orientuje se podle vnějšího tagu a případný vnitřní ho nezajímá. Jen je třeba nastavit větší MTU (1508 B).

Podle požadované topologie se automaticky konfigurují jen tunelovací servery; konfigurace C3560 (příp. C1900) jsou pevné - jedná se o přiřazení jednotlivých portů do QinQ VLAN a vytvořeních všech VLAN v lokalitě (kvůli bridgeování v řetězu C2560 vytváříme všude všechny VLAN použité v lokalitě).

Propojování sériových linek

Propojování sériových linek se obsluhuje "klasicky", tj. generováním konfigurace pro jednotlivé ASSSK. Je předpokládáno, že se v topologii požadují pouze spoje mezi sériovými rozhraními laboratorních prvků připojených do téhož ASSSK, tj. že mapovací algoritmus správně pracuje s connectivity groups.

Paralelní zpracování rezervací

Generování a aktivace konfigurací se musí vypořádat s tím, že CRON může chtít generátor konfigurací spustit paralelně vícekrát, pokud se sejde více rezervací na stejný čas. Generátor konfigurací je proto reentrantní a generuje pro jednotlivá spuštění nezávislé sady souborů (vždy přípona RESID za každým). Také se může stát, že konfiguraci lokality bude chtít (přes Konfigurační server) modifikovat více lokalit naráz (ať už při aktivci nebo daktivac) a nahrávané konfigurace (do Tunserveru nebo ASSSK) se nesmí během uploadu pomíchat (=musí se serializovat). Serializaci vyřešíme zatím tak, že konfigurační server bude současně přijímat jen 1 TCP spojení.

Poznámka:

  • Předpokládáme, že CONNECT timeout na klientech je řádově 1 minuta, za kteroužto dobu se jistě předchozí jedno TCP spojení vyřídí (nejpomalejši je upload konfigurace do ASSSK, kde se mezi znaky čeká 100ms, ale zato jsou konfigy krátké).
  • Všechny hodnoty pro TCP spojení jsou v /proc/sys/net/netfilter/, prip. v /proc/sys/net/ipv4/*tcp* (tcp_syn_retries), lze i nastavit zápisem do příslušného souboru.


Na straně klienta konfiguračního serveru je třeba později trochu vylepšit obsluhu timeoutu z connect() - může se stát, že by v určitou hodinu chtělo nalévat konfiguraci do téže lokality velmi mnoho klientů a v rámci defaultního connect() timeoutu by se to nestihlo.

Nová syntaxe spoje.conf

device@site:interface SW-DEV-TYPE SW-DEVNAME@site [VLAN|port]
  • Pro SW-DEV-TYPE=C3560 je k (Ethernet) rozhraní laboratorního prvku (reálného i simulovaného) přiřazen VLAN
  • Pro SW-DEV-TYPE=ASSSK je k Serial rozhraní (reálného) laboratorního prvku přiřazen port určeného ASSSK
  • Pro SW-DEV-TYPE=C1900 je k (Ethernet) rozhraní laboratorního prvku (reálného i simulovaného) přiřazen VLAN
    • zatím neimplementováno
    • použití pro laboratorní prvky, které neumějí trunky (C1900 neumí QinQ, ale je levně dostupný)

Příklad:

R1@ostrava:Ethernet0 C3560 VLMUX1@ostrava 1000
R1@ostrava:Ethernet1 C3560 VLMUX1@ostrava 1000
UML1@ostrava:eth0 C3560 VLMUX1@ostrava 2000
R1@ostrava:Serial0 ASSSK ASSSK1@ostrava 1
R1@ostrava:Serial1 ASSSK ASSSK1@ostrava 2

TODO

  • Zjistit, co se přesně stane, když na jednom ze spojených rozhraní laboratorních prvků uživatel nastaví trunk a na druhém access. Pro případ spojení v rámci lokality i přes tunel.
Osobní nástroje