こんにちは、こじろうです。
今、みなさんはファイルを誰かと共有、もしくは送りたい時、どのような方法を使いますか?
メールに添付しますか?
それともDropboxの様なファイルサーバサービスを使う?
いずれにしても、インターネットにつながってさえいれば、そんなに難しいことではないですね。
しかし、ITの現場では、ネットワークの設定はすべて完了していいるのだけれど、プロバイダー事業者の工事完了までにあと一週間かかってしまい、その間インターネットは使えない。
でもPC間でファイルのやり取りは必要…みたいな状況は十分に起こりえます。
この記事では、文系SEの方々やITビギナーの方々向けにこういった状況を救ってくれるFTPについて紹介していきたいと思います。
beep@イラストACからの提供
【この記事でわかること】
- FTPとは何か?
- 具体的にはどんな仕組みなの?
- FTPってどこで役立つの?
FTPあればインターネットに繋がっていなくてもファイル転送ができる
なぜなら、FTP(File Transfer Protocol)は同じネットワーク上であればインターネットを経由せずに宛先のPCやサーバへファイルの送受信ができるためです。
ファイルを交換するために開発された通信方式
昔は、ファイルを交換するのも一苦労だった
プロトコル自体の歴史も非常に長く、30年以上前にインターネットの前身であるARPAネットという組織で開発されました。
“こんな古い技術、もはや需要ないでしょ?”と思われるかもしれませんが、意外とあるのです。
システムインフラに関わる仕様や機能って、特に製造業や工場の内部では現場の方々が本業とは関係のない情報について勉強したがらないので、「今のままでいいです。無理して新しい技術を取り入れたくない。本業と関係ないし…」となりがちなんです。
こういった現場へのシステム導入においては、その使い古された技術・仕様に沿って開発をします。
こういった背景があるため、FTPはまだまだ現役バリバリのファイル連携技術なのです。
参考:インターネットことはじめ
見た目はこんな感じ
ドラッグ&ドロップでファイル転送が可能です。
※ffftpという、ftp転送が便利に実施できるソフトを利用した例になります。
実際にFTPの環境構築は、Quitaの@Higemalさんの記事が非常に参考になるので、お時間ある際に是非ご覧ください。
参考:FTPの環境構築
裏では結構ややこしいことをやっている。
一度、環境が整ってしまえば使い方は比較的簡単ですが、内部ではちょっとややこし事をやっており、2つの種類があります。
- アクティブモード
FTPのパッシブモードはコントロールコネクションにTCP/21番ポートを使用し、データコネクションには毎回ランダムで決まるポート番号を使用します。
一般的なクライアント・サーバー(クラサバ)構成の場合、クライアントからサーバーに接続要求するが、、FTPのデータコネクションをアクティブモードで確立しようとした場合、接続要求がサーバー側からクライアントに出されることが特徴です。
多くのFTPクライアントソフトウェアはアクティブモードをデフォルト設定としています。
また、Windows標準のFTPクライアント機能に至ってはアクティブモードしかサポートしていません。 - パッシブモード
FTPのアクティブモードはコントロールコネクションにTCP/21番ポートを使用し、データコネクションにTCP/20番ポートを使用します。
クライアントからコントロールコネクションを介してPASVコマンドによりパッシブモードを使用することを要求します。
サーバーはその要求を許可する場合、「Entering Passive mode」を返します。同時に、データコネクションで使用するポート番号を返します。
なぜわざざ2種類の方法(コネクション)があるのか。(一つでいいじゃん?!)
これには明確な理由があって、上記のアクティブモードの方がファイル転送効率が良いのです。
だから、本当は全てのFTP利用者はアクティブモードでやるべき。
但し、アクティブモードはセキュリティ面で問題があるのです。
上記の説明の通り、アクティブモードって、FTPサーバーがFTPクライアントに対して接続要求しますよね?これ、実際の工場や現場にOn-Premise(クラウドではなく、物理的にサーバを敷地内に配置するシステム構築方法)でシステムだ導入するとき、十中八九、
「オフィス側のネットワークから工場の建屋内のマシンへアクセスするのは許可できません。許可したら、その際明けたネットワークポート(参考:アプリケーションポート)を利用して、悪意あるハッカーに攻撃されるかもしれないじゃないですか!」
となり、FTPを導入させてもらえないからです。
工場の建屋内にFTPサーバを置いてオフィス側への接続は許可されることが多いですが、オフィスから機密情報満載の工場建屋内(もしくは社外から社内)へのアクセスは通常に厳しく制限されるんですね。
こういった条件において、アクティブモードでFTPを利用しようとすると、FTPサーバー(社外)からFTPクライアント(社内)への接続要求は、途中のファイアウォール(参考:ファイアーウォール)でブロックされる可能性が高まります。
そしてこれこそが、2つ目の接続方式(パッシブモード)が存在する理由です。
インターネットを使えない現場はたくさんある。
凄く重宝するし、実際に操れるとかなり信用される。
こんな古くて目立たない知識なんか勉強する価値ないと思うかもしれませんが、これがすごく受けるんです。
それでは、Tchau◎
こじろう
※冒頭の写真はacworksさんによる写真ACからの写真でした。