TINET とは

TINET は、苫小牧高専情報工学科において開発された ITRON TCP/IP API仕様 に準拠したコンパクトな TCP/IP プロトコルスタックです。TINET は FreeBSD のコードをベースとしているため、その使用にあたっては、TOPPERSライセン スに加えて、FreeBSD のライセンス条件にも従う必要があります。

TINETはこちらからダウンロードでき ます。

TINETは、経済産業省による平成14年度即効型地域新生コンソーシアム研究開 発事業の採択テーマの1つである「組込みシステム・オープンプラットホーム の構築とその実用化研究」(委託元: 東北経済産業局)として、 (財)みやぎ 産業振興機構で進められ、苫小牧高専にて開発されました。

TINETは(社)トロン協会ITRON専門委員会、Embedded TCP/IP技術委員会により 策定された「ITRON TCP/IP API 仕様 Ver. 1.00.01」に準拠して開発されました。 FreeBSDバージョン3.4をベースソフトウェアとして開発し、安定性が高く組込 みシステムの性質を考慮したTCP/IPプロトコルスタックです。

FreeBSDを使用したのは、ライセンスの関係もありますが、BSDで開発された TCP/IPプロトコルスタックの実装が世界的な標準として認識されているためで す。従って、FreeBSDをベースにしたTINETのTCP制御アルゴリズムは、この世 界標準であるBSDと同じとなっています。

ITRON TCP/IP仕様では、主に以下を必要性能としています。

  1. 最小コピー回数
  2. 動的メモリ管理の排除
  3. 非同期インターフェース
  4. API毎のエラーの詳細化

また、以下を設計目標としています。

  1. ソケットインターフェース互換ライブラリ作成の容易性
  2. プロトコルの種類毎の最適なAPIの定義
  3. リアルタイムOSとの適合性
  4. システム構築の静的な設定の考慮

TINETは上記に上げた性能を満たし、組込みシステムの制約の中で特に厳しい メモリ容量の制約への対応を優先的に行っております。また、組込みシステム のネットワーク内での使用形態を考慮し、BSDのプロトコルスタックから組込 みシステムにはオーバースペックな機能を削減しました。これにより、実装ター ゲットとして(株)ルネサステクノロジ製H8/3069Fを用いた場合、TCP/IPプロト コルスタックに必要なメモリ容量は、スタックと内部バッファを含めても、 IPv4でRAMが約10Kバイト、ROMが約47Kバイトであり、IPv6でもRAMが約11Kバイ ト、ROMが約63Kバイトと省メモリ性に優れ、過度なメモリ管理機能(仮想記憶 システムやメモリ保護機能)や二次記憶装置をもたない組込み向けでありなが ら、幅広い応用プロトコルに対応しています。

以下に、TINETリリース1.5の機能概要を示します。

  1. API
    • ITRONTCP/IPAPI仕様の標準機能と拡張機能
    • 暫定的なITRONTCP/IP(バージョン6)API仕様の標準機能と拡張機能
  2. TCP
    • BSDの通信機能
    • 最大セグメントサイズ(MSS)オプション
    • 省コピーAPI
    • ノンブロッキングコール(組込み選択可)
    • タスクからのTime Wait状態のTCP通信端点分離機能(組込み選択可)
    • 送受信ウィンドバッファの省コピー機能(組込み選択可)
    • TCPヘッダのトレース出力機能(組込み選択可)
  3. UDP
    • ノンブロッキングコール(組込み選択可)
  4. 近隣探索
    • 近隣探索要請の送受信
    • 近隣探索通知の送受信
    • ルータ通知メッセージの受信
    • ルータ要請メッセージの送信
    • アドレス重複検出機能
  5. ICMPv4
    • エコー要求・応答の送受信
    • エラーの送信(組込み選択可)
    • 向け直しメッセージの受信(組込み選択可)
  6. ICMPv6
    • エコー要求・応答の送受信
    • エラーの送信(組込み選択可)
    • 向け直しメッセージの受信(組込み選択可)
    • Path MTU
  7. IPv4
    • 静的経路表
    • IPデータグラムの分割・再構成(組込み選択可)
    • IPSEC(組込み選択可、フックのみ実装)
  8. IPv6
    • アドレスの自動設定
    • 静的経路表
    • 非PC系ディジタル機器への適用に向けたIPv6最小要求仕様のIPv6最小ホスト仕様に準拠
    • 拡張ヘッダのエラーの通知
    • 断片ヘッダ(組込み選択可)
    • ホスト情報キャッシュ(組込み選択可)
  9. その他
    • ARP要求・応答の送受信
    • ARPでのIPv4アドレス重複検出機能
    • DHCPへの対応
    • SNMP用管理情報ベース(MIB)の提供

ターゲットシステム

TINETは、以下のターゲットプロセッサ、ターゲットシステムをサポートして います。GNU開発環境を標準のソフトウェア開発環境としています。ターゲッ トプロセッサはH8です。H8用簡易モニタをこちらで配布しています。

プロセッサ ターゲットシステム
H8/3048F AKI-H8/3048F(秋月電子通商)
H8/3068F AKI-H8/3068F ネット対応(秋月電子通商)
H8/3069F AKI-H8/3069F ネット対応(秋月電子通商)
NKEV-010H8(品川通信計装サービス)

また、以下のネットワークインタフェースをサポートしています。

  • シリアル(PPP)
  • ループバック
  • イーサネット(NE2000互換NIC)(※)

※AKI-H8/3048Fでは非対応です。

開発スタッフ

TOPPERSプロジェクトのメンバとして、TINETの開発に参加している開発スタッ フは次の通りです(所属は参加した時点のもの)。

名前 所属 時期
阿部司 苫小牧工業高等専門学校 情報工学科 2001年〜