Detail publikace
Vyhledávání v IPv6 směrovači implementovaném v hradlovém poli
IPv6, vyhledávání, COMOBO6, FPGA
Počítač v roli směrovače plní dva základní úkoly. Udržuje směrovací informace (tj. směrovací tabulku, nastavení paketového filtru, konfigurace atd.) a přepíná pakety. Přepínání paketů je činnost, při které operační systém prozkoumá hlavičky paketu, najde relevantní informace v tabulkách a na jejich základě rozhodne, kam (a jestli vůbec) paket vyšle.
Protože hlavní brzdou tohoto postupu je propustnost PCI sběrnice, přirozeným řešením je postavit hardwarový akcelerátor, který bude provádět přepínání paketů. Akcelerátor COMBO6, který vyvíjíme v rámci projektu Liberouter, bude sloužit přesně tomuto účelu. Vlastní přepínání paketů je operací na výkon nejkritičtější, na druhou stranu údržba tabulek je doménou řídícího počítače, který také může snadno zajišťovat komunikaci s uživatelem.
Klíčovou částí přepínání paketů v COMOBO6 je vyhledání, jak se má s paketem naložit. Vstupem jsou údaje z hlaviček a výstupem popis, kam paket vyslat a jak se před vysláním má editovat. Úkolem softwarové podpory akcelerátoru je zajistit, aby přepínání paketů probíhalo zcela shodně s tím, jak by s pakety naložil operační systém. Z jeho pohledu se navíc karta bude chovat jako běžné síťové adaptéry. Jedinou změnou je, že pakety, které sama umí zpracovat, také (výrazně rychleji) zpracuje.
V tomto článku popisujeme hardwarovou realizaci vyhledávacího stroje a jeho instrukční sadu. Zmiňujeme se také o původním návrhu, který sice nebyl použit, ale při jeho tvorbě jsme využili metod formální verifikace. Další část se věnuje architektuře softwarové podpory akcelerátoru, konceptu routovací/firewallovací tabulky a výpočtům vyhledávacích struktur, na kterých právě pracujeme.
@INPROCEEDINGS{FITPUB7396, author = "David Anto\v{s} and Jan Ko\v{r}enek", title = "Vyhled\'{a}v\'{a}n\'{i} v IPv6 sm\v{e}rova\v{c}i implementovan\'{e}m v hradlov\'{e}m poli", pages = "91--102", booktitle = "EurOpen, Sborn\'{i}k p\v{r}\'{i}sp\v{e}vk\r{u} XXIII. konference", year = 2004, location = "Str\'{a}\v{z}nice, CZ", ISBN = "80-86583-04", language = "czech", url = "https://www.fit.vut.cz/research/publication/7396" }