• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:NAT環境で、リクエスト元端末情報はどこに格納されているのでしょうか)

NAT環境でのリクエスト元端末情報の格納場所とは?

このQ&Aのポイント
  • NAT環境で、クライアントがルーター経由でリクエストを行った場合、リクエスト元の情報はどこに格納されるのでしょうか?
  • 家庭でブロードバンドルーターにパソコンを接続した環境で、WEBサイトを閲覧すると、ルーターがリクエストをパソコンに振り分けるための情報はどこに保存されるのでしょうか?
  • TCPのパケット構造では、リクエスト元の情報が特定できる項目が見つかりません。NAT環境下でのリクエスト元の情報の格納場所について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ルータに格納されています。 それらの情報は一般的には「セッションテーブル」や「NAT変換テーブル」などといいます。 いわゆるブロードバンドルータには、情報を確認する方法(コマンド等)は 備わってないと思います。 質問の例で解説します。 パソコンAからWEBサイトへのリクエストがルータに届きます。 ルータはこのリクエストをセッション1として記憶します。 つぎにルータはNATの設定をチェックし、 「パソコンAからのリクエストは、送信元IPアドレスを自身のIPアドレスに変える」 というルールを見つけます。 そのルールを適用し、リクエストをWEBサイトへ届けます。 このときNAT変換テーブルには 「セッション1のもともとの送信元はパソコンAである」 といった情報が記録されます。 その後WEBサイトからセッション1のリクエスト結果が返ってきます。 ルータはNAT変換テーブルをチェックし、本来のあて先が パソコンAであることを見つけ、パソコンAにリクエスト結果が返されます。 まとめると、 ・ルータはIPヘッダの送信元IPアドレスや、TCPヘッダの送信元ポートをこっそり書き換える。 ・どのセッションを、どうやって書き換えたか覚えている(書き換え前と書き換え後) ・書き換えたセッションのリクエストが返ってきたら、書き換えた情報を元に戻す。 です。

aak53140
質問者

お礼

丁寧なご回答、ありがとうございます。 ルータに格納されていたのですね。 NAT変換テーブルのご説明も含めて、大変勉強になりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FINパケット、RSTパケットが返却される理由?

    アパッチのヘルスチェックにて、パケットをみました。 シーケンス番号を追っていきましたが、下記のような 通常ではない動作がありました。 <ケース1> (1)サーバからのHTTPのGETに対して、クライアントがFIN.ACKパケットを返却する。 (2)サーバがFIN.ACKパケットをクライアントに送る。 (3)クライアントからRSTパケットが返却される。 ※RSTパケット内にて、broken tcpとの記載あり <ケース2> (1)サーバからのFIN.ACKパケットに対して、クライアントからRST.ACKパケットが返却される。 ・質問1 それぞれについて、正常な動作とはおもえないのですが、 異常でしょうか? ・質問2 FIN.ACKパケット又はRSTパケットが返却されるのはどんな場合が想定されるのでしょうか? ・質問3 FIN.ACKパケット→RST.ACKパケットは異常な動作でしょうか? よろしくお願いします。

  • httpsのページがIE 7で表示できません

    httpsのページがIE 7で表示できません。 表示できないページは、apache version 2.2系で自分で建てたサーバーです。 オレオレ証明書に使ったopensslのversionは0.9.8e, private keyの鍵長は、 1024でも2048でもだめでした。 また、mozilla firefox 3.0では同様に証明書の警告が出ますが、 例外設定をすることで表示されることを確認しています。 IE 7の現象としては、 "この Web サイトのセキュリティ証明書には問題があります。" - (A) と警告が出て、閲覧を続行すると "Internet Explorer ではこのページは表示できません" - (B) といわれます。 このとき、wiresharkでパケットのダンプを見てみると、 (A), (B)の通信が両方とも以下のようなシーケンスになっていました。 1, client -> server : tcp syn 2, server -> client : syn, ack 3, client -> server : syn 4, client -> server : client hello 5, server -> client : server hello, change cipher spec, Encrypted Handshake message 6, client -> server : change cipher spec, encrypted handshake message 7, client -> server : FIN ACK 8, server -> client : ACK 9, server -> client : encrypted alert 10, server -> client : FIN ACK 11, client -> server : RST ACK [ client: IE 7 ], [ server: apache22 ] 7の段階でIEからFIN ACKを送っているためページを表示できないのだと思うのですが、 なぜFIN ACKをおくっているのかが分かりません。 問題を解決したいのですが、はまってしまって困っています。 プロトコル・原因の調査方法等々、何か知っていることがありましたらご教授ください。 よろしくお願いいたします。

  • 静的IPマスカレードとPATの混在について

    静的IPマスカレードとPATの勉強をしていて疑問に思ったので質問させていただきます。 間違っていたら指摘していただけるとありがたいです。 HTTPサーバー:192.168.0.1   ↓↑ ルータ(外部側IP):1.0.0.1   ↓↑ クライアントPC:1.0.0.2 クライアントPCがサーバーへアクセスする場合 まずは、1.0.0.1:80を宛先IPとしてルータにアクセスし ルータは静的IPマスカレード(ポート解放)にもとづいて 192.168.0.1のサーバーへリクエストを転送すると思います。 次にサーバーはHTTPレスポンスをクライアントに返すわけですが 当然ルータにはPATが設定されているので、クライアントPCへの送信元IPは1.0.0.1:22222など PATによってポート番号がルータに書き換えられてしまうと思います。 そうするとクライアントPC側から見ると 1.0.0.1:80を宛先IPとしてリクエストを送ったのに 1.0.0.1:22222など別のポート番号からレスポンスが返ってきます。 これだとエラーにならないのでしょうか? それとも静的IPマスカレードとPATが混在している場合 静的IPマスカレードの設定が優先されてサーバーからクライアントへのレスポンスも 1.0.0.1:80を送信元IPとして返すことが出来るという理解でいいのでしょうか?

  • WEBサーバを2台立てる際のポートフォワーディグ

    LAN内に複数台(2台)のWEBサーバを立てて外部からアクセスさせる場合の ルータのポートフォワーディング(アドレス変換)について。 ※グローバルIPアドレスはルータのWAN側に1個だけ付与されているとします。 以下の図のように ルータの80ポートに着信があったらサーバAの80ポートにポートフォワーディング。 ルータの8080ポートに着信があったらサーバBの80ポートにポートフォワーディング。 という具合に、ルータ側で着信ポートによってアドレス変換(ポート変換)させるしかないのでしょうか? ※つまりクライアント側に8080を指定してもらう。 これをTCP80でアクセスしたときに、こちらはサーバA こちらはサーバBへと 分けるためには、グローバルIPアドレスがもう1個いるという問題になるのでしょうか?    クライアントA→TCP(80)  → 【ルータ】→【サーバA:80ポート】+【サーバB:80ポート】 クライアントB→TCP(8080)        説明が下手ですいません。 よろしくお願いします。

  • BBルータでTCP通信のデータ部が捨てられている?

    インターネット上のServerと自宅PC間でWebを併用したデータ交換をしているのですが、ある限られたデータ部のみ、自宅のBBルータにより毎回捨てられているようで受信できません。 Serverと自宅PC(Client)にEtherealを同時に仕掛けPacketをモニタリングしました。 Server側のLogを見る限り、Serverは該当データを正しく送り、BBルータも正しく受信しているようです。 しかし、Client側のLogを見ると、その部分は Len=0 になっており、ヘッダ部だけのPacketが送信されて来たかのようになっております。 BBルータの設定可能項目では、いたって通常の設定になっており、また、自宅PCはWindowsXP SP2でFirewallはOff、ウィルス対策ソフトもアンインストール状態で実験しております。今回のトラブル以外は全てにおいて不具合は発生しておりません。 何か単純なTCP規則違反に該当しているのではとRFC793も確認したのですが原因がわかりません。 該当部分のEtherealのLogは以下の通りです。 何か大事なことを忘れていそうなのですが、どなたかご教授をお願い致します。 <Server側Log> ※No.292~294は3way handshakeです。 ※()内はTCP詳細部の内容抜粋です。 ※Server側のPortはWeb併用なので80番をそのまま使用。 No. SRC  DIST  Prot  Info 295 Client Server HTTP Continuation or non-HTTP Trafic 296 Server Client HTTP Continuation or non-HTTP Trafic (http > 62327 [PSH,ACK] Seq=1 Ack=24 Win=65512 Len=90) 297 Server Client TCP http > 62327 [FIN,ACK] Seq=91 Ack=24 Win=65512 Len=0 298 Client Server TCP 62327 > http [ACK] Seq=24 Ack=92 Win=65535 Len=0 299 Client Server TCP 62327 > http [FIN,ACK] Seq=24 Ack=92 Win=65535 Len=0 300 Server Client TCP http > 62327 [ACK] Seq=92 Ack=25 Win=65512 Len=0 <Client側Log> ※No.295と297~300はServer側Logと矛盾はありません。 No. SRC  DIST  Prot  Info 296 Server Client TCP http > 1157 [PSH,ACK] Seq=1 Ack=24 Win=65512 Len=0 以上

  • L3スイッチの素朴な疑問

    L3スイッチの素朴な疑問があります。 L3スイッチはレイヤー3の情報でスイッチングするのに大抵のL3SWはポート番号でのフィルタリングやSYN、ACKなどレイヤー4でのフィルタリングも可能ですよね。これってなんでレイヤー4SWと呼ばないんでしょうか?また、レイヤー4SWはWEBスイッチとか呼ばれ負荷分散で使われますが、ちょっとL3SWとL4SWの境界が自分の中であいまいになっています。このあたりご存知の方ご教授お願いします。 自分ではポートフォワーディング機能がL4スイッチの機能かと思っているのですが、これってBBルータでもついていますよね?

  • ルータのポートの開けかた

    オンラインゲームをいくつかやりたいのですが、ルータのポートを手動で開けなければ なりません。またカナダのフリーのメッセンジャーソフトも導入したいんですが、これも ルータのポートを手動で開ける必要があります。ルータのポートの開け方自体はわかっています。 質問は以下の通りです。 パソコンが2台あって、有線ルータでつながっています(私用デスクトップと弟用ノート)。 αソフトが使用するポート番号が3333だとすると、パソコンAもパソコンBも同じルータ のポート番号を設定して使っていいんでしょうか? βソフトのポート番号も5555なら、同様に同一のポート番号を使うという具合に。 ちなみにそれぞれのソフトは2台のPCで同時に使用することもあると思います。とくに ゲーム関係の方は。 というのはパソコンをもう一台(計3台)私が購入することになるので、また同じソフトを 入れてルータのポートを設定しないといけないんですが、同一ソフトなのにパソコン3台 違うポート番号で設定すると、ポートの管理が複雑になってしまうからです。 今までは違うポート番号で管理していたんですが、パソコンがもう一台増える機会にポート 設定を見直そうと思っています。 どうぞ識者の方、アドバイスをよろしくお願いします。

  • 同一サーバでhttpdでのWebサイト複数立ち上げ

    apache(httpd)とJBossの連携で、Webサイトを立ち上げています。 ここで、同一IPアドレスで、別ポート番号で、httpd.confを複数用意し、 httpdを複数起動させ、Webサイトを複数立ち上げようとしています。 現在、デフォルトのポート番号を使用してWebサイトを立ち上げています。 これを、A環境します。 ここに、もう一つ、JBossで環境を構築し、別ポート番号で、httpd.confを 用意し、httpdを起動させ、Webサイトを立ち上げようとしています。 これを、B環境とします。 同一IPアドレス(同一サーバ)で、httpdが複数常駐した環境で、Webサイト が複数存在する環境となります。 Webサイトへの接続は、1つは、デフォルトのままなので、 urlが、「http://www.~.jp/~」(A環境)と、 もう一つは、ポート番号指定で、 urlが、「http://www.~jp:ポート番号/~」(B環境) で行っているのですが、 ポート番号指定で、Webサイトに接続してくれません。期待した画面を表示 してくれません。 接続はできるのですが、要は、ポート番号指定のurlで、Webサイトに接続 を行うと、A環境のサイトに接続し、A環境の画面を表示してしまいます。 何が原因なのでしょうか。 お願いします。

  • PINGについての質問です。

    ルータを経由している状態で、クライアントのPCから大手のウェブサーバへPINGのパケットを送信しますと、正常にリクエストが帰ってくるのに、そのルータから同じウェブサーバへPINGのパケットを送信した際に、リクエストがタイムアウトになる、という場合が私の環境で見受けられます。 何故そうなっているのでしょうか?

  • Ciscoルータのアクセスリストについて

    ciscoルータのアクセスリストの設定に関して質問なのですが、sourceのポートの指定の必要性がいまいちわかりません。クライアントをはじく事は出来ませんし、サーバからの送信をはじくのであれば、クライアントからのそもそものリクエストを弾けばいいと思うのですが・・・ 使い道がわかりません 仕様ですか?

このQ&Aのポイント
  • YouTubeを勝手にログアウトさせない設定はないものでしょうか?
  • YouTubeをログアウトさせずにブラウザを閉じたいです。
  • FirefoxでYouTubeを利用する際にログイン情報が保持されない問題が発生しています。解決方法はありますか?
回答を見る