この連載では、SAN(Storage Area Network)やNAS(Network Attached Storage)などのいわゆる「ストレージネットワーク」を中心に、データセンターを構成するサーバやストレージ、さらにはネットワークの最新の市場動向や関連技術を5回にわたって解説する。第4回では「多様化するストレージネットワーク」をテーマに、昨今使用されつつあるストレージネットワーク関連の技術を紹介する。
ファイルアクセスの多様化
ファイルアクセスのプロトコルとして現在最もよく使用されているのが、Windows環境では「CIFS(Common Internet File System)」、UNIX/Linux環境では「NFS(Network File System)」である。まずは、これらのプロトコルを詳しく紹介しよう。
CIFSは主にWindows環境で使用されるファイル共有のプロトコルだが、その起源は「SMB(Server Messages Block)」である。SMBはLAN環境におけるファイルやプリンタの共有を目的として米Microsoftが開発したプロトコルで、その歴史は古く、MS-DOSやLAN Manager、OS/2など、TCP/IPプロトコルがLAN環境で主流となる以前から使用されてきた。
SMBはNetBIOSインターフェース上で動作し、TCP/IP以外にもIPX/SPXプロトコル上で動作させることができる。ちなみに、SMBをTCP/IP上で動作させるためにはNBT(NetBIOS over TCP/IP)が必要となる。これに対してSMBを拡張して作られたCIFSではNetBIOSは必要なく、TCP/IP上で動作する(図1)。現在のネットワーク環境を意識した実装となっているといえるだろう。
一方のNFS(Network File System)は、主にUNIX環境でファイル共有を行うための仕組みを提供するものである。NFSを使用することで、リモートコンピュータ上のファイルシステムをローカルのものと同様の感覚でマウントして、アクセスできるようになる。NFSが最初に登場したのは1985年であり、こちらも歴史は古い。実質的な最初のバージョンであるNFS version 2はUDP上で動作していたが、現在はTCP上で動作するようになっている。現在の最新版はNFS version 4である。
LANからWANへの広がりで表面化する問題
両者に共通するのは、ともに“クライアント/サーバ”(C/S)型のTCP/IP上のアプリケーションであるということだ。つまり、CIFS/NFS対応クライアントに対して、CIFS/NFSサーバがリモートファイルアクセスという“サービス”を提供していることを意味している。したがって、UNIX/Linux環境であっても、フリーソフトウェアである「Samba」に代表されるCIFSサーバソフトウェアを導入すれば、Windowsクライアントとの間でファイル共有を行うことが可能となる(図2)。
また両者はともにLANを前提に設計されているということも、注意すべき点である。一般に、LANの特徴は以下の通りである。
- 帯域が広い
- 接続距離が短い
LAN環境を前提にしたSMB/CIFSやNFSでは、クライアントとサーバの間でリソースのディスカバリやセッションの確立などのデータのやり取りが、非常に頻繁に行われる。データのやり取りが頻繁であっても、LAN環境では特に問題とはならないからである。