Java実装のFTPプロトコル:データ転送コマンド説明モデルと

Iは、制御及びコマンドチャネルデータ伝送チャネルの両方を確立した後FTPデータ送信後、上述したように、両側がデータを送信することができます。データ伝送において、FTPプロトコルはまた三つのモード、すなわち、ストリームモード、ブロックモードと圧縮モードを提供します。

データパケットヘッダフィールドの組織に関するそのような情報が存在しない、それがデータの一部である他の当事者へのTCPプロトコルの助けを借りて、非構造化方法の連続送信で送信されるストリーミングモード実際単純なビット、又は。情報データが送信されるので、裸、構造的組織化されていないので、送信の精度は、送信側の安定性および下位層プロトコルに完全に依存して、特定のデータ転送に依存するデータチャネルを閉じるために完了され表現されなければなりません。

他の二つのモードと比較して、流れのパターンを高い効率によって特徴付けられ、これは、広くプロトコルの実装に使用されます。同時に、それは簡単であり、データは、すべての非差別的に送信される、データの構造を送信する方法を制御していない、それはすべてのバイトストリームとして、単離することができ、したがって、伝送プロトコルのデータ構造の実装の複雑ことがわかりますこの影響。従って、高効率、単純な、これらの三つの特徴を単離するデータ伝送の複雑さは、FTPのこの転送モードが主流を達成します。

第二のブロックモードは、固定長の複数の部分に切断し、送信すべきデータを指す別々のパケットを形成するために互いの間、データブロックの送信を送信する場合、各セクションヘッダは、カプセル化の使用などの分野。それぞれ、3バイトのヘッダフィールド、長さ、およびその他の関連データ・ブロックを含みます。同時に、アルゴリズムの問​​題を追跡するデータのブロックのための特別なアルゴリズムが存在し、データブロック転送が中断または転送プロセスを再起動することができる場合に発生します。

第三は、圧縮モードです。これはランレングスは、送信データの符号化の使用に組織ヘッダ+モードデータボリュームデータを用いて、これにより、圧縮モードを受信した後、データを解凍する方法人物を知っている、圧縮され、ヘッダフィールドについての圧縮された情報が編成されています送信されました。データの必要量は、ネットワーク効率と精度を保証するために、特定の条件下で可能な限り転送しない限りによる実装の複雑さの圧縮モードに、それはほとんど、FTPプロトコルで使用されていない、モデルが使用されます。

ファイル転送、などCtrl + C、Ctrl + Vは、コピー操作は別のディレクトリからの転送データに同一のコンピュータ内にあることを除いて、ファイル転送が別のコンピュータにあるコンピュータからデータを転送することです。しかし、この違いは、例えば、CRエンドLFが発現ウィンドウ上のテキストファイル+のいくつかの問題を作成しますが、テキストファイルがマックからWindowsにコピーされるようにMacを使用したテキストファイルの最後に、CRを表し、ファイルされます検討事項の数のデータ型を高めるために、データ送信時にFTPプロトコルのために、最後に間違って行くことは容易です。

まず、考慮すべき4つの形式にデータを分割FTPプロトコル、テキスト文字の形態である第一、ASCII、;第三の画像であり、そのようなドキュメント;第二のEBCDIC、そのような文書だけでなく、IBMから文字EBCDIC文字セットの形式の文字でありますあなたは、異なるシステム間の違いを考慮することはできません。第四に局所形、そのような文書の特徴である、8ビットのバイト長で、いくつかのオペレーティングシステムは、この特別な特性を持っていません。実際には、我々は、ファイルの末尾に記号を担当することに合意した場合の1と3の場合は、システムに応じて変更され、画像ファイルケース2は、同じ形式のファイルがあるようにzipファイルとして画像、だけでなく、考えます画像に属します。

ASCIIファイル送信後、送信者はCR + LFの後に単一の行を読み取るために各文字の後に追加され、受信機は、2つの文字の組み合わせは、これはラインの終わりである知っている読み取り、受信者ならば、次に、現在位置に応じてシステムを変更しますマックは、これら2つの文字がCRに変更されます。FTPので、送信データは変更され、したがって、ASCIIタイプに「画像」提供されるファイル転送タイプ、あるいはバイナリファイルの「イメージ」タイプの変更されたファイルを開くことができない受信機であってはなりません。

次に、我々はパケットフォーマットプロトコル、特に制御コマンドのデータパケットフォーマットを見てください。FTPの制御コマンドは、最初は彼のユーザーのログインや認証に対応し、アクセス制御コマンドで、3種類があります。第二は、能動または受動転送モードを設定して転送双方が合意された方法、データ送信、例えば、ファイルの種類を設定するために使用される送信制御コマンド、である;第三は、データの送信を開始するために使用される、変更、または削除されたFTPサービスコマンドでありますファイル、など。FTPコマンドはプレーンな文字として送信されますので、伝送制御プロトコルTelnetは、コマンドの際に使用され、ここでは詳述されているコマンドのリストであります:

コマンドコード コマンド 説明
ユーザー ユーザー名 接続を確立するときに発生するユーザ名
パス パスワード パスワードを入力したときにユーザーがログイン
ACCT アカウントの種類 セットのユーザー権限を使用し、通常はFTPサーバが直接ユーザ名に基づいて許可を指定します
CWD カレントディレクトリを変更します 設定したユーザのログインディレクトリ・サーバに対応
CDUP 親ディレクトリに戻ります データ転送ディレクトリとして、現在のディレクトリの上位層
SMNT 取付構造 特定のファイルを読み取るための、新しいファイルシステムをマウントするには、サーバー上
REIN 再初期化 再起動を接続して、彼はシステムの再起動と同様の電流制御パラメータを、クリアされます
終了する ログアウト ユーザーがログアウトしたときにデータが送信された後

我々は、制御コマンドの指示を見て次へ:

コマンドコード コマンド 説明
データ転送ポートを確立 このポートは、データ伝送接続を確立するために、クライアントとサーバーになります
PASV パッシブモード このコマンドは、クライアントが開始にサーバへの接続を可能に
タイプ ファイルタイプ ファイルの種類を設定するために送信します
STRU ファイル構造 通常、このコマンドが使用されていません
モード 転送モード データ伝送を設定する方法、ストリームモード、ブロックモードまたは圧縮モードであります

我々は、サービスコマンドの説明を見て次へ:

コマンドコード コマンド 説明
RETR データを取得します 通知サーバは、クライアントのファイルにデータを送信します
GREAT メモリ クライアントがサーバーにファイルを送信するには
STOU 専用メモリ 転送しか持つことができ、ファイルの下で、現在のディレクトリに確保するためにサーバを必要とし
APP コンテンツの追加 ファイルがディレクトリ内の現在の転送ファイルと同じ名前を持つ場合は、代わりに同じ名前のファイルを上書きするのと同じファイルの最後に送信されたコンテンツを追加します
TO メモリを割り当て ファイルがストレージ・スペースを割り当てるために、事前に送信されることは、サーバーを尋ねます
残り 再起動 ファイル転送プロセスを再起動し、コマンドは、圧縮または転送モードブロック転送で使用され
RNFR ファイルの名前を変更 ファイル名を指定するために変更されます
RNTO ファイルの名前を変更 指定された指定されたファイル名に社名変更
ABOR コマンドをキャンセル Notification Serverは、コマンドて送信をキャンセル行い、
IT [削除] 通知サーバは、ファイルを削除します
RMD 削除ディレクトリ 通知サーバは、ディレクトリ全体を削除します
MKD ディレクトリを作成します Notification Serverは、新しいディレクトリを作成します
PWD 表示され、現在のディレクトリ カレントディレクトリをユーザに通知する通知サーバ
リスト リスト このような修正時間など、すべてのファイル名とファイル情報のカレントディレクトリを取得します。
NLST [名前]ボックスの一覧 ただ、現在のディレクトリ内のファイルの名前を取得
SYST システム これは、オペレーティングシステムの情報でそれを返すようにサーバーに要求します
STAT 状態 状態は、指定されたファイルの現在の状況や現在のデータ伝送を返すようにサーバーを必要とし
助けて ヘルプ ヘルプクライアントに情報を返すために、サーバーは、サーバーを使用する方法を決定する要求します
NOOP 何もしません 该命令表示什么操作都不做,服务器会返回”OK"命令从而确保连通正常

后面我们还会再列出一些命令,然后查看数据包结构

更详细的讲解和代码调试演示过程,请点击链接

更多技术信息,包括操作系统,编译器,面试算法,机器学习,人工智能,请关照我的公众号:
这里写图片描述

发布了346 篇原创文章 · 获赞 290 · 访问量 40万+

おすすめ

転載: blog.csdn.net/tyler_download/article/details/104063633