wolfSSL の軽量 TCP/IP スタックの初のパブリックリリースとなる wolfIP 1.0.0をリリースしました。wolfIP は組込み、リアルタイム、セーフティクリティカルシステム向けに設計しています。wolfIP は次のようなシンプルな考え方に基づいて設計しました。「ネットワーク動作は実行時に決定されるべきではなく、実行前に定義されるべきである」。動的なメモリ割り当てを避け、静的なソケットテーブル、事前割り当てされたパケットバッファを採用し、そして決定論的な実行モデルにより、wolfIP は予測可能性が重要となるシステム向けに、コンパクトで解析しやすいネットワークスタックを提供します。
wolfIPを選ぶ理由
従来の TCP/IP スタックは、動的メモリ割り当て、バックグラウンド処理、広範囲に及ぶファンクションセットなど、多くの組み込み機器には過剰となる要素を取り込みがちです。汎用システムではその柔軟性が役立つ一方で、ワーストケースの動作タイミングやメモリ使用量の検証及び制御が難しくなります。
wolfIP は異なるアプローチを取ります。コンパイル時にソケット数やRX/TX パケットバッファを静的に設定し、実行時のリソースの動的割り当てを避けることで、極めて小さく決定論的なスタックとして設計しています。これにより、制約の厳しいデバイス、管理された環境、厳格なレビュー・テスト・認証が求められるプロジェクトに最適です。
バージョン1.0.0に含まれる機能
1.0.0 リリースは、組み込み機器向けに堅牢な IPv4 ネットワーキング基盤を提供します。コア機能には以下が含まれます:
- Ethernet II、ARP、IPv4、ICMP、UDP、TCP
- DHCP クライアント、DNS クライアント
- MSS、タイムスタンプ、PAWS、ウィンドウスケーリング、再送タイムアウト処理、SACK、スロースタート、輻輳回避、ファストリトランスミットなどのTCP の機能
- HTTP/HTTPS サーバー
- IPsec ESP トランスポートモード
- wolfSentry との結合による IP フィルタリング
- wolfGuard の標準サポート
- マルチインターフェース構成の IPv4 フォワーディング
この組み合わせにより、単なるパケットパイプ以上の価値を提供します。wolfIP 1.0 は多くのネットワークデバイスが実際に必要とするサービスを備え、さらに wolfSSL エコシステムにおける高い親和性を持ちます。wolfSSL による TLS 1.3、wolfSentry によるフィルタリングとポリシー制御、wolfGuard によるセキュアトンネルなどを組み合わせることで、単一ベンダー・単一コードベースによる一貫したネットワークとセキュリティの構成が可能になります。
小さなフットプリントと扱いやすい導入設計
wolfIP は「小型・組み込みファースト」のスタックとして位置づけており、公式資料でlwIP のコアの約 4 倍小さいと説明しています。さらに重要なのは、wolfIP のアーキテクチャが意図的にシンプルに設計されており、解析しやすいことです。コードレビュー、認証範囲、長期保守を考える組織にとって、静的設計されたリソースの範囲で決定論的な振る舞いを行うスタックは大きな助けとなるはずです。
POSIX テストから組み込みターゲットまで
wolfIP 1.0 の大きな利点のひとつは、開発環境とデプロイ環境をまたいだ移植性です。リリースには以下のインテグレーションレイヤーが含まれます:
- wolfSSL、wolfSSH、wolfMQTT向けのインテグレーションレイヤー
- POSIX LD_PRELOAD と libwolfip.soを用いたPOSIX System向けインテグレーションレイヤー
- FreeRTOS BSD ソケットラッパー
また、TAP スタイルのホスト側テスト、Linux TAP/TUN、Darwin utun、FreeBSD TAP、VDE2 などのホストリンクドライバに対応します。さらに STM32H753ZI、STM32H563、STM32N6、VA416xx、Raspberry Pi Pico USB のような組み込み向けポーティングレイヤー及びサンプルアプリケーションをご用意しています。これらを用いることで、開発者はデスクトップ環境でwolfIPを試し、そのまま同じアーキテクチャを組み込み環境へ移植することができます。
wolfSSLとの結合
wolfIP は wolfSSL と組み合わせることでさらに強力になります。 wolfSSLと組み合わせたTLS1.3通信や wolfSSL をバックエンドとした HTTPS サーバーを容易に実現することが出来ます。すでに組み込みや RTOS 環境で wolfSSL を使用しているエンジニアリングチームにとって、wolfIP はその設計思想をトランスポート層まで拡張します。異なるネットワークコンポーネントと暗号コンポーネントを寄せ集めるのではなく、制約の厳しいセキュリティ重視システム向けに整合性の高いスタックを構築できます。
オープンソースライセンス/商用版ライセンス
wolfIP 1.0.0 は GPLv3 オープンソースライセンスのもとで入手可能です。リソース制約の厳しいネットワークデバイスにおいて、リソースが制御可能で、決定論的な動作を持ち、wolfSSL 製品との統合が容易な TCP/IP スタックを必要としている場合、是非wolfIPをお試し下さい。商用ライセンスやサポートなど、ご質問があれば弊社お問い合わせ窓口info@wolfssl.jpまでご連絡をお願い致します。
