ネットワークインタフェース

XTI と TLI について

TLI は AT&T の System V Release 3 とともに 1986 年に導入されました。TLI は トランスポート層インタフェース API を規定しました。TLI インタフェースは ISO Transport Service Definition をモデルに設計され、 OSI トランスポート層とセッション層の間の API を提供します。その後 TLI インタフェースは AT&T の System V Release 4 の UNIX バージョンでさらに発展し、 SunOS 5.6 オペレーティングシステムインタフェースにも取り入れられました。

XTI インタフェースは TLI インタフェースを発展させたもので、このインタフェースの将来の方向を表しています。TLI を使用するアプリケーションとの互換性が保証されています。ただちに TLI のアプリケーションを XTI のアプリケーションに移行する必要性はありません。新しいアプリケーションは XTI インタフェースを使用し、古いアプリケーションは必要性が発生した時点で XTI に移行可能です。

TLI はアプリケーションがリンクするライブラリ (libns1) 内の関数呼び出しのセットとして実装されています。XTI アプリケーションは c89 フロントエンドを使用してコンパイルされ、 xnet ライブラリ (libxnet) とリンクされる必要があります。XTI におけるコンパイルに関する詳細は、standards(5) のマニュアルページを参照してください。


注 -

XTI インタフェースを使用するアプリケーションは xti.h ヘッダーファイルを使用するのに対し、TLI インタフェースを使用するアプリケーションは tiuser.h ヘッダーファイルを使用しています。


XLI/TLI において必要不可欠なのがトランスポートエンドポイント (transport endpoints) およびトランスポートプロバイダ (transport provider) の概念です。トランスポートエンドポイントは通信を行う 2 つのエンティティであり、トランスポートプロバイダはホスト上の基本的な通信サポートを提供するルーチンのセットです。XTI/TLI はトランスポートプロバイダへのインタフェースであり、プロバイダそのものではありません。図 3-1 を参照してください。

図 3-1 XLI/TLI の仕組み

Graphic

XLI/TLI コードは第 4 章で説明されている追加インタフェースやメカニズムとともに現在のトランスポートプロバイダとは独立した形で作成できます。SunOS 5 にはいくつかのトランスポートプロバイダ (たとえば、TCP) をオペレーティングシステムの一部として用意しています。トランスポートプロバイダはサービスを実行し、トランスポートユーザーはサービスを要求します。トランスポートユーザーがトランスポートプロバイダへサービス要求を発行します。たとえば、TCP や UDP 上のデータ転送要求があります。

また XTI/TLI はトランスポートに依存しないプログラミングにも使用できます。そのために XTI/TLI には 2 つのコンポーネントが用意されています。

XLI/TLI には 2 つのサービスモードが存在します。コネクションモードとコネクションレスモードです。以下のセクションではこれらの 2 つのモードの概要について説明します。