Pingコマンドについて教えてください。

通常pingする場合、IPアドレスを入力することで、APRによりMACアドレスが分かり通信を始めますが、Win2000などではIPアドレスの代わりにHOST名称を入力してもpingが出来ます。
HOST名称からMACアドレスを知るために、APR以外の通信も発生しているのでしょうか?(この場合、HOSTテーブルなどには何も設定していない)

名前: 
伊藤正勝
日時: 
02/05/08 18:42

コメント

伊藤さん,はじめまして。

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章に
名前解決の解説があるので,参考になるかもしれません。