Transport Layer Interface

Transport Layer Interface (TLI)



Transport Layer Interface(TLI)は、1987年にAT&TのUNIX System V Release 3.0において導入されたネットワーク用のアプリケーションプログラミングインタフェース(API)です。TLIは、その後のUNIX System V Release 4でもサポートされており、特にBSDソケットと対抗するために開発されました。TLIは、The Open GroupによってXTI(X/Open Transport Interface)として標準化され、広く使用されています。

概要



TLIは、OSI参照モデルに沿った設計であり、OSIのトランスポート層に適合しています。これにより、Transmission Control Protocol (TCP)、Xerox Network Systems (XNS)、Systems Network Architecture (SNA)、X.25、およびAsynchronous Transfer Mode (ATM)などの複数のトランスポートプロバイダで動作することが可能です。APIとしてのTLIは、ソケットに似た機能を提供しますが、ソケットがインターネットプロトコルスイートに依存しているのに対し、TLIはプロトコルから独立しています。

XTIは、TLIの機能を拡張したライブラリAPI、ヘッダファイル群、そして関連するSTREAMSモジュールから成り、システムの動作規則や制限が設定されています。TLIおよびXTIは、UNIX98まではPOSIXソケットAPIよりも広く利用されていました。特にSolarisなどのSVR4から派生したオペレーティングシステム(OS)やUNIXブランドのOS(UNIX 95やUNIX 98準拠のOSなど)では、今でもサポートされています。また、Mac OSでもOpen Transportという名称で用いられています。

プロトコル独立性



TLIおよびXTIは、プロトコルに依存しない設計が特徴ですが、アプリケーションは使用するプロトコルを指定する必要があります。プロトコル知識を排除するためには、Network Selection Facilitiesを利用することが推奨されます。これは、XTI/TLIライブラリの一部として実装されています。

XTI/TLIとソケットの比較



XTI/TLIとBSDソケットは似た機能を持っていますが、互換性がない場合もあります。特に、ライブラリ関数における呼び出し順序の規定があり、状態インジケータを使用している点が異なります。ソケットAPIの関数は複数の状態で呼び出せることがありますが、XTIのAPI関数は特定の状態でしか呼び出せない設計になっています。

非同期モード



XTI/TLIには非同期モードが存在し、リアルタイム性を必要とするアプリケーションに適しています。非同期モードを利用しない場合、データの待機中にブロックされる可能性がありますが、初期化時にO_NONBLOCKパラメータを指定することで非同期モードを有効にできます。この場合、接続要求や新規データの到着、タイムアウトなどのイベントが非同期に通知されます。

XTIでの改善点



XTIではTLIからの改良点がいくつかあり、エラーメッセージの充実やフロー制御のための新たなイベントの追加、パラメータ指定の簡素化が行われました。さらに、特定の条件下でのブロックを防ぐために、qlenの値をチェックするなどの改善もなされました。さらに、t_strerror()やt_getprotaddr()といった新しいインターフェースが追加されました。

実装



XTI/TLIは主にUNIX System Vでの実装が行われていますが、Linux向けのOpenSS7といった他の実装例も存在します。

参考文献


  • - Goodheart, Berny; James Cox (1994). The magic garden explained: the internals of UNIX System V Release 4, an open-systems design. Prentice Hall.
  • - Open Group (2000). Networking Services (XNS) Issue 5.2. The Open Group.

TLIは、歴史の中で重要な位置を占めるネットワークAPIであり、そのプロトコル独立性や拡張性により、多彩な環境での使用が可能です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。