giFTインターネットファイル転送(giFT)は、グラフィカルユーザーインターフェース(GUI)を備えたシンプルなクライアントで複数のファイル共有プロトコルを使用できるようにするコンピュータソフトウェアデーモンです。クライアントは、必要に応じてプロトコルを実装するプラグインを動的にロードします。 [ 2 ]

giFT デーモンのフロントエンドを実装するクライアントは、軽量ネットワーク プロトコルを使用してそのプロセスと通信します。これにより、ネットワーク プロトコル コードをユーザー インターフェイスから完全に抽象化できます。giFT デーモンは、比較的クロス プラットフォームなCコードを使用して記述されているため、さまざまなオペレーティングシステム向けにコンパイルして実行できます。Microsoft Windows、Apple Macintosh、およびUnix ライクなオペレーティングシステム用のgiFT GUIフロントエンドがいくつかあります。[ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ]
giFT (giFTインターネットファイル転送)という名称は、いわゆる再帰的頭字語であり、それが表す表現の中で、それ自体を指し示すことを意味します。
giFT エンジンの最大の欠点の 1 つは、現在Unicodeをサポートしていないため、ファイル名に Unicode 文字 (「ø」、「ä」、「å」、「é」など) を含むファイルを共有できないことです。[ 11 ]また、giFT には、 gnutellaネットワークを効果的に使用するために必要な多くの機能が欠けています。
利用可能なプロトコルは次のとおりです。[ 12 ]
安定した

giFTの姉妹プロジェクトはOpenFTです。OpenFTはピアツーピアのファイル共有ネットワークプロトコルであり、ノードが共通ノードに加えて「検索」ノードと「インデックス」スーパーノードに分割される構造になっています。両プロジェクトは非常に密接に関連しているため、「OpenFT」と言う場合、OpenFTプロトコルそのもの、またはgiFTのプラグインとして実装されたもののどちらかを指す可能性があります。
OpenFTという名前は「Open FastTrack」の略ですが、OpenFTプロトコルは全く新しいプロトコル設計です。OpenFTプロトコルのアイデアのうち、 OpenFTが設計された時点でFastTrackプロトコルについて知られていたわずかな情報から取り入れられたものはごくわずかです。 [ 14 ]
FastTrackやNapsterと同様に、OpenFTは、ノードが共有ファイルのリストを他のノードに送信して、ネットワーク上で利用可能なファイルを追跡するネットワークです。これにより、検索リクエストで消費される帯域幅は削減されますが、その情報を保存するノードでは追加のメモリと処理能力が必要になります。共有リストの送信は完全には再帰的ではありません。ノードは、そのノードの「親」としてランダムに選択された単一の検索ノードにのみ共有ファイルのリストを送信し、そのファイルのリストは他のノードには送信されません。[ 2 ]
OpenFTは、共有ファイルを管理するノード間で検索リクエストが再帰的に転送されるという点で、Gnutellaネットワークと類似している。
OpenFTネットワークには、3種類のノードが存在します。
ノードは、検索ノードとインデックスノードの両方の役割を果たすことができます。ユーザーノードは、3つの検索ノードを親ノードとして選択します。親ノードがユーザーを子ノードとして受け入れた場合、ユーザーは共有リストを親ノードに送信します。デフォルトでは、検索ノードは最大500個の子ノードの親ノードとなります。
検索ノードは検索リクエストを処理します。これらのノードは、子ノード(共通ノード)から送信されたファイルリストを検索します。これらのノードは、十分なインターネット接続と少なくとも128MBのRAMを備えている必要があります。最新のプロセッサも強く推奨されます。
INDEXノードは、利用可能な検索ノードのリストを保持し、統計情報を収集し、ネットワークの構造を維持しようとします。