ファイル共有ネットワークの発展を見るのは興味深いですが、それに参加するのはさらに興味深いことです。
今日、最新のをインストールして起動します
С
そのため、もちろん、既製のハブを箱から取り出して使用することもできますが、単に起動して忘れるのは良いことではありません。 歴史的な文脈における拡張性は、バージョンに応じてクライアントおよびサーバー ソフトウェアの異なる数の異なる機能が存在することも意味します。 また、あるユーザーにとっては問題なく動作するものでも、別のユーザーのクライアントでは互換性がない可能性があるため、これを考慮する必要があります。
これはIPv6で発生しました。 老人 NMDC は原理的にそれを行う方法を知りませんが、ADC 自体はそれを行う準備ができています。 ただし、すべてがそれほど単純ではありません。
ちょっとした理論
「アクティブ」ユーザーは受信接続を受け入れることができます。 実際、そこからの接続リクエストは実際には 招待.
「パッシブ」ユーザーは通常、送信リクエストのみを使用できます。 ハブを通して彼は просит アクティブなユーザーが招待を送信すると、接続が確立されます。
はい、このメカニズムは使用される IP プロトコルのバージョンに依存しません。
白鳥、がん、カワカマス
クライアント ソフトウェアについて話しましょう。
IPv6のサポート
AAAA レコードを持つ IP ドメインを WAN として明示的に使用している場合でも、手動構成中にアクティブ モードを取得することはできませんでしたが、UPnP を使用した自動モードではすべてが期待どおりに機能しました。
すぐに予約をしなければなりません。AirDC++ はこれを単独で実行します。 将来的には、便宜上、次のような組み合わせを使用します AP または AA 実際のハブ上の実際のクライアント タグに表示されるのではなく、IPv4 と IPv6 のそれぞれの動作モードがアクティブまたはパッシブであることを示します。 大事です。
私たちの実験では使用します フライリンクDC++ クライアントとしては IPv6 にまったく詳しくありません。 また、サポートにも注目してください。
開始
まず最初に、異なるバージョンの IP プロトコルのユーザー間の明らかに不可能な接続を見ていきます。 テストに使用されます
(実際に) バージョン XNUMX の IP アドレスを持つユーザーに連絡しようとすると、エラーが表示されることに注意してください。
Hub: [Outgoing][IPv4:412] DRCM AACX AACU ADCS/0.10 337151563
Hub: [Incoming][IPv4:412] DCTM AACU AACX ADCS/0.10 1988 337151563
Hub: [Outgoing][IPv4:412] DSTA AACX AACU 240 IPsunknown
人間の翻訳では次のように聞こえます
P4: – しがみついてもいいですか?
A6: – しがみついてください!
P4: – 人生は苦痛です 0_0
必要に応じて短い辞書、
逆に接続が開始された場合 A4の場合、エラーは表示されず、接続が単にハングします。
Hub: [Outgoing][IPv4:412] DCTM AACX AACU ADCS/0.10 1993 3871342713
そうではないようです
重要なのは、ハブに表示される接続モードです。
IPv6 をサポートしていないクライアントは、IPvXNUMX を介して接続しているユーザーを明らかにパッシブとして認識する必要があります。これは、単純にハブがユーザーに代わって設定されないためです。 I4 または I6 フィールドに応じて。
FlylinkDC++ vs. IPv6
実際には、状況はより単純であると同時により複雑です。
AirDC++ とIPv6
IPv6 は IPv4 よりも優先されるため、より簡単になりますが、それは当然です。 それを通じて (対応するオプションを使用してオーバーライドが可能ですが) ハブへの接続が確立され、アクティブ クライアントはそれをパッシブ クライアントに接続のために提供します。
ハブ上で IPv6 をサポートしているユーザーがいるにもかかわらず、それらのユーザーが厳密に IPv4 アドレスを介して接続されている場合は、さらに困難になります...
...その後、IPv4 をまったく使用しなくても (ランダムに) 接続できます。
リモート クライアントはそれ自体を資産として指定していますが、負債として扱われることに注意してください。 なぜ?
彼をブランコに投げてください
ここで、異なるものの、IPv4 に関しては共通の IP プロトコル サポート セットを使用してクライアントを相互に接続してみます。
はい、受動的なユーザーが傍観者に喫煙しなければならないのは残念です。 しかし、目に見える IP アドレスは特に重要ではないため、これは仕方がないことです。それが、彼らが負債である理由です。
ああ! アクティブなクライアントが送信する
何故ですか? 開発者に連絡すると、次のような答えが得られます。
CTM 他のユーザーが IPv6 をサポートしていない場合はダメです
そして、議論することはできません! ただし、これにはハブから独立した内部ロジックが必要です (コードを参照)
アクティブモード =
TCPx+IPx
一般的な IPv6 IP サポート セットを使用してクライアント間で接続を試みると、次のようになります。 思い出させてください、達成してください PA DC++では成功しませんでした。
そしてまたしても驚き。 DC++ が実証している IPv6 のパッシブ モードは、意図的な偽物かバグであることが判明しました。
次は何ですか?
現在、さまざまなモードおよびさまざまな IP プロトコル サポート セットでユーザーを接続する際に考えられるすべての問題を解決する方法は XNUMX つあります。
6 つ目は、IPvXNUMX を完全にミュートするか、逆に、IPvXNUMX を介してのみ機能するハブを作成することです。
XNUMXつ目はこれです
DC で作業するためにアクティブ モードを設定するのが面倒な場合は、次のことを思い出してください。
持っている人には何が与えられ、持っていない人には、自分が持っていると思っているものさえも奪われます。 わかりました。 8:18
出所: habr.com