首页业界动态通用技术技术文章-ISA技术文章-ISA 2006ForeFront TMG相关下载 登录论坛 @联系我们
ISA中文站 > 信息 > 通用技术 > How to :使用ARP命令来绑定IP和MAC地址
现在时间是: 2017-08-21 21:58
How to :使用ARP命令来绑定IP和MAC地址

(2005-07-05 13:05)
来源:ISA中文站

How to :使用ARP命令来绑定IP和MAC地址

 

前言:我本来没有想过写关于ARP绑定的文章,坦白的说一句,在你理解ARP工作的原理时,这其实比较简单。只是看到最近论坛很多人在问关于绑定IP和MAC地址的问题,所以才决定写这个文章,希望能一劳永逸

作为企业级的路由防火墙,ISA Server并没有提供对于MAC地址的控制功能。不过,你可以使用Windows的命令ARP来实现IP地址和MAC地址的绑定。这篇文章介绍了Windows下ARP协议工作的原理,以及如何使用ARP命令来静态绑定IP地址和MAC地址。

 

ISA Server中没有提供对于MAC地址的控制功能,Why?这是因为MAC地址只能在本地网络中使用,当数据包跨越路由器时,数据包中主机的源MAC地址就会被路由器的出站接口的MAC地址所代替,这个时候,使用MAC地址来进行控制就不适用了。所以只要是企业级的硬件或者软件防火墙,都基本没有提供对MAC地址的控制功能。

不过微软也早就考虑到了这点,在Windows中,如果你安装了TCP/IP网络协议组件,那么你就可以执行命令ARP。ARP命令的作用是查看本机的ARP缓存、静态绑定IP地址和MAC地址和删除静态绑定项。其实绑定IP地址和MAC地址的本意是为了减少ARP广播流量,只是可以利用这一功能来控制IP地址的使用。

在这里我还是先简单的描述一下Windows下ARP协议的工作原理。ARP协议(Address Resolve Protocol,地址解析协议)工作在TCP/IP协议的第二层-数据链路层,用于将IP地址转换为网络接口的硬件地址(媒体访问控制地址,即MAC地址)。无论是任何高层协议的通讯,最终都将转换为数据链路层硬件地址的通讯。每台主机都具有一个用于缓存MAC地址的ARP缓存列表,你可以使用命令ARP -a或ARP -g来查看当前的ARP缓存列表。此ARP缓存列表是动态更新的,默认情况下,当其中的缓存项超过两分钟没有活动时,此缓存项就会超时被删除。你可以使用ARP -s来静态绑定IP地址和MAC地址,不过在Windows server 2003和XP以前的Windows系统中,就算你设置了静态MAC地址绑定项,同样会通过接收其他主机的数据包而更新已经绑定的项。在Windows server 2003和XP中,静态绑定的项不会被动态更新,直到TCP/IP协议终止为止,例如重启计算机。如果要创建永久的静态MAC地址绑定项,你可以写一个脚本文件来执行ARP静态绑定,然后使用计划任务在启动计算机时执行该脚本即可。

例如A主机的IP地址为192.168.0.1,它现在需要与IP为192.168.0.8的主机(主机B)进行通讯,那么将进行以下动作:

  1. A主机查询自己的ARP缓存列表, 如果发现具有对应于目的IP地址192.168.0.8的MAC地址项,则直接使用此MAC地址项构造并发送以太网数据包,如果没有发现对应的MAC地址项则继续下一步;

  2. A主机发出ARP解析请求广播,目的MAC地址是FF:FF:FF:FF:FF:FF,请求IP为192.168.0.8的主机回复MAC地址;

  3. B主机收到ARP解析请求广播后,回复给A主机一个ARP应答数据包,其中包含自己的IP地址和MAC地址;

  4. A接收到B主机的ARP回复后,将B主机的MAC地址放入自己的ARP缓存列表,然后使用B主机的MAC地址作为目的MAC地址,B主机的IP地址(192.168.0.8)作为目的IP地址, 构造并发送以太网数据包;

  5. 如果A主机还要发送数据包给192.168.0.8, 由于在ARP缓存列表中已经具有IP地址192.168.0.8的MAC地址,所以A主机直接使用此MAC地址发送数据包,而不再发送ARP解析请求广播;当此缓存地址项超过两分钟没有活动(没有使用)后,此ARP缓存将超时被删除。

默认情况下ARP缓存的超时时限是两分钟,你可以在注册表中进行修改。可以修改的键值有两个,都位于

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

修改的键值:

键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120

键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600

注意:这些键值默认是不存在的,如果你想修改,必须自行创建;修改后重启计算机后生效

如果ArpCacheLife的值比ArpCacheMinReferencedLife的值大,那么ARP缓存的超时时间设置为ArpCacheLife的值;如果ArpCacheLife的值不存在或者比ArpCacheMinReferencedLife的值小,那么对于未使用的ARP缓存,超时时间设置为120秒;对于正在使用的ARP缓存,超时时间则设置为ArpCacheMinReferencedLife的值。



作者:风间子
责任编辑:风间子

[1] [2] [3] [4] 下一页>>
上一篇:How to :使用IPSec加密Web代理服务通讯
下一篇:SoftPerfect Bandwidth Manager(BWM)使用指南
相关信息:

如何禁止Socket Pooling
Windows下的邮件服务器性能评测
建立内部的DNS服务器
分离的DNS服务及其部署
ISA Server 2004的故障恢复

热点信息 TOP 10
带宽管理软件 Bandwidth Splitter 使用指南
How to :使用ARP命令来绑定IP和MAC地址
SoftPerfect Bandwidth Manager(BWM)使用指南
How to :使用SoftPerfect Bandwidth Manager来实现带宽控制 v2.0
最强的监控软件Kerio Network Monitor完全使用教程
史上最强的NAT软件横向评测!
建立内部的DNS服务器
How to :使用Bandwidth Controller来实现带宽控制 v1.1
Windows下的邮件服务器性能评测
Kerio Winroute Firewall 6.01 VPN使用详解

搜索 SEARCH
关键字:
包含:
搜索于:


Copyright © ISACN.ORG 2004-2017 All Rights Reserved..