どのIMアーキテクチャが許容されると思いますか?

みなさんこんにちは。

私は、Skypeに代わる健全で安全な代替手段がないことを真剣に考えました。 メッセンジャー自体の代替ではなく、テキストメッセージング、マルチユーザーチャット、および(NATパンチおよび/またはリレーを使用した)音声、ビデオ、およびファイル転送を保証するプロトコルの欠如。 誰もが満足するようなプロトコルを開発することは非常に難しいので、まずこの点でhabrasocietyの意見を聞き、次にRedditの外国人ユーザーの意見を聞きたいと思います。



いくつかの点を忘れたか知らなかった場合、現在のアーキテクチャの長所と短所について簡単に説明します。 すべてのアーキテクチャの説明は、安全な実装を意味します。



P2P
Skypeはこのモデルに基づいて構築され、現在ではToxや、あまり知られていない多くのインスタントメッセンジャーを作成しています。 利点は、ネットワークを維持するためにサーバーが必要ない(またはそれに近い)ことであり、原則として、初期ノードと(アーキテクチャーに応じて)承認サーバーのみが必要です。 すべての通信はユーザーからユーザーに直接行われます。まず、参加者のIPアドレスが明らかになり、次に、バッテリーとトラフィックの高消費により、モバイルデバイスとモバイルネットワークではまったく受け入れられません。 欠点の中で、このログインで別のノードが実行されていなくても、オフラインメッセージの不足とメッセージ履歴の同期に注意することができます。 また、幸いなことに、それほど頻繁ではありませんが、P2PメッセンジャーはNATを突破できず、直接通信できなくなります。 この場合、通信がまったく確立されていないか、リレーサーバーが使用されています。



サーバーの分散化
このモデルは、電子メールおよびXMPPで使用されます。 私の意見では、最も成功したアーキテクチャは、サーバーへの接続が1回しかないため、モバイルデバイスに大量のエネルギーを費やさないようにします。 単一障害点はなく、履歴を同期してオフラインメッセージを送信する機能があります。 アーキテクチャによっては、送信者のIPアドレスを隠す場合があります。 ただし、このようなモデルには独自の/外部サーバーが必要です。 大規模なパブリックサーバーが停止すると、そのすべてのユーザーは通信できなくなります。

サーバーの分散化では、たとえば、P2Pを使用してファイルを転送できます。



単一サーバー
おそらく、ほとんどのモバイルおよびデスクトップメッセンジャーで使用されている最も人気のあるアーキテクチャです。 単一障害点があり、匿名性を提供でき、携帯電話番号などの便利な識別子を使用できますが、データが適切に保存されているかどうかを確認する方法はなく、サーバーのソースコードにアクセスすることはできません。 保護されていると表示される同じTelegramは、このモデルを使用します。 プラスの点として、モバイルデバイス(PUSH通知)で正しく機能することに常に注意する必要があります。



All Articles