OSI (Open Systems Interconnect) 参照モデルは、商用ネットワークサービスアーキテクチャの基本です。単独に開発されたほかのネットワークプロトコルは、このモデルにおおよそ準拠しています。例として、TCP/IP インターネットプロトコル群が挙げられます。
OSI 参照モデルは、ネットワーキングの概念に便利なフレームワークです。基本的に、データは送信側によってネットワークに投入されます。データは通信接続を介して伝送され、受信側に配信されます。このためには、多様なネットワークハードウェアとネットワークソフトウェアが連携して動作しなければなりません。
OSI 参照モデルでは、図 1-1 に示すようにネットワーキング機能を 7 つの層に分割します。
各プロトコル層は、その層の上位の層に対してサービスを行います。プロトコル層の ISO 定義は、設計者に実装における多少の自由を許します。たとえば、アプリケーションの中には、プレゼンテーション層とセッション層をスキップしてトランスポート層と直接インタフェースをとるものがあります。
モデルのハードウェア層。SPARCTM システムでは、この層はネットワーク伝送媒体へのコネクタ、マルチプレクサ、およびケーブルから構成されます。
送受信を行います。送信側では、Ethernet [Ethernet は Xerox 社の商標です。] (または類似) ソフトウェアが適切なサイズのパケットとしてデータをまとめ、それらをパッケージ化します。このパッケージ化には、意図する受信側の物理アドレスも含まれます。この層は、メッセージパケットの伝送も行い、必要に応じて再伝送します。
受信側では、Ethernet ハードウェアがアドレスによってパケットを認識して受信します。Ethernet ソフトウェアが、伝送パッケージをストライプ化し、データを再アセンブルします。Ethernet ソフトウェアは、伝送エラーを検出できます。
論理アドレスから物理アドレスへの変換など、メッセージルーティングを行います。SPARC システムで一般に使用されるネットワーク層は、インターネットプロトコル (IP) です。
ネットワーク上のデータフローを制御します。SunOS 5.8 では、トランスポート層インタフェース (Transport Layer Interface、TLI)、伝送制御プロトコル (Transmission Control Protocol、TCP)、またはユーザーデータグラムプロトコル (User Datagram Protocol、UDP) のどれでも使用できます。SPARC システムでは、コネクションモードサービスは一般に TCP を介して提供され、コネクションレスサービスは一般に UDP を介して提供されます。
プロセス間の高信頼セッションを管理します。遠隔手続き呼び出し (Remote Procedure Call、RPC) はこの層に属します。この層のインタフェースは、関数呼び出しの意味論を使用する遠隔通信を許可します。
コンピュータ独自のデータ表現と、ネットワークを介して送信されるプロセッサに依存しない形式間の変換を行います。SunOS 5.8 環境では、プロセッサに依存しないデータ形式は XDR です。
この最上位の層には、ユーザーレベルのプログラムとサービスが存在します。ユーザーレベルのプログラムには、telnet、rlogin、ftp、yppasswd などがあります。ユーザーレベルのサービスには、NFSTM、NISTM、DNS などがあります。
参照モデルの各層は、業界標準がすでに定義されているか、あるいは現在その準備が進められています。各層には、その層が提供するサービスに対するインタフェースを指定する標準と、その層内のサービスが監視するプロトコルを指定する標準が定義されています。サービスインタフェース標準のユーザーは、プロトコル、およびその層のその他の実装詳細の影響は受けません。
トランスポート層はアプリケーションと上位の層の間でエンドツーエンドのサービスを提供するモデルの最下位の層です。この層は、配下のネットワークのトポロジと特性をユーザーには見えないようにします。トランスポート層はまた、同時に存在する多くのプロトコル群 (ISO プロトコル、TCP および TCP/IP インターネットプロトコル群、Xerox Network Systems (XNS)、システムネットワークアーキテクチャ (System Network Architecture、SNA) など) に共通の一連のサービスを定義します。
RPC プログラミングでは、「ネットワーク」という用語はしばしばトランスポートまたはトランスポートタイプの類義語として使用されます。
トランスポート層インタフェース (Transport Layer Interface、TLI) は、業界標準の Transport Service Definition (ISO 8072) でモデル化されています。TLI は、TCP と UDP の両方にアクセスするために使用できます。TLI は、STREAMS I/O メカニズムを使用するユーザーライブラリとして実装されます。