SMBとNFSプロトコルの徹底比較

コンピュータやユーザー間でファイルを共有することで、より効率的かつ便利にコミュニケーションを取り、データをやり取りすることができます。ネットワーク経由でのファイル共有には、サーバーやコンピュータ上でSMBやNFSプロトコルを使用するなど、さまざまな方法があります。NAS(ネットワーク接続ストレージ)デバイスも、SMBやNFSを介してファイルを共有するために利用されます。

NFSとSMBの比較記事を読んで、ご自身の状況に適したプロトコルがどれか、どのプロトコルを選択すべきかを理解してください。

NAS向けデータバックアップ"NAKIVO"

NAS向けデータバックアップ"NAKIVO"

NASデバイスやWindows、Linuxのファイル共有にある数ギガバイト規模のデータを、高速にバックアップ・復元します。必要なデータを、必要な時に、わずか数秒で復元できます。

SMBプロトコルとは何ですか?

SMB(Server Message Block)は、ネットワーク経由で共有データにアクセスするためのファイル共有プロトコルです。Windows環境において、ローカルエリアネットワーク(LAN)経由でファイルにアクセスするために広く利用されています。 1983年にIBMによって開発され、後にMicrosoftがこのプロトコルを採用し、現在ではWindowsにSMBのサポートが組み込まれています。このプロトコルは進化を続けており、最新のSMBバージョンはv.3.1.1です。

時々、CIFSという用語がSMBと混同されることがあります。CIFSはSMBの方言、つまりMicrosoftによるSMB v1の実装です。こちらをお読みください CIFS 対 SMB 詳細については、比較をご覧ください。

NFSプロトコルとは何ですか?

NFS(Network File System)は、UNIX系およびLinuxオペレーティングシステム向けのファイル共有プロトコルです。その名称とは異なり、NFSはファイルシステムではありません。NFSプロトコルは、1984年にSun Microsystemsによって開発されました。

  • NFSバージョン1はSun社内で使用されただけで、一般には公開されませんでした。
  • NFS v2は、基本的なファイル共有機能を提供していました。
  • NFS v3は可変サイズへの対応やエラー報告機能の改善をサポートしていますが、NFS v2クライアントとは互換性がありません。
  • NFS v4は、インターネット技術特別委員会(IETF)によって開発された最新のNFSバージョンです。並列ファイルアクセスをサポートしており、このバージョンではセキュリティが強化されています。NFS v2およびNFS v3との下位互換性があります。NFS v4はKerberos認証をサポートしています。

NFS 対 Samba – 主な違い

Samba は、Linux に SMB サーバーを構築するためのフリーソフトウェアです。なお、Samba には SMB クライアントは含まれていません。別途、 cifs-utils LinuxでSMBクライアントを利用するためのパッケージ。

ネットワークプロトコルであるNFSを、ソフトウェアパッケージ(Samba)と比較すべきではありません。ただし、Windows向けのNFS実装について話す場合、NFSを使用するには、Windowsに適切なNFSサーバーおよび/またはNFSクライアント(タスクに応じて)をインストールする必要があります。

NFS 対 SMB – 機能の概要

このセクションでは、7つの異なるカテゴリーについて、SMBとNFSの機能を比較します。

1. ネットワーク接続/使用ポート

  • SMBプロトコルとNFSプロトコルは、いずれもOSIモデルのアプリケーション層(レイヤー7)で動作し、クライアント・サーバー型アーキテクチャを採用しています。
  • SMBではセッションの確立が必要です(NFSでは不要です)。
  • SMBは、その動作においてプレゼンテーション層(レイヤー6)を利用することもできます。
  • これら2つのプロトコルは、インターネット上ではなく、ローカルエリアネットワーク(LAN)での使用を想定して最適化されています。SMBおよびNFSの共有プロトコルは、インターネット上で使用するためのネットワークアドレス変換やルーティングには適していません。
  • NFS はポート 2049(TCP および UDP)とポート 111(TCP および UDP)を使用します。TCP 111 はポートマッパーによって使用されます。TCP 1110 および UDP 1110 は、クラスタおよびクライアントの状態情報に使用されます。NFS ロックマネージャは TCP 4045 および UDP 4045 を使用します。
  • SMBは、NetBIOSトランスポートを使用せず、TCP/IPを直接利用してTCPポート445を使用します(これは、Windows 2000以降、および現在使用されている最新のSMBバージョンにおける動作方式です)。 SMBは、TCP/IP上のNetBIOS上で動作させるために、TCP 139、UDP 137、およびUDP 138ポートを使用します。NetBIOSはセッション層プロトコル(OSIモデルの第5層で動作)であり、Windows 2000以前の古いSMB実装で使用されていました。

2. プリンターの共有

SMBはプリンター共有をサポートしており、これによりリモートユーザーは特定のマシンに接続されたプリンターを使用して、ネットワーク経由でファイルを印刷することができます。NFSプロトコルにはプリンター共有機能はありません。Linuxには、ネットワーク印刷のための別の仕組みが用意されています。

3. 認証

NFSプロトコルとSMBプロトコルの主な違いは、認証の方法にあります。

  • SMBでは、ユーザーやグループに対してACL(アクセス制御リスト)の概念を採用しています。SMBは、指定されたユーザーやグループに対して共有ファイルへのアクセス権を付与します(ユーザーベースの認証)。アクセス権限は柔軟に設定できます。許可するホストへのアクセスを設定するには、ファイアウォールを使用できます。
  • NFSでは、従来より許可されたIPアドレスからのアクセスを提供しています。NFSはホストベースの認証システムを採用しており、NFS共有へのアクセスを許可するホストのIPアドレスを指定することができます。この場合、許可されたマシンのすべてのユーザーがNFS共有にアクセスできるようになります。

所有権とLinuxスタイルの権限は、NFSプロトコルの機能の一つです。LinuxはUID(ユーザーID)とGID(グループID)を使用して動作しますが、WindowsはSID(セキュリティ識別子)を使用して動作します。

NFS v4におけるKerberosのサポートにより、認証システムが強化され(特定のユーザーへのアクセス提供機能が向上します)。

4. ファイル共有へのアクセス

ファイルロックは、SMB では必須ですが、NFS では推奨されています。ファイルロック機構は、ユーザーが開いているファイルの一貫性を確保するために使用されます。ロックがかけられていると、他のユーザーは、そのファイルが閉じられるまで、開いているファイルにデータを書き込むことができません。

Windows では、UNC パス

を使用して SMB ファイル共有にアクセスできます。

\serversharedirectory1directory2

Linuxでは:

smb://server/share/directory1/directory2

NFS共有には、Export File System (EFS) パスと以下の形式を使用してアクセスできます:

server:/directory1/directory2

5. オペレーティングシステムにおけるサポートと統合

NFSプロトコルはLinux向けに最適化されています。SMBはWindows向けに最適化されており、Windowsのネイティブなファイル共有プロトコルとして、優れた統合性を備えています。

ただし、どちらのプロトコルもWindowsとLinuxの両方で使用可能です。LinuxでSMBプロトコルを使用するには、SMBクライアント(cifs-utils)またはSMBサーバー(Samba)をインストールする必要があります。 WindowsでNFS設定を使用するには、追加コンポーネント(ロール)としてNFSクライアントおよび/またはサーバーをインストールする必要があります。

ファイルへのアクセスにおいて、NFSは大文字と小文字を区別しますが、SMBは大文字と小文字を区別しません。これは、ファイルの検索方法やファイル名の入力方法に影響します。

NFSプロトコルはオープンスタンダードであり、誰でも実装することができます。

6. セキュリティ/暗号化

  • リクエスト・レスポンス・プロトコル(RPC)に基づくNFS通信は、ファイアウォールがないとリスクが高まります。NFSが、セキュリティ対策が施されていない基盤となるUDPプロトコルを使用して動作する場合、全体的なセキュリティレベルが低下します。NFSは、TLS(SSLに基づくトランスポート層セキュリティプロトコル)を使用した暗号化をサポートしています。
  • SMBは、NFSのKerberos暗号化よりも強固なAES-256暗号規格によるエンドツーエンドの暗号化をサポートしています。SMB 1は脆弱性のあるプロトコルと見なされていますが、最新のSMB 3バージョンは安全であるため、SMBのセキュリティレベルはNFSよりも高くなっています。

7. NFSとSMBのパフォーマンス比較

ネットワーク経由で中小規模のファイル(たとえば、1 MB 程度のファイルなど)を転送するには、NFS の方が適しています。 大容量ファイル(例えば500MBのファイル)の転送においては、両プロトコルのパフォーマンスはほぼ同等です。

暗号化を使用する場合、NFSはSMBよりも高速です。4MB単位の転送速度では、SMBの方が読み取り処理が高速です。トラフィック負荷が高い場合、データ転送処理が遅くなる可能性があります。なお、NFS v.4.2では最大帯域幅が向上しました。

SMB 対 NFS:比較表

NFSとSMBの比較における主な違いを、以下の表にまとめました。

中小企業 NFS
環境 Windowsで標準搭載されている 主にLinuxシステムで使用される
認証 便利なユーザーベースの認証 ホストベース認証が主な方法である
使用されたポート TCP 445; TCP 139、UDP 137、138 TCP 2049、UDP 2049、TCP 111、UDP 111;TCP 1110、UDP 1110、TCP 4045、UDP 4045。
暗号化とセキュリティ はい – Kerberos、AES-256 はい – Kerberos と TLS
クロスプラットフォーム環境 対応 対応
ファイルのロック 必須 お知らせ
プリンターの共有 はい いいえ
リソースへのアクセス サーバーディレクトリ1ディレクトリ2 server:/ディレクトリ1/ディレクトリ2

結論

ファイル共有プロトコルとしてNFSとSMBのどちらを選択するかは、主にネットワーク内のコンピュータで主に使用されているオペレーティングシステムやその他の要因によって決まります。どちらのプロトコルも信頼性が高く、さまざまなオペレーティングシステムやNASデバイスで使用可能です。どちらを選択する場合でも、ネットワーク上でファイル共有を利用する際は、データのバックアップを必ず行うことが重要です。 NAKIVO Backup & Replication SMBおよびNFS共有データに加え、仮想マシン、物理サーバー、Microsoft 365上のデータを保護できるオールインワン型のデータ保護ソリューションです。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルをご利用いただき、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

People also read