通常pingする場合、IPアドレスを入力することで、APRによりMACアドレスが分かり通信を始めますが、Win2000などではIPアドレスの代わりにHOST名称を入力してもpingが出来ます。 HOST名称からMACアドレスを知るために、APR以外の通信も発生しているのでしょうか?(この場合、HOSTテーブルなどには何も設定していない)
伊藤さん,はじめまして。
pingは,IPアドレスだけでなく,ホスト名を送信相手として指定しても, ちゃんと動くように作られています。 その場合,何らかの方法でホスト名からIPアドレスを調べて, そこにパケットを送ります。 この何らかの方法を総称して名前解決といいますが, その部分はOSによって違いがあります。
Unix系OS,Mac,Windowsなど,ほとんどのOSが次の二つの方法には対応しています。 ・hostsファイルに登録されている内容から調べる ・DNSサーバに問い合せてIPアドレスを調べる
Windowsは,この二つに加えて,NetBIOSの名前解決の仕組みにも対応しています。 ・lmhostsファイルに登録されている内容から調べる ・WINSサーバに問い合せてIPアドレスを調べる ・ホスト名をブロードキャストして該当者からIPアドレスを応答してもらう hostsやDNSサーバでIPアドレスがわからない場合に, この三つを使います。
『完全理解TCP/IPネットワーク』(戸根勤著 日経BP社)の第1章と第3章に 名前解決の解説があるので,参考になるかもしれません。
コメント
pingはホスト名からIPアドレスを調べる仕組みを利用します
伊藤さん,はじめまして。
pingは,IPアドレスだけでなく,ホスト名を送信相手として指定しても,
ちゃんと動くように作られています。
その場合,何らかの方法でホスト名からIPアドレスを調べて,
そこにパケットを送ります。
この何らかの方法を総称して名前解決といいますが,
その部分はOSによって違いがあります。
Unix系OS,Mac,Windowsなど,ほとんどのOSが次の二つの方法には対応しています。
・hostsファイルに登録されている内容から調べる
・DNSサーバに問い合せてIPアドレスを調べる
Windowsは,この二つに加えて,NetBIOSの名前解決の仕組みにも対応しています。
・lmhostsファイルに登録されている内容から調べる
・WINSサーバに問い合せてIPアドレスを調べる
・ホスト名をブロードキャストして該当者からIPアドレスを応答してもらう
hostsやDNSサーバでIPアドレスがわからない場合に,
この三つを使います。
『完全理解TCP/IPネットワーク』(戸根勤著 日経BP社)の第1章と第3章に
名前解決の解説があるので,参考になるかもしれません。