Protocol)は、2台のコンピュータ間でファイルを転送するためのプロトコルです。FTPはRFC959で標準化されていて、インターネットの初期の頃から存在しているプロトコルなのですが、今でもよく使われているプロトコルでもあります。制御とデータでコネクションを分けるFTPの最大の特徴と言えば、2つのTCPセッションを使うということ。HTTPやPOP、SMTPなどはすべて1つのTCPセッションで処理を行います。実際にデータ転送を行う「データ・コネクション」という2つのコネクションを使用します。確実にFTPコマンドをやりとりすることが出来る点が特徴の1つです。FTPでファイルの送受信を行う場合、通常はFTPクライアントからFTPサーバのTCPポート21番宛に接続を行います。TCPポート21番は「制御コネクション」用のTCPセッションです。その後、FTPクライアントが制御コネクションを利用して、データ・コネクションの接続を要求するコマンドを送信すると、FTPサーバからTCPポート20番を送信元ポートとして、FTPクライアントに「データ・コネクション」用のTCPセッションを開設します。データ・コネクションが確立したら、そのコネクションを使ってファイルのやりとりを行います。以上がFTPでファイルのやり取りを行うまでの基本的な流れです。複雑なFTP接続もう少し詳細にFTP接続について見ていきましょう。FTPはインターネットの初期の頃からあるプロトコルのため、FTP接続の仕方を見ると「いまいち洗練されてないなぁ」ということが分かります。以下の図はFTPクライアントがFTPサーバに接続するときの手順です。TCPポート21番宛に接続を行い、ユーザ名、パスワードを送りFTPサーバにログインします。いう依頼をFTPサーバへ行います。その後、RETRコマンドを使用して、転送したファイル名をFTPサーバへ送ると、先ほどPORTコマンドで指定されたIPアドレスとポート番号宛にデータ・コネクションの接続要求を行います。接続が完了したら実際にファイルの転送を行います。データ転送が終了したら、データ・コネクション用のTCPセッションは自動的に切断されます。制御コネクション用のTCPセッションは、QUITコマンドをFTPサーバへ送信することで切断されます。ここで「いまいち洗練されてないなぁ」という点はといいますと、FTPサーバからFTPクライアントに対してTCPの接続要求を行っている点です。通常はクライアントからサーバへTCP接続を行うのですが、FTPに関してはサーバからクライアントへ接続要求を行うのです。外部から内部への接続を制限していることが多いです。そんなネットワークでFTPを使おうとしても制御コネクションが接続できても、データ・コネクションが接続出来ない状態になってしまいます。そんな問題を回避するためにFTPでは、FTPクライアントからFTPサーバへ接続を行う方式が用意されています。「パッシブ・モード」と呼びます。パッシブ・モードを使うと、制御コネクションと同様にデータ・コネクションもFTPクライアントからFTPサーバへ接続要求を行います。FTPクライアントから「PASV」コマンドを送ることで、FTPサーバから「このポート番号宛にデータ・コネクションの接続をしてください」という依頼をFTPクライアントへ行います。指定のポート番号宛にTCPセッションを開始します。その後の動作は通常のFTPと同じです。HTTPリクエストTelnetでWeb(HTTP)の動作を確認してみようメールマガジンネットワ-ク初心者のみなさま。「初心者にも理解できるネットワーク技術」これを読めばネットワークの基礎が分かる!!ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。ネットワークエンジニアを目指して。