• 締切済み

ソフトウェア開発技術者h20午後1問1設問3について

〔クライアントPC2から公開サーバヘの,ドメイン名を用いたアクセス〕  K君は,クライアントPC2のWebブラウザから個人用Webページにアクセスしようとしたが,http://[  f  ]/index.htmlではアクセスすることができなかった。Webブラウザは[  h  ]に対して要求のパケットを送信するが,この場合は,[  i  ]が機能せず,パケットがWebサーバに到達できないからである。 解答例 f example.com h 202.yyy.63.242 i ウ の部分で質問です。 解答から察するに「ルータBの静的アドレス変換の機能は、インターネット上のホストから公開サーバへのアクセスとその応答に対してだけ機能する」からサーバに到達できないと思われます。 しかし、その前にプライベートIPアドレスにより、ISPに設置のDNSでの名前の解決ができないと考えていたのですがどうなのでしょうか?(その場合選択肢にぴったりしたものが見つからないことになりますが) また仮にDNSで名前の解決ができたとして、 パケットがPC1からルータBまで送られたとします。 ルータのルーティングテーブルには、プライベートのネットワークアドレスとグローバルのネットワークアドレス両方があるのでしょうか? 両方があると仮定するとルータから外にでていかず上記「答え」のようになる気もするのですが、プライベートのネットワークアドレスしかルーティングテーブルにないとすると一旦ルータBから外にでて再び戻ってくると思います。すると、「インターネット上のホストから公開サーバへのアクセス」するようになるので上記「答え」と違うようになると思います。 どうなのでしょうか? 長くなりましたが 質問を整理すると 1.DNSの名前解決はできるのか? 2.ルーティングテーブルはグローバルのネットワークアドレスとローカルのネットワークアドレス両方持つものなのか? 3.結論として実際にはどうなのか? です。 問題を見られないと答えようが無いと思いますので 「http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2008h20_1/2008h20h_sw_pm1_qs.pdf」が問題です。 よろしくお願いします。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

>ルータのルーティングテーブルには、 >プライベートのネットワークアドレスと >グローバルのネットワークアドレス両方があるのでしょうか? ルータBの上側のインタフェースにはグローバルIPアドレス 202.yyy.63.242 が設定されており,プライベートIPアドレスは設定されていません。 ルータBの下側のインタフェースにはプライベートIPアドレス 192.168.1.1 が設定されており,グローバルIPアドレスは設定されていません。 そして,ルータBはこの両者間を中継するためのルーティングテーブルを1つ持っています。グローバル用のテーブルとプライベート用のテーブルを2つ別々に持っているわけではありません。 >送信元PC2がプライベートIPアドレスになっていて、 >しかもルータの静的アドレス変換の対象ではない インターネット → ホームネットワークの方向のアクセスでだけ静的アドレス変換が機能するのは問題文に書いてあるとおりですが, ホームネットワーク → インターネットの方向のアクセスででもアドレス変換は機能していると読むべきでしょう。ただそれは静的(いつもIPアドレス/TCPポート番号が固定される)ではないということです。 家庭内のプライベートIPアドレスのPCから,ブロードバンドルータのアドレス変換機能(グローバルIP←→プライベートIP)を介してインターネット接続を楽しんでいる,多くの利用者と同様の環境だということです。 >名前解決要求はできるが名前解決応答が戻ってこないのではないか 何の問題もなくDNS名前解決応答は戻ってきます。 PC2は,DNSサーバ(のグローバルIPアドレス)に対して 「example.com に紐付けられた(グローバル)IPアドレスは?」 というDNS名前解決要求パケットを投げ, DNSサーバはそれに対応するDNS名前解決応答パケットを返します。 名前解決要求/応答パケットはルータBによってアドレス変換(グローバルIP←→プライベートIP)されるものの,ルータBは問題なく通過しますから。 >一旦ルータBから外にでて再び戻ってくると思います。 DNSサーバからPC2に返された応答パケットは次のようなものです。 「それ(example.com に紐付けられたの)は,202.yyy.63.242 です」 これを得て,PC2は 202.yyy.63.242 宛にHTTPパケットを送信します。 ルータBは流れてきたこのパケットを見て 「そのパケットが自分(ルータB自身)宛であること」を知ります。 しかしルータBはTCPポート80番を開けてはいませんので,HTTPコネクションが張れません。PC2に対してHTTP接続が失敗したことが通知されます。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

1.できません。ルーティングテーブルに設定されていませんので。 2.そうです。ただ、正規表現を使う場合もあります。例えば、DNSならポート番号53番ですから、ポート番号53ならIPアドレスを関係なしに通過させるなど。

qanda2008
質問者

お礼

ご回答有難うございます。 すいません。整理するとソフトウェア開発技術者h20午後1問1設問3の問題はどのような解釈でよいのでしょうか?

qanda2008
質問者

補足

お礼のあと気が付きましたが、私が質問で書いた 「しかし、その前にプライベートIPアドレスにより、ISPに設置のDNSでの名前の解決ができないと考えていたのですがどうなのでしょうか?(その場合選択肢にぴったりしたものが見つからないことになりますが)」 の部分は送信元PC2がプライベートIPアドレスになっていて、しかもルータの静的アドレス変換の対象ではないので名前解決要求はできるが名前解決応答が戻ってこないのではないか ということを書いています。 表現がへたですいません。