【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
TCP/IPアレルギー撲滅ドリル【総まとめ編5回目】

DNSへの問い合わせをEtherealでのぞき込む

福永勇二
インタラクティブリサーチ
2005/9/2


素朴な疑問
 
DNS問い合わせをのぞき込む
1 DNSってなんでしたっけ?
2 DNSの問い合わせの流れは?
3 DNSパケットの流れを見せてください
4 DNS回答を見せてください
 DNS問い合わせをのぞき込む

 前回「Etherealでarpパケットをのぞき込もう」では、arpがIPアドレスからMACアドレスを問い合わせ、その応答を受け取るまでを説明しました。今回は、その後に続くDNSの問い合わせと回答までを見ていきます。

・DNSってなんでしたっけ?

 普段、Webサーバへのアクセスにはwww.atmarkit.co.jpのようなドメイン名を使いますが、TCP/IPで通信するときには相手をIPアドレスで指定しなければなりません。そのためにドメイン名とIPアドレスに変換する仕組みがDNSで、その変換を依頼することをDNS問い合わせといいます。

・ドメイン名についてはそもそもドメインって何なんでしょうか?を参照してください
・DNSの名前解決については例えばWebに接続するとき、いつDNSを使うのですか?を参照してください
・DNSの動作についてはDNS全体の動作の様子を具体的に教えてくださいを参照してください

DNSパケットのやりとりを見せてください

 前回のARPの説明で使ったEtherealの画面1にはDNSのやりとりも表示されています。

画面1 DNS問い合わせの流れ

 この画面に表示しているパケットのうち、No.3が192.168.1.5が192.168.1.1に対して行ったDNS問い合わせです(C)。またNo.4が192.168.1.1から192.168.1.5へのDNSの回答です(D)。このやりとりは観察対象となったPCとDNSサーバとのやりとりを表したものです。

DNSの問い合わせの流れは?

 DNSの問い合わせは図1の流れで行います。DNSの問い合わせコマンドにUDPヘッダが付き、さらにIPヘッダが付き、最後にイーサヘッダが付いてネットワークに流れます。

図1 DNS問い合わせの流れ

 このイーサヘッダには宛先のMACアドレスを書き込む必要があります。そのため、イーサヘッダを作り出す前にあらかじめARPを行って、送信先のMACアドレスを取得しておかなければなりません。画面1の(A)(B)で先にARPを行っているのは、このような理由があるためです。

DNS問い合わせパケットを見せてください

 画面2がDNSの問い合わせパケットの中身です。図1でネットワークに送出するパケット(C)-4を縦にすると、画面左端の「イーサヘッダ」〜「問い合わせコマンド」までに対応します。また、図の(C)-1から(C)-4までの各段階のパケットが、画面の(C)-1から(C)-4に対応すると考えてください。このように見ることで、パケットが作られていく段階と、その内容を対比して考えることができると思います。

画面2 DNS問い合わせパケットの内容

 内容を少し見てみましょう。イーサヘッダを見ると、このフレームの送り先は00:80:87:96:59:e1になっています。このMACアドレスは、DNSサーバの役割をしている192.168.1.1のコンピュータのMACアドレスで、これに先立って行ったARPによって取得した情報です。

 IPヘッダの部分では、送信元を表すSourceが192.168.1.5、あて先を表すDestinationが192.168.1.1になっています。これは、このパケットが192.168.1.5から送られ、192.168.1.1にあてたものであることを意味しています。またProtocolはUDPとなっていて、上位プロトコルはUDPであることが読み取れます。

 UDPヘッダの部分からは、Destination portがdomainであることから、このパケットがDNS問い合わせ用のポートに送られていることが分かります。ポート番号でいうと53番です。

 問い合わせコマンドの部分からは、これが問い合わせ(Response: Message is a query)であり、また問い合わせるものがホスト名(Type: A(Host address))で、そのホスト名がwww.atmarkit.co.jp(Name: www.atmarkit.co.jp)であることが読み取れます。

 なお、実際の問い合わせ処理では、まずプログラムがDNSの問い合わせを呼び出し、その問い合わせパケットがUDP処理プログラムに送られてUDPヘッダが付き、さらにIP処理プログラムに送られてIPヘッダが付き、最後にEthernetに送られてイーサヘッダが付く、という流れになります。

・IPパケットの構造についてはIPパケットはどんな構造なんですか?を参照してください

DNS回答を見せてください

 画面3がDNSの回答パケットの中身です。

画面3 DNS問い合わせパケットの内容

 図2でいうと、(D)-4のパケットを表しています。問い合わせの場合と同じく各段階が(D)-4〜(D)-1に対応しています。

図2 DNS回答の流れ

 イーサヘッダとIPヘッダのSourceとDestinationから、このパケットの送信元が192.168.1.1(DNSサーバ)で、またあて先が192.168.1.5(観察対象PC)であることが読み取れます。またIPヘッダのprotocolから、上位プロトコルがUDPであることが分かります。

 UDPヘッダのSource portがdomainであることからは、これがDNSからのパケットであることが読み取れます。ところで先の問い合わせではDestination portがdomainになっていました。これは、問い合わせをポート番号53番に送ったら、その答えが同じ53番から返ってきたことを意味しています。

 DNS回答の部分からは、このメッセージが回答であること(Response: Message is a response)、エラーがなかったこと(Reply code: No error)、IPアドレスが210.131.249.57であること(Addr: 210.131.249.57)が読み取れます。

 ここまで、DNSのやりとりにおけるパケットの流れをご説明しました。次回は、Webページを読み出すプロトコルHTTPのやりとりを追います。

関連リンク
  連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編)
連載:TCP/IPアレルギー撲滅ドリル【超実践編】(下位レイヤ編)
連載:インターネット・プロトコル詳説
連載:ルータの仕組みを学ぼう
ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜


「Master of IP Network総合インデックス」

ホワイトペーパーTechTargetジャパン

Master of IP Network フォーラム 新着記事
  • どこまで出る? LTEの通信速度 (2010/3/17)
     光ファイバに匹敵する通信速度を実現すると期待されているLTE。ホントにそんなに出るの? という疑問に答えます
  • インターネット世界の地図 (2010/2/23)
     荷物の届け先まではどの道を通っていけばいいのでしょう? それを決める「経路選択」の仕組みを説明します
  • Androidアプリはビジネスになるのか (2010/2/12)
     「iPhoneアプリの次はAndroid?!」NECビッグローブのAndroidアプリ販売サイト「andronavi」を通して、その可能性に迫る
  • 知られざるLTEのネットワーク構成 (2010/1/13)
     LTEのネットワーク構成やプロトコルスタックを詳解。それぞれどんな役割を果たしているかを解説します

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?