liuzan_abc 发表于 2011-12-21 08:43

ARP封包

<DIV>ARP封包中L3地址的地址类型有unicast,broadcast,multicast,类型保存在neighbour结构中(neigh-&gt;type),可以通过inet_addr_type可以确定地址类型,ARP对每个类型的处理:</DIV>
<DIV>unicast : 这正是常见的ARP解析的solication请求。</DIV>
<DIV>broadcast:arp将L3广播地址映射为与具体设备有关的L2广播地址。</DIV>
<DIV>multicast:ARP使用函数arp_mc_map从L3多播地址导出L2多播地址,ARP不需要生成solication请求,因为L2地址可以根据硬件类型(Ethernet,Token Ring等)的公式推算得到。</DIV>
<DIV>&nbsp;</DIV>
<DIV>Ethernet帧中包含了发送方硬件地址两次:一次是ethernet帧头,一次是在ARP封包中。</DIV>
<DIV>当主机充当ARP代理角色时,这两个值会不同了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>另外:</DIV>
<DIV>ARP 邻居协议是在IPV4中采用的。IPV6中用的是ND邻居协议居多</DIV>
页: [1]
查看完整版本: ARP封包