例えば、 google.com
には少なくとも次のIPがあります:
74.125.225.49
74.125.225.51
74.125.225.81
ping
はそのうちの1つをランダムに選択しますか?
答えは、DNSリゾルバーの設定方法と、問題のドメインのDNSサーバーの設定方法によって異なります。
PingソースホストのDNSリゾルバーは、OSとネットワーク構成を参照して、pingするホストを検索します。これが新しいホストであり、以前にルックアップを実行したことがない場合、DNSクエリシーケンスは最初から最後まで実行されます。
Aレコードの数とそれらのレコードの内容、およびそれらが返される順序は、ターゲットのping宛先ドメインのネームサーバーによって異なります。このプロセスはまったく別の議論です。
DNSクライアントはAレコードで返されたIPの1つを選択し、pingはその宛先IPへのIMCPエコー要求メッセージの送信を開始します。
ローカルOSは、一定期間、1つ以上の応答をキャッシュする場合がありますが、通常は、常にではありませんが、Aレコードで指定されたTTL)です。 、通常はTTLに従いますが、常にそうとは限りません。
最後の問題の1つは、一部のDNSクライアントによって行われるいわゆるソート順です。見る:
そのうちの1つを選択するだけです。これは完全にランダムではありません。たとえば、それらの1つが同じローカルネットワーク上にある場合、通常はその1つを選択します。
Pingプロセス
The source Host generates an ICMP protocol data unit.
The ICMP PDU is encapsulated in an IP datagram, with the source and destination IP addresses in the IP header. At this point the datagram is most properly referred to as an ICMP ECHO datagram, but we will call it an IP datagram from here on since that's what it looks like to the networks it is sent over.
The source Host notes the local time on it's clock as it transmits the IP datagram towards the destination. Each Host that receives the IP datagram checks the destination address to see if it matches their own address or is the all hosts address (all 1's in the Host field of the IP address).
If the destination IP address in the IP datagram does not match the local Host's address, the IP datagram is forwarded to the network where the IP address resides.
The destination Host receives the IP datagram, finds a match between itself and the destination address in the IP datagram.
The destination Host notes the ICMP ECHO information in the IP datagram, performs any necessary work then destroys the original IP/ICMP ECHO datagram.
The destination Host creates an ICMP ECHO REPLY, encapsulates it in an IP datagram placing it's own IP address in the source IP address field, and the original sender's IP address in the destination field of the IP datagram.
The new IP datagram is routed back to the originator of the PING. The Host receives it, notes the time on the clock and finally prints PING output information, including the elapsed time.
上記のプロセスは、要求されたすべてのICMP ECHOパケットが送信され、それらの応答が受信されるか、デフォルトの2秒のタイムアウトが期限切れになるまで繰り返されます。デフォルトの2秒のタイミングは、PINGを開始するホストに対してローカルであり、データグラムのTime-To-Live値ではありません。
詳細: http://www.inetdaemon.com/tools/ping/how_ping_works.shtml