这是第4章的内容。
ARP的分组格式是6字节以太网目的地址+6字节以太网源地址(如FF:FF:FF:FF:FF:FF,共48bit)+2字节帧类型+2字节硬件类型+1字节硬件地址长度+1字节协议地址长度+2字节操作字段+6字节发送端以太网地址+4字节发送端IP地址+6字节目的以太网地址+4字节目的IP地址。
在ARP举例中介绍了tcpdump -e命令,例子运行在sun主机上,源主机(bsdi)的硬件地址是0:0:c0:6f:2d:40,目的主机(svr4)的硬件地址是0:0:c0:c2:9b:26,在书中写下了如下的输出:
行号 时间 时间差 输出
1 0.0 0:0:c0:6f:2d:40 ff:ff:ff:ff:ff:ff arp 60:
bsdi硬件地址 广播地址 协议类型,数据包大小
arp who-has svr4 tell bsdi
who-has表ARP请求,目的IP是svr4,发送端地址是bsdi
2 0.002174 (0.0022) 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 arp 60:
svr4硬件地址 bsdi硬件地址 (不再是广播)
arp reply svr4 is-at 0:0:c0:c2:9b:26
relay表ARP应答,主机名 主机硬件地址
3 0.002831 (0.0007) 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60:
请求一个TCP/IP连接
bsdi.1030 > svr4.discard: S 596459521:596459521(0)
win 4096 <mss 1024> [tos 0x10]
4 0.007834(0.0050) 0:0:c0:c2:9b:26 0:0:c0:6f:2d:40 ip 60:
svr4.discard > bsdi.1030: S 3562228225:3562228225(0)
ack 596459522 win 4096<mss 1024>
5 0.009615(0.0018) 0:0:c0:6f:2d:40 0:0:c0:c2:9b:26 ip 60:
bsdi.1030 > svr4.discard: ack 1 win 4096 [tos 0x10]
这些都是从书上理解的,我没能验证。接下来叙述的是“对不存在主机的ARP请求”,如果查询的主机已经关机或不存在该会发生什么样的现象?书中指定了一个逻辑存在(用网络号和子网号组合)的ip地址进行实验,看到了多次ARP请求,第一次请求发生后5.5秒后进行第2次ARP请求,在24秒后又进行第3次请求。最后在距第一次ARP请求75秒后停止ARP请求。这期间如果监视TCP/IP报文就会得不到任何报告。
ARP高速缓存中的表项一般都要设置超时值,从伯克利系统演化来的系统的常见设定是,完整的表项设置超时值为20分钟,不完整的表项设置超时值为3分钟。还有就是我知道了ARP解析是从IP到网卡地址,而DNS是从域名到IP。
文章评论(0条评论)
登录后参与讨论