概要

SDNやNFVといった技術の発展によりソフトウェアでのパケット処理の需要が高まっている.10-100GbEの普及により,端末間のデータ通信は高速に行える環境が整備されつつあるが,ソフトウェアでの処理はハードウェアに比べて低速であり,通信のボトルネックとなっている.この問題を解決する一例として,カーネルバイパス技術があり,代表的なものに eXpress Data Path (XDP) 系列の AF XDP や Data PlaneDevelopment Kit (DPDK) が挙げられる.また,ネットワークサービスにおける深刻な障害の要因としてソフトウェアのバグが高い割合を占めるという現状があり,様々な手法を用いてネットワークファンクションを検証する研究が行われている.本論文では,DPDK を用いたユーザ空間での高速なパケット処理,Rust言語によるメモリ安全性,そして Prusti により仕様検証を実現するネットワークファンクションの設計を行なった.さらに,上記設計に基づき NAT の開発を行い,高速なパケット処理かつメモリ安全性を満たし,仕様に誤りなく動作する NAT を実現した.

Top