在今天的文章中,我们将探讨一下如何对Windows Server 2008上的ARP缓存进行管理。在微软最新发布的服务器操作系统中,ARP缓存被改称为邻机缓存;尽管它相比以前的服务器版本,实际操作方式有所调整,但所提供的基本功能并无太大的变化。接下来,我们就简单了解一下什么是ARP,以及为什么它可以起到如此重要的作用。
地址解析协议(ARP)属于TCP/IP协议栈的组成部分,作用是将网络IP地址映射到设备MAC地址上。简单地说,它与DNS的关系就如同硬币的正面与反面。当一台系统呼叫DNS主机时,DNS首先返回的是该主机名的网络IP地址。接下来,系统就可以通过网络IP地址在本地ARP缓存找出对应的设备MAC地址。如果系统中没有本地ARP映射的话,ARP请求就会被发送出去。三层交换机和路由器都会保存自有的ARP缓存并分开管理。
如果假设系统邻机缓存被破坏或者当中存在不正确条目的话,将会出现什么样的问题呢?以正在运行的网站为例来说,表明连接存在不一致问题的ICMP请求响应以及“网站无法显示”错误就属于典型的情况。基本上,如果我们已经证实DNS记录信息正确无误,而正在运行的系统又出现了不一致连接问题的话,邻机缓存就应该属于需要重点关注的部分。
在ARP缓存(邻居缓存)中,可以包含两种基本类型条目:固定条目(静态条目)和动态条目。动态条目的内容经常会是不完整、易获取、过时、延误以及可探测的。因此,我的建议是利用动态条目作为默认设置,而将静态条目作为补充。下面,我们就以如何在共享原有DNS名称和IP地址的情况下对服务器进行替换为例来进行说明。在这种情况下,我们会考虑利用临时静态映射将新服务器加入到路由器ARP表中。接下来的工作,就是删除服务器上原有的ARP缓存。
为了查看Windows Server 2008上的邻机(ARP)缓存,我们就需要打开命令行窗口,并输入下面的命令:
NETSH INTERFACE IPv4 SHOW NEIGHBORS
ARP -a
为了删除Windows 2008服务器上现有的非固定ARP缓存条目,我们需要运行下面的命令:
NETSH INTERFACE IPv4 DELETE NEIGHBORS
或者我们也可以使用如下命令:
ARP -d *
运行下面的命令,就可以将一条固定ARP缓存(邻居缓存)条目加入到列表之中:
NETSH INTERFACE IPv4 ADD NEIGHBORS InterfaceNameOrIndex IPAddress MACAddress STORE=ACTIVE PERSISTANT
ARP -S IPAddress MACAddress InterfaceAddress
结论:
对于网络来说,邻机缓存(或者原有的说法ARP缓存)属于至关重要但往往会被忽视的部分。在出现不正确条目或者缓存损坏等情况时,就会导致服务器在连接特定地址时出现异常和不一致连接的情况。当服务器上的一块网卡出现了问题而另一块网卡采用的又是不同MAC地址时,这种问题出现的概率尤为突出。因此,在遇到Windows 服务器出现网络连接故障问题,而又找不出确切原因时,我就会选择查看该缓存中的固定映射,并删除动态条目进行重建处理。
对于绝大部分思科路由器来说,只要在EXEC模式下运行show arp命令即可查看ARP缓存中的内容。
对于绝大部分思科交换机来说,运行show mac-address-table命令即可查看ARP缓存中的内容。
新闻热点
疑难解答