NFS と CIFS はどのように異なりますか?

ネットワークファイルシステム (NFS) と共通インターネットファイルシステム (CIFS) は、ファイルアクセスストレージプロトコル、すなわち、ネットワーク経由で効率的にファイルを共有するためのルールです。どのような組織の日常業務においても、効果的なコミュニケーション、コラボレーション、ファイル共有は不可欠です。NFS を使用すると、ユーザー (またはクライアントデバイス) はネットワークサーバーに接続し、サーバー上のファイルにアクセスできます。NFS は、複数のユーザーがデータの競合なしに同じファイルを共有できるようにするルールを備えています。CIFS は、サーバーメッセージブロック (SMB) プロトコルに基づいています。CIFS を使用すると、デバイスはサーバーや、プリンターなどの他の周辺デバイスとファイルを共有できます。

仕組み: NFS とCIFS

ネットワークファイルシステム (NFS) や共通インターネットファイルシステム (CIFS) などのファイルアクセスストレージプロトコルをさまざまなネットワークにデプロイできます。

  • ローカルエリアネットワーク (LAN) やワイドエリアネットワーク (WAN) などの物理ネットワーク
  • 仮想ネットワーク
  • クラウドストレージネットワーク

NFS と CIFS は、ネットワーク環境のサーバーとクライアント間のファイル共有に IP プロトコルと TCP プロトコルを使用します。複数のクライアントマシンがサーバー上のファイルにアクセスできます。また、クライアントマシンのローカルにあるかのように、ファイルを作成、読み取り、編集、削除 (CRUD) できます。ファイルロックメカニズムは、同じファイルまたはディレクトリを変更しようとする複数のクライアント間の競合を防ぎます。

NFS の仕組み

NFS は 1984 年にサンマイクロシステムズによって最初に開発されましたが、現在は Internet Engineering Task Force によって管理されています。NFS は Linux オペレーティングシステムや macOS を含む Unix システム向けに設計されています。 

NFS では、クライアントはリモートプロシージャコール (RPC) を使用してリモート NFS サーバーにファイルまたはディレクトリを要求します。ファイルまたはディレクトリが使用可能で、クライアントが適切なアクセス権限を持っている場合、サーバーはそれをクライアントにマウントします。クライアントは、仮想接続を介してファイル操作を実行します。NFS バージョン 4 以降、ファイル競合解決のための NFS ロックマネージャーはもはや独立したサービスではなく、プロトコルの一部となっています。

CIFS の仕組み

CIFS は 1990 年代半ばに、サーバーメッセージブロック (SMB) ファイルアクセスプロトコルを拡張するものとして、Microsoft により最初にリリースされました。CIFS は Windows オペレーティングシステムのネットワーク環境で広く使用されていましたが、最近のシステム実装では、SMB の後のバージョンが CIFS に取って代わりました。

CIFS では、実装とプロトコルの詳細はリリース時に広く文書化されていませんでした。このため、特に混在 OS 環境では、複雑なネットワーク管理が困難になります。 

主な相違点: NFS 対CIFS

ネットワークファイルシステム (NFS) と共通インターネットファイルシステム (CIFS) はどちらもファイルアクセスプロトコルですが、いくつか違いがあります。NFS では、リソースを共有できるのはファイルとディレクトリに限定されます。これとは対照的に、CIFS はプリンターなどの他のネットワークデバイスとの共有リソース通信も提供できます。NFS はまだ活発に開発中であり、RFC を Internet Engineering Task Force に提出できます。CIFS は活発に開発されていません。

この 2 つのプロトコルのその他の主な違いは次のとおりです。

初期の対象オペレーティングシステム

NFS と CIFS は当初、異なるオペレーティングシステム向けに設計されていました。CIFS は Windows オペレーティングシステムをターゲットにしていますが、NFS は Unix オペレーティングシステムをターゲットとしています。つまり、それぞれのオペレーティングシステムカーネルを活用して最適な運用を実現するように構築されているということです。CIFS を Linux ベースのオペレーティングシステム (Samba 経由) で使用したり、NFS を Windows オペレーティングシステム (サードパーティーのパッケージ経由) で使用したりすることは可能ですが、ネイティブではサポートされていません。

認証

NFS は従来より、共有ファイルへのアクセスがクライアントマシンの IP アドレスまたはホスト名に基づいて制御されるホストベースの認証に依存しています。組み込みのセキュリティメカニズムが限られているため、オープンネットワークでは問題になる可能性があります。

一方、CIFS はより高度な認証およびセキュリティ機能を提供します。ユーザーベースの認証をサポートしているため、個々のユーザーは自分の認証情報を使用して共有リソースにアクセスできます。CIFS は暗号化やその他のセキュリティメカニズムもサポートしているため、安全な環境に適しています。

​ファイルロック

NFS はステートレス設計を採用しています。つまり、サーバー上で開いているファイルを追跡しません。その結果、ファイルロックはクライアントによって処理され、複数のクライアントが同じファイルに同時に書き込もうとすると競合が発生します。

一方、CIFS はサーバー側でのファイルロックをサポートします。複数のクライアントが同じファイルにアクセスする場合の調整が強化され、競合が回避されます。

パフォーマンス

NFS はオーバーヘッドの少ない軽量プロトコルを使用しているため、ファイルアクセスと転送速度が速くなります。

逆に、CIFS は Windows 固有のさまざまな機能をサポートしているため、プロトコルのオーバーヘッドが大きくなります。これは、特にレイテンシーの大きいネットワークでは、パフォーマンスに影響を与える可能性があります。

採用する場面: NFS とCIFS

ネットワーク環境では、一度に複数のファイルアクセスストレージプロトコルを使用できるため、ネットワークファイルシステム (NFS) と、サーバーメッセージブロック (SMB) または共通インターネットファイルシステム (CIFS) のいずれかを並行して使用できます。ただし、ほとんどの場合、CIFS よりも NFS の方が適しています。ただし、ユースケースによっては、数あるプロトコルの中で常に最良の選択であるとは限りません。 

CIFS は一部のレガシーアプリケーションやネットワークサービスではまだ使用されていますが、幅広いシステムコミュニティではもはや使用されていません。SMB バージョン 2.0 が CIFS に取って代わり、SMB バージョン 3.1.1 が現在の SMB バージョンになりました。Windows ベースのファイルおよびデバイス共有ネットワークサービスでは、現在のバージョンの SMB が標準プロトコルになりました。

ユーザーは、CIFS が既存のシステムで使用できる唯一のオプションである場合にのみ、これを使用してください。ネットワーク管理者は、パフォーマンス、セキュリティ機能、システム間の互換性、および機能セットの拡張のために、これらのシステムを最新バージョンの SMB にアップグレードすることを検討する必要があります。

一方、Linux 環境では、NFS は依然として優先されるネットワークファイル共有プロトコルです。Linux は多くの場合、その安定性、信頼性、柔軟性、および費用対効果から、リモートサーバーのワークロードに最適なオペレーティングシステムです。NFS は、クラウド環境やオンサイトのエンタープライズデータセンターで引き続き人気があります。

クラウドファイルアクセスストレージプロトコルに関する注意事項

NFS と SMB はどちらも一般的なプロトコルです。ただし、クラウド環境では、クラウドプロバイダーは多くの場合、実装と構成が抽象化された独自のプロトコルを使用します。これにより、ユーザーは手動で構成しなくても、さまざまなデバイスやオペレーティングシステムを統合できます。

つまり、管理者はシンプルな UI を使用して、オンサイトの CIFS、SMB、NFS ファイル共有をあらゆるタイプのクラウドサーバーに接続できるということです。どのタイプのオンサイトクライアントまたはリモートクライアントにも同じことが言えます。これらのハイブリッドクラウド環境は、以前はリモートネットワーク構成で必要だった複雑なネットワーク管理タスクを簡素化します。

 

相違点のまとめ: NFS 対CIFS

 

NFS

CIFS

内容

ネットワークファイルシステム。

共通インターネットファイルシステム。

現在のバージョン

NFS バージョン 4。

SMB バージョン 3.1.1 に置き換え。

こんな方に最適

Linux ベースのネットワークアーキテクチャ。

Windows ベースのレガシーアーキテクチャ (必要な場合)。

共有リソース

ファイルとディレクトリ。

ファイル、ディレクトリ、およびプリンターなどのネットワークリソース。

認証

IP ベース。

ユーザーベース。

ファイルロック

クライアントによって処理されます。

サーバーによって処理されます。

パフォーマンス

プロトコルのオーバーヘッドが低く、パフォーマンスが速い。

プロトコルのオーバーヘッドが高く、パフォーマンスが低い。

AWS はファイルシステムのニーズにどのように役立ちますか?

Amazon Web Services (AWS) には、モダンで使いやすいネットワーク管理、ファイル共有、およびストレージサービスが幅広く用意されています。ファイルがどこにあっても、ユーザーがどこにいても、共同作業が簡単になります。

クラウドベースのストレージを使用してオンプレミスのファイルストレージシステムを強化したい場合、AWS Storage Gateway はハイブリッドクラウドソリューションを構築したり、クラウドへの移行を支援したりするための橋渡し役となります。Amazon Simple Storage Service (Amazon S3) を使用すると、既存のアプリケーションやプロセスを再設計することなく、オンプレミスのストレージをクラウドに移行できます。

Amazon FSx for Windows File Server は、既存の共通インターネットファイルシステム (CIFS) サーバーをクラウドベースのマネージド環境に移行するためのもう 1 つのオプションです。既存の Windows 環境と完全に統合でき、高度なセキュリティ機能を備えています。 

Amazon Elastic File System (Amazon EFS) は、ネットワークファイルシステム (NFS) セットアップ用に最適化された類似の AWS サービスです。柔軟性の高いストレージ機能を備えているため、クラスターやクライアントのステータスポート管理が不要になります。

今すぐアカウントを作成して、AWS のファイル共有およびストレージソリューションを始めましょう。

AWS での次のステップ

NFS で構築を開始する

AWS で NFS の使用を開始する方法の詳細

詳細 
CIFS で構築を開始する

AWS で CIFS の使用を開始する方法の詳細

詳細