DNS難しい。。

今日も応用情報技術者試験でわからなかったことをメモしていこうと思います。

 

今回は、最終的に疑問で終わるのでわかる方コメントいただけたら幸いです。

 

今日はH30春の午後の「アルゴリズム」と「ネットワーク」を解きました。

 

アルゴリズム(ナイト巡回問題)

アルゴリズム「ナイト巡回問題」というもので結構簡単でした。

 

解いてて思ったのですが、アルゴリズムは字面だけで追っていてはダメだなと思いました。

今回、文章を読みながらアクティビティ図?のようなものを書いて理解していったのですが、問題の理解が劇的に違いました。

さらに設問を解く際、文章を読み直すことが圧倒的に減ったので、今度からはアクティビティ図を記述して解くことを心がけます。

以下が実際の図になります。

自分用の作業ログとして掲載しているので、見なくて大丈夫です笑

f:id:k12si:20190330230521p:plain

 

簡単そうだったのでプログラムも作成してみました。

TIL/night_patrol_problem.rb at master · k12si/TIL · GitHub

 

問題を解いていた時は「移動順序を取り消す」というプログラム部分がどんな役割をしているのかわかりませんでした。(ここ問題読んでいる前提で話します。🙇‍♂️)

しかしコードを書いていて、とてもよくできているなと感じました。

プログラムは再帰を用いて巡回のパターンを総当たりで探しています。

この時、同じ盤面を上書きしているので、1パターンを試したら、分岐点以降の盤面に上書きした移動順序を「0」に戻さないといけません。

 

ネットワーク

DNSについて問われる問題でした。

DNSはレコードの種類など全く覚えていなかったので、いい勉強になりました。

さて、問題を解いていて、最後の設問にクラウド型のWAFを用いてwebサーバを公開するといった流れがありました。

その時のリクエストの流れがよくわかりませんでした。

クラウド型のWAFのFQDN(ドメイン名)は以下の通りです。

` waf-asha.example1.ne.jp `

WAF導入前のシステム構成は以下です。

f:id:k12si:20190330232910p:plain

また、マスタDNSサーバのゾーンファイルは以下のようになっています。

f:id:k12si:20190330233820p:plain

文章中で述べられているリクエストの流れとしては以下です。

  • Webサイトの利用者は,始めにWAFサービスのFQDNであるwaf-aha.example1.ne.jpにアクセスする。
  • WAFサービスで通信パケットが検査される。
  • パケットに問題がないとき,そのパケットがA社のWebサイトに転送される。

 このとき、利用者はWAF導入前のアクセス方法同様` w3.example.co.jp `でwebサイトにアクセスできるようにしたい。

そのために、マスタDNSサーバのゾーンファイルに以下のようなCNAMEレコードを追加しました。

f:id:k12si:20190330234932p:plain

さて、やっと本題なんですが笑😂

 

このアーキテクチャにおけるクライアントのリクエストの流れがわからない!!

 

厳密に言うと、CNAMEでクライアントに` waf-asha.example1.ne.jp `を返した後、クライアントのリクエストはWAF経由でもう一度マスタDNSサーバに行くのかどうかがわからない。

 

そしてもっというと、本来以下のように定義されていたレコードのownerフィールド(w3)はCNAMEを設定したために変更しないといけない。

 

f:id:k12si:20190330235845p:plain

このownerフィールドは何になるんだろう?🤔🤔

この段階ではわからないのかな??🤔🤔🤯

一応自分の中でイメージしているリクエストの流れを図にしておきます。

f:id:k12si:20190331002255p:plain

とりあえず、問題は解けたから・・・・いいか・・。

ざっくりしていて、コメントしづらいかもですが、わかる方いればコメントいただけたら幸いです。🙇‍♂️

 

それでは今日はこの辺で👋