web-dev-qa-db-ja.com

対称NATおよびUDPホールパンチング

この質問 を読みましたが、対称の説明NATは十分に詳細ではありませんでした。

誰かが次の段落を理解するのを手伝ってくれませんか?

Symmetric NATについてこれを読みました:

同じ内部IPアドレスとポートから特定の宛先IPアドレスとポートへの各要求は、同じ内部ホストが同じ送信元アドレスとポートでさえ異なるパケットにパケットを送信する場合、一意の外部送信元IPアドレスとポートにマップされます。宛先では、異なるマッピングが使用されます。内部ホストからパケットを受信する外部ホストのみがパケットを返信できます。

http://en.wikipedia.org/wiki/Network_address_translation#Types_of_NAT

そしてこれについてUDP穴あけ

UDPホールパンチングは、大規模な企業ネットワークで見られる傾向がある対称NATデバイス(双方向NATとも呼ばれます))では機能しません。対称NATでは、接続への接続に関連付けられているNATのマッピング既知のSTUNサーバーは、既知のサーバーからのデータの受信に制限されているため、既知のサーバーが参照するNATのマッピングは、エンドポイントにとって有用な情報ではありません。

http://en.wikipedia.org/wiki/UDP_hole_punching

しかし、私はそれを本当に吸収していません。 (=クライアントが通信を開始するクライアント/サーバーアプリケーションでは)NATデバイスによって明示的に許可されていない限り、サーバーが他の方法で通信することはできません。 。それがなぜそうなっているのか理解できません。可能な場合は、この説明を少し簡略化していただけませんか?

私たちの環境では、同じように有名なソフトウェアベンダーが有名なリモートサポートツールを使用してサポートを提供できないという問題があります。クライアントはプロキシに対応していますが、一部の理由から、クライアントを使用せずに、ポート1153でUDPを介してまったく異なることを行うのは良い考えであると考えています。

8
john

私たちのチャットから...だから他の人は完全な会話を取得できないかもしれませんが、基本はここにあります。

基本的なNAT = source address:port >> external address:port >> NAT>> new source address:port >> external address port

対称NAT=の場合、これは静的マッピングであり、送信元と宛先の両方で毎回同じです。

例:192.168.100.5:34983 going to 4.2.2.2:53 then REQUIRE it to be 216.222.222.222:44444 with destination 8.8.8.8:333333

「クライアントが通信を開始するクライアントサーバーアプリケーションでは、NATデバイスによって明示的に許可されていない限り、サーバーは他の方法で通信できませんでした。」

あなたが言うその部分は間違っています読むべきです:

クライアントが通信を開始するクライアント/サーバーアプリケーションでは、ソースがセッションで使用されているポートを介してセッションを確立した後、サーバーは逆の方法で通信できます。

2.2.2.2:43424が5.5.5.5:80になった場合、セッションが確立されると、5.5.5.5:80は2.2.2.2:43424に情報を送り返します。あなたの文章では...セッションは常に宛先と通信する送信元であり、宛先はパケット/情報/グラフィックス/何でも返信しません。

「私たちの環境には、同じように有名なソフトウェアベンダーが有名なリモートサポートツールを使用してサポートを提供できないという問題があります。クライアントはプロキシに対応していますが、一部の理由から、それを使用せず、ポート1153でUDPを介してまったく異なることを行うのは良い考えです。」

彼らは別のポートを使用するように要求するため、ポートレベルでLogmein/Teamviewer /何でもブロックするだけである可能性があります... 1153で許可または通信する場合、ITの制限を回避できると考えています...どのアプリなのか、詳細がわからなくても思いつきます。対称NATまたはUDPホールパンチングとは関係ありません...少なくとも、彼ら自身が引き起こしている問題に関しては。

OR彼らと協力して、あなたが好きなツールの使用方法を決定するためにどのリモートサポートツールを使用するかについて、サポートチームに相談することをお勧めします。特定のポートNAT処理/ルールを意味する場合は、彼らとあなたのネットワーキングチームと協力して、その部分を理解する必要があります。

すべてが役立つことを願っています。

6
TheCleaner

enter image description here

enter image description here

Wikipediaの「ネットワークアドレス変換」ページから撮ったこれらの写真を見てください。

「フルコーンNAT」内

  1. 内部アドレス(iAddr:iPort)が外部アドレス(eAddr:ePort)にマップされると、iAddr:iPortからのパケットはすべてeAddr:ePortを介して送信されます。
  2. 外部ホストはすべて、eAddr:ePortにパケットを送信することにより、iAddr:iPortにパケットを送信できます。

対称NATの場合

  1. 同じ内部IPアドレスとポートから特定の宛先IPアドレスとポートへの各要求は、一意の外部ソースIPアドレスとポートにマップされます。同じ内部ホストが同じ送信元アドレスとポートを使用していても、異なる宛先にパケットを送信する場合、異なるマッピングが使用されます。
  2. 内部ホストからパケットを受信する外部ホストのみがパケットを返信できます。

次に、UDPホールパンチングが対称NATで機能しない理由について説明します。サーバー1がSTUNサーバーで、サーバー2がNAT異なるプライベートネットワークのデバイスであるとします。UDPホールパンチングでは、クライアントがサーバー1に接続し、ポートマッピングがNAT =デバイス。ただし、このクライアントがServer2の背後にあるホストに接続すると、NATデバイスは、図2に示すように別のポートマッピングを作成します。Server1は、Server2の背後にあるホストとこのポートマッピングServer2とクライアントのポートマッピングを共有します接続を確立できず、Server2はNATデバイスによって作成された2番目のポートマッピングを認識しません。

4
vicky