ARP高速缓存、分组格式和ARP代理原理详细阐述
2008-11-21 13:32:07 来源:WEB开发网对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。
ARP举例
我们用TCPdump命令来看一看运行像Telnet这样的普通TCP工具软件时ARP会做些什么。附录A包含TCPdump命令的其他细节。
一般的例子
为了看清楚ARP的运作过程,我们执行telnet命令与无效的服务器连接。
bsdi % arp -a 检验ARP高速缓存是空的
bsdi % telnet svr4 discard 连接无效的服务器
Trying 140.252.13.34...
Conneted to svr4.
Escape character is '^]'.
^] 键入Ctrl和右括号,使Telnet回到提示符并关闭
telnet > quit
Connection closed.
图4中的TCP dump的原始输出如附录A中的图A-3所示。
我们删除了TCP dump命令输出的最后四行,因为它们是结束连接的信息,与这里讨论的内容不相关。
在第1行中,源端主机(bsdi)的硬件地址是0:0:c0:6f:2d:40。目的端主机的硬件地址是ff:ff:ff:ff:ff:ff,这是一个以太网广播地址。电缆上的每个以太网接口都要接收这个数据帧并对它进行处理。
第1行中紧接着的一个输出字段是ARP,表明帧类型字段的值是0x0806,说明此数据帧是一个ARP请求或回答。
在每行中,单词ARP或IP后面的值60指的是以太网数据帧的长度。由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据,14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60字节。
更多精彩
赞助商链接