クラウドメッセージサービスは、NAT /ファイアウォールの背後にあるデバイスにどのように到達しますか?


8

ローカルIPを備えたデバイスでのプッシュ通知の取得は正常に機能します。それがどのように機能するのでしょうか。それは単なるuPnPですか?デバイスがクラウドメッセージングサービスとの通信を開始してから、IGDが起動しますか?だからマッピングは残りますプッシュ通知クライアントはクラウドサーバーへの常時接続を維持しますか?そうではないと思いたい。

NATまたはファイアウォールの背後にある場合、プッシュ通知がデバイスに到達する方法を知る方法に特に興味があります。Googleプッシュ通知がデバイスに到達できないシナリオはありますか?

回答:


6

ご想像のとおり、Googleはその実装の詳細に関しては非常に静かです。したがって、これを一般的なケースと非常に基本的な形で説明します。

プッシュが行われる方法は、クライアント(つまり電話)がメッセージングサーバー(Googleなど)へのTCP接続を開くことです。この接続は、電話がオンになっている間は開いたままにするためのものです。幸いにも、TCP接続は何も送信していないときは帯域幅をまったく使用しないため、大量のデータを浪費したり、無線送信機の電源を切ることができます。

接続無期限に開いたままにすることができますが、NATの背後では、NATインフラストラクチャは処理中の開いている接続のテーブルを保持し、一定の時間(通常は10〜15分)アイドルだった接続をドロップします。どちらの側もこれを通知されません。したがって、これは、キャリアのNAT接続テーブルのエントリを更新するTCPキープアライブパケットを送信することによって処理されます。これは約50バイト程度のコストで、数分ごとに実行する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.