Virtuální spojovací pole verze 2
Z VirtlabWiki
Obsah |
Základní princip
Propojování Ethernet linek (access i trunk)
Rozhraní laboratorních prvků (reálných i simulovaných) přivedena na různé VLAN. 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. QinQ tunely 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).
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 v /proc presneji 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 pro Ethernet rozhraní laboratorních prvků
site@device:interface SW-DEV-TYPE SW-DEV-NAME VLAN
Pozor, všechny VLAN se musí zřídit ve VŠECH C3560 lokality, kvůli tranzitu.