跳转至主要内容

STCP有重复的IP地址检测相当长的一段时间,但微软Windows 2008和7的行为方式的变化,增加了一个有趣的皱纹。

首先我们来回顾一下它的工作原理。

重复的IP地址检测依赖于地址解析协议(ARP)。

packet_monitor工具将一个ARP数据包分成两行显示,分别是

11:13:43.123 Rcvd Ether Dst ff:ff:ff:ff:ff:ff:ff:ff Src 00:13:d4:59:7a:da 类型 0806 (ARP)
ARP Req Target 164.152.77.217 Src 164.152.77.34[00:13:D4:59:7A:DA]

哪儿

Rcvd 表示收到了字节。另一个选项是Xmit,表示发送了字节。
以太 表示一个以太网帧头跟随
Dst ff:ff:ff:ff:ff:ff:ff:ff:ff 以太网目的地;在本例中是广播地址。
Src 00:13:d4:59:7a:da 以太网源地址
0806型(ARP) 表示这是一个ARP帧,类型为0806。
ARP 表示一个ARP帧头如下
要求 表示这是一个请求(寻找MAC地址)帧。另一个选项是Rep,表示是回复。
目标164.152.77.217 目标的IP地址
Src 164.152.77.34 发送主机的IP地址
[00:13:D4:59:7A:DA] 发送主机的以太网地址

STCP看的是 Src字段,如果该字段与接收到的接口的IP地址相匹配,那么STCP就会在syserr_log中报告一个重复的IP地址,信息格式为

<time> WARNING (<index>): MAC address <MAC address> is using our IP address <IP address>

例如:

11:13:43 警告(5):MAC地址00:13:d4:59:7a:da正在使用我们的IP地址164.152.77.34。

"MAC"代表媒体访问控制,知道了MAC地址,就可以得到一些线索,知道违规主机的身份。地址的前3个字节被称为组织上的唯一标识符(OUI),可以用来确定以太网卡或它所在的主机的一些情况。例如,Stratus 有两个注册的 OUI,00-00-A8 和 00-04-FC。您可以在http://standards.ieee.org/develop/regauth/oui/public.html查询任何 OUI。

包括STCP在内的很多主机在启动或者配置IP接口的时候,都会发送所谓的无偿ARP。这个帧基本上是寻找自己的IP地址,如果得到回复就知道这个IP地址在使用中。下面是一个packet_monitor跟踪的例子,它显示了另一个VOS模块发送的无偿ARP,因为它带来了它的一个接口。请注意,这两个 目标Src字段具有相同的IP地址。

10:19:53.045 Rcvd Ether Dst ff:ff:ff:ff:ff:ff:ff:ff Src 00:00:a8:41:3b:6e Type 0806 (ARP)
ARP Req 目标 164.152.77.34Src 164.152.77.34[00:00:a8:41:3b:6e]

好了,那么我在文章开头提到的这个皱纹是什么呢?

从Windows 2008和Windows 7开始,微软的TCP协议栈发送无偿的ARP,Src字段设置为------。 0.0.0.0.

10:45:10.530 Rcvd Ether Dst ff:ff:ff:ff:ff:ff:ff:ff Src 1c:c1:de:b4:76:60 Type 0806 (ARP)
ARP Req 目标 164.152.77.34 Src 0.0.0.0.0[1C:C1:DE:B4:76:60]

结果是STCP认为这是对其以太网地址的"正常"查询,并以正常的回复作出回应。

10:45:10.530 Xmit Ether Dst 1c:c1:de:b4:76:60 Src 00:00:a8:41:3b:6e 类型 0806 (ARP)
ARP Rep Target 0.0.0.0 [1C:C1:DE:B4:76:60] Src 164.152.77.34 [00:00:a8:41:3b:6e] 。

它没有记录任何重复IP地址的迹象。好消息是,Windows堆栈可以识别重复,并将切换到169.254.X.Y形式的链接本地地址。

微软为什么要做这个改变呢?似乎许多TCP堆栈(包括STCP)会用ARP帧中包含的以太网地址更新其源IP地址的ARP缓存条目。如果IP地址是重复的,你最终会中断与重复IP地址的当前连接,因为数据包被重定向到重复的主机。通过将Src字段更改为0.0.0.0微软可以防止TCP堆栈(包括STCP)更新其ARP缓存条目。

© 2024Stratus Technologies.