「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>通信技術]]

* 目次 [#k9879034]
#contents

*概要 [#o2c4986c]
-インターネット初期の頃から存在するプロトコル
-任意のホスト間のファイル転送を行うことが可能
-通常は接続したクライアントとサーバ(FTPサーバ)間の転送に利用される。

*モード [#a3020171]
以下の2つのモードがある。

**アクティブ [#i3884299]
inboundを受け入れないF/Wと相性が悪く、最近は使用されていない。

-クライアント → サーバ~
クライアントがサーバへ待ち受けIPアドレスとポート番号を通知

-サーバ → クライアント

--サーバがクライアントから通知された~
IPアドレスのポート番号へコネクションを確立しに行く。

--ポート番号が毎回異なるので、ファイアウォール、[[NAPT>ネットワーク機器一覧#x06ef648]]を使った環境では、~
場合によってはうまく接続できないこともある。 この場合は[[パッシブモード>#vf92b853]]を用いる。

**パッシブ [#vf92b853]
こちらも、イントラ → クラウド環境での接続では、~
サーバー側の[[NAPT>ネットワーク機器一覧#x06ef648]]と相性が悪くサーバー側に設定が必要になる。

-クライアント → サーバ~
サーバがクライアントへ待ち受けポート番号を通知する。

-サーバ → クライアント~
待ち受けポート番号の通知を受けたクライアントがサーバにコネクションを確立しに行く。

*セキュアなFTP [#c974e1bb]
FTPは、セキュア(安全)なプロトコルとして設計されていないため、~
インターネット回線を経由するケースなど、[[FTPS>#e3387a98]]、[[SFTP>#k89c7dd5]]が利用されるようになった。

**FTPS [#e3387a98]
***概要 [#e106067f]
-FTPで送受信するデータをTLSまたはSSLで暗号化する通信プロトコル。
-Well-known Portは、990/tcp(IISのFTPSは、port 21をFTPと共有)。
-RFC 2228, 4217 で標準化されている。

***モード [#ra2e6c03]
-Explicitモード
--STARTTLS(平文の通信プロトコルを暗号化通信に拡張する方法)
--認証コマンド実行後に暗号化通信を開始する。
--認証コマンドを実行しなければ通常のFTPとして機能する。

-Implicitモード
--サーバ接続開始時点から暗号化通信を開始する。
--クライアントはサーバが採用している暗号化プロトコルに~
適合したFTPSクライアントソフトを使用する必要がある。 
--RFC 4217ドラフトは削除されており、現在、正式なRFCとして掲載されていない。

**SFTP [#k89c7dd5]
-Secure Shell([[SSH]])上でSFTPコマンドを実行してファイル転送する。
-ただし、SFTPコマンドはFTPコマンドとはまったく別物。

*FTPS vs SFTP [#nf560911]
**FTPS [#had22e90]

***メリット [#b07b451a]
-ASCII/BINARY モードのサポート
-フォルダ単位での転送

***デメリット [#k3c94aad]
サーバ側でSSL証明書の購入コストが発生~
※ ワイルドカード証明書でWebサイトと共通可能。

**SFTP [#oa45ef7a]
***メリット [#j4dcf2c2]
***デメリット [#lfff24e3]

*クライアント・ツール [#g210f8f1]

**FFFTP [#re40eea3]
-日本製のFTPクライアント
-FTPSなどのサポートも加えられるなどメンテも続いていた。
-しかし、[[WinSCP>#j6f8c7cd]]の隆盛に従い、二代目開発者氏曰く、~
最終バージョン2.00のリリースで開発の終了を検討しているもよう。

**FileZilla [#i1a498d1]
成果物は、クライアントとサーバーの両方がある。

-クライアント
--Windows、Linux、macOS
--FTP、SFTP、FTPS(FTP over SSL/TLS)

-サーバー
--FTPと FTP over SSL/TLS をサポート
--クライアントと異なり、Windowsだけサポート。

**WinSCP [#j6f8c7cd]
-オープンソースで開発されている~
FTP/SFTP/SCPクライアントソフト。

-こちらが主流になりそう。

*参考 [#q7b4867f]
-File Transfer Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/File_Transfer_Protocol

-FTPS - Wikipedia~
https://ja.wikipedia.org/wiki/FTPS

-SSH File Transfer Protocol - Wikipedia~
https://ja.wikipedia.org/wiki/SSH_File_Transfer_Protocol

**[[クラウド環境にFTPサーバを構築する場合]] [#nf2e09d6]

----
Tags: [[:インフラストラクチャ]], [[:通信技術]], [[:Windows]], [[:IIS]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS