On Jan 4, 2006, at 11:14 AM, Ed Howland wrote:
> Maybe it starts counting time from the beginning of the DNS lookup.
My thinking, too. So I ran an strace on both. The edited output
from both is below.
$ strace ping -f -c 3 10.4.0.4 2>&1 | grep -e ^....msg -e ^open
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0I\317Pd\0\1\232\t
\274C\26{\6\0\10\t\n\v\f\r\16\17"..., 64}], msg_controllen=0,
msg_flags=0}, 0) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0Q\317Pd\0\1\232"..., 192}], msg_controllen=20,
msg_control=0xbfffd5d0, , msg_flags=0}, 0) = 84
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0\221\310Pd\0\2\232
\t\274C\316\200\6\0\10\t\n\v\f\r"..., 64}], msg_controllen=0,
msg_flags=0}, MSG_CONFIRM) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(8762),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0\231\310Pd\0"..., 192}], msg_controllen=20,
msg_control=0xbfffd5d0, , msg_flags=0}, 0) = 84
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0\312\302Pd\0\3\232
\t\274C\225\205\6\0\10\t\n\v\f\r"..., 64}], msg_controllen=0,
msg_flags=0}, MSG_CONFIRM) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(8762),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0\322\302Pd\0"..., 192}], msg_controllen=20,
msg_control=0xbfffd5d0, , msg_flags=0}, 0) = 84
$ sudo strace ping -f -c 3 foo 2>&1 | grep -e ^....msg -e ^open
open("/etc/hosts", O_RDONLY) = 4
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0p\342\24d\0\1\211
\10\274C>i\4\0\10\t\n\v\f\r\16\17"..., 64}], msg_controllen=0,
msg_flags=0}, 0) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(5178),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0x\342\24d\0\1"..., 192}], msg_controllen=20,
msg_control=0xbfffd1e0, , msg_flags=0}, 0) = 84
open("/etc/hosts", O_RDONLY) = 4
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0\7\272\24d\0\2\211
\10\274C\247\220\4\0\10\t\n\v\f"..., 64}], msg_controllen=0,
msg_flags=0}, MSG_CONFIRM) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0\17\272\24d\0"..., 192}], msg_controllen=20,
msg_control=0xbfffd1e0, , msg_flags=0}, 0) = 84
open("/etc/hosts", O_RDONLY) = 4
sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"\10\0\326\246\24d\0\3
\211\10\274C\330\242\4\0\10\t\n\v"..., 64}], msg_controllen=0,
msg_flags=0}, MSG_CONFIRM) = 64
recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("10.4.0.4")}, msg_iov(1)=[{"E\0\0T;[EMAIL PROTECTED]
\n\4\0\4\n\4\0(\0\0\336\246\24d"..., 192}], msg_controllen=20,
msg_control=0xbfffd1e0, , msg_flags=0}, 0) = 84
open("/etc/hosts", O_RDONLY) = 4
Notice that with the IP, ping simply does a send/receive. Whereas
with the name, ping looks up the IP before each send, in this case
in /etc/hosts. I would have thought the hostnames and IPs would have
been cached. That is, lookup once and ping many.
Regards,
- Robert
http://www.cwelug.org/downloads
Help others get OpenSource software. Distribute FLOSS
for Windows, Linux, *BSD, and MacOS X with BitTorrent
_______________________________________________
CWE-LUG mailing list
[email protected]
http://www.cwelug.org/
http://www.cwelug.org/archives/
http://www.cwelug.org/mailinglist/