同じモデムに接続されているか、同じISPからインターネットに接続されている2台のコンピュータAとBがあるとします。私はGoogleで検索するとき "私のIPアドレスは何ですか?"これは、コンピュータAとB 14.141.56.230の両方で同じIPアドレスを示しています。私は送信者がコンピュータAにデータを送ろうとしているとしたら、モデムかルータがこのパケットがコンピュータBではなくコンピュータBに属していることを認識するかどうか知りたいのですが、両方ともgoogleによると同じIPアドレスを持っています。パケットが送信者から受信者に転送される方法
答えて
これはNATの役割です。外部サーバはAまたはBに直接接続できません:AまたはBはサーバに最初に接続する必要があるため、NATは外部サーバが受信したパケットを処理する方法を認識します。
特に、thisは興味深いものになるはずです。
プライベート(内部)ネットワーク上のコンピュータが外部ネットワークへのIPv4パケットを送信し、NATデバイスは、のソースフィールドに内部IPアドレスを置き換えますパケットヘッダー(送信者のアドレス)とNATデバイスの外部IPアドレスPATは、利用可能なポートのプールからポート番号を接続に割り当て、このポート番号を送信元ポートフィールド(ポストオフィスボックス番号とよく似ています)に挿入し、パケットを外部ネットワークに転送します。その後、NATデバイスは、内部IPアドレス、元の送信元ポート、および変換された送信元ポートを含む変換テーブルにエントリを作成します。同じ接続からの後続のパケットは、同じポート番号に変換されます。
AがAのルータRに到達すると、Rはパケットの送信元IPを変更し、ポートPを割り当てて送信しますEは、このポートPをAに割り当てたことを記憶しています。EがポートPのRに応答すると、ルータはこれを逆変換してAに転送します。
これは、 。 Aは接続を開始する必要があります。ここで、AとEの両方がNATの背後にあるケースを考えてみましょう。どちらも接続を開始する必要があり、直接接続することはできません。その解決策を見つけるには、TCP hole punchingを調べる必要があります。
詳細を説明してください – vivek
- 1. ブロードキャスト送信者と受信者のペア
- 2. 送信者名の代わりに送信者名を受信者名に設定する方法
- 3. パケット送信/受信の処理方法
- 4. 電子メール送信者と受信者間の仲介者
- 5. 受信者IDと送信者IDによるSQLグループのメッセージ
- 6. 受信者なしで複数の受信者にメールを送信他のユーザーに送信する
- 7. Javamail受信メール返送メールとして送信者に返信
- 8. どちらがssh、送信者または受信者のサーバーですか?
- 9. ブロードキャスト受信者からアクティビティに結果データを送信する方法
- 10. 各マイクロポストに送信者と受信者のユーザープロファイルを表示
- 11. PHPサーバー送信イベント - メッセージ送信者と受信トレイ
- 12. GoogleCast-SDK v3を使用してiOS送信者から受信者アプリにJSONを送信
- 13. Outlook自動転送は、転送者ではなく元の送信者に返信を設定します
- 14. Jetson TX1のUDP/TCP経由のGstreamer送信者と受信者
- 15. RabbitMQ RPC複数の送信者1つの受信者
- 16. C++の送信者 - 受信者モデルのマルチスレッド
- 17. プライベートブロードキャストの送信者と受信者のアクセス許可
- 18. 送信者と受信者のMPI_BCASTとの暗黙の同期
- 19. GemFireのWANゲートウェイ、送信者/受信者のメンバー
- 20. ...送信者
- 21. 受信者または送信者の名前でPythonからウムラウトを使用して電子メールを送信
- 22. (IOS)株シートから電子メールの送信者と受信者の設定
- 23. SenderIDで送信者からSMSを受信できません
- 24. "k.send:hello" - kが "受信者"の場合、誰が送信者ですか?
- 25. パケット(PCAP、WLAN、C)を受信者に送信し、接続せずに受信する
- 26. PHPmailerを使用して両方の送信者と受信者にメールを送信
- 27. なぜ代わりに(UIButton *)の(ID)、送信者、送信者
- 28. Postfix/Spamassassin:送信者に返信された未送達メール
- 29. Magento - 連絡フォームから送信者にメッセージのコピーを送信
- 30. C#how out送信の送信者フィールド
私はあなたがサーバーフォールトでこれを尋ねるべきだと思う、スタックオーバーフローはプログラミングのためです。 – Jer
OSIは、どのような形や形でも使用していません。それで、[タグ:オシ]はそれに関係するナージャのことがあります。 – EJP