ファイル通信の種類と特性をやさしく図解 — SMB・NFS・FTP・SFTP・SCP・rsync
SMB、NFS、FTP、SFTP、FTPS、SCP、rsync……ファイルのやり取りに使うプロトコルは種類が多く、名前も紛らわしいです。でも「共有か、転送か」という軸で分けると、一気に整理できます。この記事では、2つの方式の違いから、各プロトコルの特性(ポート・暗号化・用途)、そして混同しやすいSFTPとFTPS・SCPとSFTPの違いまでを図解します。ポートやプロトコルの全体像は ポート番号とは/通信プロトコルとは も参考に。
まず大きく2種類 — 「共有」と「転送」
ファイル通信は、目的によって大きく2つに分かれます。ここを押さえると、どのプロトコルがどちらの仲間かが見えてきます。
- ファイル共有 … サーバー上のフォルダを、自分のドライブのようにマウントして使う。ファイルの実体はサーバーに置いたまま、その場で開く・保存する。(例: SMB・NFS)
- ファイル転送 … ファイルをA地点からB地点へコピー(複製)して移す。手元や相手に実体が増える。(例: FTP・FTPS・SFTP・SCP・rsync)
ファイル共有系 — SMB と NFS
SMB(Server Message Block)は、Windowsのファイル・プリンター共有で使われる定番です。エクスプローラーで \\server\share を開いたり、Z: ドライブに割り当てたりするのがこれ。現在はTCP 445番を使います(古くはNetBIOSの139番)。LinuxではSambaがSMBを実装しています。
NFS(Network File System)は、UNIX/Linux系の定番の共有方式で、リモートのディレクトリを自分のツリーにマウントして使います(ポート2049)。
SMBのバージョンに注意:SMB1・SMB2・SMB3があり、SMB1はWannaCry(EternalBlue)で悪用された重大な脆弱性があるため無効化推奨。暗号化に対応したSMB3を使うのが安全です。
ファイル転送系 — FTP とその安全版
FTP(File Transfer Protocol)は古くからある転送方式ですが、通信が平文(パスワードも丸見え)で、そのままではもう使いません。制御用21番とデータ用20番(またはパッシブモードで別ポート)の2本を使うのが特徴です。安全にするために、次の2つが生まれました。
- FTPS … FTPをTLSで暗号化したもの。FTPの延長なので、データ用ポートも使いファイアウォール越えが複雑になりがち。
- SFTP … SSH(22番)の一機能としてファイルを扱う方式。名前は似ているがFTPとは別物。1本の接続で完結し、ファイアウォールに優しい。
混同しやすい3つをはっきりさせる
① SFTP と FTPS:名前は似ていますが土台が違う別物。SFTP=SSH上(22番・1接続・FW◎)、FTPS=FTP+TLS(複数ポート・FW△)。近年はSFTPが主流。
② SCP と SFTP:どちらもSSH(22)上ですが、SCPは単純コピーだけ(一覧・再開・削除は不可)で仕様上の問題もあり非推奨の流れ。SFTPはフル操作ができ推奨。
③ 共有 と 転送:SMB/NFSは「マウントして使う」、FTP系/SCP/SFTPは「コピーして移す」。
その他のファイル通信
- rsync … 差分だけ転送する高効率な同期ツール。変わった部分のみ送るため、大量ファイルのバックアップやミラーリングに最適。SSH経由でも使える(ポート22、またはrsyncデーモンの873)。
- WebDAV … HTTP/HTTPS(80/443)を拡張してファイルを読み書きする方式。Webと同じ経路なのでプロキシ・ファイアウォールを通しやすい。
- TFTP … 極めて簡易なFTP(UDP 69・認証なし)。ネットワーク機器の起動やファームウェア配布などに使われる。
一覧で比較
| プロトコル | 種別 | ポート | 暗号化 | 主な環境・用途 |
|---|---|---|---|---|
| SMB | 共有 | 445 | SMB3で対応 | Windowsのファイル・プリンター共有 |
| NFS | 共有 | 2049 | バージョン依存 | UNIX/Linuxのファイル共有 |
| FTP | 転送 | 20/21 | なし(平文) | 旧式。現在は非推奨 |
| FTPS | 転送 | 21+データ | TLS | FTPの暗号化版 |
| SFTP | 転送 | 22 | SSH | 安全な転送の主流。FW◎ |
| SCP | 転送 | 22 | SSH | 単純コピー(旧式・非推奨傾向) |
| rsync | 転送(差分) | 22 / 873 | SSH経由で可 | 差分同期・バックアップ |
| WebDAV | 転送/共有 | 80/443 | HTTPSで対応 | HTTP経由。FW・プロキシに強い |
| TFTP | 転送 | 69(UDP) | なし | 機器の起動・ファーム配布 |
コマンド例
:: SMB共有をZ:ドライブに割り当て(Windows) net use Z: \\server\share # SCP:ファイルをリモートへコピー scp ./data.zip user@host:/home/user/ # SFTP:対話的にファイル操作 sftp user@host # rsync:差分だけ同期(SSH経由・進捗表示) rsync -avz --progress ./src/ user@host:/backup/
セキュリティの原則
ファイル通信は認証情報やファイル本体が流れるため、暗号化の有無が重要です。平文のFTP・Telnet・SMB1・認証なしのTFTPは避け、SFTP/FTPS/SMB3/HTTPS(WebDAV) など暗号化された方式を使うのが原則。社内でも盗聴・改ざんのリスクはあるため、可能な限り暗号化された経路を選びます。証明書・暗号化の仕組みは ディジタル証明書 と SSL/TLSの可視化 をどうぞ。
基本情報技術者試験ではこう出る
「FTPの制御用ポート(21)とデータ用ポート(20)」「FTPは平文で危険→安全な代替は?」「各プロトコルの用途」などが問われます。ファイル転送=FTP系、暗号化=SFTP/FTPS、というつながりを、ポート番号・プロトコル全体像とセットで押さえておくと確実です。
よくある質問
Q. 結局、安全にファイルを送るなら何を使えばいい?
A. サーバーへSSHでログインできるならSFTPが最も手軽で安全(FWにも優しい)。既存のFTPサーバー資産を活かすならFTPS。大量ファイルの定期同期・バックアップならrsync(SSH経由)が効率的です。
Q. ネットワークドライブ(Z:など)はどのプロトコル?
A. Windowsなら通常SMBです。サーバー上のフォルダをドライブとしてマウントし、その場で読み書きします(=ファイル共有)。ファイルを手元にコピーする転送とは考え方が違います。
Q. クラウドストレージ(S3など)はこの仲間?
A. 少し系統が違います。Amazon S3などのオブジェクトストレージはHTTP/HTTPSベースのAPIでファイル(オブジェクト)をやり取りします。SMBのようにドライブとしてマウントする使い方も可能ですが、基本は「HTTPで取得・格納する」点でWebDAVに近い発想です。
まとめ
ファイル通信は、まず「共有(マウントして使う:SMB・NFS)」と「転送(コピーして移す:FTP系・SCP・rsync)」で二分。転送のうち安全なのはSSH土台のSFTP/SCPとTLS付きのFTPSで、SFTPとFTPSは名前が似ても別物、SCPよりSFTP推奨。平文のFTP・SMB1は避け、暗号化された方式を選ぶ——これで種類と特性の全体像がつかめます。
関連ページ: ポート番号とは / 通信プロトコルとは / ディジタル証明書 / SSL/TLSの可視化 / 記事一覧